From 2dfc80977ef4252b6f1c0e16a8f71a50fe19d09c Mon Sep 17 00:00:00 2001 From: Vinitha Balasubramanian Date: Mon, 21 Apr 2025 12:08:12 +0530 Subject: [PATCH 1/2] Updated GitHub Sample. --- .../Grid_MSSQL/Grid_MSSQL.sln | 24 + .../Grid_MSSQL/App_Data/NORTHWIND.MDF | Bin 0 -> 9306112 bytes .../Grid_MSSQL/App_Data/NORTHWIND_log.ldf | Bin 0 -> 786432 bytes .../Grid_MSSQL/Controllers/GridController.cs | 267 ++ .../Controllers/WeatherForecastController.cs | 32 + .../Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj | 20 + .../Grid_MSSQL/Grid_MSSQL.csproj.user | 6 + .../Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http | 6 + .../Grid_MSSQL/Grid_MSSQL/Program.cs | 27 + .../Grid_MSSQL/Properties/launchSettings.json | 41 + .../Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs | 13 + .../Grid_MSSQL/appsettings.Development.json | 8 + .../Grid_MSSQL/Grid_MSSQL/appsettings.json | 9 + .../Grid_MSSQL/Grid_MSSQL/package.json | 29 + .../Grid_MSSQL/src/CustomAdaptor.ts | 61 + .../Grid_MSSQL/Grid_MSSQL/src/index.html | 31 + .../Grid_MSSQL/Grid_MSSQL/src/index.ts | 35 + .../Grid_MSSQL/Grid_MSSQL/src/tsconfig.json | 13 + .../Grid_MSSQL/Grid_MSSQL/webpack.config.js | 37 + .../README.md | 20 + .../Grid_MSSQL/Grid_MSSQL.sln | 24 + .../Grid_MSSQL/App_Data/NORTHWIND.MDF | Bin 0 -> 9306112 bytes .../Grid_MSSQL/App_Data/NORTHWIND_log.ldf | Bin 0 -> 786432 bytes .../Grid_MSSQL/Controllers/GridController.cs | 271 ++ .../Controllers/WeatherForecastController.cs | 32 + .../Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj | 24 + .../Grid_MSSQL/Grid_MSSQL.csproj.user | 6 + .../Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http | 6 + .../Grid_MSSQL/Grid_MSSQL/Program.cs | 26 + .../Grid_MSSQL/Properties/launchSettings.json | 41 + .../Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs | 13 + .../Grid_MSSQL/appsettings.Development.json | 8 + .../Grid_MSSQL/Grid_MSSQL/appsettings.json | 9 + .../Grid_MSSQL/Grid_MSSQL/package.json | 29 + .../Grid_MSSQL/Grid_MSSQL/src/index.html | 31 + .../Grid_MSSQL/Grid_MSSQL/src/index.js | 33 + .../Grid_MSSQL/Grid_MSSQL/src/index.js.map | 1 + .../Grid_MSSQL/Grid_MSSQL/src/index.ts | 34 + .../Grid_MSSQL/Grid_MSSQL/src/tsconfig.json | 13 + .../Grid_MSSQL/Grid_MSSQL/webpack.config.js | 37 + .../Grid_MSSQL/Grid_MSSQL/wwwroot/index.html | 31 + .../wwwroot/main.d78d834d88d96f77aa70.js | 3546 ++++++++++++++++ .../README.md | 20 + .../CustomAdaptor_EntityFramework.sln | 24 + .../App_Data/NORTHWIND.MDF | Bin 0 -> 9306112 bytes .../App_Data/NORTHWIND_log.ldf | Bin 0 -> 786432 bytes .../Controllers/GridController.cs | 264 ++ .../Controllers/WeatherForecastController.cs | 32 + .../CustomAdaptor_EntityFramework.csproj | 21 + .../CustomAdaptor_EntityFramework.csproj.user | 6 + .../CustomAdaptor_EntityFramework.http | 6 + .../CustomAdaptor_EntityFramework/Program.cs | 26 + .../Properties/launchSettings.json | 41 + .../WeatherForecast.cs | 13 + .../appsettings.Development.json | 8 + .../appsettings.json | 9 + .../package.json | 29 + .../src/CustomAdaptor.ts | 61 + .../src/index.html | 31 + .../src/index.ts | 35 + .../src/tsconfig.json | 13 + .../webpack.config.js | 37 + .../wwwroot/index.html | 31 + .../wwwroot/main.4dfb57a7acacf57447c0.js | 3556 +++++++++++++++++ .../README.md | 20 + .../Grid_EntityFramework.sln | 24 + .../App_Data/NORTHWIND.MDF | Bin 0 -> 9306112 bytes .../App_Data/NORTHWIND_log.ldf | Bin 0 -> 786432 bytes .../Controllers/GridController.cs | 264 ++ .../Controllers/WeatherForecastController.cs | 32 + .../Grid_EntityFramework.csproj | 25 + .../Grid_EntityFramework.csproj.user | 6 + .../Grid_EntityFramework.http | 6 + .../Grid_EntityFramework/Program.cs | 26 + .../Properties/launchSettings.json | 41 + .../Grid_EntityFramework/WeatherForecast.cs | 13 + .../appsettings.Development.json | 8 + .../Grid_EntityFramework/appsettings.json | 9 + .../Grid_EntityFramework/package.json | 29 + .../Grid_EntityFramework/src/index.html | 31 + .../Grid_EntityFramework/src/index.js | 33 + .../Grid_EntityFramework/src/index.js.map | 1 + .../Grid_EntityFramework/src/index.ts | 34 + .../Grid_EntityFramework/src/tsconfig.json | 13 + .../Grid_EntityFramework/webpack.config.js | 37 + .../Grid_EntityFramework/wwwroot/index.html | 31 + .../wwwroot/main.67277bf27cd8dd9cc72e.js | 3546 ++++++++++++++++ .../README.md | 20 + 88 files changed, 13406 insertions(+) create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL.sln create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND.MDF create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND_log.ldf create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/GridController.cs create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/package.json create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/CustomAdaptor.ts create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js create mode 100644 Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/README.md create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL.sln create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND.MDF create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND_log.ldf create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/GridController.cs create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/package.json create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js.map create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/index.html create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/main.d78d834d88d96f77aa70.js create mode 100644 Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/README.md create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.sln create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/App_Data/NORTHWIND.MDF create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/App_Data/NORTHWIND_log.ldf create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/Controllers/GridController.cs create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/Controllers/WeatherForecastController.cs create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.csproj create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.csproj.user create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.http create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/Program.cs create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/Properties/launchSettings.json create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/WeatherForecast.cs create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/appsettings.Development.json create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/appsettings.json create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/package.json create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/src/CustomAdaptor.ts create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/src/index.html create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/src/index.ts create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/src/tsconfig.json create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/webpack.config.js create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/wwwroot/index.html create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/wwwroot/main.4dfb57a7acacf57447c0.js create mode 100644 Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/README.md create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework.sln create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/App_Data/NORTHWIND.MDF create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/App_Data/NORTHWIND_log.ldf create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Controllers/GridController.cs create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Controllers/WeatherForecastController.cs create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Grid_EntityFramework.csproj create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Grid_EntityFramework.csproj.user create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Grid_EntityFramework.http create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Program.cs create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/Properties/launchSettings.json create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/WeatherForecast.cs create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/appsettings.Development.json create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/appsettings.json create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/package.json create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/src/index.html create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/src/index.js create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/src/index.js.map create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/src/index.ts create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/src/tsconfig.json create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/webpack.config.js create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/wwwroot/index.html create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/Grid_EntityFramework/Grid_EntityFramework/wwwroot/main.67277bf27cd8dd9cc72e.js create mode 100644 Binding SQL database using EF and UrlAdaptor/Binding SQL database using EF and UrlAdaptor/README.md diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL.sln b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL.sln new file mode 100644 index 0000000..fb3f7f4 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35818.85 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grid_MSSQL", "Grid_MSSQL\Grid_MSSQL.csproj", "{917BECDF-887A-46C0-9B59-A64DF4698A2F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {917BECDF-887A-46C0-9B59-A64DF4698A2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {917BECDF-887A-46C0-9B59-A64DF4698A2F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {917BECDF-887A-46C0-9B59-A64DF4698A2F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {917BECDF-887A-46C0-9B59-A64DF4698A2F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {EFC61BA5-DE1D-4965-9A60-AA2940B2B332} + EndGlobalSection +EndGlobal diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND.MDF b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND.MDF new file mode 100644 index 0000000000000000000000000000000000000000..410aff3f013e2c8426c355f247f035cbf4ef83f5 GIT binary patch literal 9306112 zcmeFa34C1Dbw7S*wD0o1VB^6ow%IIcw6a>ZF*e2vw!s((_E;WlVOuhiY_LN>kc5z( ztdNj}EHq1#lrG6XZPS!2Z4!ZvS(?x+@c(|#d3WBM``$<+SpuoN zE4_E`JNKUDo^$T{mPs@iQ<*SMNSGc#5=-h!nZfJ_aeNv_B@P?9zh=H_(}m(D4`Ut+ z%rzVFx5;cV+s#gMz1fYwUimw0ZZSvAaqsWt=Jn>?=A+x!|9kq|^Eck}=GtHXHgUmM z6A)x;i80S1RD1kLb}^1>vsECCl53J)_9)Rw2=|k7tGd7Q-xscX%UQ4a_%H7qxNOP` z_u;9mxk~uilrZbvkN@L8Z+!I14Ih}dvj2@QUHML$bxI3&|tQ{`o^ z-*m<6Z##BF!|r8&NPXRhRu?p8Ij(2mXnelgXq0ddO=aO8dESLf^qQ!yH%fC~dftV@ z$WW|sPfTUuo|($RHKGfcvaPjgDhs!DItd3Clz=Ie#NI?H-2Z#!@}rZOC`EN8uIA=~ z+eaYE%zWV{e->A)aF0N^8B`EZkQq-0!ErQaZ}#o|wv-dwMDh z$Gwl@TPtcZVmOI`Kgz6)V-jve$&fk0!lkCNa7~jV9PK~0UAZW;u9_U-X#bNJZtGMQ zZqExWT;jOV&DJQh9(jRV2C;@welmMu^5q6>bdo3ZsNeO=aPlrm}FW zrm}ET<`(ex@A$iooBpVL)4jdd|NUeC_50UO{4HQ(F4g|;X)iYB+J?Iq5>|P~Jqy`+ zbE)^-b3eWF(Wm|nMjJg4=h`L4+_&c*(77d%r~xE23h4d+r1{+vX7TtGjy*W!fdIq| z=r)T8?^?1J!I-sc_v|}zWN6QxJxAn!&z@CY$asKNl>nqtO%^^{yywUf(&{;~Pe|_D zw-^7ZrqtTCtHIA0B=s+KM$;K*AkE7&&N$tslclA({}N40eLSR8L=Z-{(zpozp=KJa z-1geW0tYg#rN%z8cbz$MBy*$(hj*=dIg+C%a8?$7lGbGC>@fs7gA|vuUJGO&GGPvz zPZ&Uov1(OiWu+XJv&I%Z9~xgxoCeghNDmgM+_#S!&m3X1VDQWXn3`0ffP2BY?y=V+ z#H%CnjIiBfOkN&DTeZrU&&v~lq$NKOgBM=DL`JVP9iOL!28!##r-Z1n5R;&R*#48C z)M-RAw*NFT)+C4;+kX<2I*mxi_Mb+^ngmf}`%i*WrxD56{?o` ze;OHU5=4#dKM6{mMkHhVPa|VZf~c|mCqb#xh-7U4X=JR47j;iE!58{-_y4c+SR_pk zQsw4XOXwiXeix2wk@y*68=igcx!iLJ78Z_g41*>R(z(P8KUWqc_&a?hB0k3&h&3>p z2GE4#@FLbgZ2uRr@lo~I{;~aE+!}as*FJ9lvHf4%8hCNnK5qZ9{a@S~cyZT0ZvV0U zU)&maao0X>|FQjF+!}as*FJ9lvHf4%8hBCGUhkKG*5Lj>zW_SI{eON`Ab9`(>A}p9u?AudjHrR)n(&Au;>>BRf!O}j*mx5ldTjp*P~tQu5!-(n z8*c(ckL^DJN}R?dV*5{H<4u6*vHd4NiPM-wZ2xI&ya^CJw*LeuaT=3|?LUo;Hvyu@ z_MZSHPGb_W{im_t<$%@YV|0hc$#*Z}+YarG@tbtequ?Aud z#2Sb-5NjaTK&*jS1F;5T4a6FVH4tkc)4W zRuP<5MZlg%P;m}0Spv~>U$`**!m%dj(urX|P79_chWmJ_5oo3Zt|n+Xp&06_%C3qkDL4?nRRrssa%m4#Qt%U&*}g9PPq1VuP0ZY zxXDkhen+65iq3n!>>oGzX#GDA&=E~MV&+5$7dQEd(Bimgq(;Ny_x}?!f~BtWE|R7P zsdDqHB^8K+jW?JMVirzM_Wl3Doa3BW1F;5T4a6FVH4tkc)@9x#w8maj z4Fx=2`_h?w*_HSFFT*j6#LE$XZYE9$-2{vh78y%Z>6DtMn>^6mhsy5Z^Cti$%uaK_ z4B_vHxxlQ%->vd@KF(=#zUemuW?3u{uGsn#i97j;l7P>im?I-yPwG?Xh3T-#Npmf9>LO~bdnW5`8msy0<%^*Y_ zK=D3^Woh2`+XsHn&m(w@_d@D^p+ymFp`Snf;9)*fA%#veH=#g3*bn6jtoh`ppQX~J z!0BcmvX7d*LdVkh{C6+7xXKne6GgI614YlEm@RbML)%ZK5rxh&6gmol$*30;eRXV+YukRmwXML?LwnV4|v$H22sIBv}_X#5(`zseWmDbzrbD*+aAf16c zn?#l&*wBjo%OhPcZLmd83ly~l-tflPoJ~VZy;h)rPh%};9?wzw-=?3{^5GUKxC90B zvv>UYZ@)u7_VgU2V_Ee-IO~6A*&-{%(QY%V#p)E^XEpa1pT2FjEw~ca%D_Rgrroqg z7Qg)Fwx7P{)uDXTrk%bIn7*UHltWj<2UbWSUArXScdE^uvs^b z4M=Uy(HSh+v~<2L)&WLrN$M!Q=7h;6_Mr`hUHJz;|IMZa7VR_?=r;#ZA>VD@^2^K} z3vGdAa649FKYT2Mvv2tCANyw2DYn>>P$k|p^v$kCHv4pBuL%|T;u*#)wna`s?bhb% z_WAd}^?_4u)@hQp4gJ)*T!Etp-u%NQw!rDg+AR9n0r#^e{=heXu_0xPoQVRPP-KhQ zD1~jIS6=<;D^K$avDLGUu%ZJwNP|N6RzR#?=PaF{+((0-})K6L5% z)j0Y;-7C+w#m@^BSAANs9{!UDzjKZ)+#D*rJygw~pLp;4&b0_(VOBfU9{9nQzd6qq zZ^J-QjB%G_uDarUi*$OxOSk7-=hkZ%ymO^3vMk`I8<6&k{rajO|8J9DEZ!C`eUFklX1U_A`a=z$lrCjA(Vh5+k9>M(}bL30ZlHaoHbao&O40Nk3( z9fFEDt`6oZ^WDCxds{5~-46TcQC-LKl^EB%@Yf0AeO_-j2;vzC|D!b15RUw+@~d)miB;7XW)(+Ml`&znxvc31*S#9riUvwzui;>Vpf`!q1;3@BLO z_dj~+xm~uvnXnu)!-YO{?gc1R#<|xrP>C)!bo)E%FSN8c>}R2IU(|uy-|>@+Y&K97ww+595k9sKmWFSSKZLjewB!NKO= zKezFURkpwi$f8pi>Xu{Yk(>&@bxO(ZZdS1hQIpuYKwLz^AJ^I<%V2vQj}JM;F8JVuKjo}jCMai$l$Kz&})8k-+7yDChN_a`d)K0DD;4uEw=yG2kN%iVoP#U z9Gm^0x6Hp}tIg&ZYP%p?;QPm~t-ZC z*=`G-2N4gUqPF{Tr-k+N7dGv%g;$8FZo{BTJ?%%`{CW0o{&m&jtFa^#@8SfmAC&1G zoTTi_DdE`tcf9W!ORvk5a-{CiN`1}SU$uLuMZ7qGcnCanZbP@YM$E=360a=siMN0D z_19WttDEg8GJrY+#oK%Awu^Szf;57ygQfKJ6Yu>AA8MCsu7Hi$2)I~sSvLLa&);{w zEqHNmT=AEetTbg;C&`!hBVXCS;RcIr2Tp6EZXorF@vTtre%~`IULwV@v|bTvcwFS_ zQuY_WTW~rbpT|lyfpxIk;5cC4gqmanUc0KN^*y^SN<|`Sd=HN6Y)Atb^ZjxBT$4gS zO{i7T#gOOxz`+tdXo81;#YJV-TnyV~k>)~zKEx77aLr{adr+<&ID@pSh>J1EbD(cE zZKzZaj!w|$(SyG(Oazny=OrBc2k}Sa+mVbDYPEyqe^{jT`?i5g_P=$HRYTRNYS0Rg zriNw+Hr*7l?gzj9X2vSwJahosQCdxMJn>umo&}$I{a#zRIoD-z9m{DBCx+~EeT2VS zQU3ZKi*Olia1?ge4HOQI?3{HFU*k*OqLq%NSN>O zWWzHJC1%k(d4+Z9GtWJjFjs)YaWVToG*=zvhlDI?aR#NdxZ5%st#vtC>_XVk2hGN_ zNvAtUhr2)dbbc3-X|qR%j(aQ8Y?*8zY^9v+oNc%oR=K!?lTUAcqgzKS7pbv{QEi;u zo=q)ybhycrPiJvKI-KBh0v6jYvY{gxJ_bDQ*}{Ww!!lxOMH_cyFbv7ah8 z$x1|CIISUB@x#wlCqDBw0>pNSgt-wb{f%Zf*2mNo_onC;gMeHO>DauP!>)tf3h7^e z{I!irzp4oO+dTT)fX|MDUOOP;AX_>IP||$syYHN#G%LnH(@Hoft9kC8u#-B7+L7iz zer|B4(ySa8%`K?^mYl>&^KIXqy-;bE<HKlv80I+Mwg{%I?(qj8dzy{l;J7)*XweT8TvGMK~ovJ_Ye$x{zSEpDyX_94T z4;QF5TSsUGruZc$S(jh$9tVFtrfc*+dNk|K zSeMLan>9=SxIHI_qrU?Voomqx>;7~5_=T}yE#FYOPA^Pja zEdR1Uz3T#{PtWxO>A%{cKZGULSo9OtB)3P-HhaEt^uj2e(HGy~@LcQJB&cn40uRXBt(kL5}{wEyz1D@=~(cc|vX@l@%*6C%hyI@t6Uy|paIy{e! zk!Q4Cxu1Qu`RU_JS6f}`;y{h{sYlN5{(~QW-psn6*S6n2g7IiKMm^q7;|R+wIh_YuE*Q^bUVR^LvC?~t6b)C@KEn7u8htg4ucPzNXv3rf` zQ{1}To_bG7sp0*s{CU;mHSYXuD=2UdY8RfI?D|V7+Kn3_I=_-Hr{~RS!}NCK=uxiy zn5l67!o3MQizH2S>jh~(8Ip0ENAoboUM|@Fn z|5hP1xLl;Rav#Q{>Rn7sCg!FOI<2aU%IGlSH%~q ze_eWULv!8765pu&@3K$TA1%GVc46(I+P|y2zx+qFKdpMK>Ya5TNgir=Tf;X>{yFh< z-6JJ$ELoDATm5*=AD7Ln`&#mn zNq5BBURT_KVJG+#m|x(Yrj~2dd)Xy9IQE`;-}`ka?|iX<@4$flz*w= z&g%D9udjK`++OjgrC({hz3lb%Wi#7nZm1kgB^RSl^te1o^9BGtF_oW*d#q^YLxH< z)L4#QYZ33bj}WX)cq29#g75>pLyA!ORdmc6y4fB+aKXZteQajU+CQ&Y`=+K3opZK% zLfV*DM5Egfv7e^>GndZKerfpB^&h+U;3xk2FW*x=Ql4V_XWnLqN9Fmz2LXEkgiE-& zHATXyGo)FYV=s9s^T&H1UVGOkpBpay%YPjnNj%mg+v$@2i0wa>tuy(u#rB_k9ZzKrvHhpAbtYLheE&aD=>9()gZKaSiz0gepP%ru zFOgHU;+$tJ_y4Z}$>OMzKSO-~U-b~5V-1W$17mA!<6sb@Olb|o_Mg(`nRMY|`%k)x zr!<4u{!`jKlP+9r|4CQzlx7gye@dHY(uIrdKj|u-(hOqzPigZ^x^S`mCtbx;nn7&; zDQ%uf7cRE{q^o#JGl=a!rOh+x!o~KVbQMo&2C@C8w0R~^xFhCvWAFd_AA#`S|L51> zOU*M&_zC);lLXVnNjH}J|0#!CF&yG20E*F4Tqf2)tbtequ?Aud#2Sb-5NjaTK&*jS z1F;5T4a6FVH4tkc)_jxR67388#V zqb5c;4_ErYC?ezeDd+M05uT= zqJjiIM;XBVpa0*N@IwaRt_cNJKl_X_0aio4ndce?*f+v(6uBKa#jGi+oCsx zfGD{#0Ni6s$`6Qmj4~F8XOMEj|9#trgovaGt@~*W$qE5#0zmXZ<^Q#RmH;)OB|r7Z z`P~B4L=Xs(2o$#g`jVG_gwoVBN-|*`tYr3wk4s5SC{0bHBomhA(Hri2sg%@& zmVEMqx4le&no!`b|K4+_05uT=f+m5MJI$Shm84HjdOa9DP=K0H^raT42?er6OG!;A zkR1YnNlhq_J%f}y2MOy-Y~}*ggqCD87oa8-$Yw4;O(>8}TY#ukj^-*0)P$B?V}Wy# zu-w_=1btBe$d)2NO(;5BiU2jCKsFfx%GeQTG6Jj#&}5SlV0{4i5(}Ia0Mh5BBzr|G z=N=2h2$BQRy``j#aUOSiwE#7ta?+~>s0jc)_ZA@C+uEJuod7kV=p5Pvs0jsfXcM3& z6v&}XfSM>tax~=7CO}Oncly5oHKFKqbpdKZOVZT^s0l4e2Ns|v6i8n!p(krXf%H`Y zYC?f@MFG-3t&-`10@Q?-Tw{S8c5O+zjg;iLX@N9c4&4IxSRkF&0%;m4sR?C7(+E%# z0D3kOAZ=6v@&r<20@Q>8sT=`nLTOSt0@Q>8sfSW(NfQdBLIil8Bc}i>sGzCbSWnMK&N`RVBMkFObO(;4^m0OzS0XYRo znij~C6}DuBSCYU=3#<$Pt1Pg}15!5zqle+_!djC_Jm+dmmn2jq1tQH!tt|;eMZX{b z1fl{j3;~gKaR>;SoSayixK#8@0ze(_!0yrz5H!0(KoD6K0BU~%^wj}im81b&7XWG( z2OuXTR;0a5Q+0dMJ+V#DZ3vX{NE1F#S}}pP3#vt0l+5{zrKvLw&}5%%f!db>$UfNu z8zc?jl>y)$=2MzY0pJX#DW@h>B&J19P53~OlRzsc)6%#!p(S)2%15+(ZK~GZ4Z>3ZE5ZZ0YUTX5D+xG13;bMg61^= zpg1t~sR=41DQVFsfqYb(&LA?gq$YfzlqArW6iHZ86IzmKDX9qsvPp`KG@(GLCebzF z0|lKx%SbB1lA6$xOiM{k_&{MqpmheO#ThiAC3gZy0!9--AoM9fZ`5X57-_;UDNY+K zS#D`+LQ66&=$cUAT$W^Kb*&^6D7^$l(u5BbbONnHr0ZZwO=wA`rKBblD89;)n(%=l zJb{*`%(7Tg6IzmKp{WTUC`u;KDw%0fvL>{obg-nU2_Gml3AEgq7MhySl1%`zh|z=( z6m$YDx-2(XQWIK|X(_1*1=Qj$PRQ`$aDYC=mgEhROfz_S4)*l5BBN=X7O zO{S%qn(#}C>IjsH1l;2sq=lv?v?S9)QxiT=XcB16F_YL7NfTOj3qUpC7G6zno!^_0EN3Ie4vyh(9&dDgx7?Y z+(K+J(u5BbbOJ59jGHW}2`#BjVfCbWQjrr5y!J&J*UKd7UJ*qymw?J_H1# z8v?-j7M%+aJ4h|Cz#9WV%;Hc0jCKcrr&!>g5D?rmK_D2*)M#%2$i^!)djde6NQ2S7 z0Ps{>G8+IcvA~-`Kyce10H$oo0|DS^7T6mAp3XFFqzTjlPQ|pCLlX+rZWASgU8SZ0 zyjjR-N%oLJGuTyX8YK?~N-mW&fQJG=G8HWy4ghsy2POLgz%y;h{tyt790>uTrCS2P zvn={R2nh7S5YR!_JsgNM6ezje(mWObt|$xyqgw+d*+)s;ZwmoY@^}Eq?np|W2mp0W z2a#SH0z&xP13>AY>E16307aj422Fq?oPlX^22ChXs>za?2m-!UmRY<8W^Yj|9#U73zshJSXj64&lkLL!3P(d zSa8;YJLdP!-!cEv`Df3cGvCbr`n(^_``o;b&AWfz-Se)UcX-~Kc@NILXYMU?Zd=e&2$#yRbCZfkhF?xS^oUH7)S;ks+;4%T(oom-czn^*VWwf(i% z)m~QHRQv6kzpMFF_4}${SAA>s-s;n<>#M&~^%qqSSKU|j(yC=uGpl}I`Bdfi>;I+l zvy~sId~4+^XWUtNMdQtt->kj5@|?;<<&P`AQSteTk5|0BqOanV+FccED^^x4tSGB^ zy8O|ZU#{wZ*tfOpc*>_9-sq}-TZ!9gZJyH6K+HC38(hEz^DxFdK zyOJkMzE<*AC4V@xtKp1>zpUR@f7i_A^}lNP;mi-0yrtxhlHQUXC6|_*T`~u&z8@vO zp8Q<0cFup!{#f$<#XgF!$j1R-CMoJKD5ptZ7uE#}Vq8h0gm@_35lanZ5YNX}M0m=_mz^uWp zbwv=9vm#(>6y&)yfLsU6h6LAh0iK)?0aGKzlrboPS88SebCxSD=R&~LD2Vx!9Bv8f zh!wfZlhX@eY80%etQtLRtD)MUw47A|QzH*^mgru$ubzPp%+k2Qtqae1dVT4g{G4(puG z3v7*o*nYj2m|E~|Fwcas7bvzyimmONTs1Vvt)T|&WrpmH{*Jsg3Sx_X1-;tbExZ?p zu@|9Az+NOo6x;RG8uNhE+v`(>1uBe;#iRT)@^yvE6!)pfwI&z}Bb`_W7do zR9JFOf`F}&VynF&tQRWfQ%eor23MZsdUGP7Q8e!|GY6eggQ=H~H|1e-8U@}ONfP52 z1Pz30^8ltV4cJqwK~WtAF&FDXawQI6Yoxr_-5o$hvdpk=nTfU#@>K3;0b8SJ>~fPq zlbIQEFRh~0u~U~3e_ruS*6GnYZ~26@&IkRWy% z*TB{&i0z>wsx|GvZj2fQIT-}DMnUXtRIh{@bD{8Frk6q9oYnzbBa2OoErzBvRGAbK zv(UhnZyA{ix{l10$S0467xCXXHLEiUMK@!T%QMl@C&W9O- zyt#!2Y>lFMH<}|TG!HWmsZ9`@J7~bxC>pz3o_&~yhcZIgs}x%!#a2I;F$lF^ z=a@f2hn>P*u@tEVd2{Lt-Wmn56D%pA!Yq+~ErR#uC;)7Yg4iA^qEgYlF^PcdIS-JnAh`>_)}bD2VMbMpSN20J{nOxr`-2?A?m3k;N|cQIV=LNeu5?S%hXidlXwEiw#&H zRGTkcO6&-&Wl#+D)+mULZqy5Cq43m3>^evr3rbG20$U@+))AO3Ljy*CRApgurZSvY;_uH%xXxp6!UWp0p8x5 z0vZLea|Xk+LGK2d!&~R)e25slH3~|;*yF@`>Splvu`&CxdtB_Iv8ShzhdoTh@AD*~ zM0UpJ!%{Mi1ue#D6tFc?>~+J6WzSfbfcM;FeYjtP3W%*ykhjI<_|5ssEO>dSUpqyy zHBxMC-P(UD4ZBCIR{@>V1;AUQXx_nHP~r!$mnybKLEioDXwa2bTt>`&E+ewH5#+zY<$@Mmk3EPG3CQJ1;PmR=JFN1H44_7bZoHu)p{M! z+WCM0TO*IRMasq2VxhT1i(+dO1;4FtAE zL2Q3D7u?}@u-R<`TO+UD!z|;k=7M|m%n9)3G7i`p1+iI9!w42*7Y}TWJZ!Q0Jd2Fj zS}Zh%YS$@uEm)jZPTtLwAIi;Vxnz==Ci5w|w{t*j^h_FgyhGT30_;V=UL@25*r$`K zNoZtwYYUegRI9>!y43EuI@sV%Y)Zvr9XG^sA&LHo!py;VCT|o3C6^lMT961@?;tiu zZq9&oE$Gyn*x;>EH1ApF(En%S)3*rb!PBie=NOQ~cbk33JJF7TnIx{@uS`KU=X{6Xm2fNbH zTOxgpXyC0;G;hU@^fjWPm1yK)59iyvTs(XccF01WdIn`O35^unmAuCMM-K~em&(x^ z(IB}-n(Jz<&Yby5YOOA;HKIXsjXZ2e@?h_vyc4#Co&{_mX{6X;$=}811$j=lwGM6?)knL7pRN+6~6?ujkMCHQHi*rkH^ zsGRj=dqTYu?C&kmzdu-TV8Pi7emwsZ^N-ALng7dqpPF~uyz0ewochJZ7tH(J+|SM( zp1XQ(>D<4abMKtmIrq(;J^Smk9+-9AtVOf_ZRSHW_s%?H=6}uj@Qe>8Z=P}PjGr_< z(m2rA+W4QzUp0KX;Y7nl4bRp;T7P%_+WPYPFV(%K?(tKuJ>{#lZ?4@@JGb_mHSess zq2|<@C#v6Hy|4PL>ZhtcT6L)E{Hmub|D^IC7OgsU>!N!We|zCjWqai_6@O82d&MOc zrsDJEuP9$vURnNF+3U*oEZkhySoXEjx0YU0I=}Q=CGRS^u_Tp{JJ<;-k%0?K26m{J z4wzpp;gW=kW;c?;q2mA&2x1D5pmNvHkL~C?< z(TnXrz3es7(#H0mXpK%Uda?bdm%S!h+SvXRt$SzSWG?wXTvZOd?ZDmVQ?|YnTLzX z(!)3!@kE14=VJ1a5FX!hqynN`EG>P6hvn&Nh}X;yV?qXbT+3oU%!gtE;koBDKZvRJr8o0< zkGgeH9+u%T)h%n2^Y|Is$`q5{%%cz{`vTYF6_aNk zg)sS2x0dwnsn^!yt5qcLF-{am7{(TVTkG+br)y6>^zM4R^0XfRN>8`8A0n4w z97}Mx9i$@{MW-mXC$%plM6vE^K+xkGi>qBggJS=9geGUW8_Nh(Q z#iU2`$YHA40Z~tQ7MRQrN~=C)TlTlc(6SYiuEXO89%d8Cdtn%HRLfRO+p;aD>$kK> zu4Q{8l47#e^03n8JOMHc1J3rz{BS+#4?Oh?Tfx-DBVZOgViUCcIMx-DBV zZObmi^I~ASEnB6hF?e{whI&ofQVr&NykZi=VzH2GPnObr7t?wl3P|`VI8=TWZ)YM5 z<6s?K?^B+XhQ|pU3_q<*=3_!s<_GPmK843_`QWa+q{jT5-|_;1x@CS4Q>|n*B$+t5 zt&IF!4JoFhq1>2FO2arPnX4hibT#C9LR9-yOiH5~Kms9H&tY6gwNJ&QG^#5k5cX=6 zJG1Z8eBYjmDeY5LAf+G9;jCK1B>O(MeV#65T;00$Bu`hjis|asttWZ9x>Zb9w=U-I zfypvKPf$!(w?S!H{&&Ds-TN9+Ojoxq&))*m)vaQRZb{q=F6M858LeCP4B9&=s*Cx* zz|?$ST6q&fG#)T#$Zw-oSCG>dF54TC5_X-f)a{5=2$NQFM1rl(;e5)%tMV$+B3+La&R{8 z+EX!Id%BpMjYr$l?Wu!SAy3Z6-JV)`x;?dv$=SHuQ!A!BlX5Yi0j4{XI*Y=D=JCaN zpJI-~`x1&7^1d(m{p~Phit;|iEJZF48=l0(-FiG>^dZgny-zXeS?XPi>tfOqT<=rN zav<=q;mLjZJn0FV@A7oL&($sc$Mrtt8S=hB`=lK7A=mp9Gvs}ahUi1C_bFz``y5RA zkn4Sl8S*|y+Ft`xypJDC#0-|7v)ILINFB5ua+%l16LN-ECOBp*rd!WHLKkX1VHjA; zak%wVOt+p79|?YvLVd`sr((MGa;kGixbk{2`W-~C|^~x5&#@9X-(`}z0 z*GdW1VVtRVcXUupw|xfvmgw9Ab4LfoWZTpB$8z~A9b6{n;-vY0TTx86eYzSt6_{@O zRQtN)r#m8%pN_9SPsMaKbSFyMFpLEGxf)VTS3@o)IE6H%n68F`x+Twv+Iz$O^!d?$ zXUwpFkDU_!!|wxDpIZGryzPIas=exWm7lM?w{mmk?8-IV}@}#VrZ0)lB=J9 zjwXnakOg+aJP2sQyiLwD1%sN{I;J$?XOxh3&M2%27EXxwC(M_H1V0Xy$g$Bj;j=|w z;1SY34k&(SmoOqKdLYiQH!n6vqp1UM%{RS5j?6ofu$5J7r36`>j1!I(xPl)YH2x)?N z3A06{(DT+JC1U#$LYh!QJQo*yiRjHjNE1X)nEOPEf0Xl^r{;;s0|Gy!45@L~{vc0OI7y=k+LNBO+gsdbJ<{BY1ml+6lfV7iRUm~veMA@2P;e@$OOwL=p zxQ{JoTNSH6d+ih2E9H={30wi0KfhtmO4K5bOh_amAuXOTCxnom-y!MI38^|zSQ9D{ z&&375YQz_bG(mJLej!p;I_CR?E)-1QYJ!=g5n>q|d_vm*5>wAVnW0C2yF$j5YhxmjgJr?Y7j!2I5|RMeiACu{9ZXS^{vLGp-7|&W{$6F#21M) zF@8eaKo*HKF@8c^cnKj*jGxeXmXIdKPpHch(!}@)ooxweqDVry_V1gY_+m9p6iJB1 zB>05R!L=w`6U-f-9}!<9(!}@)%_J&?(8S3RlB$uAR%(1zBfeBk6XTa?4pAwJCW<9w z?Oy`~os1G+s-}rz39%f5Pe|uS- z;mTQ+cU5#&{HXqO3+iXyKI46jD;Heb*fQ%~3x8Vv2jwp*pI!dCz9C-dOtH*-y=Go-?QP>bYN-^A9E8TlCITw=MeX#gCry@{$WmUOMY%$qy$R>;JCq z-Scbar)S(z*EH{C4d$|C0$m1cBogx!c}uj!Jxqyst5T#=4pI>GpS_*dxe$C1U&je@m)lRR38d-xlGk ze@S^>Ac(-nf*A-K#v#vnAP#<8gzx&vV;gx-Ydm?Xep>_r3FdPMg2*ok+Hdg-CTSPX zQ>Eo=fg|%IFY;80$uo%Q^89JFN*k=FYQvY7FaAaF#M9;chRR6wR7{s=F}mf;f+eC? z(zoH^t2Jd|`SsMV(J5vzJl%RO1@SOX`*oy|>ZzE;@KpJI-702@aMnDY`7AjD;lnt} za?iH7n5D?&VT08zuZMAzGapM+K`QI>E9TE+ES#VkfzmI+$rGF**Mw~FaXYwJla!#MKn>GgfP0T1(h zcoo11Rzs-fvkLKbtC-{Axd)`eJZ&qpJfp0ln1y%}K8%AFajl}5u2ml9poO58Pyjz4@v2Pq$uFS3T~Y5RC{kS8)&PxgI2PaVtndhEzNiK#6N3DHmxvmj5D9mbL0-zp~O31Oc0%W$@yY@dG1 z4q}eRlUQy&Ioe0?9C74To{H)6w4OjX>zS`1?T0vKNAQH-+R+|}&I}`n>GHIm5aj9C zQ!$r@iHzViG@ZI&t;L`{)uz6*Y}ti*1~uebh3zxU^T`ptPj#!9h3aW} z=6j#tK0Tf+=7nHAhXE^$IU3J=Pw?AHL_J6J_#mdsGpd!jx}{ah#M0JwtZJ~HyjE+n zM7}-QBS!lW;lnucdrjXem`Sw-w{6Ctv)J7*{~cjw{1C zs~}iG0Ozo$~CwO^9*We7$wvyNCaA$V!AxfU?Bv;hjC~tLn4GZ z+PE?YFGK1a&~MqwvlP^L*kGmQ^)QYFI5gkKyQJd)5xkI(>64g>ud z;+ur?;StD1lDg0%H3$+z=7L`uRfr{)})9&pNna|Sg(gj9i=r*jBuz#$Rx2!w3H zZeOIHM?&d{M(Oal+-eR$B|SLPK@N&obeW-OG;7hqXpxGbgRT^g`A*Oaeg)LO0k4A{ zhLvcs<0zIjDYG4_pymdVruU@G8syU3*))zvi@YL4r~t={Lj`w$*8u){LBC((g5qug zGFu8o*^I(NK)NZ}3!T#OdI9M}2@)frL30(v&dL#K(aX#_vk|R%4T=m3_roHKd%YG= zHquBUyT(W)%&vf@)_85GG`mQNtx2}Pe%iV2HdH^` zXD{56mG|>RbLi$ny|miZFBm4WRh(oWEZ+m-1x#?US5co3`Md5hCgdV5cVQ&w?dU;z z(Ok8AFTmIOjax$suKn|VX&xhV3*8>~Fp2F@82Pii*Pb)djFv#O<#(HHK;{U+1{+CW z8HUqvuFU~wNI8xYNq5Z%2q`qH+u#iBU+8-UhK{y85>&`u={xA6bkIn? zrw5P<6gelaND7@-!QQsnZ1p;>A`Oa5s1|PjmPe6oZH*_ATRhr%BWu;+k?=bTx5tS@TM8oIV6xL86AR94*;x#r)pM5Q+djxOuz1+w%}3a*bF&v|E908IY%sT=@6qYa zZp=^ENe-d`?w8bVD5~A0p{O=&7d7GNFfGwda&$s(Xc+x(N5jH~C+h#8{uOms)HT+9 zz4p&)PSmWbDX;m5>Ni*WU;npX{11Nb|A&o_G#+cbs4@Dx|Ftu}Hp71V|A84d;&%r4 z3joQ+FE#L20PqU{xc|?!8TJQciMGuAF&2^ue5tt|y8nLlJ7(Lj06mE7M{zXZutA*1 zUKEI%%rg0= z>xx@s%VdC^5M6N)3l3dr*@IICqdIO9qwZ)m2sb^y2KCU$Ne{MN1!~X%;svd(nNil} zPooq>)67C>1)YRwNw0MThtZ2h;-#5UyqE*{$*V3rwCOyB+9`%Xax~+I8F2Nm3{$lU zYU*L{@)?ZkzMM3UR)cU~;xm{K_iYckug`$f<&$n79R(P$k2*;P9OIf`%;+w}e*QZ* zNo2FKK{M%O39KnO8TF@b^p1jUNi!8O*p_%htYEvFbGe`eFl6u@T6-H?iQ5+S59NKL8OY@CfS1hReIsM6UCrY+Pt=Z z_5pT<%T8rNYM>1KnMrV7G9g|Rc2k{~aLq9xH3-j3{3XGJ)W9`zT6US1;cU!=w1cpU z{2E9*SPD+jA=Fhwx@mZDRR+xo#x()tS5K%LurdWJ6svw$XMxl*sI(*GYyfib47jp_uhc#2t zF2-(ff08@ryz#1A?#wT^$ETT!+)ZTJPF7^zkLL7b=SV_pW|YwUS(k!()l5Zm7aDxR ztRSLhMkC?@>%xedsfhjp;Q!+KL|-|KT;EOj`eesQD%VU`<@^zXg67psMaf?hGN)i0 z&`d=OE4c4}492r|kDQRZDoW!fCv8w*?ao$WgL-#h zb0Cs|TZ15j39-Td&9%ERkJl|-{JBMY7Cm>$d+TnlOV|Cb_C2QzR9#rrIr|&4j?J1g zYeDS~>t9{J9AE7(ulh>meRZF$eO2wwnqO7Ft-7`PU#hm%K2Z5*Gy59r8b4jrQTg?X zqZP9&{-gY(2f*O#7E`m>V1DA_)9SIINU`;#{& ze^Gl@-NuF$$zLY^I`O*1uDXvkoRfIW+%NC{%Z-0_vIv#t?MNl?h}k+^U1U;A<|1b1 z={Wdg_)Rz-Wn)Ho!zPG@HKemYkTJKkwe+k=FH)2s%cmM z;DO%Mj!a))=J3&h-c6Z-gV~|pzWu50!NK0ap-kV9SG;@QzJcuEV5(_t_E6^5%s_Ve z+RIju110o0G@Dg;K;3 z&ZE=;FFc;wo;j91ls)dLVLz(t2-vY6e%RZ)eEkLyk58R=L|e^zbFJg)o!hem`=Q*+ zj}G&x~G z_4XVcTE1G{f{y_R)iXi!3UfW0d5~&z)0zVVXo7Xsvs4aL;%Hz_8zU(TeyJ>FSni(4C?SUI@?>&5Eu)nXccQ&_f?>{TV zTfSX=pNoEFkxavdu60?op(5xRQ=8D)N;6`IIbwg-+;(}kAHJPge!1$ZF~dNfi z-UFGws7BD-v8flWV6cA(bTc^Z}~5bHrYl^CXW| zOBAcFG4%J%T_dvMtTk7wF0}3ZvA3nEyRR>`HhXL&H)?6xI?zjnUbYW|?!MH9!9(a< zmT%Rumrn?K9NMv1*XxbC3;U^I9Rk&?nw%_|$Lyq^hNT zO=jpo7M_uX1Km2(DB04!Bg@t{n9VNVp{?x{pSbqbj$d|+p|5V~h!UUgPUiVe{+z0% z^YY&QW0-UHVnDzse<(2TbhV_j&X&&T-gL3gC~EL*=^D@A+0wQ1xXdS)@6@>!zIf$V zX9K#^{HBm@LMMNye=xN^JJ9zZaMxny7U`zV8JKVRCT+<}f-E>J?8|G(>1H&Ao6!^o z&<$oV?vFly1Ioa`Oy3~J=vjTe=5^QmY3tNBahQFpKS#Ibq@M zBHgl+Gu>-?G4^nz-g%91InC#yjXINGlk}LE9O?9?psJSo4AOW!d;_LT!3k5kwYzT! z^JkeyXZ!l2hM;t-dTnlS-mHT&S6ZImwn(#cNVjdx9K~v5E0#ZfT)m8-oHoaY&hSZV zi@qV5Cw1{HI^CXA`87J=pXt+%>g3WLTQi5S;@hwnOQI2l?r`V)XZe(M+L+DPb>~>8 zUFpuv*;`XrWCsSb$Cq!uLOf=f&xDJ->#(1lr<$(uG_Sm=wl}@wk4EOYB~D*<<}qq* zT9?J_7m7M@%hBE}#Hn^-8+yOJc!O(+wKaVtSV`LKG`wPty`O;I#q4~c+z*7 zOYqu8{0~4Oa zoiY)1R=ln2vwc`H4Pm;w^`^|B69=-rha*+)HP`$xlAGin_4B2%=1+cF+pg?Ak=opQ zTYsNFZ-^dUTHD;gozIfw(av8kwYC>eyL~Ih-@)UDFy5h)+^Q{hrBA;N`-2-@TXq!X zi5Pp2Wm4OF`iDSy^LA-W+!e}6&PnICd}r(|V$#{#xuO5o%<>H?YqL)=EsLW34!yPO zO86ND@_hsJKX2?SplF>iJCmIjpMkdj{P{>*(>RvyZB4-{q=Ou|uFJ1NTXXU2y0+%+ zZ2Ln!2eP+j`j&6k$zZF`pwnE5+1lYet+%yYeiSR~?7(5n!|fztn+zW#F74V{qL{V$ z%+84zrP?rDa=D~E{mAsw&M4LHlh#S?uKaqmjy9>)=~`Q>JJsiHSkEnWWX*4^ZN-nQ zZEfznhBpUuw7Cj8lrJ<|;1HJ(nCTzPj@lWtwU4yo>hgJMW5^$?+B%AF4DB5wG2%@F zuTp7jXYFzpk8Pb-WcpC8)Rn!5v%LeE+=9q6dw0Z!SzG6ZeOSUQ-=J#@-lNZP;5;h7 z*Kg|r2QDzK%R@>#}5zXc+lke^OE-FF>R){H-HWWJdr(!Z5zzG2To-B zdb79o_MC_^OM7|?w!Q~?`oqprI)>X5wFryU$X(X`|q zOnc`T`i#z~*#vL$<{Xu+A%A_^-bF{n>J*c${-IH~U)!S^HSbB~Sa7!^e_-fnLMtw2 z&mQISw-hh;33J`?Cs+~mPl>gs|1TfOzmh^?z5x;d}+IqAAFfBU|p zg~R5^`}Z9!JK1mb4fgge->J79HuzL^o9sxw{ON+*WJ{yxNF5{JMY_V}hu3HWH}pDM z3-T+l>(|k`TU|w}?t~1*gJ%zRGLJe4_ngtUZEt=xkcw8#SbKVvozcCv%lgDyrk}Y{pHJ{yuEm z_utCRN}Z2F6_NLTJDWqhNybS3m>$pi|1+oFa_a0;KfZYD;-?qgx2Sp1=T13zO5&6c zFT8Bw_ZHl{VA+B%%)e=V)%zMa1b6+}l!Q4mYtex}J>^IJCo&9&SZkkm(>jN{d zn)&M)_s_U+#&;TD*?3Ol7aI;Yls3G#{<8WX)V%>u5PYrnP;F)H!!?)Ie7$<8dS3Nk zRPCwyedRkVFRA=?#Vr-(6`v^IQU0^CHwF(q!q!O0FpRpX47VHza?AxBr(U zJ|DRM{{h@W$5#N%CW)_tXBn)sPF=$7ae(Ch|N9ZY0*4KCwRdsNF=F7|`L!S*<~|Ge z|1U@P+LveUbPH~2;XZGQqr$+Dchh;q-W4djjvjHV|Id~Uo$y206CNw>6h zqjB#TIC?WyLy>zED6%tySyK*6aW$!%+^5 zLIuUX+@+sCGNfBNt~f566kJDO4=tL0hcoF~?^ES?bA_|UPq%b(z{y~KJ%Bb*fM{d~ zvB9UT`pCb3o^B~(>W)I2v&S;HQ?gn2ZLe^NI!Z`46`_Q5Q#YPr=*R8O?(1X@z0s%2 z;qh8$<(*D9k8w2sjJzAqSNaS(;2AG*H?`9(*Yx)AL5xhQd+@-md_bd!g>gEK*+5`> zo=r2?jMidJlYjd;oldXEjtTD1ZSOmd+f{zgA3esS{I&y!_hF||Z|7~(xx{9liz>_I zB6q9CuyjhNTf?nsi_b;%MJ1C+#y` zPGjHoPIrbzx28m;+3s`V&awNRLt(->goYP(TYmXg12W=kt`xWU{ z+=RyL8aFk@@(2~s+)ePSgN)XrugkxMpKfgy2EDf&#bz%bjw+&+U>_Xo^3~XV7{pTd z;PTD-6v8z=E8bz+zQnuzB8(B{TZ1O*)e8^m*`J zS*XFcrpI(^J>8lP?c~A!*ZN%4{axZtWQRE*X$E_4XX--H+Yf zP1-Nt;InDQotLf7V;1Sw&LVG+pd_5}xIDt)-S~ZpPg}=w=ayq@S24FUyY%*W{yO4D zpY(Eb9(IbiO+b7qKeLZ*elg{m;WBJyD#}oTTdD;^QQMbAF z_-tCFB|qwCtZ3v6mqQ19ODEKHX+4J+F3$zqZ!( z{R6mRz7dZK3}U{0c*Msq(`|SlG(f$_r=AwII1dQ4wT*2C($>c2lz$_3pU*>m(U}6a zVV*tO7D>9T-I)hxeX5beX>h)z-rRQ%6rrXDSQyM7w zQ;VB@7A@!#_qrqgN$iiOu|Xbm{)0X%ow7QeWV?6EYow(V%S8ChA)mBPD_up6c|$GT z-kN_K{IJhrB^LJf!EZc%ulpPA#owt;x3{?ue)sv*d1vh^x7)#9H-@teR>$l64~=+t zHqD~WZHa!Lx^_GHxA4>07$3{cHIxr-Mji2~>vSalHcq;|b6nGr_PqPo{CP#MsWr>E zYNA%;ECww-#o^h+vIo9<|N2mKF!ApG}x~OnE><&DSQuLyt zqburu+U-7zcFZDfz?Y$ed*tcPrVWE!G^a2}UX#JySkG}sUYd6{Drw{$uq-nzKcC);L17gLTNx~b6CXlHsu-#&S*YlGg89uCrt*evL51;svjx_mWW;lg`pqc^NhwDpMb z{Vt!Cwl3F}7<`LvU7c+O_mJ-n^5Gt}vnSgb+M|}&$?{&gN_V#BPqAL^6Xi#UcDlQ# zogHJl9hdIx$e)_L!e^iZ@CnD$$2S0X@+r@o(24BhQa8nePm$ndvVrBB^{IhZ`kW(| z?w#Dj9^(Tp>CP^6Vf^XB-RlS!dzH^a=h`lh=C!!#jqYLx9!s__ z_HE1FQur0cbXT*ph`QJ3ae>V8@^Aa5yNZ7L6Gg)-zgPR@+wj8B9_JCNbQdPiLqm9- z0XxG(co<0UR;(;yXAPLnE!x-kymZ|#kneL{xFyA>tjF{On0@9>6SCf`&&eMKlt@N2i?Ox z>L{#ZT(>y7MtuJ44L;MzdrVz;kaX0??7KR*4B)lDzU5o=4TLxPM4M#Q>rBPFy2kJz zQo0Lwup%DYy3c3QDV=7%L0X$|k7_LMIRL>i`I~$Wx*T<$v2DWRXQSNNYekvBV;67s zDe6F*|M*dBQ%f;#)}dI$ZJD?Dw9k$3{??}ApBF`0=dR3Ked1B``_`t`;`>(=4oqwC zM*N-GvQ8ZHakTY+?f7k9%a%QQUA8QRYu@;7^59HAw?jZoN+>mtp4xM2#i^fMynXRc z7QJK98H+xDO7@grEPU0%>o-8OY2HMRMK7Y zMDjJsw&cGiUYR&E@lR$?B9X-HedtdEUrc0}Enflp-QsU2`0g6BKZxTg9K5z6X%i#F zIC-4M05&1TlfJoFN>Tu$#TLL;=K%~W2tpp?wP)MmqOFYn-l1Eyf zvmp7*0)BPcn9p0#Ww@don+3*s}#1_m|eivr>$p4=ds1il|lvKm+&Q0Rd9Tr-JBVnHNVnUP(&B^)|3aT*s3-><1A$)C0Ir3-j_-jG8 z$ z+?nV!rDAZ+SFf?ZGi*$2q7`-a+i;baZuDX|ztN~;r@UC}#2+!_w{Q=mZi8T?x>_Zv zgy@wJir*lxq!(969c>=-tt7w0�niiIkG^+!X~Rh+d_R-!xARKS`yb9DnbV*{~aM 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

>(kT?* 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 ogwX_NnR9SX+O;@M&UgG6YNB}ywFw#~V0cD#9d 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

Ei51KG7 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ӄG&a)|9|eb$|Lg@a4e8p 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 OGm9-L67Qd*SZ3!a)VPx#BhSbo*rcn;Xt{ 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�=DxG>dw z8{^WxAn1lFtVTEM?F*WYxwka3W!vNoXnC8qRGHY@*|yo;3w0#ZQcPBbRYG>UI;G4= zs-OjBe{n2nc<9jT#mD$u0{!7=xrs zGap7rGA*S`RhW%z?qndkvB*esXvyeO;hbNTZnRQi9Fh=}3FI)e>{h!6<)S083JrOU zD;bPlXc?~60*m#-A5d7F*j`mxT2EZbU2NA#WmF+_oN~G_p}ZK4v2iLymRGN+n7a^J zfrgn~i{p$ySCxIjdyMpj$o{GlEzHB7U|4c4Vp5uhGQ%iQlR-RQY2s!B-D)vUEcIDN zBE@a#3Py+W8Tq@zs0j4y>1q9+-McHJ8|j4H%Sf~;<(m*U)D=p_MUkS}$3VuW#Y#6* zMt|S2k#!S0v~nKE3ZSqXmGdxGrb1)Yp_pt~F;A~TeopuQqpwa#aH}}V@zq7*iunxw zAQW4XDVZ2;jdBn=VsrDiXR>*tPZDT_#=1TUMu~XpvyygCEnHaGn?Cr0qHUBDGmt@E z_{wlq5>>~E#f3jW17@2r2*#%?IIm^^iYSOBh+onsK^7FNy2;F**O$9%7{e<(sjvmj zNK&E+0eFUBB$u!ko<2EtkkXfUNTn+AsTzHlk3eIr6li=lo2Mr(*a!hwhV@JKFiNsf zp2LP~{NB(r%KdxeC{MF*uT7di1zbf@mKlH~XqCjk1kvC5xeQU`tHC*5hYovq9O%x= zQz`N1=doc*jtM6^C|Wjg#e{ST%<~z68fl&*UK*!ZqmgEy8!{WxsV`uQB$O<6(7?g< zdu9eg&$#i;%udWHcprz)UQaWwI@JLA!X%_VM}^N3IIew#3MOT;BQIhg`nER6Z_BIs zZON+07qcyWDnCU^T?9@8r!pqV(3##Eu463nW<)SKaO~TsV~(g^dr1;S^MZwRd*FaW zSZ5iG#2A&Np}tfa6|9c{I)ZtOhNjd0Wo(>+?83_nbT?)@ac4{sN7~DiAUcvG3f==p z)Bg`xwg$qih0;&2U{K;m$*;||pcVx#mU^Nh?3HYsgkeSWBXE(McwqYjQsEt6D^wSD?$aXzJVuMEw5v{M#-7Ljci*%Vv2~4yq-abs4tIkH{M*S zpmiq1Q%mEAXy^#&nk(!BkPk&itv4hQG+AHzmtYdww&)DB)L~-P-^duom`LD(GGxo* z#iVrZ_9jN5HrdjP^*}(F*;%gE^q*Yb_y0({4mi7ts{gj{W?Ql)*`B2@NO`x;y?{Un zEu=yM0TkqA^GKF#-V0mOEcn?$J`0K+5yVEZqoN?7Ac)vNL=aH~3m}T9C{4aI_w44} zduHCgJMZHsk}@;@eed3xIpu%;CqK*C(9zL-$7X*0m9#w4bePNSJF#Z#Q1U)n98Xb^ z3$v1uovR2&>(lv;Th^z8G0dm?G_9)N1P=5%D1X7isAS>I)wC{lkYTD@zT*>jDRuKY zn5FS{KSNk3k*;7>CXwztYKy_o5*AWs_`Y+X<+_nLgfBUSu|4rQLeTGQCzM@rQ}1jL zB4j)J^MrsYyEieD)6G_xvh!UjZZNlF`~^bCJXGML0`X>-#Pg1Hr8b;*=vxS4X+Q>j(!86@Kx$?i_~7^w@Sq zO2v1<1;|Zqfv$GTBZ%t>0xw>EdbytYG4Fc(X?&5xaDU46D}d1mn0<+WN<4P(&C5rT zfK`}`8}bBrl>fi*nW1+M4G-Nsc-r9e1MeT`9QaEA>i)<2cJwXo`(f{f-kRRad%~Uv z7ELVbTlBew$1QxQdslZ?_vgA!?z+EoTW4qIcRSAL_{)M%Ef5QC2mSx~^S{}?uKiza zpJ;n^+k>q;TdP~IX<6R#ujaQjcQt=|-s$uH)^u^x!A;+9JhSm{4Hq@+-Ed?5ne|Qe zSJxd<_oLcE?ZVnG)GVp_RrOSLbM=)~$5;J0mjA~*e`99fSpI*X%+ZUH4}kgqi$MQB zF8Ke(H=fwdKQsTm^aH;f|Gs6MixvL(pvyS66%>D$LWfd$$GBtMOC#MoB z!K+Xu_$!2mybx}dxF(%qd{A*rK4P z@5-|(i97oqrWX~>s;?6srfB%y-ow01pQ7=h@iGf3-9RuH!eG&6-zyoyn1fvT4O$gb z$=rVevSi9svhP9Y5mbGW4a2`l02m}>B>=t$4O7zw2|doo`WCH@WX;#GOLkVJad>W( zM&FaVu89!djkGjoUX^b~M48u9rt2}~(fw0jGoX;r&?-+>%YUUo}7wKzSVpPD=74_%j;NpmX! z=)Gg#xVYK(xrEzo1cFb9djx(Zl@q?~psZx4zeiYTaB%Muh?gnsOdwopbqBvs%cE!_ zcQ|DG<^Yq3j3gO9p*EAWyfXTC3WO6GPm zen7|~lFsDOF-aAS1WrNxVHAjlgxFM)kFEQP*+^M)T}Zq*N%Q}#RjA>m@?njbx&;#je+ zu`ifZ^WB7o5=_eX=%$rm@}X(7rn|?F2mv{R+#V7Ya0Y$BV;}br3^L#q7~d@Q3xq-G zvQ3R{&hG&2r?u$0{g`0Tjpr_vCn|O0g@{Y@{Dgq;gkuuKz9^rIgd~h$B^5uVWwm8` zzL1qvpl*At?0hjbRo;>jp(14SGXlY9!P8WMnIgNdySX9hB3Ka479;= ztR6pbbsOS-S{gkD<;RZ{nbYWK`p}hGdmaChFi--yq z+7BTSku1IX4XrNUo0X8XNz!#f2Rj3l^EpFBaqJOVTHD0RkAwzy4X@2@hckQ51WM>~ zRhr+@;#w-P4@|%GRALy-k`ce7_0bCD;o4A|=*Ctk$P*@$9*+_Z@>FluoXCc%`MN+UbG?Y>b)|YC7+jG$3a249Oj}ZzU7~G=<+MnTp5r#?a_QweV za~>?BA%N6ppk)BVS(@t)1b`){3IOB`Q95L#-7$OdMn zF-*|gGf#6Qc4P_3?laNKfC+PvF8)e*7|viMB4K6IhcjSsB6a#VS{zA4EbJq!N=QU7 zOOqpbhOo3Yny}KfIE8WYU{CUH|4xfz0UcvQ39AAYKTOibFPrq?5R`r zFe~mu{)0fYz1W3iR?P$BWpF;Oh5S!~K&dw7b_+|U7@@rc7{rs4h1pEh++h-!#OhxD zMKE~jGDR|BRZzzRlQf~l=i*S3xz1u(!kVptP8-958S-sYs;&P`NZ8?zpJ`TT*5OZB zA!9WEhaj|pOktbseCTDY$S6Kf2wGKKff|HRfSVi7PY#!P@V2UC@&W;13EkSHeJ$)V z{Ze26yU$;wCAC_g!gfr_Vlagp*e?-^HW4UnkROWb8q+5NVGb|PewkpjIWJ**siaq7 z9AEmsw6rz^DxjUQDH{#uz-A~NM&{{m&F}9V8Xu|~x?*s};8Oz^4eUQ~Q~xRbPxigD zZ|}Yvde4CR|M&JR?zv&nsf(V4`hRQTPrEmD*LQ!W>)5V`JI6a~JFo6I5%T}DoAirc;gp?qvGpA&ln9!@4+tybxJ5S2z%$G-BVu45cKa zo=`BM!^)Bb^mkG%A z{W}a!bpC0g&!Lqn5RR!-0n~4TQ~}IWRq*B!n6}N6aDocHv_R3oYmVa_nOP02zC`d$ zIA8*$2)e>J<&A2gwNc}PM+e-jc{P!6l?HOHgadwK)fv3{SGblL`2i+qe4jRg(Uvv{ z*EZs(2fSZod2GlN6xL238}bs-&LILpdyDZ4L^{nz7?!Y77Spnr zx8R%JGtFBFIU{kf3=;+>F1SGoxu;+yrzl+ zftaHbY1)r~kX535Tb>caNBBy>V}F9s8}NQ4JC*|xnhD@}K%s|>X(j4l_u8YqApE2O ze?WY3DPX|UVZJbH?k4=Cy!r?M;IrnJp-HP};q&Up18I4zi%}kQI7eNKjuIn$t#^J9 z0byK}1Bt9*Tr^S}R0FWDiUVnMn}j408tOJ(AYCe$mprl#CM0~Z_`56Y^mI=lbmdWp z#35wqD8Jx^V{WSm=$QicQ@k_pp@gI5D+vK%&9sG`Fc{61q$7P8VW6+0d|e=>oVt^> zfKJe0yeE&XEJ0w#Re_L1gY+3!Xd7Le9-EAG`BtFEV-W<_I`EvRi0txILM}oG#lf{{ zeJ#yS2(v067_X_=a0msrJ-^X~@wSH^(fJ}&KjcPE#Ba(a4AkP|-&6oOM-weR5oF`K zl^(5+ydq`&^1LDuSS5Rb__V%O5K50zp^m2Yk>K@u_C^BXuR?;C2)bZ)U#?=!W^AjMdycNvqNnn~y z6`{~GDF6oZbk5DO1c$)}Ch;ReH%+hsScRL%iX*E}ifS^J@eKIdH81|HaVsP&?%Rj~skpU~-^(;8Xpp`k(8&vd`|j zt9NDZ(>?F*Ike~di?%FkS@fNSXD)oE`+eQn?t8k<>#FbibmuXh4|hy;Ea>>$f}r`kh2Dt#)1QziTe3acX{CJzm{Z{i!Oy>XumkAM^Z;nf+t=|HYZ5 zi;)jN`TwuQKH+7Ly`wSqTkS7pqHz^H3nZ{G4>`#CrUVw4qDeZfCLpw~l!uEM=Nwv;XI0y^h2iefrC5Ac41AnF<@l?V>&IG%_11mej_A%<_ z1=F-}YY9%&1MA{A^2p~efCW`eWtBYw%jSgM)8Y$DRzV?oK?cyJ z87{~|9y&K{-a3||5)EdQbkI)cX#7&KBp1sJ%}vtj*AoQh=b5b-Se{`k0nE?CJl3A| z3_{W}z5*+q%LC)MH+3d0jot!3SS-WV?SU1QP$v zb1<2Vz)B^b48!7S+1JvlxY=2(EwC#RM~7)i*XnG-!SpXn(gYE?a_Z^A@Y>>55S-J> zal;_Se>{hl)!K@IZJSvNwyo5FzK$@o>65^A%xo-MQ8hT1Adq^>Oy0nb8b{@39P+uT zr!ZLODCGzPdD{G#vSXqKGP1KZO@1SQX3n~*_6>0~8N=mgh&|g9GCgH9fH|rT%P1jX z>WL*I0$Z3BJHUiQ{A42mV91T1xORCp^Z=Sa!=XHyA3lB~^gZ7=yliqjSJ*hR2HT(K z2?F;vtLqEwbbH$dIih5nDrsY#N2_CHJPT_C4iqsLz|5Dj9BaBlc6dWTI3@Y&F0gau@ zi*f`&4%F?9^J#VL{mOjyz%l9lDo68p{T4#d*3SlxSDqAe0W^QxlLCYp$pY7Lfv_8@V`6Dr-31a`Jz-5)q z7ZA!(8QC~mL9x!-uxoO6e#`J0h#X8!?9M~Ze8<@6ZvCC^Y6~JK2t~gGL4L8kx^5u5 zJ8O6;le9YC8T@u~9m6}roe55Y?VacjG(|{gOTU3R2Oy|unwXVb*T8k>EIyFu{xo6Z zlj5hC>&^9~X8J$U5#W09Qq1kNIwpd-%>t5)MS00Vy0Wk_KdxaI#EutN+th3aVQ7Vz z0yoAVO3k!{S(*UBPQt=>f}hH6U`BooK#DLC{@+CiNTKJJiW{b;&K0P(E>a-|0{(3^u%HRZ&7HHZ!4<<3w{tX0!aRC;0 z4m_E$FpUd%c1h3rjRc6U&;;A6p7i65ySD|NQ%acWO@xT~AXcXtcwqKdR`3r~mn4ZB z7ZRAZw_X74pMmz5M&1O5vWN9%T3pNS4I&xBa_*g{v`YCOzAkqgJ(=DpyRKlq^jm0I ztmo&kAlbh;RXu;;B?QafN(&=#iEnW)Oixk^JT-CgHUdCrl!rC^teGhsi zq?ge0`g9a@c{Xl}82CXl!vDX7f*dYx8A$S9Y7ST6tGoI=gn$dC4dcvbL}bQvYy> z&$L=fP*7tAqJWx#ctOMa2?1#aJa8#0qZtIkNzlMAB^*2lxzi>Lx4Cc=>wkdO*9Y50 zg~4{gd!&4jkWlbXdCB~Q;NR9q!E8_G?FwJXuwO=KTG^jK2t(N)n32p=e25_MaN)*5 zDq+Duuf7`-y7d{X9|HHa}*>z#p0bO@@p56IW$L@~Kj_Vh!Sn%Zh zH_h*xe^dK0?Z0f>+1Al^UF(Y0-?d!W(%bTl=5@`_&3oUxeWCvUyr!C_s~UsGyBp4H zsA;&O{-pZf)m>b-cioM(=hXhQ=KVGM)ZAUYq52W8uXKj!%xGY7=-|FxNO z79$^k^8ZcH17P-_C70hf`^%F5l`)FT=@IC&zk%!@Vd~|9{35Gy{3PM%U9A8rm@2$s z11{ut1%YWR#{%fpY%Ht>lX#f=Q-q@>qy|BdKA;GlompYpm9)IxV+@e}3~|0~+a~9Z z?*P>@>5g7Si(|@*2dALDa&$1I%0h*#-0{=2I+|?!t_vZ%klth~L$17<&``vJ`|(ni zF|~+A0Hf!~6@7-lFq^|YrVwJ6YBpzwE}IiVQG}vM{@EFTssl1;@o;lDG_-g^mw6zc zqmO{T4Xc$8LNArjB#cus2A`+3F}b3AJ^qTZ>EZRo!X`30m&h++DpvqG`XuQz2z`F@ zeSrYj?vuP}pl5W+O`{eV0L)kmN9Y zkr1%ZhJ{zdtnBTUy3huO>oS~QA{5NsF+N$Cb;{@Nw#9RIFoU~*UnUUkbr?ct<_fPv zn972KUm-BuF)UINX48c-V4N<5^i^73>(_+Yq+e4=?bpCerD*JHgod6i3&4e0L%IP> z&}NChPC#fGDL|4}XlNOQ(9xNf!QBuCk`XdSb`P_myovLYtPj+DAnWVy5*P)$CEm#L z8?-Kl8Tf{TM$RVOU$SPYv?84A`FZ(uvB4a*%g&Dz`XUl zics&cX=MGG(II&wA!%D8hnBPAg;9CFgtTYCF$oYe}5ehyK*5Eg^Et8-O42REATDwoWrr#q-q#Cg>O=ufa zjbMsCko|qa!jKTR#msdaLpzcoTkI;5YW>oKpL&?%1R-F=p zP$S$dg<<)EY}-6Z2U>|JFie=sqWwV}Pf}Bqmjv3q8|>OL0*~?~xsxCzI!~yZnjzI^M|zlQJE$11v2L;w8Oa=Biws};Vkrd zHv!mn8=pKcR z&CHx1^L1IaIs`Uic`g);;%?bbXkoN%5^;;Y!q9OmvuzxW=*dqB41-nN2XxX`Plqs8 z$LsnTVQ8z@L#GlYGnmCAZ$Bp>HwfH@E|*{bHLZ^vJmpD<)EvCf6{VP64-*UqyjaaZ z=z?W$6!3Dnh|zBd0`~(8qK2}Qak^eWFf^H2eMGKZ70JKiHO;tpA&3zgm-)h^l9u9c z>BC@Dgp;T^=;~VuJ>cTqW5P#+j<&%u3vP*q9+z!ywG0wVE3E57j=KJ>*TKA zbiS?g;Lh)NtnT;Hag7f&OfKN;V=Y7B%H+t2`Aq#c|rb- zz>u-5yz)@aoQkmwom92?hGz%?zb{r_9QtXrn_yI;r_$ePRkY{0S#89f4E-=(g7Pda zjz<|kX2i@jOMt&T<(-w^@|nTeEn0YJ@7$^^yz1eftS0zl>fcM=S_ zk|Ag+!u6uI8;avB1EqbQA{CHaFb+8jAQS8a#q4!wL|4Fn2n0_i{^o*CBAD=bS=75C zzhP{1uAonh0Xb4pfPJ18*E@tl80&d}SSJ@jc!6NF9fv{@oS7?Z8eR|or~L3z{}TqV zCKNBylG;N45a^E4E4m^#0jm6^zLSs@6}=Q+R)%i*`4$){A%{Vh^EO^41dI)Fb2I?u zMB^@=VPGYq6#pd@G)H;TAh0X&oB~^y_=;RCONpl|@ZX(-&4eH&(4Q&tlWMj#pGECdc< z+WK1<%UBLIw7Qly6$ZjciUP*7)NO4XK^}X`LxEVJ@v#RSL0u@d?tne@KX_S8vq*ga zMGsRT+9!*~w&V-tFN;8i3g=F_)zc?LN)rEsA)EpgP?AEa#K@~98wd>TH-1|IN6@Hs zQW#pgEN>&>=wI*9uE0YLZGPA{5e^=3%9kfa3(~hK#`;f40_a#u^9W3iu3(DH4K{C9 z%%C<}9f?m&s4EPEL_voE@kusuo@S4vo#602R=zV}0GVq4Ns?ib7(9O#W(4S`CuGiI z#+{Xge~hxm(F_K%fItq-91G?~GCnJ(%+y7sU@JtU6(VW}LAaTtGi#X^uAC%|`4rNe z(a>a&sFN0#h4JSwc^x^!F{YSDv$zw~MM!SuM97{d%_cd=HRIbvQ&@_#n^1zxt23vt z?pbn5DoSuPkR@Lh(%Lc>eV2WL(a3jqUen7PGJy6Od$@oz19=a*8Y#GD@RHlakTpVGfhD z3*`*sX0g#EX3pn5hphqQ1}anONm9}VKgw|n!2lSv{ur>tUG zG$?M$>_dy<37rfc$?>Tg97Y3muhG5)Afgi>$xDNIwt1JsXqLiw-jAU0MN-~a+cNF+ zBasx%(ftYNpv+;QmXxeem2+&p)Nu4yr6SJ<(6S|-g`KLwp#;&2s*gwjng5kGm^|^5 ztTs8%O)c&djh>63bs&8lKXU}M&Q!l8Z%JVadM*_qkP8vFQd`0H;@a2;(Xt}51}-h- ze77sD`I8?>Q5=00;o-+nu4FrfwJ(>JLZfp#$_En`8p-Md3gWTcvIX`MHYoMJ9YSb9 zbaSa&6SxK@Vs8>o+cD`-f|5}b-dYOgIVOR?XnZ0-cNhmq1{&oA6DDyqJ{e}u5(3(r z%1P-MiIPePJAM>f1c19!G07drWOq8+Gr*qh%sm1vfTbU%xJXXKHAtP`lAps(JPU_D zNQsRvd4AK59)Bp3nZGClpAMSls z?{|7O_B^-fvPDNNx_{yM3!4^xz56xY|LD4;YoD&KbuRDxb;st8+K!Jbc-4aM&)+n^ zYW|1Y4{v{wLZ|Yv!$oy+UBLrzn)i^_k7bOO$RmI)3~wm-wmH=$Tr+v zzqx)v{deou*S%1CS?wXU_tX?>UaG#l`k3k`tKL=BU-j)+{vY%FjhO?Z{Qt@*|GzkM z;$q|jWHJZA=b8`yu8MuWy)yC>&i#*Mv>#3n4V@L`YH{r}&I+TR%SR`RG2>l)k02;N zGR2ew&4mtC1PMkLc6CHr^oY9aIExQ+#`A;A$Sk?R}+E^!kw)K zeq3*+;2@30UnI;fanwTUqX-GNlXAR$^n_Agbf`n?q_*jCFxvO<5gr^m8)|6@j0_Z@h zLfT6SB6<{6%FF8kYs+ANc=5wiZuaBi2=aSU9yZ7`ZkInU(A#j3thjWXv~ZP9>NU zCV($9C+TVV5(P9~lbt}<5(?g)iofiGY=Zte5TtxX zPQ6Pi(}I*(4!gI`iet%pD_OuQr??f}TcUIs^=k;zj=n*~+K_z5&4uB$Q~CTjJgYfb zoAO8W^pEPb1O(Sh6(`}zndvp%qtWogBr4R-CWOPIgG+HLOl2V@j9`hPa|lJ|RdN~S zPLaxx<~$;a6{wce>*8=SQl>s1X$3qnjFoFAOyqY>-!1Em~PJxNGYHf7R zoJ&9@lD@!_G^Jp`hYBF>!p*_lEdOgHgXtJ0xCLFLi<6tjhS%i^h1^y+4(ZL?Lxon| z@&J+~+he5U4fL6g*4r3?ZBTPAKaI_af1`vU8)Ik^hk>!QiUe|!3EqtaBm0Y=rTXU3 zaaw*^;N29{)Obn^SC=cx6B0h0B-KmK^Wa6;31U5xp_iYIE9}noaG(Txj~?8CEAg#6 zkH9dArKA&s5?yQM&jGy{Wk(`z$!?-WF@=>ZKbA97$*4sGG#^T6QwEYT%f^M^ti3{DzSa|XqbvpmV;a$Aa1xskQ9`P5 zZoA_cr&gWETD{8|(9}(;dRG*Sf!Qo2^Lhfr07J6EP67&}Dg&G`hZxWs2vJW8u|OfQ zGUZE&4Re!?5Z)NalcZ3730c`tR#1$}4)w!Jp@=LdOIykqfjP`9ZW z&axB%g$oG?rj)SC$d7vv?-27&&b zGX1EpBL#hI=*0*DAj|StZ1Zh|A`9@>D-kuzGLUJJ2#`vQclUTZ0iemt?^Vl!^gya^ zRdRKG#q&GjATo-oTtrro^1Iqd-&MeCfV4^QDF6T4eVRsYeRycc(88fF4=x*gWMJDs z%fM&*kLmwe-#L9x_g>VySMPUw*7iKR=xvJ@FS=>r`h_odzqfm@?(cM++VvRJ|Mzr$ zrQ?i_nvM@GIC#Mw^K)TrAw_e?HY|HPP-_^Wd^X>CS=e^wY zp{B!|e%6?4e7WI04MPpL*Pl`UWZi{z3+t|{U0M57&AXuf|CZ`=t6!*kU)7;iKZ@o5 zG0)$aIVhI@KPA(>82JE{|Gz5sNzbmo-;4cL`%Aek-bv2@%L|kn+6qm}3oI*)=YZcu z5O~Qb5VmPSiDhRK-rz+9ffib_Rv2DE+e#y25DnzE^2M|`W?_`QV4LVpOAK3~#J-zA zFtfyi@Rkh)B`F(vNC>HN6K7vs5(kiexpJ^aJ+4htrk1Vr+>o!;{}LL8{CR-HvLV!w zHslY3=i;xvhrrO8NtQ~=Z^O9Rbu?)%(DxE3#sYcJ(XvGau|SwLd)6P1dExgF5Sr`i zrvnNFc*VmqCIH#>x$YD?C+BX6{eA+)@QPv>+LeV@tl1XXJRo%`ArMoT+xmdJ%cpi91DafwE?yd5{j(gew~uew;Y?II%(Uy$q!_!?3Bw0 z46{?oN_08PNyCJMVcc8%5G`H8M04B|$H25J6vm)S;PyNy`A{Ibqy_D0YEC~)P*{+W zR6voR0(j`<3Nm0&qLlt4v?^}Y9f?9}xvFnm{~OJU9=twx-(sNU|(ojgI`H#cn_#(<{hcz=hF7BxGIh&9Vz7v zcMU}HB+N`7?LF7qT4WA=ntX4 z(s~NeF`EgTe4ZA^aHnF#dk`c|8}0LG>WpZC3NWJ2Ny`-a`=AkH#2&PKcP^j!20}!V zymCeOUP@IO`F?mj*ZU1xU!U~1e7`b#)c3j7^G(9SZ%>K(_`>u$0v=_t0B!D|P4l{l zQ1mSV!E=x^3oHgk04X$_sP7OCejdfq5mu@_D77EsB&eHcVXRzG%)m(a(Kt9JY)1CHnShY~%()(x zsEGay({w6P-z7LagjKkT*pe0qN#-WE9y1dFa zf_I|2mEh1-P+vR00`|Wp{N&Mp8{yzlz_~`2FzY!dKg>*jnLU2OOohSs2rG=ZM#>Q? zg7inIkbZxH0Q!AeA74NvFe_w{X?m5i*&G!RCKY?;b^^mMPDxk>P&8$B0|m^rzk@LF zOyJ@LR-`LgwrUoJ#SO_H(6Y$+RScv6SW@XZzn0XU+*8Rauje}n0jWgFnG?W`Zp1LW?H zIcRzZawSt`$leyTmu4j^KO+QWMJt|sXvT`R!ekxP&j|oGrE)ZeV9KQKl?IO^j7Sf0 zlHa|AfnIu3!pFa`R~x#_~>=;j^yu}!m-gpz^#&@JVD-A8aG4uKFDQj?=Vd60Bu zXk|K&Rw0Yo!569(ec=Viy;4h%5_P*EOBc^vA|GHtySaW5clxf2seU`u*!~ ztXo_6MD32+>e`Ri>QPY9s8~Jm+}_+1wFJ9HdI)V4J9e3@k8kT@;DV8s8X6Uj`Pbnj*N&a$vxnl=Et|^ zr^coyA-k|?7p6;rlwXA2uJWizbRd@-D^TkH9v~Dv9uzArG-=c)K@yaSU(xy)*XIYE zoi*y+3*^jfk}>fhAz&nte@}MSf=y}^NrWkkP4*C>VBUq>1vXGk$MTzskU7kkZ^UvlnZTUyyKvKDohnMZ_ERo_QXkGg#RJZI-#WsL>td8%u1Z4rwc@40?W_I38 z#?Q`zc2C(}Y4VMLG-|@I{v9o?&sW*mz}yUhN$aIP(4Lt8`qLwy_fbMaABP*HcGgU& zTYjWa>Hqe7g256h?(5oC*0eh{AX&hUNYI2HBODA2D?8RQD>=7;VyY!bJWfbx0dW({ zwoJMR$qxg1zHng8YUuxg0Q3%)ZB^o6!7Ntp_(uZLyScXI8Y;EGj3rxTgk@w2hF1PW z7+6xtV-U6ldi$eOMH#eTGP!w&{La(uO$!c>#0L5^VWCZ++zpWcr>XN}TYkJc5tg5ySF*d9HuFmyT1_@=E#+6&4x-+qa3-7&Ak;#_-6 zVF{5nC13t`f)bJ3HTNKG+cU0gfH{c)9L6Tp2me8fV>yHRT^V)k zkZ-imTZjK7D2(RuWR7h^o+W)W4~DBGynhjhzC6RWL$mS>n83`Y=LiGy+nh#XJCRKH z(}m%+#jRWO6M7yAjDj;icD?+Y*2SM)Ir1ID(h}RTl#TeGIEqe+!gfH4BE7;D3};vI z^MrtollnOf2~oDA)||aSC?(EF$2hQJJ8n|`rLpQog29KPytNLbQ%!tX+wpjD^GgI$ z!b)=d3c}E~!!7=o2?%va6bse?rMdJvB(|fkD)}$rparX(ixJN;J+;A>?8#(R*(-#h zF9WunumW)gn8k}%q{j&=(Ab|z7HmptG>@y=ZYA3MFpKS;Dgwe|QrSJOWpqrs(Y-Gv z4Yq9qwI0+ns3sJAtvSQbc5TDgdJc+Y4WVIifMU1sGI1+pd#jnAQ>uTC>Vt zbs;KXU}ge6QpxAn5eSxj@k$ySx`0F37?c8>S1e2x%Z0XJIBz#nPZ0PDs1OhjG`J~2 zq!J?V)1zB;^C}ZG|&RvJh5tfPO|8? zjc~B&SK0E|4BSB9!uDL2Q)?#>bSM$3j+Jw63i6QVF28U(rnuvzY(gO-L9|RL%h3GS@V>kzhFv zdH#`=Qp2P%vygzWe2pg|ZNCDw37DjhDlQ_p5~exuBu&E?zQgaZ9)c+mj`iIN!m+*^ z^Y<+H_Ie2i&oU+S<9n4Dnvz=yhxO>x*y!}s$Wmk@_7NCzgA`NA_fM{X8)W-_JgCqg zhmkY^#s2d}CEr~{s8%8}1B8Z0juO!Jp;L#^k>l$#0fU5uVLIjB0ToJv{P%49$A`9l zabJCiaBxQ{SAxiz>$liK7Y$rYSV*bn1XVi{r%Xkuo*5cH9ENFma2AW>NqP=GWw zDIP)gTc7`bJLLZ#8M<(&bLiT^C4=`3j1Roh|Ka{@|80F|^!>H>L%mM#PkP3CGCdz( z*;kt#@3oq?Hxck1YZC$NhpYL4Kd0)p?=m7Ac1@?lwq5l7+_RApu|KqkzZS8H> zww}=X>y|gQ^tF7c`MBm^&AVV;?YvJnEopkFajLPg@#=;n8Xl_OR^M2EWt~&^tJPK{7M?s#yrxT1X1BDPeutjyzqVjLlUz52nR2TBYzK0;#)g z%B8o1lEkw^2(d)aH-K$#bj1gr!udIrP|)2|uJ?#WYNGLE2fms{IBXW@z^Exb zz>KIwJl75&u0r|6JrRcNETWW})$um%091F4Lu5g~YicY4DiO#Gz#ppM)d-oNX%i4e zv6Pf-2x1ZjQLK=$&K&|k`(LqPL#qNCHng-H6PM7?;#2Om&^B+pX@hEK-1+nf1&fim zV7?uu>}m)DV}6V@GkjVb`#me6g)kE1&kd*JEQBD@m(&3j9D!5vZ0uN`8o@hdI=>-5 zI&umYa0j%0306_)o9kfMp|5@7A)wV|q6UyiFjOvqP#CE)+o51&ufypBVc~>w353v~ zY+`))4){G!&hnl85M-mE}l>GL0fF_wQfWq+9 z6le{fmmA-`IX|{lA1j5ia|(LAn!xY{;Etq|wajT{FiE*-jv^$axAQO0$=U|}1!1(# z9zU8;P@R>#c1{*7|B12T<cqZ}B><#D@d%camHmiK=}<6BdmAsEg_HK5yp7fOOfsbnyDU3dp}c3u z%_5Ct@C4vyxg+&7VfRSG8O&rboVD$&VA!l?)rrVhI-XXxqW-n&GYMCW?H*n=wzF6O zh%yZmoUANHkE@xTKmZsQ3d*M|+s1-+JjO*7j>VZ0%LqtMT68QZDV>t?_3-4kAal2Gt^*;JJzL_3zK;Cit{GHJDnVDN6?!3#&yAyexN!e~t#W;KE6lM4>? zD$j#@D7503ER6kmB2Q-k6k>o+o-06SMplRcleqi8hJf@fO&!~$r74U~=6Oz`_0eqQ zMx_JHMtFf!8kI0Q$r?D7*2moL8oohF_a}EWDw1nyJ@n+1Gs>=j?BLi=g1EPiQ1B#F z-XYsHJ_&6&3F0ZX(+EVLVR3A)f_KRFSfK56!ojFL&rv&eCGv1EYc8dX^@NI?VfDpI zSN`DGTGsO!v_2|j@bIBy2Nfx0z&v(iok>u7KfBjOJ@@f-tOuratvt$4zwxPXg-`nNci|U-Od3nWC~pz7*^8sdL3ctBh-%L znM9~zII|_rB?SBw%6@cYjd*!e*wOp*Ia(i`6vYy91Q#e?sW-MAAUsH(jqDS$5_vWo zXmx$Gz;ObjXaS680i02S&?}BR4wN~ir=G#^WZ~vU0zlfPveTj8xQQZ_BfFXNu3C9Q z!J;D`hjLuYs8b+}Pa0U~5d!MIDh51=KYY|8-8?>8jqRGl}*DJUWxVp@L#D5Ad}zP{6GBt zgG19ptwWz4JaX{Y1JeV217GQ1-Ty@2yZZL)yR&ywZ(Z+|J)-BQi}H(JS$Ne#vG9TJ zT=(-`AM835>i^%=In;SW$C{2O7QA&q|AL$6pE>^-sQ+Ko{*AWRwmsYW*4DjSZ)`cM z<)6(LHxD*{bKY6={@rv@(}7KQHg0LGYy5D7-|*x5jrGsgU0k|MQI375lCBmohM4q{mR= zxbkAn$L2b&wk3}%kLl-aBOtU$c*ex>Ow*b$qm&lK1%!r&qY@kNq|R1ZRUpShE<-8h zvxzv4tZ3nJddCCn2jr9>{(Ne2dOQzq?VN#BNf}Mn8cY&|z7>b#VSA7?a^)~qn{SvR z5OhRWb4S!G*<;WFnrDn`Bj2iNT24>IfWyr+xa0|*PTWo?XjJhGh68=YQ>o{{K)(16 zT3k<(cD&G-Bn@+vDC|xGO0w=|`~NzAwi4DIOpCMbb`gwTJJIp2$~;1q^SPU_^yC%C zkJ&)!De^FlU%sy=DBS2u76bZ;r(ohbzLvD~23j5iK#GlmO~lg%fPAi;^+p1~jkl6- zJdn&Rk$H3AuM#nnH_>AFWheoC-%sU>fgEOG=j-Nul8V1EH zz~3BSRMJos69D>xr=+1ceh`;$`yW~wnFdPE#;=5F;K*4T2E|(lF33nrlT$Js0s8e( z^$&D@8U=g1ki&}r!kr~_XJ!l=rSA8wgr%>ebA)B&3`;RgO?~m(2nU&gimN1SLuQ~O z?D&!Nc0wo-b`ee`VHe?Ww);B>2{#5833P;;>XZ=f>dj-tk<}+f(W!URvY3BXyn5gp zrp`aZ*u-wWh*rnzO^HbeD8(w|CL>77$@H# zg?fE)`~&D(x;UZ|Icu23ZKQV-67q=E{RdtC%+&-O5w0jsk4;8L;R?)cUP4%C7${gl z*4!`%vP$Z?3fd?U7OH+IMsolvag}hvoWN2(*?R~LPZs5}3!pqZeTA+Q01G=V&h=gb zz*xKb)m0+W?ZQnNrJ+cLt*kk|8H~B6HpT)?XhGf$`u4APtwthLLLgk zN?XP|A*4Z66{=4Wr2gf1vsv@VElh%xNSqgSCE@7vzHTJz2*tI-X2&_qV`uGE1cfmk zp6GD1wqcA1W@zlxPsf3d&77X$(P%g87||DAe}=&H z14_He~yswxaB6Q zn-#|9FwD^lIenhc&>-gLgqsa2Gl*d#SNi+{f#EI8Z6h}uR&Wc$tYkswHE|p~ktF#E zdV$SoVY)zOOp!u|VWr~X*AfK2-`uo!Es$zS{eH{ANjGuzb_I9o}ygh!?mEPRa6jTc#2w}{-)jz zUy9@Hag=5Lch3vpRnVf+m6DJXo1n-oH*z{UuU{r4j994efuA~J;aX~!tgmnY9*=b` z=#`O@k`H6qDo?e8A2GV-v8es1mtBY_oW?)I)l{&?{0A_g))f?B*@}4 zyjwHI=UOa-zLAjdvnU$`nq8-5J-9Ze{$PX8P}#ms%OmBQyQQuT-EAgPRdvA7q*d`9 zS{z&8sf!!5z;kU852oG}UtFeAxi96~P==g7hyug8-yX|?NBaM_e7ot%q5mDq4*h&^ z(_r1;M+c4?cm(wS+xx%Vx4Q2Sz00>Lzf;pavYWb-b!ftFrRBCUkSr` zAp16g(2IS!j#DZf2!EyF;(w1;L`t}FV>+|8jDh~0>u{l}?-P!mrrqf;m}A>kLriH@#=%eYRc@J{a{5bXP>93E1b(x~sB%UgH z`NC*^ctw80*ydb`EEo)oXP@t;h4oDfT^F{e;SV3l&Lk=9KO!8gxKT`Q*U?toY|Ta8 zcvuyT>vC`9o;bkanN>>TC|9=HF5CVcMzLVhk7;4Oz?~}zn$zPZMv?0=ke?6;em#n9 z=la^Or%>YS@wr~hPYFRUI_J8EqH{2T`@cUU5Iw!db%SM-GE+CaQMNw<*^wD}&N4B3 zn8!IUKPN0b&BJw5sn5YM=3d&)#^plle# zQATqcXUP(qK#@hM3v)eiP82b-U&JwFP(`t`y;S{rT~M6V#E|c&<@FLOu9sRu1%@W` zq`!<7zpXAK^;vXPFRo`?U>l|NWXUON6_i@3xuzrwbg!q}J5K1cE_TUIOR(5Pz(MWdIYkA5D55 zzadmqYE&!~-?-6)>$Aqbj}S3M#x@4>4uyl!Ip{IT)zqMmOAgW{h3?`hE^Guq?c z_g9W>nufb^NnsQGzpO0*PruaSIx^E^gi*pXfacpNj38g|K-c56GMW#Hk7+6(>H7K& zFL%Ws2+hi9{c%4u)3S2?kf}5LkuWeBsT}+wYo2U%K|oTe-~1Cn>4hL%NmfiP1OcPj zXZbS$;Mt{q7Q3>(NUpGx#oA906rRN@lxa<+D;zBy|49jj{0}5bDX}mC;Yec@2v@j? zoAW99L>SOeQnhgM%oiDC@mHXpsxVMqp14(3_)OJr{cs1 zS(D06H^?eA4u2;Myz7;i2k;mTRhiv@Yo|O*C>U8$vMB**r=%<>bU`zbWmEn^>my%T zNec#*@Ri+Qru2X%p{o8F$6J}nDXelga4S690+)Gy{~|1WLduH<9lVX7P@*GzM1i?Tr z(ImMenT&C2@k?<4T|YTDv@5Bif@wZN8~XfJIfH477z6hTdd z62*UzEUnmOVQ8v);_3txYw6=4!|Cj-d56l$W(C;Jm;r zu0&WLN78xE9?%XeVe`PeWW`PcAz{*mn^GP$p-!E2*~`kpcphkOBn(XO^NZTcrq)!0 zp*%${eb6R?z|NA~TJy5zoh4yT^2?e>C}>S_zuL?C6;yx0EPlbsEV#D*|B7EWJv1~m zv|#A^!KH%_4xBUaum1P;i~fiECi)usKG-|bduPw4o|hM0vgnXSKU%nX;Y;0@fcpOr zx;AvZ(s@~D*!hEwvpb$!@a_e}3vQXe4yym((mv9Ddt0%suI;MUqgx+p+1T<*^Shh( zY5oD^|NqtWk*2We{>DOMSL5d!mNqc3ZaR$W!y<+VZWy)~O_+G@T~y`=hY zRhLu^Rox!T|6`uNF>_dy|6dX5|8L0DFGfB9<^MaXDBu6l{q~Oij{ZFUEBUOO=_%;@ zJ$uk!+eCH+#_K6nErg_3nf9_3s7%8oZl<>q5QaB+?WdOw%~QEBN&mUp2o6mfZq|B| zy_sGD0ERQ|opwUd*GYO-CGu1-3nF5PEckpv((}bU3xXo$tBm9@CZ4~5mewm@d6rC= zn8>HY43){%K{)6!D`&9f8hOl~1v!>P)2 zV782;ElXq{y5g88WX@7@W}X!(R2g&|gBeMFS2tl;APIZ2QjqOg;>=uO)9`xuKYer- zMrfHE3u$SQSpz@3vMD8T6AGDz;r*JLnl8-LvK|KS#0-CT&$p;#06mL$oLEF~$WBz@ zDk=!|fWxV=WP1n>N$}iJ^KA2)P?)0zRC@^tZD!@Pu~X6^JXGWk4lt-p)%svkv|r;9DcB%; zB2otuDn?j%`rdO=D8j&?xhmxjA`pH0&~tzjo;rO9qrsPn*Gs;N05G1zo9%dxVY(G2 z%=x_?Oo$~e3pa~>M7EBBWZ3rn`1lyvK#;N0(%w8b%LS|sAt1C#l+(gB@AB)p7B49} zlyJ}@QO;J^PDjx6fN;srqQhu)yz-PNfmFFPzw&@{sR@H;<7jf@Du+=e!k3=wChcr1 z4kK-OUs8>v575Pio?r`&_!q}H(pFpJ_WPzBeAS#CM3KPF$!q!ouXRS1A-VTNpWaPZ=AKhV4I6k$$@kHO zfu^tG$a}__7taHWU^`T#juxk&P;V7xsE#2dqzx)p4V(gov_a2Ttbip1qt8`(epDf4 zkgJ3lb6PmZ5+oM0D>jvHS1PaJ$-dvpce#`h_5DUX-!U&fhe_}jCE}yU5fCx}l!xZK zL;+6E0PuV_UYc@z1QX@|@EhdWUeEU`{{|DJj1%Y+;a8`;@X+(yxK)eitCis=#*uV{ zd@o{XmiNJZp-WnwM9ZU)k#Yq2kY12t8dCk~xcrX%t{DYJz189C8rv)*5RAkt7la>H zlC$!|IA8W;LctqOvD^ieRh6f%d9tN9BNfD5xaEX{*PZf}2`~?g=p~-8Sn^^8fgnLs zx$OkhVN^mc_kpkI$4)cQiZ=#Jdahho?aQv6SIYrW+D(UFJ4u;ns896 zWmep2R{z%%aIb@ATR}E0K0&$#sV+BxoQqQa`x=79_@0tS7N8YtkhT&&PrRQJhmbp- z^E*6A!Auc#1071Hxqm7xjVGky7K)(a6H;(J{I!Ipui5tmWD|0QnRL(GC7Upo1tHea z^2m?J;56yKcmXIoq~*uM;P_o~8ZC~8370aU^Ff4vXoleW5ZK*tfz^;Ihcysy3@sUYeDLjqiw18RICJ3l{k!`Q>c6e;wSE8WeNXR!y?6JV+w-qQ z?^(3pqOUDHX5oX~#qQ?r&vqTzbzkS!&W_HjI$qsz--6dKSh(Pt`Ag>C-(G0Xv|rVB zc-zlgU)TEImXEgV({e-eNzISWo0``$?`lv0_+8_!#@5EG8%}I^q<*4)e*I_bMBQDr zTWgzYFRQU?epp?ouC2bR%1P+|W1hb;la2EKE2I4XA(?P7@&PdazW}oRO|j&D-J9=e ziTzglOPT*)PtOtKqMXa-1x_V#(ZDIm%szu4@kZb@O0QB{D@^2XkNk{h5@3lO1M~+s z%rOK?a^@^T(Mzv+Kvu1!0u<)4Zbh#ls1o*WASy80f=I?Ut~&Z!0>YC?u?_>EU!*^o zO4q%dO-LnfZ=kxCy1k)mIFB2iL+fFECg*~Ckv!)v2t7fFwTvwoW|b0v*U|d=vSlxv zQJz?nn*b_AzRaZ%0{=bPR_0tnKo*u_1%|e~bVkP}M~lNtq3nGV*##xz#359}BqgD8 zgo8mM#SjQVQEOsyYIr%w2Bzsq=7ml&G`N8v^itwp2%I&uBwv_N;vOZ05)lEQrk*OXtEY7RDVTAgnm##Rh(MrZ?z{ z+ywB4N~lu6DD78t{()7Qdh7syct#d~aKFh1*6QX7=#>hxWy8Rf-84Q84VovUldxpt zRuFvyiGkcy5xU+o1qqlK_nWrR=g^lJ`B}$^Fa_h;eKk%Hn2O@@3_oiw$qREdx%jOF zg@p{9ALD1CfHg%S1B}xrtP6yoXXE)5@mA%m{5UiKn8=SDcf5?>Ruu^eZvYPY5v1=_M&e&=0ChzzY-5M zZ6{29F3q=qe^ss?0|qe-iygGCKE>fnCZ;ia1ZHun+D<~kZLgfi&;`6G&)o|kakC~r z0UtjWs3~QT`4%_scg+GFm_bcQ_1#LZpy^w{x>DlhyJsP!zQ{?L*D7gl-wKR1dtnZ% z&3-+>pjao5FZx!*x`Nb5PBuj=ql5#aHJ{}T1fnk@^6f0|tg6q{!oZ~2`bJtB4-@6* zx6OCCZ6!h8L?BFLX=M%~Kvvd=KHsp<4S2mUgI&NE5(sV+?o0T#Q$davW+fSFZzdcJ z%W>MRZ@ZO-leVG!zHe(Q)!srt7%5k7Vo=pIi97lQHPS%`g>pO~W?mGzx95HA*t{5)=FI`C=bS0CvUglkdh>7RX z%qeKN&qzS~=A28I5>GT-L=Z@(Q(j`nF(A|Vj;8wJV#2^TL3xQCw}LmpapNA#yE%yZ z8hDj}cszk|2?3!2&V$^(CyMl;(CUL?*!>3 z*I=+N2m4+EDdBuc(aAK<*9?hL`HtR42)DeZ zBoKT!%64&G^GKO5)hjhU7cV0;RIK29Ltko5PC;9`+;m}b6iVyIB0bHy+V8>?E!Kw! zORw(eyOqWEVIF@}AD+cJ5K6G5S{9F7`>p|(3I?-Mn2*e^KaxSmk_)Q(?u>-~+;Jns)+vOv^LtX%I@?`<*R(pDb;Y~lZ1vAlyZCml@hdLD=d-pC9RT`tz1EnCEh>J zGkpKN1Xt=)1b`LHidE?OGeQCeQrf;(Ld2@7F>@s$;xkjuIM3K8@Jb{Bt|BaSq?Iee z3)1oUeJ?2WT6~&7kd3a~-(E-ry7X*x-;1-XGnsiZ;hlZmym^u@Ab+jR|HI#p9P`tm z^N0RBc*)?a2ER3M^1xsF-_qaGe{J8Xeb4s3qqnd3I?(_B%c5PN|9}0$lNLVJ{l@OD z?k{yM@A`A+_RiMM&vdNncyhrz77Q-<;`|flKid9=_PyF~YCEm%+186%7q{NovbN>< z<_|R=)_n84bLYL(bZJwz>5j$?jn6lHtifvdWqrQ>>AJVn9Z+{i?S|SHYCcjE)cm>n zP1W7i*Hj%>bziLhAM^Z;87r3mKP)2_BOd_s|J{)PUn4*0%s;L7-{H*uy3~JVZv1L` zASG@#KU`Ore#fYk)UlK`J10F0z?#S|aZ zKF!(gFbiVLb6-TC=g`XD@!g7`r8;;bLi`0nLTPj*itdA*WF(F5`<|jSbPd6vy*SO% zoxWc|;hLNT98XY#KYn8rEm<}hm4dE`k}8>N3AEG;FDjyG_`X7)xQ?)pB%p-Dd}x3y zFF_qiV8;JnvT-96mrTk?pyZ^^!RNd_4kuj})#*ZR`}EYvs?(yPg)hMrec`W#%r^wbPn@0_djhJkW<1w& zsRW_&({CU!q@^kLv22H42~pV>Y8Q}i5E?Qd6!w5f#endIw#Df;Y55X)F%edBR|utr z*|!J@^B2my4&+tC{6(OxX1kG)N<5%So1y!G>WY1v(C`~n-o3!CK%dNqp6F^q?mHYz zdG~@!is1cOWzl5++nWdtk0<323|!MpLjXoZVQi|n0d!@LjSljg2?aN=5~U5i$~JG{ zB~*;ROF($0D^3#ViW--&_yK5=D-xi$5Ed%rtm7t2P);Gomo&?`bmgtICfck@Ts|;r zeC7wLqTp?Wp_j(>gY*n`7|Th7-=p=hAXj;%Ldm)^(RTI2EDw!+pHT3&qbhBIxGg*4zcd(5P|aOboM}L8I?<{v*OdD?>>sg}}flPmA?+;-UA@;^+zR z_f}*LJOMd4{x$uWR@c8-B5N7GSulgMdVWGE7!2petjMNeS;45X?)y&(3ZvJYnJBU{ z{%R1th6#zU>}Q0aPs59B1<6;K#1!LyPB^$p_+c-yvO2Be`KGvZ69ob(qNCuU`-tehAKt5TIWPUsbt)J`9`F^}nBRFs{lE z6_Kqdt_stXIQuUNOMe;*s}i{@n8hV*9v~z;BioU2%Sc#o25bhh%2Yl-u63fJhc-FU zFkJaGzak8@jCj^cSW%fps@gsnt5k|SNC5hLn?T`9rDvt={~iC?Ijj01S{ON%Jdr2T za4KOCzXX3x3!~YiytJ02Rpkqig^FUSX})<+Eq8dBaPYiR4qwYRr}GF)Q(5sFg2GL& z><_C#=U%|Xq`u1|goS&am%R!rfauTo@X5Iih6ra<3o&3U=;-JA1c zTlEKB2nG=yr7m6VrwIk= zZ^|*_fHGAI`kQbhulfRNXYp5B8J!^>OB0T3>I^~KZ?$Xc-v}tsTU-w8{ivB?ad_?6 z)@@MNhF_UpyiI^+rL0daOpd`Rwk$fuo*@ikAO1U=|K~aI zTKI!)@b@E``-X}`^+VSUo-p{wfp-p!4BXhiy#MjO$-dUUD|(ObeY|I9Pg~E|7M-~0 z;e}HR`xkz%JJlfGGP`A47@3rr* zJ-GJfnp0{XuAZ)Lu6|$DVO96U^8c9UZ_LUDAutPrfV)EoN)HllHb@rX<y-%N^3^2?_PTc(O~l9?_T5>wm#C=0v=3V5VxO{1?4O#ffkuxqroL+?Mnj zU0*qWU!)JA7qJqqsGyP!X2r>xFA<7fa9OxP1;QdQOOuv)nZVEtS6{ZUB2tG?)I0x6 zP)J(gBntsO&+{NLwq`Rl$Q|1@nQohU*?6hOD-s0zec;rwte8v`*vhmuHvh`XD@;$$nMQq9vT*bSj;~b9k<)nwCbX5KfX6o?A*P z1paEyI9d&@jVf}AA?kSsDsqBLa@NxN__Zi*wdbc1J`kQ?HsD-GSg0Vtvt_~)l_?0w ziK^{bPk8tqDdsOUI-k3HhyX=SO?!<7S{XykQuC(v5D#kWiAB_m*aQ9=1+y+L3 zuL*p%6IhABr(bEd!{^Nr=Mxs%EXo1k%VbBn>QVutSTu40t&HIZ>>~(SgRnmSp|d; zHm_9eCJ-zmRY6S3NQIQ%RCqQE2?Xoal-#n2bhXpfs|n#I!a<8@b@UAt3j+F{LmV|P zS;Q;y8^%CftAw{JJZAXx#MhSkL(1+JKx$6oj3oGaUA(7s5qbzm*!PS`gDPntm+?%D1ndL5f;<}V8z;u5#wIrpLsolw>juy+ zKXz#p!COp#$oxL?h{9n z&s&LR2g1DmT?D{V-btbk`*IXz#|J?rD4@BY6jR!dfY8}hw@C&4Iz#>9pbH(_3>hzIaJ1HVimv>M&X!_s^SoKq?GV?4K$9{(%aHGKF?o!q+ze z39_;#(kKo9Q#59-MMy|K;(kYvwW4G>%%1=rkFKD7YTr|2#?2r zqYE>ZBpbtd1cJF-ZYTsPbtGXNOLqITG(L3hAq3FEJU0$D-?9y0*I+2C^h2M!O`jkz zbfoxJ4YDG=@COV|nw|kIk1f{+@LmgA-a9SSk zHcprhtklUp7@CX$96^igTmA$V_ybXLJvY2^bQ#3zbL9e=Fom0kM-mK%eE3}xSRevD z3evD+x#1;~n|H{FYpMhSOiVuhR}+*z${$$3cmM_yY{r#E@TZG*jv2VGe`kMZ|22Kb^gYr$)%(w$%X;jd zI~Se3=-GuISh&x^uXiu+eynSES6A0HovS;a>$t3A-;SFWtXuH+`R|%PH2*8@r?vmP z?b5bG+U{ySueHAQx|U;F?rWZG?rQ$}yi?{q-Zb7+*K}>;5sg1>C^mF9e5-!6{<*sM z*X>_-W9{17|J1yvX5X3{t52)`d)1{?Vb$%i{6FUT8#7KU|GzkM{9@z-Q2zggSeE~e zCx6%-`>pnuGMjxgea(27@^o{6t;`MjL&1z>fzvUBfd?KBw*;2Kfd@^?H;)xZR^w%` zgs;u5oxqATa#PWFVXP*|ax6ih?1yr(SVF(0nX) z3!^})YsLysj-%!ET>}C;YaYUZN!)uso`CQW=moXZIYRTb1vF{6^NQ&mtRM1h@*d#s@4F}=K+ zc^?6EBriePhQH$O>`Gd$gtdyT$5m@}uaY(&%qSMXH-uVSOzN#75MbRk>w>pwF8mNWU@|4nsWTWS!;v(kB!*6`%%V7w zXEKmJT^2f_p>OOcsmrq%#4QO@fnuOI(YF1lr8#YKa)5*UFvJ4_#T7EmqF;gQg4%CfWmd8sAq$+XN+Exj@vws0q8a< z5j8h7cv0hI#ir`P+Rpm$=1uXZP+Xsj}t zUS%-!9H!~!R~f`KsdVXlM#?y=Jl8Df34-Eu(DTA%&~q09(TAga{$5;jo%h4>ymV}8 zH?ObHxQ3pej}n1_$&71_7p9D>%q|T*QF%GEeSGQy5N5LiL|%~GMlRq*vmS6*>;Z?8 z(X)qlf0n z4X0ayD>~g{45+WQ3w^sltsQ3R{MtIBQ65h@yNGaT)G9CZr7m{+7=?@!#Ut_Iq>t5y zw$?|+1^c0aigpOO##waME@YxPy?Js0OXz#K-aH>Rf3nfUIA2GGCE>@a_W7a!zAy79 zCwP6z=gTt9p&yvbfMe3E%55fa%*OrMJwf+`u6sBHjAwfvQgVL%?}eIPhtE$pV2Zl*1#+Dj69tobupt+IfPGU6+X_RuNc%+$q*s0og^Xfe)*l8-uG@=w{fu)d z%&)`}hF~eAx73&L`WYcUuofHB(?h{+OcU~6$}8*nkRjv|4epH6=;~z*kdZkKXUeig z<`^;P9GT-#>38#ThRFzsg=lkS(h4{X<*t^cS1<@2)Cc5~4b7`1Dpan6It*s}7+=Y- zWR<9&Nm#%t2}8MQ(5o1TPHwqNKo~}abT7rc`qU)oxHDe-HuB;xV?=$mU*t-9cJ_7N)UmsxrQ@n4-jZ)Fe(vIbwO`&|Zoh3&ZBgr@Pb@rj z;qTgB(e{M4n_8dU`nQ%>w>+igYYTQSczFI5^Pe>TrsnbH?&gop+cfWYb1$8{V(w?> zoI2;hrk6AgrSkuj=Wi*wiTr<4Y3C{@{+aUsuZ8}9eXKstSep zq++RF!K)LCQ?ZMSvpB;j+3rKU$5%3%73)~Y+k1ot-XeXsc6{m(dlcE#lNhgkh&0R1CAg}DVg7I zWf*;GGAg@yQH2A+53jPld;G=P@gcmP?**|L{Owm z$ymROVf0OfqjF^2R2Xxli2J)4M!zFQRyhyp2gBA@Mr-HS$H!3Ew3dPfSMlQd&{ZTD zn#Q-vn!WGedl;4cM2Z7*{dZ)c3yqPVh#5NS#(NowNELD%II9-o@ap0R~QwaOW~hC%gFm&nd9)_}2V#`jdl zCQwGWW@~(eevH>A!%X=`ZBct+V3>j1sC=UzXB7HIa@}#yM@7N7xT-!Jdw`j;6>y#P^e9l&M`a< z@D&Eo7Yav?sMX3Vp|u3WD9HC~yvsm*e1!S%CZ(UI%JwmAf)is3cS zip`;$d9@6q72Un-sCOOOSedLHw)PwFAR{-B+~lt_4k;!nAGaIkR!oXqwWHK6GJs4- zi_q;muOt)3%0)!q;Pr`Ssl2RS*-Y~-^2)O%h`z~yRLUyXP(+?ptdvzuM9g5kGEyI2 zOVthEVla|?laoY|Cyw)jFj%YOLnl?Is^htgd@ob8<=c#?XDUXX8T%RIg^jH2GT&h! z%I{q)e=nX}B)=EM%*fe8UEgJFebb=GGi^tO8L}&IYZ7G>x)sQg?Z|^(eW7j5OZ25Y zgJO{1V>B|@6*t!l3Q%VwbPi9^!oJTq#K}=yDD?l%&&i2AMcU~$M$ofKBG0705u@c| zs~<1|c^t~F=R@KpugBq+6_@6A2B74w65sHxLdo68w+<(l&ZJ;u3QKr1a_%fD#G%A2 zZDQlj|3hi)!KMPU*{hAF#$^1Gk?PC&v^fmx8(-~nvF)j z?EU|gfietCKg@IQ@oj4YSpSz?eNE{MytDFUfCasCcfP8H2s(|)8l=0Ds|$NlN%91U z{KIAvaT~PE&UgetIbkZbEnM~S!P5qRxANsHk6wA_iVIf!clqm=AG7?{feQxa3|zVF zm}S@YZ|MKY(hHV8-1oM=uWcIXuoMuWzmBRU$Sud!cVrH()R1tm$a^Iy`g1u%e@Q67IZH7 z==`lgx1O+OT>{ehNsDLJ=BujWV!;sysgfY=I+dMNAxT#nCmq`>| zH-;!c9&=>;{-Kl5Qlq-Fp*#r2%V*@T7=y_2iaim;^lu}wd=!X0XsYh@o+OUQH>l4( zFyM|xL7<$*zh($Mqc4i}C2I|ec4<`Vm;Vi~tk*=3f~bL(HAYARbocV2`o3yWn5@&B znq-q7hl^GN7Bhr(ns&Q?%Q)m*C?|PXL{B;jEh(1#I|kD0s77FHR*|_v3HhN5r)t&l zk&OBtF%TY7ZKN`M(#F_PzK_?|w_1q8L=9Jdm1Inla`C@sBr+S6$bJZWq_K!i6uLUX z-2J?~UhX*x^*tj_ukOPsRz;z|K2RKLa+QBzFxsZnNAH6SY}lP3f(E7Zbw9vBbkk&g ztOzX5JOqXi^3!Sk?FV^jDs@vfj!?K3wVb7Hk)|E?9~mO+w~zAu_KFMgCtfLEiXtnk0^}japahEI-hf+Gx*#TXMYKHX-y+~{*5XT!njqIm?$SW(mUzG1dj)HAM zWO;Ju?&<+()owdA-p2pQ%TvojxyCVy@G%>;EW`{Qx8+}qlyMkEQO?5%-L5aHqj%=6 z;j_+(uj1eG+ET>FDwoT-))oUBzDW-=nl{sbMNGQkiQ$Ub{2#_3ww4s_#3b94ttI9N zYedl{`7eV})I`cTW1>?eY9i)IPwEkdq8O7D0m2kFztt&5O8}2DfcEIX6feioA%@BE zi~sS`;&(qo4)|b>LA8|_J!{3}V+^MamSO=BSiB!0jgj&C&`IOfi^d^HENX``%uz8z zHWW%vKHOc1US`QZ!yJSab63rZ;kvKCiD78>l_E5lmz!%K#>(l4IlMlV6G}#jRTfRJ zbC(l};c^0dE&ryI^^n2fLAGWz;0`RiZ60QB`sasaq`IOq+11u;zNMBc({ z$Bsgi`do_ig#nhIDR0-xm=yj|Uu&cZa)p0@6X^V(HipR9Fs(4xhG{8<*b8}S`t2p# z1-}vsEc5>MN)PNsynM#7WeXi>YJAGZc9Zl1c`qK%k*PY*P$Ms$?wYMJYUT zRyrJu@v$}k$FZSp^}Wb7Yi&jvmC)x}!pl-@WSg?AGka_VOCrFQSh9ncq<2Kwy+vc| zhPp{uH|7Q^@%2t#Ut8FSiJnnmqnIG)bh{XY=sL=`Bp8A@qu()r;xlzK1Qnl1)--0B zS4)dY%4XEVNZLdfCe4VR8Z|Z-^W=lCm$3xzbwutpk2&B872~~%xk=JlUlL11C6zbL z!8e_^qTMPx<#fT;QeI!%=Ls{=gb^hju%{|xd#baj8z7N1F)?I`8B)1RKZ9t4_Lzc# zft>puI$x)2Q4=>)|#bc#qP0M1Qz>|M?< zWEChMreo055v!{`tyeIFHnfXLzFAeQIJSiyl@9H$WE?6Lk>Y#6!Fg>`Dk5fRs`myN zh`xWtKXk$(`XhjYM54&y)F&ZdN->C43`Pf)6gt5qK@@DzI4&L~xSHuEA4AE-MNUPz z61QxUQ?bf!In$n6&0s_#l5+N#oSQ^+VNx|Xo~WD$k7GE>IGB{^iy3m^=rE&@ z&8B>`Zl3C4EFGRz0pW3M7u=@dvxxh0Brl$E27z6OzFy-aL)*qK0!NN-Rc36$RXRQ# z|F6Nf54wZjU3u=xf2_EC#o&rhE(PV_U}qOJ2ETc*#wR&t3dr`x{aJ zf6Jn?7yW(V%NHKC@W!@E+k&=_wmPkMwT!j2wS0QPnG60l|E=?%I{$0UJDVS#_pW*F zyj$lUn7b1B|E+WW)bz@x)lJtY^8b|QZz=hS`v0Y+O{<6x!1@216IuS|<4%8K;z#Wt zMgIRNzR}u-7giZUlleH>VrW`a@X5S5rT>*+9ONZ)SLI-ROH$`MngO(&e@ux(8Trf2 z#0<@G_!I`BDkf#qLpy7ODki`3hqR>GLrJx{vUz=?%u0+% zTt#S7UMj|?IhPJ2Xw$Wr5gDgz#UyNkDLFZpfoQXqxKmacQj?9-wPIMxarby#s*O~> zaNnpl5&+0mB)Sm#Nr1Jbv*ccfm;m9}-H2dJR;!~qP644Hsc2OMNfcotDlU)jn3Q

    Tb{WG?O1U|x5AxzE2Gh4lGPX-%P;zv;^2VN>i%tvsCO3} zt3Y2&Op<)MwSoD?cffYc5M9MTspiCcctNT|l-)GP&R2(s zabk7lo4B0;X#Z00i3rS_5OW>dOQs^;%LwFYDqn-0t4zVM{VXr$eGH-340F)y+Mu=> z!_&s_`xziA3A&MDY1v@`@pMNKZTtWO>C2j(;$5#XRZg*dkl`qBrtJ7mIe*~Hab|9D z^C3nf`%dQNJC3z!WbBelYD4R4;G^4X2;J5CkI;xZytE+ z!1tE#U%q(x-TmA9A6s_QvSXLsw{-i`NBdsbx4iFTOHNzz>%~_uK4$UP7L6=wUUXBh z(|gat?F;|fb6wAH&j%N*U+_@(zV4>(8|K^dztL6e`fuk=oo?q>=RFJR|F?8Jwc~-g z<8wRb-qyaV{h_v(wGFp@bI!<|wmENUJ*oAFE&Ez}THZN(I1jK&?74nj54iOFq4A2_V(%UCSwnOl9_15@j|2P9t>5icWp>;Ly^eJXPLROe{(0}=tZ6# z*DX{pi+OT#^Df3B_g@LnxSp{Juj6VfHa^E#dMR$l^-mqCO+wdl1fqXvTe^D$M|1;H z4<^Z8=;s-TUN>cPcY{2opbn^=6{t~;?wqKN4xdd$_+OA0mlN4eK3*q=B|pQvd0Das zlx^5863BGiNOH%%$UxM`MX{kh^zYg=I<#e?THT%F{(I##8T}px$T-{$4XahAzej_($6oP9(ylB)L)Fb-v_ zWO9)MQle3|%J-6T0uS=~Zs`mt_bb6lALJ#$N;`XGH^TXNw;&o?8J!r)_fdkFI5M^q zN~4wGdfxdvjHs`ibNnD5mk$GB&K`my@9?VgV#nmWyf$SgM`+S#v#!!WqS(TBBEaoR3_7J>Q5L+ zU$E#vIWjM45M#CB?VmCT)xaxWXOLfW+6nZWgohY}u0-)VgZ!nJP7vrwJwIcNjPE*b zt=;gu4#M;<{&QY8!&DEVB7wU=Hr0Q@Ku+o8(z%MNs1ugg)W*gqhSu$_jgRN3NW=tr zXZTn43=>SqxW_WjVmWgHIRLTm(`cYI1vgn8qXqnZMaVzQBvMSqmx=;czvS;bm#I}lcs z3$6adSbDy=6B*GEA{g=Mu<4%}fgZOK#}ZAob2y1n%sEIGWc-B}&mhf2eol*8@D9_Z ziGStA$@Eg6Lr|c@pA*HRY3U338)MNasrb85Xn0CSP(V%kQ-5a&x*WyAiwartQ6$F& z{=rCe*vLr|S7;s`!P zZaFRs)al`a|05B8Fj$w5DV;Rktw`TX){R+(=FdZ0CEUblZ|XUz=cfyvvtaRp_jI4s{pShuKg!%&uv@O_Nh7N&3Ux-#@45`e!FE?%VV=&J^RSnUu(X&xuyBmS*vH= z-*j=)lBUlj>i;Rv-&T4_qW-_Xv~~sY0Vw}JgxtTE$nZBgSN0_SsQsr1CU)Po4Kxq;))_6QcO(yqb&?Y9+2$8xt4(kguyyZ{#FK|H&Tv_ zx|V2)(@@R?!{pu;;(5&B<@ID3*YXNz8DN&|@3t`##YUA~-13cLqpqdZOK4{tN><4U zJ=ZEwjfF{aFY>tzMCoGLIB~6T?RaGygl2XKCl1}4YPrI&n3pz#Iv9zHJ=KpU%3JK| zT9IJjrA@hc0)X`2DJmozysiy#Dd+`LSh>LwE<`8s0Z%Ejck)k9^#RIHZ=;ktzd)L6 zOGZx@1CY`4Jc*p++L=aALls2Ko$Nd_^#vme_VwTw873Ec2cI_Fftrjtu zTRNe%MWGD4`2{7#P*vAz@kynodIw6q@Un{z+9vw?7@rniUc%Qv`?7MwoB~DIuA|kH z?PD-K<;8VuP+s<#QC=`fKGl{o5Jhq2IG*b`rf;`1V_&^xj7SE7;yXCG8b!E{n>J?> zmqIU@oV;|MSR4gT6(~a0DTQ3UZ{>K38@HT)aI(yl4F^2LLdC_d<0o@l0}Mn5v-(U> zcR7a8{g7E3BiE_tJLIC$K}OW8|G7?RX4^Pu$XP=wcDe`23WlJ9CFK-#4BKnEXs(U^ zi^FS)Uo~`c!mAS%#)^IBmd!~%u3MI>h*ruMqFBwYVda(UqQ)W}!8?pWsGdNv&EkI9 zCiMiaYwMJ&pTJ1;T-3`kRF-zpmK%AKk)4&%;SJOr=5PifZ7Dgd=b~S>VPy)Yq|=aR zo)u^1pU7CWqsgThu3#A&QEV|I$zpgCBM`k-y&B)VYRGlt{t@D6+q)MnB(}s?a|B}% zaa*Q@yKc~cxQ!9yYNmDBhIwUr@G>dRb%h#(K?NZusHHbYG7QQ7s-I<4-^>hTe_dDZ zAo1jrnxfW~g`SXvU$|Fv|HQnrP>4 z4dZ%9btHq)$ME{}D#?08uIDs*l{{2krwKO4@~V^$kSW@(=jQ7Jgn?;`>nX{l*Ox9- zcXYw|D{>BcsqeWg<0zJ$=NH8BmFjtm!RS4e%Yt1mIPGBEm0N65nN7bjOj9di^Xf!h zP@>sh9!iqyWhX8j8A9>3V`?FY|LZGb$cSguWV;?BnfodbVXRHSO4vx-oy&`pIKOfl z`DGJve%Fs1xTVVrJqDrZwanXceN+`RlFrAV4Yg5_(<;LoDER90y5xf>ZkrD^_#I;p z51j&LW_5do;t<&cN*7v(;3JRLM#hKNu8+@yAc-Mz3Ch{y3k4-(uh)+~`E*nzWGs4B zm6yqP^P~}7KT|j*NbNA5PJqTm`|E$9a9Ge4_EmQ8s<9tG zosUs73_enrY4X7F3`7YfS$@Iw0|PlQjMkmrPi2%0k2>Za9?a$JV5sU*KaCOeRV%I^ znJe~Sk`%{zI^$$~jRCj`4RcANQ#Mi|J1WDc(3f%ouS<5IVnPR&sb?Elx)Ap>7>P=W zlrm8MP6w}qIYZxhG%gm#oINkrt z4a+)O=UPUg_f2tlLSe_F3aGLVHyR{^eA$i=5=jRt3G675@`l#5_HZ z-O$!cfURQ$H)n=ywBvo=&TYC@+o9342yF%X)HAiH5& z4`~xaP-IX^4u=I(cB0+$ba8_=`%QoOz96~Z=!E*-v{IR{}(J?y7+yI)-U>L?{j+(@4aK;wuO)Pys5|S`O1Pz7xXXq zRQHzde}Vz! zk#p{DJ)`wEEtj`gEgzn}W%l2iU(O|G zrc&Pu;sbF0|0Rj*oZPS^p$3rnhs1A1)@d_80ormECtWB^qU;l)xeYZChB7LW-B7O) za|W+ZL1tM>!i^Bd5J}m}P+akY49$4HeF{pHG8J))jHY-KqM3CuG)t-<-O5;W=Txj* zRBkt>aL(Mg?o7s_pp&w7MQCgvM-EJaPD!;%>i2mT0}=f|*@`2#0HxoJ+|-$Jb`nM# z+m5^f>7YoYI+KO6=P(Wx1Sv;;1gQmsntnH{ANIM7M3rENUFRhS z#Dhg8XDYL?oiQlICEGGyIo<(~;{?;8Hj$%x1T#cfT~X)S!BF&Aq0nb8#_x{Sr$nYAK-XBl#uKxkA~OAunmrxxyo1$#m#C1TV?$+N(d8XbqHypDqX zdl-b06>`eX6K$}CxiMoV0i$9X`JO$M;nUZ}KKN*IJyVQhJ68dx zXV*(QrUAB4?@KsaP_d7@_*P*}qxeZ=n&!|6HUo@kkEsvw3*a?SE{l0dprB@Zf* z=3#QoN*`j+P2vbrt?ZzCj&0Zq1V_Cli}gGP%CIlMR{S6A3rA9Fc|PM2SzOLDc#e^n zJcet7jh8Wwp0?#Vo*8=w6J$Z*%Nc}rZRLaj7=V%j$_eY1jgtbNThFA( z``?v}rmvdxT+1NIjnN9-_9}*;=)D|^^5WjwrWN3rB~t@l%t-ngBF}XS)DU5oY(l&w zi6j_JiqGp7^b%ZGYRULghN2@wrXhH)N7);brcRiYs*SmtQ7C>R=R7JJ@&c2l<>Y1J!Bq`S~XAlZTsCP^7rcC&@o*T;h={1a^ zZ|3B=k%_J4q7*948@`qi^rQzbZo+L+tb!RjyYUr_Ld;5G3`*;f>!s&sJ3^u4hD&9#+g04_VU*Bk5t!L+U|RZh0jGWo$v7TVxCJT)A}n zRg9EjN_qwQ&U$e(>XeAes~L!15V?xM^ZpmDH_VoN@}}1?BJov}kJ!s!HsyI4wGyvo z6v|dBQ40^GiyYZ%&y&g|U&kwx3G__aLh*9t7CkRgXs0(M*Irk8cIkk;wl5T5KsiNG z-k$2nSY?{@HdLo6Y71pN5G+OGy8Rgi>91#8G8AMsgy+|{iF}b5kS-BNPPSRSaSGwc z65TZ=xa&iwwXxWV=i71|<_%Lz4`XQ&YEyh;A6Wz3G~Bf_YLmOG5NVi69KsXa%tU4B zP096zx22c^zFR=B!Sj(l6y3eYtJUGH8;>lN?(aD8$@@FnZoR)F#IHX5@@n5Yc)-5D z<4*kj5dJLE+~xY;i{C%KwMG1A`hT1O?$++>=Uel?)pdSXOV{fyp;@wVc-S@a&h&K5X`F%};NBa8_+r>#Q4_j%~U#k^iSWe_QG5 zME(D=(rGJ*55W2VA5C9fsr10*XDvY_I`}&vF(zdvPQ1lnwHBUY`tZ^~s>icmCjJ;OgUZ?_eBq z9~3)L=xZ9aFY~lC*4r3JU-a%3qOoF@RId3>1|sWC?#k%}{|i3@vvt|WcQGox4@#6I zKuuci_aRhB4ew@v3?2X^IE_dRfvy_;Jq$zT+sY{smQUU>336r)))mT;cZ^loJ;sh! z*(vxGlAMtjYKmEIXDGU5%Bv@2IP>1J(8?4nd@lo04X5IVhqh@Arx!|+H1A^&+H;f_ zAat_!oT~PgIqCfG`x$^3PRfoG3h`W2fs9Qa;zu%V3~L^Wn+zm;fY;CPdct@oD5!Al zL5WkUt^FV)5)nwfBKo-Vv}5x^r76aTczwN2ss{m0{7gDYF5Nq<=+JyP37``N_riLz zcIHUJWMyJxpW5{gvt^gzBaBES2PIY-CYbGb-*SqSc%iPQ?W2r#LP_*7R31=NK5yH> z@k7;1@QC0?jUB3vj#T%LY(J#e?)TCvoFC)$^|EhXWEJruBGGLF`eNHq;C5o1R{uC7 zkrAgHr?DvK#T5`<*0SOR)URV@1BSa7fwDD&tNKYs z%`j2H7T5$=h6^C~VcQo^*KVIV!_))URb zO)0mSB!@UZ%RnSpw4ol!SXozo_aNJu(e*<7Q;H6B2QNn1Y4u4&g|pL9lqB)p$x!-E z1b!L)b4F3Lfk5BR$=w%ami}U(RC#(AuT2}8OmFnd3C|$^hK6a$OZXha&=(>H*!;3x zz|q01WUbrh8HHllGWpPlBBw^cVb9K?EXxTq(mJDGNMeZmy==_*W!L<(z@+4b+?@mw zNp9JJ^2?@56qu3f2lPdT&s ztPKhOBz?;F@oMBs%6S!E^yxOrL}A8^2j5p1l5Ujp!CAK1jj|L^|Er9lKU{q@_%?4^ zidk}n{MQ)CFNsLEOj__Q!NE3;bYq(0PJW%S^h7h?@)}5LV1)eTeS=q}+5wsI16*^7KQWp}en+BxQV1E_aR8hEHD;+lAla6*InLE6;aq(RVzZp09t$_w(vx zEh*cm1p!?Xp&B0(Qf9!n8G@u&l#NJeLgtoU@$GW*_B_C=lT)iaPeHWIpGNROuS^JE zJ;=*bmn-G|*rr{seA`adAAN@*^rfIa2$eN-JRI6u86B_g`O1GWN#23Jp9B)@W7*;J?Rw@jSI!Hg z)4Di6;PolSAQMr2NIn+lv|;uJU482h8J6BN#rm^hUE}ei@UfP!CegP;`R4tIQD`qw zQKH5Keczs0C;P{YqHhrHJLRHwKc>oR`9EPe+5zM&sP9-=VJ%%G5W`PNt6lt*5h$>! z+&0HH3T*n0h7a+OjG~y$U{jiePknT%9vR;bIh+wRN~IEwpD~EOFvu62NYw(G$^LiH zBSTXd^mB%y?MANG@*OXi`RsVf9r+i$tUe^?JJajxW6D7St{~;chp6PStB)N%i8$5&$5?b#aw(86D3ZpBJIo^f z(lm#$uAcF0#-oQX3z7P6eCSt&LyiVUqdWBBI1EcWmk;y8Zb=l+DBq%MZP`~H9Xfqt zV)saO+v#JXhs~-T2$!MT;aCNd{z{nHM+fV)+SG3tg=+MaQw9=|xoh-%*G^P4sp;?8 z_^Z8_J<#!+!50l4HTbE4(+7UJ{L1CWF8_T0v(N$HwaboJcGuGLm;R#fMScB!cPu$; z$)6X$da=Lw{za3Ep0MZ(y`#OedT&_hF1)K}yr-k*_64Ucc%=K~-A8nPe*OjX|JHS5 z*HgNF)_JhAyYp@Hj-PjT#|0gKp8Kk~Pn`Rq_A}c5)OLB>P}?1G2Y{zaQ!Yhu={SvNE}P4^}8|CHx%E4?hv|F4Vd|4%6$zJmAwod17HqT+wS z+C_;!sn;+5M&$p0%XdA)5^@o0FxHgtT}RSH`5gn%Aukt5`!1r9g$v^_J1d?2dq$>6 zo=m*;-6`2UgW`EiQg-@3FcMj0a;n~Uu}_+oHDFR^66+C0Bws?Vr1jlk%gCPEDDpqG z{S&(yS2bh8Ce*=guMVBOV?PplLu<$5R$`l|gZ&>FkfJC`WX=tB!K~34f?2Mb*L;*= zDABFB7)H!e-$fB>f~fQ-US3Zt^*xlB8EL9whAx=$XGS7zRpov`Y_kd_|5MQIdvxU2 zW7TO#V`X-d&iAae!}k}4p<)0z?(2I6yKG=$8tSh}C|#+GZ`>6eGc?8Le`6rMX1MRU z=1FHvl4;C;XCN}rl+QM1gPM?~eb1ZeEBXf`l4gSv6cb$1xCH~ekL~z@M;nSO`j|4q zhx<>4^y5QZF?Aup2`dy?s4d%f?HQSvn0^tn!_Z!kX7v1vLFhG9HhIA%EmGL;gIqdO zvg_ZBOk1z|0l?TY-g+VGsZhTjV<<9*6ez!JY!0CnIUe%(!QGI+hkWQJXn;4hmHxv} zlw*rID&WHqKaQU7HC+6ZN~g^!Nnh|S;}*fM$$W?hb#!q?TUJs0zVD@Itit@7#TfKes`uZxF5M?eWLhJ(nStm*D|?)ewi;$9 z9%jt2;ml@4O5-bgoF5iQ*K>4sC~j*#-g-|@?{0Z(k6kV>fOOWr1~K1NBcqCx99hx zLtAQlpevN&bz@XowARA@Fpn3{$V3F9N5|0CvB`^3bDkm2=4Uh?@8s3>LM%QtA2$+W z!5p0-+{IYrsi<#SXy~Z~**n2}Mx#1DB|sUVGA(}{pC3e0Jz_T_=nFyoJQ|-nrW$%< zv>dBikVFtXE18|-hh~CRV!Ui*;2rB>95UJz|2Qn_JA~=9%R)vXXGrEj`CvmDYgS{@ zjHY2Pqw2fI`=M*r7Z(#?2c?+Vix`AHC0Q227p=ZBkJJ1k|9bh971WwD&O-y@$#U5f&_H_rp-Jyp|@>v}yHX zoJk)-m~sYS8DkNnVvB5^M%j#tsH|&q)6Ywi6QaZwBJ-GR6nF7R$^tEC7|JV6C_lMf zIIk4xwe1ENlj7#eE)f+eU-zRK+jtEoQAH`c60MKiy2WMIq{;`&QnTx>U_5eImA5@A zP|xmDhjXPLe4?3@8(01*IrYdl@?|2W)$vNcAhP!rgDWc1>fDb4sg&a|1|oWo67!7A zntSAjNsH0Qzn3kOKnP!&(;_h~ zGuvh}CW&FG_s~cTE3jmh8;23RCY>;LV4>W~G>nZ&Qi}qYarB&&06a?#CuN2-UOYn+ zi18RI>%{}RD<^p*u%ue-Qt82tz7-Er{r{i7*Ky}@4|WXU&vAac{`cbd+WLR|`!MF0 zN}n4%d+?EgYX+7MynFfD<&X4V)qiCFXP2G3>@Q2NS~|4!uD-2(k1To7l7&m&wfNM< z-&-`Y=+C{E_4f7Nz3|+Hzl8$8K+kOpRxkK!_xA38&wu^=VE&i8F6er^^Ua-6=U3-F zd*0tWUe$3-$0z5mnfsIW=d?em{Y!1nZu{??SIrro^WN6Atq->BX!-Z-SI$0S_MOdV zHUE9qb+cB?y1i+2)0Y$Zf6DW>m0q5x|6fwtu!8sil>fgG+5S_-h1UP~=

    ZQ@_vp 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±=Ab) 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≦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ⓈE{CQ;Xo=Of!nUzZ23Pb=^x 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

    E*4WbAT|-gpMMHS6tC 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≥G_%Mvr@b8GNPzA*-u%@h6#(J^N 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 zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U QAV7cs0RjXFJTwCT570vZM*si- literal 0 HcmV?d00001 diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND_log.ldf b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND_log.ldf new file mode 100644 index 0000000000000000000000000000000000000000..89f65c343d23f5592b49dfa47fa4f5d5a08641f2 GIT binary patch literal 786432 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 V;{S{PU%Lp|@9c^H|6"; + + ///

    + /// Processes the DataManager request to perform searching, filtering, sorting, and paging operations. + /// + /// Contains the details of the data operation requested. + /// Returns a JSON object with the filtered, sorted, and paginated data along with the total record count. + [HttpPost] + [Route("api/[controller]")] + public object Post([FromBody] DataManagerRequest DataManagerRequest) + { + // Retrieve data from the data source (e.g., database). + IQueryable DataSource = GetOrderData().AsQueryable(); + + // Initialize QueryableOperation instance. + QueryableOperation queryableOperation = new QueryableOperation(); + + // Handling searching operation. + if (DataManagerRequest.Search != null && DataManagerRequest.Search.Count > 0) + { + DataSource = queryableOperation.PerformSearching(DataSource, DataManagerRequest.Search); + // Add custom logic here if needed and remove above method. + } + + // Handling filtering operation. + if (DataManagerRequest.Where != null && DataManagerRequest.Where.Count > 0) + { + foreach (WhereFilter condition in DataManagerRequest.Where) + { + foreach (WhereFilter predicate in condition.predicates) + { + DataSource = queryableOperation.PerformFiltering(DataSource, DataManagerRequest.Where, predicate.Operator); + // Add custom logic here if needed and remove above method. + } + } + } + + // Handling sorting operation. + if (DataManagerRequest.Sorted != null && DataManagerRequest.Sorted.Count > 0) + { + DataSource = queryableOperation.PerformSorting(DataSource, DataManagerRequest.Sorted); + // Add custom logic here if needed and remove above method. + } + + // Get the total count of records. + int totalRecordsCount = DataSource.Count(); + + // Handling paging operation. + if (DataManagerRequest.Skip != 0) + { + DataSource = queryableOperation.PerformSkip(DataSource, DataManagerRequest.Skip); + // Add custom logic here if needed and remove above method. + } + if (DataManagerRequest.Take != 0) + { + DataSource = queryableOperation.PerformTake(DataSource, DataManagerRequest.Take); + // Add custom logic here if needed and remove above method. + } + + // Return data based on the request. + return new { result = DataSource, count = totalRecordsCount }; + } + /// + /// Retrieves the order data from the database. + /// + /// Returns a list of orders fetched from the database. + [HttpGet] + [Route("api/[controller]")] + public List GetOrderData() + { + string queryStr = "SELECT * FROM dbo.Orders ORDER BY OrderID;"; + SqlConnection sqlConnection = new(ConnectionString); + sqlConnection.Open(); + SqlCommand sqlCommand = new(queryStr, sqlConnection); + SqlDataAdapter DataAdapter = new(sqlCommand); + DataTable DataTable = new(); + DataAdapter.Fill(DataTable); + sqlConnection.Close(); + + // Map data to a list. + List dataSource = (from DataRow Data in DataTable.Rows + select new Orders() + { + OrderID = Convert.ToInt32(Data["OrderID"]), + CustomerID = Data["CustomerID"].ToString(), + EmployeeID = Convert.IsDBNull(Data["EmployeeID"]) ? 0 : Convert.ToUInt16(Data["EmployeeID"]), + ShipCity = Data["ShipCity"].ToString(), + Freight = Convert.ToDecimal(Data["Freight"]) + } + ).ToList(); + return dataSource; + } + + /// + /// Inserts a new data item into the data collection. + /// + /// It contains the new record detail which is need to be inserted. + /// Returns void. + [HttpPost] + [Route("api/[controller]/Insert")] + public void Insert([FromBody] CRUDModel value) + { + //Create query to insert the specific into the database by accessing its properties. + string queryStr = $"Insert into Orders(CustomerID,Freight,ShipCity,EmployeeID) values('{value.value.CustomerID}','{value.value.Freight}','{value.value.ShipCity}','{value.value.EmployeeID}')"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + + /// + /// Update a existing data item from the data collection. + /// + /// It contains the updated record detail which is need to be updated. + /// Returns void. + [HttpPost] + [Route("api/[controller]/Update")] + public void Update([FromBody] CRUDModel value) + { + // Create query to update the changes into the database by accessing its properties. + string queryStr = $"Update Orders set CustomerID='{value.value.CustomerID}', Freight='{value.value.Freight}',EmployeeID='{value.value.EmployeeID}',ShipCity='{value.value.ShipCity}' where OrderID='{value.value.OrderID}'"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + //Add custom logic here if needed and remove above method. + } + + /// + /// Remove a specific data item from the data collection. + /// + /// It contains the specific record detail which is need to be removed. + /// Returns void. + [HttpPost] + [Route("api/[controller]/Remove")] + public void Remove([FromBody] CRUDModel value) + { + // Create query to remove the specific from database by passing the primary key column value. + string queryStr = $"Delete from Orders where OrderID={value.key}"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + + /// + /// Batch update (Insert, Update, and Delete) a collection of data items from the data collection. + /// + /// The set of information along with details about the CRUD actions to be executed from the database. + /// Returns void. + [HttpPost] + [Route("api/[controller]/BatchUpdate")] + public IActionResult BatchUpdate([FromBody] CRUDModel value) + { + if (value.changed != null && value.changed.Count > 0) + { + foreach (Orders Record in (IEnumerable)value.changed) + { + // Create query to update the changes into the database by accessing its properties. + string queryStr = $"Update Orders set CustomerID='{Record.CustomerID}', Freight='{Record.Freight}',EmployeeID='{Record.EmployeeID}',ShipCity='{Record.ShipCity}' where OrderID='{Record.OrderID}'"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + } + if (value.added != null && value.added.Count > 0) + { + foreach (Orders Record in (IEnumerable)value.added) + { + // Create query to insert the specific into the database by accessing its properties. + string queryStr = $"Insert into Orders(CustomerID,Freight,ShipCity,EmployeeID) values('{Record.CustomerID}','{Record.Freight}','{Record.ShipCity}','{Record.EmployeeID}')"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + } + if (value.deleted != null && value.deleted.Count > 0) + { + foreach (Orders Record in (IEnumerable)value.deleted) + { + // Create query to remove the specific from database by passing the primary key column value. + string queryStr = $"Delete from Orders where OrderID={Record.OrderID}"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + } + return new JsonResult(value); + } + public class Orders + { + [Key] + public int? OrderID { get; set; } + public string? CustomerID { get; set; } + public int? EmployeeID { get; set; } + public decimal? Freight { get; set; } + public string? ShipCity { get; set; } + public string? ShipCountry { get; set; } + } + public class CRUDModel where T : class + { + public string? action { get; set; } + public string? keyColumn { get; set; } + public object? key { get; set; } + public T? value { get; set; } + public List? added { get; set; } + public List? changed { get; set; } + public List? deleted { get; set; } + public IDictionary? @params { get; set; } + } + } +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..23d8746 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs @@ -0,0 +1,32 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Grid_MSSQL.Controllers; + +[ApiController] +[Route("[controller]")] +public class WeatherForecastController : ControllerBase +{ + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj new file mode 100644 index 0000000..a903a58 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj @@ -0,0 +1,20 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user new file mode 100644 index 0000000..9ff5820 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user @@ -0,0 +1,6 @@ + + + + https + + \ No newline at end of file diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http new file mode 100644 index 0000000..dba4ca3 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http @@ -0,0 +1,6 @@ +@Grid_MSSQL_HostAddress = http://localhost:5241 + +GET {{Grid_MSSQL_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs new file mode 100644 index 0000000..7d443da --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs @@ -0,0 +1,27 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); +app.UseDefaultFiles(); +app.UseStaticFiles(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json new file mode 100644 index 0000000..7eb2824 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:2345", + "sslPort": 44345 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5241", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + //"launchUrl": "swagger", + "applicationUrl": "https://localhost:7097;http://localhost:5241", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs new file mode 100644 index 0000000..a0f3974 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace Grid_MSSQL +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/package.json b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/package.json new file mode 100644 index 0000000..d43d704 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/package.json @@ -0,0 +1,29 @@ +{ + "name": "grid_mssql", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "build": "webpack --mode=development --watch", + "release": "webpack --mode=production", + "publish": "npm run release && dotnet publish -c Release" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "devDependencies": { + "clean-webpack-plugin": "4.0.0", + "css-loader": "7.1.2", + "html-webpack-plugin": "5.6.3", + "mini-css-extract-plugin": "2.9.2", + "ts-loader": "9.5.2", + "typescript": "5.8.2", + "webpack": "5.98.0", + "webpack-cli": "6.0.1" + }, + "dependencies": { + "@syncfusion/ej2-data": "^29.1.33", + "@syncfusion/ej2-grids": "^29.1.33", + "@types/node": "^22.14.0" + } +} diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/CustomAdaptor.ts b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/CustomAdaptor.ts new file mode 100644 index 0000000..29e98fe --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/CustomAdaptor.ts @@ -0,0 +1,61 @@ +import { UrlAdaptor } from '@syncfusion/ej2-data'; + +export class CustomAdaptor extends UrlAdaptor { + public override processResponse(): any { + // Calling base class processResponse function. + const original: any = super.processResponse.apply(this, arguments as any); + return original; + } + + public override insert(dm: any, data: any): any { + return { + url: dm.dataSource.insertUrl || dm.dataSource.url, + data: JSON.stringify({ + __RequestVerificationToken: "Syncfusion", + value: data, + action: 'insert' + }), + type: 'POST' + }; + } + + public override update(dm: any, keyField: string, value: any): any { + return { + url: dm.dataSource.updateUrl || dm.dataSource.url, + data: JSON.stringify({ + __RequestVerificationToken: "Syncfusion", + value: value, + action: 'update' + }), + type: 'POST' + }; + } + + public override remove(dm: any, keyField: string, value: any): any { + return { + url: dm.dataSource.removeUrl || dm.dataSource.url, + data: JSON.stringify({ + __RequestVerificationToken: "Syncfusion", + key: value, + keyColumn: keyField, + action: 'remove' + }), + type: 'POST' + }; + } + + public override batchRequest(dm: any, changes: any, e: any, query: any, original?: Object): Object { + return { + url: dm.dataSource.batchUrl || dm.dataSource.url, + data: JSON.stringify({ + __RequestVerificationToken: "Syncfusion", + added: changes.addedRecords, + changed: changes.changedRecords, + deleted: changes.deletedRecords, + key: e.key, + action: 'batch' + }), + type: 'POST' + }; + } +} \ No newline at end of file diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html new file mode 100644 index 0000000..64370fd --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html @@ -0,0 +1,31 @@ + + + + EJ2 Grid + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + \ No newline at end of file diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts new file mode 100644 index 0000000..a76fe48 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts @@ -0,0 +1,35 @@ +import { Grid, Toolbar, Filter, Sort, Group, Page, Edit } from '@syncfusion/ej2-grids'; +import { DataManager } from '@syncfusion/ej2-data'; +import { CustomAdaptor } from './CustomAdaptor'; + +Grid.Inject(Toolbar, Filter, Sort, Group, Page, Edit); + +let data: DataManager = new DataManager({ + url: 'https://localhost:xxxx/api/Grid', + insertUrl: 'https://localhost:xxxx/api/Grid/Insert', + updateUrl: 'https://localhost:xxxx/api/Grid/Update', + removeUrl: 'https://localhost:xxxx/api/Grid/Remove', + // Enable batch URL when batch editing is enabled. + batchUrl: 'https://localhost:xxxx/api/Grid/BatchUpdate', + adaptor: new CustomAdaptor() +}); + +let grid: Grid = new Grid({ + dataSource: data, + allowGrouping: true, + allowFiltering: true, + allowSorting: true, + allowPaging: true, + toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], + editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 100, isPrimaryKey: true, isIdentity: true, type: 'number' }, + { field: 'CustomerID', headerText: 'Customer ID', validationRules: { required: true }, type: 'string', width: 100 }, + { field: 'EmployeeID', headerText: 'Employee ID', validationRules: { required: true, number: true }, width: 100 }, + { field: 'Freight', headerText: 'Freight', validationRules: { required: true, min: 1, max: 1000 }, textAlign: 'Right', width: 100 }, + { field: 'ShipCity', headerText: 'Ship City', validationRules: { required: true }, textAlign: 'Right', width: 120 } + ], + height: 250 +}); + +grid.appendTo('#Grid'); \ No newline at end of file diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json new file mode 100644 index 0000000..344e4dd --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "noImplicitAny": true, + "noEmitOnError": true, + "removeComments": false, + "sourceMap": true, + "target": "es5" + }, + "exclude": [ + "node_modules", + "wwwroot" + ] +} \ No newline at end of file diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js new file mode 100644 index 0000000..cc2de70 --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js @@ -0,0 +1,37 @@ +const path = require("path"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const { CleanWebpackPlugin } = require("clean-webpack-plugin"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); + +module.exports = { + entry: "./src/index.ts", + output: { + path: path.resolve(__dirname, "wwwroot"), + filename: "[name].[chunkhash].js", + publicPath: "/", + }, + resolve: { + extensions: [".js", ".ts"], + }, + module: { + rules: [ + { + test: /\.ts$/, + use: "ts-loader", + }, + { + test: /\.css$/, + use: [MiniCssExtractPlugin.loader, "css-loader"], + }, + ], + }, + plugins: [ + new CleanWebpackPlugin(), + new HtmlWebpackPlugin({ + template: "./src/index.html", + }), + new MiniCssExtractPlugin({ + filename: "css/[name].[chunkhash].css", + }), + ], +}; \ No newline at end of file diff --git a/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/README.md b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/README.md new file mode 100644 index 0000000..f57f0fe --- /dev/null +++ b/Binding MS SQL database using CustomAdaptor/Binding MS SQL database using CustomAdaptor/README.md @@ -0,0 +1,20 @@ +## TypeScript Grid MSSQL connectivity using CustomAdaptor + +A project that enables data binding and CRUD action handling in the Syncfusion TypeScript Grid to a MSSQL Server using CustomAdaptor feature of the Grid. + +## Steps to Run the Sample + +1. Download or unzip the project and open the project in **Visual Studio 2022**. + +2. Replace the connected database's connection string in the `GridController.cs` file. + +3. In the TypeScript client project, open `src/index.ts` and replace the port number in the API URL where it says `xxxx` with the actual backend server port. + +4. Navigate to the client project folder and run the following command: + + ```bash + npm install + ``` +5. Build the project to restore dependencies and compile it. + +6. Run the project. \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL.sln b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL.sln new file mode 100644 index 0000000..f9257a4 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35818.85 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Grid_MSSQL", "Grid_MSSQL\Grid_MSSQL.csproj", "{645D0248-058E-49BA-8674-24BD288D2DB2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {645D0248-058E-49BA-8674-24BD288D2DB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {645D0248-058E-49BA-8674-24BD288D2DB2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {645D0248-058E-49BA-8674-24BD288D2DB2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {645D0248-058E-49BA-8674-24BD288D2DB2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1B5FEEA6-BF67-4F55-9E2E-1D7A878685F6} + EndGlobalSection +EndGlobal diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND.MDF b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND.MDF new file mode 100644 index 0000000000000000000000000000000000000000..463c0d3092b4487d3ec16acfe047b1c1974c6a4f GIT binary patch literal 9306112 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

    |lZqeG>GWkwWwucuZ_1Taji*(378-2gO%+j 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%0ANP;q9l7G|9qszYNatqKALLaJBd?C>^*;Y%I4&Bu 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 z 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%0Dh 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

    uU5;k4^|HF+c8GHoHKnn4Y)S@ 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

    i?xySk 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%0Dn#3uz8B| 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�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�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

    B+ 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�TK~|CBL7AG@Mh}6a@7XeS(MU2#?iMp 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�D>BY>+E$bj{CEq4 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

      2`|^0SfH1h_6EZz3za7mF%sFQib*FZ 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


      ML{?V@JNZwfnk4&Z}vhcrQ&_n?B ziRd82k)(qY#i3#{2E%8kfkXl5yig>oF_A!tOwWLEksI(Oxi(m)o6-j*c=1B0ObGb$ zLUWwxqMHdt+>Z6+@YFua1%iw|DlbimcR4H$Y38Ng6NBYxJlS0!r-gzdG>Ryot9hXq zCrX9~qfWtC96B1>iTGUOYf_S`ms2p`^|El@u|sB$K?HegsI=cmz)i8B{R<6+AT=)u zOcKwCgR`SuKau1u2aY7dNSej-_7~GkGqTeWl}5B91dVc08dE$(zFbHTC?Nd*vv(a}Ru#$m-a9!5W`>N2EMmeDP*Fk2L2^b6AX$<~ zkYK{Zn%0PlIbaT$QIR#Gm=_gU6D*>O33DLG;;aAsr>6UaJ97r{J>R!;{qPRM>FVmr zT~*x&q%a>U(h-hLz;?u5w>Puk>Y+zsU7`gI8>tRg<4}E?n}7$w^=IP1`8zqzg;{h2 zA$F|9{%ArxVx?B>306P;lpW*skA0WrzekP-v%O4F;@U!`Fapm;`;voVzEO@x0Wm^nN-raF^>aXCu>Dv4wdWh5N15}RBKg0^F9K|sgVl;H%rdqiX!t@CsEL{h z5ZR~u<$#0RPCyR?n{7Vo{Fz3;IcA)3p6h^QWJgda%tiv$TW~@~0&TYNi}2pS&jyA} zN+e+HKLs$wOFQHIAVKCxAp1M{I<&a*FfCiif;eK?kpT9US$sT><53Igr02D6u{oqWD2+3xW~ddNL|f$lE)B7f&N` z143D=FTf(vs(%0&7K%)RSKb;#1xVqAv{9iXwHo&WYZw(6qAx@^CyHnwt;P0KKe$E$ zE)pBM2rm(hO%g!t05Rm>Ehb34yq&JGhE zsWgEc1TV7ySveScoJeE^U+^9}BO3$|NcIW9P_NQK^k#er`q;}vBpw-R+z>H<6nT
      6K((&3yR5)f&4 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 z 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 z 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 z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 b2oNAZfB*pk1PBlyK!5-N0t5&=FarM%pR44+ literal 0 HcmV?d00001 diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND_log.ldf b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/App_Data/NORTHWIND_log.ldf new file mode 100644 index 0000000000000000000000000000000000000000..2d5355c458088ebcca83228c53b2585e7005223b GIT binary patch literal 786432 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"; + + /// + /// Processes the DataManager request to perform searching, filtering, sorting, and paging operations. + /// + /// Contains the details of the data operation requested. + /// Returns a JSON object with the filtered, sorted, and paginated data along with the total record count. + [HttpPost] + [Route("api/[controller]")] + public object Post([FromBody] DataManagerRequest DataManagerRequest) + { + // Retrieve data from the data source (e.g., database). + IQueryable DataSource = GetOrderData().AsQueryable(); + + // Initialize QueryableOperation instance. + QueryableOperation queryableOperation = new QueryableOperation(); + + // Handling searching operation. + if (DataManagerRequest.Search != null && DataManagerRequest.Search.Count > 0) + { + DataSource = queryableOperation.PerformSearching(DataSource, DataManagerRequest.Search); + // Add custom logic here if needed and remove above method. + } + + // Handling filtering operation. + if (DataManagerRequest.Where != null && DataManagerRequest.Where.Count > 0) + { + foreach (WhereFilter condition in DataManagerRequest.Where) + { + foreach (WhereFilter predicate in condition.predicates) + { + DataSource = queryableOperation.PerformFiltering(DataSource, DataManagerRequest.Where, predicate.Operator); + // Add custom logic here if needed and remove above method. + } + } + } + + // Handling sorting operation. + if (DataManagerRequest.Sorted != null && DataManagerRequest.Sorted.Count > 0) + { + DataSource = queryableOperation.PerformSorting(DataSource, DataManagerRequest.Sorted); + // Add custom logic here if needed and remove above method. + } + + // Get the total count of records. + int totalRecordsCount = DataSource.Count(); + + // Handling paging operation. + if (DataManagerRequest.Skip != 0) + { + DataSource = queryableOperation.PerformSkip(DataSource, DataManagerRequest.Skip); + // Add custom logic here if needed and remove above method. + } + if (DataManagerRequest.Take != 0) + { + DataSource = queryableOperation.PerformTake(DataSource, DataManagerRequest.Take); + // Add custom logic here if needed and remove above method. + } + + // Return data based on the request. + return new { result = DataSource, count = totalRecordsCount }; + } + /// + /// Retrieves the order data from the database. + /// + /// Returns a list of orders fetched from the database. + [HttpGet] + [Route("api/[controller]")] + public List GetOrderData() + { + string queryStr = "SELECT * FROM dbo.Orders ORDER BY OrderID;"; + SqlConnection sqlConnection = new(ConnectionString); + sqlConnection.Open(); + SqlCommand sqlCommand = new(queryStr, sqlConnection); + SqlDataAdapter DataAdapter = new(sqlCommand); + DataTable DataTable = new(); + DataAdapter.Fill(DataTable); + sqlConnection.Close(); + + // Map data to a list. + List dataSource = (from DataRow Data in DataTable.Rows + select new Orders() + { + OrderID = Convert.ToInt32(Data["OrderID"]), + CustomerID = Data["CustomerID"].ToString(), + EmployeeID = Convert.IsDBNull(Data["EmployeeID"]) ? 0 : Convert.ToUInt16(Data["EmployeeID"]), + ShipCity = Data["ShipCity"].ToString(), + Freight = Convert.ToDecimal(Data["Freight"]) + } + ).ToList(); + return dataSource; + } + + /// + /// Inserts a new data item into the data collection. + /// + /// It contains the new record detail which is need to be inserted. + /// Returns void. + [HttpPost] + [Route("api/[controller]/Insert")] + public void Insert([FromBody] CRUDModel value) + { + //Create query to insert the specific into the database by accessing its properties. + string queryStr = $"Insert into Orders(CustomerID,Freight,ShipCity,EmployeeID) values('{value.value.CustomerID}','{value.value.Freight}','{value.value.ShipCity}','{value.value.EmployeeID}')"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + + /// + /// Update a existing data item from the data collection. + /// + /// It contains the updated record detail which is need to be updated. + /// Returns void. + [HttpPost] + [Route("api/[controller]/Update")] + public void Update([FromBody] CRUDModel value) + { + // Create query to update the changes into the database by accessing its properties. + string queryStr = $"Update Orders set CustomerID='{value.value.CustomerID}', Freight='{value.value.Freight}',EmployeeID='{value.value.EmployeeID}',ShipCity='{value.value.ShipCity}' where OrderID='{value.value.OrderID}'"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + //Add custom logic here if needed and remove above method. + } + + /// + /// Remove a specific data item from the data collection. + /// + /// It contains the specific record detail which is need to be removed. + /// Returns void. + [HttpPost] + [Route("api/[controller]/Remove")] + public void Remove([FromBody] CRUDModel value) + { + // Create query to remove the specific from database by passing the primary key column value. + string queryStr = $"Delete from Orders where OrderID={value.key}"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + + /// + /// Batch update (Insert, Update, and Delete) a collection of data items from the data collection. + /// + /// The set of information along with details about the CRUD actions to be executed from the database. + /// Returns void. + [HttpPost] + [Route("api/[controller]/BatchUpdate")] + public IActionResult BatchUpdate([FromBody] CRUDModel value) + { + if (value.changed != null && value.changed.Count > 0) + { + foreach (Orders Record in (IEnumerable)value.changed) + { + // Create query to update the changes into the database by accessing its properties. + string queryStr = $"Update Orders set CustomerID='{Record.CustomerID}', Freight='{Record.Freight}',EmployeeID='{Record.EmployeeID}',ShipCity='{Record.ShipCity}' where OrderID='{Record.OrderID}'"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + } + if (value.added != null && value.added.Count > 0) + { + foreach (Orders Record in (IEnumerable)value.added) + { + // Create query to insert the specific into the database by accessing its properties. + string queryStr = $"Insert into Orders(CustomerID,Freight,ShipCity,EmployeeID) values('{Record.CustomerID}','{Record.Freight}','{Record.ShipCity}','{Record.EmployeeID}')"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + } + if (value.deleted != null && value.deleted.Count > 0) + { + foreach (Orders Record in (IEnumerable)value.deleted) + { + // Create query to remove the specific from database by passing the primary key column value. + string queryStr = $"Delete from Orders where OrderID={Record.OrderID}"; + SqlConnection SqlConnection = new SqlConnection(ConnectionString); + SqlConnection.Open(); + + // Execute the SQL command. + SqlCommand SqlCommand = new SqlCommand(queryStr, SqlConnection); + + // Execute this code to reflect the changes into the database. + SqlCommand.ExecuteNonQuery(); + SqlConnection.Close(); + + // Add custom logic here if needed and remove above method. + } + } + return new JsonResult(value); + } + public class Orders + { + [Key] + public int? OrderID { get; set; } + public string? CustomerID { get; set; } + public int? EmployeeID { get; set; } + public decimal? Freight { get; set; } + public string? ShipCity { get; set; } + public string? ShipCountry { get; set; } + } + public class CRUDModel where T : class + { + public string? action { get; set; } + public string? keyColumn { get; set; } + public object? key { get; set; } + public T? value { get; set; } + public List? added { get; set; } + public List? changed { get; set; } + public List? deleted { get; set; } + public IDictionary? @params { get; set; } + } + } +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..23d8746 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Controllers/WeatherForecastController.cs @@ -0,0 +1,32 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Grid_MSSQL.Controllers; + +[ApiController] +[Route("[controller]")] +public class WeatherForecastController : ControllerBase +{ + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj new file mode 100644 index 0000000..46baac5 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj @@ -0,0 +1,24 @@ + + + + net8.0 + enable + enable + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user new file mode 100644 index 0000000..9ff5820 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.csproj.user @@ -0,0 +1,6 @@ + + + + https + + \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http new file mode 100644 index 0000000..9afa98d --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Grid_MSSQL.http @@ -0,0 +1,6 @@ +@Grid_MSSQL_HostAddress = http://localhost:5028 + +GET {{Grid_MSSQL_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs new file mode 100644 index 0000000..8841217 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Program.cs @@ -0,0 +1,26 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} +app.UseDefaultFiles(); +app.UseStaticFiles(); +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json new file mode 100644 index 0000000..e8f029a --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:24579", + "sslPort": 44300 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5028", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + //"launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7279;http://localhost:5028", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs new file mode 100644 index 0000000..a0f3974 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace Grid_MSSQL +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/package.json b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/package.json new file mode 100644 index 0000000..d43d704 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/package.json @@ -0,0 +1,29 @@ +{ + "name": "grid_mssql", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "build": "webpack --mode=development --watch", + "release": "webpack --mode=production", + "publish": "npm run release && dotnet publish -c Release" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "devDependencies": { + "clean-webpack-plugin": "4.0.0", + "css-loader": "7.1.2", + "html-webpack-plugin": "5.6.3", + "mini-css-extract-plugin": "2.9.2", + "ts-loader": "9.5.2", + "typescript": "5.8.2", + "webpack": "5.98.0", + "webpack-cli": "6.0.1" + }, + "dependencies": { + "@syncfusion/ej2-data": "^29.1.33", + "@syncfusion/ej2-grids": "^29.1.33", + "@types/node": "^22.14.0" + } +} diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html new file mode 100644 index 0000000..64370fd --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.html @@ -0,0 +1,31 @@ + + + + EJ2 Grid + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      + + \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js new file mode 100644 index 0000000..045a004 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var ej2_grids_1 = require("@syncfusion/ej2-grids"); +var ej2_data_1 = require("@syncfusion/ej2-data"); +ej2_grids_1.Grid.Inject(ej2_grids_1.Toolbar, ej2_grids_1.Filter, ej2_grids_1.Sort, ej2_grids_1.Group, ej2_grids_1.Page, ej2_grids_1.Edit); +var data = new ej2_data_1.DataManager({ + url: 'https://localhost:7279/api/Grid', + insertUrl: 'https://localhost:7279/api/Grid/Insert', + updateUrl: 'https://localhost:7279/api/Grid/Update', + removeUrl: 'https://localhost:7279/api/Grid/Remove', + // Enable batch URL when batch editing is enabled. + batchUrl: 'https://localhost:7279/api/Grid/BatchUpdate', + adaptor: new ej2_data_1.UrlAdaptor() +}); +var grid = new ej2_grids_1.Grid({ + dataSource: data, + allowGrouping: true, + allowFiltering: true, + allowSorting: true, + allowPaging: true, + toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], + editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 100, isPrimaryKey: true, isIdentity: true, type: 'number' }, + { field: 'CustomerID', headerText: 'Customer ID', validationRules: { required: true }, type: 'string', width: 100 }, + { field: 'EmployeeID', headerText: 'Employee ID', validationRules: { required: true, number: true }, width: 100 }, + { field: 'Freight', headerText: 'Freight', validationRules: { required: true, min: 1, max: 1000 }, textAlign: 'Right', width: 100 }, + { field: 'ShipCity', headerText: 'Ship City', validationRules: { required: true }, textAlign: 'Right', width: 120 } + ], + height: 250 +}); +grid.appendTo('#Grid'); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js.map b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js.map new file mode 100644 index 0000000..8174ce4 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAAA,mDAAuF;AACvF,iDAA+D;AAE/D,gBAAI,CAAC,MAAM,CAAC,mBAAO,EAAE,kBAAM,EAAE,gBAAI,EAAE,iBAAK,EAAE,gBAAI,EAAE,gBAAI,CAAC,CAAC;AAEtD,IAAI,IAAI,GAAgB,IAAI,sBAAW,CAAC;IACpC,GAAG,EAAE,iCAAiC;IACtC,SAAS,EAAE,wCAAwC;IACnD,SAAS,EAAE,wCAAwC;IACnD,SAAS,EAAE,wCAAwC;IACnD,kDAAkD;IAClD,QAAQ,EAAE,6CAA6C;IACvD,OAAO,EAAE,IAAI,qBAAU,EAAE;CAC5B,CAAC,CAAC;AAEH,IAAI,IAAI,GAAS,IAAI,gBAAI,CAAC;IACtB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAChE,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC5E,OAAO,EAAE;QACL,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACnH,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QACjH,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;QACnI,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;KACtH;IACD,MAAM,EAAE,GAAG;CACd,CAAC,CAAC;AAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC"} \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts new file mode 100644 index 0000000..6a1d3a4 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/index.ts @@ -0,0 +1,34 @@ +import { Grid, Toolbar, Filter, Sort, Group, Page, Edit } from '@syncfusion/ej2-grids'; +import { DataManager, UrlAdaptor } from '@syncfusion/ej2-data'; + +Grid.Inject(Toolbar, Filter, Sort, Group, Page, Edit); + +let data: DataManager = new DataManager({ + url: 'https://localhost:xxxx/api/Grid', + insertUrl: 'https://localhost:xxxx/api/Grid/Insert', + updateUrl: 'https://localhost:xxxx/api/Grid/Update', + removeUrl: 'https://localhost:xxxx/api/Grid/Remove', + // Enable batch URL when batch editing is enabled. + //batchUrl: 'https://localhost:xxxx/api/Grid/BatchUpdate', + adaptor: new UrlAdaptor() +}); + +let grid: Grid = new Grid({ + dataSource: data, + allowGrouping: true, + allowFiltering: true, + allowSorting: true, + allowPaging: true, + toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'], + editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true }, + columns: [ + { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 100, isPrimaryKey: true, isIdentity: true, type: 'number' }, + { field: 'CustomerID', headerText: 'Customer ID', validationRules: { required: true }, type: 'string', width: 100 }, + { field: 'EmployeeID', headerText: 'Employee ID', validationRules: { required: true, number: true }, width: 100 }, + { field: 'Freight', headerText: 'Freight', validationRules: { required: true, min: 1, max: 1000 }, textAlign: 'Right', width: 100 }, + { field: 'ShipCity', headerText: 'Ship City', validationRules: { required: true }, textAlign: 'Right', width: 120 } + ], + height: 348 +}); + +grid.appendTo('#Grid'); \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json new file mode 100644 index 0000000..344e4dd --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/src/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "noImplicitAny": true, + "noEmitOnError": true, + "removeComments": false, + "sourceMap": true, + "target": "es5" + }, + "exclude": [ + "node_modules", + "wwwroot" + ] +} \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js new file mode 100644 index 0000000..cc2de70 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/webpack.config.js @@ -0,0 +1,37 @@ +const path = require("path"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const { CleanWebpackPlugin } = require("clean-webpack-plugin"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); + +module.exports = { + entry: "./src/index.ts", + output: { + path: path.resolve(__dirname, "wwwroot"), + filename: "[name].[chunkhash].js", + publicPath: "/", + }, + resolve: { + extensions: [".js", ".ts"], + }, + module: { + rules: [ + { + test: /\.ts$/, + use: "ts-loader", + }, + { + test: /\.css$/, + use: [MiniCssExtractPlugin.loader, "css-loader"], + }, + ], + }, + plugins: [ + new CleanWebpackPlugin(), + new HtmlWebpackPlugin({ + template: "./src/index.html", + }), + new MiniCssExtractPlugin({ + filename: "css/[name].[chunkhash].css", + }), + ], +}; \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/index.html b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/index.html new file mode 100644 index 0000000..db3f883 --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/index.html @@ -0,0 +1,31 @@ + + + + EJ2 Grid + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      + + \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/main.d78d834d88d96f77aa70.js b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/main.d78d834d88d96f77aa70.js new file mode 100644 index 0000000..e42d07e --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/Grid_MSSQL/Grid_MSSQL/wwwroot/main.d78d834d88d96f77aa70.js @@ -0,0 +1,3546 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@syncfusion/ej2-base/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Ajax: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Ajax),\n/* harmony export */ Animation: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Animation),\n/* harmony export */ Base: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Base),\n/* harmony export */ Browser: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Browser),\n/* harmony export */ ChildProperty: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ChildProperty),\n/* harmony export */ Collection: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Collection),\n/* harmony export */ CollectionFactory: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CollectionFactory),\n/* harmony export */ Complex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Complex),\n/* harmony export */ ComplexFactory: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ComplexFactory),\n/* harmony export */ Component: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Component),\n/* harmony export */ CreateBuilder: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CreateBuilder),\n/* harmony export */ Draggable: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Draggable),\n/* harmony export */ Droppable: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Droppable),\n/* harmony export */ Event: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Event),\n/* harmony export */ EventHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.EventHandler),\n/* harmony export */ Fetch: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Fetch),\n/* harmony export */ GlobalAnimationMode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GlobalAnimationMode),\n/* harmony export */ HijriParser: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.HijriParser),\n/* harmony export */ Internationalization: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Internationalization),\n/* harmony export */ IntlBase: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.IntlBase),\n/* harmony export */ KeyboardEvents: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents),\n/* harmony export */ L10n: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.L10n),\n/* harmony export */ ModuleLoader: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ModuleLoader),\n/* harmony export */ NotifyPropertyChanges: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges),\n/* harmony export */ Observer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Observer),\n/* harmony export */ Position: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Position),\n/* harmony export */ Property: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Property),\n/* harmony export */ SanitizeHtmlHelper: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper),\n/* harmony export */ SwipeSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.SwipeSettings),\n/* harmony export */ Touch: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Touch),\n/* harmony export */ addClass: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addClass),\n/* harmony export */ addInstance: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addInstance),\n/* harmony export */ animationMode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.animationMode),\n/* harmony export */ append: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.append),\n/* harmony export */ attributes: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.attributes),\n/* harmony export */ blazorCultureFormats: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.blazorCultureFormats),\n/* harmony export */ blazorTemplates: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.blazorTemplates),\n/* harmony export */ classList: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.classList),\n/* harmony export */ cldrData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cldrData),\n/* harmony export */ cloneNode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cloneNode),\n/* harmony export */ closest: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.closest),\n/* harmony export */ compareElementParent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.compareElementParent),\n/* harmony export */ compile: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.compile),\n/* harmony export */ componentList: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.componentList),\n/* harmony export */ containerObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.containerObject),\n/* harmony export */ containsClass: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.containsClass),\n/* harmony export */ createElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.createElement),\n/* harmony export */ createInstance: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.createInstance),\n/* harmony export */ createLicenseOverlay: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.createLicenseOverlay),\n/* harmony export */ debounce: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.debounce),\n/* harmony export */ defaultCulture: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.defaultCulture),\n/* harmony export */ defaultCurrencyCode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.defaultCurrencyCode),\n/* harmony export */ deleteObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.deleteObject),\n/* harmony export */ detach: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.detach),\n/* harmony export */ disableBlazorMode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.disableBlazorMode),\n/* harmony export */ enableBlazorMode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.enableBlazorMode),\n/* harmony export */ enableRipple: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.enableRipple),\n/* harmony export */ enableRtl: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.enableRtl),\n/* harmony export */ enableVersionBasedPersistence: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.enableVersionBasedPersistence),\n/* harmony export */ extend: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.extend),\n/* harmony export */ formatUnit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.formatUnit),\n/* harmony export */ getAttributeOrDefault: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getAttributeOrDefault),\n/* harmony export */ getComponent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getComponent),\n/* harmony export */ getDefaultDateObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject),\n/* harmony export */ getElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getElement),\n/* harmony export */ getEnumValue: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getEnumValue),\n/* harmony export */ getInstance: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getInstance),\n/* harmony export */ getNumberDependable: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getNumberDependable),\n/* harmony export */ getNumericObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getNumericObject),\n/* harmony export */ getRandomId: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getRandomId),\n/* harmony export */ getTemplateEngine: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getTemplateEngine),\n/* harmony export */ getUniqueID: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getUniqueID),\n/* harmony export */ getValue: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getValue),\n/* harmony export */ getVersion: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getVersion),\n/* harmony export */ includeInnerHTML: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.includeInnerHTML),\n/* harmony export */ initializeCSPTemplate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.initializeCSPTemplate),\n/* harmony export */ isBlazor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isBlazor),\n/* harmony export */ isNullOrUndefined: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined),\n/* harmony export */ isObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isObject),\n/* harmony export */ isObjectArray: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isObjectArray),\n/* harmony export */ isRippleEnabled: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled),\n/* harmony export */ isUndefined: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isUndefined),\n/* harmony export */ isVisible: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isVisible),\n/* harmony export */ loadCldr: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.loadCldr),\n/* harmony export */ matches: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.matches),\n/* harmony export */ merge: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.merge),\n/* harmony export */ onIntlChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.onIntlChange),\n/* harmony export */ prepend: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.prepend),\n/* harmony export */ print: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.print),\n/* harmony export */ proxyToRaw: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.proxyToRaw),\n/* harmony export */ queryParams: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.queryParams),\n/* harmony export */ registerLicense: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.registerLicense),\n/* harmony export */ remove: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.remove),\n/* harmony export */ removeChildInstance: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.removeChildInstance),\n/* harmony export */ removeClass: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.removeClass),\n/* harmony export */ resetBlazorTemplate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate),\n/* harmony export */ rightToLeft: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rightToLeft),\n/* harmony export */ rippleEffect: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rippleEffect),\n/* harmony export */ select: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.select),\n/* harmony export */ selectAll: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.selectAll),\n/* harmony export */ setCulture: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setCulture),\n/* harmony export */ setCurrencyCode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setCurrencyCode),\n/* harmony export */ setDateFormat: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setDateFormat),\n/* harmony export */ setDefaultCurrencyCode: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setDefaultCurrencyCode),\n/* harmony export */ setGlobalAnimation: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setGlobalAnimation),\n/* harmony export */ setImmediate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setImmediate),\n/* harmony export */ setNumberFormat: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setNumberFormat),\n/* harmony export */ setProxyToRaw: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setProxyToRaw),\n/* harmony export */ setStyleAttribute: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute),\n/* harmony export */ setTemplateEngine: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setTemplateEngine),\n/* harmony export */ setValue: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setValue),\n/* harmony export */ siblings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.siblings),\n/* harmony export */ throwError: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.throwError),\n/* harmony export */ uniqueID: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.uniqueID),\n/* harmony export */ updateBlazorTemplate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate),\n/* harmony export */ updateCSSText: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.updateCSSText),\n/* harmony export */ validateLicense: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.validateLicense),\n/* harmony export */ versionBasedStatePersistence: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.versionBasedStatePersistence)\n/* harmony export */ });\n/* harmony import */ var _src_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/index */ \"./node_modules/@syncfusion/ej2-base/src/index.js\");\n/**\n * index\n */\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/ajax.js": +/*!*******************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/ajax.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Ajax: () => (/* binding */ Ajax)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n\nvar headerRegex = /^(.*?):[ \\t]*([^\\r\\n]*)$/gm;\nvar defaultType = 'GET';\n/**\n * Ajax class provides ability to make asynchronous HTTP request to the server\n * ```typescript\n * var ajax = new Ajax(\"index.html\", \"GET\", true);\n * ajax.send().then(\n * function (value) {\n * console.log(value);\n * },\n * function (reason) {\n * console.log(reason);\n * });\n * ```\n */\nvar Ajax = /** @class */ (function () {\n /**\n * Constructor for Ajax class\n *\n * @param {string|Object} options ?\n * @param {string} type ?\n * @param {boolean} async ?\n * @returns defaultType any\n */\n function Ajax(options, type, async, contentType) {\n /**\n * A boolean value indicating whether the request should be sent asynchronous or not.\n *\n * @default true\n */\n this.mode = true;\n /**\n * A boolean value indicating whether to ignore the promise reject.\n *\n * @private\n * @default true\n */\n this.emitError = true;\n this.options = {};\n if (typeof options === 'string') {\n this.url = options;\n this.type = type ? type.toUpperCase() : defaultType;\n this.mode = !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(async) ? async : true;\n }\n else if (typeof options === 'object') {\n this.options = options;\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(this, this.options);\n }\n this.type = this.type ? this.type.toUpperCase() : defaultType;\n this.contentType = (this.contentType !== undefined) ? this.contentType : contentType;\n }\n /**\n *\n * Send the request to server.\n *\n * @param {any} data - To send the user data\n * @returns {Promise} ?\n */\n Ajax.prototype.send = function (data) {\n var _this = this;\n this.data = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data) ? this.data : data;\n var eventArgs = {\n cancel: false,\n httpRequest: null\n };\n var promise = new Promise(function (resolve, reject) {\n _this.httpRequest = new XMLHttpRequest();\n _this.httpRequest.onreadystatechange = function () { _this.stateChange(resolve, reject); };\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.onLoad)) {\n _this.httpRequest.onload = _this.onLoad;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.onProgress)) {\n _this.httpRequest.onprogress = _this.onProgress;\n }\n /* istanbul ignore next */\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.onAbort)) {\n _this.httpRequest.onabort = _this.onAbort;\n }\n /* istanbul ignore next */\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.onError)) {\n _this.httpRequest.onerror = _this.onError;\n }\n //** Upload Events **/\n /* istanbul ignore next */\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.onUploadProgress)) {\n _this.httpRequest.upload.onprogress = _this.onUploadProgress;\n }\n _this.httpRequest.open(_this.type, _this.url, _this.mode);\n // Set default headers\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.data) && _this.contentType !== null) {\n _this.httpRequest.setRequestHeader('Content-Type', _this.contentType || 'application/json; charset=utf-8');\n }\n if (_this.beforeSend) {\n eventArgs.httpRequest = _this.httpRequest;\n _this.beforeSend(eventArgs);\n }\n if (!eventArgs.cancel) {\n _this.httpRequest.send(!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.data) ? _this.data : null);\n }\n });\n return promise;\n };\n Ajax.prototype.successHandler = function (data) {\n if (this.onSuccess) {\n this.onSuccess(data, this);\n }\n return data;\n };\n Ajax.prototype.failureHandler = function (reason) {\n if (this.onFailure) {\n this.onFailure(this.httpRequest);\n }\n return reason;\n };\n Ajax.prototype.stateChange = function (resolve, reject) {\n var data = this.httpRequest.responseText;\n if (this.dataType && this.dataType.toLowerCase() === 'json') {\n if (data === '') {\n data = undefined;\n }\n else {\n try {\n data = JSON.parse(data);\n }\n catch (error) {\n // no exception handle\n }\n }\n }\n if (this.httpRequest.readyState === 4) {\n //success range should be 200 to 299\n if ((this.httpRequest.status >= 200 && this.httpRequest.status <= 299) || this.httpRequest.status === 304) {\n resolve(this.successHandler(data));\n }\n else {\n if (this.emitError) {\n reject(new Error(this.failureHandler(this.httpRequest.statusText)));\n }\n else {\n resolve();\n }\n }\n }\n };\n /**\n * To get the response header from XMLHttpRequest\n *\n * @param {string} key Key to search in the response header\n * @returns {string} ?\n */\n Ajax.prototype.getResponseHeader = function (key) {\n var responseHeaders = {};\n var headers = headerRegex.exec(this.httpRequest.getAllResponseHeaders());\n while (headers) {\n responseHeaders[headers[1].toLowerCase()] = headers[2];\n headers = headerRegex.exec(this.httpRequest.getAllResponseHeaders());\n }\n var header = responseHeaders[key.toLowerCase()];\n return (0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(header) ? null : header;\n };\n return Ajax;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/ajax.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/animation.js": +/*!************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/animation.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: () => (/* binding */ Animation),\n/* harmony export */ GlobalAnimationMode: () => (/* binding */ GlobalAnimationMode),\n/* harmony export */ animationMode: () => (/* binding */ animationMode),\n/* harmony export */ enableRipple: () => (/* binding */ enableRipple),\n/* harmony export */ isRippleEnabled: () => (/* binding */ isRippleEnabled),\n/* harmony export */ rippleEffect: () => (/* binding */ rippleEffect),\n/* harmony export */ setGlobalAnimation: () => (/* binding */ setGlobalAnimation)\n/* harmony export */ });\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./browser */ \"./node_modules/@syncfusion/ej2-base/src/browser.js\");\n/* harmony import */ var _event_handler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./event-handler */ \"./node_modules/@syncfusion/ej2-base/src/event-handler.js\");\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n/**\n * The Animation framework provide options to animate the html DOM elements\n * ```typescript\n * let animeObject = new Animation({\n * name: 'SlideLeftIn',\n * duration: 1000\n * });\n * animeObject.animate('#anime1');\n * animeObject.animate('#anime2', { duration: 500 });\n * ```\n */\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation(options) {\n var _this = _super.call(this, options, undefined) || this;\n /**\n * @private\n */\n _this.easing = {\n ease: 'cubic-bezier(0.250, 0.100, 0.250, 1.000)',\n linear: 'cubic-bezier(0.250, 0.250, 0.750, 0.750)',\n easeIn: 'cubic-bezier(0.420, 0.000, 1.000, 1.000)',\n easeOut: 'cubic-bezier(0.000, 0.000, 0.580, 1.000)',\n easeInOut: 'cubic-bezier(0.420, 0.000, 0.580, 1.000)',\n elasticInOut: 'cubic-bezier(0.5,-0.58,0.38,1.81)',\n elasticIn: 'cubic-bezier(0.17,0.67,0.59,1.81)',\n elasticOut: 'cubic-bezier(0.7,-0.75,0.99,1.01)'\n };\n return _this;\n }\n Animation_1 = Animation;\n /**\n * Applies animation to the current element.\n *\n * @param {string | HTMLElement} element - Element which needs to be animated.\n * @param {AnimationModel} options - Overriding default animation settings.\n * @returns {void} ?\n */\n Animation.prototype.animate = function (element, options) {\n options = !options ? {} : options;\n var model = this.getModel(options);\n if (typeof element === 'string') {\n var elements = Array.prototype.slice.call((0,_dom__WEBPACK_IMPORTED_MODULE_0__.selectAll)(element, document));\n for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {\n var element_1 = elements_1[_i];\n model.element = element_1;\n Animation_1.delayAnimation(model);\n }\n }\n else {\n model.element = element;\n Animation_1.delayAnimation(model);\n }\n };\n /**\n * Stop the animation effect on animated element.\n *\n * @param {HTMLElement} element - Element which needs to be stop the animation.\n * @param {AnimationOptions} model - Handling the animation model at stop function.\n * @returns {void}\n */\n Animation.stop = function (element, model) {\n element.style.animation = '';\n element.removeAttribute('e-animate');\n var animationId = element.getAttribute('e-animation-id');\n if (animationId) {\n var frameId = parseInt(animationId, 10);\n cancelAnimationFrame(frameId);\n element.removeAttribute('e-animation-id');\n }\n if (model && model.end) {\n model.end.call(this, model);\n }\n };\n /**\n * Set delay to animation element\n *\n * @param {AnimationModel} model ?\n * @returns {void}\n */\n Animation.delayAnimation = function (model) {\n if (animationMode === 'Disable' || animationMode === GlobalAnimationMode.Disable) {\n if (model.begin) {\n model.begin.call(this, model);\n }\n if (model.end) {\n model.end.call(this, model);\n }\n }\n else {\n if (model.delay) {\n setTimeout(function () { Animation_1.applyAnimation(model); }, model.delay);\n }\n else {\n Animation_1.applyAnimation(model);\n }\n }\n };\n /**\n * Triggers animation\n *\n * @param {AnimationModel} model ?\n * @returns {void}\n */\n Animation.applyAnimation = function (model) {\n var _this = this;\n model.timeStamp = 0;\n var step = 0;\n var timerId = 0;\n var prevTimeStamp = 0;\n var duration = model.duration;\n model.element.setAttribute('e-animate', 'true');\n var startAnimation = function (timeStamp) {\n try {\n if (timeStamp) {\n // let step: number = model.timeStamp = timeStamp - startTime;\n /** phantomjs workaround for timestamp fix */\n prevTimeStamp = prevTimeStamp === 0 ? timeStamp : prevTimeStamp;\n model.timeStamp = (timeStamp + model.timeStamp) - prevTimeStamp;\n prevTimeStamp = timeStamp;\n /** phantomjs workaround end */\n // trigger animation begin event\n if (!step && model.begin) {\n model.begin.call(_this, model);\n }\n step = step + 1;\n var avg = model.timeStamp / step;\n if (model.timeStamp < duration && model.timeStamp + avg < duration && model.element.getAttribute('e-animate')) {\n // apply animation effect to the current element\n model.element.style.animation = model.name + ' ' + model.duration + 'ms ' + model.timingFunction;\n if (model.progress) {\n model.progress.call(_this, model);\n }\n // repeat requestAnimationFrame\n requestAnimationFrame(startAnimation);\n }\n else {\n // clear requestAnimationFrame\n cancelAnimationFrame(timerId);\n model.element.removeAttribute('e-animation-id');\n model.element.removeAttribute('e-animate');\n model.element.style.animation = '';\n if (model.end) {\n model.end.call(_this, model);\n }\n }\n }\n else {\n //startTime = performance.now();\n // set initial requestAnimationFrame\n timerId = requestAnimationFrame(startAnimation);\n model.element.setAttribute('e-animation-id', timerId.toString());\n }\n }\n catch (e) {\n cancelAnimationFrame(timerId);\n model.element.removeAttribute('e-animation-id');\n if (model.fail) {\n model.fail.call(_this, e);\n }\n }\n };\n startAnimation();\n };\n /**\n * Returns Animation Model\n *\n * @param {AnimationModel} options ?\n * @returns {AnimationModel} ?\n */\n Animation.prototype.getModel = function (options) {\n return {\n name: options.name || this.name,\n delay: options.delay || this.delay,\n duration: (options.duration !== undefined ? options.duration : this.duration),\n begin: options.begin || this.begin,\n end: options.end || this.end,\n fail: options.fail || this.fail,\n progress: options.progress || this.progress,\n timingFunction: this.easing[options.timingFunction] ? this.easing[options.timingFunction] :\n (options.timingFunction || this.easing[this.timingFunction])\n };\n };\n /**\n * @private\n * @param {AnimationModel} newProp ?\n * @param {AnimationModel} oldProp ?\n * @returns {void} ?\n */\n Animation.prototype.onPropertyChanged = function (newProp, oldProp) {\n // no code needed\n };\n /**\n * Returns module name as animation\n *\n * @private\n * @returns {void} ?\n */\n Animation.prototype.getModuleName = function () {\n return 'animation';\n };\n /**\n *\n * @private\n * @returns {void} ?\n */\n Animation.prototype.destroy = function () {\n //Override base destroy;\n };\n var Animation_1;\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Property)('FadeIn')\n ], Animation.prototype, \"name\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Property)(400)\n ], Animation.prototype, \"duration\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Property)('ease')\n ], Animation.prototype, \"timingFunction\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Property)(0)\n ], Animation.prototype, \"delay\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Event)()\n ], Animation.prototype, \"progress\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Event)()\n ], Animation.prototype, \"begin\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Event)()\n ], Animation.prototype, \"end\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_4__.Event)()\n ], Animation.prototype, \"fail\", void 0);\n Animation = Animation_1 = __decorate([\n _notify_property_change__WEBPACK_IMPORTED_MODULE_4__.NotifyPropertyChanges\n ], Animation);\n return Animation;\n}(_base__WEBPACK_IMPORTED_MODULE_1__.Base));\n\n/**\n * Ripple provides material theme's wave effect when an element is clicked\n * ```html\n *
      \n * \n * ```\n *\n * @private\n * @param {HTMLElement} element - Target element\n * @param {RippleOptions} rippleOptions - Ripple options .\n * @param {Function} done .\n * @returns {void} .\n */\nfunction rippleEffect(element, rippleOptions, done) {\n var rippleModel = getRippleModel(rippleOptions);\n if (rippleModel.rippleFlag === false || (rippleModel.rippleFlag === undefined && !isRippleEnabled)) {\n return (function () {\n // do nothing.\n });\n }\n element.setAttribute('data-ripple', 'true');\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.add(element, 'mousedown', rippleHandler, { parent: element, rippleOptions: rippleModel });\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.add(element, 'mouseup', rippleUpHandler, { parent: element, rippleOptions: rippleModel, done: done });\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.add(element, 'mouseleave', rippleLeaveHandler, { parent: element, rippleOptions: rippleModel });\n if (_browser__WEBPACK_IMPORTED_MODULE_2__.Browser.isPointer) {\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.add(element, 'transitionend', rippleLeaveHandler, { parent: element, rippleOptions: rippleModel });\n }\n return (function () {\n element.removeAttribute('data-ripple');\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.remove(element, 'mousedown', rippleHandler);\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.remove(element, 'mouseup', rippleUpHandler);\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.remove(element, 'mouseleave', rippleLeaveHandler);\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.remove(element, 'transitionend', rippleLeaveHandler);\n });\n}\n/**\n * Handler for ripple model\n *\n * @param {RippleOptions} rippleOptions ?\n * @returns {RippleOptions} ?\n */\nfunction getRippleModel(rippleOptions) {\n var rippleModel = {\n selector: rippleOptions && rippleOptions.selector ? rippleOptions.selector : null,\n ignore: rippleOptions && rippleOptions.ignore ? rippleOptions.ignore : null,\n rippleFlag: rippleOptions && rippleOptions.rippleFlag,\n isCenterRipple: rippleOptions && rippleOptions.isCenterRipple,\n duration: rippleOptions && rippleOptions.duration ? rippleOptions.duration : 350\n };\n return rippleModel;\n}\n/**\n * Handler for ripple event\n *\n * @param {MouseEvent} e ?\n * @returns {void} ?\n * @private\n */\nfunction rippleHandler(e) {\n var target = (e.target);\n var selector = this.rippleOptions.selector;\n var element = selector ? (0,_dom__WEBPACK_IMPORTED_MODULE_0__.closest)(target, selector) : target;\n if (!element || (this.rippleOptions && (0,_dom__WEBPACK_IMPORTED_MODULE_0__.closest)(target, this.rippleOptions.ignore))) {\n return;\n }\n var offset = element.getBoundingClientRect();\n var offsetX = e.pageX - document.body.scrollLeft;\n var offsetY = e.pageY - ((!document.body.scrollTop && document.documentElement) ?\n document.documentElement.scrollTop : document.body.scrollTop);\n var pageX = Math.max(Math.abs(offsetX - offset.left), Math.abs(offsetX - offset.right));\n var pageY = Math.max(Math.abs(offsetY - offset.top), Math.abs(offsetY - offset.bottom));\n var radius = Math.sqrt(pageX * pageX + pageY * pageY);\n var diameter = radius * 2 + 'px';\n var x = offsetX - offset.left - radius;\n var y = offsetY - offset.top - radius;\n if (this.rippleOptions && this.rippleOptions.isCenterRipple) {\n x = 0;\n y = 0;\n diameter = '100%';\n }\n element.classList.add('e-ripple');\n var duration = this.rippleOptions.duration.toString();\n var styles = 'width: ' + diameter + ';height: ' + diameter + ';left: ' + x + 'px;top: ' + y + 'px;' +\n 'transition-duration: ' + duration + 'ms;';\n var rippleElement = (0,_dom__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-ripple-element', styles: styles });\n element.appendChild(rippleElement);\n window.getComputedStyle(rippleElement).getPropertyValue('opacity');\n rippleElement.style.transform = 'scale(1)';\n if (element !== this.parent) {\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.add(element, 'mouseleave', rippleLeaveHandler, { parent: this.parent, rippleOptions: this.rippleOptions });\n }\n}\n/**\n * Handler for ripple element mouse up event\n *\n * @param {MouseEvent} e ?\n * @returns {void} ?\n * @private\n */\nfunction rippleUpHandler(e) {\n removeRipple(e, this);\n}\n/**\n * Handler for ripple element mouse move event\n *\n * @param {MouseEvent} e ?\n * @returns {void} ?\n * @private\n */\nfunction rippleLeaveHandler(e) {\n removeRipple(e, this);\n}\n/**\n * Handler for removing ripple element\n *\n * @param {MouseEvent} e ?\n * @param {RippleArgs} eventArgs ?\n * @returns {void} ?\n * @private\n */\nfunction removeRipple(e, eventArgs) {\n var duration = eventArgs.rippleOptions.duration;\n var target = (e.target);\n var selector = eventArgs.rippleOptions.selector;\n var element = selector ? (0,_dom__WEBPACK_IMPORTED_MODULE_0__.closest)(target, selector) : target;\n if (!element || (element && element.className.indexOf('e-ripple') === -1)) {\n return;\n }\n var rippleElements = (0,_dom__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-ripple-element', element);\n var rippleElement = rippleElements[rippleElements.length - 1];\n if (rippleElement) {\n rippleElement.style.opacity = '0.5';\n }\n if (eventArgs.parent !== element) {\n _event_handler__WEBPACK_IMPORTED_MODULE_3__.EventHandler.remove(element, 'mouseleave', rippleLeaveHandler);\n }\n setTimeout(function () {\n if (rippleElement && rippleElement.parentNode) {\n rippleElement.parentNode.removeChild(rippleElement);\n }\n if (!element.getElementsByClassName('e-ripple-element').length) {\n element.classList.remove('e-ripple');\n }\n if (eventArgs.done) {\n eventArgs.done(e);\n }\n }, duration);\n}\nvar isRippleEnabled = false;\n/**\n * Animation Module provides support to enable ripple effect functionality to Essential JS 2 components.\n *\n * @param {boolean} isRipple Specifies the boolean value to enable or disable ripple effect.\n * @returns {boolean} ?\n */\nfunction enableRipple(isRipple) {\n isRippleEnabled = isRipple;\n return isRippleEnabled;\n}\n/**\n * Defines the Modes of Global animation.\n *\n * @private\n */\nvar animationMode;\n/**\n * This method is used to enable or disable the animation for all components.\n *\n * @param {string|GlobalAnimationMode} value - Specifies the value to enable or disable the animation for all components. When set to 'enable', it enables the animation for all components, regardless of the individual component's animation settings. When set to 'disable', it disables the animation for all components, regardless of the individual component's animation settings.\n * @returns {void}\n */\nfunction setGlobalAnimation(value) {\n animationMode = value;\n}\n/**\n * Defines the global animation modes for all components.\n */\nvar GlobalAnimationMode;\n(function (GlobalAnimationMode) {\n /**\n * Defines the global animation mode as Default. Animation is enabled or disabled based on the component's animation settings.\n */\n GlobalAnimationMode[\"Default\"] = \"Default\";\n /**\n * Defines the global animation mode as Enable. Enables the animation for all components, regardless of the individual component's animation settings.\n */\n GlobalAnimationMode[\"Enable\"] = \"Enable\";\n /**\n * Defines the global animation mode as Disable. Disables the animation for all components, regardless of the individual component's animation settings.\n */\n GlobalAnimationMode[\"Disable\"] = \"Disable\";\n})(GlobalAnimationMode || (GlobalAnimationMode = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/animation.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/base.js": +/*!*******************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/base.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Base: () => (/* binding */ Base),\n/* harmony export */ getComponent: () => (/* binding */ getComponent),\n/* harmony export */ proxyToRaw: () => (/* binding */ proxyToRaw),\n/* harmony export */ removeChildInstance: () => (/* binding */ removeChildInstance),\n/* harmony export */ setProxyToRaw: () => (/* binding */ setProxyToRaw)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./observer */ \"./node_modules/@syncfusion/ej2-base/src/observer.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n\nvar isColEName = new RegExp(']');\n/**\n * Base library module is common module for Framework modules like touch,keyboard and etc.,\n *\n * @private\n * @returns {void} ?\n */\nvar Base = /** @class */ (function () {\n /**\n * Base constructor accept options and element\n *\n * @param {Object} options ?\n * @param {string} element ?\n */\n function Base(options, element) {\n this.isRendered = false;\n this.isComplexArraySetter = false;\n this.isServerRendered = false;\n this.allowServerDataBinding = true;\n this.isProtectedOnChange = true;\n this.properties = {};\n this.changedProperties = {};\n this.oldProperties = {};\n this.bulkChanges = {};\n this.refreshing = false;\n this.ignoreCollectionWatch = false;\n this.finalUpdate = function () { };\n this.childChangedProperties = {};\n this.modelObserver = new _observer__WEBPACK_IMPORTED_MODULE_2__.Observer(this);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(element)) {\n if ('string' === typeof (element)) {\n this.element = document.querySelector(element);\n }\n else {\n this.element = element;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element)) {\n this.isProtectedOnChange = false;\n this.addInstance();\n }\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(options)) {\n this.setProperties(options, true);\n }\n this.isDestroyed = false;\n }\n /** Property base section */\n /**\n * Function used to set bunch of property at a time.\n *\n * @private\n * @param {Object} prop - JSON object which holds components properties.\n * @param {boolean} muteOnChange ? - Specifies to true when we set properties.\n * @returns {void} ?\n */\n Base.prototype.setProperties = function (prop, muteOnChange) {\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = !!muteOnChange;\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(this, prop);\n if (muteOnChange !== true) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(this.changedProperties, prop);\n this.dataBind();\n }\n else if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && this.isRendered) {\n this.serverDataBind(prop);\n }\n this.finalUpdate();\n this.changedProperties = {};\n this.oldProperties = {};\n this.isProtectedOnChange = prevDetection;\n };\n /**\n * Calls for child element data bind\n *\n * @param {Object} obj ?\n * @param {Object} parent ?\n * @returns {void} ?\n */\n Base.callChildDataBind = function (obj, parent) {\n var keys = Object.keys(obj);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (parent[\"\" + key] instanceof Array) {\n for (var _a = 0, _b = parent[\"\" + key]; _a < _b.length; _a++) {\n var obj_1 = _b[_a];\n if (obj_1.dataBind !== undefined) {\n obj_1.dataBind();\n }\n }\n }\n else {\n parent[\"\" + key].dataBind();\n }\n }\n };\n Base.prototype.clearChanges = function () {\n this.finalUpdate();\n this.changedProperties = {};\n this.oldProperties = {};\n this.childChangedProperties = {};\n };\n /**\n * Bind property changes immediately to components\n *\n * @returns {void} ?\n */\n Base.prototype.dataBind = function () {\n Base.callChildDataBind(this.childChangedProperties, this);\n if (Object.getOwnPropertyNames(this.changedProperties).length) {\n var prevDetection = this.isProtectedOnChange;\n var newChanges = this.changedProperties;\n var oldChanges = this.oldProperties;\n this.clearChanges();\n this.isProtectedOnChange = true;\n this.onPropertyChanged(newChanges, oldChanges);\n this.isProtectedOnChange = prevDetection;\n }\n };\n Base.prototype.serverDataBind = function (newChanges) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n return;\n }\n newChanges = newChanges ? newChanges : {};\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(this.bulkChanges, {}, newChanges, true);\n var sfBlazor = 'sfBlazor';\n if (this.allowServerDataBinding && window[\"\" + sfBlazor].updateModel) {\n window[\"\" + sfBlazor].updateModel(this);\n this.bulkChanges = {};\n }\n };\n Base.prototype.saveChanges = function (key, newValue, oldValue) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n var newChanges = {};\n newChanges[\"\" + key] = newValue;\n this.serverDataBind(newChanges);\n }\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[\"\" + key] = oldValue;\n this.changedProperties[\"\" + key] = newValue;\n this.finalUpdate();\n this.finalUpdate = (0,_util__WEBPACK_IMPORTED_MODULE_0__.setImmediate)(this.dataBind.bind(this));\n };\n /** Event Base Section */\n /**\n * Adds the handler to the given event listener.\n *\n * @param {string} eventName - A String that specifies the name of the event\n * @param {Function} handler - Specifies the call to run when the event occurs.\n * @returns {void} ?\n */\n Base.prototype.addEventListener = function (eventName, handler) {\n this.modelObserver.on(eventName, handler);\n };\n /**\n * Removes the handler from the given event listener.\n *\n * @param {string} eventName - A String that specifies the name of the event to remove\n * @param {Function} handler - Specifies the function to remove\n * @returns {void} ?\n */\n Base.prototype.removeEventListener = function (eventName, handler) {\n this.modelObserver.off(eventName, handler);\n };\n /**\n * Triggers the handlers in the specified event.\n *\n * @private\n * @param {string} eventName - Specifies the event to trigger for the specified component properties.\n * Can be a custom event, or any of the standard events.\n * @param {Event} eventProp - Additional parameters to pass on to the event properties\n * @param {Function} successHandler - this function will invoke after event successfully triggered\n * @param {Function} errorHandler - this function will invoke after event if it failured to call.\n * @returns {void} ?\n */\n Base.prototype.trigger = function (eventName, eventProp, successHandler, errorHandler) {\n var _this = this;\n if (this.isDestroyed !== true) {\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n var data = this.modelObserver.notify(eventName, eventProp, successHandler, errorHandler);\n if (isColEName.test(eventName)) {\n var handler = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(eventName, this);\n if (handler) {\n var blazor = 'Blazor';\n if (window[\"\" + blazor]) {\n var promise = handler.call(this, eventProp);\n if (promise && typeof promise.then === 'function') {\n if (!successHandler) {\n data = promise;\n }\n else {\n promise.then(function (data) {\n if (successHandler) {\n data = typeof data === 'string' && _this.modelObserver.isJson(data) ?\n JSON.parse(data) : data;\n successHandler.call(_this, data);\n }\n }).catch(function (data) {\n if (errorHandler) {\n data = typeof data === 'string' && _this.modelObserver.isJson(data) ? JSON.parse(data) : data;\n errorHandler.call(_this, data);\n }\n });\n }\n }\n else if (successHandler) {\n successHandler.call(this, eventProp);\n }\n }\n else {\n handler.call(this, eventProp);\n if (successHandler) {\n successHandler.call(this, eventProp);\n }\n }\n }\n else if (successHandler) {\n successHandler.call(this, eventProp);\n }\n }\n this.isProtectedOnChange = prevDetection;\n return data;\n }\n };\n /**\n * To maintain instance in base class\n *\n * @returns {void} ?\n */\n Base.prototype.addInstance = function () {\n // Add module class to the root element\n var moduleClass = 'e-' + this.getModuleName().toLowerCase();\n (0,_dom__WEBPACK_IMPORTED_MODULE_1__.addClass)([this.element], ['e-lib', moduleClass]);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.ej2_instances)) {\n this.element.ej2_instances.push(this);\n }\n else {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', [this], this.element);\n }\n };\n /**\n * To remove the instance from the element\n *\n * @returns {void} ?\n */\n Base.prototype.destroy = function () {\n var _this = this;\n // eslint-disable-next-line camelcase\n this.element.ej2_instances =\n this.element.ej2_instances ?\n this.element.ej2_instances.filter(function (i) {\n if (proxyToRaw) {\n return proxyToRaw(i) !== proxyToRaw(_this);\n }\n return i !== _this;\n })\n : [];\n (0,_dom__WEBPACK_IMPORTED_MODULE_1__.removeClass)([this.element], ['e-' + this.getModuleName()]);\n if (this.element.ej2_instances.length === 0) {\n // Remove module class from the root element\n (0,_dom__WEBPACK_IMPORTED_MODULE_1__.removeClass)([this.element], ['e-lib']);\n }\n this.clearChanges();\n this.modelObserver.destroy();\n this.isDestroyed = true;\n };\n return Base;\n}());\n\n/**\n * Global function to get the component instance from the rendered element.\n *\n * @param {HTMLElement} elem Specifies the HTMLElement or element id string.\n * @param {string} comp Specifies the component module name or Component.\n * @returns {any} ?\n */\nfunction getComponent(elem, comp) {\n var instance;\n var i;\n var ele = typeof elem === 'string' ? document.getElementById(elem) : elem;\n if (ele && ele.ej2_instances) {\n for (i = 0; i < ele.ej2_instances.length; i++) {\n instance = ele.ej2_instances[parseInt(i.toString(), 10)];\n if (typeof comp === 'string') {\n var compName = instance.getModuleName();\n if (comp === compName) {\n return instance;\n }\n }\n else {\n if (instance instanceof comp) {\n return instance;\n }\n }\n }\n }\n return undefined;\n}\n/**\n * Function to remove the child instances.\n *\n * @param {HTMLElement} element ?\n * @returns {void} ?\n * @private\n */\nfunction removeChildInstance(element) {\n var childEle = [].slice.call(element.getElementsByClassName('e-control'));\n for (var i = 0; i < childEle.length; i++) {\n var compName = childEle[parseInt(i.toString(), 10)].classList[1].split('e-')[1];\n var compInstance = getComponent(childEle[parseInt(i.toString(), 10)], compName);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(compInstance)) {\n compInstance.destroy();\n }\n }\n}\nvar proxyToRaw;\nvar setProxyToRaw = function (toRaw) { proxyToRaw = toRaw; };\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/browser.js": +/*!**********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/browser.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Browser: () => (/* binding */ Browser)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nvar REGX_MOBILE = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini|mobile/i;\nvar REGX_IE = /msie|trident/i;\nvar REGX_IE11 = /Trident\\/7\\./;\nvar REGX_IOS = /(ipad|iphone|ipod touch)/i;\nvar REGX_IOS7 = /(ipad|iphone|ipod touch);.*os 7_\\d|(ipad|iphone|ipod touch);.*os 8_\\d/i;\nvar REGX_ANDROID = /android/i;\nvar REGX_WINDOWS = /trident|windows phone|edge/i;\nvar REGX_VERSION = /(version)[ /]([\\w.]+)/i;\nvar REGX_BROWSER = {\n OPERA: /(opera|opr)(?:.*version|)[ /]([\\w.]+)/i,\n EDGE: /(edge)(?:.*version|)[ /]([\\w.]+)/i,\n CHROME: /(chrome|crios)[ /]([\\w.]+)/i,\n PANTHOMEJS: /(phantomjs)[ /]([\\w.]+)/i,\n SAFARI: /(safari)[ /]([\\w.]+)/i,\n WEBKIT: /(webkit)[ /]([\\w.]+)/i,\n MSIE: /(msie|trident) ([\\w.]+)/i,\n MOZILLA: /(mozilla)(?:.*? rv:([\\w.]+)|)/i\n};\n/* istanbul ignore else */\nif (typeof window !== 'undefined') {\n window.browserDetails = window.browserDetails || {};\n}\n/**\n * Get configuration details for Browser\n *\n * @private\n */\nvar Browser = /** @class */ (function () {\n function Browser() {\n }\n Browser.extractBrowserDetail = function () {\n var browserInfo = { culture: {} };\n var keys = Object.keys(REGX_BROWSER);\n var clientInfo = [];\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n clientInfo = Browser.userAgent.match(REGX_BROWSER[\"\" + key]);\n if (clientInfo) {\n browserInfo.name = (clientInfo[1].toLowerCase() === 'opr' ? 'opera' : clientInfo[1].toLowerCase());\n browserInfo.name = (clientInfo[1].toLowerCase() === 'crios' ? 'chrome' : browserInfo.name);\n browserInfo.version = clientInfo[2];\n browserInfo.culture.name = browserInfo.culture.language = navigator.language;\n if (Browser.userAgent.match(REGX_IE11)) {\n browserInfo.name = 'msie';\n break;\n }\n var version = Browser.userAgent.match(REGX_VERSION);\n if (browserInfo.name === 'safari' && version) {\n browserInfo.version = version[2];\n }\n break;\n }\n }\n return browserInfo;\n };\n /**\n * To get events from the browser\n *\n * @param {string} event - type of event triggered.\n * @returns {string} ?\n */\n Browser.getEvent = function (event) {\n var events = {\n start: {\n isPointer: 'pointerdown', isTouch: 'touchstart', isDevice: 'mousedown'\n },\n move: {\n isPointer: 'pointermove', isTouch: 'touchmove', isDevice: 'mousemove'\n },\n end: {\n isPointer: 'pointerup', isTouch: 'touchend', isDevice: 'mouseup'\n },\n cancel: {\n isPointer: 'pointercancel', isTouch: 'touchcancel', isDevice: 'mouseleave'\n }\n };\n return (Browser.isPointer ? events[\"\" + event].isPointer :\n (Browser.isTouch ? events[\"\" + event].isTouch + (!Browser.isDevice ? ' ' + events[\"\" + event].isDevice : '')\n : events[\"\" + event].isDevice));\n };\n /**\n * To get the Touch start event from browser\n *\n * @returns {string}\n */\n Browser.getTouchStartEvent = function () {\n return Browser.getEvent('start');\n };\n /**\n * To get the Touch end event from browser\n *\n * @returns {string}\n */\n Browser.getTouchEndEvent = function () {\n return Browser.getEvent('end');\n };\n /**\n * To get the Touch move event from browser\n *\n * @returns {string}\n */\n Browser.getTouchMoveEvent = function () {\n return Browser.getEvent('move');\n };\n /**\n * To cancel the touch event from browser\n *\n * @returns {string}\n */\n Browser.getTouchCancelEvent = function () {\n return Browser.getEvent('cancel');\n };\n /**\n * Check whether the browser on the iPad device is Safari or not\n *\n * @returns {boolean}\n */\n Browser.isSafari = function () {\n return (Browser.isDevice && Browser.isIos && Browser.isTouch && typeof window !== 'undefined'\n && window.navigator.userAgent.toLowerCase().indexOf('iphone') === -1\n && window.navigator.userAgent.toLowerCase().indexOf('safari') > -1);\n };\n /**\n * To get the value based on provided key and regX\n *\n * @param {string} key ?\n * @param {RegExp} regX ?\n * @returns {Object} ?\n */\n Browser.getValue = function (key, regX) {\n var browserDetails = typeof window !== 'undefined' ? window.browserDetails : {};\n if (typeof navigator !== 'undefined' && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && Browser.isTouch === true && !REGX_BROWSER.CHROME.test(navigator.userAgent)) {\n browserDetails['isIos'] = true;\n browserDetails['isDevice'] = true;\n browserDetails['isTouch'] = true;\n browserDetails['isPointer'] = true;\n // Set 'isPointer' for pointer-enabled devices (e.g., iPad on Safari)\n browserDetails['isPointer'] = ('pointerEnabled' in window.navigator);\n }\n if (typeof window !== 'undefined' && window.Capacitor && window.Capacitor.getPlatform() === 'ios') {\n browserDetails['isPointer'] = false;\n }\n if ('undefined' === typeof browserDetails[\"\" + key]) {\n return browserDetails[\"\" + key] = regX.test(Browser.userAgent);\n }\n return browserDetails[\"\" + key];\n };\n Object.defineProperty(Browser, \"userAgent\", {\n get: function () {\n return Browser.uA;\n },\n //Properties\n /**\n * Property specifies the userAgent of the browser. Default userAgent value is based on the browser.\n * Also we can set our own userAgent.\n *\n * @param {string} uA ?\n */\n set: function (uA) {\n Browser.uA = uA;\n window.browserDetails = {};\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"info\", {\n //Read Only Properties\n /**\n * Property is to get the browser information like Name, Version and Language\n *\n * @returns {BrowserInfo} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.info)) {\n return window.browserDetails.info = Browser.extractBrowserDetail();\n }\n return window.browserDetails.info;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isIE\", {\n /**\n * Property is to get whether the userAgent is based IE.\n *\n * @returns {boolean} ?\n */\n get: function () {\n return Browser.getValue('isIE', REGX_IE);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isTouch\", {\n /**\n * Property is to get whether the browser has touch support.\n *\n * @returns {boolean} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.isTouch)) {\n return (window.browserDetails.isTouch =\n ('ontouchstart' in window.navigator) ||\n (window &&\n window.navigator &&\n (window.navigator.maxTouchPoints > 0)) || ('ontouchstart' in window));\n }\n return window.browserDetails.isTouch;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isPointer\", {\n /**\n * Property is to get whether the browser has Pointer support.\n *\n * @returns {boolean} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.isPointer)) {\n return window.browserDetails.isPointer = ('pointerEnabled' in window.navigator);\n }\n return window.browserDetails.isPointer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isMSPointer\", {\n /**\n * Property is to get whether the browser has MSPointer support.\n *\n * @returns {boolean} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.isMSPointer)) {\n return window.browserDetails.isMSPointer = ('msPointerEnabled' in window.navigator);\n }\n return window.browserDetails.isMSPointer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isDevice\", {\n /**\n * Property is to get whether the userAgent is device based.\n *\n * @returns {boolean} ?\n */\n get: function () {\n return Browser.getValue('isDevice', REGX_MOBILE);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isIos\", {\n /**\n * Property is to get whether the userAgent is IOS.\n *\n * @returns {boolean} ?\n */\n get: function () {\n return Browser.getValue('isIos', REGX_IOS);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isIos7\", {\n /**\n * Property is to get whether the userAgent is Ios7.\n *\n * @returns {boolean} ?\n */\n get: function () {\n return Browser.getValue('isIos7', REGX_IOS7);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isAndroid\", {\n /**\n * Property is to get whether the userAgent is Android.\n *\n * @returns {boolean} ?\n */\n get: function () {\n return Browser.getValue('isAndroid', REGX_ANDROID);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isWebView\", {\n /**\n * Property is to identify whether application ran in web view.\n *\n * @returns {boolean} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.isWebView)) {\n window.browserDetails.isWebView = !((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.cordova) && (0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.PhoneGap)\n && (0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.phonegap) && window.forge !== 'object');\n return window.browserDetails.isWebView;\n }\n return window.browserDetails.isWebView;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"isWindows\", {\n /**\n * Property is to get whether the userAgent is Windows.\n *\n * @returns {boolean} ?\n */\n get: function () {\n return Browser.getValue('isWindows', REGX_WINDOWS);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"touchStartEvent\", {\n /**\n * Property is to get the touch start event. It returns event name based on browser.\n *\n * @returns {string} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.touchStartEvent)) {\n return window.browserDetails.touchStartEvent = Browser.getTouchStartEvent();\n }\n return window.browserDetails.touchStartEvent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"touchMoveEvent\", {\n /**\n * Property is to get the touch move event. It returns event name based on browser.\n *\n * @returns {string} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.touchMoveEvent)) {\n return window.browserDetails.touchMoveEvent = Browser.getTouchMoveEvent();\n }\n return window.browserDetails.touchMoveEvent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"touchEndEvent\", {\n /**\n * Property is to get the touch end event. It returns event name based on browser.\n *\n * @returns {string} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.touchEndEvent)) {\n return window.browserDetails.touchEndEvent = Browser.getTouchEndEvent();\n }\n return window.browserDetails.touchEndEvent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Browser, \"touchCancelEvent\", {\n /**\n * Property is to cancel the touch end event.\n *\n * @returns {string} ?\n */\n get: function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(window.browserDetails.touchCancelEvent)) {\n return window.browserDetails.touchCancelEvent = Browser.getTouchCancelEvent();\n }\n return window.browserDetails.touchCancelEvent;\n },\n enumerable: true,\n configurable: true\n });\n /* istanbul ignore next */\n Browser.uA = typeof navigator !== 'undefined' ? navigator.userAgent : '';\n return Browser;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/browser.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/child-property.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/child-property.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChildProperty: () => (/* binding */ ChildProperty)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n/**\n * To detect the changes for inner properties.\n *\n * @private\n * @returns {void} ?\n */\nvar ChildProperty = /** @class */ (function () {\n function ChildProperty(parent, propName, defaultValue, isArray) {\n this.isComplexArraySetter = false;\n this.properties = {};\n this.changedProperties = {};\n this.childChangedProperties = {};\n this.oldProperties = {};\n this.finalUpdate = function () { };\n this.callChildDataBind = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('callChildDataBind', _base__WEBPACK_IMPORTED_MODULE_1__.Base);\n this.parentObj = parent;\n this.controlParent = this.parentObj.controlParent || this.parentObj;\n this.propName = propName;\n this.isParentArray = isArray;\n this.setProperties(defaultValue, true);\n }\n /**\n * Updates the property changes\n *\n * @param {boolean} val ?\n * @param {string} propName ?\n * @returns {void} ?\n */\n ChildProperty.prototype.updateChange = function (val, propName) {\n if (val === true) {\n this.parentObj.childChangedProperties[\"\" + propName] = val;\n }\n else {\n delete this.parentObj.childChangedProperties[\"\" + propName];\n }\n if (this.parentObj.updateChange) {\n this.parentObj.updateChange(val, this.parentObj.propName);\n }\n };\n /**\n * Updates time out duration\n *\n * @returns {void} ?\n */\n ChildProperty.prototype.updateTimeOut = function () {\n if (this.parentObj.updateTimeOut) {\n this.parentObj.finalUpdate();\n this.parentObj.updateTimeOut();\n }\n else {\n var changeTime_1 = setTimeout(this.parentObj.dataBind.bind(this.parentObj));\n var clearUpdate = function () {\n clearTimeout(changeTime_1);\n };\n this.finalUpdate = clearUpdate;\n }\n };\n /**\n * Clears changed properties\n *\n * @returns {void} ?\n */\n ChildProperty.prototype.clearChanges = function () {\n this.finalUpdate();\n this.updateChange(false, this.propName);\n this.oldProperties = {};\n this.changedProperties = {};\n };\n /**\n * Set property changes\n *\n * @param {Object} prop ?\n * @param {boolean} muteOnChange ?\n * @returns {void} ?\n */\n ChildProperty.prototype.setProperties = function (prop, muteOnChange) {\n if (muteOnChange === true) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(this, prop);\n this.updateChange(false, this.propName);\n this.clearChanges();\n }\n else {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(this, prop);\n }\n };\n /**\n * Binds data\n *\n * @returns {void} ?\n */\n ChildProperty.prototype.dataBind = function () {\n this.callChildDataBind(this.childChangedProperties, this);\n if (this.isParentArray) {\n var curIndex = this.parentObj[this.propName].indexOf(this);\n if (Object.keys(this.changedProperties).length) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.setValue)(this.propName + '.' + curIndex, this.changedProperties, this.parentObj.changedProperties);\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.setValue)(this.propName + '.' + curIndex, this.oldProperties, this.parentObj.oldProperties);\n }\n }\n else {\n this.parentObj.changedProperties[this.propName] = this.changedProperties;\n this.parentObj.oldProperties[this.propName] = this.oldProperties;\n }\n this.clearChanges();\n };\n /**\n * Saves changes to newer values\n *\n * @param {string} key ?\n * @param {Object} newValue ?\n * @param {Object} oldValue ?\n * @param {boolean} restrictServerDataBind ?\n * @returns {void} ?\n */\n ChildProperty.prototype.saveChanges = function (key, newValue, oldValue, restrictServerDataBind) {\n if (this.controlParent.isProtectedOnChange) {\n return;\n }\n if (!restrictServerDataBind) {\n this.serverDataBind(key, newValue, true);\n }\n this.oldProperties[\"\" + key] = oldValue;\n this.changedProperties[\"\" + key] = newValue;\n this.updateChange(true, this.propName);\n this.finalUpdate();\n this.updateTimeOut();\n };\n ChildProperty.prototype.serverDataBind = function (key, value, isSaveChanges, action) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.parentObj.isComplexArraySetter) {\n var parent_1;\n var newChanges = {};\n var parentKey = isSaveChanges ? this.getParentKey(true) + '.' + key : key;\n /* istanbul ignore else */\n if (parentKey.indexOf('.') !== -1) {\n var complexKeys = parentKey.split('.');\n parent_1 = newChanges;\n for (var i = 0; i < complexKeys.length; i++) {\n var isFinal = i === complexKeys.length - 1;\n parent_1[complexKeys[parseInt(i.toString(), 10)]] = isFinal ? value : {};\n parent_1 = isFinal ? parent_1 : parent_1[complexKeys[parseInt(i.toString(), 10)]];\n }\n }\n else {\n newChanges[\"\" + parentKey] = {};\n parent_1 = newChanges[\"\" + parentKey];\n newChanges[\"\" + parentKey][\"\" + key] = value;\n }\n /* istanbul ignore next */\n if (this.isParentArray) {\n var actionProperty = 'ejsAction';\n parent_1[\"\" + actionProperty] = action ? action : 'none';\n }\n this.controlParent.serverDataBind(newChanges);\n }\n };\n ChildProperty.prototype.getParentKey = function (isSaveChanges) {\n var index = '';\n var propName = this.propName;\n /* istanbul ignore next */\n if (this.isParentArray) {\n index = this.parentObj[this.propName].indexOf(this);\n var valueLength = this.parentObj[this.propName].length;\n valueLength = isSaveChanges ? valueLength : (valueLength > 0 ? valueLength - 1 : 0);\n index = index !== -1 ? '-' + index : '-' + valueLength;\n propName = propName + index;\n }\n if (this.controlParent !== this.parentObj) {\n propName = this.parentObj.getParentKey() + '.' + this.propName + index;\n }\n return propName;\n };\n return ChildProperty;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/child-property.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/component.js": +/*!************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/component.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Component: () => (/* binding */ Component),\n/* harmony export */ enableVersionBasedPersistence: () => (/* binding */ enableVersionBasedPersistence),\n/* harmony export */ versionBasedStatePersistence: () => (/* binding */ versionBasedStatePersistence)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _module_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./module-loader */ \"./node_modules/@syncfusion/ej2-base/src/module-loader.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* harmony import */ var _observer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./observer */ \"./node_modules/@syncfusion/ej2-base/src/observer.js\");\n/* harmony import */ var _child_property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./child-property */ \"./node_modules/@syncfusion/ej2-base/src/child-property.js\");\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\n/* harmony import */ var _internationalization__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./internationalization */ \"./node_modules/@syncfusion/ej2-base/src/internationalization.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _validate_lic__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./validate-lic */ \"./node_modules/@syncfusion/ej2-base/src/validate-lic.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\n\n\n\n\n\n\n\n\n\nvar componentCount = 0;\nvar lastPageID;\nvar lastHistoryLen = 0;\n// Decalre the static variable to count the instance\nvar instancecount = 0;\n// Decalre the static variable to find if control limit exceed or not\nvar isvalid = true;\n// We have added styles to inline type so here declare the static variable to detect if banner is added or not\nvar isBannerAdded = false;\nvar versionBasedStatePersistence = false;\n/**\n * To enable or disable version based statePersistence functionality for all components globally.\n *\n * @param {boolean} status - Optional argument Specifies the status value to enable or disable versionBasedStatePersistence option.\n * @returns {void}\n */\nfunction enableVersionBasedPersistence(status) {\n versionBasedStatePersistence = status;\n}\n/**\n * Base class for all Essential JavaScript components\n */\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n /**\n * Initialize the constructor for component base\n *\n * @param {Object} options ?\n * @param {string} selector ?\n */\n function Component(options, selector) {\n var _this = _super.call(this, options, selector) || this;\n _this.randomId = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uniqueID)();\n /**\n * string template option for Blazor template rendering\n *\n * @private\n */\n _this.isStringTemplate = false;\n _this.needsID = false;\n _this.isReactHybrid = false;\n _this.isAngular = false;\n _this.isReact = false;\n _this.isVue = false;\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.enableRtl)) {\n _this.setProperties({ 'enableRtl': _internationalization__WEBPACK_IMPORTED_MODULE_6__.rightToLeft }, true);\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.locale)) {\n _this.setProperties({ 'locale': _internationalization__WEBPACK_IMPORTED_MODULE_6__.defaultCulture }, true);\n }\n _this.moduleLoader = new _module_loader__WEBPACK_IMPORTED_MODULE_1__.ModuleLoader(_this);\n _this.localObserver = new _observer__WEBPACK_IMPORTED_MODULE_3__.Observer(_this);\n _internationalization__WEBPACK_IMPORTED_MODULE_6__.onIntlChange.on('notifyExternalChange', _this.detectFunction, _this, _this.randomId);\n // Based on the considered control list we have count the instance\n if (typeof window !== 'undefined' && typeof document !== 'undefined' && !(0,_validate_lic__WEBPACK_IMPORTED_MODULE_8__.validateLicense)()) {\n if (_validate_lic__WEBPACK_IMPORTED_MODULE_8__.componentList.indexOf(_this.getModuleName()) !== -1) {\n instancecount = instancecount + 1;\n if (instancecount > 5) {\n isvalid = false;\n }\n }\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(selector)) {\n _this.appendTo();\n }\n return _this;\n }\n Component.prototype.requiredModules = function () {\n return [];\n };\n /**\n * Destroys the sub modules while destroying the widget\n *\n * @returns {void} ?\n */\n Component.prototype.destroy = function () {\n if (this.isDestroyed) {\n return;\n }\n if (this.enablePersistence) {\n this.setPersistData();\n this.detachUnloadEvent();\n }\n this.localObserver.destroy();\n if (this.refreshing) {\n return;\n }\n (0,_dom__WEBPACK_IMPORTED_MODULE_7__.removeClass)([this.element], ['e-control']);\n this.trigger('destroyed', { cancel: false });\n _super.prototype.destroy.call(this);\n this.moduleLoader.clean();\n _internationalization__WEBPACK_IMPORTED_MODULE_6__.onIntlChange.off('notifyExternalChange', this.detectFunction, this.randomId);\n };\n /**\n * Applies all the pending property changes and render the component again.\n *\n * @returns {void} ?\n */\n Component.prototype.refresh = function () {\n this.refreshing = true;\n this.moduleLoader.clean();\n this.destroy();\n this.clearChanges();\n this.localObserver = new _observer__WEBPACK_IMPORTED_MODULE_3__.Observer(this);\n this.preRender();\n this.injectModules();\n this.render();\n this.refreshing = false;\n };\n Component.prototype.accessMount = function () {\n if (this.mount && !this.isReactHybrid) {\n this.mount();\n }\n };\n /**\n * Returns the route element of the component\n *\n * @returns {HTMLElement} ?\n */\n Component.prototype.getRootElement = function () {\n if (this.isReactHybrid) {\n return this.actualElement;\n }\n else {\n return this.element;\n }\n };\n /**\n * Returns the persistence data for component\n *\n * @returns {any} ?\n */\n Component.prototype.getLocalData = function () {\n var eleId = this.getModuleName() + this.element.id;\n if (versionBasedStatePersistence) {\n return window.localStorage.getItem(eleId + this.ej2StatePersistenceVersion);\n }\n else {\n return window.localStorage.getItem(eleId);\n }\n };\n /**\n * Adding unload event to persist data when enable persistence true\n *\n * @returns {void}\n */\n Component.prototype.attachUnloadEvent = function () {\n this.handleUnload = this.handleUnload.bind(this);\n window.addEventListener('pagehide', this.handleUnload);\n };\n /**\n * Handling unload event to persist data when enable persistence true\n *\n * @returns {void}\n */\n Component.prototype.handleUnload = function () {\n this.setPersistData();\n };\n /**\n * Removing unload event to persist data when enable persistence true\n *\n * @returns {void}\n */\n Component.prototype.detachUnloadEvent = function () {\n window.removeEventListener('pagehide', this.handleUnload);\n };\n /**\n * Appends the control within the given HTML element\n *\n * @param {string | HTMLElement} selector - Target element where control needs to be appended\n * @returns {void} ?\n */\n Component.prototype.appendTo = function (selector) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selector) && typeof (selector) === 'string') {\n this.element = (0,_dom__WEBPACK_IMPORTED_MODULE_7__.select)(selector, document);\n }\n else if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selector)) {\n this.element = selector;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element)) {\n var moduleClass = 'e-' + this.getModuleName().toLowerCase();\n (0,_dom__WEBPACK_IMPORTED_MODULE_7__.addClass)([this.element], ['e-control', moduleClass]);\n this.isProtectedOnChange = false;\n if (this.needsID && !this.element.id) {\n this.element.id = this.getUniqueID(this.getModuleName());\n }\n if (this.enablePersistence) {\n this.mergePersistData();\n this.attachUnloadEvent();\n }\n var inst = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', this.element);\n if (!inst || inst.indexOf(this) === -1) {\n _super.prototype.addInstance.call(this);\n }\n this.preRender();\n this.injectModules();\n // Throw a warning for the required modules to be injected.\n var ignoredComponents = {\n schedule: 'all',\n diagram: 'all',\n PdfViewer: 'all',\n grid: ['logger'],\n richtexteditor: ['link', 'table', 'image', 'audio', 'video', 'formatPainter', 'emojiPicker', 'pasteCleanup', 'htmlEditor', 'toolbar', 'importExport'],\n treegrid: ['filter'],\n gantt: ['tooltip'],\n chart: ['Export', 'Zoom'],\n accumulationchart: ['Export'],\n 'query-builder': 'all'\n };\n var component = this.getModuleName();\n if (this.requiredModules && (!ignoredComponents[\"\" + component] || ignoredComponents[\"\" + component] !== 'all')) {\n var modulesRequired = this.requiredModules();\n for (var _i = 0, _a = this.moduleLoader.getNonInjectedModules(modulesRequired); _i < _a.length; _i++) {\n var module = _a[_i];\n var moduleName = module.name ? module.name : module.member;\n if (ignoredComponents[\"\" + component] && ignoredComponents[\"\" + component].indexOf(module.member) !== -1) {\n continue;\n }\n var componentName = component.charAt(0).toUpperCase() + component.slice(1); // To capitalize the component name\n console.warn(\"[WARNING] :: Module \\\"\" + moduleName + \"\\\" is not available in \" + componentName + \" component! You either misspelled the module name or forgot to load it.\");\n }\n }\n // Checked weather cases are valid or not. If control leads to more than five counts\n if (!isvalid && !isBannerAdded) {\n (0,_validate_lic__WEBPACK_IMPORTED_MODULE_8__.createLicenseOverlay)();\n isBannerAdded = true;\n }\n this.render();\n if (!this.mount) {\n this.trigger('created');\n }\n else {\n this.accessMount();\n }\n }\n };\n /**\n * It is used to process the post rendering functionalities to a component.\n *\n * @param {Node} wrapperElement ?\n * @returns {void} ?\n */\n Component.prototype.renderComplete = function (wrapperElement) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n var sfBlazor = 'sfBlazor';\n window[\"\" + sfBlazor].renderComplete(this.element, wrapperElement);\n }\n this.isRendered = true;\n };\n /**\n * When invoked, applies the pending property changes immediately to the component.\n *\n * @returns {void} ?\n */\n Component.prototype.dataBind = function () {\n this.injectModules();\n _super.prototype.dataBind.call(this);\n };\n /**\n * Attach one or more event handler to the current component context.\n * It is used for internal handling event internally within the component only.\n *\n * @param {BoundOptions[]| string} event - It is optional type either to Set the collection of event list or the eventName.\n * @param {Function} handler - optional parameter Specifies the handler to run when the event occurs\n * @param {Object} context - optional parameter Specifies the context to be bind in the handler.\n * @returns {void} ?\n * @private\n */\n Component.prototype.on = function (event, handler, context) {\n if (typeof event === 'string') {\n this.localObserver.on(event, handler, context);\n }\n else {\n for (var _i = 0, event_1 = event; _i < event_1.length; _i++) {\n var arg = event_1[_i];\n this.localObserver.on(arg.event, arg.handler, arg.context);\n }\n }\n };\n /**\n * To remove one or more event handler that has been attached with the on() method.\n *\n * @param {BoundOptions[]| string} event - It is optional type either to Set the collection of event list or the eventName.\n * @param {Function} handler - optional parameter Specifies the function to run when the event occurs\n * @returns {void} ?\n * @private\n */\n Component.prototype.off = function (event, handler) {\n if (typeof event === 'string') {\n this.localObserver.off(event, handler);\n }\n else {\n for (var _i = 0, event_2 = event; _i < event_2.length; _i++) {\n var arg = event_2[_i];\n this.localObserver.off(arg.event, arg.handler);\n }\n }\n };\n /**\n * To notify the handlers in the specified event.\n *\n * @param {string} property - Specifies the event to be notify.\n * @param {Object} argument - Additional parameters to pass while calling the handler.\n * @returns {void} ?\n * @private\n */\n Component.prototype.notify = function (property, argument) {\n if (this.isDestroyed !== true) {\n this.localObserver.notify(property, argument);\n }\n };\n /**\n * Get injected modules\n *\n * @returns {Function} ?\n * @private\n */\n Component.prototype.getInjectedModules = function () {\n return this.injectedModules;\n };\n /**\n * Dynamically injects the required modules to the component.\n *\n * @param {Function} moduleList ?\n * @returns {void} ?\n */\n Component.Inject = function () {\n var moduleList = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n moduleList[_i] = arguments[_i];\n }\n if (!this.prototype.injectedModules) {\n this.prototype.injectedModules = [];\n }\n for (var i = 0; i < moduleList.length; i++) {\n if (this.prototype.injectedModules.indexOf(moduleList[parseInt(i.toString(), 10)]) === -1) {\n this.prototype.injectedModules.push(moduleList[parseInt(i.toString(), 10)]);\n }\n }\n };\n /**\n * This is a instance method to create an element.\n *\n * @param {string} tagName ?\n * @param {ElementProperties} prop ?\n * @param {boolean} isVDOM ?\n * @returns {any} ?\n * @private\n */\n Component.prototype.createElement = function (tagName, prop, isVDOM) {\n return (0,_dom__WEBPACK_IMPORTED_MODULE_7__.createElement)(tagName, prop);\n };\n /**\n *\n * @param {Function} handler - handler to be triggered after state Updated.\n * @param {any} argument - Arguments to be passed to caller.\n * @returns {void} .\n * @private\n */\n Component.prototype.triggerStateChange = function (handler, argument) {\n if (this.isReactHybrid) {\n this.setState();\n this.currentContext = { calls: handler, args: argument };\n }\n };\n Component.prototype.injectModules = function () {\n if (this.injectedModules && this.injectedModules.length) {\n this.moduleLoader.inject(this.requiredModules(), this.injectedModules);\n }\n };\n Component.prototype.detectFunction = function (args) {\n var prop = Object.keys(args);\n if (prop.length) {\n this[prop[0]] = args[prop[0]];\n }\n };\n Component.prototype.mergePersistData = function () {\n var data;\n if (versionBasedStatePersistence) {\n data = window.localStorage.getItem(this.getModuleName() + this.element.id + this.ej2StatePersistenceVersion);\n }\n else {\n data = window.localStorage.getItem(this.getModuleName() + this.element.id);\n }\n if (!((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data) || (data === ''))) {\n this.setProperties(JSON.parse(data), true);\n }\n };\n Component.prototype.setPersistData = function () {\n if (!this.isDestroyed) {\n if (versionBasedStatePersistence) {\n window.localStorage.setItem(this.getModuleName() +\n this.element.id + this.ej2StatePersistenceVersion, this.getPersistData());\n }\n else {\n window.localStorage.setItem(this.getModuleName() + this.element.id, this.getPersistData());\n }\n }\n };\n Component.prototype.renderReactTemplates = function (callback) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(callback)) {\n callback();\n }\n };\n Component.prototype.clearTemplate = function (templateName, index) {\n //No Code\n };\n Component.prototype.getUniqueID = function (definedName) {\n if (this.isHistoryChanged()) {\n componentCount = 0;\n }\n lastPageID = this.pageID(location.href);\n lastHistoryLen = history.length;\n return definedName + '_' + lastPageID + '_' + componentCount++;\n };\n Component.prototype.pageID = function (url) {\n var hash = 0;\n if (url.length === 0) {\n return hash;\n }\n for (var i = 0; i < url.length; i++) {\n var char = url.charCodeAt(i);\n hash = ((hash << 5) - hash) + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return Math.abs(hash);\n };\n Component.prototype.isHistoryChanged = function () {\n return lastPageID !== this.pageID(location.href) || lastHistoryLen !== history.length;\n };\n Component.prototype.addOnPersist = function (options) {\n var _this = this;\n var persistObj = {};\n for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {\n var key = options_1[_i];\n var objValue = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(key, this);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(objValue)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.setValue)(key, this.getActualProperties(objValue), persistObj);\n }\n }\n return JSON.stringify(persistObj, function (key, value) {\n return _this.getActualProperties(value);\n });\n };\n Component.prototype.getActualProperties = function (obj) {\n if (obj instanceof _child_property__WEBPACK_IMPORTED_MODULE_4__.ChildProperty) {\n return (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('properties', obj);\n }\n else {\n return obj;\n }\n };\n Component.prototype.ignoreOnPersist = function (options) {\n return JSON.stringify(this.iterateJsonProperties(this.properties, options));\n };\n Component.prototype.iterateJsonProperties = function (obj, ignoreList) {\n var newObj = {};\n var _loop_1 = function (key) {\n if (ignoreList.indexOf(key) === -1) {\n var value = obj[\"\" + key];\n if (typeof value === 'object' && !(value instanceof Array)) {\n var newList = ignoreList.filter(function (str) {\n var regExp = RegExp;\n return new regExp(key + '.').test(str);\n }).map(function (str) {\n return str.replace(key + '.', '');\n });\n newObj[\"\" + key] = this_1.iterateJsonProperties(this_1.getActualProperties(value), newList);\n }\n else {\n newObj[\"\" + key] = value;\n }\n }\n };\n var this_1 = this;\n for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {\n var key = _a[_i];\n _loop_1(key);\n }\n return newObj;\n };\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_5__.Property)(false)\n ], Component.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_5__.Property)()\n ], Component.prototype, \"enableRtl\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_5__.Property)()\n ], Component.prototype, \"locale\", void 0);\n Component = __decorate([\n _notify_property_change__WEBPACK_IMPORTED_MODULE_5__.NotifyPropertyChanges\n ], Component);\n return Component;\n}(_base__WEBPACK_IMPORTED_MODULE_2__.Base));\n\n//Function handling for page navigation detection\n/* istanbul ignore next */\n(function () {\n if (typeof window !== 'undefined') {\n window.addEventListener('popstate', \n /* istanbul ignore next */\n function () {\n componentCount = 0;\n });\n }\n})();\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/component.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/dom.js": +/*!******************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/dom.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addClass: () => (/* binding */ addClass),\n/* harmony export */ append: () => (/* binding */ append),\n/* harmony export */ attributes: () => (/* binding */ attributes),\n/* harmony export */ classList: () => (/* binding */ classList),\n/* harmony export */ cloneNode: () => (/* binding */ cloneNode),\n/* harmony export */ closest: () => (/* binding */ closest),\n/* harmony export */ containsClass: () => (/* binding */ containsClass),\n/* harmony export */ createElement: () => (/* binding */ createElement),\n/* harmony export */ detach: () => (/* binding */ detach),\n/* harmony export */ getAttributeOrDefault: () => (/* binding */ getAttributeOrDefault),\n/* harmony export */ includeInnerHTML: () => (/* binding */ includeInnerHTML),\n/* harmony export */ isVisible: () => (/* binding */ isVisible),\n/* harmony export */ matches: () => (/* binding */ matches),\n/* harmony export */ prepend: () => (/* binding */ prepend),\n/* harmony export */ remove: () => (/* binding */ remove),\n/* harmony export */ removeClass: () => (/* binding */ removeClass),\n/* harmony export */ select: () => (/* binding */ select),\n/* harmony export */ selectAll: () => (/* binding */ selectAll),\n/* harmony export */ setStyleAttribute: () => (/* binding */ setStyleAttribute),\n/* harmony export */ siblings: () => (/* binding */ siblings),\n/* harmony export */ updateCSSText: () => (/* binding */ updateCSSText)\n/* harmony export */ });\n/* harmony import */ var _event_handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event-handler */ \"./node_modules/@syncfusion/ej2-base/src/event-handler.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Functions related to dom operations.\n */\n\n\nvar SVG_REG = /^svg|^path|^g/;\n/**\n * Function to create Html element.\n *\n * @param {string} tagName - Name of the tag, id and class names.\n * @param {ElementProperties} properties - Object to set properties in the element.\n * @param {ElementProperties} properties.id - To set the id to the created element.\n * @param {ElementProperties} properties.className - To add classes to the element.\n * @param {ElementProperties} properties.innerHTML - To set the innerHTML to element.\n * @param {ElementProperties} properties.styles - To set the some custom styles to element.\n * @param {ElementProperties} properties.attrs - To set the attributes to element.\n * @returns {any} ?\n * @private\n */\nfunction createElement(tagName, properties) {\n var element = (SVG_REG.test(tagName) ? document.createElementNS('http://www.w3.org/2000/svg', tagName) : document.createElement(tagName));\n if (typeof (properties) === 'undefined') {\n return element;\n }\n element.innerHTML = (properties.innerHTML ? properties.innerHTML : '');\n if (properties.className !== undefined) {\n element.className = properties.className;\n }\n if (properties.id !== undefined) {\n element.id = properties.id;\n }\n if (properties.styles !== undefined) {\n element.style.cssText = properties.styles;\n }\n if (properties.attrs !== undefined) {\n attributes(element, properties.attrs);\n }\n return element;\n}\n/**\n * Updates the CSS text of an element by merging new styles with existing styles.\n *\n * @param {HTMLElement} element - The element whose styles need to be updated.\n * @param {string} cssText - The new CSS styles to be added or updated.\n * @returns {void}\n */\nfunction updateCSSText(element, cssText) {\n var existingStyles = element.style.cssText.split(';').reduce(function (styles, style) {\n var _a = style.split(':'), key = _a[0], value = _a[1];\n if (key && value) {\n styles[key.trim()] = value.trim();\n }\n return styles;\n }, {});\n var newStyles = cssText.split(';').reduce(function (styles, style) {\n var _a = style.split(':'), key = _a[0], value = _a[1];\n if (key && value) {\n styles[key.trim()] = value.trim();\n }\n return styles;\n }, {});\n var styleElement = document.createElement('div');\n // Use safe iteration over keys using Object.keys\n Object.keys(__assign({}, existingStyles, newStyles)).forEach(function (key) {\n styleElement.style.setProperty(key, newStyles[key] || existingStyles[key]);\n });\n element.style.cssText = styleElement.style.cssText;\n}\n/**\n * The function used to add the classes to array of elements\n *\n * @param {Element[]|NodeList} elements - An array of elements that need to add a list of classes\n * @param {string|string[]} classes - String or array of string that need to add an individual element as a class\n * @returns {any} .\n * @private\n */\nfunction addClass(elements, classes) {\n var classList = getClassList(classes);\n var regExp = RegExp;\n for (var _i = 0, _a = elements; _i < _a.length; _i++) {\n var ele = _a[_i];\n for (var _b = 0, classList_1 = classList; _b < classList_1.length; _b++) {\n var className = classList_1[_b];\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isObject)(ele)) {\n var curClass = (0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)('attributes.className', ele);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isNullOrUndefined)(curClass)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_1__.setValue)('attributes.className', className, ele);\n }\n else if (!new regExp('\\\\b' + className + '\\\\b', 'i').test(curClass)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_1__.setValue)('attributes.className', curClass + ' ' + className, ele);\n }\n }\n else {\n if (!ele.classList.contains(className)) {\n ele.classList.add(className);\n }\n }\n }\n }\n return elements;\n}\n/**\n * The function used to add the classes to array of elements\n *\n * @param {Element[]|NodeList} elements - An array of elements that need to remove a list of classes\n * @param {string|string[]} classes - String or array of string that need to add an individual element as a class\n * @returns {any} .\n * @private\n */\nfunction removeClass(elements, classes) {\n var classList = getClassList(classes);\n for (var _i = 0, _a = elements; _i < _a.length; _i++) {\n var ele = _a[_i];\n var flag = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isObject)(ele);\n var canRemove = flag ? (0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)('attributes.className', ele) : ele.className !== '';\n if (canRemove) {\n for (var _b = 0, classList_2 = classList; _b < classList_2.length; _b++) {\n var className = classList_2[_b];\n if (flag) {\n var classes_1 = (0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)('attributes.className', ele);\n var classArr = classes_1.split(' ');\n var index = classArr.indexOf(className);\n if (index !== -1) {\n classArr.splice(index, 1);\n }\n (0,_util__WEBPACK_IMPORTED_MODULE_1__.setValue)('attributes.className', classArr.join(' '), ele);\n }\n else {\n ele.classList.remove(className);\n }\n }\n }\n }\n return elements;\n}\n/**\n * The function used to get classlist.\n *\n * @param {string | string[]} classes - An element the need to check visibility\n * @returns {string[]} ?\n * @private\n */\nfunction getClassList(classes) {\n var classList = [];\n if (typeof classes === 'string') {\n classList.push(classes);\n }\n else {\n classList = classes;\n }\n return classList;\n}\n/**\n * The function used to check element is visible or not.\n *\n * @param {Element|Node} element - An element the need to check visibility\n * @returns {boolean} ?\n * @private\n */\nfunction isVisible(element) {\n var ele = element;\n return (ele.style.visibility === '' && ele.offsetWidth > 0);\n}\n/**\n * The function used to insert an array of elements into a first of the element.\n *\n * @param {Element[]|NodeList} fromElements - An array of elements that need to prepend.\n * @param {Element} toElement - An element that is going to prepend.\n * @param {boolean} isEval - ?\n * @returns {Element[] | NodeList} ?\n * @private\n */\nfunction prepend(fromElements, toElement, isEval) {\n var docFrag = document.createDocumentFragment();\n for (var _i = 0, _a = fromElements; _i < _a.length; _i++) {\n var ele = _a[_i];\n docFrag.appendChild(ele);\n }\n toElement.insertBefore(docFrag, toElement.firstElementChild);\n if (isEval) {\n executeScript(toElement);\n }\n return fromElements;\n}\n/**\n * The function used to insert an array of elements into last of the element.\n *\n * @param {Element[]|NodeList} fromElements - An array of elements that need to append.\n * @param {Element} toElement - An element that is going to prepend.\n * @param {boolean} isEval - ?\n * @returns {Element[] | NodeList} ?\n * @private\n */\nfunction append(fromElements, toElement, isEval) {\n var docFrag = document.createDocumentFragment();\n if (fromElements instanceof NodeList) {\n while (fromElements.length > 0) {\n docFrag.appendChild(fromElements[0]);\n }\n }\n else {\n for (var _i = 0, _a = fromElements; _i < _a.length; _i++) {\n var ele = _a[_i];\n docFrag.appendChild(ele);\n }\n }\n toElement.appendChild(docFrag);\n if (isEval) {\n executeScript(toElement);\n }\n return fromElements;\n}\n/**\n * The function is used to evaluate script from Ajax request\n *\n * @param {Element} ele - An element is going to evaluate the script\n * @returns {void} ?\n */\nfunction executeScript(ele) {\n var eleArray = ele.querySelectorAll('script');\n eleArray.forEach(function (element) {\n var script = document.createElement('script');\n script.text = element.innerHTML;\n document.head.appendChild(script);\n detach(script);\n });\n}\n/**\n * The function used to remove the element from parentnode\n *\n * @param {Element|Node|HTMLElement} element - An element that is going to detach from the Dom\n * @returns {any} ?\n * @private\n */\nfunction detach(element) {\n var parentNode = element.parentNode;\n if (parentNode) {\n return parentNode.removeChild(element);\n }\n}\n/**\n * The function used to remove the element from Dom also clear the bounded events\n *\n * @param {Element|Node|HTMLElement} element - An element remove from the Dom\n * @returns {void} ?\n * @private\n */\nfunction remove(element) {\n var parentNode = element.parentNode;\n _event_handler__WEBPACK_IMPORTED_MODULE_0__.EventHandler.clearEvents(element);\n parentNode.removeChild(element);\n}\n/**\n * The function helps to set multiple attributes to an element\n *\n * @param {Element|Node} element - An element that need to set attributes.\n * @param {string} attributes - JSON Object that is going to as attributes.\n * @returns {Element} ?\n * @private\n */\nfunction attributes(element, attributes) {\n var keys = Object.keys(attributes);\n var ele = element;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isObject)(ele)) {\n var iKey = key;\n if (key === 'tabindex') {\n iKey = 'tabIndex';\n }\n ele.attributes[\"\" + iKey] = attributes[\"\" + key];\n }\n else {\n ele.setAttribute(key, attributes[\"\" + key]);\n }\n }\n return ele;\n}\n/**\n * The function selects the element from giving context.\n *\n * @param {string} selector - Selector string need fetch element\n * @param {Document|Element} context - It is an optional type, That specifies a Dom context.\n * @param {boolean} needsVDOM ?\n * @returns {any} ?\n * @private\n */\nfunction select(selector, context, needsVDOM) {\n if (context === void 0) { context = document; }\n selector = querySelectId(selector);\n return context.querySelector(selector);\n}\n/**\n * The function selects an array of element from the given context.\n *\n * @param {string} selector - Selector string need fetch element\n * @param {Document|Element} context - It is an optional type, That specifies a Dom context.\n * @param {boolean} needsVDOM ?\n * @returns {HTMLElement[]} ?\n * @private\n */\nfunction selectAll(selector, context, needsVDOM) {\n if (context === void 0) { context = document; }\n selector = querySelectId(selector);\n var nodeList = context.querySelectorAll(selector);\n return nodeList;\n}\n/**\n * The function selects an id of element from the given context.\n *\n * @param {string} selector - Selector string need fetch element\n * @returns {string} ?\n * @private\n */\nfunction querySelectId(selector) {\n var charRegex = /(!|\"|\\$|%|&|'|\\(|\\)|\\*|\\/|:|;|<|=|\\?|@|\\]|\\^|`|{|}|\\||\\+|~)/g;\n if (selector.match(/#[0-9]/g) || selector.match(charRegex)) {\n var idList = selector.split(',');\n for (var i = 0; i < idList.length; i++) {\n var list = idList[parseInt(i.toString(), 10)].split(' ');\n for (var j = 0; j < list.length; j++) {\n if (list[parseInt(j.toString(), 10)].indexOf('#') > -1) {\n if (!list[parseInt(j.toString(), 10)].match(/\\[.*\\]/)) {\n var splitId = list[parseInt(j.toString(), 10)].split('#');\n if (splitId[1].match(/^\\d/) || splitId[1].match(charRegex)) {\n var setId = list[parseInt(j.toString(), 10)].split('.');\n setId[0] = setId[0].replace(/#/, '[id=\\'') + '\\']';\n list[parseInt(j.toString(), 10)] = setId.join('.');\n }\n }\n }\n }\n idList[parseInt(i.toString(), 10)] = list.join(' ');\n }\n return idList.join(',');\n }\n return selector;\n}\n/**\n * Returns single closest parent element based on class selector.\n *\n * @param {Element} element - An element that need to find the closest element.\n * @param {string} selector - A classSelector of closest element.\n * @returns {Element} ?\n * @private\n */\nfunction closest(element, selector) {\n var el = element;\n if (typeof el.closest === 'function') {\n return el.closest(selector);\n }\n while (el && el.nodeType === 1) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentNode;\n }\n return null;\n}\n/**\n * Returns all sibling elements of the given element.\n *\n * @param {Element|Node} element - An element that need to get siblings.\n * @returns {Element[]} ?\n * @private\n */\nfunction siblings(element) {\n var siblings = [];\n var childNodes = Array.prototype.slice.call(element.parentNode.childNodes);\n for (var _i = 0, childNodes_1 = childNodes; _i < childNodes_1.length; _i++) {\n var curNode = childNodes_1[_i];\n if (curNode.nodeType === Node.ELEMENT_NODE && element !== curNode) {\n siblings.push(curNode);\n }\n }\n return siblings;\n}\n/**\n * set the value if not exist. Otherwise set the existing value\n *\n * @param {HTMLElement} element - An element to which we need to set value.\n * @param {string} property - Property need to get or set.\n * @param {string} value - value need to set.\n * @returns {string} ?\n * @private\n */\nfunction getAttributeOrDefault(element, property, value) {\n var attrVal;\n var isObj = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isObject)(element);\n if (isObj) {\n attrVal = (0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)('attributes.' + property, element);\n }\n else {\n attrVal = element.getAttribute(property);\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isNullOrUndefined)(attrVal) && value) {\n if (!isObj) {\n element.setAttribute(property, value.toString());\n }\n else {\n element.attributes[\"\" + property] = value;\n }\n attrVal = value;\n }\n return attrVal;\n}\n/**\n * Set the style attributes to Html element.\n *\n * @param {HTMLElement} element - Element which we want to set attributes\n * @param {any} attrs - Set the given attributes to element\n * @returns {void} ?\n * @private\n */\nfunction setStyleAttribute(element, attrs) {\n if (attrs !== undefined) {\n Object.keys(attrs).forEach(function (key) {\n element.style[\"\" + key] = attrs[\"\" + key];\n });\n }\n}\n/**\n * Method for add and remove classes to a dom element.\n *\n * @param {Element} element - Element for add and remove classes\n * @param {string[]} addClasses - List of classes need to be add to the element\n * @param {string[]} removeClasses - List of classes need to be remove from the element\n * @returns {void} ?\n * @private\n */\nfunction classList(element, addClasses, removeClasses) {\n addClass([element], addClasses);\n removeClass([element], removeClasses);\n}\n/**\n * Method to check whether the element matches the given selector.\n *\n * @param {Element} element - Element to compare with the selector.\n * @param {string} selector - String selector which element will satisfy.\n * @returns {void} ?\n * @private\n */\nfunction matches(element, selector) {\n var matches = element.matches || element.msMatchesSelector || element.webkitMatchesSelector;\n if (matches) {\n return matches.call(element, selector);\n }\n else {\n return [].indexOf.call(document.querySelectorAll(selector), element) !== -1;\n }\n}\n/**\n * Method to get the html text from DOM.\n *\n * @param {HTMLElement} ele - Element to compare with the selector.\n * @param {string} innerHTML - String selector which element will satisfy.\n * @returns {void} ?\n * @private\n */\nfunction includeInnerHTML(ele, innerHTML) {\n ele.innerHTML = innerHTML;\n}\n/**\n * Method to get the containsclass.\n *\n * @param {HTMLElement} ele - Element to compare with the selector.\n * @param {string} className - String selector which element will satisfy.\n * @returns {any} ?\n * @private\n */\nfunction containsClass(ele, className) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isObject)(ele)) {\n var regExp = RegExp;\n return new regExp('\\\\b' + className + '\\\\b', 'i').test(ele.attributes.className);\n }\n else {\n return ele.classList.contains(className);\n }\n}\n/**\n * Method to check whether the element matches the given selector.\n *\n * @param {Object} element - Element to compare with the selector.\n * @param {boolean} deep ?\n * @returns {any} ?\n * @private\n */\nfunction cloneNode(element, deep) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isObject)(element)) {\n if (deep) {\n return (0,_util__WEBPACK_IMPORTED_MODULE_1__.extend)({}, {}, element, true);\n }\n }\n else {\n return element.cloneNode(deep);\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/dom.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/draggable.js": +/*!************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/draggable.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Draggable: () => (/* binding */ Draggable),\n/* harmony export */ Position: () => (/* binding */ Position)\n/* harmony export */ });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./browser */ \"./node_modules/@syncfusion/ej2-base/src/browser.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\n/* harmony import */ var _event_handler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./event-handler */ \"./node_modules/@syncfusion/ej2-base/src/event-handler.js\");\n/* harmony import */ var _child_property__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./child-property */ \"./node_modules/@syncfusion/ej2-base/src/child-property.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n\n\n\n\n\n\nvar defaultPosition = { left: 0, top: 0, bottom: 0, right: 0 };\nvar isDraggedObject = { isDragged: false };\n/**\n * Specifies the position coordinates\n */\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(0)\n ], Position.prototype, \"left\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(0)\n ], Position.prototype, \"top\", void 0);\n return Position;\n}(_child_property__WEBPACK_IMPORTED_MODULE_5__.ChildProperty));\n\n/**\n * Draggable Module provides support to enable draggable functionality in Dom Elements.\n * ```html\n *
      Draggable
      \n * \n * ```\n */\nvar Draggable = /** @class */ (function (_super) {\n __extends(Draggable, _super);\n function Draggable(element, options) {\n var _this = _super.call(this, options, element) || this;\n _this.dragLimit = Draggable_1.getDefaultPosition();\n _this.borderWidth = Draggable_1.getDefaultPosition();\n _this.padding = Draggable_1.getDefaultPosition();\n _this.diffX = 0;\n _this.prevLeft = 0;\n _this.prevTop = 0;\n _this.dragProcessStarted = false;\n _this.eleTop = 0;\n _this.tapHoldTimer = 0;\n _this.externalInitialize = false;\n _this.diffY = 0;\n _this.parentScrollX = 0;\n _this.parentScrollY = 0;\n _this.droppables = {};\n _this.bind();\n return _this;\n }\n Draggable_1 = Draggable;\n Draggable.prototype.bind = function () {\n this.toggleEvents();\n if (_browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isIE) {\n (0,_dom__WEBPACK_IMPORTED_MODULE_2__.addClass)([this.element], 'e-block-touch');\n }\n this.droppables[this.scope] = {};\n };\n Draggable.getDefaultPosition = function () {\n return (0,_util__WEBPACK_IMPORTED_MODULE_6__.extend)({}, defaultPosition);\n };\n Draggable.prototype.toggleEvents = function (isUnWire) {\n var ele;\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isUndefined)(this.handle)) {\n ele = (0,_dom__WEBPACK_IMPORTED_MODULE_2__.select)(this.handle, this.element);\n }\n var handler = (this.enableTapHold && _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isDevice && _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isTouch) ? this.mobileInitialize : this.initialize;\n if (isUnWire) {\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(ele || this.element, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchstart' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchStartEvent, handler);\n }\n else {\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(ele || this.element, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchstart' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchStartEvent, handler, this);\n }\n };\n /* istanbul ignore next */\n Draggable.prototype.mobileInitialize = function (evt) {\n var _this = this;\n var target = evt.currentTarget;\n this.tapHoldTimer = setTimeout(function () {\n _this.externalInitialize = true;\n _this.removeTapholdTimer();\n _this.initialize(evt, target);\n }, this.tapHoldThreshold);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.removeTapholdTimer, this);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.removeTapholdTimer, this);\n };\n /* istanbul ignore next */\n Draggable.prototype.removeTapholdTimer = function () {\n clearTimeout(this.tapHoldTimer);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.removeTapholdTimer);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.removeTapholdTimer);\n };\n /* istanbul ignore next */\n Draggable.prototype.getScrollableParent = function (element, axis) {\n var scroll = { 'vertical': 'scrollHeight', 'horizontal': 'scrollWidth' };\n var client = { 'vertical': 'clientHeight', 'horizontal': 'clientWidth' };\n if ((0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(element)) {\n return null;\n }\n if (element[scroll[\"\" + axis]] > element[client[\"\" + axis]]) {\n if (axis === 'vertical' ? element.scrollTop > 0 : element.scrollLeft > 0) {\n if (axis === 'vertical') {\n this.parentScrollY = this.parentScrollY +\n (this.parentScrollY === 0 ? element.scrollTop : element.scrollTop - this.parentScrollY);\n this.tempScrollHeight = element.scrollHeight;\n }\n else {\n this.parentScrollX = this.parentScrollX +\n (this.parentScrollX === 0 ? element.scrollLeft : element.scrollLeft - this.parentScrollX);\n this.tempScrollWidth = element.scrollWidth;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(element)) {\n return this.getScrollableParent(element.parentNode, axis);\n }\n else {\n return element;\n }\n }\n else {\n return this.getScrollableParent(element.parentNode, axis);\n }\n }\n else {\n return this.getScrollableParent(element.parentNode, axis);\n }\n };\n Draggable.prototype.getScrollableValues = function () {\n this.parentScrollX = 0;\n this.parentScrollY = 0;\n var isModalDialog = this.element.classList.contains('e-dialog') && this.element.classList.contains('e-dlg-modal');\n var verticalScrollParent = this.getScrollableParent(this.element.parentNode, 'vertical');\n var horizontalScrollParent = this.getScrollableParent(this.element.parentNode, 'horizontal');\n };\n Draggable.prototype.initialize = function (evt, curTarget) {\n this.currentStateTarget = evt.target;\n if (this.isDragStarted()) {\n return;\n }\n else {\n this.isDragStarted(true);\n this.externalInitialize = false;\n }\n this.target = (evt.currentTarget || curTarget);\n this.dragProcessStarted = false;\n if (this.abort) {\n var abortSelectors = this.abort;\n if (typeof abortSelectors === 'string') {\n abortSelectors = [abortSelectors];\n }\n for (var i = 0; i < abortSelectors.length; i++) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)((0,_dom__WEBPACK_IMPORTED_MODULE_2__.closest)(evt.target, abortSelectors[parseInt(i.toString(), 10)]))) {\n /* istanbul ignore next */\n if (this.isDragStarted()) {\n this.isDragStarted(true);\n }\n return;\n }\n }\n }\n if (this.preventDefault && !(0,_util__WEBPACK_IMPORTED_MODULE_6__.isUndefined)(evt.changedTouches) && evt.type !== 'touchstart') {\n evt.preventDefault();\n }\n this.element.setAttribute('aria-grabbed', 'true');\n var intCoord = this.getCoordinates(evt);\n this.initialPosition = { x: intCoord.pageX, y: intCoord.pageY };\n if (!this.clone) {\n var pos = this.element.getBoundingClientRect();\n this.getScrollableValues();\n if (evt.clientX === evt.pageX) {\n this.parentScrollX = 0;\n }\n if (evt.clientY === evt.pageY) {\n this.parentScrollY = 0;\n }\n this.relativeXPosition = intCoord.pageX - (pos.left + this.parentScrollX);\n this.relativeYPosition = intCoord.pageY - (pos.top + this.parentScrollY);\n }\n if (this.externalInitialize) {\n this.intDragStart(evt);\n }\n else {\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.intDragStart, this);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDestroy, this);\n }\n this.toggleEvents(true);\n if (evt.type !== 'touchstart' && this.isPreventSelect) {\n document.body.classList.add('e-prevent-select');\n }\n this.externalInitialize = false;\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.trigger(document.documentElement, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchstart' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchStartEvent, evt);\n };\n Draggable.prototype.intDragStart = function (evt) {\n this.removeTapholdTimer();\n var isChangeTouch = !(0,_util__WEBPACK_IMPORTED_MODULE_6__.isUndefined)(evt.changedTouches);\n if (isChangeTouch && (evt.changedTouches.length !== 1)) {\n return;\n }\n var intCordinate = this.getCoordinates(evt);\n var pos;\n var styleProp = getComputedStyle(this.element);\n this.margin = {\n left: parseInt(styleProp.marginLeft, 10),\n top: parseInt(styleProp.marginTop, 10),\n right: parseInt(styleProp.marginRight, 10),\n bottom: parseInt(styleProp.marginBottom, 10)\n };\n var element = this.element;\n if (this.clone && this.dragTarget) {\n var intClosest = (0,_dom__WEBPACK_IMPORTED_MODULE_2__.closest)(evt.target, this.dragTarget);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(intClosest)) {\n element = intClosest;\n }\n }\n /* istanbul ignore next */\n if (this.isReplaceDragEle) {\n element = this.currentStateCheck(evt.target, element);\n }\n this.offset = this.calculateParentPosition(element);\n this.position = this.getMousePosition(evt, this.isDragScroll);\n var x = this.initialPosition.x - intCordinate.pageX;\n var y = this.initialPosition.y - intCordinate.pageY;\n var distance = Math.sqrt((x * x) + (y * y));\n if ((distance >= this.distance || this.externalInitialize)) {\n var ele = this.getHelperElement(evt);\n if (!ele || (0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(ele)) {\n return;\n }\n if (isChangeTouch) {\n evt.preventDefault();\n }\n var dragTargetElement = this.helperElement = ele;\n this.parentClientRect = this.calculateParentPosition(dragTargetElement.offsetParent);\n if (this.dragStart) {\n var curTarget = this.getProperTargetElement(evt);\n var args = {\n event: evt,\n element: element,\n target: curTarget,\n bindEvents: (0,_util__WEBPACK_IMPORTED_MODULE_6__.isBlazor)() ? this.bindDragEvents.bind(this) : null,\n dragElement: dragTargetElement\n };\n this.trigger('dragStart', args);\n }\n if (this.dragArea) {\n this.setDragArea();\n }\n else {\n this.dragLimit = { left: 0, right: 0, bottom: 0, top: 0 };\n this.borderWidth = { top: 0, left: 0 };\n }\n pos = { left: this.position.left - this.parentClientRect.left, top: this.position.top - this.parentClientRect.top };\n if (this.clone && !this.enableTailMode) {\n this.diffX = this.position.left - this.offset.left;\n this.diffY = this.position.top - this.offset.top;\n }\n this.getScrollableValues();\n // when drag element has margin-top\n var styles = getComputedStyle(element);\n var marginTop = parseFloat(styles.marginTop);\n /* istanbul ignore next */\n if (this.clone && marginTop !== 0) {\n pos.top += marginTop;\n }\n this.eleTop = !isNaN(parseFloat(styles.top)) ? parseFloat(styles.top) - this.offset.top : 0;\n /* istanbul ignore next */\n // if (this.eleTop > 0) {\n // pos.top += this.eleTop;\n // }\n if (this.enableScrollHandler && !this.clone) {\n pos.top -= this.parentScrollY;\n pos.left -= this.parentScrollX;\n }\n var posValue = this.getProcessedPositionValue({\n top: (pos.top - this.diffY) + 'px',\n left: (pos.left - this.diffX) + 'px'\n });\n if (this.dragArea && typeof this.dragArea !== 'string' && this.dragArea.classList.contains('e-kanban-content') && this.dragArea.style.position === 'relative') {\n pos.top += this.dragArea.scrollTop;\n }\n this.dragElePosition = { top: pos.top, left: pos.left };\n (0,_dom__WEBPACK_IMPORTED_MODULE_2__.setStyleAttribute)(dragTargetElement, this.getDragPosition({ position: 'absolute', left: posValue.left, top: posValue.top }));\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.intDragStart);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDestroy);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isBlazor)()) {\n this.bindDragEvents(dragTargetElement);\n }\n }\n };\n Draggable.prototype.bindDragEvents = function (dragTargetElement) {\n if ((0,_dom__WEBPACK_IMPORTED_MODULE_2__.isVisible)(dragTargetElement)) {\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.intDrag, this);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDragStop, this);\n this.setGlobalDroppables(false, this.element, dragTargetElement);\n }\n else {\n this.toggleEvents();\n document.body.classList.remove('e-prevent-select');\n }\n };\n Draggable.prototype.elementInViewport = function (el) {\n this.top = el.offsetTop;\n this.left = el.offsetLeft;\n this.width = el.offsetWidth;\n this.height = el.offsetHeight;\n while (el.offsetParent) {\n el = el.offsetParent;\n this.top += el.offsetTop;\n this.left += el.offsetLeft;\n }\n return (this.top >= window.pageYOffset &&\n this.left >= window.pageXOffset &&\n (this.top + this.height) <= (window.pageYOffset + window.innerHeight) &&\n (this.left + this.width) <= (window.pageXOffset + window.innerWidth));\n };\n Draggable.prototype.getProcessedPositionValue = function (value) {\n if (this.queryPositionInfo) {\n return this.queryPositionInfo(value);\n }\n return value;\n };\n Draggable.prototype.calculateParentPosition = function (ele) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(ele)) {\n return { left: 0, top: 0 };\n }\n var rect = ele.getBoundingClientRect();\n var style = getComputedStyle(ele);\n return {\n left: (rect.left + window.pageXOffset) - parseInt(style.marginLeft, 10),\n top: (rect.top + window.pageYOffset) - parseInt(style.marginTop, 10)\n };\n };\n Draggable.prototype.intDrag = function (evt) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isUndefined)(evt.changedTouches) && (evt.changedTouches.length !== 1)) {\n return;\n }\n if (this.clone && evt.changedTouches && _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isDevice && _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isTouch) {\n evt.preventDefault();\n }\n var left;\n var top;\n this.position = this.getMousePosition(evt, this.isDragScroll);\n var docHeight = this.getDocumentWidthHeight('Height');\n if (docHeight < this.position.top) {\n this.position.top = docHeight;\n }\n var docWidth = this.getDocumentWidthHeight('Width');\n if (docWidth < this.position.left) {\n this.position.left = docWidth;\n }\n if (this.drag) {\n var curTarget = this.getProperTargetElement(evt);\n this.trigger('drag', { event: evt, element: this.element, target: curTarget });\n }\n var eleObj = this.checkTargetElement(evt);\n if (eleObj.target && eleObj.instance) {\n var flag = true;\n if (this.hoverObject) {\n if (this.hoverObject.instance !== eleObj.instance) {\n this.triggerOutFunction(evt, eleObj);\n }\n else {\n flag = false;\n }\n }\n if (flag) {\n eleObj.instance.dragData[this.scope] = this.droppables[this.scope];\n eleObj.instance.intOver(evt, eleObj.target);\n this.hoverObject = eleObj;\n }\n }\n else if (this.hoverObject) {\n this.triggerOutFunction(evt, eleObj);\n }\n var helperElement = this.droppables[this.scope].helper;\n this.parentClientRect = this.calculateParentPosition(this.helperElement.offsetParent);\n var tLeft = this.parentClientRect.left;\n var tTop = this.parentClientRect.top;\n var intCoord = this.getCoordinates(evt);\n var pagex = intCoord.pageX;\n var pagey = intCoord.pageY;\n var dLeft = this.position.left - this.diffX;\n var dTop = this.position.top - this.diffY;\n var styles = getComputedStyle(helperElement);\n if (this.dragArea) {\n if (this.enableAutoScroll) {\n this.setDragArea();\n }\n if (this.pageX !== pagex || this.skipDistanceCheck) {\n var helperWidth = helperElement.offsetWidth + (parseFloat(styles.marginLeft)\n + parseFloat(styles.marginRight));\n if (this.dragLimit.left > dLeft && dLeft > 0) {\n left = this.dragLimit.left;\n }\n else if (this.dragLimit.right + window.pageXOffset < dLeft + helperWidth && dLeft > 0) {\n left = dLeft - (dLeft - this.dragLimit.right) + window.pageXOffset - helperWidth;\n }\n else {\n left = dLeft < 0 ? this.dragLimit.left : dLeft;\n }\n }\n if (this.pageY !== pagey || this.skipDistanceCheck) {\n var helperHeight = helperElement.offsetHeight + (parseFloat(styles.marginTop)\n + parseFloat(styles.marginBottom));\n if (this.dragLimit.top > dTop && dTop > 0) {\n top = this.dragLimit.top;\n }\n else if (this.dragLimit.bottom + window.pageYOffset < dTop + helperHeight && dTop > 0) {\n top = dTop - (dTop - this.dragLimit.bottom) + window.pageYOffset - helperHeight;\n }\n else {\n top = dTop < 0 ? this.dragLimit.top : dTop;\n }\n }\n }\n else {\n left = dLeft;\n top = dTop;\n }\n var iTop = tTop + this.borderWidth.top;\n var iLeft = tLeft + this.borderWidth.left;\n if (this.dragProcessStarted) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(top)) {\n top = this.prevTop;\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(left)) {\n left = this.prevLeft;\n }\n }\n var draEleTop;\n var draEleLeft;\n if (this.helperElement.classList.contains('e-treeview')) {\n if (this.dragArea) {\n this.dragLimit.top = this.clone ? this.dragLimit.top : 0;\n draEleTop = (top - iTop) < 0 ? this.dragLimit.top : (top - this.borderWidth.top);\n draEleLeft = (left - iLeft) < 0 ? this.dragLimit.left : (left - this.borderWidth.left);\n }\n else {\n draEleTop = top - this.borderWidth.top;\n draEleLeft = left - this.borderWidth.left;\n }\n }\n else {\n if (this.dragArea) {\n var isDialogEle = this.helperElement.classList.contains('e-dialog');\n this.dragLimit.top = this.clone ? this.dragLimit.top : 0;\n draEleTop = (top - iTop) < 0 ? this.dragLimit.top : (top - iTop);\n draEleLeft = (left - iLeft) < 0 ? isDialogEle ? (left - (iLeft - this.borderWidth.left)) :\n this.dragElePosition.left : (left - iLeft);\n }\n else {\n draEleTop = top - iTop;\n draEleLeft = left - iLeft;\n }\n }\n var marginTop = parseFloat(getComputedStyle(this.element).marginTop);\n // when drag-element has margin-top\n /* istanbul ignore next */\n if (marginTop > 0) {\n if (this.clone) {\n draEleTop += marginTop;\n if (dTop < 0) {\n if ((marginTop + dTop) >= 0) {\n draEleTop = marginTop + dTop;\n }\n else {\n draEleTop -= marginTop;\n }\n }\n if (this.dragArea) {\n draEleTop = (this.dragLimit.bottom < draEleTop) ? this.dragLimit.bottom : draEleTop;\n }\n }\n if ((top - iTop) < 0) {\n if (dTop + marginTop + (helperElement.offsetHeight - iTop) >= 0) {\n var tempDraEleTop = this.dragLimit.top + dTop - iTop;\n if ((tempDraEleTop + marginTop + iTop) < 0) {\n draEleTop -= marginTop + iTop;\n }\n else {\n draEleTop = tempDraEleTop;\n }\n }\n else {\n draEleTop -= marginTop + iTop;\n }\n }\n }\n if (this.dragArea && this.helperElement.classList.contains('e-treeview')) {\n var helperHeight = helperElement.offsetHeight + (parseFloat(styles.marginTop)\n + parseFloat(styles.marginBottom));\n draEleTop = (draEleTop + helperHeight) > this.dragLimit.bottom ? (this.dragLimit.bottom - helperHeight) : draEleTop;\n }\n /* istanbul ignore next */\n // if(this.eleTop > 0) {\n // draEleTop += this.eleTop;\n // }\n if (this.enableScrollHandler && !this.clone) {\n draEleTop -= this.parentScrollY;\n draEleLeft -= this.parentScrollX;\n }\n if (this.dragArea && typeof this.dragArea !== 'string' && this.dragArea.classList.contains('e-kanban-content') && this.dragArea.style.position === 'relative') {\n draEleTop += this.dragArea.scrollTop;\n }\n var dragValue = this.getProcessedPositionValue({ top: draEleTop + 'px', left: draEleLeft + 'px' });\n if (this.isPreventScroll) {\n dragValue = this.getProcessedPositionValue({\n top: (this.position.top - this.parentClientRect.top - 2) + 'px',\n left: (this.position.left - this.parentClientRect.left - 2) + 'px'\n });\n }\n (0,_dom__WEBPACK_IMPORTED_MODULE_2__.setStyleAttribute)(helperElement, this.getDragPosition(dragValue));\n if (!this.elementInViewport(helperElement) && this.enableAutoScroll && !this.helperElement.classList.contains('e-treeview')) {\n this.helperElement.scrollIntoView();\n }\n var elements = document.querySelectorAll(':hover');\n if (this.enableAutoScroll && this.helperElement.classList.contains('e-treeview')) {\n if (elements.length === 0) {\n elements = this.getPathElements(evt);\n }\n var scrollParent = this.getScrollParent(elements, false);\n if (this.elementInViewport(this.helperElement)) {\n this.getScrollPosition(scrollParent, draEleTop);\n }\n else if (!this.elementInViewport(this.helperElement)) {\n elements = [].slice.call(document.querySelectorAll(':hover'));\n if (elements.length === 0) {\n elements = this.getPathElements(evt);\n }\n scrollParent = this.getScrollParent(elements, true);\n this.getScrollPosition(scrollParent, draEleTop);\n }\n }\n this.dragProcessStarted = true;\n this.prevLeft = left;\n this.prevTop = top;\n this.position.left = left;\n this.position.top = top;\n this.pageX = pagex;\n this.pageY = pagey;\n };\n Draggable.prototype.getScrollParent = function (node, reverse) {\n var nodeEl = reverse ? node.reverse() : node;\n var hasScroll;\n for (var i = nodeEl.length - 1; i >= 0; i--) {\n hasScroll = window.getComputedStyle(nodeEl[parseInt(i.toString(), 10)])['overflow-y'];\n if ((hasScroll === 'auto' || hasScroll === 'scroll')\n && nodeEl[parseInt(i.toString(), 10)].scrollHeight > nodeEl[parseInt(i.toString(), 10)].clientHeight) {\n return nodeEl[parseInt(i.toString(), 10)];\n }\n }\n hasScroll = window.getComputedStyle(document.scrollingElement)['overflow-y'];\n if (hasScroll === 'visible') {\n document.scrollingElement.style.overflow = 'auto';\n return document.scrollingElement;\n }\n };\n Draggable.prototype.getScrollPosition = function (nodeEle, draEleTop) {\n if (nodeEle && nodeEle === document.scrollingElement) {\n if ((nodeEle.clientHeight + document.scrollingElement.scrollTop - this.helperElement.clientHeight) < draEleTop\n && nodeEle.getBoundingClientRect().height + this.parentClientRect.top > draEleTop) {\n nodeEle.scrollTop += this.helperElement.clientHeight;\n }\n else if (nodeEle.scrollTop > draEleTop - this.helperElement.clientHeight) {\n nodeEle.scrollTop -= this.helperElement.clientHeight;\n }\n }\n else if (nodeEle && nodeEle !== document.scrollingElement) {\n var docScrollTop = document.scrollingElement.scrollTop;\n var helperClientHeight = this.helperElement.clientHeight;\n if ((nodeEle.clientHeight + nodeEle.getBoundingClientRect().top - helperClientHeight + docScrollTop) < draEleTop) {\n nodeEle.scrollTop += this.helperElement.clientHeight;\n }\n else if (nodeEle.getBoundingClientRect().top > (draEleTop - helperClientHeight - docScrollTop)) {\n nodeEle.scrollTop -= this.helperElement.clientHeight;\n }\n }\n };\n Draggable.prototype.getPathElements = function (evt) {\n var elementTop = evt.clientX > 0 ? evt.clientX : 0;\n var elementLeft = evt.clientY > 0 ? evt.clientY : 0;\n return document.elementsFromPoint(elementTop, elementLeft);\n };\n Draggable.prototype.triggerOutFunction = function (evt, eleObj) {\n this.hoverObject.instance.intOut(evt, eleObj.target);\n this.hoverObject.instance.dragData[this.scope] = null;\n this.hoverObject = null;\n };\n Draggable.prototype.getDragPosition = function (dragValue) {\n var temp = (0,_util__WEBPACK_IMPORTED_MODULE_6__.extend)({}, dragValue);\n if (this.axis) {\n if (this.axis === 'x') {\n delete temp.top;\n }\n else if (this.axis === 'y') {\n delete temp.left;\n }\n }\n return temp;\n };\n Draggable.prototype.getDocumentWidthHeight = function (str) {\n var docBody = document.body;\n var docEle = document.documentElement;\n var returnValue = Math.max(docBody['scroll' + str], docEle['scroll' + str], docBody['offset' + str], docEle['offset' + str], docEle['client' + str]);\n return returnValue;\n };\n Draggable.prototype.intDragStop = function (evt) {\n this.dragProcessStarted = false;\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isUndefined)(evt.changedTouches) && (evt.changedTouches.length !== 1)) {\n return;\n }\n var type = ['touchend', 'pointerup', 'mouseup'];\n if (type.indexOf(evt.type) !== -1) {\n if (this.dragStop) {\n var curTarget = this.getProperTargetElement(evt);\n this.trigger('dragStop', { event: evt, element: this.element, target: curTarget, helper: this.helperElement });\n }\n this.intDestroy(evt);\n }\n else {\n this.element.setAttribute('aria-grabbed', 'false');\n }\n var eleObj = this.checkTargetElement(evt);\n if (eleObj.target && eleObj.instance) {\n eleObj.instance.dragStopCalled = true;\n eleObj.instance.dragData[this.scope] = this.droppables[this.scope];\n eleObj.instance.intDrop(evt, eleObj.target);\n }\n this.setGlobalDroppables(true);\n document.body.classList.remove('e-prevent-select');\n };\n /**\n * @param {MouseEvent | TouchEvent} evt ?\n * @returns {void}\n * @private\n */\n Draggable.prototype.intDestroy = function (evt) {\n this.dragProcessStarted = false;\n this.toggleEvents();\n document.body.classList.remove('e-prevent-select');\n this.element.setAttribute('aria-grabbed', 'false');\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.intDragStart);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDragStop);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDestroy);\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(document, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchmove' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchMoveEvent, this.intDrag);\n if (this.isDragStarted()) {\n this.isDragStarted(true);\n }\n };\n // triggers when property changed\n Draggable.prototype.onPropertyChanged = function (newProp, oldProp) {\n //No Code to handle\n };\n Draggable.prototype.getModuleName = function () {\n return 'draggable';\n };\n Draggable.prototype.isDragStarted = function (change) {\n if (change) {\n isDraggedObject.isDragged = !isDraggedObject.isDragged;\n }\n return isDraggedObject.isDragged;\n };\n Draggable.prototype.setDragArea = function () {\n var eleWidthBound;\n var eleHeightBound;\n var top = 0;\n var left = 0;\n var ele;\n var type = typeof this.dragArea;\n if (type === 'string') {\n ele = (0,_dom__WEBPACK_IMPORTED_MODULE_2__.select)(this.dragArea);\n }\n else {\n ele = this.dragArea;\n }\n if (ele) {\n var elementArea = ele.getBoundingClientRect();\n eleWidthBound = ele.scrollWidth ? ele.scrollWidth : elementArea.right - elementArea.left;\n eleHeightBound = ele.scrollHeight ? (this.dragArea && !(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(this.helperElement) && this.helperElement.classList.contains('e-treeview')) ? ele.clientHeight : ele.scrollHeight : elementArea.bottom - elementArea.top;\n var keys = ['Top', 'Left', 'Bottom', 'Right'];\n var styles = getComputedStyle(ele);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[parseInt(i.toString(), 10)];\n var tborder = styles['border' + key + 'Width'];\n var tpadding = styles['padding' + key];\n var lowerKey = key.toLowerCase();\n this.borderWidth[\"\" + lowerKey] = isNaN(parseFloat(tborder)) ? 0 : parseFloat(tborder);\n this.padding[\"\" + lowerKey] = isNaN(parseFloat(tpadding)) ? 0 : parseFloat(tpadding);\n }\n if (this.dragArea && !(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(this.helperElement) && this.helperElement.classList.contains('e-treeview')) {\n top = elementArea.top + document.scrollingElement.scrollTop;\n }\n else {\n top = elementArea.top;\n }\n left = elementArea.left;\n this.dragLimit.left = left + this.borderWidth.left + this.padding.left;\n this.dragLimit.top = ele.offsetTop + this.borderWidth.top + this.padding.top;\n this.dragLimit.right = left + eleWidthBound - (this.borderWidth.right + this.padding.right);\n this.dragLimit.bottom = top + eleHeightBound - (this.borderWidth.bottom + this.padding.bottom);\n }\n };\n Draggable.prototype.getProperTargetElement = function (evt) {\n var intCoord = this.getCoordinates(evt);\n var ele;\n var prevStyle = this.helperElement.style.pointerEvents || '';\n var isPointer = evt.type.indexOf('pointer') !== -1 && _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.info.name === 'safari' && parseInt(_browser__WEBPACK_IMPORTED_MODULE_1__.Browser.info.version, 10) > 12;\n if ((0,_util__WEBPACK_IMPORTED_MODULE_6__.compareElementParent)(evt.target, this.helperElement) || evt.type.indexOf('touch') !== -1 || isPointer) {\n this.helperElement.style.pointerEvents = 'none';\n ele = document.elementFromPoint(intCoord.clientX, intCoord.clientY);\n this.helperElement.style.pointerEvents = prevStyle;\n }\n else {\n ele = evt.target;\n }\n return ele;\n };\n /* istanbul ignore next */\n Draggable.prototype.currentStateCheck = function (ele, oldEle) {\n var elem;\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(this.currentStateTarget) && this.currentStateTarget !== ele) {\n elem = this.currentStateTarget;\n }\n else {\n elem = !(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(oldEle) ? oldEle : ele;\n }\n return elem;\n };\n Draggable.prototype.getMousePosition = function (evt, isdragscroll) {\n var dragEle = evt.srcElement !== undefined ? evt.srcElement : evt.target;\n var intCoord = this.getCoordinates(evt);\n var pageX;\n var pageY;\n var isOffsetParent = (0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(dragEle.offsetParent);\n /* istanbul ignore next */\n if (isdragscroll) {\n pageX = this.clone ? intCoord.pageX :\n (intCoord.pageX + (isOffsetParent ? 0 : dragEle.offsetParent.scrollLeft)) - this.relativeXPosition;\n pageY = this.clone ? intCoord.pageY :\n (intCoord.pageY + (isOffsetParent ? 0 : dragEle.offsetParent.scrollTop)) - this.relativeYPosition;\n }\n else {\n pageX = this.clone ? intCoord.pageX : (intCoord.pageX + window.pageXOffset) - this.relativeXPosition;\n pageY = this.clone ? intCoord.pageY : (intCoord.pageY + window.pageYOffset) - this.relativeYPosition;\n }\n if (document.scrollingElement && (!isdragscroll && !this.clone)) {\n var ele = document.scrollingElement;\n var isVerticalScroll = ele.scrollHeight > 0 && ele.scrollHeight > ele.clientHeight && ele.scrollTop > 0;\n var isHorrizontalScroll = ele.scrollWidth > 0 && ele.scrollWidth > ele.clientWidth && ele.scrollLeft > 0;\n pageX = isHorrizontalScroll ? pageX - ele.scrollLeft : pageX;\n pageY = isVerticalScroll ? pageY - ele.scrollTop : pageY;\n }\n return {\n left: pageX - (this.margin.left + this.cursorAt.left),\n top: pageY - (this.margin.top + this.cursorAt.top)\n };\n };\n Draggable.prototype.getCoordinates = function (evt) {\n if (evt.type.indexOf('touch') > -1) {\n return evt.changedTouches[0];\n }\n return evt;\n };\n Draggable.prototype.getHelperElement = function (evt) {\n var element;\n if (this.clone) {\n if (this.helper) {\n element = this.helper({ sender: evt, element: this.target, currentTargetElement: this.currentStateTarget });\n }\n else {\n element = (0,_dom__WEBPACK_IMPORTED_MODULE_2__.createElement)('div', { className: 'e-drag-helper e-block-touch', innerHTML: 'Draggable' });\n document.body.appendChild(element);\n }\n }\n else {\n element = this.element;\n }\n return element;\n };\n Draggable.prototype.setGlobalDroppables = function (reset, drag, helper) {\n this.droppables[this.scope] = reset ? null : {\n draggable: drag,\n helper: helper,\n draggedElement: this.element\n };\n };\n Draggable.prototype.checkTargetElement = function (evt) {\n var target = this.getProperTargetElement(evt);\n var dropIns = this.getDropInstance(target);\n if (!dropIns && target && !(0,_util__WEBPACK_IMPORTED_MODULE_6__.isNullOrUndefined)(target.parentNode)) {\n var parent_1 = (0,_dom__WEBPACK_IMPORTED_MODULE_2__.closest)(target.parentNode, '.e-droppable') || target.parentElement;\n if (parent_1) {\n dropIns = this.getDropInstance(parent_1);\n }\n }\n return { target: target, instance: dropIns };\n };\n Draggable.prototype.getDropInstance = function (ele) {\n var name = 'getModuleName';\n var drop;\n var eleInst = ele && ele.ej2_instances;\n if (eleInst) {\n for (var _i = 0, eleInst_1 = eleInst; _i < eleInst_1.length; _i++) {\n var inst = eleInst_1[_i];\n if (inst[\"\" + name]() === 'droppable') {\n drop = inst;\n break;\n }\n }\n }\n return drop;\n };\n Draggable.prototype.destroy = function () {\n this.toggleEvents(true);\n _super.prototype.destroy.call(this);\n };\n var Draggable_1;\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Complex)({}, Position)\n ], Draggable.prototype, \"cursorAt\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(true)\n ], Draggable.prototype, \"clone\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"dragArea\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"isDragScroll\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"isReplaceDragEle\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(true)\n ], Draggable.prototype, \"isPreventSelect\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(false)\n ], Draggable.prototype, \"isPreventScroll\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Event)()\n ], Draggable.prototype, \"drag\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Event)()\n ], Draggable.prototype, \"dragStart\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Event)()\n ], Draggable.prototype, \"dragStop\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(1)\n ], Draggable.prototype, \"distance\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"handle\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"abort\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"helper\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)('default')\n ], Draggable.prototype, \"scope\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)('')\n ], Draggable.prototype, \"dragTarget\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"axis\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Draggable.prototype, \"queryPositionInfo\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(false)\n ], Draggable.prototype, \"enableTailMode\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(false)\n ], Draggable.prototype, \"skipDistanceCheck\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(true)\n ], Draggable.prototype, \"preventDefault\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(false)\n ], Draggable.prototype, \"enableAutoScroll\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(false)\n ], Draggable.prototype, \"enableTapHold\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(750)\n ], Draggable.prototype, \"tapHoldThreshold\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)(false)\n ], Draggable.prototype, \"enableScrollHandler\", void 0);\n Draggable = Draggable_1 = __decorate([\n _notify_property_change__WEBPACK_IMPORTED_MODULE_3__.NotifyPropertyChanges\n ], Draggable);\n return Draggable;\n}(_base__WEBPACK_IMPORTED_MODULE_0__.Base));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/draggable.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/droppable.js": +/*!************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/droppable.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Droppable: () => (/* binding */ Droppable)\n/* harmony export */ });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./browser */ \"./node_modules/@syncfusion/ej2-base/src/browser.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\n/* harmony import */ var _event_handler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./event-handler */ \"./node_modules/@syncfusion/ej2-base/src/event-handler.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n/**\n * Droppable Module provides support to enable droppable functionality in Dom Elements.\n * ```html\n *
      Droppable
      \n * \n * ```\n */\nvar Droppable = /** @class */ (function (_super) {\n __extends(Droppable, _super);\n function Droppable(element, options) {\n var _this = _super.call(this, options, element) || this;\n _this.mouseOver = false;\n _this.dragData = {};\n _this.dragStopCalled = false;\n _this.bind();\n return _this;\n }\n Droppable.prototype.bind = function () {\n this.wireEvents();\n };\n Droppable.prototype.wireEvents = function () {\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.add(this.element, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDrop, this);\n };\n // triggers when property changed\n Droppable.prototype.onPropertyChanged = function (newProp, oldProp) {\n //No Code to handle\n };\n Droppable.prototype.getModuleName = function () {\n return 'droppable';\n };\n Droppable.prototype.intOver = function (event, element) {\n if (!this.mouseOver) {\n var drag = this.dragData[this.scope];\n this.trigger('over', { event: event, target: element, dragData: drag });\n this.mouseOver = true;\n }\n };\n Droppable.prototype.intOut = function (event, element) {\n if (this.mouseOver) {\n this.trigger('out', { evt: event, target: element });\n this.mouseOver = false;\n }\n };\n Droppable.prototype.intDrop = function (evt, element) {\n if (!this.dragStopCalled) {\n return;\n }\n else {\n this.dragStopCalled = false;\n }\n var accept = true;\n var drag = this.dragData[this.scope];\n var isDrag = drag ? (drag.helper && (0,_dom__WEBPACK_IMPORTED_MODULE_2__.isVisible)(drag.helper)) : false;\n var area;\n if (isDrag) {\n area = this.isDropArea(evt, drag.helper, element);\n if (this.accept) {\n accept = (0,_dom__WEBPACK_IMPORTED_MODULE_2__.matches)(drag.helper, this.accept);\n }\n }\n if (isDrag && this.drop && area.canDrop && accept) {\n this.trigger('drop', { event: evt, target: area.target, droppedElement: drag.helper, dragData: drag });\n }\n this.mouseOver = false;\n };\n Droppable.prototype.isDropArea = function (evt, helper, element) {\n var area = { canDrop: true, target: element || evt.target };\n var isTouch = evt.type === 'touchend';\n if (isTouch || area.target === helper) {\n helper.style.display = 'none';\n var coord = isTouch ? (evt.changedTouches[0]) : evt;\n var ele = document.elementFromPoint(coord.clientX, coord.clientY);\n area.canDrop = false;\n area.canDrop = (0,_util__WEBPACK_IMPORTED_MODULE_5__.compareElementParent)(ele, this.element);\n if (area.canDrop) {\n area.target = ele;\n }\n helper.style.display = '';\n }\n return area;\n };\n Droppable.prototype.destroy = function () {\n _event_handler__WEBPACK_IMPORTED_MODULE_4__.EventHandler.remove(this.element, _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isSafari() ? 'touchend' : _browser__WEBPACK_IMPORTED_MODULE_1__.Browser.touchEndEvent, this.intDrop);\n _super.prototype.destroy.call(this);\n };\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)()\n ], Droppable.prototype, \"accept\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Property)('default')\n ], Droppable.prototype, \"scope\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Event)()\n ], Droppable.prototype, \"drop\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Event)()\n ], Droppable.prototype, \"over\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_3__.Event)()\n ], Droppable.prototype, \"out\", void 0);\n Droppable = __decorate([\n _notify_property_change__WEBPACK_IMPORTED_MODULE_3__.NotifyPropertyChanges\n ], Droppable);\n return Droppable;\n}(_base__WEBPACK_IMPORTED_MODULE_0__.Base));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/droppable.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/event-handler.js": +/*!****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/event-handler.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EventHandler: () => (/* binding */ EventHandler)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./browser */ \"./node_modules/@syncfusion/ej2-base/src/browser.js\");\n\n\n/**\n * EventHandler class provides option to add, remove, clear and trigger events to a HTML DOM element\n * ```html\n *
      \n * \n * ```\n */\nvar EventHandler = /** @class */ (function () {\n function EventHandler() {\n }\n // to get the event data based on element\n EventHandler.addOrGetEventData = function (element) {\n if ('__eventList' in element) {\n return element.__eventList.events;\n }\n else {\n element.__eventList = {};\n return element.__eventList.events = [];\n }\n };\n /**\n * Add an event to the specified DOM element.\n *\n * @param {any} element - Target HTML DOM element\n * @param {string} eventName - A string that specifies the name of the event\n * @param {Function} listener - Specifies the function to run when the event occurs\n * @param {Object} bindTo - A object that binds 'this' variable in the event handler\n * @param {number} intDebounce - Specifies at what interval given event listener should be triggered.\n * @returns {Function} ?\n */\n EventHandler.add = function (element, eventName, listener, bindTo, intDebounce) {\n var eventData = EventHandler.addOrGetEventData(element);\n var debounceListener;\n if (intDebounce) {\n debounceListener = (0,_util__WEBPACK_IMPORTED_MODULE_0__.debounce)(listener, intDebounce);\n }\n else {\n debounceListener = listener;\n }\n if (bindTo) {\n debounceListener = debounceListener.bind(bindTo);\n }\n var event = eventName.split(' ');\n for (var i = 0; i < event.length; i++) {\n eventData.push({\n name: event[parseInt(i.toString(), 10)],\n listener: listener,\n debounce: debounceListener\n });\n if (_browser__WEBPACK_IMPORTED_MODULE_1__.Browser.isIE) {\n element.addEventListener(event[parseInt(i.toString(), 10)], debounceListener);\n }\n else {\n element.addEventListener(event[parseInt(i.toString(), 10)], debounceListener, { passive: false });\n }\n }\n return debounceListener;\n };\n /**\n * Remove an event listener that has been attached before.\n *\n * @param {any} element - Specifies the target html element to remove the event\n * @param {string} eventName - A string that specifies the name of the event to remove\n * @param {Function} listener - Specifies the function to remove\n * @returns {void} ?\n */\n EventHandler.remove = function (element, eventName, listener) {\n var eventData = EventHandler.addOrGetEventData(element);\n var event = eventName.split(' ');\n var _loop_1 = function (j) {\n var index = -1;\n var debounceListener;\n if (eventData && eventData.length !== 0) {\n eventData.some(function (x, i) {\n return x.name === event[parseInt(j.toString(), 10)] && x.listener === listener ?\n (index = i, debounceListener = x.debounce, true) : false;\n });\n }\n if (index !== -1) {\n eventData.splice(index, 1);\n }\n if (debounceListener) {\n element.removeEventListener(event[parseInt(j.toString(), 10)], debounceListener);\n }\n };\n for (var j = 0; j < event.length; j++) {\n _loop_1(j);\n }\n };\n /**\n * Clear all the event listeners that has been previously attached to the element.\n *\n * @param {any} element - Specifies the target html element to clear the events\n * @returns {void} ?\n */\n EventHandler.clearEvents = function (element) {\n var eventData = EventHandler.addOrGetEventData(element);\n var copyData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)([], undefined, eventData);\n for (var i = 0; i < copyData.length; i++) {\n var parseValue = copyData[parseInt(i.toString(), 10)];\n element.removeEventListener(parseValue.name, parseValue.debounce);\n eventData.shift();\n }\n };\n /**\n * Trigger particular event of the element.\n *\n * @param {any} element - Specifies the target html element to trigger the events\n * @param {string} eventName - Specifies the event to trigger for the specified element.\n * Can be a custom event, or any of the standard events.\n * @param {any} eventProp - Additional parameters to pass on to the event properties\n * @returns {void} ?\n */\n EventHandler.trigger = function (element, eventName, eventProp) {\n var eventData = EventHandler.addOrGetEventData(element);\n for (var _i = 0, eventData_1 = eventData; _i < eventData_1.length; _i++) {\n var event_1 = eventData_1[_i];\n if (event_1.name === eventName) {\n event_1.debounce.call(this, eventProp);\n }\n }\n };\n return EventHandler;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/event-handler.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/fetch.js": +/*!********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/fetch.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Fetch: () => (/* binding */ Fetch)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * The Fetch class provides a way to make asynchronous network requests, typically to retrieve resources from a server.\n * ```typescript\n * var fetchApi = new Fetch('index.html', 'GET');\n * fetchApi.send()\n * .then((value) => {\n * console.log(value);\n * }).catch((error) => {\n * console.log(error);\n * });\n * ```\n */\nvar Fetch = /** @class */ (function () {\n /**\n * Constructor for Fetch class.\n *\n * @param {string|Object} options - Specifies the URL or Request object with URL to which the request is to be sent.\n * @param {string} type - Specifies which request method is to be used, such as GET, POST, etc.\n * @param {string} contentType - Specifies the content type of the request, which is used to indicate the original media type of the resource.\n */\n function Fetch(options, type, contentType) {\n /**\n * Specifies which request method is to be used, such as GET, POST, etc.\n *\n * @default GET\n */\n this.type = 'GET';\n /**\n * A boolean value indicating whether to reject the promise or not.\n *\n * @private\n * @default true\n */\n this.emitError = true;\n if (typeof options === 'string') {\n this.url = options;\n this.type = !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(type) ? type.toUpperCase() : this.type;\n this.contentType = contentType;\n }\n else if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isObject)(options) && Object.keys(options).length > 0) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(this, options);\n }\n this.contentType = !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentType) ? this.contentType : 'application/json; charset=utf-8';\n }\n /**\n * Send the request to server.\n *\n * @param {string|Object} data - Specifies the data that needs to be added to the request.\n * @returns {Promise} - Returns the response to a request.\n */\n Fetch.prototype.send = function (data) {\n var _this = this;\n var contentTypes = {\n 'application/json': 'json',\n 'multipart/form-data': 'formData',\n 'application/octet-stream': 'blob',\n 'application/x-www-form-urlencoded': 'formData'\n };\n try {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fetchRequest) && this.type === 'GET') {\n this.fetchRequest = new Request(this.url, { method: this.type });\n }\n else if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fetchRequest)) {\n this.data = !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data) ? data : this.data;\n this.fetchRequest = new Request(this.url, {\n method: this.type,\n headers: { 'Content-Type': this.contentType },\n body: this.data\n });\n }\n var eventArgs = { cancel: false, fetchRequest: this.fetchRequest };\n this.triggerEvent(this['beforeSend'], eventArgs);\n if (eventArgs.cancel) {\n return null;\n }\n this.fetchResponse = fetch(this.fetchRequest);\n return this.fetchResponse.then(function (response) {\n _this.triggerEvent(_this['onLoad'], response);\n if (!response.ok) {\n throw response;\n }\n var responseType = 'text';\n for (var _i = 0, _a = Object.keys(contentTypes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (response.headers.get('Content-Type') && response.headers.get('Content-Type').indexOf(key) !== -1) {\n responseType = contentTypes[key];\n }\n }\n return response[responseType]();\n }).then(function (data) {\n _this.triggerEvent(_this['onSuccess'], data, _this);\n return data;\n }).catch(function (error) {\n var returnVal = {};\n if (_this.emitError) {\n _this.triggerEvent(_this['onFailure'], error);\n returnVal = Promise.reject(error);\n }\n return returnVal;\n });\n }\n catch (error) {\n return error;\n }\n };\n Fetch.prototype.triggerEvent = function (callback, data, instance) {\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(callback) && typeof callback === 'function') {\n callback(data, instance);\n }\n };\n return Fetch;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/fetch.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/hijri-parser.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/hijri-parser.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HijriParser: () => (/* binding */ HijriParser)\n/* harmony export */ });\n/***\n * Hijri parser\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nvar HijriParser;\n(function (HijriParser) {\n var dateCorrection = [28607, 28636, 28665, 28695, 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, 28960, 28990,\n 29019, 29049, 29078, 29108, 29137, 29167, 29196, 29226, 29255, 29285, 29315, 29345, 29375, 29404, 29434, 29463, 29492, 29522,\n 29551, 29580, 29610, 29640, 29669, 29699, 29729, 29759, 29788, 29818, 29847, 29876, 29906, 29935, 29964, 29994, 30023, 30053,\n 30082, 30112, 30141, 30171, 30200, 30230, 30259, 30289, 30318, 30348, 30378, 30408, 30437, 30467, 30496, 30526, 30555, 30585,\n 30614, 30644, 30673, 30703, 30732, 30762, 30791, 30821, 30850, 30880, 30909, 30939, 30968, 30998, 31027, 31057, 31086, 31116,\n 31145, 31175, 31204, 31234, 31263, 31293, 31322, 31352, 31381, 31411, 31441, 31471, 31500, 31530, 31559, 31589, 31618, 31648,\n 31676, 31706, 31736, 31766, 31795, 31825, 31854, 31884, 31913, 31943, 31972, 32002, 32031, 32061, 32090, 32120, 32150, 32180,\n 32209, 32239, 32268, 32298, 32327, 32357, 32386, 32416, 32445, 32475, 32504, 32534, 32563, 32593, 32622, 32652, 32681, 32711,\n 32740, 32770, 32799, 32829, 32858, 32888, 32917, 32947, 32976, 33006, 33035, 33065, 33094, 33124, 33153, 33183, 33213, 33243,\n 33272, 33302, 33331, 33361, 33390, 33420, 33450, 33479, 33509, 33539, 33568, 33598, 33627, 33657, 33686, 33716, 33745, 33775,\n 33804, 33834, 33863, 33893, 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, 34158, 34187, 34217, 34247, 34277, 34306,\n 34336, 34365, 34395, 34424, 34454, 34483, 34512, 34542, 34571, 34601, 34631, 34660, 34690, 34719, 34749, 34778, 34808, 34837,\n 34867, 34896, 34926, 34955, 34985, 35015, 35044, 35074, 35103, 35133, 35162, 35192, 35222, 35251, 35280, 35310, 35340, 35370,\n 35399, 35429, 35458, 35488, 35517, 35547, 35576, 35605, 35635, 35665, 35694, 35723, 35753, 35782, 35811, 35841, 35871, 35901,\n 35930, 35960, 35989, 36019, 36048, 36078, 36107, 36136, 36166, 36195, 36225, 36254, 36284, 36314, 36343, 36373, 36403, 36433,\n 36462, 36492, 36521, 36551, 36580, 36610, 36639, 36669, 36698, 36728, 36757, 36786, 36816, 36845, 36875, 36904, 36934, 36963,\n 36993, 37022, 37052, 37081, 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, 37347, 37377, 37406, 37436, 37465, 37495,\n 37524, 37554, 37584, 37613, 37643, 37672, 37701, 37731, 37760, 37790, 37819, 37849, 37878, 37908, 37938, 37967, 37997, 38027,\n 38056, 38085, 38115, 38144, 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, 38410, 38440, 38469, 38499, 38528, 38558,\n 38587, 38617, 38646, 38676, 38705, 38735, 38764, 38794, 38823, 38853, 38882, 38912, 38941, 38971, 39001, 39030, 39059, 39089,\n 39118, 39148, 39178, 39208, 39237, 39267, 39297, 39326, 39355, 39385, 39414, 39444, 39473, 39503, 39532, 39562, 39592, 39621,\n 39650, 39680, 39709, 39739, 39768, 39798, 39827, 39857, 39886, 39916, 39946, 39975, 40005, 40035, 40064, 40094, 40123, 40153,\n 40182, 40212, 40241, 40271, 40300, 40330, 40359, 40389, 40418, 40448, 40477, 40507, 40536, 40566, 40595, 40625, 40655, 40685,\n 40714, 40744, 40773, 40803, 40832, 40862, 40892, 40921, 40951, 40980, 41009, 41039, 41068, 41098, 41127, 41157, 41186, 41216,\n 41245, 41275, 41304, 41334, 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570, 41599, 41629, 41658, 41688, 41718, 41748,\n 41777, 41807, 41836, 41865, 41894, 41924, 41953, 41983, 42012, 42042, 42072, 42102, 42131, 42161, 42190, 42220, 42249, 42279,\n 42308, 42337, 42367, 42397, 42426, 42456, 42485, 42515, 42545, 42574, 42604, 42633, 42662, 42692, 42721, 42751, 42780, 42810,\n 42839, 42869, 42899, 42929, 42958, 42988, 43017, 43046, 43076, 43105, 43135, 43164, 43194, 43223, 43253, 43283, 43312, 43342,\n 43371, 43401, 43430, 43460, 43489, 43519, 43548, 43578, 43607, 43637, 43666, 43696, 43726, 43755, 43785, 43814, 43844, 43873,\n 43903, 43932, 43962, 43991, 44021, 44050, 44080, 44109, 44139, 44169, 44198, 44228, 44258, 44287, 44317, 44346, 44375, 44405,\n 44434, 44464, 44493, 44523, 44553, 44582, 44612, 44641, 44671, 44700, 44730, 44759, 44788, 44818, 44847, 44877, 44906, 44936,\n 44966, 44996, 45025, 45055, 45084, 45114, 45143, 45172, 45202, 45231, 45261, 45290, 45320, 45350, 45380, 45409, 45439, 45468,\n 45498, 45527, 45556, 45586, 45615, 45644, 45674, 45704, 45733, 45763, 45793, 45823, 45852, 45882, 45911, 45940, 45970, 45999,\n 46028, 46058, 46088, 46117, 46147, 46177, 46206, 46236, 46265, 46295, 46324, 46354, 46383, 46413, 46442, 46472, 46501, 46531,\n 46560, 46590, 46620, 46649, 46679, 46708, 46738, 46767, 46797, 46826, 46856, 46885, 46915, 46944, 46974, 47003, 47033, 47063,\n 47092, 47122, 47151, 47181, 47210, 47240, 47269, 47298, 47328, 47357, 47387, 47417, 47446, 47476, 47506, 47535, 47565, 47594,\n 47624, 47653, 47682, 47712, 47741, 47771, 47800, 47830, 47860, 47890, 47919, 47949, 47978, 48008, 48037, 48066, 48096, 48125,\n 48155, 48184, 48214, 48244, 48273, 48303, 48333, 48362, 48392, 48421, 48450, 48480, 48509, 48538, 48568, 48598, 48627, 48657,\n 48687, 48717, 48746, 48776, 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, 49041, 49071, 49100, 49130, 49160, 49189,\n 49218, 49248, 49277, 49306, 49336, 49365, 49395, 49425, 49455, 49484, 49514, 49543, 49573, 49602, 49632, 49661, 49690, 49720,\n 49749, 49779, 49809, 49838, 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, 50104, 50133, 50163, 50192, 50222, 50252,\n 50281, 50311, 50340, 50370, 50400, 50429, 50459, 50488, 50518, 50547, 50576, 50606, 50635, 50665, 50694, 50724, 50754, 50784,\n 50813, 50843, 50872, 50902, 50931, 50960, 50990, 51019, 51049, 51078, 51108, 51138, 51167, 51197, 51227, 51256, 51286, 51315,\n 51345, 51374, 51403, 51433, 51462, 51492, 51522, 51552, 51582, 51611, 51641, 51670, 51699, 51729, 51758, 51787, 51816, 51846,\n 51876, 51906, 51936, 51965, 51995, 52025, 52054, 52083, 52113, 52142, 52171, 52200, 52230, 52260, 52290, 52319, 52349, 52379,\n 52408, 52438, 52467, 52497, 52526, 52555, 52585, 52614, 52644, 52673, 52703, 52733, 52762, 52792, 52822, 52851, 52881, 52910,\n 52939, 52969, 52998, 53028, 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, 53294, 53324, 53353, 53383, 53412, 53441,\n 53471, 53500, 53530, 53559, 53589, 53619, 53648, 53678, 53708, 53737, 53767, 53796, 53825, 53855, 53884, 53913, 53943, 53973,\n 54003, 54032, 54062, 54092, 54121, 54151, 54180, 54209, 54239, 54268, 54297, 54327, 54357, 54387, 54416, 54446, 54476, 54505,\n 54535, 54564, 54593, 54623, 54652, 54681, 54711, 54741, 54770, 54800, 54830, 54859, 54889, 54919, 54948, 54977, 55007, 55036,\n 55066, 55095, 55125, 55154, 55184, 55213, 55243, 55273, 55302, 55332, 55361, 55391, 55420, 55450, 55479, 55508, 55538, 55567,\n 55597, 55627, 55657, 55686, 55716, 55745, 55775, 55804, 55834, 55863, 55892, 55922, 55951, 55981, 56011, 56040, 56070, 56100,\n 56129, 56159, 56188, 56218, 56247, 56276, 56306, 56335, 56365, 56394, 56424, 56454, 56483, 56513, 56543, 56572, 56601, 56631,\n 56660, 56690, 56719, 56749, 56778, 56808, 56837, 56867, 56897, 56926, 56956, 56985, 57015, 57044, 57074, 57103, 57133, 57162,\n 57192, 57221, 57251, 57280, 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517, 57546, 57576, 57605, 57634, 57664, 57694,\n 57723, 57753, 57783, 57813, 57842, 57871, 57901, 57930, 57959, 57989, 58018, 58048, 58077, 58107, 58137, 58167, 58196, 58226,\n 58255, 58285, 58314, 58343, 58373, 58402, 58432, 58461, 58491, 58521, 58551, 58580, 58610, 58639, 58669, 58698, 58727, 58757,\n 58786, 58816, 58845, 58875, 58905, 58934, 58964, 58994, 59023, 59053, 59082, 59111, 59141, 59170, 59200, 59229, 59259, 59288,\n 59318, 59348, 59377, 59407, 59436, 59466, 59495, 59525, 59554, 59584, 59613, 59643, 59672, 59702, 59731, 59761, 59791, 59820,\n 59850, 59879, 59909, 59939, 59968, 59997, 60027, 60056, 60086, 60115, 60145, 60174, 60204, 60234, 60264, 60293, 60323, 60352,\n 60381, 60411, 60440, 60469, 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, 60736, 60765, 60795, 60824, 60853, 60883,\n 60912, 60942, 60972, 61002, 61031, 61061, 61090, 61120, 61149, 61179, 61208, 61237, 61267, 61296, 61326, 61356, 61385, 61415,\n 61445, 61474, 61504, 61533, 61563, 61592, 61621, 61651, 61680, 61710, 61739, 61769, 61799, 61828, 61858, 61888, 61917, 61947,\n 61976, 62006, 62035, 62064, 62094, 62123, 62153, 62182, 62212, 62242, 62271, 62301, 62331, 62360, 62390, 62419, 62448, 62478,\n 62507, 62537, 62566, 62596, 62625, 62655, 62685, 62715, 62744, 62774, 62803, 62832, 62862, 62891, 62921, 62950, 62980, 63009,\n 63039, 63069, 63099, 63128, 63157, 63187, 63216, 63246, 63275, 63305, 63334, 63363, 63393, 63423, 63453, 63482, 63512, 63541,\n 63571, 63600, 63630, 63659, 63689, 63718, 63747, 63777, 63807, 63836, 63866, 63895, 63925, 63955, 63984, 64014, 64043, 64073,\n 64102, 64131, 64161, 64190, 64220, 64249, 64279, 64309, 64339, 64368, 64398, 64427, 64457, 64486, 64515, 64545, 64574, 64603,\n 64633, 64663, 64692, 64722, 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, 64987, 65017, 65047, 65076, 65106, 65136,\n 65166, 65195, 65225, 65254, 65283, 65313, 65342, 65371, 65401, 65431, 65460, 65490, 65520, 65549, 65579, 65608, 65638, 65667,\n 65697, 65726, 65755, 65785, 65815, 65844, 65874, 65903, 65933, 65963, 65992, 66022, 66051, 66081, 66110, 66140, 66169, 66199,\n 66228, 66258, 66287, 66317, 66346, 66376, 66405, 66435, 66465, 66494, 66524, 66553, 66583, 66612, 66641, 66671, 66700, 66730,\n 66760, 66789, 66819, 66849, 66878, 66908, 66937, 66967, 66996, 67025, 67055, 67084, 67114, 67143, 67173, 67203, 67233, 67262,\n 67292, 67321, 67351, 67380, 67409, 67439, 67468, 67497, 67527, 67557, 67587, 67617, 67646, 67676, 67705, 67735, 67764, 67793,\n 67823, 67852, 67882, 67911, 67941, 67971, 68000, 68030, 68060, 68089, 68119, 68148, 68177, 68207, 68236, 68266, 68295, 68325,\n 68354, 68384, 68414, 68443, 68473, 68502, 68532, 68561, 68591, 68620, 68650, 68679, 68708, 68738, 68768, 68797, 68827, 68857,\n 68886, 68916, 68946, 68975, 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, 69240, 69270, 69300, 69330, 69359, 69388,\n 69418, 69447, 69476, 69506, 69535, 69565, 69595, 69624, 69654, 69684, 69713, 69743, 69772, 69802, 69831, 69861, 69890, 69919,\n 69949, 69978, 70008, 70038, 70067, 70097, 70126, 70156, 70186, 70215, 70245, 70274, 70303, 70333, 70362, 70392, 70421, 70451,\n 70481, 70510, 70540, 70570, 70599, 70629, 70658, 70687, 70717, 70746, 70776, 70805, 70835, 70864, 70894, 70924, 70954, 70983,\n 71013, 71042, 71071, 71101, 71130, 71159, 71189, 71218, 71248, 71278, 71308, 71337, 71367, 71397, 71426, 71455, 71485, 71514,\n 71543, 71573, 71602, 71632, 71662, 71691, 71721, 71751, 71781, 71810, 71839, 71869, 71898, 71927, 71957, 71986, 72016, 72046,\n 72075, 72105, 72135, 72164, 72194, 72223, 72253, 72282, 72311, 72341, 72370, 72400, 72429, 72459, 72489, 72518, 72548, 72577,\n 72607, 72637, 72666, 72695, 72725, 72754, 72784, 72813, 72843, 72872, 72902, 72931, 72961, 72991, 73020, 73050, 73080, 73109,\n 73139, 73168, 73197, 73227, 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464, 73493, 73523, 73552, 73581, 73611, 73640,\n 73669, 73699, 73729, 73758, 73788, 73818, 73848, 73877, 73907, 73936, 73965, 73995, 74024, 74053, 74083, 74113, 74142, 74172,\n 74202, 74231, 74261, 74291, 74320, 74349, 74379, 74408, 74437, 74467, 74497, 74526, 74556, 74586, 74615, 74645, 74675, 74704,\n 74733, 74763, 74792, 74822, 74851, 74881, 74910, 74940, 74969, 74999, 75029, 75058, 75088, 75117, 75147, 75176, 75206, 75235,\n 75264, 75294, 75323, 75353, 75383, 75412, 75442, 75472, 75501, 75531, 75560, 75590, 75619, 75648, 75678, 75707, 75737, 75766,\n 75796, 75826, 75856, 75885, 75915, 75944, 75974, 76003, 76032, 76062, 76091, 76121, 76150, 76180, 76210, 76239, 76269, 76299,\n 76328, 76358, 76387, 76416, 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, 76682, 76712, 76741, 76771, 76801, 76830,\n 76859, 76889, 76918, 76948, 76977, 77007, 77036, 77066, 77096, 77125, 77155, 77185, 77214, 77243, 77273, 77302, 77332, 77361,\n 77390, 77420, 77450, 77479, 77509, 77539, 77569, 77598, 77627, 77657, 77686, 77715, 77745, 77774, 77804, 77833, 77863, 77893,\n 77923, 77952, 77982, 78011, 78041, 78070, 78099, 78129, 78158, 78188, 78217, 78247, 78277, 78307, 78336, 78366, 78395, 78425,\n 78454, 78483, 78513, 78542, 78572, 78601, 78631, 78661, 78690, 78720, 78750, 78779, 78808, 78838, 78867, 78897, 78926, 78956,\n 78985, 79015, 79044, 79074, 79104, 79133, 79163, 79192, 79222, 79251, 79281, 79310, 79340, 79369, 79399, 79428, 79458, 79487,\n 79517, 79546, 79576, 79606, 79635, 79665, 79695, 79724, 79753, 79783, 79812, 79841, 79871, 79900, 79930, 79960, 79990\n ];\n /**\n *\n * @param {Date} gDate ?\n * @returns {Object} ?\n */\n function getHijriDate(gDate) {\n var day = gDate.getDate();\n var month = gDate.getMonth();\n var year = gDate.getFullYear();\n var tMonth = month + 1;\n var tYear = year;\n if (tMonth < 3) {\n tYear -= 1;\n tMonth += 12;\n }\n var yPrefix = Math.floor(tYear / 100);\n var julilanOffset = yPrefix - Math.floor(yPrefix / 4.) - 2;\n var julianNumber = Math.floor(365.25 * (tYear + 4716)) + Math.floor(30.6001 * (tMonth + 1)) + day - julilanOffset - 1524;\n yPrefix = Math.floor((julianNumber - 1867216.25) / 36524.25);\n julilanOffset = yPrefix - Math.floor(yPrefix / 4.) + 1;\n var b = julianNumber + julilanOffset + 1524;\n var c = Math.floor((b - 122.1) / 365.25);\n var d = Math.floor(365.25 * c);\n var tempMonth = Math.floor((b - d) / 30.6001);\n day = (b - d) - Math.floor(30.6001 * tempMonth);\n month = Math.floor((b - d) / 20.6001);\n if (month > 13) {\n c += 1;\n month -= 12;\n }\n month -= 1;\n year = c - 4716;\n var modifiedJulianDate = julianNumber - 2400000;\n // date calculation for year after 2077\n var iyear = 10631 / 30;\n var z = julianNumber - 1948084;\n var cyc = Math.floor(z / 10631.);\n z = z - 10631 * cyc;\n var j = Math.floor((z - 0.1335) / iyear);\n var iy = 30 * cyc + j;\n z = z - Math.floor(j * iyear + 0.1335);\n var im = Math.floor((z + 28.5001) / 29.5);\n /* istanbul ignore next */\n if (im === 13) {\n im = 12;\n }\n var tempDay = z - Math.floor(29.5001 * im - 29);\n var i = 0;\n for (; i < dateCorrection.length; i++) {\n if (dateCorrection[parseInt(i.toString(), 10)] > modifiedJulianDate) {\n break;\n }\n }\n var iln = i + 16260;\n var ii = Math.floor((iln - 1) / 12);\n var hYear = ii + 1;\n var hmonth = iln - 12 * ii;\n var hDate = modifiedJulianDate - dateCorrection[i - 1] + 1;\n if ((hDate + '').length > 2) {\n hDate = tempDay;\n hmonth = im;\n hYear = iy;\n }\n return { year: hYear, month: hmonth, date: hDate };\n }\n HijriParser.getHijriDate = getHijriDate;\n /**\n *\n * @param {number} year ?\n * @param {number} month ?\n * @param {number} day ?\n * @returns {Date} ?\n */\n function toGregorian(year, month, day) {\n var iy = year;\n var im = month;\n var id = day;\n var ii = iy - 1;\n var iln = (ii * 12) + 1 + (im - 1);\n var i = iln - 16260;\n var mcjdn = id + dateCorrection[i - 1] - 1;\n var julianDate = mcjdn + 2400000;\n var z = Math.floor(julianDate + 0.5);\n var a = Math.floor((z - 1867216.25) / 36524.25);\n a = z + 1 + a - Math.floor(a / 4);\n var b = a + 1524;\n var c = Math.floor((b - 122.1) / 365.25);\n var d = Math.floor(365.25 * c);\n var e = Math.floor((b - d) / 30.6001);\n var gDay = b - d - Math.floor(e * 30.6001);\n var gMonth = e - (e > 13.5 ? 13 : 1);\n var gYear = c - (gMonth > 2.5 ? 4716 : 4715);\n /* istanbul ignore next */\n if (gYear <= 0) {\n gMonth--;\n } // No year zero\n return new Date(gYear + '/' + (gMonth) + '/' + gDay);\n }\n HijriParser.toGregorian = toGregorian;\n})(HijriParser || (HijriParser = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/hijri-parser.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/index.js": +/*!********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/index.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Ajax: () => (/* reexport safe */ _ajax__WEBPACK_IMPORTED_MODULE_1__.Ajax),\n/* harmony export */ Animation: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.Animation),\n/* harmony export */ Base: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_4__.Base),\n/* harmony export */ Browser: () => (/* reexport safe */ _browser__WEBPACK_IMPORTED_MODULE_5__.Browser),\n/* harmony export */ ChildProperty: () => (/* reexport safe */ _child_property__WEBPACK_IMPORTED_MODULE_7__.ChildProperty),\n/* harmony export */ Collection: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.Collection),\n/* harmony export */ CollectionFactory: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.CollectionFactory),\n/* harmony export */ Complex: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.Complex),\n/* harmony export */ ComplexFactory: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.ComplexFactory),\n/* harmony export */ Component: () => (/* reexport safe */ _component__WEBPACK_IMPORTED_MODULE_6__.Component),\n/* harmony export */ CreateBuilder: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.CreateBuilder),\n/* harmony export */ Draggable: () => (/* reexport safe */ _draggable__WEBPACK_IMPORTED_MODULE_8__.Draggable),\n/* harmony export */ Droppable: () => (/* reexport safe */ _droppable__WEBPACK_IMPORTED_MODULE_9__.Droppable),\n/* harmony export */ Event: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.Event),\n/* harmony export */ EventHandler: () => (/* reexport safe */ _event_handler__WEBPACK_IMPORTED_MODULE_10__.EventHandler),\n/* harmony export */ Fetch: () => (/* reexport safe */ _fetch__WEBPACK_IMPORTED_MODULE_2__.Fetch),\n/* harmony export */ GlobalAnimationMode: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.GlobalAnimationMode),\n/* harmony export */ HijriParser: () => (/* reexport safe */ _hijri_parser__WEBPACK_IMPORTED_MODULE_17__.HijriParser),\n/* harmony export */ Internationalization: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.Internationalization),\n/* harmony export */ IntlBase: () => (/* reexport safe */ _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase),\n/* harmony export */ KeyboardEvents: () => (/* reexport safe */ _keyboard__WEBPACK_IMPORTED_MODULE_12__.KeyboardEvents),\n/* harmony export */ L10n: () => (/* reexport safe */ _l10n__WEBPACK_IMPORTED_MODULE_13__.L10n),\n/* harmony export */ ModuleLoader: () => (/* reexport safe */ _module_loader__WEBPACK_IMPORTED_MODULE_14__.ModuleLoader),\n/* harmony export */ NotifyPropertyChanges: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.NotifyPropertyChanges),\n/* harmony export */ Observer: () => (/* reexport safe */ _observer__WEBPACK_IMPORTED_MODULE_21__.Observer),\n/* harmony export */ Position: () => (/* reexport safe */ _draggable__WEBPACK_IMPORTED_MODULE_8__.Position),\n/* harmony export */ Property: () => (/* reexport safe */ _notify_property_change__WEBPACK_IMPORTED_MODULE_15__.Property),\n/* harmony export */ SanitizeHtmlHelper: () => (/* reexport safe */ _sanitize_helper__WEBPACK_IMPORTED_MODULE_22__.SanitizeHtmlHelper),\n/* harmony export */ SwipeSettings: () => (/* reexport safe */ _touch__WEBPACK_IMPORTED_MODULE_16__.SwipeSettings),\n/* harmony export */ Touch: () => (/* reexport safe */ _touch__WEBPACK_IMPORTED_MODULE_16__.Touch),\n/* harmony export */ addClass: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.addClass),\n/* harmony export */ addInstance: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.addInstance),\n/* harmony export */ animationMode: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.animationMode),\n/* harmony export */ append: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.append),\n/* harmony export */ attributes: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.attributes),\n/* harmony export */ blazorCultureFormats: () => (/* reexport safe */ _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__.blazorCultureFormats),\n/* harmony export */ blazorTemplates: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.blazorTemplates),\n/* harmony export */ classList: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.classList),\n/* harmony export */ cldrData: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.cldrData),\n/* harmony export */ cloneNode: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.cloneNode),\n/* harmony export */ closest: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.closest),\n/* harmony export */ compareElementParent: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.compareElementParent),\n/* harmony export */ compile: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.compile),\n/* harmony export */ componentList: () => (/* reexport safe */ _validate_lic__WEBPACK_IMPORTED_MODULE_23__.componentList),\n/* harmony export */ containerObject: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.containerObject),\n/* harmony export */ containsClass: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.containsClass),\n/* harmony export */ createElement: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.createElement),\n/* harmony export */ createInstance: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.createInstance),\n/* harmony export */ createLicenseOverlay: () => (/* reexport safe */ _validate_lic__WEBPACK_IMPORTED_MODULE_23__.createLicenseOverlay),\n/* harmony export */ debounce: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.debounce),\n/* harmony export */ defaultCulture: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.defaultCulture),\n/* harmony export */ defaultCurrencyCode: () => (/* reexport safe */ _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__.defaultCurrencyCode),\n/* harmony export */ deleteObject: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.deleteObject),\n/* harmony export */ detach: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.detach),\n/* harmony export */ disableBlazorMode: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.disableBlazorMode),\n/* harmony export */ enableBlazorMode: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.enableBlazorMode),\n/* harmony export */ enableRipple: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.enableRipple),\n/* harmony export */ enableRtl: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.enableRtl),\n/* harmony export */ enableVersionBasedPersistence: () => (/* reexport safe */ _component__WEBPACK_IMPORTED_MODULE_6__.enableVersionBasedPersistence),\n/* harmony export */ extend: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.extend),\n/* harmony export */ formatUnit: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.formatUnit),\n/* harmony export */ getAttributeOrDefault: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.getAttributeOrDefault),\n/* harmony export */ getComponent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_4__.getComponent),\n/* harmony export */ getDefaultDateObject: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.getDefaultDateObject),\n/* harmony export */ getElement: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.getElement),\n/* harmony export */ getEnumValue: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.getEnumValue),\n/* harmony export */ getInstance: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.getInstance),\n/* harmony export */ getNumberDependable: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.getNumberDependable),\n/* harmony export */ getNumericObject: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.getNumericObject),\n/* harmony export */ getRandomId: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.getRandomId),\n/* harmony export */ getTemplateEngine: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.getTemplateEngine),\n/* harmony export */ getUniqueID: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.getUniqueID),\n/* harmony export */ getValue: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.getValue),\n/* harmony export */ getVersion: () => (/* reexport safe */ _validate_lic__WEBPACK_IMPORTED_MODULE_23__.getVersion),\n/* harmony export */ includeInnerHTML: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.includeInnerHTML),\n/* harmony export */ initializeCSPTemplate: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.initializeCSPTemplate),\n/* harmony export */ isBlazor: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.isBlazor),\n/* harmony export */ isNullOrUndefined: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.isNullOrUndefined),\n/* harmony export */ isObject: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.isObject),\n/* harmony export */ isObjectArray: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.isObjectArray),\n/* harmony export */ isRippleEnabled: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.isRippleEnabled),\n/* harmony export */ isUndefined: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.isUndefined),\n/* harmony export */ isVisible: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.isVisible),\n/* harmony export */ loadCldr: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.loadCldr),\n/* harmony export */ matches: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.matches),\n/* harmony export */ merge: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.merge),\n/* harmony export */ onIntlChange: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.onIntlChange),\n/* harmony export */ prepend: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.prepend),\n/* harmony export */ print: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.print),\n/* harmony export */ proxyToRaw: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_4__.proxyToRaw),\n/* harmony export */ queryParams: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.queryParams),\n/* harmony export */ registerLicense: () => (/* reexport safe */ _validate_lic__WEBPACK_IMPORTED_MODULE_23__.registerLicense),\n/* harmony export */ remove: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.remove),\n/* harmony export */ removeChildInstance: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_4__.removeChildInstance),\n/* harmony export */ removeClass: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.removeClass),\n/* harmony export */ resetBlazorTemplate: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.resetBlazorTemplate),\n/* harmony export */ rightToLeft: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.rightToLeft),\n/* harmony export */ rippleEffect: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.rippleEffect),\n/* harmony export */ select: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.select),\n/* harmony export */ selectAll: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.selectAll),\n/* harmony export */ setCulture: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.setCulture),\n/* harmony export */ setCurrencyCode: () => (/* reexport safe */ _internationalization__WEBPACK_IMPORTED_MODULE_11__.setCurrencyCode),\n/* harmony export */ setDateFormat: () => (/* reexport safe */ _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__.setDateFormat),\n/* harmony export */ setDefaultCurrencyCode: () => (/* reexport safe */ _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__.setDefaultCurrencyCode),\n/* harmony export */ setGlobalAnimation: () => (/* reexport safe */ _animation__WEBPACK_IMPORTED_MODULE_3__.setGlobalAnimation),\n/* harmony export */ setImmediate: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.setImmediate),\n/* harmony export */ setNumberFormat: () => (/* reexport safe */ _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__.setNumberFormat),\n/* harmony export */ setProxyToRaw: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_4__.setProxyToRaw),\n/* harmony export */ setStyleAttribute: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.setStyleAttribute),\n/* harmony export */ setTemplateEngine: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.setTemplateEngine),\n/* harmony export */ setValue: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.setValue),\n/* harmony export */ siblings: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.siblings),\n/* harmony export */ throwError: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.throwError),\n/* harmony export */ uniqueID: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_19__.uniqueID),\n/* harmony export */ updateBlazorTemplate: () => (/* reexport safe */ _template_engine__WEBPACK_IMPORTED_MODULE_18__.updateBlazorTemplate),\n/* harmony export */ updateCSSText: () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_20__.updateCSSText),\n/* harmony export */ validateLicense: () => (/* reexport safe */ _validate_lic__WEBPACK_IMPORTED_MODULE_23__.validateLicense),\n/* harmony export */ versionBasedStatePersistence: () => (/* reexport safe */ _component__WEBPACK_IMPORTED_MODULE_6__.versionBasedStatePersistence)\n/* harmony export */ });\n/* harmony import */ var _intl_intl_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intl/intl-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js\");\n/* harmony import */ var _ajax__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ajax */ \"./node_modules/@syncfusion/ej2-base/src/ajax.js\");\n/* harmony import */ var _fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetch */ \"./node_modules/@syncfusion/ej2-base/src/fetch.js\");\n/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation */ \"./node_modules/@syncfusion/ej2-base/src/animation.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./browser */ \"./node_modules/@syncfusion/ej2-base/src/browser.js\");\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./component */ \"./node_modules/@syncfusion/ej2-base/src/component.js\");\n/* harmony import */ var _child_property__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./child-property */ \"./node_modules/@syncfusion/ej2-base/src/child-property.js\");\n/* harmony import */ var _draggable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./draggable */ \"./node_modules/@syncfusion/ej2-base/src/draggable.js\");\n/* harmony import */ var _droppable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./droppable */ \"./node_modules/@syncfusion/ej2-base/src/droppable.js\");\n/* harmony import */ var _event_handler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./event-handler */ \"./node_modules/@syncfusion/ej2-base/src/event-handler.js\");\n/* harmony import */ var _internationalization__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./internationalization */ \"./node_modules/@syncfusion/ej2-base/src/internationalization.js\");\n/* harmony import */ var _keyboard__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./keyboard */ \"./node_modules/@syncfusion/ej2-base/src/keyboard.js\");\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./l10n */ \"./node_modules/@syncfusion/ej2-base/src/l10n.js\");\n/* harmony import */ var _module_loader__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./module-loader */ \"./node_modules/@syncfusion/ej2-base/src/module-loader.js\");\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\n/* harmony import */ var _touch__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./touch */ \"./node_modules/@syncfusion/ej2-base/src/touch.js\");\n/* harmony import */ var _hijri_parser__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./hijri-parser */ \"./node_modules/@syncfusion/ej2-base/src/hijri-parser.js\");\n/* harmony import */ var _template_engine__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./template-engine */ \"./node_modules/@syncfusion/ej2-base/src/template-engine.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _observer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./observer */ \"./node_modules/@syncfusion/ej2-base/src/observer.js\");\n/* harmony import */ var _sanitize_helper__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sanitize-helper */ \"./node_modules/@syncfusion/ej2-base/src/sanitize-helper.js\");\n/* harmony import */ var _validate_lic__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./validate-lic */ \"./node_modules/@syncfusion/ej2-base/src/validate-lic.js\");\n/**\n * Base modules\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/internationalization.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/internationalization.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Internationalization: () => (/* binding */ Internationalization),\n/* harmony export */ cldrData: () => (/* binding */ cldrData),\n/* harmony export */ defaultCulture: () => (/* binding */ defaultCulture),\n/* harmony export */ enableRtl: () => (/* binding */ enableRtl),\n/* harmony export */ getDefaultDateObject: () => (/* binding */ getDefaultDateObject),\n/* harmony export */ getNumberDependable: () => (/* binding */ getNumberDependable),\n/* harmony export */ getNumericObject: () => (/* binding */ getNumericObject),\n/* harmony export */ loadCldr: () => (/* binding */ loadCldr),\n/* harmony export */ onIntlChange: () => (/* binding */ onIntlChange),\n/* harmony export */ rightToLeft: () => (/* binding */ rightToLeft),\n/* harmony export */ setCulture: () => (/* binding */ setCulture),\n/* harmony export */ setCurrencyCode: () => (/* binding */ setCurrencyCode)\n/* harmony export */ });\n/* harmony import */ var _intl_date_formatter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intl/date-formatter */ \"./node_modules/@syncfusion/ej2-base/src/intl/date-formatter.js\");\n/* harmony import */ var _intl_number_formatter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./intl/number-formatter */ \"./node_modules/@syncfusion/ej2-base/src/intl/number-formatter.js\");\n/* harmony import */ var _intl_date_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./intl/date-parser */ \"./node_modules/@syncfusion/ej2-base/src/intl/date-parser.js\");\n/* harmony import */ var _intl_number_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./intl/number-parser */ \"./node_modules/@syncfusion/ej2-base/src/intl/number-parser.js\");\n/* harmony import */ var _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./intl/intl-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _observer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./observer */ \"./node_modules/@syncfusion/ej2-base/src/observer.js\");\n\n\n\n\n\n\n\n/**\n * Specifies the observer used for external change detection.\n */\nvar onIntlChange = new _observer__WEBPACK_IMPORTED_MODULE_6__.Observer();\n/**\n * Specifies the default rtl status for EJ2 components.\n */\nvar rightToLeft = false;\n/**\n * Specifies the CLDR data loaded for internationalization functionalities.\n *\n * @private\n */\nvar cldrData = {};\n/**\n * Specifies the default culture value to be considered.\n *\n * @private\n */\nvar defaultCulture = 'en-US';\nvar mapper = ['numericObject', 'dateObject'];\n/**\n * Internationalization class provides support to parse and format the number and date object to the desired format.\n * ```typescript\n * // To set the culture globally\n * setCulture('en-GB');\n *\n * // To set currency code globally\n * setCurrencyCode('EUR');\n *\n * //Load cldr data\n * loadCldr(gregorainData);\n * loadCldr(timeZoneData);\n * loadCldr(numbersData);\n * loadCldr(numberSystemData);\n *\n * // To use formatter in component side\n * let Intl:Internationalization = new Internationalization();\n *\n * // Date formatting\n * let dateFormatter: Function = Intl.getDateFormat({skeleton:'long',type:'dateTime'});\n * dateFormatter(new Date('11/2/2016'));\n * dateFormatter(new Date('25/2/2030'));\n * Intl.formatDate(new Date(),{skeleton:'E'});\n *\n * //Number formatting\n * let numberFormatter: Function = Intl.getNumberFormat({skeleton:'C5'})\n * numberFormatter(24563334);\n * Intl.formatNumber(123123,{skeleton:'p2'});\n *\n * // Date parser\n * let dateParser: Function = Intl.getDateParser({skeleton:'short',type:'time'});\n * dateParser('10:30 PM');\n * Intl.parseDate('10',{skeleton:'H'});\n * ```\n */\nvar Internationalization = /** @class */ (function () {\n function Internationalization(cultureName) {\n if (cultureName) {\n this.culture = cultureName;\n }\n }\n /**\n * Returns the format function for given options.\n *\n * @param {DateFormatOptions} options - Specifies the format options in which the format function will return.\n * @returns {Function} ?\n */\n Internationalization.prototype.getDateFormat = function (options) {\n return _intl_date_formatter__WEBPACK_IMPORTED_MODULE_0__.DateFormat.dateFormat(this.getCulture(), options || { type: 'date', skeleton: 'short' }, cldrData);\n };\n /**\n * Returns the format function for given options.\n *\n * @param {NumberFormatOptions} options - Specifies the format options in which the format function will return.\n * @returns {Function} ?\n */\n Internationalization.prototype.getNumberFormat = function (options) {\n if (options && !options.currency) {\n options.currency = _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.defaultCurrencyCode;\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_5__.isBlazor)() && options && !options.format) {\n options.minimumFractionDigits = 0;\n }\n return _intl_number_formatter__WEBPACK_IMPORTED_MODULE_1__.NumberFormat.numberFormatter(this.getCulture(), options || {}, cldrData);\n };\n /**\n * Returns the parser function for given options.\n *\n * @param {DateFormatOptions} options - Specifies the format options in which the parser function will return.\n * @returns {Function} ?\n */\n Internationalization.prototype.getDateParser = function (options) {\n return _intl_date_parser__WEBPACK_IMPORTED_MODULE_2__.DateParser.dateParser(this.getCulture(), options || { skeleton: 'short', type: 'date' }, cldrData);\n };\n /**\n * Returns the parser function for given options.\n *\n * @param {NumberFormatOptions} options - Specifies the format options in which the parser function will return.\n * @returns {Function} ?\n */\n Internationalization.prototype.getNumberParser = function (options) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_5__.isBlazor)() && options && !options.format) {\n options.minimumFractionDigits = 0;\n }\n return _intl_number_parser__WEBPACK_IMPORTED_MODULE_3__.NumberParser.numberParser(this.getCulture(), options || { format: 'N' }, cldrData);\n };\n /**\n * Returns the formatted string based on format options.\n *\n * @param {number} value - Specifies the number to format.\n * @param {NumberFormatOptions} option - Specifies the format options in which the number will be formatted.\n * @returns {string} ?\n */\n Internationalization.prototype.formatNumber = function (value, option) {\n return this.getNumberFormat(option)(value);\n };\n /**\n * Returns the formatted date string based on format options.\n *\n * @param {Date} value - Specifies the number to format.\n * @param {DateFormatOptions} option - Specifies the format options in which the number will be formatted.\n * @returns {string} ?\n */\n Internationalization.prototype.formatDate = function (value, option) {\n return this.getDateFormat(option)(value);\n };\n /**\n * Returns the date object for given date string and options.\n *\n * @param {string} value - Specifies the string to parse.\n * @param {DateFormatOptions} option - Specifies the parse options in which the date string will be parsed.\n * @returns {Date} ?\n */\n Internationalization.prototype.parseDate = function (value, option) {\n return this.getDateParser(option)(value);\n };\n /**\n * Returns the number object from the given string value and options.\n *\n * @param {string} value - Specifies the string to parse.\n * @param {NumberFormatOptions} option - Specifies the parse options in which the string number will be parsed.\n * @returns {number} ?\n */\n Internationalization.prototype.parseNumber = function (value, option) {\n return this.getNumberParser(option)(value);\n };\n /**\n * Returns Native Date Time Pattern\n *\n * @param {DateFormatOptions} option - Specifies the parse options for resultant date time pattern.\n * @param {boolean} isExcelFormat - Specifies format value to be converted to excel pattern.\n * @returns {string} ?\n * @private\n */\n Internationalization.prototype.getDatePattern = function (option, isExcelFormat) {\n return _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getActualDateTimeFormat(this.getCulture(), option, cldrData, isExcelFormat);\n };\n /**\n * Returns Native Number Pattern\n *\n * @param {NumberFormatOptions} option - Specifies the parse options for resultant number pattern.\n * @param {boolean} isExcel ?\n * @returns {string} ?\n * @private\n */\n Internationalization.prototype.getNumberPattern = function (option, isExcel) {\n return _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getActualNumberFormat(this.getCulture(), option, cldrData, isExcel);\n };\n /**\n * Returns the First Day of the Week\n *\n * @returns {number} ?\n */\n Internationalization.prototype.getFirstDayOfWeek = function () {\n return _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getWeekData(this.getCulture(), cldrData);\n };\n /**\n * Returns the culture\n *\n * @returns {string} ?\n */\n Internationalization.prototype.getCulture = function () {\n return this.culture || defaultCulture;\n };\n return Internationalization;\n}());\n\n/**\n * Set the default culture to all EJ2 components\n *\n * @param {string} cultureName - Specifies the culture name to be set as default culture.\n * @returns {void} ?\n */\nfunction setCulture(cultureName) {\n defaultCulture = cultureName;\n onIntlChange.notify('notifyExternalChange', { 'locale': defaultCulture });\n}\n/**\n * Set the default currency code to all EJ2 components\n *\n * @param {string} currencyCode Specifies the culture name to be set as default culture.\n * @returns {void} ?\n */\nfunction setCurrencyCode(currencyCode) {\n (0,_intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.setDefaultCurrencyCode)(currencyCode);\n onIntlChange.notify('notifyExternalChange', { 'currencyCode': _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.defaultCurrencyCode });\n}\n/**\n * Load the CLDR data into context\n *\n * @param {Object[]} data Specifies the CLDR data's to be used for formatting and parser.\n * @returns {void} ?\n */\nfunction loadCldr() {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var obj = data_1[_a];\n (0,_util__WEBPACK_IMPORTED_MODULE_5__.extend)(cldrData, obj, {}, true);\n }\n}\n/**\n * To enable or disable RTL functionality for all components globally.\n *\n * @param {boolean} status - Optional argument Specifies the status value to enable or disable rtl option.\n * @returns {void} ?\n */\nfunction enableRtl(status) {\n if (status === void 0) { status = true; }\n rightToLeft = status;\n onIntlChange.notify('notifyExternalChange', { enableRtl: rightToLeft });\n}\n/**\n * To get the numeric CLDR object for given culture\n *\n * @param {string} locale - Specifies the locale for which numericObject to be returned.\n * @param {string} type ?\n * @returns {Object} ?\n * @ignore\n * @private\n */\nfunction getNumericObject(locale, type) {\n var numObject = _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getDependables(cldrData, locale, '', true)[mapper[0]];\n var dateObject = _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getDependables(cldrData, locale, '')[mapper[1]];\n var numSystem = (0,_util__WEBPACK_IMPORTED_MODULE_5__.getValue)('defaultNumberingSystem', numObject);\n var symbPattern = (0,_util__WEBPACK_IMPORTED_MODULE_5__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_5__.getValue)('numberSymbols', numObject) : (0,_util__WEBPACK_IMPORTED_MODULE_5__.getValue)('symbols-numberSystem-' + numSystem, numObject);\n var pattern = _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getSymbolPattern(type || 'decimal', numSystem, numObject, false);\n return (0,_util__WEBPACK_IMPORTED_MODULE_5__.extend)(symbPattern, _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getFormatData(pattern, true, '', true), { 'dateSeparator': _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getDateSeparator(dateObject) });\n}\n/**\n * To get the numeric CLDR number base object for given culture\n *\n * @param {string} locale - Specifies the locale for which numericObject to be returned.\n * @param {string} currency - Specifies the currency for which numericObject to be returned.\n * @returns {string} ?\n * @ignore\n * @private\n */\nfunction getNumberDependable(locale, currency) {\n var numObject = _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getDependables(cldrData, locale, '', true);\n return _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getCurrencySymbol(numObject.numericObject, currency);\n}\n/**\n * To get the default date CLDR object.\n *\n * @param {string} mode ?\n * @returns {Object} ?\n * @ignore\n * @private\n */\nfunction getDefaultDateObject(mode) {\n return _intl_intl_base__WEBPACK_IMPORTED_MODULE_4__.IntlBase.getDependables(cldrData, '', mode, false)[mapper[1]];\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/internationalization.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/intl/date-formatter.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/intl/date-formatter.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DateFormat: () => (/* binding */ DateFormat),\n/* harmony export */ basicPatterns: () => (/* binding */ basicPatterns),\n/* harmony export */ datePartMatcher: () => (/* binding */ datePartMatcher)\n/* harmony export */ });\n/* harmony import */ var _parser_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parser-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js\");\n/* harmony import */ var _intl_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./intl-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _hijri_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hijri-parser */ \"./node_modules/@syncfusion/ej2-base/src/hijri-parser.js\");\n\n\n\n\n\nvar abbreviateRegexGlobal = /\\/MMMMM|MMMM|MMM|a|LLLL|LLL|EEEEE|EEEE|E|K|cccc|ccc|WW|W|G+|z+/gi;\nvar standalone = 'stand-alone';\nvar weekdayKey = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];\nvar basicPatterns = ['short', 'medium', 'long', 'full'];\nvar timeSetter = {\n m: 'getMinutes',\n h: 'getHours',\n H: 'getHours',\n s: 'getSeconds',\n d: 'getDate',\n f: 'getMilliseconds'\n};\nvar datePartMatcher = {\n 'M': 'month',\n 'd': 'day',\n 'E': 'weekday',\n 'c': 'weekday',\n 'y': 'year',\n 'm': 'minute',\n 'h': 'hour',\n 'H': 'hour',\n 's': 'second',\n 'L': 'month',\n 'a': 'designator',\n 'z': 'timeZone',\n 'Z': 'timeZone',\n 'G': 'era',\n 'f': 'milliseconds'\n};\nvar timeSeparator = 'timeSeparator';\n/**\n * Date Format is a framework provides support for date formatting.\n *\n * @private\n */\nvar DateFormat = /** @class */ (function () {\n function DateFormat() {\n }\n /**\n * Returns the formatter function for given skeleton.\n *\n * @param {string} culture - Specifies the culture name to be which formatting.\n * @param {DateFormatOptions} option - Specific the format in which date will format.\n * @param {Object} cldr - Specifies the global cldr data collection.\n * @returns {Function} ?\n */\n DateFormat.dateFormat = function (culture, option, cldr) {\n var _this = this;\n var dependable = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getDependables(cldr, culture, option.calendar);\n var numObject = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('parserObject.numbers', dependable);\n var dateObject = dependable.dateObject;\n var formatOptions = { isIslamic: _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.islamicRegex.test(option.calendar) };\n formatOptions.firstDayOfWeek = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getWeekData(culture, cldr);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() && option.isServerRendered) {\n option = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.compareBlazorDateFormats(option, culture);\n }\n var resPattern = option.format ||\n _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getResultantPattern(option.skeleton, dependable.dateObject, option.type, false, (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ? culture : '');\n formatOptions.dateSeperator = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dateSeperator', dateObject) : _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getDateSeparator(dependable.dateObject);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(resPattern)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.throwError)('Format options or type given must be invalid');\n }\n else {\n resPattern = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.ConvertDateToWeekFormat(resPattern);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)()) {\n resPattern = resPattern.replace(/tt/, 'a');\n }\n formatOptions.pattern = resPattern;\n formatOptions.numMapper = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ?\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.extend)({}, numObject) : _parser_base__WEBPACK_IMPORTED_MODULE_0__.ParserBase.getNumberMapper(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_0__.ParserBase.getNumberingSystem(cldr));\n var patternMatch = resPattern.match(abbreviateRegexGlobal) || [];\n for (var _i = 0, patternMatch_1 = patternMatch; _i < patternMatch_1.length; _i++) {\n var str = patternMatch_1[_i];\n var len = str.length;\n var char = str[0];\n if (char === 'K') {\n char = 'h';\n }\n switch (char) {\n case 'E':\n case 'c':\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)()) {\n formatOptions.weekday = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('days.' + _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.monthIndex[\"\" + len], dateObject);\n }\n else {\n formatOptions.weekday = dependable.dateObject[\"\" + _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.days][\"\" + standalone][_intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.monthIndex[\"\" + len]];\n }\n break;\n case 'M':\n case 'L':\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)()) {\n formatOptions.month = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('months.' + _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.monthIndex[\"\" + len], dateObject);\n }\n else {\n formatOptions.month = dependable.dateObject[\"\" + _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.month][\"\" + standalone][_intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.monthIndex[\"\" + len]];\n }\n break;\n case 'a':\n formatOptions.designator = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ?\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dayPeriods', dateObject) : (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dayPeriods.format.wide', dateObject);\n break;\n case 'G': {\n var eText = (len <= 3) ? 'eraAbbr' : (len === 4) ? 'eraNames' : 'eraNarrow';\n formatOptions.era = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('eras', dateObject) : (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('eras.' + eText, dependable.dateObject);\n break;\n }\n case 'z':\n formatOptions.timeZone = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dates.timeZoneNames', dependable.parserObject);\n break;\n }\n }\n }\n return function (value) {\n if (isNaN(value.getDate())) {\n return null;\n }\n return _this.intDateFormatter(value, formatOptions);\n };\n };\n /**\n * Returns formatted date string based on options passed.\n *\n * @param {Date} value ?\n * @param {FormatOptions} options ?\n * @returns {string} ?\n */\n DateFormat.intDateFormatter = function (value, options) {\n var pattern = options.pattern;\n var ret = '';\n var matches = pattern.match(_intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.dateParseRegex);\n var dObject = this.getCurrentDateValue(value, options.isIslamic);\n for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) {\n var match = matches_1[_i];\n var length_1 = match.length;\n var char = match[0];\n if (char === 'K') {\n char = 'h';\n }\n var curval = void 0;\n var curvalstr = '';\n var isNumber = void 0;\n var processNumber = void 0;\n var curstr = '';\n switch (char) {\n case 'M':\n case 'L':\n curval = dObject.month;\n if (length_1 > 2) {\n ret += options.month[\"\" + curval];\n }\n else {\n isNumber = true;\n }\n break;\n case 'E':\n case 'c':\n ret += options.weekday[\"\" + weekdayKey[value.getDay()]];\n break;\n case 'H':\n case 'h':\n case 'm':\n case 's':\n case 'd':\n case 'f':\n isNumber = true;\n if (char === 'd') {\n curval = dObject.date;\n }\n else if (char === 'f') {\n isNumber = false;\n processNumber = true;\n curvalstr = value[\"\" + timeSetter[\"\" + char]]().toString();\n curvalstr = curvalstr.substring(0, length_1);\n var curlength = curvalstr.length;\n if (length_1 !== curlength) {\n if (length_1 > 3) {\n continue;\n }\n for (var i = 0; i < length_1 - curlength; i++) {\n curvalstr = '0' + curvalstr.toString();\n }\n }\n curstr += curvalstr;\n }\n else {\n curval = value[\"\" + timeSetter[\"\" + char]]();\n }\n if (char === 'h') {\n curval = curval % 12 || 12;\n }\n break;\n case 'y':\n processNumber = true;\n curstr += dObject.year;\n if (length_1 === 2) {\n curstr = curstr.substr(curstr.length - 2);\n }\n break;\n case 'a': {\n var desig = value.getHours() < 12 ? 'am' : 'pm';\n ret += options.designator[\"\" + desig];\n break;\n }\n case 'G': {\n var dec = value.getFullYear() < 0 ? 0 : 1;\n var retu = options.era[\"\" + dec];\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isNullOrUndefined)(retu)) {\n retu = options.era[dec ? 0 : 1];\n }\n ret += retu || '';\n break;\n }\n case '\\'':\n ret += (match === '\\'\\'') ? '\\'' : match.replace(/'/g, '');\n break;\n case 'z': {\n var timezone = value.getTimezoneOffset();\n var pattern_1 = (length_1 < 4) ? '+H;-H' : options.timeZone.hourFormat;\n pattern_1 = pattern_1.replace(/:/g, options.numMapper.timeSeparator);\n if (timezone === 0) {\n ret += options.timeZone.gmtZeroFormat;\n }\n else {\n processNumber = true;\n curstr = this.getTimeZoneValue(timezone, pattern_1);\n }\n curstr = options.timeZone.gmtFormat.replace(/\\{0\\}/, curstr);\n break;\n }\n case ':':\n ret += options.numMapper.numberSymbols[\"\" + timeSeparator];\n break;\n case '/':\n ret += options.dateSeperator;\n break;\n case 'W':\n isNumber = true;\n curval = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getWeekOfYear(value, options.firstDayOfWeek);\n break;\n default:\n ret += match;\n }\n if (isNumber) {\n processNumber = true;\n curstr = this.checkTwodigitNumber(curval, length_1);\n }\n if (processNumber) {\n ret += _parser_base__WEBPACK_IMPORTED_MODULE_0__.ParserBase.convertValueParts(curstr, _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.latnParseRegex, options.numMapper.mapper);\n }\n }\n return ret;\n };\n DateFormat.getCurrentDateValue = function (value, isIslamic) {\n if (isIslamic) {\n return _hijri_parser__WEBPACK_IMPORTED_MODULE_3__.HijriParser.getHijriDate(value);\n }\n return { year: value.getFullYear(), month: value.getMonth() + 1, date: value.getDate() };\n };\n /**\n * Returns two digit numbers for given value and length\n *\n * @param {number} val ?\n * @param {number} len ?\n * @returns {string} ?\n */\n DateFormat.checkTwodigitNumber = function (val, len) {\n var ret = val + '';\n if (len === 2 && ret.length !== 2) {\n return '0' + ret;\n }\n return ret;\n };\n /**\n * Returns the value of the Time Zone.\n *\n * @param {number} tVal ?\n * @param {string} pattern ?\n * @returns {string} ?\n * @private\n */\n DateFormat.getTimeZoneValue = function (tVal, pattern) {\n var _this = this;\n var splt = pattern.split(';');\n var curPattern = splt[tVal > 0 ? 1 : 0];\n var no = Math.abs(tVal);\n return curPattern = curPattern.replace(/HH?|mm/g, function (str) {\n var len = str.length;\n var ishour = str.indexOf('H') !== -1;\n return _this.checkTwodigitNumber(Math.floor(ishour ? (no / 60) : (no % 60)), len);\n });\n };\n return DateFormat;\n}());\n\n(0,_intl_base__WEBPACK_IMPORTED_MODULE_1__.setDateFormat)(DateFormat);\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/intl/date-formatter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/intl/date-parser.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/intl/date-parser.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DateParser: () => (/* binding */ DateParser)\n/* harmony export */ });\n/* harmony import */ var _intl_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./intl-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js\");\n/* harmony import */ var _parser_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _date_formatter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./date-formatter */ \"./node_modules/@syncfusion/ej2-base/src/intl/date-formatter.js\");\n/* harmony import */ var _hijri_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hijri-parser */ \"./node_modules/@syncfusion/ej2-base/src/hijri-parser.js\");\n\n\n\n\n\nvar standalone = 'stand-alone';\nvar latnRegex = /^[0-9]*$/;\nvar timeSetter = {\n minute: 'setMinutes',\n hour: 'setHours',\n second: 'setSeconds',\n day: 'setDate',\n month: 'setMonth',\n milliseconds: 'setMilliseconds'\n};\nvar month = 'months';\n/**\n * Date Parser.\n *\n * @private\n */\nvar DateParser = /** @class */ (function () {\n function DateParser() {\n }\n /**\n * Returns the parser function for given skeleton.\n *\n * @param {string} culture - Specifies the culture name to be which formatting.\n * @param {DateFormatOptions} option - Specific the format in which string date will be parsed.\n * @param {Object} cldr - Specifies the global cldr data collection.\n * @returns {Function} ?\n */\n DateParser.dateParser = function (culture, option, cldr) {\n var _this = this;\n var dependable = _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.getDependables(cldr, culture, option.calendar);\n var numOptions = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getCurrentNumericOptions(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberingSystem(cldr), false, (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)());\n var parseOptions = {};\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() && option.isServerRendered) {\n option = _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.compareBlazorDateFormats(option, culture);\n }\n var resPattern = option.format ||\n _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.getResultantPattern(option.skeleton, dependable.dateObject, option.type, false, (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ? culture : '');\n var regexString = '';\n var hourOnly;\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(resPattern)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.throwError)('Format options or type given must be invalid');\n }\n else {\n resPattern = _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.ConvertDateToWeekFormat(resPattern);\n parseOptions = { isIslamic: _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.islamicRegex.test(option.calendar), pattern: resPattern, evalposition: {}, culture: culture };\n var patternMatch = resPattern.match(_intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.dateParseRegex) || [];\n var length_1 = patternMatch.length;\n var gmtCorrection = 0;\n var zCorrectTemp = 0;\n var isgmtTraversed = false;\n var nRegx = numOptions.numericRegex;\n var numMapper = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ? dependable.parserObject.numbers\n : _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberMapper(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberingSystem(cldr));\n for (var i = 0; i < length_1; i++) {\n var str = patternMatch[parseInt(i.toString(), 10)];\n var len = str.length;\n var char = (str[0] === 'K') ? 'h' : str[0];\n var isNumber = void 0;\n var canUpdate = void 0;\n var charKey = _date_formatter__WEBPACK_IMPORTED_MODULE_3__.datePartMatcher[\"\" + char];\n var optional = (len === 2) ? '' : '?';\n if (isgmtTraversed) {\n gmtCorrection = zCorrectTemp;\n isgmtTraversed = false;\n }\n switch (char) {\n case 'E':\n case 'c': {\n var weekData = void 0;\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)()) {\n weekData = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('days.' + _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.monthIndex[\"\" + len], dependable.dateObject);\n }\n else {\n weekData = dependable.dateObject[\"\" + _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.days][\"\" + standalone][_intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.monthIndex[\"\" + len]];\n }\n var weekObject = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.reverseObject(weekData);\n regexString += '(' + Object.keys(weekObject).join('|') + ')';\n break;\n }\n case 'M':\n case 'L':\n case 'd':\n case 'm':\n case 's':\n case 'h':\n case 'H':\n case 'f':\n canUpdate = true;\n if ((char === 'M' || char === 'L') && len > 2) {\n var monthData = void 0;\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)()) {\n monthData = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('months.' + _intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.monthIndex[\"\" + len], dependable.dateObject);\n }\n else {\n monthData = dependable.dateObject[\"\" + month][\"\" + standalone][_intl_base__WEBPACK_IMPORTED_MODULE_0__.IntlBase.monthIndex[\"\" + len]];\n }\n parseOptions[\"\" + charKey] = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.reverseObject(monthData);\n regexString += '(' + Object.keys(parseOptions[\"\" + charKey]).join('|') + ')';\n }\n else if (char === 'f') {\n if (len > 3) {\n continue;\n }\n isNumber = true;\n regexString += '(' + nRegx + nRegx + '?' + nRegx + '?' + ')';\n }\n else {\n isNumber = true;\n regexString += '(' + nRegx + nRegx + optional + ')';\n }\n if (char === 'h') {\n parseOptions.hour12 = true;\n }\n break;\n case 'W': {\n var opt = len === 1 ? '?' : '';\n regexString += '(' + nRegx + opt + nRegx + ')';\n break;\n }\n case 'y':\n canUpdate = isNumber = true;\n if (len === 2) {\n regexString += '(' + nRegx + nRegx + ')';\n }\n else {\n regexString += '(' + nRegx + '{' + len + ',})';\n }\n break;\n case 'a': {\n canUpdate = true;\n var periodValur = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ?\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dayPeriods', dependable.dateObject) :\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dayPeriods.format.wide', dependable.dateObject);\n parseOptions[\"\" + charKey] = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.reverseObject(periodValur);\n regexString += '(' + Object.keys(parseOptions[\"\" + charKey]).join('|') + ')';\n break;\n }\n case 'G': {\n canUpdate = true;\n var eText = (len <= 3) ? 'eraAbbr' : (len === 4) ? 'eraNames' : 'eraNarrow';\n parseOptions[\"\" + charKey] = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.reverseObject((0,_util__WEBPACK_IMPORTED_MODULE_2__.isBlazor)() ?\n (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('eras', dependable.dateObject) : (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('eras.' + eText, dependable.dateObject));\n regexString += '(' + Object.keys(parseOptions[\"\" + charKey]).join('|') + '?)';\n break;\n }\n case 'z': {\n var tval = new Date().getTimezoneOffset();\n canUpdate = (tval !== 0);\n parseOptions[\"\" + charKey] = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getValue)('dates.timeZoneNames', dependable.parserObject);\n var tzone = parseOptions[\"\" + charKey];\n hourOnly = (len < 4);\n var hpattern = hourOnly ? '+H;-H' : tzone.hourFormat;\n hpattern = hpattern.replace(/:/g, numMapper.timeSeparator);\n regexString += '(' + this.parseTimeZoneRegx(hpattern, tzone, nRegx) + ')?';\n isgmtTraversed = true;\n zCorrectTemp = hourOnly ? 6 : 12;\n break;\n }\n case '\\'': {\n var iString = str.replace(/'/g, '');\n regexString += '(' + iString + ')?';\n break;\n }\n default:\n regexString += '([\\\\D])';\n break;\n }\n if (canUpdate) {\n parseOptions.evalposition[\"\" + charKey] = { isNumber: isNumber, pos: i + 1 + gmtCorrection, hourOnly: hourOnly };\n }\n if (i === length_1 - 1 && !(0,_util__WEBPACK_IMPORTED_MODULE_2__.isNullOrUndefined)(regexString)) {\n var regExp = RegExp;\n parseOptions.parserRegex = new regExp('^' + regexString + '$', 'i');\n }\n }\n }\n return function (value) {\n var parsedDateParts = _this.internalDateParse(value, parseOptions, numOptions);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isNullOrUndefined)(parsedDateParts) || !Object.keys(parsedDateParts).length) {\n return null;\n }\n if (parseOptions.isIslamic) {\n var dobj = {};\n var tYear = parsedDateParts.year;\n var tDate = parsedDateParts.day;\n var tMonth = parsedDateParts.month;\n var ystrig = tYear ? (tYear + '') : '';\n var is2DigitYear = (ystrig.length === 2);\n if (!tYear || !tMonth || !tDate || is2DigitYear) {\n dobj = _hijri_parser__WEBPACK_IMPORTED_MODULE_4__.HijriParser.getHijriDate(new Date());\n }\n if (is2DigitYear) {\n tYear = parseInt((dobj.year + '').slice(0, 2) + ystrig, 10);\n }\n var dateObject = _hijri_parser__WEBPACK_IMPORTED_MODULE_4__.HijriParser.toGregorian(tYear || dobj.year, tMonth || dobj.month, tDate || dobj.date);\n parsedDateParts.year = dateObject.getFullYear();\n parsedDateParts.month = dateObject.getMonth() + 1;\n parsedDateParts.day = dateObject.getDate();\n }\n return _this.getDateObject(parsedDateParts);\n };\n };\n /**\n * Returns date object for provided date options\n *\n * @param {DateParts} options ?\n * @param {Date} value ?\n * @returns {Date} ?\n */\n DateParser.getDateObject = function (options, value) {\n var res = value || new Date();\n res.setMilliseconds(0);\n var tKeys = ['hour', 'minute', 'second', 'milliseconds', 'month', 'day'];\n var y = options.year;\n var desig = options.designator;\n var tzone = options.timeZone;\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(y)) {\n var len = (y + '').length;\n if (len <= 2) {\n var century = Math.floor(res.getFullYear() / 100) * 100;\n y += century;\n }\n res.setFullYear(y);\n }\n for (var _i = 0, tKeys_1 = tKeys; _i < tKeys_1.length; _i++) {\n var key = tKeys_1[_i];\n var tValue = options[\"\" + key];\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(tValue) && key === 'day') {\n res.setDate(1);\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(tValue)) {\n if (key === 'month') {\n tValue -= 1;\n if (tValue < 0 || tValue > 11) {\n return new Date('invalid');\n }\n var pDate = res.getDate();\n res.setDate(1);\n res[timeSetter[\"\" + key]](tValue);\n var lDate = new Date(res.getFullYear(), tValue + 1, 0).getDate();\n res.setDate(pDate < lDate ? pDate : lDate);\n }\n else {\n if (key === 'day') {\n var lastDay = new Date(res.getFullYear(), res.getMonth() + 1, 0).getDate();\n if ((tValue < 1 || tValue > lastDay)) {\n return null;\n }\n }\n res[\"\" + timeSetter[\"\" + key]](tValue);\n }\n }\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(desig)) {\n var hour = res.getHours();\n if (desig === 'pm') {\n res.setHours(hour + (hour === 12 ? 0 : 12));\n }\n else if (hour === 12) {\n res.setHours(0);\n }\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(tzone)) {\n var tzValue = tzone - res.getTimezoneOffset();\n if (tzValue !== 0) {\n res.setMinutes(res.getMinutes() + tzValue);\n }\n }\n return res;\n };\n /**\n * Returns date parsing options for provided value along with parse and numeric options\n *\n * @param {string} value ?\n * @param {ParseOptions} parseOptions ?\n * @param {NumericOptions} num ?\n * @returns {DateParts} ?\n */\n DateParser.internalDateParse = function (value, parseOptions, num) {\n var matches = value.match(parseOptions.parserRegex);\n var retOptions = { 'hour': 0, 'minute': 0, 'second': 0 };\n if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isNullOrUndefined)(matches)) {\n return null;\n }\n else {\n var props = Object.keys(parseOptions.evalposition);\n for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {\n var prop = props_1[_i];\n var curObject = parseOptions.evalposition[\"\" + prop];\n var matchString = matches[curObject.pos];\n if (curObject.isNumber) {\n retOptions[\"\" + prop] = this.internalNumberParser(matchString, num);\n }\n else {\n if (prop === 'timeZone' && !(0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(matchString)) {\n var pos = curObject.pos;\n var val = void 0;\n var tmatch = matches[pos + 1];\n var flag = !(0,_util__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(tmatch);\n if (curObject.hourOnly) {\n val = this.getZoneValue(flag, tmatch, matches[pos + 4], num) * 60;\n }\n else {\n val = this.getZoneValue(flag, tmatch, matches[pos + 7], num) * 60;\n val += this.getZoneValue(flag, matches[pos + 4], matches[pos + 10], num);\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.isNullOrUndefined)(val)) {\n retOptions[\"\" + prop] = val;\n }\n }\n else {\n var cultureOptions = ['en-US', 'en-MH', 'en-MP'];\n matchString = ((prop === 'month') && (!parseOptions.isIslamic) && (parseOptions.culture === 'en' || parseOptions.culture === 'en-GB' || parseOptions.culture === 'en-US'))\n ? matchString[0].toUpperCase() + matchString.substring(1).toLowerCase() : matchString;\n matchString = ((prop !== 'month') && (prop === 'designator') && parseOptions.culture && parseOptions.culture.indexOf('en-') !== -1 && cultureOptions.indexOf(parseOptions.culture) === -1)\n ? matchString.toLowerCase() : matchString;\n retOptions[\"\" + prop] = parseOptions[\"\" + prop][\"\" + matchString];\n }\n }\n }\n if (parseOptions.hour12) {\n retOptions.hour12 = true;\n }\n }\n return retOptions;\n };\n /**\n * Returns parsed number for provided Numeric string and Numeric Options\n *\n * @param {string} value ?\n * @param {NumericOptions} option ?\n * @returns {number} ?\n */\n DateParser.internalNumberParser = function (value, option) {\n value = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.convertValueParts(value, option.numberParseRegex, option.numericPair);\n if (latnRegex.test(value)) {\n return +value;\n }\n return null;\n };\n /**\n * Returns parsed time zone RegExp for provided hour format and time zone\n *\n * @param {string} hourFormat ?\n * @param {base.TimeZoneOptions} tZone ?\n * @param {string} nRegex ?\n * @returns {string} ?\n */\n DateParser.parseTimeZoneRegx = function (hourFormat, tZone, nRegex) {\n var pattern = tZone.gmtFormat;\n var ret;\n var cRegex = '(' + nRegex + ')' + '(' + nRegex + ')';\n ret = hourFormat.replace('+', '\\\\+');\n if (hourFormat.indexOf('HH') !== -1) {\n ret = ret.replace(/HH|mm/g, '(' + cRegex + ')');\n }\n else {\n ret = ret.replace(/H|m/g, '(' + cRegex + '?)');\n }\n var splitStr = (ret.split(';').map(function (str) {\n return pattern.replace('{0}', str);\n }));\n ret = splitStr.join('|') + '|' + tZone.gmtZeroFormat;\n return ret;\n };\n /**\n * Returns zone based value.\n *\n * @param {boolean} flag ?\n * @param {string} val1 ?\n * @param {string} val2 ?\n * @param {NumericOptions} num ?\n * @returns {number} ?\n */\n DateParser.getZoneValue = function (flag, val1, val2, num) {\n var ival = flag ? val1 : val2;\n if (!ival) {\n return 0;\n }\n var value = this.internalNumberParser(ival, num);\n if (flag) {\n return -value;\n }\n return value;\n };\n return DateParser;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/intl/date-parser.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IntlBase: () => (/* binding */ IntlBase),\n/* harmony export */ blazorCultureFormats: () => (/* binding */ blazorCultureFormats),\n/* harmony export */ defaultCurrencyCode: () => (/* binding */ defaultCurrencyCode),\n/* harmony export */ setDateFormat: () => (/* binding */ setDateFormat),\n/* harmony export */ setDefaultCurrencyCode: () => (/* binding */ setDefaultCurrencyCode),\n/* harmony export */ setNumberFormat: () => (/* binding */ setNumberFormat)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _parser_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js\");\n\n\n\n/**\n * Specifies default currency code to be considered\n *\n * @private\n */\nvar defaultCurrencyCode = 'USD';\nvar NumberFormat = null;\nvar DateFormat = null;\nfunction setDefaultCurrencyCode(value) { defaultCurrencyCode = value; }\nfunction setNumberFormat(value) { NumberFormat = value; }\nfunction setDateFormat(value) { DateFormat = value; }\nvar regExp = RegExp;\nvar blazorCultureFormats = {\n 'en-US': {\n 'd': 'M/d/y',\n 'D': 'EEEE, MMMM d, y',\n 'f': 'EEEE, MMMM d, y h:mm a',\n 'F': 'EEEE, MMMM d, y h:mm:s a',\n 'g': 'M/d/y h:mm a',\n 'G': 'M/d/yyyy h:mm:ss tt',\n 'm': 'MMMM d',\n 'M': 'MMMM d',\n 'r': 'ddd, dd MMM yyyy HH\\':\\'mm\\':\\'ss \\'GMT\\'',\n 'R': 'ddd, dd MMM yyyy HH\\':\\'mm\\':\\'ss \\'GMT\\'',\n 's': 'yyyy\\'-\\'MM\\'-\\'dd\\'T\\'HH\\':\\'mm\\':\\'ss',\n 't': 'h:mm tt',\n 'T': 'h:m:s tt',\n 'u': 'yyyy\\'-\\'MM\\'-\\'dd HH\\':\\'mm\\':\\'ss\\'Z\\'',\n 'U': 'dddd, MMMM d, yyyy h:mm:ss tt',\n 'y': 'MMMM yyyy',\n 'Y': 'MMMM yyyy'\n }\n};\n/**\n * Date base common constants and function for date parser and formatter.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nvar IntlBase;\n(function (IntlBase) {\n // eslint-disable-next-line security/detect-unsafe-regex\n IntlBase.negativeDataRegex = /^(('[^']+'|''|[^*#@0,.E])*)(\\*.)?((([#,]*[0,]*0+)(\\.0*[0-9]*#*)?)|([#,]*@+#*))(E\\+?0+)?(('[^']+'|''|[^*#@0,.E])*)$/;\n // eslint-disable-next-line security/detect-unsafe-regex\n IntlBase.customRegex = /^(('[^']+'|''|[^*#@0,.])*)(\\*.)?((([0#,]*[0,]*[0#]*[0# ]*)(\\.[0#]*)?)|([#,]*@+#*))(E\\+?0+)?(('[^']+'|''|[^*#@0,.E])*)$/;\n IntlBase.latnParseRegex = /0|1|2|3|4|5|6|7|8|9/g;\n var fractionRegex = /[0-9]/g;\n IntlBase.defaultCurrency = '$';\n var mapper = ['infinity', 'nan', 'group', 'decimal'];\n var patternRegex = /G|M|L|H|c|'| a|yy|y|EEEE|E/g;\n var patternMatch = {\n 'G': '',\n 'M': 'm',\n 'L': 'm',\n 'H': 'h',\n 'c': 'd',\n '\\'': '\"',\n ' a': ' AM/PM',\n 'yy': 'yy',\n 'y': 'yyyy',\n 'EEEE': 'dddd',\n 'E': 'ddd'\n };\n IntlBase.dateConverterMapper = /dddd|ddd/ig;\n var defaultFirstDay = 'sun';\n IntlBase.islamicRegex = /^islamic/;\n var firstDayMapper = {\n 'sun': 0,\n 'mon': 1,\n 'tue': 2,\n 'wed': 3,\n 'thu': 4,\n 'fri': 5,\n 'sat': 6\n };\n IntlBase.formatRegex = new regExp('(^[ncpae]{1})([0-1]?[0-9]|20)?$', 'i');\n IntlBase.currencyFormatRegex = new regExp('(^[ca]{1})([0-1]?[0-9]|20)?$', 'i');\n IntlBase.curWithoutNumberRegex = /(c|a)$/ig;\n var typeMapper = {\n '$': 'isCurrency',\n '%': 'isPercent',\n '-': 'isNegative',\n 0: 'nlead',\n 1: 'nend'\n };\n IntlBase.dateParseRegex = /([a-z])\\1*|'([^']|'')+'|''|./gi;\n IntlBase.basicPatterns = ['short', 'medium', 'long', 'full'];\n IntlBase.defaultObject = {\n 'dates': {\n 'calendars': {\n 'gregorian': {\n 'months': {\n 'stand-alone': {\n 'abbreviated': {\n '1': 'Jan',\n '2': 'Feb',\n '3': 'Mar',\n '4': 'Apr',\n '5': 'May',\n '6': 'Jun',\n '7': 'Jul',\n '8': 'Aug',\n '9': 'Sep',\n '10': 'Oct',\n '11': 'Nov',\n '12': 'Dec'\n },\n 'narrow': {\n '1': 'J',\n '2': 'F',\n '3': 'M',\n '4': 'A',\n '5': 'M',\n '6': 'J',\n '7': 'J',\n '8': 'A',\n '9': 'S',\n '10': 'O',\n '11': 'N',\n '12': 'D'\n },\n 'wide': {\n '1': 'January',\n '2': 'February',\n '3': 'March',\n '4': 'April',\n '5': 'May',\n '6': 'June',\n '7': 'July',\n '8': 'August',\n '9': 'September',\n '10': 'October',\n '11': 'November',\n '12': 'December'\n }\n }\n },\n 'days': {\n 'stand-alone': {\n 'abbreviated': {\n 'sun': 'Sun',\n 'mon': 'Mon',\n 'tue': 'Tue',\n 'wed': 'Wed',\n 'thu': 'Thu',\n 'fri': 'Fri',\n 'sat': 'Sat'\n },\n 'narrow': {\n 'sun': 'S',\n 'mon': 'M',\n 'tue': 'T',\n 'wed': 'W',\n 'thu': 'T',\n 'fri': 'F',\n 'sat': 'S'\n },\n 'short': {\n 'sun': 'Su',\n 'mon': 'Mo',\n 'tue': 'Tu',\n 'wed': 'We',\n 'thu': 'Th',\n 'fri': 'Fr',\n 'sat': 'Sa'\n },\n 'wide': {\n 'sun': 'Sunday',\n 'mon': 'Monday',\n 'tue': 'Tuesday',\n 'wed': 'Wednesday',\n 'thu': 'Thursday',\n 'fri': 'Friday',\n 'sat': 'Saturday'\n }\n }\n },\n 'dayPeriods': {\n 'format': {\n 'wide': {\n 'am': 'AM',\n 'pm': 'PM'\n }\n }\n },\n 'eras': {\n 'eraNames': {\n '0': 'Before Christ',\n '0-alt-variant': 'Before Common Era',\n '1': 'Anno Domini',\n '1-alt-variant': 'Common Era'\n },\n 'eraAbbr': {\n '0': 'BC',\n '0-alt-variant': 'BCE',\n '1': 'AD',\n '1-alt-variant': 'CE'\n },\n 'eraNarrow': {\n '0': 'B',\n '0-alt-variant': 'BCE',\n '1': 'A',\n '1-alt-variant': 'CE'\n }\n },\n 'dateFormats': {\n 'full': 'EEEE, MMMM d, y',\n 'long': 'MMMM d, y',\n 'medium': 'MMM d, y',\n 'short': 'M/d/yy'\n },\n 'timeFormats': {\n 'full': 'h:mm:ss a zzzz',\n 'long': 'h:mm:ss a z',\n 'medium': 'h:mm:ss a',\n 'short': 'h:mm a'\n },\n 'dateTimeFormats': {\n 'full': '{1} \\'at\\' {0}',\n 'long': '{1} \\'at\\' {0}',\n 'medium': '{1}, {0}',\n 'short': '{1}, {0}',\n 'availableFormats': {\n 'd': 'd',\n 'E': 'ccc',\n 'Ed': 'd E',\n 'Ehm': 'E h:mm a',\n 'EHm': 'E HH:mm',\n 'Ehms': 'E h:mm:ss a',\n 'EHms': 'E HH:mm:ss',\n 'Gy': 'y G',\n 'GyMMM': 'MMM y G',\n 'GyMMMd': 'MMM d, y G',\n 'GyMMMEd': 'E, MMM d, y G',\n 'h': 'h a',\n 'H': 'HH',\n 'hm': 'h:mm a',\n 'Hm': 'HH:mm',\n 'hms': 'h:mm:ss a',\n 'Hms': 'HH:mm:ss',\n 'hmsv': 'h:mm:ss a v',\n 'Hmsv': 'HH:mm:ss v',\n 'hmv': 'h:mm a v',\n 'Hmv': 'HH:mm v',\n 'M': 'L',\n 'Md': 'M/d',\n 'MEd': 'E, M/d',\n 'MMM': 'LLL',\n 'MMMd': 'MMM d',\n 'MMMEd': 'E, MMM d',\n 'MMMMd': 'MMMM d',\n 'ms': 'mm:ss',\n 'y': 'y',\n 'yM': 'M/y',\n 'yMd': 'M/d/y',\n 'yMEd': 'E, M/d/y',\n 'yMMM': 'MMM y',\n 'yMMMd': 'MMM d, y',\n 'yMMMEd': 'E, MMM d, y',\n 'yMMMM': 'MMMM y'\n }\n }\n },\n 'islamic': {\n 'months': {\n 'stand-alone': {\n 'abbreviated': {\n '1': 'Muh.',\n '2': 'Saf.',\n '3': 'Rab. I',\n '4': 'Rab. II',\n '5': 'Jum. I',\n '6': 'Jum. II',\n '7': 'Raj.',\n '8': 'Sha.',\n '9': 'Ram.',\n '10': 'Shaw.',\n '11': 'Dhuʻl-Q.',\n '12': 'Dhuʻl-H.'\n },\n 'narrow': {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '10': '10',\n '11': '11',\n '12': '12'\n },\n 'wide': {\n '1': 'Muharram',\n '2': 'Safar',\n '3': 'Rabiʻ I',\n '4': 'Rabiʻ II',\n '5': 'Jumada I',\n '6': 'Jumada II',\n '7': 'Rajab',\n '8': 'Shaʻban',\n '9': 'Ramadan',\n '10': 'Shawwal',\n '11': 'Dhuʻl-Qiʻdah',\n '12': 'Dhuʻl-Hijjah'\n }\n }\n },\n 'days': {\n 'stand-alone': {\n 'abbreviated': {\n 'sun': 'Sun',\n 'mon': 'Mon',\n 'tue': 'Tue',\n 'wed': 'Wed',\n 'thu': 'Thu',\n 'fri': 'Fri',\n 'sat': 'Sat'\n },\n 'narrow': {\n 'sun': 'S',\n 'mon': 'M',\n 'tue': 'T',\n 'wed': 'W',\n 'thu': 'T',\n 'fri': 'F',\n 'sat': 'S'\n },\n 'short': {\n 'sun': 'Su',\n 'mon': 'Mo',\n 'tue': 'Tu',\n 'wed': 'We',\n 'thu': 'Th',\n 'fri': 'Fr',\n 'sat': 'Sa'\n },\n 'wide': {\n 'sun': 'Sunday',\n 'mon': 'Monday',\n 'tue': 'Tuesday',\n 'wed': 'Wednesday',\n 'thu': 'Thursday',\n 'fri': 'Friday',\n 'sat': 'Saturday'\n }\n }\n },\n 'dayPeriods': {\n 'format': {\n 'wide': {\n 'am': 'AM',\n 'pm': 'PM'\n }\n }\n },\n 'eras': {\n 'eraNames': {\n '0': 'AH'\n },\n 'eraAbbr': {\n '0': 'AH'\n },\n 'eraNarrow': {\n '0': 'AH'\n }\n },\n 'dateFormats': {\n 'full': 'EEEE, MMMM d, y G',\n 'long': 'MMMM d, y G',\n 'medium': 'MMM d, y G',\n 'short': 'M/d/y GGGGG'\n },\n 'timeFormats': {\n 'full': 'h:mm:ss a zzzz',\n 'long': 'h:mm:ss a z',\n 'medium': 'h:mm:ss a',\n 'short': 'h:mm a'\n },\n 'dateTimeFormats': {\n 'full': '{1} \\'at\\' {0}',\n 'long': '{1} \\'at\\' {0}',\n 'medium': '{1}, {0}',\n 'short': '{1}, {0}',\n 'availableFormats': {\n 'd': 'd',\n 'E': 'ccc',\n 'Ed': 'd E',\n 'Ehm': 'E h:mm a',\n 'EHm': 'E HH:mm',\n 'Ehms': 'E h:mm:ss a',\n 'EHms': 'E HH:mm:ss',\n 'Gy': 'y G',\n 'GyMMM': 'MMM y G',\n 'GyMMMd': 'MMM d, y G',\n 'GyMMMEd': 'E, MMM d, y G',\n 'h': 'h a',\n 'H': 'HH',\n 'hm': 'h:mm a',\n 'Hm': 'HH:mm',\n 'hms': 'h:mm:ss a',\n 'Hms': 'HH:mm:ss',\n 'M': 'L',\n 'Md': 'M/d',\n 'MEd': 'E, M/d',\n 'MMM': 'LLL',\n 'MMMd': 'MMM d',\n 'MMMEd': 'E, MMM d',\n 'MMMMd': 'MMMM d',\n 'ms': 'mm:ss',\n 'y': 'y G',\n 'yyyy': 'y G',\n 'yyyyM': 'M/y GGGGG',\n 'yyyyMd': 'M/d/y GGGGG',\n 'yyyyMEd': 'E, M/d/y GGGGG',\n 'yyyyMMM': 'MMM y G',\n 'yyyyMMMd': 'MMM d, y G',\n 'yyyyMMMEd': 'E, MMM d, y G',\n 'yyyyMMMM': 'MMMM y G',\n 'yyyyQQQ': 'QQQ y G',\n 'yyyyQQQQ': 'QQQQ y G'\n }\n }\n }\n },\n 'timeZoneNames': {\n 'hourFormat': '+HH:mm;-HH:mm',\n 'gmtFormat': 'GMT{0}',\n 'gmtZeroFormat': 'GMT'\n }\n },\n 'numbers': {\n 'currencies': {\n 'USD': {\n 'displayName': 'US Dollar',\n 'symbol': '$',\n 'symbol-alt-narrow': '$'\n },\n 'EUR': {\n 'displayName': 'Euro',\n 'symbol': '€',\n 'symbol-alt-narrow': '€'\n },\n 'GBP': {\n 'displayName': 'British Pound',\n 'symbol-alt-narrow': '£'\n }\n },\n 'defaultNumberingSystem': 'latn',\n 'minimumGroupingDigits': '1',\n 'symbols-numberSystem-latn': {\n 'decimal': '.',\n 'group': ',',\n 'list': ';',\n 'percentSign': '%',\n 'plusSign': '+',\n 'minusSign': '-',\n 'exponential': 'E',\n 'superscriptingExponent': '×',\n 'perMille': '‰',\n 'infinity': '∞',\n 'nan': 'NaN',\n 'timeSeparator': ':'\n },\n 'decimalFormats-numberSystem-latn': {\n 'standard': '#,##0.###'\n },\n 'percentFormats-numberSystem-latn': {\n 'standard': '#,##0%'\n },\n 'currencyFormats-numberSystem-latn': {\n 'standard': '¤#,##0.00',\n 'accounting': '¤#,##0.00;(¤#,##0.00)'\n },\n 'scientificFormats-numberSystem-latn': {\n 'standard': '#E0'\n }\n }\n };\n IntlBase.blazorDefaultObject = {\n 'numbers': {\n 'mapper': {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9'\n },\n 'mapperDigits': '0123456789',\n 'numberSymbols': {\n 'decimal': '.',\n 'group': ',',\n 'plusSign': '+',\n 'minusSign': '-',\n 'percentSign': '%',\n 'nan': 'NaN',\n 'timeSeparator': ':',\n 'infinity': '∞'\n },\n 'timeSeparator': ':',\n 'currencySymbol': '$',\n 'currencypData': {\n 'nlead': '$',\n 'nend': '',\n 'groupSeparator': ',',\n 'groupData': {\n 'primary': 3\n },\n 'maximumFraction': 2,\n 'minimumFraction': 2\n },\n 'percentpData': {\n 'nlead': '',\n 'nend': '%',\n 'groupSeparator': ',',\n 'groupData': {\n 'primary': 3\n },\n 'maximumFraction': 2,\n 'minimumFraction': 2\n },\n 'percentnData': {\n 'nlead': '-',\n 'nend': '%',\n 'groupSeparator': ',',\n 'groupData': {\n 'primary': 3\n },\n 'maximumFraction': 2,\n 'minimumFraction': 2\n },\n 'currencynData': {\n 'nlead': '($',\n 'nend': ')',\n 'groupSeparator': ',',\n 'groupData': {\n 'primary': 3\n },\n 'maximumFraction': 2,\n 'minimumFraction': 2\n },\n 'decimalnData': {\n 'nlead': '-',\n 'nend': '',\n 'groupData': {\n 'primary': 3\n },\n 'maximumFraction': 2,\n 'minimumFraction': 2\n },\n 'decimalpData': {\n 'nlead': '',\n 'nend': '',\n 'groupData': {\n 'primary': 3\n },\n 'maximumFraction': 2,\n 'minimumFraction': 2\n }\n },\n 'dates': {\n 'dayPeriods': {\n 'am': 'AM',\n 'pm': 'PM'\n },\n 'dateSeperator': '/',\n 'days': {\n 'abbreviated': {\n 'sun': 'Sun',\n 'mon': 'Mon',\n 'tue': 'Tue',\n 'wed': 'Wed',\n 'thu': 'Thu',\n 'fri': 'Fri',\n 'sat': 'Sat'\n },\n 'short': {\n 'sun': 'Su',\n 'mon': 'Mo',\n 'tue': 'Tu',\n 'wed': 'We',\n 'thu': 'Th',\n 'fri': 'Fr',\n 'sat': 'Sa'\n },\n 'wide': {\n 'sun': 'Sunday',\n 'mon': 'Monday',\n 'tue': 'Tuesday',\n 'wed': 'Wednesday',\n 'thu': 'Thursday',\n 'fri': 'Friday',\n 'sat': 'Saturday'\n }\n },\n 'months': {\n 'abbreviated': {\n '1': 'Jan',\n '2': 'Feb',\n '3': 'Mar',\n '4': 'Apr',\n '5': 'May',\n '6': 'Jun',\n '7': 'Jul',\n '8': 'Aug',\n '9': 'Sep',\n '10': 'Oct',\n '11': 'Nov',\n '12': 'Dec'\n },\n 'wide': {\n '1': 'January',\n '2': 'February',\n '3': 'March',\n '4': 'April',\n '5': 'May',\n '6': 'June',\n '7': 'July',\n '8': 'August',\n '9': 'September',\n '10': 'October',\n '11': 'November',\n '12': 'December'\n }\n },\n 'eras': {\n '1': 'AD'\n }\n }\n };\n IntlBase.monthIndex = {\n 3: 'abbreviated',\n 4: 'wide',\n 5: 'narrow',\n 1: 'abbreviated'\n };\n /**\n *\n */\n IntlBase.month = 'months';\n IntlBase.days = 'days';\n /**\n * Default numerber Object\n */\n IntlBase.patternMatcher = {\n C: 'currency',\n P: 'percent',\n N: 'decimal',\n A: 'currency',\n E: 'scientific'\n };\n /**\n * Returns the resultant pattern based on the skeleton, dateObject and the type provided\n *\n * @private\n * @param {string} skeleton ?\n * @param {Object} dateObject ?\n * @param {string} type ?\n * @param {boolean} isIslamic ?\n * @param {string} blazorCulture ?\n * @returns {string} ?\n */\n function getResultantPattern(skeleton, dateObject, type, isIslamic, blazorCulture) {\n var resPattern;\n var iType = type || 'date';\n if (blazorCulture) {\n resPattern = compareBlazorDateFormats({ skeleton: skeleton }, blazorCulture).format ||\n compareBlazorDateFormats({ skeleton: 'd' }, 'en-US').format;\n }\n else {\n if (IntlBase.basicPatterns.indexOf(skeleton) !== -1) {\n resPattern = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(iType + 'Formats.' + skeleton, dateObject);\n if (iType === 'dateTime') {\n var dPattern = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('dateFormats.' + skeleton, dateObject);\n var tPattern = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeFormats.' + skeleton, dateObject);\n resPattern = resPattern.replace('{1}', dPattern).replace('{0}', tPattern);\n }\n }\n else {\n resPattern = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('dateTimeFormats.availableFormats.' + skeleton, dateObject);\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(resPattern) && skeleton === 'yMd') {\n resPattern = 'M/d/y';\n }\n }\n return resPattern;\n }\n IntlBase.getResultantPattern = getResultantPattern;\n /**\n * Returns the dependable object for provided cldr data and culture\n *\n * @private\n * @param {Object} cldr ?\n * @param {string} culture ?\n * @param {string} mode ?\n * @param {boolean} isNumber ?\n * @returns {any} ?\n */\n function getDependables(cldr, culture, mode, isNumber) {\n var ret = {};\n var calendartype = mode || 'gregorian';\n ret.parserObject = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getMainObject(cldr, culture) || ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? IntlBase.blazorDefaultObject : IntlBase.defaultObject);\n if (isNumber) {\n ret.numericObject = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numbers', ret.parserObject);\n }\n else {\n var dateString = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? 'dates' : ('dates.calendars.' + calendartype);\n ret.dateObject = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(dateString, ret.parserObject);\n }\n return ret;\n }\n IntlBase.getDependables = getDependables;\n /**\n * Returns the symbol pattern for provided parameters\n *\n * @private\n * @param {string} type ?\n * @param {string} numSystem ?\n * @param {Object} obj ?\n * @param {boolean} isAccount ?\n * @returns {string} ?\n */\n function getSymbolPattern(type, numSystem, obj, isAccount) {\n return (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(type + 'Formats-numberSystem-' +\n numSystem + (isAccount ? '.accounting' : '.standard'), obj) || (isAccount ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(type + 'Formats-numberSystem-' +\n numSystem + '.standard', obj) : '');\n }\n IntlBase.getSymbolPattern = getSymbolPattern;\n /**\n *\n * @param {string} format ?\n * @returns {string} ?\n */\n function ConvertDateToWeekFormat(format) {\n var convertMapper = format.match(IntlBase.dateConverterMapper);\n if (convertMapper && (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n var tempString = convertMapper[0].length === 3 ? 'EEE' : 'EEEE';\n return format.replace(IntlBase.dateConverterMapper, tempString);\n }\n return format;\n }\n IntlBase.ConvertDateToWeekFormat = ConvertDateToWeekFormat;\n /**\n *\n * @param {DateFormatOptions} formatOptions ?\n * @param {string} culture ?\n * @returns {DateFormatOptions} ?\n */\n function compareBlazorDateFormats(formatOptions, culture) {\n var format = formatOptions.format || formatOptions.skeleton;\n var curFormatMapper = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)((culture || 'en-US') + '.' + format, blazorCultureFormats);\n if (!curFormatMapper) {\n curFormatMapper = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('en-US.' + format, blazorCultureFormats);\n }\n if (curFormatMapper) {\n curFormatMapper = ConvertDateToWeekFormat(curFormatMapper);\n formatOptions.format = curFormatMapper.replace(/tt/, 'a');\n }\n return formatOptions;\n }\n IntlBase.compareBlazorDateFormats = compareBlazorDateFormats;\n /**\n * Returns proper numeric skeleton\n *\n * @private\n * @param {string} skeleton ?\n * @returns {any} ?\n */\n function getProperNumericSkeleton(skeleton) {\n var matches = skeleton.match(IntlBase.formatRegex);\n var ret = {};\n var pattern = matches[1].toUpperCase();\n ret.isAccount = (pattern === 'A');\n ret.type = IntlBase.patternMatcher[\"\" + pattern];\n if (skeleton.length > 1) {\n ret.fractionDigits = parseInt(matches[2], 10);\n }\n return ret;\n }\n IntlBase.getProperNumericSkeleton = getProperNumericSkeleton;\n /**\n * Returns format data for number formatting like minimum fraction, maximum fraction, etc..,\n *\n * @private\n * @param {string} pattern ?\n * @param {boolean} needFraction ?\n * @param {string} cSymbol ?\n * @param {boolean} fractionOnly ?\n * @returns {any} ?\n */\n function getFormatData(pattern, needFraction, cSymbol, fractionOnly) {\n var nData = fractionOnly ? {} : { nlead: '', nend: '' };\n var match = pattern.match(IntlBase.customRegex);\n if (match) {\n if (!fractionOnly) {\n nData.nlead = changeCurrencySymbol(match[1], cSymbol);\n nData.nend = changeCurrencySymbol(match[10], cSymbol);\n nData.groupPattern = match[4];\n }\n var fraction = match[7];\n if (fraction && needFraction) {\n var fmatch = fraction.match(fractionRegex);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fmatch)) {\n nData.minimumFraction = fmatch.length;\n }\n else {\n nData.minimumFraction = 0;\n }\n nData.maximumFraction = fraction.length - 1;\n }\n }\n return nData;\n }\n IntlBase.getFormatData = getFormatData;\n /**\n * Changes currency symbol\n *\n * @private\n * @param {string} val ?\n * @param {string} sym ?\n * @returns {string} ?\n */\n function changeCurrencySymbol(val, sym) {\n if (val) {\n val = val.replace(IntlBase.defaultCurrency, sym);\n return (sym === '') ? val.trim() : val;\n }\n return '';\n }\n IntlBase.changeCurrencySymbol = changeCurrencySymbol;\n /**\n * Returns currency symbol based on currency code ?\n *\n * @private\n * @param {Object} numericObject ?\n * @param {string} currencyCode ?\n * @param {string} altSymbol ?\n * @param {string} ignoreCurrency ?\n * @returns {string} ?\n */\n function getCurrencySymbol(numericObject, currencyCode, altSymbol, ignoreCurrency) {\n var symbol = altSymbol ? ('.' + altSymbol) : '.symbol';\n var getCurrency = ignoreCurrency ? '$' : (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('currencies.' + currencyCode + symbol, numericObject) ||\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('currencies.' + currencyCode + '.symbol-alt-narrow', numericObject) || '$';\n return getCurrency;\n }\n IntlBase.getCurrencySymbol = getCurrencySymbol;\n /**\n * Returns formatting options for custom number format\n *\n * @private\n * @param {string} format ?\n * @param {CommonOptions} dOptions ?\n * @param {any} obj ?\n * @returns {any} ?\n */\n function customFormat(format, dOptions, obj) {\n var options = {};\n var formatSplit = format.split(';');\n var data = ['pData', 'nData', 'zeroData'];\n for (var i = 0; i < formatSplit.length; i++) {\n options[\"\" + data[parseInt(i.toString(), 10)]] = customNumberFormat(formatSplit[parseInt(i.toString(), 10)], dOptions, obj);\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(options.nData)) {\n options.nData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options.pData);\n options.nData.nlead = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dOptions) ? '-' + options.nData.nlead : dOptions.minusSymbol + options.nData.nlead;\n }\n return options;\n }\n IntlBase.customFormat = customFormat;\n /**\n * Returns custom formatting options\n *\n * @private\n * @param {string} format ?\n * @param {CommonOptions} dOptions ?\n * @param {Object} numObject ?\n * @returns {any} ?\n */\n function customNumberFormat(format, dOptions, numObject) {\n var cOptions = { type: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 0 };\n var pattern = format.match(IntlBase.customRegex);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pattern) || (pattern[5] === '' && format !== 'N/A')) {\n cOptions.type = undefined;\n return cOptions;\n }\n cOptions.nlead = pattern[1];\n cOptions.nend = pattern[10];\n var integerPart = pattern[6];\n var spaceCapture = integerPart.match(/ $/g) ? true : false;\n var spaceGrouping = integerPart.replace(/ $/g, '').indexOf(' ') !== -1;\n cOptions.useGrouping = integerPart.indexOf(',') !== -1 || spaceGrouping;\n integerPart = integerPart.replace(/,/g, '');\n integerPart = (/\\s$/.test(integerPart)) ? integerPart.replace(/ /g, '') : integerPart;\n var fractionPart = pattern[7];\n if (integerPart.indexOf('0') !== -1) {\n cOptions.minimumIntegerDigits = integerPart.length - integerPart.indexOf('0');\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fractionPart)) {\n cOptions.minimumFractionDigits = fractionPart.lastIndexOf('0');\n cOptions.maximumFractionDigits = fractionPart.lastIndexOf('#');\n if (cOptions.minimumFractionDigits === -1) {\n cOptions.minimumFractionDigits = 0;\n }\n if (cOptions.maximumFractionDigits === -1 || cOptions.maximumFractionDigits < cOptions.minimumFractionDigits) {\n cOptions.maximumFractionDigits = cOptions.minimumFractionDigits;\n }\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dOptions)) {\n dOptions.isCustomFormat = true;\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(cOptions, isCurrencyPercent([cOptions.nlead, cOptions.nend], '$', dOptions.currencySymbol));\n if (!cOptions.isCurrency) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(cOptions, isCurrencyPercent([cOptions.nlead, cOptions.nend], '%', dOptions.percentSymbol));\n }\n }\n else {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(cOptions, isCurrencyPercent([cOptions.nlead, cOptions.nend], '%', '%'));\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(numObject)) {\n var symbolPattern = getSymbolPattern(cOptions.type, dOptions.numberMapper.numberSystem, numObject, false);\n if (cOptions.useGrouping) {\n cOptions.groupSeparator = spaceGrouping ? ' ' : dOptions.numberMapper.numberSymbols[mapper[2]];\n cOptions.groupData = NumberFormat.getGroupingDetails(symbolPattern.split(';')[0]);\n }\n cOptions.nlead = cOptions.nlead.replace(/'/g, '');\n cOptions.nend = spaceCapture ? ' ' + cOptions.nend.replace(/'/g, '') : cOptions.nend.replace(/'/g, '');\n }\n return cOptions;\n }\n IntlBase.customNumberFormat = customNumberFormat;\n /**\n * Returns formatting options for currency or percent type\n *\n * @private\n * @param {string[]} parts ?\n * @param {string} actual ?\n * @param {string} symbol ?\n * @returns {any} ?\n */\n function isCurrencyPercent(parts, actual, symbol) {\n var options = { nlead: parts[0], nend: parts[1] };\n for (var i = 0; i < 2; i++) {\n var part = parts[parseInt(i.toString(), 10)];\n var loc = part.indexOf(actual);\n if ((loc !== -1) && ((loc < part.indexOf('\\'')) || (loc > part.lastIndexOf('\\'')))) {\n options[\"\" + typeMapper[parseInt(i.toString(), 10)]] = part.substr(0, loc) + symbol + part.substr(loc + 1);\n options[\"\" + typeMapper[\"\" + actual]] = true;\n options.type = options.isCurrency ? 'currency' : 'percent';\n break;\n }\n }\n return options;\n }\n IntlBase.isCurrencyPercent = isCurrencyPercent;\n /**\n * Returns culture based date separator\n *\n * @private\n * @param {Object} dateObj ?\n * @returns {string} ?\n */\n function getDateSeparator(dateObj) {\n var value = ((0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('dateFormats.short', dateObj) || '').match(/[dM]([^dM])[dM]/i);\n return value ? value[1] : '/';\n }\n IntlBase.getDateSeparator = getDateSeparator;\n /**\n * Returns Native Date Time pattern\n *\n * @private\n * @param {string} culture ?\n * @param {DateFormatOptions} options ?\n * @param {Object} cldr ?\n * @param {boolean} isExcelFormat ?\n * @returns {string} ?\n */\n function getActualDateTimeFormat(culture, options, cldr, isExcelFormat) {\n var dependable = getDependables(cldr, culture, options.calendar);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n options = compareBlazorDateFormats(options, culture);\n }\n var actualPattern = options.format || getResultantPattern(options.skeleton, dependable.dateObject, options.type);\n if (isExcelFormat) {\n actualPattern = actualPattern.replace(patternRegex, function (pattern) {\n return patternMatch[\"\" + pattern];\n });\n if (actualPattern.indexOf('z') !== -1) {\n var tLength = actualPattern.match(/z/g).length;\n var timeZonePattern = void 0;\n var options_1 = { 'timeZone': {} };\n options_1.numMapper = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberMapper(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberingSystem(cldr));\n options_1.timeZone = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('dates.timeZoneNames', dependable.parserObject);\n var value = new Date();\n var timezone = value.getTimezoneOffset();\n var pattern = (tLength < 4) ? '+H;-H' : options_1.timeZone.hourFormat;\n pattern = pattern.replace(/:/g, options_1.numMapper.timeSeparator);\n if (timezone === 0) {\n timeZonePattern = options_1.timeZone.gmtZeroFormat;\n }\n else {\n timeZonePattern = DateFormat.getTimeZoneValue(timezone, pattern);\n timeZonePattern = options_1.timeZone.gmtFormat.replace(/\\{0\\}/, timeZonePattern);\n }\n actualPattern = actualPattern.replace(/[z]+/, '\"' + timeZonePattern + '\"');\n }\n actualPattern = actualPattern.replace(/ $/, '');\n }\n return actualPattern;\n }\n IntlBase.getActualDateTimeFormat = getActualDateTimeFormat;\n /**\n *\n * @param {string} actual ?\n * @param {any} option ?\n * @returns {any} ?\n */\n function processSymbol(actual, option) {\n if (actual.indexOf(',') !== -1) {\n var split = actual.split(',');\n actual = (split[0] + (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numberMapper.numberSymbols.group', option) +\n split[1].replace('.', (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numberMapper.numberSymbols.decimal', option)));\n }\n else {\n actual = actual.replace('.', (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numberMapper.numberSymbols.decimal', option));\n }\n return actual;\n }\n IntlBase.processSymbol = processSymbol;\n /**\n * Returns Native Number pattern\n *\n * @private\n * @param {string} culture ?\n * @param {NumberFormatOptions} options ?\n * @param {Object} cldr ?\n * @param {boolean} isExcel ?\n * @returns {string} ?\n */\n function getActualNumberFormat(culture, options, cldr, isExcel) {\n var dependable = getDependables(cldr, culture, '', true);\n var parseOptions = { custom: true };\n var numrericObject = dependable.numericObject;\n var minFrac;\n var curObj = {};\n var curMatch = (options.format || '').match(IntlBase.currencyFormatRegex);\n var type = IntlBase.formatRegex.test(options.format) ? getProperNumericSkeleton(options.format || 'N') : {};\n var dOptions = {};\n if (curMatch) {\n dOptions.numberMapper = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ?\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, dependable.numericObject) :\n _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberMapper(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberingSystem(cldr), true);\n var curCode = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('currencySymbol', dependable.numericObject) :\n getCurrencySymbol(dependable.numericObject, options.currency || defaultCurrencyCode, options.altSymbol);\n var symbolPattern = getSymbolPattern('currency', dOptions.numberMapper.numberSystem, dependable.numericObject, (/a/i).test(options.format));\n symbolPattern = symbolPattern.replace(/\\u00A4/g, curCode);\n var split = symbolPattern.split(';');\n curObj.hasNegativePattern = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? true : (split.length > 1);\n curObj.nData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(type.type + 'nData', numrericObject) :\n getFormatData(split[1] || '-' + split[0], true, curCode);\n curObj.pData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(type.type + 'pData', numrericObject) :\n getFormatData(split[0], false, curCode);\n if (!curMatch[2] && !options.minimumFractionDigits && !options.maximumFractionDigits) {\n minFrac = getFormatData(symbolPattern.split(';')[0], true, '', true).minimumFraction;\n }\n }\n var actualPattern;\n if ((IntlBase.formatRegex.test(options.format)) || !(options.format)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(parseOptions, getProperNumericSkeleton(options.format || 'N'));\n parseOptions.custom = false;\n actualPattern = '###0';\n if (parseOptions.fractionDigits || options.minimumFractionDigits || options.maximumFractionDigits || minFrac) {\n var defaultMinimum = 0;\n if (parseOptions.fractionDigits) {\n options.minimumFractionDigits = options.maximumFractionDigits = parseOptions.fractionDigits;\n }\n actualPattern = fractionDigitsPattern(actualPattern, minFrac || parseOptions.fractionDigits ||\n options.minimumFractionDigits || defaultMinimum, options.maximumFractionDigits || defaultMinimum);\n }\n if (options.minimumIntegerDigits) {\n actualPattern = minimumIntegerPattern(actualPattern, options.minimumIntegerDigits);\n }\n if (options.useGrouping) {\n actualPattern = groupingPattern(actualPattern);\n }\n if (parseOptions.type === 'currency' || (parseOptions.type && (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)())) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && parseOptions.type !== 'currency') {\n curObj.pData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(parseOptions.type + 'pData', numrericObject);\n curObj.nData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(parseOptions.type + 'nData', numrericObject);\n }\n var cPattern = actualPattern;\n actualPattern = curObj.pData.nlead + cPattern + curObj.pData.nend;\n if (curObj.hasNegativePattern || (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n actualPattern += ';' + curObj.nData.nlead + cPattern + curObj.nData.nend;\n }\n }\n if (parseOptions.type === 'percent' && !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n actualPattern += ' %';\n }\n }\n else {\n actualPattern = options.format.replace(/'/g, '\"');\n }\n if (Object.keys(dOptions).length > 0) {\n actualPattern = !isExcel ? processSymbol(actualPattern, dOptions) : actualPattern;\n }\n return actualPattern;\n }\n IntlBase.getActualNumberFormat = getActualNumberFormat;\n /**\n *\n * @param {string} pattern ?\n * @param {number} minDigits ?\n * @param {number} maxDigits ?\n * @returns {string} ?\n */\n function fractionDigitsPattern(pattern, minDigits, maxDigits) {\n pattern += '.';\n for (var a = 0; a < minDigits; a++) {\n pattern += '0';\n }\n if (minDigits < maxDigits) {\n var diff = maxDigits - minDigits;\n for (var b = 0; b < diff; b++) {\n pattern += '#';\n }\n }\n return pattern;\n }\n IntlBase.fractionDigitsPattern = fractionDigitsPattern;\n /**\n *\n * @param {string} pattern ?\n * @param {number} digits ?\n * @returns {string} ?\n */\n function minimumIntegerPattern(pattern, digits) {\n var temp = pattern.split('.');\n var integer = '';\n for (var x = 0; x < digits; x++) {\n integer += '0';\n }\n return temp[1] ? (integer + '.' + temp[1]) : integer;\n }\n IntlBase.minimumIntegerPattern = minimumIntegerPattern;\n /**\n *\n * @param {string} pattern ?\n * @returns {string} ?\n */\n function groupingPattern(pattern) {\n var temp = pattern.split('.');\n var integer = temp[0];\n var no = 3 - integer.length % 3;\n var hash = (no && no === 1) ? '#' : (no === 2 ? '##' : '');\n integer = hash + integer;\n pattern = '';\n for (var x = integer.length - 1; x > 0; x = x - 3) {\n pattern = ',' + integer[x - 2] + integer[x - 1] + integer[parseInt(x.toString(), 10)] + pattern;\n }\n pattern = pattern.slice(1);\n return temp[1] ? (pattern + '.' + temp[1]) : pattern;\n }\n IntlBase.groupingPattern = groupingPattern;\n /**\n *\n * @param {string} culture ?\n * @param {Object} cldr ?\n * @returns {number} ?\n */\n function getWeekData(culture, cldr) {\n var firstDay = defaultFirstDay;\n var mapper = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('supplemental.weekData.firstDay', cldr);\n var iCulture = culture;\n if ((/en-/).test(iCulture)) {\n iCulture = iCulture.slice(3);\n }\n iCulture = iCulture.slice(0, 2).toUpperCase() + iCulture.substr(2);\n if (mapper) {\n firstDay = mapper[\"\" + iCulture] || mapper[iCulture.slice(0, 2)] || defaultFirstDay;\n }\n return firstDayMapper[\"\" + firstDay];\n }\n IntlBase.getWeekData = getWeekData;\n /**\n * @private\n * @param {any} pData ?\n * @param {string} aCurrency ?\n * @param {string} rCurrency ?\n * @returns {void} ?\n */\n function replaceBlazorCurrency(pData, aCurrency, rCurrency) {\n var iCurrency = (0,_parser_base__WEBPACK_IMPORTED_MODULE_1__.getBlazorCurrencySymbol)(rCurrency);\n if (aCurrency !== iCurrency) {\n for (var _i = 0, pData_1 = pData; _i < pData_1.length; _i++) {\n var data = pData_1[_i];\n data.nend = data.nend.replace(aCurrency, iCurrency);\n data.nlead = data.nlead.replace(aCurrency, iCurrency);\n }\n }\n }\n IntlBase.replaceBlazorCurrency = replaceBlazorCurrency;\n /**\n * @private\n * @param {Date} date ?\n * @param {number} firstDayOfWeek ?\n * @returns {number} ?\n */\n function getWeekOfYear(date, firstDayOfWeek) {\n var newYear = new Date(date.getFullYear(), 0, 1);\n var day = newYear.getDay();\n var weeknum;\n day = (day >= 0 ? day : day + 7);\n var daynum = Math.floor((date.getTime() - newYear.getTime() -\n (date.getTimezoneOffset() - newYear.getTimezoneOffset()) * 60000) / 86400000) + 1;\n if (day < 4) {\n weeknum = Math.floor((daynum + day - firstDayOfWeek - 1) / 7) + 1;\n if (weeknum > 52) {\n var nYear = new Date(date.getFullYear() + 1, 0, 1);\n var nday = nYear.getDay();\n nday = nday >= 0 ? nday : nday + 7;\n weeknum = nday < 4 ? 1 : 53;\n }\n }\n else {\n weeknum = Math.floor((daynum + day - firstDayOfWeek - 1) / 7);\n }\n return weeknum;\n }\n IntlBase.getWeekOfYear = getWeekOfYear;\n})(IntlBase || (IntlBase = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/intl/number-formatter.js": +/*!************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/intl/number-formatter.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NumberFormat: () => (/* binding */ NumberFormat)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _intl_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./intl-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js\");\n/* harmony import */ var _parser_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parser-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n\nvar errorText = {\n 'ms': 'minimumSignificantDigits',\n 'ls': 'maximumSignificantDigits',\n 'mf': 'minimumFractionDigits',\n 'lf': 'maximumFractionDigits'\n};\nvar percentSign = 'percentSign';\nvar minusSign = 'minusSign';\nvar mapper = ['infinity', 'nan', 'group', 'decimal', 'exponential'];\n/**\n * Module for number formatting.\n *\n * @private\n */\nvar NumberFormat = /** @class */ (function () {\n function NumberFormat() {\n }\n /**\n * Returns the formatter function for given skeleton.\n *\n * @param {string} culture - Specifies the culture name to be which formatting.\n * @param {NumberFormatOptions} option - Specific the format in which number will format.\n * @param {Object} cldr - Specifies the global cldr data collection.\n * @returns {Function} ?\n */\n NumberFormat.numberFormatter = function (culture, option, cldr) {\n var _this = this;\n var fOptions = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, option);\n var cOptions = {};\n var dOptions = {};\n var symbolPattern;\n var dependable = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getDependables(cldr, culture, '', true);\n var numObject = dependable.numericObject;\n dOptions.numberMapper = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, numObject) :\n _parser_base__WEBPACK_IMPORTED_MODULE_2__.ParserBase.getNumberMapper(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_2__.ParserBase.getNumberingSystem(cldr), true);\n dOptions.currencySymbol = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('currencySymbol', numObject) : _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getCurrencySymbol(dependable.numericObject, fOptions.currency || _intl_base__WEBPACK_IMPORTED_MODULE_1__.defaultCurrencyCode, option.altSymbol, option.ignoreCurrency);\n dOptions.percentSymbol = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numberSymbols.percentSign', numObject) :\n dOptions.numberMapper.numberSymbols[\"\" + percentSign];\n dOptions.minusSymbol = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numberSymbols.minusSign', numObject) :\n dOptions.numberMapper.numberSymbols[\"\" + minusSign];\n var symbols = dOptions.numberMapper.numberSymbols;\n if ((option.format) && !(_intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.formatRegex.test(option.format))) {\n cOptions = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.customFormat(option.format, dOptions, dependable.numericObject);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(fOptions.useGrouping) && fOptions.useGrouping) {\n fOptions.useGrouping = cOptions.pData.useGrouping;\n }\n }\n else {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(fOptions, _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getProperNumericSkeleton(option.format || 'N'));\n fOptions.isCurrency = fOptions.type === 'currency';\n fOptions.isPercent = fOptions.type === 'percent';\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n symbolPattern = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getSymbolPattern(fOptions.type, dOptions.numberMapper.numberSystem, dependable.numericObject, fOptions.isAccount);\n }\n fOptions.groupOne = this.checkValueRange(fOptions.maximumSignificantDigits, fOptions.minimumSignificantDigits, true);\n this.checkValueRange(fOptions.maximumFractionDigits, fOptions.minimumFractionDigits, false, true);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(fOptions.fractionDigits)) {\n fOptions.minimumFractionDigits = fOptions.maximumFractionDigits = fOptions.fractionDigits;\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(fOptions.useGrouping)) {\n fOptions.useGrouping = true;\n }\n if (fOptions.isCurrency && !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n symbolPattern = symbolPattern.replace(/\\u00A4/g, _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.defaultCurrency);\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n var split = symbolPattern.split(';');\n cOptions.nData = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getFormatData(split[1] || '-' + split[0], true, dOptions.currencySymbol);\n cOptions.pData = _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.getFormatData(split[0], false, dOptions.currencySymbol);\n if (fOptions.useGrouping) {\n fOptions.groupSeparator = symbols[mapper[2]];\n fOptions.groupData = this.getGroupingDetails(split[0]);\n }\n }\n else {\n cOptions.nData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(fOptions.type + 'nData', numObject));\n cOptions.pData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(fOptions.type + 'pData', numObject));\n if (fOptions.type === 'currency' && option.currency) {\n _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.replaceBlazorCurrency([cOptions.pData, cOptions.nData], dOptions.currencySymbol, option.currency);\n }\n }\n var minFrac = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(fOptions.minimumFractionDigits);\n if (minFrac) {\n fOptions.minimumFractionDigits = cOptions.nData.minimumFraction;\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(fOptions.maximumFractionDigits)) {\n var mval = cOptions.nData.maximumFraction;\n fOptions.maximumFractionDigits = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(mval) && fOptions.isPercent ? 0 : mval;\n }\n var mfrac = fOptions.minimumFractionDigits;\n var lfrac = fOptions.maximumFractionDigits;\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(mfrac) && !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(lfrac)) {\n if (mfrac > lfrac) {\n fOptions.maximumFractionDigits = mfrac;\n }\n }\n }\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(cOptions.nData, fOptions);\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(cOptions.pData, fOptions);\n return function (value) {\n if (isNaN(value)) {\n return symbols[mapper[1]];\n }\n else if (!isFinite(value)) {\n return symbols[mapper[0]];\n }\n return _this.intNumberFormatter(value, cOptions, dOptions, option);\n };\n };\n /**\n * Returns grouping details for the pattern provided\n *\n * @param {string} pattern ?\n * @returns {GroupDetails} ?\n */\n NumberFormat.getGroupingDetails = function (pattern) {\n var ret = {};\n var match = pattern.match(_intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.negativeDataRegex);\n if (match && match[4]) {\n var pattern_1 = match[4];\n var p = pattern_1.lastIndexOf(',');\n if (p !== -1) {\n var temp = pattern_1.split('.')[0];\n ret.primary = (temp.length - p) - 1;\n var s = pattern_1.lastIndexOf(',', p - 1);\n if (s !== -1) {\n ret.secondary = p - 1 - s;\n }\n }\n }\n return ret;\n };\n /**\n * Returns if the provided integer range is valid.\n *\n * @param {number} val1 ?\n * @param {number} val2 ?\n * @param {boolean} checkbothExist ?\n * @param {boolean} isFraction ?\n * @returns {boolean} ?\n */\n NumberFormat.checkValueRange = function (val1, val2, checkbothExist, isFraction) {\n var decide = isFraction ? 'f' : 's';\n var dint = 0;\n var str1 = errorText['l' + decide];\n var str2 = errorText['m' + decide];\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(val1)) {\n this.checkRange(val1, str1, isFraction);\n dint++;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(val2)) {\n this.checkRange(val2, str2, isFraction);\n dint++;\n }\n if (dint === 2) {\n if (val1 < val2) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.throwError)(str2 + 'specified must be less than the' + str1);\n }\n else {\n return true;\n }\n }\n else if (checkbothExist && dint === 1) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.throwError)('Both' + str2 + 'and' + str2 + 'must be present');\n }\n return false;\n };\n /**\n * Check if the provided fraction range is valid\n *\n * @param {number} val ?\n * @param {string} text ?\n * @param {boolean} isFraction ?\n * @returns {void} ?\n */\n NumberFormat.checkRange = function (val, text, isFraction) {\n var range = isFraction ? [0, 20] : [1, 21];\n if (val < range[0] || val > range[1]) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.throwError)(text + 'value must be within the range' + range[0] + 'to' + range[1]);\n }\n };\n /**\n * Returns formatted numeric string for provided formatting options\n *\n * @param {number} value ?\n * @param {base.GenericFormatOptions} fOptions ?\n * @param {CommonOptions} dOptions ?\n * @param {NumberFormatOptions} [option] ?\n * @returns {string} ?\n */\n NumberFormat.intNumberFormatter = function (value, fOptions, dOptions, option) {\n var curData;\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(fOptions.nData.type)) {\n return undefined;\n }\n else {\n if (value < 0) {\n value = value * -1;\n curData = fOptions.nData;\n }\n else if (value === 0) {\n curData = fOptions.zeroData || fOptions.pData;\n }\n else {\n curData = fOptions.pData;\n }\n var fValue = '';\n if (curData.isPercent) {\n value = value * 100;\n }\n if (curData.groupOne) {\n fValue = this.processSignificantDigits(value, curData.minimumSignificantDigits, curData.maximumSignificantDigits);\n }\n else {\n fValue = this.processFraction(value, curData.minimumFractionDigits, curData.maximumFractionDigits, option);\n if (curData.minimumIntegerDigits) {\n fValue = this.processMinimumIntegers(fValue, curData.minimumIntegerDigits);\n }\n if (dOptions.isCustomFormat && curData.minimumFractionDigits < curData.maximumFractionDigits\n && /\\d+\\.\\d+/.test(fValue)) {\n var temp = fValue.split('.');\n var decimalPart = temp[1];\n var len = decimalPart.length;\n for (var i = len - 1; i >= 0; i--) {\n if (decimalPart[parseInt(i.toString(), 10)] === '0' && i >= curData.minimumFractionDigits) {\n decimalPart = decimalPart.slice(0, i);\n }\n else {\n break;\n }\n }\n fValue = temp[0] + '.' + decimalPart;\n }\n }\n if (curData.type === 'scientific') {\n fValue = value.toExponential(curData.maximumFractionDigits);\n fValue = fValue.replace('e', dOptions.numberMapper.numberSymbols[mapper[4]]);\n }\n fValue = fValue.replace('.', dOptions.numberMapper.numberSymbols[mapper[3]]);\n fValue = curData.format === '#,###,,;(#,###,,)' ? this.customPivotFormat(parseInt(fValue, 10)) : fValue;\n if (curData.useGrouping) {\n fValue = this.groupNumbers(fValue, curData.groupData.primary, curData.groupSeparator || ',', dOptions.numberMapper.numberSymbols[mapper[3]] || '.', curData.groupData.secondary);\n }\n fValue = _parser_base__WEBPACK_IMPORTED_MODULE_2__.ParserBase.convertValueParts(fValue, _intl_base__WEBPACK_IMPORTED_MODULE_1__.IntlBase.latnParseRegex, dOptions.numberMapper.mapper);\n if (curData.nlead === 'N/A') {\n return curData.nlead;\n }\n else {\n if (fValue === '0' && option && option.format === '0') {\n return fValue + curData.nend;\n }\n return curData.nlead + fValue + curData.nend;\n }\n }\n };\n /**\n * Returns significant digits processed numeric string\n *\n * @param {number} value ?\n * @param {number} min ?\n * @param {number} max ?\n * @returns {string} ?\n */\n NumberFormat.processSignificantDigits = function (value, min, max) {\n var temp = value + '';\n var tn;\n var length = temp.length;\n if (length < min) {\n return value.toPrecision(min);\n }\n else {\n temp = value.toPrecision(max);\n tn = +temp;\n return tn + '';\n }\n };\n /**\n * Returns grouped numeric string\n *\n * @param {string} val ?\n * @param {number} level1 ?\n * @param {string} sep ?\n * @param {string} decimalSymbol ?\n * @param {number} level2 ?\n * @returns {string} ?\n */\n NumberFormat.groupNumbers = function (val, level1, sep, decimalSymbol, level2) {\n var flag = !(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(level2) && level2 !== 0;\n var split = val.split(decimalSymbol);\n var prefix = split[0];\n var length = prefix.length;\n var str = '';\n while (length > level1) {\n str = prefix.slice(length - level1, length) + (str.length ?\n (sep + str) : '');\n length -= level1;\n if (flag) {\n level1 = level2;\n flag = false;\n }\n }\n split[0] = prefix.slice(0, length) + (str.length ? sep : '') + str;\n return split.join(decimalSymbol);\n };\n /**\n * Returns fraction processed numeric string\n *\n * @param {number} value ?\n * @param {number} min ?\n * @param {number} max ?\n * @param {NumberFormatOptions} [option] ?\n * @returns {string} ?\n */\n NumberFormat.processFraction = function (value, min, max, option) {\n var temp = (value + '').split('.')[1];\n var length = temp ? temp.length : 0;\n if (min && length < min) {\n var ret = '';\n if (length === 0) {\n ret = value.toFixed(min);\n }\n else {\n ret += value;\n for (var j = 0; j < min - length; j++) {\n ret += '0';\n }\n return ret;\n }\n return value.toFixed(min);\n }\n else if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(max) && (length > max || max === 0)) {\n return value.toFixed(max);\n }\n var str = value + '';\n if (str[0] === '0' && option && option.format === '###.00') {\n str = str.slice(1);\n }\n return str;\n };\n /**\n * Returns integer processed numeric string\n *\n * @param {string} value ?\n * @param {number} min ?\n * @returns {string} ?\n */\n NumberFormat.processMinimumIntegers = function (value, min) {\n var temp = value.split('.');\n var lead = temp[0];\n var len = lead.length;\n if (len < min) {\n for (var i = 0; i < min - len; i++) {\n lead = '0' + lead;\n }\n temp[0] = lead;\n }\n return temp.join('.');\n };\n /**\n * Returns custom format for pivot table\n *\n * @param {number} value ?\n * @returns {string} ?\n */\n NumberFormat.customPivotFormat = function (value) {\n if (value >= 500000) {\n value /= 1000000;\n var _a = value.toString().split('.'), integer = _a[0], decimal = _a[1];\n return decimal && +decimal.substring(0, 1) >= 5\n ? Math.ceil(value).toString()\n : Math.floor(value).toString();\n }\n return '';\n };\n return NumberFormat;\n}());\n\n(0,_intl_base__WEBPACK_IMPORTED_MODULE_1__.setNumberFormat)(NumberFormat);\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/intl/number-formatter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/intl/number-parser.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/intl/number-parser.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NumberParser: () => (/* binding */ NumberParser)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _parser_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js\");\n/* harmony import */ var _intl_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./intl-base */ \"./node_modules/@syncfusion/ej2-base/src/intl/intl-base.js\");\n\n\n\nvar regExp = RegExp;\nvar parseRegex = new regExp('^([^0-9]*)' + '(([0-9,]*[0-9]+)(.[0-9]+)?)' + '([Ee][+-]?[0-9]+)?([^0-9]*)$');\nvar groupRegex = /,/g;\nvar keys = ['minusSign', 'infinity'];\n/**\n * Module for Number Parser.\n *\n * @private\n */\nvar NumberParser = /** @class */ (function () {\n function NumberParser() {\n }\n /**\n * Returns the parser function for given skeleton.\n *\n * @param {string} culture - Specifies the culture name to be which formatting.\n * @param {NumberFormatOptions} option - Specific the format in which number will parsed.\n * @param {Object} cldr - Specifies the global cldr data collection.\n * @returns {Function} ?\n */\n NumberParser.numberParser = function (culture, option, cldr) {\n var _this = this;\n var dependable = _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.getDependables(cldr, culture, '', true);\n var parseOptions = { custom: true };\n if ((_intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.formatRegex.test(option.format)) || !(option.format)) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(parseOptions, _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.getProperNumericSkeleton(option.format || 'N'));\n parseOptions.custom = false;\n if (!parseOptions.fractionDigits) {\n if (option.maximumFractionDigits) {\n parseOptions.maximumFractionDigits = option.maximumFractionDigits;\n }\n }\n }\n else {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(parseOptions, _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.customFormat(option.format, null, null));\n }\n var numbers = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numbers', dependable.parserObject);\n var numOptions = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getCurrentNumericOptions(dependable.parserObject, _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getNumberingSystem(cldr), true, (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)());\n parseOptions.symbolRegex = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.getSymbolRegex(Object.keys(numOptions.symbolMatch));\n parseOptions.infinity = numOptions.symbolNumberSystem[keys[1]];\n var symbolpattern;\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n symbolpattern = _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.getSymbolPattern(parseOptions.type, numOptions.numberSystem, dependable.numericObject, parseOptions.isAccount);\n if (symbolpattern) {\n symbolpattern = symbolpattern.replace(/\\u00A4/g, _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.defaultCurrency);\n var split = symbolpattern.split(';');\n parseOptions.nData = _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.getFormatData(split[1] || '-' + split[0], true, '');\n parseOptions.pData = _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.getFormatData(split[0], true, '');\n }\n }\n else {\n parseOptions.nData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(parseOptions.type + 'nData', numbers));\n parseOptions.pData = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(parseOptions.type + 'pData', numbers));\n if (parseOptions.type === 'currency' && option.currency) {\n _intl_base__WEBPACK_IMPORTED_MODULE_2__.IntlBase.replaceBlazorCurrency([parseOptions.pData, parseOptions.nData], (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('currencySymbol', numbers), option.currency);\n }\n }\n return function (value) {\n return _this.getParsedNumber(value, parseOptions, numOptions);\n };\n };\n /**\n * Returns parsed number for the provided formatting options\n *\n * @param {string} value ?\n * @param {NumericParts} options ?\n * @param {NumericOptions} numOptions ?\n * @returns {number} ?\n */\n NumberParser.getParsedNumber = function (value, options, numOptions) {\n var isNegative;\n var isPercent;\n var tempValue;\n var lead;\n var end;\n var ret;\n if (value.indexOf(options.infinity) !== -1) {\n return Infinity;\n }\n else {\n value = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.convertValueParts(value, options.symbolRegex, numOptions.symbolMatch);\n value = _parser_base__WEBPACK_IMPORTED_MODULE_1__.ParserBase.convertValueParts(value, numOptions.numberParseRegex, numOptions.numericPair);\n value = value.indexOf('-') !== -1 ? value.replace('-.', '-0.') : value;\n if (value.indexOf('.') === 0) {\n value = '0' + value;\n }\n var matches = value.match(parseRegex);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(matches)) {\n return NaN;\n }\n lead = matches[1];\n tempValue = matches[2];\n var exponent = matches[5];\n end = matches[6];\n isNegative = options.custom ? ((lead === options.nData.nlead) && (end === options.nData.nend)) :\n ((lead.indexOf(options.nData.nlead) !== -1) && (end.indexOf(options.nData.nend) !== -1));\n isPercent = isNegative ?\n options.nData.isPercent :\n options.pData.isPercent;\n tempValue = tempValue.replace(groupRegex, '');\n if (exponent) {\n tempValue += exponent;\n }\n ret = +tempValue;\n if (options.type === 'percent' || isPercent) {\n ret = ret / 100;\n }\n if (options.custom || options.fractionDigits) {\n ret = parseFloat(ret.toFixed(options.custom ?\n (isNegative ? options.nData.maximumFractionDigits : options.pData.maximumFractionDigits) : options.fractionDigits));\n }\n if (options.maximumFractionDigits) {\n ret = this.convertMaxFracDigits(tempValue, options, ret, isNegative);\n }\n if (isNegative) {\n ret *= -1;\n }\n return ret;\n }\n };\n NumberParser.convertMaxFracDigits = function (value, options, ret, isNegative) {\n var decimalSplitValue = value.split('.');\n if (decimalSplitValue[1] && decimalSplitValue[1].length > options.maximumFractionDigits) {\n ret = +(ret.toFixed(options.custom ?\n (isNegative ? options.nData.maximumFractionDigits : options.pData.maximumFractionDigits) : options.maximumFractionDigits));\n }\n return ret;\n };\n return NumberParser;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/intl/number-parser.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParserBase: () => (/* binding */ ParserBase),\n/* harmony export */ getBlazorCurrencySymbol: () => (/* binding */ getBlazorCurrencySymbol)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Parser\n */\nvar defaultNumberingSystem = {\n 'latn': {\n '_digits': '0123456789',\n '_type': 'numeric'\n }\n};\n\nvar defaultNumberSymbols = {\n 'decimal': '.',\n 'group': ',',\n 'percentSign': '%',\n 'plusSign': '+',\n 'minusSign': '-',\n 'infinity': '∞',\n 'nan': 'NaN',\n 'exponential': 'E'\n};\nvar latnNumberSystem = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\n/**\n * Interface for parser base\n *\n * @private\n */\nvar ParserBase = /** @class */ (function () {\n function ParserBase() {\n }\n /**\n * Returns the cldr object for the culture specifies\n *\n * @param {Object} obj - Specifies the object from which culture object to be acquired.\n * @param {string} cName - Specifies the culture name.\n * @returns {Object} ?\n */\n ParserBase.getMainObject = function (obj, cName) {\n var value = (0,_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? cName : 'main.' + cName;\n return (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(value, obj);\n };\n /**\n * Returns the numbering system object from given cldr data.\n *\n * @param {Object} obj - Specifies the object from which number system is acquired.\n * @returns {Object} ?\n */\n ParserBase.getNumberingSystem = function (obj) {\n return (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('supplemental.numberingSystems', obj) || this.numberingSystems;\n };\n /**\n * Returns the reverse of given object keys or keys specified.\n *\n * @param {Object} prop - Specifies the object to be reversed.\n * @param {number[]} keys - Optional parameter specifies the custom keyList for reversal.\n * @returns {Object} ?\n */\n ParserBase.reverseObject = function (prop, keys) {\n var propKeys = keys || Object.keys(prop);\n var res = {};\n for (var _i = 0, propKeys_1 = propKeys; _i < propKeys_1.length; _i++) {\n var key = propKeys_1[_i];\n if (!Object.prototype.hasOwnProperty.call(res, prop[\"\" + key])) {\n res[prop[\"\" + key]] = key;\n }\n }\n return res;\n };\n /**\n * Returns the symbol regex by skipping the escape sequence.\n *\n * @param {string[]} props - Specifies the array values to be skipped.\n * @returns {RegExp} ?\n */\n ParserBase.getSymbolRegex = function (props) {\n var regexStr = props.map(function (str) {\n return str.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1');\n }).join('|');\n var regExp = RegExp;\n return new regExp(regexStr, 'g');\n };\n /**\n *\n * @param {Object} prop ?\n * @returns {Object} ?\n */\n ParserBase.getSymbolMatch = function (prop) {\n var matchKeys = Object.keys(defaultNumberSymbols);\n var ret = {};\n for (var _i = 0, matchKeys_1 = matchKeys; _i < matchKeys_1.length; _i++) {\n var key = matchKeys_1[_i];\n ret[prop[\"\" + key]] = defaultNumberSymbols[\"\" + key];\n }\n return ret;\n };\n /**\n * Returns regex string for provided value\n *\n * @param {string} val ?\n * @returns {string} ?\n */\n ParserBase.constructRegex = function (val) {\n var len = val.length;\n var ret = '';\n for (var i = 0; i < len; i++) {\n if (i !== len - 1) {\n ret += val[parseInt(i.toString(), 10)] + '|';\n }\n else {\n ret += val[parseInt(i.toString(), 10)];\n }\n }\n return ret;\n };\n /**\n * Returns the replaced value of matching regex and obj mapper.\n *\n * @param {string} value - Specifies the values to be replaced.\n * @param {RegExp} regex - Specifies the regex to search.\n * @param {Object} obj - Specifies the object matcher to be replace value parts.\n * @returns {string} ?\n */\n ParserBase.convertValueParts = function (value, regex, obj) {\n return value.replace(regex, function (str) {\n return obj[\"\" + str];\n });\n };\n /**\n * Returns default numbering system object for formatting from cldr data\n *\n * @param {Object} obj ?\n * @returns {NumericObject} ?\n */\n ParserBase.getDefaultNumberingSystem = function (obj) {\n var ret = {};\n ret.obj = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('numbers', obj);\n ret.nSystem = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('defaultNumberingSystem', ret.obj);\n return ret;\n };\n /**\n * Returns the replaced value of matching regex and obj mapper.\n *\n * @param {Object} curObj ?\n * @param {Object} numberSystem ?\n * @param {boolean} needSymbols ?\n * @param {boolean} blazorMode ?\n * @returns {Object} ?\n */\n ParserBase.getCurrentNumericOptions = function (curObj, numberSystem, needSymbols, blazorMode) {\n var ret = {};\n var cur = this.getDefaultNumberingSystem(curObj);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(cur.nSystem) || blazorMode) {\n var digits = blazorMode ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('obj.mapperDigits', cur) : (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(cur.nSystem + '._digits', numberSystem);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(digits)) {\n ret.numericPair = this.reverseObject(digits, latnNumberSystem);\n var regExp = RegExp;\n ret.numberParseRegex = new regExp(this.constructRegex(digits), 'g');\n ret.numericRegex = '[' + digits[0] + '-' + digits[9] + ']';\n if (needSymbols) {\n ret.numericRegex = digits[0] + '-' + digits[9];\n ret.symbolNumberSystem = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(blazorMode ? 'numberSymbols' : 'symbols-numberSystem-' + cur.nSystem, cur.obj);\n ret.symbolMatch = this.getSymbolMatch(ret.symbolNumberSystem);\n ret.numberSystem = cur.nSystem;\n }\n }\n }\n return ret;\n };\n /**\n * Returns number mapper object for the provided cldr data\n *\n * @param {Object} curObj ?\n * @param {Object} numberSystem ?\n * @param {boolean} isNumber ?\n * @returns {NumberMapper} ?\n */\n ParserBase.getNumberMapper = function (curObj, numberSystem, isNumber) {\n var ret = { mapper: {} };\n var cur = this.getDefaultNumberingSystem(curObj);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(cur.nSystem)) {\n ret.numberSystem = cur.nSystem;\n ret.numberSymbols = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('symbols-numberSystem-' + cur.nSystem, cur.obj);\n ret.timeSeparator = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeSeparator', ret.numberSymbols);\n var digits = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(cur.nSystem + '._digits', numberSystem);\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(digits)) {\n for (var _i = 0, latnNumberSystem_1 = latnNumberSystem; _i < latnNumberSystem_1.length; _i++) {\n var i = latnNumberSystem_1[_i];\n ret.mapper[parseInt(i.toString(), 10)] = digits[parseInt(i.toString(), 10)];\n }\n }\n }\n return ret;\n };\n ParserBase.nPair = 'numericPair';\n ParserBase.nRegex = 'numericRegex';\n ParserBase.numberingSystems = defaultNumberingSystem;\n return ParserBase;\n}());\n\n/**\n * @private\n */\nvar blazorCurrencyData = {\n 'DJF': 'Fdj',\n 'ERN': 'Nfk',\n 'ETB': 'Br',\n 'NAD': '$',\n 'ZAR': 'R',\n 'XAF': 'FCFA',\n 'GHS': 'GH₵',\n 'XDR': 'XDR',\n 'AED': 'د.إ.',\n 'BHD': 'د.ب.',\n 'DZD': 'د.ج.',\n 'EGP': 'ج.م.',\n 'ILS': '₪',\n 'IQD': 'د.ع.',\n 'JOD': 'د.ا.',\n 'KMF': 'CF',\n 'KWD': 'د.ك.',\n 'LBP': 'ل.ل.',\n 'LYD': 'د.ل.',\n 'MAD': 'د.م.',\n 'MRU': 'أ.م.',\n 'OMR': 'ر.ع.',\n 'QAR': 'ر.ق.',\n 'SAR': 'ر.س.',\n 'SDG': 'ج.س.',\n 'SOS': 'S',\n 'SSP': '£',\n 'SYP': 'ل.س.',\n 'TND': 'د.ت.',\n 'YER': 'ر.ي.',\n 'CLP': '$',\n 'INR': '₹',\n 'TZS': 'TSh',\n 'EUR': '€',\n 'AZN': '₼',\n 'RUB': '₽',\n 'BYN': 'Br',\n 'ZMW': 'K',\n 'BGN': 'лв.',\n 'NGN': '₦',\n 'XOF': 'CFA',\n 'BDT': '৳',\n 'CNY': '¥',\n 'BAM': 'КМ',\n 'UGX': 'USh',\n 'USD': '$',\n 'CZK': 'Kč',\n 'GBP': '£',\n 'DKK': 'kr.',\n 'KES': 'Ksh',\n 'CHF': 'CHF',\n 'MVR': 'ރ.',\n 'BTN': 'Nu.',\n 'XCD': 'EC$',\n 'AUD': '$',\n 'BBD': '$',\n 'BIF': 'FBu',\n 'BMD': '$',\n 'BSD': '$',\n 'BWP': 'P',\n 'BZD': '$',\n 'CAD': '$',\n 'NZD': '$',\n 'FJD': '$',\n 'FKP': '£',\n 'GIP': '£',\n 'GMD': 'D',\n 'GYD': '$',\n 'HKD': '$',\n 'IDR': 'Rp',\n 'JMD': '$',\n 'KYD': '$',\n 'LRD': '$',\n 'MGA': 'Ar',\n 'MOP': 'MOP$',\n 'MUR': 'Rs',\n 'MWK': 'MK',\n 'MYR': 'RM',\n 'PGK': 'K',\n 'PHP': '₱',\n 'PKR': 'Rs',\n 'RWF': 'RF',\n 'SBD': '$',\n 'SCR': 'SR',\n 'SEK': 'kr',\n 'SGD': '$',\n 'SHP': '£',\n 'SLL': 'Le',\n 'ANG': 'NAf.',\n 'SZL': 'E',\n 'TOP': 'T$',\n 'TTD': '$',\n 'VUV': 'VT',\n 'WST': 'WS$',\n 'ARS': '$',\n 'BOB': 'Bs',\n 'BRL': 'R$',\n 'COP': '$',\n 'CRC': '₡',\n 'CUP': '$',\n 'DOP': '$',\n 'GTQ': 'Q',\n 'HNL': 'L',\n 'MXN': '$',\n 'NIO': 'C$',\n 'PAB': 'B/.',\n 'PEN': 'S/',\n 'PYG': '₲',\n 'UYU': '$',\n 'VES': 'Bs.S',\n 'IRR': 'ريال',\n 'GNF': 'FG',\n 'CDF': 'FC',\n 'HTG': 'G',\n 'XPF': 'FCFP',\n 'HRK': 'kn',\n 'HUF': 'Ft',\n 'AMD': '֏',\n 'ISK': 'kr',\n 'JPY': '¥',\n 'GEL': '₾',\n 'CVE': '​',\n 'KZT': '₸',\n 'KHR': '៛',\n 'KPW': '₩',\n 'KRW': '₩',\n 'KGS': 'сом',\n 'AOA': 'Kz',\n 'LAK': '₭',\n 'MZN': 'MTn',\n 'MKD': 'ден',\n 'MNT': '₮',\n 'BND': '$',\n 'MMK': 'K',\n 'NOK': 'kr',\n 'NPR': 'रु',\n 'AWG': 'Afl.',\n 'SRD': '$',\n 'PLN': 'zł',\n 'AFN': '؋',\n 'STN': 'Db',\n 'MDL': 'L',\n 'RON': 'lei',\n 'UAH': '₴',\n 'LKR': 'රු.',\n 'ALL': 'Lekë',\n 'RSD': 'дин.',\n 'TJS': 'смн',\n 'THB': '฿',\n 'TMT': 'm.',\n 'TRY': '₺',\n 'UZS': 'сўм',\n 'VND': '₫',\n 'TWD': 'NT$'\n};\n/**\n *\n * @param {string} currencyCode ?\n * @returns {string} ?\n */\nfunction getBlazorCurrencySymbol(currencyCode) {\n return (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(currencyCode || '', blazorCurrencyData);\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/intl/parser-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/keyboard.js": +/*!***********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/keyboard.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KeyboardEvents: () => (/* binding */ KeyboardEvents)\n/* harmony export */ });\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nvar keyCode = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'control': 17,\n 'alt': 18,\n 'pause': 19,\n 'capslock': 20,\n 'space': 32,\n 'escape': 27,\n 'pageup': 33,\n 'pagedown': 34,\n 'end': 35,\n 'home': 36,\n 'leftarrow': 37,\n 'uparrow': 38,\n 'rightarrow': 39,\n 'downarrow': 40,\n 'insert': 45,\n 'delete': 46,\n 'f1': 112,\n 'f2': 113,\n 'f3': 114,\n 'f4': 115,\n 'f5': 116,\n 'f6': 117,\n 'f7': 118,\n 'f8': 119,\n 'f9': 120,\n 'f10': 121,\n 'f11': 122,\n 'f12': 123,\n 'semicolon': 186,\n 'plus': 187,\n 'comma': 188,\n 'minus': 189,\n 'dot': 190,\n 'forwardslash': 191,\n 'graveaccent': 192,\n 'openbracket': 219,\n 'backslash': 220,\n 'closebracket': 221,\n 'singlequote': 222\n};\n/**\n * KeyboardEvents class enables you to bind key action desired key combinations for ex., Ctrl+A, Delete, Alt+Space etc.\n * ```html\n *
      ;\n * \n * ```\n */\nvar KeyboardEvents = /** @class */ (function (_super) {\n __extends(KeyboardEvents, _super);\n /**\n * Initializes the KeyboardEvents\n *\n * @param {HTMLElement} element ?\n * @param {KeyboardEventsModel} options ?\n */\n function KeyboardEvents(element, options) {\n var _this = _super.call(this, options, element) || this;\n /**\n * To handle a key press event returns null\n *\n * @param {KeyboardEventArgs} e ?\n * @returns {void} ?\n */\n _this.keyPressHandler = function (e) {\n var isAltKey = e.altKey;\n var isCtrlKey = e.ctrlKey;\n var isShiftKey = e.shiftKey;\n var curkeyCode = e.which;\n var keys = Object.keys(_this.keyConfigs);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n var configCollection = _this.keyConfigs[\"\" + key].split(',');\n for (var _a = 0, configCollection_1 = configCollection; _a < configCollection_1.length; _a++) {\n var rconfig = configCollection_1[_a];\n var rKeyObj = KeyboardEvents_1.getKeyConfigData(rconfig.trim());\n if (isAltKey === rKeyObj.altKey && isCtrlKey === rKeyObj.ctrlKey &&\n isShiftKey === rKeyObj.shiftKey && curkeyCode === rKeyObj.keyCode) {\n e.action = key;\n if (_this.keyAction) {\n _this.keyAction(e);\n }\n }\n }\n }\n };\n _this.bind();\n return _this;\n }\n KeyboardEvents_1 = KeyboardEvents;\n /**\n * Unwire bound events and destroy the instance.\n *\n * @returns {void} ?\n */\n KeyboardEvents.prototype.destroy = function () {\n this.unwireEvents();\n _super.prototype.destroy.call(this);\n };\n /**\n * Function can be used to specify certain action if a property is changed\n *\n * @param {KeyboardEventsModel} newProp ?\n * @param {KeyboardEventsModel} oldProp ?\n * @returns {void} ?\n * @private\n */\n KeyboardEvents.prototype.onPropertyChanged = function (newProp, oldProp) {\n // No code are needed\n };\n KeyboardEvents.prototype.bind = function () {\n this.wireEvents();\n };\n /**\n * To get the module name, returns 'keyboard'.\n *\n * @returns {string} ?\n * @private\n */\n KeyboardEvents.prototype.getModuleName = function () {\n return 'keyboard';\n };\n /**\n * Wiring event handlers to events\n *\n * @returns {void} ?\n * @private\n */\n KeyboardEvents.prototype.wireEvents = function () {\n this.element.addEventListener(this.eventName, this.keyPressHandler);\n };\n /**\n * Unwiring event handlers to events\n *\n * @returns {void} ?\n * @private\n */\n KeyboardEvents.prototype.unwireEvents = function () {\n this.element.removeEventListener(this.eventName, this.keyPressHandler);\n };\n /**\n * To get the key configuration data\n *\n * @param {string} config - configuration data\n * @returns {KeyData} ?\n */\n KeyboardEvents.getKeyConfigData = function (config) {\n if (config in this.configCache) {\n return this.configCache[\"\" + config];\n }\n var keys = config.toLowerCase().split('+');\n var keyData = {\n altKey: (keys.indexOf('alt') !== -1 ? true : false),\n ctrlKey: (keys.indexOf('ctrl') !== -1 ? true : false),\n shiftKey: (keys.indexOf('shift') !== -1 ? true : false),\n keyCode: null\n };\n if (keys[keys.length - 1].length > 1 && !!Number(keys[keys.length - 1])) {\n keyData.keyCode = Number(keys[keys.length - 1]);\n }\n else {\n keyData.keyCode = KeyboardEvents_1.getKeyCode(keys[keys.length - 1]);\n }\n KeyboardEvents_1.configCache[\"\" + config] = keyData;\n return keyData;\n };\n // Return the keycode value as string\n KeyboardEvents.getKeyCode = function (keyVal) {\n return keyCode[\"\" + keyVal] || keyVal.toUpperCase().charCodeAt(0);\n };\n var KeyboardEvents_1;\n KeyboardEvents.configCache = {};\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], KeyboardEvents.prototype, \"keyConfigs\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_0__.Property)('keyup')\n ], KeyboardEvents.prototype, \"eventName\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], KeyboardEvents.prototype, \"keyAction\", void 0);\n KeyboardEvents = KeyboardEvents_1 = __decorate([\n _notify_property_change__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], KeyboardEvents);\n return KeyboardEvents;\n}(_base__WEBPACK_IMPORTED_MODULE_1__.Base));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/keyboard.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/l10n.js": +/*!*******************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/l10n.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ L10n: () => (/* binding */ L10n)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _internationalization__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internationalization */ \"./node_modules/@syncfusion/ej2-base/src/internationalization.js\");\n\n\n/**\n * L10n modules provides localized text for different culture.\n * ```typescript\n * import {setCulture} from '@syncfusion/ts-base-library';\n * //load global locale object common for all components.\n * L10n.load({\n * 'fr-BE': {\n * 'button': {\n * 'check': 'vérifié'\n * }\n * }\n * });\n * //set globale default locale culture.\n * setCulture('fr-BE');\n * let instance: L10n = new L10n('button', {\n * check: 'checked'\n * });\n * //Get locale text for current property.\n * instance.getConstant('check');\n * //Change locale culture in a component.\n * instance.setLocale('en-US');\n * ```\n */\nvar L10n = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param {string} controlName ?\n * @param {Object} localeStrings ?\n * @param {string} locale ?\n */\n function L10n(controlName, localeStrings, locale) {\n this.controlName = controlName;\n this.localeStrings = localeStrings;\n this.setLocale(locale || _internationalization__WEBPACK_IMPORTED_MODULE_1__.defaultCulture);\n }\n /**\n * Sets the locale text\n *\n * @param {string} locale ?\n * @returns {void} ?\n */\n L10n.prototype.setLocale = function (locale) {\n var intLocale = this.intGetControlConstant(L10n.locale, locale);\n this.currentLocale = intLocale || this.localeStrings;\n };\n /**\n * Sets the global locale for all components.\n *\n * @param {Object} localeObject - specifies the localeObject to be set as global locale.\n * @returns {void} ?\n */\n L10n.load = function (localeObject) {\n this.locale = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(this.locale, localeObject, {}, true);\n };\n /**\n * Returns current locale text for the property based on the culture name and control name.\n *\n * @param {string} prop - specifies the property for which localize text to be returned.\n * @returns {string} ?\n */\n L10n.prototype.getConstant = function (prop) {\n // Removed conditional operator because this method does not return correct value when passing 0 as value in localization\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.currentLocale[\"\" + prop])) {\n return this.currentLocale[\"\" + prop];\n }\n else {\n return this.localeStrings[\"\" + prop] || '';\n }\n };\n /**\n * Returns the control constant object for current object and the locale specified.\n *\n * @param {Object} curObject ?\n * @param {string} locale ?\n * @returns {Object} ?\n */\n L10n.prototype.intGetControlConstant = function (curObject, locale) {\n if ((curObject)[\"\" + locale]) {\n return (curObject)[\"\" + locale][this.controlName];\n }\n return null;\n };\n L10n.locale = {};\n return L10n;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/l10n.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/module-loader.js": +/*!****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/module-loader.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModuleLoader: () => (/* binding */ ModuleLoader)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Module loading operations\n */\n\nvar MODULE_SUFFIX = 'Module';\nvar ModuleLoader = /** @class */ (function () {\n function ModuleLoader(parent) {\n this.loadedModules = [];\n this.parent = parent;\n }\n /**\n * Inject required modules in component library\n *\n * @returns {void} ?\n * @param {ModuleDeclaration[]} requiredModules - Array of modules to be required\n * @param {Function[]} moduleList - Array of modules to be injected from sample side\n */\n ModuleLoader.prototype.inject = function (requiredModules, moduleList) {\n var reqLength = requiredModules.length;\n if (reqLength === 0) {\n this.clean();\n return;\n }\n if (this.loadedModules.length) {\n this.clearUnusedModule(requiredModules);\n }\n for (var i = 0; i < reqLength; i++) {\n var modl = requiredModules[parseInt(i.toString(), 10)];\n for (var _i = 0, moduleList_1 = moduleList; _i < moduleList_1.length; _i++) {\n var module = moduleList_1[_i];\n var modName = modl.member;\n if (module && module.prototype.getModuleName() === modl.member && !this.isModuleLoaded(modName)) {\n var moduleObject = (0,_util__WEBPACK_IMPORTED_MODULE_0__.createInstance)(module, modl.args);\n var memberName = this.getMemberName(modName);\n if (modl.isProperty) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.setValue)(memberName, module, this.parent);\n }\n else {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.setValue)(memberName, moduleObject, this.parent);\n }\n var loadedModule = modl;\n loadedModule.member = memberName;\n this.loadedModules.push(loadedModule);\n }\n }\n }\n };\n /**\n * To remove the created object while destroying the control\n *\n * @returns {void}\n */\n ModuleLoader.prototype.clean = function () {\n for (var _i = 0, _a = this.loadedModules; _i < _a.length; _i++) {\n var modules = _a[_i];\n if (!modules.isProperty) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(modules.member, this.parent).destroy();\n }\n }\n this.loadedModules = [];\n };\n /**\n * Returns the array of modules that are not loaded in the component library.\n *\n * @param {ModuleDeclaration[]} requiredModules - Array of modules to be required\n * @returns {ModuleDeclaration[]} ?\n * @private\n */\n ModuleLoader.prototype.getNonInjectedModules = function (requiredModules) {\n var _this = this;\n return requiredModules.filter(function (module) { return !_this.isModuleLoaded(module.member); });\n };\n /**\n * Removes all unused modules\n *\n * @param {ModuleDeclaration[]} moduleList ?\n * @returns {void} ?\n */\n ModuleLoader.prototype.clearUnusedModule = function (moduleList) {\n var _this = this;\n var usedModules = moduleList.map(function (arg) { return _this.getMemberName(arg.member); });\n var removableModule = this.loadedModules.filter(function (module) {\n return usedModules.indexOf(module.member) === -1;\n });\n for (var _i = 0, removableModule_1 = removableModule; _i < removableModule_1.length; _i++) {\n var mod = removableModule_1[_i];\n if (!mod.isProperty) {\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(mod.member, this.parent).destroy();\n }\n this.loadedModules.splice(this.loadedModules.indexOf(mod), 1);\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.deleteObject)(this.parent, mod.member);\n }\n };\n /**\n * To get the name of the member.\n *\n * @param {string} name ?\n * @returns {string} ?\n */\n ModuleLoader.prototype.getMemberName = function (name) {\n return name[0].toLowerCase() + name.substring(1) + MODULE_SUFFIX;\n };\n /**\n * Returns boolean based on whether the module specified is loaded or not\n *\n * @param {string} modName ?\n * @returns {boolean} ?\n */\n ModuleLoader.prototype.isModuleLoaded = function (modName) {\n for (var _i = 0, _a = this.loadedModules; _i < _a.length; _i++) {\n var mod = _a[_i];\n if (mod.member === this.getMemberName(modName)) {\n return true;\n }\n }\n return false;\n };\n return ModuleLoader;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/module-loader.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/notify-property-change.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/notify-property-change.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collection: () => (/* binding */ Collection),\n/* harmony export */ CollectionFactory: () => (/* binding */ CollectionFactory),\n/* harmony export */ Complex: () => (/* binding */ Complex),\n/* harmony export */ ComplexFactory: () => (/* binding */ ComplexFactory),\n/* harmony export */ CreateBuilder: () => (/* binding */ CreateBuilder),\n/* harmony export */ Event: () => (/* binding */ Event),\n/* harmony export */ NotifyPropertyChanges: () => (/* binding */ NotifyPropertyChanges),\n/* harmony export */ Property: () => (/* binding */ Property)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Returns the Class Object\n *\n * @param {ClassObject} instance - instance of ClassObject\n * @param {string} curKey - key of the current instance\n * @param {Object} defaultValue - default Value\n * @param {Object[]} type ?\n * @returns {ClassObject} ?\n */\nfunction getObject(instance, curKey, defaultValue, type) {\n if (!Object.prototype.hasOwnProperty.call(instance.properties, curKey) || !(instance.properties[\"\" + curKey] instanceof type)) {\n instance.properties[\"\" + curKey] = (0,_util__WEBPACK_IMPORTED_MODULE_0__.createInstance)(type, [instance, curKey, defaultValue]);\n }\n return instance.properties[\"\" + curKey];\n}\n/**\n * Returns object array\n *\n * @param {ClassObject} instance ?\n * @param {string} curKey ?\n * @param {Object[]} defaultValue ?\n * @param {Object} type ?\n * @param {boolean} isSetter ?\n * @param {boolean} isFactory ?\n * @returns {Object[]} ?\n */\nfunction getObjectArray(instance, curKey, defaultValue, type, isSetter, isFactory) {\n var result = [];\n var len = defaultValue ? defaultValue.length : 0;\n for (var i = 0; i < len; i++) {\n var curType = type;\n if (isFactory) {\n curType = type(defaultValue[parseInt(i.toString(), 10)], instance);\n }\n if (isSetter) {\n var inst = (0,_util__WEBPACK_IMPORTED_MODULE_0__.createInstance)(curType, [instance, curKey, {}, true]);\n inst.setProperties(defaultValue[parseInt(i.toString(), 10)], true);\n result.push(inst);\n }\n else {\n result.push((0,_util__WEBPACK_IMPORTED_MODULE_0__.createInstance)(curType, [instance, curKey, defaultValue[parseInt(i.toString(), 10)], false]));\n }\n }\n return result;\n}\n/**\n * Returns the properties of the object\n *\n * @param {Object} defaultValue ?\n * @param {string} curKey ?\n * @returns {void} ?\n */\nfunction propertyGetter(defaultValue, curKey) {\n return function () {\n if (!Object.prototype.hasOwnProperty.call(this.properties, curKey)) {\n this.properties[\"\" + curKey] = defaultValue;\n }\n return this.properties[\"\" + curKey];\n };\n}\n/**\n * Set the properties for the object\n *\n * @param {Object} defaultValue ?\n * @param {string} curKey ?\n * @returns {void} ?\n */\nfunction propertySetter(defaultValue, curKey) {\n return function (newValue) {\n if (this.properties[\"\" + curKey] !== newValue) {\n var oldVal = Object.prototype.hasOwnProperty.call(this.properties, curKey) ? this.properties[\"\" + curKey] : defaultValue;\n this.saveChanges(curKey, newValue, oldVal);\n this.properties[\"\" + curKey] = newValue;\n }\n };\n}\n/**\n * Returns complex objects\n *\n * @param {Object} defaultValue ?\n * @param {string} curKey ?\n * @param {Object[]} type ?\n * @returns {void} ?\n */\nfunction complexGetter(defaultValue, curKey, type) {\n return function () {\n return getObject(this, curKey, defaultValue, type);\n };\n}\n/**\n * Sets complex objects\n *\n * @param {Object} defaultValue ?\n * @param {string} curKey ?\n * @param {Object[]} type ?\n * @returns {void} ?\n */\nfunction complexSetter(defaultValue, curKey, type) {\n return function (newValue) {\n getObject(this, curKey, defaultValue, type).setProperties(newValue);\n };\n}\n/**\n *\n * @param {Object} defaultValue ?\n * @param {string} curKey ?\n * @param {FunctionConstructor} type ?\n * @returns {void} ?\n */\nfunction complexFactoryGetter(defaultValue, curKey, type) {\n return function () {\n var curType = type({});\n if (Object.prototype.hasOwnProperty.call(this.properties, curKey)) {\n return this.properties[\"\" + curKey];\n }\n else {\n return getObject(this, curKey, defaultValue, curType);\n }\n };\n}\n/**\n *\n * @param {Object} defaultValue ?\n * @param {string} curKey ?\n * @param {Object[]} type ?\n * @returns {void} ?\n */\nfunction complexFactorySetter(defaultValue, curKey, type) {\n return function (newValue) {\n var curType = type(newValue, this);\n getObject(this, curKey, defaultValue, curType).setProperties(newValue);\n };\n}\n/**\n *\n * @param {Object[]} defaultValue ?\n * @param {string} curKey ?\n * @param {Object[]} type ?\n * @returns {void} ?\n */\nfunction complexArrayGetter(defaultValue, curKey, type) {\n return function () {\n var _this = this;\n if (!Object.prototype.hasOwnProperty.call(this.properties, curKey)) {\n var defCollection = getObjectArray(this, curKey, defaultValue, type, false);\n this.properties[\"\" + curKey] = defCollection;\n }\n var ignore = ((this.controlParent !== undefined && this.controlParent.ignoreCollectionWatch)\n || this.ignoreCollectionWatch);\n if (!Object.prototype.hasOwnProperty.call(this.properties[\"\" + curKey], 'push') && !ignore) {\n ['push', 'pop'].forEach(function (extendFunc) {\n var descriptor = {\n value: complexArrayDefinedCallback(extendFunc, curKey, type, _this.properties[\"\" + curKey]).bind(_this),\n configurable: true\n };\n Object.defineProperty(_this.properties[\"\" + curKey], extendFunc, descriptor);\n });\n }\n if (!Object.prototype.hasOwnProperty.call(this.properties[\"\" + curKey], 'isComplexArray')) {\n Object.defineProperty(this.properties[\"\" + curKey], 'isComplexArray', { value: true });\n }\n return this.properties[\"\" + curKey];\n };\n}\n/**\n *\n * @param {Object[]} defaultValue ?\n * @param {string} curKey ?\n * @param {Object[]} type ?\n * @returns {void} ?\n */\nfunction complexArraySetter(defaultValue, curKey, type) {\n return function (newValue) {\n this.isComplexArraySetter = true;\n var oldValueCollection = getObjectArray(this, curKey, defaultValue, type, false);\n var newValCollection = getObjectArray(this, curKey, newValue, type, true);\n this.isComplexArraySetter = false;\n this.saveChanges(curKey, newValCollection, oldValueCollection);\n this.properties[\"\" + curKey] = newValCollection;\n };\n}\n/**\n *\n * @param {Object[]} defaultValue ?\n * @param {string} curKey ?\n * @param {Object[]} type ?\n * @returns {void} ?\n */\nfunction complexArrayFactorySetter(defaultValue, curKey, type) {\n return function (newValue) {\n var oldValueCollection = Object.prototype.hasOwnProperty.call(this.properties, curKey) ? this.properties[\"\" + curKey] : defaultValue;\n var newValCollection = getObjectArray(this, curKey, newValue, type, true, true);\n this.saveChanges(curKey, newValCollection, oldValueCollection);\n this.properties[\"\" + curKey] = newValCollection;\n };\n}\n/**\n *\n * @param {Object[]} defaultValue ?\n * @param {string} curKey ?\n * @param {FunctionConstructor} type ?\n * @returns {void} ?\n */\nfunction complexArrayFactoryGetter(defaultValue, curKey, type) {\n return function () {\n var curType = type({});\n if (!Object.prototype.hasOwnProperty.call(this.properties, curKey)) {\n var defCollection = getObjectArray(this, curKey, defaultValue, curType, false);\n this.properties[\"\" + curKey] = defCollection;\n }\n return this.properties[\"\" + curKey];\n };\n}\n/**\n *\n * @param {string} dFunc ?\n * @param {string} curKey ?\n * @param {Object} type ?\n * @param {Object} prop ?\n * @returns {Object} ?\n */\nfunction complexArrayDefinedCallback(dFunc, curKey, type, prop) {\n return function () {\n var newValue = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newValue[_i] = arguments[_i];\n }\n var keyString = this.propName ? this.getParentKey() + '.' + curKey + '-' : curKey + '-';\n switch (dFunc) {\n case 'push':\n for (var i = 0; i < newValue.length; i++) {\n var newValueParse = newValue[parseInt(i.toString(), 10)];\n Array.prototype[\"\" + dFunc].apply(prop, [newValueParse]);\n var model = getArrayModel(keyString + (prop.length - 1), newValueParse, !this.controlParent, dFunc);\n this.serverDataBind(model, newValue[parseInt(i.toString(), 10)], false, dFunc);\n }\n break;\n case 'pop': {\n Array.prototype[\"\" + dFunc].apply(prop);\n var model = getArrayModel(keyString + prop.length, null, !this.controlParent, dFunc);\n this.serverDataBind(model, { ejsAction: 'pop' }, false, dFunc);\n break;\n }\n }\n return prop;\n };\n}\n/**\n *\n * @param {string} keyString ?\n * @param {Object} value ?\n * @param {boolean} isControlParent ?\n * @param {string} arrayFunction ?\n * @returns {Object} ?\n */\nfunction getArrayModel(keyString, value, isControlParent, arrayFunction) {\n var modelObject = keyString;\n if (isControlParent) {\n modelObject = {};\n modelObject[\"\" + keyString] = value;\n if (value && typeof value === 'object') {\n var action = 'ejsAction';\n modelObject[\"\" + keyString][\"\" + action] = arrayFunction;\n }\n }\n return modelObject;\n}\n/**\n * Method used to create property. General syntax below.\n *\n * @param {Object} defaultValue - Specifies the default value of property.\n * @returns {PropertyDecorator} ?\n * @private\n */\nfunction Property(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: propertySetter(defaultValue, key),\n get: propertyGetter(defaultValue, key),\n enumerable: true,\n configurable: true\n };\n //new property creation\n Object.defineProperty(target, key, propertyDescriptor);\n addPropertyCollection(target, key, 'prop', defaultValue);\n };\n}\n/**\n * Method used to create complex property. General syntax below.\n *\n * @param {any} defaultValue - Specifies the default value of property.\n * @param {Function} type - Specifies the class type of complex object.\n * @returns {PropertyDecorator} ?\n * ```\n * @Complex({},Type)\n * propertyName: Type;\n * ```\n * @private\n */\nfunction Complex(defaultValue, type) {\n return function (target, key) {\n var propertyDescriptor = {\n set: complexSetter(defaultValue, key, type),\n get: complexGetter(defaultValue, key, type),\n enumerable: true,\n configurable: true\n };\n //new property creation\n Object.defineProperty(target, key, propertyDescriptor);\n addPropertyCollection(target, key, 'complexProp', defaultValue, type);\n };\n}\n/**\n * Method used to create complex Factory property. General syntax below.\n *\n * @param {Function} type - Specifies the class factory type of complex object.\n * @returns {PropertyDecorator} ?\n * ```\n * @ComplexFactory(defaultType, factoryFunction)\n * propertyName: Type1 | Type2;\n * ```\n * @private\n */\nfunction ComplexFactory(type) {\n return function (target, key) {\n var propertyDescriptor = {\n set: complexFactorySetter({}, key, type),\n get: complexFactoryGetter({}, key, type),\n enumerable: true,\n configurable: true\n };\n //new property creation\n Object.defineProperty(target, key, propertyDescriptor);\n addPropertyCollection(target, key, 'complexProp', {}, type);\n };\n}\n/**\n * Method used to create complex array property. General syntax below.\n *\n * @param {any} defaultValue - Specifies the default value of property.\n * @param {Function} type - Specifies the class type of complex object.\n * @returns {PropertyDecorator} ?\n * ```\n * @Collection([], Type);\n * propertyName: Type;\n * ```\n * @private\n */\nfunction Collection(defaultValue, type) {\n return function (target, key) {\n var propertyDescriptor = {\n set: complexArraySetter(defaultValue, key, type),\n get: complexArrayGetter(defaultValue, key, type),\n enumerable: true,\n configurable: true\n };\n //new property creation\n Object.defineProperty(target, key, propertyDescriptor);\n addPropertyCollection(target, key, 'colProp', defaultValue, type);\n };\n}\n/**\n * Method used to create complex factory array property. General syntax below.\n *\n * @param {Function} type - Specifies the class type of complex object.\n * @returns {PropertyCollectionInfo} ?\n * ```\n * @Collection([], Type);\n * propertyName: Type;\n * ```\n * @private\n */\nfunction CollectionFactory(type) {\n return function (target, key) {\n var propertyDescriptor = {\n set: complexArrayFactorySetter([], key, type),\n get: complexArrayFactoryGetter([], key, type),\n enumerable: true,\n configurable: true\n };\n //new property creation\n Object.defineProperty(target, key, propertyDescriptor);\n addPropertyCollection(target, key, 'colProp', {}, type);\n };\n}\n/**\n * Method used to create event property. General syntax below.\n *\n * @returns {PropertyDecorator} ?\n * ```\n * @Event(()=>{return true;})\n * ```\n * @private\n */\nfunction Event() {\n return function (target, key) {\n var eventDescriptor = {\n set: function (newValue) {\n var oldValue = this.properties[\"\" + key];\n if (oldValue !== newValue) {\n var finalContext = getParentContext(this, key);\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(oldValue) === false) {\n finalContext.context.removeEventListener(finalContext.prefix, oldValue);\n }\n finalContext.context.addEventListener(finalContext.prefix, newValue);\n this.properties[\"\" + key] = newValue;\n }\n },\n get: propertyGetter(undefined, key),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, eventDescriptor);\n addPropertyCollection(target, key, 'event');\n };\n}\n/**\n * NotifyPropertyChanges is triggers the call back when the property has been changed.\n *\n * @param {Function} classConstructor ?\n * @returns {void} ?\n * @private\n */\nfunction NotifyPropertyChanges(classConstructor) {\n /** Need to code */\n}\n/**\n * Method used to create the builderObject for the target component.\n *\n * @param {BuildInfo} target ?\n * @param {string} key ?\n * @param {string} propertyType ?\n * @param {Object} defaultValue ?\n * @param {Function} type ?\n * @returns {void} ?\n * @private\n */\nfunction addPropertyCollection(target, key, propertyType, defaultValue, type) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(target.propList)) {\n target.propList = {\n props: [],\n complexProps: [],\n colProps: [],\n events: [],\n propNames: [],\n complexPropNames: [],\n colPropNames: [],\n eventNames: []\n };\n }\n target.propList[propertyType + 's'].push({\n propertyName: key,\n defaultValue: defaultValue,\n type: type\n });\n target.propList[propertyType + 'Names'].push(key);\n}\n/**\n * Returns an object containing the builder properties\n *\n * @param {Function} component ?\n * @returns {Object} ?\n * @private\n */\nfunction getBuilderProperties(component) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(component.prototype.builderObject)) {\n component.prototype.builderObject = {\n properties: {}, propCollections: [], add: function () {\n this.isPropertyArray = true;\n this.propCollections.push((0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.properties, {}));\n }\n };\n var rex = /complex/;\n for (var _i = 0, _a = Object.keys(component.prototype.propList); _i < _a.length; _i++) {\n var key = _a[_i];\n var _loop_1 = function (prop) {\n if (rex.test(key)) {\n component.prototype.builderObject[prop.propertyName] = function (value) {\n var childType = {};\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.merge)(childType, getBuilderProperties(prop.type));\n value(childType);\n var tempValue;\n if (!childType.isPropertyArray) {\n tempValue = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, childType.properties, {});\n }\n else {\n tempValue = childType.propCollections;\n }\n this.properties[prop.propertyName] = tempValue;\n childType.properties = {};\n childType.propCollections = [];\n childType.isPropertyArray = false;\n return this;\n };\n }\n else {\n component.prototype.builderObject[prop.propertyName] = function (value) {\n this.properties[prop.propertyName] = value;\n return this;\n };\n }\n };\n for (var _b = 0, _c = component.prototype.propList[\"\" + key]; _b < _c.length; _b++) {\n var prop = _c[_b];\n _loop_1(prop);\n }\n }\n }\n return component.prototype.builderObject;\n}\n/**\n * Method used to create builder for the components\n *\n * @param {any} component -specifies the target component for which builder to be created.\n * @returns {Object} ?\n * @private\n */\nfunction CreateBuilder(component) {\n var builderFunction = function (element) {\n this.element = element;\n return this;\n };\n var instanceFunction = function (element) {\n if (!Object.prototype.hasOwnProperty.call(builderFunction, 'create')) {\n builderFunction.prototype = getBuilderProperties(component);\n builderFunction.prototype.create = function () {\n var temp = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, this.properties);\n this.properties = {};\n return new component(temp, this.element);\n };\n }\n return new builderFunction(element);\n };\n return instanceFunction;\n}\n/**\n * Returns parent options for the object\n *\n * @param {Object} context ?\n * @param {string} prefix ?\n * @returns {ParentOption} ?\n * @private\n */\nfunction getParentContext(context, prefix) {\n if (Object.prototype.hasOwnProperty.call(context, 'parentObj') === false) {\n return { context: context, prefix: prefix };\n }\n else {\n var curText = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('propName', context);\n if (curText) {\n prefix = curText + '-' + prefix;\n }\n return getParentContext((0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)('parentObj', context), prefix);\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/notify-property-change.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/observer.js": +/*!***********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/observer.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Observer: () => (/* binding */ Observer)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\n\nvar Observer = /** @class */ (function () {\n function Observer(context) {\n this.ranArray = [];\n this.boundedEvents = {};\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(context)) {\n return;\n }\n this.context = context;\n }\n /**\n * To attach handler for given property in current context.\n *\n * @param {string} property - specifies the name of the event.\n * @param {Function} handler - Specifies the handler function to be called while event notified.\n * @param {Object} context - Specifies the context binded to the handler.\n * @param {string} id - specifies the random generated id.\n * @returns {void}\n */\n Observer.prototype.on = function (property, handler, context, id) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(handler)) {\n return;\n }\n var cntxt = context || this.context;\n if (this.notExist(property)) {\n this.boundedEvents[\"\" + property] = [{ handler: handler, context: cntxt, id: id }];\n return;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(id)) {\n if (this.ranArray.indexOf(id) === -1) {\n this.ranArray.push(id);\n this.boundedEvents[\"\" + property].push({ handler: handler, context: cntxt, id: id });\n }\n }\n else if (!this.isHandlerPresent(this.boundedEvents[\"\" + property], handler)) {\n this.boundedEvents[\"\" + property].push({ handler: handler, context: cntxt });\n }\n };\n /**\n * To remove handlers from a event attached using on() function.\n *\n * @param {string} property - specifies the name of the event.\n * @param {Function} handler - Optional argument specifies the handler function to be called while event notified.\n * @param {string} id - specifies the random generated id.\n * @returns {void} ?\n */\n Observer.prototype.off = function (property, handler, id) {\n if (this.notExist(property)) {\n return;\n }\n var curObject = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(property, this.boundedEvents);\n if (handler) {\n for (var i = 0; i < curObject.length; i++) {\n if (id) {\n if (curObject[parseInt(i.toString(), 10)].id === id) {\n curObject.splice(i, 1);\n var indexLocation = this.ranArray.indexOf(id);\n if (indexLocation !== -1) {\n this.ranArray.splice(indexLocation, 1);\n }\n break;\n }\n }\n else if (handler === curObject[parseInt(i.toString(), 10)].handler) {\n curObject.splice(i, 1);\n break;\n }\n }\n }\n else {\n delete this.boundedEvents[\"\" + property];\n }\n };\n /**\n * To notify the handlers in the specified event.\n *\n * @param {string} property - Specifies the event to be notify.\n * @param {Object} argument - Additional parameters to pass while calling the handler.\n * @param {Function} successHandler - this function will invoke after event successfully triggered\n * @param {Function} errorHandler - this function will invoke after event if it was failure to call.\n * @returns {void} ?\n */\n Observer.prototype.notify = function (property, argument, successHandler, errorHandler) {\n if (this.notExist(property)) {\n if (successHandler) {\n successHandler.call(this, argument);\n }\n return;\n }\n if (argument) {\n argument.name = property;\n }\n var blazor = 'Blazor';\n var curObject = (0,_util__WEBPACK_IMPORTED_MODULE_0__.getValue)(property, this.boundedEvents).slice(0);\n if (window[\"\" + blazor]) {\n return this.blazorCallback(curObject, argument, successHandler, errorHandler, 0);\n }\n else {\n for (var _i = 0, curObject_1 = curObject; _i < curObject_1.length; _i++) {\n var cur = curObject_1[_i];\n cur.handler.call(cur.context, argument);\n }\n if (successHandler) {\n successHandler.call(this, argument);\n }\n }\n };\n Observer.prototype.blazorCallback = function (objs, argument, successHandler, errorHandler, index) {\n var _this = this;\n var isTrigger = index === objs.length - 1;\n if (index < objs.length) {\n var obj_1 = objs[parseInt(index.toString(), 10)];\n var promise = obj_1.handler.call(obj_1.context, argument);\n if (promise && typeof promise.then === 'function') {\n if (!successHandler) {\n return promise;\n }\n promise.then(function (data) {\n data = typeof data === 'string' && _this.isJson(data) ? JSON.parse(data, _this.dateReviver) : data;\n (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(argument, argument, data, true);\n if (successHandler && isTrigger) {\n successHandler.call(obj_1.context, argument);\n }\n else {\n return _this.blazorCallback(objs, argument, successHandler, errorHandler, index + 1);\n }\n }).catch(function (data) {\n if (errorHandler) {\n errorHandler.call(obj_1.context, typeof data === 'string' &&\n _this.isJson(data) ? JSON.parse(data, _this.dateReviver) : data);\n }\n });\n }\n else if (successHandler && isTrigger) {\n successHandler.call(obj_1.context, argument);\n }\n else {\n return this.blazorCallback(objs, argument, successHandler, errorHandler, index + 1);\n }\n }\n };\n Observer.prototype.dateReviver = function (key, value) {\n var dPattern = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/;\n if (_util__WEBPACK_IMPORTED_MODULE_0__.isBlazor && typeof value === 'string' && value.match(dPattern) !== null) {\n return (new Date(value));\n }\n return (value);\n };\n Observer.prototype.isJson = function (value) {\n try {\n JSON.parse(value);\n }\n catch (e) {\n return false;\n }\n return true;\n };\n /**\n * To destroy handlers in the event\n *\n * @returns {void} ?\n */\n Observer.prototype.destroy = function () {\n this.boundedEvents = this.context = undefined;\n };\n /**\n * To remove internationalization events\n *\n * @returns {void} ?\n */\n Observer.prototype.offIntlEvents = function () {\n var eventsArr = this.boundedEvents['notifyExternalChange'];\n if (eventsArr) {\n for (var i = 0; i < eventsArr.length; i++) {\n var curContext = eventsArr[parseInt(i.toString(), 10)].context;\n if (curContext && curContext.detectFunction && curContext.randomId && curContext.isReactMock) {\n this.off('notifyExternalChange', curContext.detectFunction, curContext.randomId);\n i--;\n }\n }\n if (!this.boundedEvents['notifyExternalChange'].length) {\n delete this.boundedEvents['notifyExternalChange'];\n }\n }\n };\n /**\n * Returns if the property exists.\n *\n * @param {string} prop ?\n * @returns {boolean} ?\n */\n Observer.prototype.notExist = function (prop) {\n return Object.prototype.hasOwnProperty.call(this.boundedEvents, prop) === false || this.boundedEvents[\"\" + prop].length <= 0;\n };\n /**\n * Returns if the handler is present.\n *\n * @param {BoundOptions[]} boundedEvents ?\n * @param {Function} handler ?\n * @returns {boolean} ?\n */\n Observer.prototype.isHandlerPresent = function (boundedEvents, handler) {\n for (var _i = 0, boundedEvents_1 = boundedEvents; _i < boundedEvents_1.length; _i++) {\n var cur = boundedEvents_1[_i];\n if (cur.handler === handler) {\n return true;\n }\n }\n return false;\n };\n return Observer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/observer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/sanitize-helper.js": +/*!******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/sanitize-helper.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SanitizeHtmlHelper: () => (/* binding */ SanitizeHtmlHelper)\n/* harmony export */ });\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/**\n * SanitizeHtmlHelper for sanitize the value.\n */\n\n\nvar removeTags = [\n 'script',\n 'style',\n 'iframe[src]',\n 'link[href*=\"javascript:\"]',\n 'object[type=\"text/x-scriptlet\"]',\n 'object[data^=\"data:text/html;base64\"]',\n 'img[src^=\"data:text/html;base64\"]',\n '[src^=\"javascript:\"]',\n '[dynsrc^=\"javascript:\"]',\n '[lowsrc^=\"javascript:\"]',\n '[type^=\"application/x-shockwave-flash\"]'\n];\nvar removeAttrs = [\n { attribute: 'href', selector: '[href*=\"javascript:\"]' },\n { attribute: 'href', selector: 'a[href]' },\n { attribute: 'background', selector: '[background^=\"javascript:\"]' },\n { attribute: 'style', selector: '[style*=\"javascript:\"]' },\n { attribute: 'style', selector: '[style*=\"expression(\"]' },\n { attribute: 'href', selector: 'a[href^=\"data:text/html;base64\"]' }\n];\nvar jsEvents = ['onchange',\n 'onclick',\n 'onmouseover',\n 'onmouseout',\n 'onkeydown',\n 'onload',\n 'onerror',\n 'onblur',\n 'onfocus',\n 'onbeforeload',\n 'onbeforeunload',\n 'onkeyup',\n 'onsubmit',\n 'onafterprint',\n 'onbeforeonload',\n 'onbeforeprint',\n 'oncanplay',\n 'oncanplaythrough',\n 'oncontextmenu',\n 'ondblclick',\n 'ondrag',\n 'ondragend',\n 'ondragenter',\n 'ondragleave',\n 'ondragover',\n 'ondragstart',\n 'ondrop',\n 'ondurationchange',\n 'onemptied',\n 'onended',\n 'onformchange',\n 'onforminput',\n 'onhaschange',\n 'oninput',\n 'oninvalid',\n 'onkeypress',\n 'onloadeddata',\n 'onloadedmetadata',\n 'onloadstart',\n 'onmessage',\n 'onmousedown',\n 'onmousemove',\n 'onmouseup',\n 'onmousewheel',\n 'onoffline',\n 'onoine',\n 'ononline',\n 'onpagehide',\n 'onpageshow',\n 'onpause',\n 'onplay',\n 'onplaying',\n 'onpopstate',\n 'onprogress',\n 'onratechange',\n 'onreadystatechange',\n 'onredo',\n 'onresize',\n 'onscroll',\n 'onseeked',\n 'onseeking',\n 'onselect',\n 'onstalled',\n 'onstorage',\n 'onsuspend',\n 'ontimeupdate',\n 'onundo',\n 'onunload',\n 'onvolumechange',\n 'onwaiting',\n 'onmouseenter',\n 'onmouseleave',\n 'onstart',\n 'onpropertychange',\n 'oncopy',\n 'ontoggle',\n 'onpointerout',\n 'onpointermove',\n 'onpointerleave',\n 'onpointerenter',\n 'onpointerrawupdate',\n 'onpointerover',\n 'onbeforecopy',\n 'onbeforecut',\n 'onbeforeinput'\n];\nvar SanitizeHtmlHelper = /** @class */ (function () {\n function SanitizeHtmlHelper() {\n }\n SanitizeHtmlHelper.beforeSanitize = function () {\n return {\n selectors: {\n tags: removeTags,\n attributes: removeAttrs\n }\n };\n };\n SanitizeHtmlHelper.sanitize = function (value) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isNullOrUndefined)(value)) {\n return value;\n }\n var item = this.beforeSanitize();\n var output = this.serializeValue(item, value);\n return output;\n };\n SanitizeHtmlHelper.serializeValue = function (item, value) {\n this.removeAttrs = item.selectors.attributes;\n this.removeTags = item.selectors.tags;\n this.wrapElement = document.createElement('div');\n this.wrapElement.innerHTML = value;\n this.removeXssTags();\n this.removeJsEvents();\n this.removeXssAttrs();\n var tempEleValue = this.wrapElement.innerHTML;\n this.removeElement();\n this.wrapElement = null;\n return tempEleValue.replace(/&/g, '&');\n };\n SanitizeHtmlHelper.removeElement = function () {\n // Removes an element's attibute to avoid html tag validation\n var nodes = this.wrapElement.children;\n for (var j = 0; j < nodes.length; j++) {\n var attribute = nodes[parseInt(j.toString(), 10)].attributes;\n for (var i = 0; i < attribute.length; i++) {\n this.wrapElement.children[parseInt(j.toString(), 10)].removeAttribute(attribute[parseInt(i.toString(), 10)].localName);\n }\n }\n };\n SanitizeHtmlHelper.removeXssTags = function () {\n var elements = this.wrapElement.querySelectorAll(this.removeTags.join(','));\n if (elements.length > 0) {\n elements.forEach(function (element) {\n (0,_dom__WEBPACK_IMPORTED_MODULE_0__.detach)(element);\n });\n }\n else {\n return;\n }\n };\n SanitizeHtmlHelper.removeJsEvents = function () {\n var elements = this.wrapElement.querySelectorAll('[' + jsEvents.join('],[') + ']');\n if (elements.length > 0) {\n elements.forEach(function (element) {\n jsEvents.forEach(function (attr) {\n if (element.hasAttribute(attr)) {\n element.removeAttribute(attr);\n }\n });\n });\n }\n else {\n return;\n }\n };\n SanitizeHtmlHelper.removeXssAttrs = function () {\n var _this = this;\n this.removeAttrs.forEach(function (item, index) {\n var elements = _this.wrapElement.querySelectorAll(item.selector);\n if (elements.length > 0) {\n if (item.selector === 'a[href]') {\n elements.forEach(function (element) {\n if ((element.getAttribute(item.attribute)).replace(/\\t|\\s|&/, '').indexOf('javascript:alert') !== -1) {\n element.removeAttribute(item.attribute);\n }\n });\n }\n else {\n elements.forEach(function (element) {\n element.removeAttribute(item.attribute);\n });\n }\n }\n });\n };\n return SanitizeHtmlHelper;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/sanitize-helper.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/template-engine.js": +/*!******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/template-engine.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ blazorTemplates: () => (/* binding */ blazorTemplates),\n/* harmony export */ compile: () => (/* binding */ compile),\n/* harmony export */ getRandomId: () => (/* binding */ getRandomId),\n/* harmony export */ getTemplateEngine: () => (/* binding */ getTemplateEngine),\n/* harmony export */ initializeCSPTemplate: () => (/* binding */ initializeCSPTemplate),\n/* harmony export */ resetBlazorTemplate: () => (/* binding */ resetBlazorTemplate),\n/* harmony export */ setTemplateEngine: () => (/* binding */ setTemplateEngine),\n/* harmony export */ updateBlazorTemplate: () => (/* binding */ updateBlazorTemplate)\n/* harmony export */ });\n/* harmony import */ var _template__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./template */ \"./node_modules/@syncfusion/ej2-base/src/template.js\");\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\n/**\n * Template Engine Bridge\n */\n\n\n\nvar HAS_ROW = /^[\\n\\r.]+ { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compile: () => (/* binding */ compile),\n/* harmony export */ expression: () => (/* binding */ expression)\n/* harmony export */ });\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Template Engine\n */\nvar LINES = new RegExp('\\\\n|\\\\r|\\\\s\\\\s+', 'g');\nvar QUOTES = new RegExp(/'|\"/g);\nvar IF_STMT = new RegExp('if ?\\\\(');\nvar ELSEIF_STMT = new RegExp('else if ?\\\\(');\nvar ELSE_STMT = new RegExp('else');\nvar FOR_STMT = new RegExp('for ?\\\\(');\nvar IF_OR_FOR = new RegExp('(/if|/for)');\nvar CALL_FUNCTION = new RegExp('\\\\((.*)\\\\)', '');\nvar NOT_NUMBER = new RegExp('^[0-9]+$', 'g');\nvar WORD = new RegExp('[\\\\w\"\\'.\\\\s+]+', 'g');\nvar DBL_QUOTED_STR = new RegExp('\"(.*?)\"', 'g');\nvar WORDIF = new RegExp('[\\\\w\"\\'@#$.\\\\s-+]+', 'g');\nvar exp = new RegExp('\\\\${([^}]*)}', 'g');\n// let cachedTemplate: Object = {};\nvar ARR_OBJ = /^\\..*/gm;\nvar SINGLE_SLASH = /\\\\/gi;\nvar DOUBLE_SLASH = /\\\\\\\\/gi;\nvar WORDFUNC = new RegExp('[\\\\w\"\\'@#$.\\\\s+]+', 'g');\nvar WINDOWFUNC = /\\window\\./gm;\n/**\n * The function to set regular expression for template expression string.\n *\n * @param {RegExp} value - Value expression.\n * @returns {RegExp} ?\n * @private\n */\nfunction expression(value) {\n if (value) {\n exp = value;\n }\n return exp;\n}\n// /**\n// * To render the template string from the given data.\n// * @param {string} template - String Template.\n// * @param {Object[]|JSON} data - DataSource for the template.\n// * @param {Object} helper? - custom helper object.\n// */\n// export function template(template: string, data: JSON, helper?: Object): string {\n// let hash: string = hashCode(template);\n// let tmpl: Function;\n// if (!cachedTemplate[hash]) {\n// tmpl = cachedTemplate[hash] = compile(template, helper);\n// } else {\n// tmpl = cachedTemplate[hash];\n// }\n// return tmpl(data);\n// }\n/**\n * Compile the template string into template function.\n *\n * @param {string | Function} template - The template string which is going to convert.\n * @param {Object} helper - Helper functions as an object.\n * @param {boolean} ignorePrefix ?\n * @returns {string} ?\n * @private\n */\nfunction compile(template, helper, ignorePrefix) {\n if (typeof template === 'function') {\n return template;\n }\n else {\n var argName = 'data';\n var evalExpResult = evalExp(template, argName, helper, ignorePrefix);\n var condtion = \"var valueRegEx = (/value=\\\\'([A-Za-z0-9 _]*)((.)([\\\\w)(!-;?-\\u25A0\\\\s]+)['])/g);\\n var hrefRegex = (/(?:href)([\\\\s='\\\"./]+)([\\\\w-./?=&\\\\\\\\#\\\"]+)((.)([\\\\w)(!-;/?-\\u25A0\\\\s]+)['])/g);\\n if(str.match(valueRegEx)){\\n var check = str.match(valueRegEx);\\n var str1 = str;\\n for (var i=0; i < check.length; i++) {\\n var check1 = str.match(valueRegEx)[i].split('value=')[1];\\n var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '\\\"') : check1;\\n change =change.match(/.$/)[0] === '\\\\'' ? change.replace(/.$/,'\\\"') : change;\\n str1 = str1.replace(check1, change);\\n }\\n str = str.replace(str, str1);\\n }\\n else if (str.match(/(?:href='')/) === null) {\\n if(str.match(hrefRegex)) {\\n var check = str.match(hrefRegex);\\n var str1 = str;\\n for (var i=0; i < check.length; i++) {\\n var check1 = str.match(hrefRegex)[i].split('href=')[1];\\n if (check1) {\\n var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '\\\"') : check1;\\n change =change.match(/.$/)[0] === '\\\\'' ? change.replace(/.$/,'\\\"') : change;\\n str1 = str1.replace(check1, change);\\n }\\n }\\n str = str.replace(str, str1);\\n }\\n }\\n \";\n var fnCode = 'var str=\"' + evalExpResult + '\";' + condtion + ' return str;';\n var fn = new Function(argName, fnCode);\n return fn.bind(helper);\n }\n}\n/** function used to evaluate the function expression\n *\n * @param {string} str ?\n * @param {string} nameSpace ?\n * @param {Object} helper ?\n * @param {boolean} ignorePrefix ?\n * @returns {string} ?\n */\nfunction evalExp(str, nameSpace, helper, ignorePrefix) {\n var varCOunt = 0;\n /**\n * Variable containing Local Keys\n */\n var localKeys = [];\n var isClass = str.match(/class=\"([^\"]+|)\\s{2}/g);\n var singleSpace = '';\n if (isClass) {\n isClass.forEach(function (value) {\n singleSpace = value.replace(/\\s\\s+/g, ' ');\n str = str.replace(value, singleSpace);\n });\n }\n if (exp.test(str)) {\n var insideBraces = false;\n var outputString = '';\n for (var i = 0; i < str.length; i++) {\n if (str[i + ''] === '$' && str[i + 1] === '{') {\n insideBraces = true;\n }\n else if (str[i + ''] === '}') {\n insideBraces = false;\n }\n outputString += (str[i + ''] === '\"' && !insideBraces) ? '\\\\\"' : str[i + ''];\n }\n str = outputString;\n }\n else {\n str = str.replace(/\\\\?\"/g, '\\\\\"');\n }\n return str.replace(LINES, '').replace(DBL_QUOTED_STR, '\\'$1\\'').replace(exp, function (match, cnt, offset, matchStr) {\n var SPECIAL_CHAR = /@|#|\\$/gm;\n var matches = cnt.match(CALL_FUNCTION);\n // matches to detect any function calls\n if (matches) {\n var rlStr = matches[1];\n if (ELSEIF_STMT.test(cnt)) {\n //handling else-if condition\n cnt = '\";} ' + cnt.replace(matches[1], rlStr.replace(WORD, function (str) {\n str = str.trim();\n return addNameSpace(str, !(QUOTES.test(str)) && (localKeys.indexOf(str) === -1), nameSpace, localKeys, ignorePrefix);\n })) + '{ \\n str = str + \"';\n }\n else if (IF_STMT.test(cnt)) {\n //handling if condition\n cnt = '\"; ' + cnt.replace(matches[1], rlStr.replace(WORDIF, function (strs) {\n return HandleSpecialCharArrObj(strs, nameSpace, localKeys, ignorePrefix);\n })) + '{ \\n str = str + \"';\n }\n else if (FOR_STMT.test(cnt)) {\n //handling for condition\n var rlStr_1 = matches[1].split(' of ');\n // replace for each into actual JavaScript\n cnt = '\"; ' + cnt.replace(matches[1], function (mtc) {\n localKeys.push(rlStr_1[0]);\n localKeys.push(rlStr_1[0] + 'Index');\n varCOunt = varCOunt + 1;\n return 'var i' + varCOunt + '=0; i' + varCOunt + ' < ' + addNameSpace(rlStr_1[1], true, nameSpace, localKeys, ignorePrefix) + '.length; i' + varCOunt + '++';\n }) + '{ \\n ' + rlStr_1[0] + '= ' + addNameSpace(rlStr_1[1], true, nameSpace, localKeys, ignorePrefix)\n + '[i' + varCOunt + ']; \\n var ' + rlStr_1[0] + 'Index=i' + varCOunt + '; \\n str = str + \"';\n }\n else {\n //helper function handling\n var fnStr = cnt.split('(');\n var fNameSpace = (helper && Object.prototype.hasOwnProperty.call(helper, fnStr[0]) ? 'this.' : 'global');\n fNameSpace = (/\\./.test(fnStr[0]) ? '' : fNameSpace);\n var ftArray = matches[1].split(',');\n if (matches[1].length !== 0 && !(/data/).test(ftArray[0]) && !(/window./).test(ftArray[0])) {\n matches[1] = (fNameSpace === 'global' ? nameSpace + '.' + matches[1] : matches[1]);\n }\n var splRegexp = /@|\\$|#/gm;\n var arrObj = /\\]\\./gm;\n if (WINDOWFUNC.test(cnt) && arrObj.test(cnt) || splRegexp.test(cnt)) {\n var splArrRegexp = /@|\\$|#|\\]\\./gm;\n if (splArrRegexp.test(cnt)) {\n cnt = '\"+ ' + (fNameSpace === 'global' ? '' : fNameSpace) + cnt.replace(matches[1], rlStr.replace(WORDFUNC, function (strs) {\n return HandleSpecialCharArrObj(strs, nameSpace, localKeys, ignorePrefix);\n })) + '+ \"';\n }\n }\n else {\n cnt = '\" + ' + (fNameSpace === 'global' ? '' : fNameSpace) +\n cnt.replace(rlStr, addNameSpace(matches[1].replace(/,( |)data.|,/gi, ',' + nameSpace + '.').replace(/,( |)data.window/gi, ',window'), (fNameSpace === 'global' ? false : true), nameSpace, localKeys, ignorePrefix)) +\n '+\"';\n }\n }\n }\n else if (ELSE_STMT.test(cnt)) {\n // handling else condition\n cnt = '\"; ' + cnt.replace(ELSE_STMT, '} else { \\n str = str + \"');\n }\n else if (cnt.match(IF_OR_FOR)) {\n // close condition\n cnt = cnt.replace(IF_OR_FOR, '\"; \\n } \\n str = str + \"');\n }\n else if (SPECIAL_CHAR.test(cnt)) {\n // template string with double slash with special character\n if (cnt.match(SINGLE_SLASH)) {\n cnt = SlashReplace(cnt);\n }\n cnt = '\"+' + NameSpaceForspecialChar(cnt, (localKeys.indexOf(cnt) === -1), nameSpace, localKeys) + '\"]+\"';\n }\n else {\n // template string with double slash\n if (cnt.match(SINGLE_SLASH)) {\n cnt = SlashReplace(cnt);\n cnt = '\"+' + NameSpaceForspecialChar(cnt, (localKeys.indexOf(cnt) === -1), nameSpace, localKeys) + '\"]+\"';\n }\n else {\n // evaluate normal expression\n cnt = cnt !== '' ? '\"+' + addNameSpace(cnt.replace(/,/gi, '+' + nameSpace + '.'), (localKeys.indexOf(cnt) === -1), nameSpace, localKeys, ignorePrefix) + '+\"' : '${}';\n }\n }\n return cnt;\n });\n}\n/**\n *\n * @param {string} str ?\n * @param {boolean} addNS ?\n * @param {string} nameSpace ?\n * @param {string[]} ignoreList ?\n * @param {boolean} ignorePrefix ?\n * @returns {string} ?\n */\nfunction addNameSpace(str, addNS, nameSpace, ignoreList, ignorePrefix) {\n return ((addNS && !(NOT_NUMBER.test(str)) && ignoreList.indexOf(str.split('.')[0]) === -1 && !ignorePrefix && str !== 'true' && str !== 'false') ? nameSpace + '.' + str : str);\n}\n/**\n *\n * @param {string} str ?\n * @param {boolean} addNS ?\n * @param {string} nameSpace ?\n * @param {string[]} ignoreList ?\n * @returns {string} ?\n */\nfunction NameSpaceArrObj(str, addNS, nameSpace, ignoreList) {\n var arrObjReg = /^\\..*/gm;\n return ((addNS && !(NOT_NUMBER.test(str)) &&\n ignoreList.indexOf(str.split('.')[0]) === -1 && !(arrObjReg.test(str))) ? nameSpace + '.' + str : str);\n}\n// // Create hashCode for template string to storeCached function\n// function hashCode(str: string): string {\n// return str.split('').reduce((a: number, b: string) => { a = ((a << 5) - a) + b.charCodeAt(0); return a & a; }, 0).toString();\n// }\n/**\n *\n * @param {string} str ?\n * @param {boolean} addNS ?\n * @param {string} nameSpace ?\n * @param {string[]} ignoreList ?\n * @returns {string} ?\n */\nfunction NameSpaceForspecialChar(str, addNS, nameSpace, ignoreList) {\n return ((addNS && !(NOT_NUMBER.test(str)) && ignoreList.indexOf(str.split('.')[0]) === -1) ? nameSpace + '[\"' + str : str);\n}\n/**\n * Replace double slashes to single slash.\n *\n * @param {string} tempStr ?\n * @returns {any} ?\n */\nfunction SlashReplace(tempStr) {\n var double = '\\\\\\\\';\n if (tempStr.match(DOUBLE_SLASH)) {\n return tempStr;\n }\n else {\n return tempStr.replace(SINGLE_SLASH, double);\n }\n}\n/**\n *\n * @param {string} str ?\n * @param {string} nameSpaceNew ?\n * @param {string[]} keys ?\n * @param {boolean} ignorePrefix ?\n * @returns {string} ?\n */\nfunction HandleSpecialCharArrObj(str, nameSpaceNew, keys, ignorePrefix) {\n str = str.trim();\n var windowFunc = /\\window\\./gm;\n if (!windowFunc.test(str)) {\n var quotes = /'|\"/gm;\n var splRegexp = /@|\\$|#/gm;\n if (splRegexp.test(str)) {\n str = NameSpaceForspecialChar(str, (keys.indexOf(str) === -1), nameSpaceNew, keys) + '\"]';\n }\n if (ARR_OBJ.test(str)) {\n return NameSpaceArrObj(str, !(quotes.test(str)) && (keys.indexOf(str) === -1), nameSpaceNew, keys);\n }\n else {\n return addNameSpace(str, !(quotes.test(str)) && (keys.indexOf(str) === -1), nameSpaceNew, keys, ignorePrefix);\n }\n }\n else {\n return str;\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/template.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/touch.js": +/*!********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/touch.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SwipeSettings: () => (/* binding */ SwipeSettings),\n/* harmony export */ Touch: () => (/* binding */ Touch)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n/* harmony import */ var _notify_property_change__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./notify-property-change */ \"./node_modules/@syncfusion/ej2-base/src/notify-property-change.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./browser */ \"./node_modules/@syncfusion/ej2-base/src/browser.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-base/src/base.js\");\n/* harmony import */ var _child_property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./child-property */ \"./node_modules/@syncfusion/ej2-base/src/child-property.js\");\n/* harmony import */ var _event_handler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./event-handler */ \"./node_modules/@syncfusion/ej2-base/src/event-handler.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n\n\n\n\n/**\n * SwipeSettings is a framework module that provides support to handle swipe event like swipe up, swipe right, etc..,\n */\nvar SwipeSettings = /** @class */ (function (_super) {\n __extends(SwipeSettings, _super);\n function SwipeSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Property)(50)\n ], SwipeSettings.prototype, \"swipeThresholdDistance\", void 0);\n return SwipeSettings;\n}(_child_property__WEBPACK_IMPORTED_MODULE_4__.ChildProperty));\n\nvar swipeRegex = /(Up|Down)/;\n/**\n * Touch class provides support to handle the touch event like tap, double tap, tap hold, etc..,\n * ```typescript\n * let node: HTMLElement;\n * let touchObj: Touch = new Touch({\n * element: node,\n * tap: function (e) {\n * // tap handler function code\n * }\n * tapHold: function (e) {\n * // tap hold handler function code\n * }\n * scroll: function (e) {\n * // scroll handler function code\n * }\n * swipe: function (e) {\n * // swipe handler function code\n * }\n * });\n * ```\n */\nvar Touch = /** @class */ (function (_super) {\n __extends(Touch, _super);\n /* End-Properties */\n function Touch(element, options) {\n var _this = _super.call(this, options, element) || this;\n _this.touchAction = true;\n _this.tapCount = 0;\n /**\n *\n * @param {MouseEventArgs | TouchEventArgs} evt ?\n * @returns {void} ?\n */\n _this.startEvent = function (evt) {\n if (_this.touchAction === true) {\n var point = _this.updateChangeTouches(evt);\n if (evt.changedTouches !== undefined) {\n _this.touchAction = false;\n }\n _this.isTouchMoved = false;\n _this.movedDirection = '';\n _this.startPoint = _this.lastMovedPoint = { clientX: point.clientX, clientY: point.clientY };\n _this.startEventData = point;\n _this.hScrollLocked = _this.vScrollLocked = false;\n _this.tStampStart = Date.now();\n _this.timeOutTapHold = setTimeout(function () { _this.tapHoldEvent(evt); }, _this.tapHoldThreshold);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.add(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchMoveEvent, _this.moveEvent, _this);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.add(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchEndEvent, _this.endEvent, _this);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.add(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchCancelEvent, _this.cancelEvent, _this);\n }\n };\n /**\n *\n * @param {MouseEventArgs | TouchEventArgs} evt ?\n * @returns {void} ?\n */\n _this.moveEvent = function (evt) {\n var point = _this.updateChangeTouches(evt);\n _this.movedPoint = point;\n _this.isTouchMoved = !(point.clientX === _this.startPoint.clientX && point.clientY === _this.startPoint.clientY);\n var eScrollArgs = {};\n if (_this.isTouchMoved) {\n clearTimeout(_this.timeOutTapHold);\n _this.calcScrollPoints(evt);\n var scrollArg = {\n startEvents: _this.startEventData,\n originalEvent: evt, startX: _this.startPoint.clientX,\n startY: _this.startPoint.clientY, distanceX: _this.distanceX,\n distanceY: _this.distanceY, scrollDirection: _this.scrollDirection,\n velocity: _this.getVelocity(point)\n };\n eScrollArgs = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(eScrollArgs, {}, scrollArg);\n _this.trigger('scroll', eScrollArgs);\n _this.lastMovedPoint = { clientX: point.clientX, clientY: point.clientY };\n }\n };\n /**\n *\n * @param {MouseEventArgs | TouchEventArgs} evt ?\n * @returns {void} ?\n */\n _this.cancelEvent = function (evt) {\n clearTimeout(_this.timeOutTapHold);\n clearTimeout(_this.timeOutTap);\n _this.tapCount = 0;\n _this.swipeFn(evt);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchCancelEvent, _this.cancelEvent);\n };\n /**\n *\n * @param {MouseEventArgs | TouchEventArgs} evt ?\n * @returns {void} ?\n */\n _this.endEvent = function (evt) {\n _this.swipeFn(evt);\n if (!_this.isTouchMoved) {\n if (typeof _this.tap === 'function') {\n _this.trigger('tap', { originalEvent: evt, tapCount: ++_this.tapCount });\n _this.timeOutTap = setTimeout(function () {\n _this.tapCount = 0;\n }, _this.tapThreshold);\n }\n }\n _this.modeclear();\n };\n /**\n *\n * @param {MouseEventArgs | TouchEventArgs} evt ?\n * @returns {void} ?\n */\n _this.swipeFn = function (evt) {\n clearTimeout(_this.timeOutTapHold);\n clearTimeout(_this.timeOutTap);\n var point = _this.updateChangeTouches(evt);\n var diffX = point.clientX - _this.startPoint.clientX;\n var diffY = point.clientY - _this.startPoint.clientY;\n diffX = Math.floor(diffX < 0 ? -1 * diffX : diffX);\n diffY = Math.floor(diffY < 0 ? -1 * diffY : diffX);\n _this.isTouchMoved = diffX > 1 || diffY > 1;\n var isFirefox = (/Firefox/).test(_browser__WEBPACK_IMPORTED_MODULE_2__.Browser.userAgent);\n if (isFirefox && point.clientX === 0 && point.clientY === 0 && evt.type === 'mouseup') {\n _this.isTouchMoved = false;\n }\n _this.endPoint = point;\n _this.calcPoints(evt);\n var swipeArgs = {\n originalEvent: evt,\n startEvents: _this.startEventData,\n startX: _this.startPoint.clientX,\n startY: _this.startPoint.clientY,\n distanceX: _this.distanceX, distanceY: _this.distanceY, swipeDirection: _this.movedDirection,\n velocity: _this.getVelocity(point)\n };\n if (_this.isTouchMoved) {\n var tDistance = _this.swipeSettings.swipeThresholdDistance;\n var eSwipeArgs = (0,_util__WEBPACK_IMPORTED_MODULE_0__.extend)(undefined, _this.defaultArgs, swipeArgs);\n var canTrigger = false;\n var ele = _this.element;\n var scrollBool = _this.isScrollable(ele);\n var moved = swipeRegex.test(_this.movedDirection);\n if ((tDistance < _this.distanceX && !moved) || (tDistance < _this.distanceY && moved)) {\n if (!scrollBool) {\n canTrigger = true;\n }\n else {\n canTrigger = _this.checkSwipe(ele, moved);\n }\n }\n if (canTrigger) {\n _this.trigger('swipe', eSwipeArgs);\n }\n }\n _this.modeclear();\n };\n _this.modeclear = function () {\n _this.modeClear = setTimeout(function () {\n _this.touchAction = true;\n }, (typeof _this.tap !== 'function' ? 0 : 20));\n _this.lastTapTime = new Date().getTime();\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchMoveEvent, _this.moveEvent);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchEndEvent, _this.endEvent);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(_this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchCancelEvent, _this.cancelEvent);\n };\n _this.bind();\n return _this;\n }\n // triggers when property changed\n /**\n *\n * @private\n * @param {TouchModel} newProp ?\n * @param {TouchModel} oldProp ?\n * @returns {void} ?\n */\n Touch.prototype.onPropertyChanged = function (newProp, oldProp) {\n //No Code to handle\n };\n Touch.prototype.bind = function () {\n this.wireEvents();\n if (_browser__WEBPACK_IMPORTED_MODULE_2__.Browser.isIE) {\n this.element.classList.add('e-block-touch');\n }\n };\n /**\n * To destroy the touch instance.\n *\n * @returns {void}\n */\n Touch.prototype.destroy = function () {\n this.unwireEvents();\n _super.prototype.destroy.call(this);\n };\n // Need to changes the event binding once we updated the event handler.\n Touch.prototype.wireEvents = function () {\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.add(this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchStartEvent, this.startEvent, this);\n };\n Touch.prototype.unwireEvents = function () {\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchStartEvent, this.startEvent);\n };\n /**\n * Returns module name as touch\n *\n * @returns {string} ?\n * @private\n */\n Touch.prototype.getModuleName = function () {\n return 'touch';\n };\n /**\n * Returns if the HTML element is Scrollable.\n *\n * @param {HTMLElement} element - HTML Element to check if Scrollable.\n * @returns {boolean} ?\n */\n Touch.prototype.isScrollable = function (element) {\n var eleStyle = getComputedStyle(element);\n var style = eleStyle.overflow + eleStyle.overflowX + eleStyle.overflowY;\n if ((/(auto|scroll)/).test(style)) {\n return true;\n }\n return false;\n };\n /**\n *\n * @param {MouseEventArgs | TouchEventArgs} evt ?\n * @returns {void} ?\n */\n Touch.prototype.tapHoldEvent = function (evt) {\n this.tapCount = 0;\n this.touchAction = true;\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchMoveEvent, this.moveEvent);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchEndEvent, this.endEvent);\n var eTapArgs = { originalEvent: evt };\n this.trigger('tapHold', eTapArgs);\n _event_handler__WEBPACK_IMPORTED_MODULE_5__.EventHandler.remove(this.element, _browser__WEBPACK_IMPORTED_MODULE_2__.Browser.touchCancelEvent, this.cancelEvent);\n };\n Touch.prototype.calcPoints = function (evt) {\n var point = this.updateChangeTouches(evt);\n this.defaultArgs = { originalEvent: evt };\n this.distanceX = Math.abs((Math.abs(point.clientX) - Math.abs(this.startPoint.clientX)));\n this.distanceY = Math.abs((Math.abs(point.clientY) - Math.abs(this.startPoint.clientY)));\n if (this.distanceX > this.distanceY) {\n this.movedDirection = (point.clientX > this.startPoint.clientX) ? 'Right' : 'Left';\n }\n else {\n this.movedDirection = (point.clientY < this.startPoint.clientY) ? 'Up' : 'Down';\n }\n };\n Touch.prototype.calcScrollPoints = function (evt) {\n var point = this.updateChangeTouches(evt);\n this.defaultArgs = { originalEvent: evt };\n this.distanceX = Math.abs((Math.abs(point.clientX) - Math.abs(this.lastMovedPoint.clientX)));\n this.distanceY = Math.abs((Math.abs(point.clientY) - Math.abs(this.lastMovedPoint.clientY)));\n if ((this.distanceX > this.distanceY || this.hScrollLocked === true) && this.vScrollLocked === false) {\n this.scrollDirection = (point.clientX > this.lastMovedPoint.clientX) ? 'Right' : 'Left';\n this.hScrollLocked = true;\n }\n else {\n this.scrollDirection = (point.clientY < this.lastMovedPoint.clientY) ? 'Up' : 'Down';\n this.vScrollLocked = true;\n }\n };\n Touch.prototype.getVelocity = function (pnt) {\n var newX = pnt.clientX;\n var newY = pnt.clientY;\n var newT = Date.now();\n var xDist = newX - this.startPoint.clientX;\n var yDist = newY - this.startPoint.clientX;\n var interval = newT - this.tStampStart;\n return Math.sqrt(xDist * xDist + yDist * yDist) / interval;\n };\n Touch.prototype.checkSwipe = function (ele, flag) {\n var keys = ['scroll', 'offset'];\n var temp = flag ? ['Height', 'Top'] : ['Width', 'Left'];\n if ((ele[keys[0] + temp[0]] <= ele[keys[1] + temp[0]])) {\n return true;\n }\n return (ele[keys[0] + temp[1]] === 0) ||\n (ele[keys[1] + temp[0]] + ele[keys[0] + temp[1]] >= ele[keys[0] + temp[0]]);\n };\n Touch.prototype.updateChangeTouches = function (evt) {\n var point = evt.changedTouches && evt.changedTouches.length !== 0 ? evt.changedTouches[0] : evt;\n return point;\n };\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Event)()\n ], Touch.prototype, \"tap\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Event)()\n ], Touch.prototype, \"tapHold\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Event)()\n ], Touch.prototype, \"swipe\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Event)()\n ], Touch.prototype, \"scroll\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Property)(350)\n ], Touch.prototype, \"tapThreshold\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Property)(750)\n ], Touch.prototype, \"tapHoldThreshold\", void 0);\n __decorate([\n (0,_notify_property_change__WEBPACK_IMPORTED_MODULE_1__.Complex)({}, SwipeSettings)\n ], Touch.prototype, \"swipeSettings\", void 0);\n Touch = __decorate([\n _notify_property_change__WEBPACK_IMPORTED_MODULE_1__.NotifyPropertyChanges\n ], Touch);\n return Touch;\n}(_base__WEBPACK_IMPORTED_MODULE_3__.Base));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/touch.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/util.js": +/*!*******************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/util.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addInstance: () => (/* binding */ addInstance),\n/* harmony export */ compareElementParent: () => (/* binding */ compareElementParent),\n/* harmony export */ containerObject: () => (/* binding */ containerObject),\n/* harmony export */ createInstance: () => (/* binding */ createInstance),\n/* harmony export */ debounce: () => (/* binding */ debounce),\n/* harmony export */ deleteObject: () => (/* binding */ deleteObject),\n/* harmony export */ disableBlazorMode: () => (/* binding */ disableBlazorMode),\n/* harmony export */ enableBlazorMode: () => (/* binding */ enableBlazorMode),\n/* harmony export */ extend: () => (/* binding */ extend),\n/* harmony export */ formatUnit: () => (/* binding */ formatUnit),\n/* harmony export */ getElement: () => (/* binding */ getElement),\n/* harmony export */ getEnumValue: () => (/* binding */ getEnumValue),\n/* harmony export */ getInstance: () => (/* binding */ getInstance),\n/* harmony export */ getUniqueID: () => (/* binding */ getUniqueID),\n/* harmony export */ getValue: () => (/* binding */ getValue),\n/* harmony export */ isBlazor: () => (/* binding */ isBlazor),\n/* harmony export */ isNullOrUndefined: () => (/* binding */ isNullOrUndefined),\n/* harmony export */ isObject: () => (/* binding */ isObject),\n/* harmony export */ isObjectArray: () => (/* binding */ isObjectArray),\n/* harmony export */ isUndefined: () => (/* binding */ isUndefined),\n/* harmony export */ merge: () => (/* binding */ merge),\n/* harmony export */ print: () => (/* binding */ print),\n/* harmony export */ queryParams: () => (/* binding */ queryParams),\n/* harmony export */ setImmediate: () => (/* binding */ setImmediate),\n/* harmony export */ setValue: () => (/* binding */ setValue),\n/* harmony export */ throwError: () => (/* binding */ throwError),\n/* harmony export */ uniqueID: () => (/* binding */ uniqueID)\n/* harmony export */ });\nvar instances = 'ej2_instances';\nvar uid = 0;\nvar isBlazorPlatform = false;\n/**\n * Function to check whether the platform is blazor or not.\n *\n * @returns {void} result\n * @private\n */\nfunction disableBlazorMode() {\n isBlazorPlatform = false;\n}\n/**\n * Create Instance from constructor function with desired parameters.\n *\n * @param {Function} classFunction - Class function to which need to create instance\n * @param {any[]} params - Parameters need to passed while creating instance\n * @returns {any} ?\n * @private\n */\nfunction createInstance(classFunction, params) {\n var arrayParam = params;\n arrayParam.unshift(undefined);\n return new (Function.prototype.bind.apply(classFunction, arrayParam));\n}\n/**\n * To run a callback function immediately after the browser has completed other operations.\n *\n * @param {Function} handler - callback function to be triggered.\n * @returns {Function} ?\n * @private\n */\nfunction setImmediate(handler) {\n var unbind;\n var num = new Uint16Array(5);\n var intCrypto = window.msCrypto || window.crypto;\n intCrypto.getRandomValues(num);\n var secret = 'ej2' + combineArray(num);\n var messageHandler = function (event) {\n if (event.source === window && typeof event.data === 'string' && event.data.length <= 32 && event.data === secret) {\n handler();\n unbind();\n }\n };\n window.addEventListener('message', messageHandler, false);\n window.postMessage(secret, '*');\n return unbind = function () {\n window.removeEventListener('message', messageHandler);\n handler = messageHandler = secret = undefined;\n };\n}\n/**\n * To get nameSpace value from the desired object.\n *\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} obj - Object to get the inner object value.\n * @returns {any} ?\n * @private\n */\nfunction getValue(nameSpace, obj) {\n var value = obj;\n var splits = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n for (var i = 0; i < splits.length && !isUndefined(value); i++) {\n value = value[splits[parseInt(i.toString(), 10)]];\n }\n return value;\n}\n/**\n * To set value for the nameSpace in desired object.\n *\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @returns {any} ?\n * @private\n */\nfunction setValue(nameSpace, value, obj) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n var start = obj || {};\n var fromObj = start;\n var i;\n var length = keys.length;\n var key;\n for (i = 0; i < length; i++) {\n key = keys[parseInt(i.toString(), 10)];\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n continue;\n }\n if (i + 1 === length) {\n fromObj[\"\" + key] = value === undefined ? {} : value;\n }\n else if (isNullOrUndefined(fromObj[\"\" + key])) {\n fromObj[\"\" + key] = {};\n }\n fromObj = fromObj[\"\" + key];\n }\n return start;\n}\n/**\n * Delete an item from Object\n *\n * @param {any} obj - Object in which we need to delete an item.\n * @param {string} key - String value to the get the inner object\n * @returns {void} ?\n * @private\n */\nfunction deleteObject(obj, key) {\n delete obj[\"\" + key];\n}\n/**\n *@private\n */\nvar containerObject = typeof window !== 'undefined' ? window : {};\n/**\n * Check weather the given argument is only object.\n *\n * @param {any} obj - Object which is need to check.\n * @returns {boolean} ?\n * @private\n */\nfunction isObject(obj) {\n var objCon = {};\n return (!isNullOrUndefined(obj) && obj.constructor === objCon.constructor);\n}\n/**\n * To get enum value by giving the string.\n *\n * @param {any} enumObject - Enum object.\n * @param {string} enumValue - Enum value to be searched\n * @returns {any} ?\n * @private\n */\nfunction getEnumValue(enumObject, enumValue) {\n return enumObject[\"\" + enumValue];\n}\n/**\n * Merge the source object into destination object.\n *\n * @param {any} source - source object which is going to merge with destination object\n * @param {any} destination - object need to be merged\n * @returns {void} ?\n * @private\n */\nfunction merge(source, destination) {\n if (!isNullOrUndefined(destination)) {\n var temrObj = source;\n var tempProp = destination;\n var keys = Object.keys(destination);\n var deepmerge = 'deepMerge';\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (!isNullOrUndefined(temrObj[\"\" + deepmerge]) && (temrObj[\"\" + deepmerge].indexOf(key) !== -1) &&\n (isObject(tempProp[\"\" + key]) || Array.isArray(tempProp[\"\" + key]))) {\n extend(temrObj[\"\" + key], temrObj[\"\" + key], tempProp[\"\" + key], true);\n }\n else {\n temrObj[\"\" + key] = tempProp[\"\" + key];\n }\n }\n }\n}\n/**\n * Extend the two object with newer one.\n *\n * @param {any} copied - Resultant object after merged\n * @param {Object} first - First object need to merge\n * @param {Object} second - Second object need to merge\n * @param {boolean} deep ?\n * @returns {Object} ?\n * @private\n */\nfunction extend(copied, first, second, deep) {\n var result = copied && typeof copied === 'object' ? copied : {};\n var length = arguments.length;\n var args = [copied, first, second, deep];\n if (deep) {\n length = length - 1;\n }\n var _loop_1 = function (i) {\n if (!args[parseInt(i.toString(), 10)]) {\n return \"continue\";\n }\n var obj1 = args[parseInt(i.toString(), 10)];\n Object.keys(obj1).forEach(function (key) {\n var src = result[\"\" + key];\n var copy = obj1[\"\" + key];\n var clone;\n var isArrayChanged = Array.isArray(copy) && Array.isArray(src) && (copy.length !== src.length);\n var blazorEventExtend = isBlazor() ? (!(src instanceof Event) && !isArrayChanged) : true;\n if (deep && blazorEventExtend && (isObject(copy) || Array.isArray(copy))) {\n if (isObject(copy)) {\n clone = src ? src : {};\n if (Array.isArray(clone) && Object.prototype.hasOwnProperty.call(clone, 'isComplexArray')) {\n extend(clone, {}, copy, deep);\n }\n else {\n result[\"\" + key] = extend(clone, {}, copy, deep);\n }\n }\n else {\n /* istanbul ignore next */\n clone = isBlazor() ? src && Object.keys(copy).length : src ? src : [];\n result[\"\" + key] = extend([], clone, copy, (clone && clone.length) || (copy && copy.length));\n }\n }\n else {\n result[\"\" + key] = copy;\n }\n });\n };\n for (var i = 1; i < length; i++) {\n _loop_1(i);\n }\n return result;\n}\n/**\n * To check whether the object is null or undefined.\n *\n * @param {any} value - To check the object is null or undefined\n * @returns {boolean} ?\n * @private\n */\nfunction isNullOrUndefined(value) {\n return value === undefined || value === null;\n}\n/**\n * To check whether the object is undefined.\n *\n * @param {any} value - To check the object is undefined\n * @returns {boolean} ?\n * @private\n */\nfunction isUndefined(value) {\n return ('undefined' === typeof value);\n}\n/**\n * To return the generated unique name\n *\n * @param {string} definedName - To concatenate the unique id to provided name\n * @returns {string} ?\n * @private\n */\nfunction getUniqueID(definedName) {\n return definedName + '_' + uid++;\n}\n/**\n * It limits the rate at which a function can fire. The function will fire only once every provided second instead of as quickly.\n *\n * @param {Function} eventFunction - Specifies the function to run when the event occurs\n * @param {number} delay - A number that specifies the milliseconds for function delay call option\n * @returns {Function} ?\n * @private\n */\nfunction debounce(eventFunction, delay) {\n var out;\n return function () {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var later = function () {\n out = null;\n return eventFunction.apply(_this, args);\n };\n clearTimeout(out);\n out = setTimeout(later, delay);\n };\n}\n/**\n * To convert the object to string for query url\n *\n * @param {Object} data ?\n * @returns {string} ?\n * @private\n */\nfunction queryParams(data) {\n var array = [];\n var keys = Object.keys(data);\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n array.push(encodeURIComponent(key) + '=' + encodeURIComponent('' + data[\"\" + key]));\n }\n return array.join('&');\n}\n/**\n * To check whether the given array contains object.\n *\n * @param {any} value - Specifies the T type array to be checked.\n * @returns {boolean} ?\n * @private\n */\nfunction isObjectArray(value) {\n var parser = Object.prototype.toString;\n if (parser.call(value) === '[object Array]') {\n if (parser.call(value[0]) === '[object Object]') {\n return true;\n }\n }\n return false;\n}\n/**\n * To check whether the child element is descendant to parent element or parent and child are same element.\n *\n * @param {Element} child - Specifies the child element to compare with parent.\n * @param {Element} parent - Specifies the parent element.\n * @returns {boolean} ?\n * @private\n */\nfunction compareElementParent(child, parent) {\n var node = child;\n if (node === parent) {\n return true;\n }\n else if (node === document || !node) {\n return false;\n }\n else {\n return compareElementParent(node.parentNode, parent);\n }\n}\n/**\n * To throw custom error message.\n *\n * @param {string} message - Specifies the error message to be thrown.\n * @returns {void} ?\n * @private\n */\nfunction throwError(message) {\n try {\n throw new Error(message);\n }\n catch (e) {\n throw new Error(e.message + '\\n' + e.stack);\n }\n}\n/**\n * This function is used to print given element\n *\n * @param {Element} element - Specifies the print content element.\n * @param {Window} printWindow - Specifies the print window.\n * @returns {Window} ?\n * @private\n */\nfunction print(element, printWindow) {\n var div = document.createElement('div');\n var links = [].slice.call(document.getElementsByTagName('head')[0].querySelectorAll('base, link, style'));\n var blinks = [].slice.call(document.getElementsByTagName('body')[0].querySelectorAll('link, style'));\n if (blinks.length) {\n for (var l = 0, len = blinks.length; l < len; l++) {\n links.push(blinks[parseInt(l.toString(), 10)]);\n }\n }\n var reference = '';\n if (isNullOrUndefined(printWindow)) {\n printWindow = window.open('', 'print', 'height=452,width=1024,tabbar=no');\n }\n div.appendChild(element.cloneNode(true));\n for (var i = 0, len = links.length; i < len; i++) {\n reference += links[parseInt(i.toString(), 10)].outerHTML;\n }\n printWindow.document.write(' ' + reference + '' + div.innerHTML +\n '' + '');\n printWindow.document.close();\n printWindow.focus();\n var interval = setInterval(function () {\n if (printWindow.ready) {\n printWindow.print();\n printWindow.close();\n clearInterval(interval);\n }\n }, 500);\n return printWindow;\n}\n/**\n * Function to normalize the units applied to the element.\n *\n * @param {number|string} value ?\n * @returns {string} result\n * @private\n */\nfunction formatUnit(value) {\n var result = value + '';\n if (result.match(/auto|cm|mm|in|px|pt|pc|%|em|ex|ch|rem|vw|vh|vmin|vmax/)) {\n return result;\n }\n return result + 'px';\n}\n/**\n * Function to check whether the platform is blazor or not.\n *\n * @returns {void} result\n * @private\n */\nfunction enableBlazorMode() {\n isBlazorPlatform = true;\n}\n/**\n * Function to check whether the platform is blazor or not.\n *\n * @returns {boolean} result\n * @private\n */\nfunction isBlazor() {\n return isBlazorPlatform;\n}\n/**\n * Function to convert xPath to DOM element in blazor platform\n *\n * @returns {HTMLElement} result\n * @param {HTMLElement | object} element ?\n * @private\n */\nfunction getElement(element) {\n var xPath = 'xPath';\n if (!(element instanceof Node) && isBlazor() && !isNullOrUndefined(element[\"\" + xPath])) {\n return document.evaluate(element[\"\" + xPath], document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;\n }\n return element;\n}\n/**\n * Function to fetch the Instances of a HTML element for the given component.\n *\n * @param {string | HTMLElement} element ?\n * @param {any} component ?\n * @returns {Object} ?\n * @private\n */\nfunction getInstance(element, component) {\n var elem = (typeof (element) === 'string') ? document.querySelector(element) : element;\n if (elem[\"\" + instances]) {\n for (var _i = 0, _a = elem[\"\" + instances]; _i < _a.length; _i++) {\n var inst = _a[_i];\n if (inst instanceof component) {\n return inst;\n }\n }\n }\n return null;\n}\n/**\n * Function to add instances for the given element.\n *\n * @param {string | HTMLElement} element ?\n * @param {Object} instance ?\n * @returns {void} ?\n * @private\n */\nfunction addInstance(element, instance) {\n var elem = (typeof (element) === 'string') ? document.querySelector(element) : element;\n if (elem[\"\" + instances]) {\n elem[\"\" + instances].push(instance);\n }\n else {\n elem[\"\" + instances] = [instance];\n }\n}\n/**\n * Function to generate the unique id.\n *\n * @returns {any} ?\n * @private\n */\nfunction uniqueID() {\n if ((typeof window) === 'undefined') {\n return;\n }\n var num = new Uint16Array(5);\n var intCrypto = window.msCrypto || window.crypto;\n return intCrypto.getRandomValues(num);\n}\n/**\n *\n * @param {Int16Array} num ?\n * @returns {string} ?\n */\nfunction combineArray(num) {\n var ret = '';\n for (var i = 0; i < 5; i++) {\n ret += (i ? ',' : '') + num[parseInt(i.toString(), 10)];\n }\n return ret;\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/util.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-base/src/validate-lic.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-base/src/validate-lic.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ componentList: () => (/* binding */ componentList),\n/* harmony export */ createLicenseOverlay: () => (/* binding */ createLicenseOverlay),\n/* harmony export */ getVersion: () => (/* binding */ getVersion),\n/* harmony export */ registerLicense: () => (/* binding */ registerLicense),\n/* harmony export */ validateLicense: () => (/* binding */ validateLicense)\n/* harmony export */ });\n/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom */ \"./node_modules/@syncfusion/ej2-base/src/dom.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-base/src/util.js\");\n\n\nvar componentList = ['grid', 'pivotview', 'treegrid', 'spreadsheet', 'rangeNavigator', 'DocumentEditor', 'listbox', 'inplaceeditor', 'PdfViewer', 'richtexteditor', 'DashboardLayout', 'chart', 'stockChart', 'circulargauge', 'diagram', 'heatmap', 'lineargauge', 'maps', 'slider', 'smithchart', 'barcode', 'sparkline', 'treemap', 'bulletChart', 'kanban', 'daterangepicker', 'schedule', 'gantt', 'signature', 'query-builder', 'drop-down-tree', 'carousel', 'filemanager', 'uploader', 'accordion', 'tab', 'treeview'];\nvar bypassKey = [115, 121, 110, 99, 102, 117, 115, 105,\n 111, 110, 46, 105, 115, 76, 105, 99, 86, 97, 108,\n 105, 100, 97, 116, 101, 100];\nvar accountURL;\n/**\n * License validation module\n *\n * @private\n */\nvar LicenseValidator = /** @class */ (function () {\n function LicenseValidator(key) {\n this.isValidated = false;\n this.isLicensed = true;\n this.version = '29';\n this.platform = /JavaScript|ASPNET|ASPNETCORE|ASPNETMVC|FileFormats|essentialstudio/i;\n this.errors = {\n noLicense: 'This application was built using a trial version of Syncfusion® Essential Studio®.' +\n ' To remove the license validation message permanently, a valid license key must be included.',\n trailExpired: 'This application was built using a trial version of Syncfusion® Essential Studio®.' +\n ' To remove the license validation message permanently, a valid license key must be included.',\n versionMismatched: 'The included Syncfusion® license key is invalid.',\n platformMismatched: 'The included Syncfusion® license key is invalid.',\n invalidKey: 'The included Syncfusion® license key is invalid.'\n };\n this.minVersion = null;\n /**\n * To manage licensing operation.\n */\n this.manager = (function () {\n var licKey = null;\n /**\n * Sets the license key.\n *\n * @param {string} key - Specifies the license key.\n * @returns {void}\n */\n function set(key) { licKey = key; }\n /**\n * Gets the license key.\n *\n * @returns {string} -Gets the license key.\n */\n function get() { return licKey; }\n return {\n setKey: set,\n getKey: get\n };\n })();\n /**\n * To manage npx licensing operation.\n */\n this.npxManager = (function () {\n var npxLicKey = 'npxKeyReplace';\n /**\n * Gets the license key.\n *\n * @returns {string} - Gets the license key.\n */\n function get() { return npxLicKey; }\n return {\n getKey: get\n };\n })();\n this.manager.setKey(key);\n }\n /**\n * To validate the provided license key.\n *\n * @returns {boolean} ?\n */\n LicenseValidator.prototype.validate = function () {\n var contentKey = [115, 121, 110, 99, 102, 117, 115, 105, 111, 110, 46,\n 108, 105, 99, 101, 110, 115, 101, 67, 111, 110, 116, 101, 110, 116];\n var URLKey = [115, 121, 110, 99, 102, 117, 115, 105, 111, 110, 46,\n 99, 108, 97, 105, 109, 65, 99, 99, 111, 117, 110, 116, 85, 82, 76];\n if (!this.isValidated && (_util__WEBPACK_IMPORTED_MODULE_1__.containerObject && !(0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)(convertToChar(bypassKey), _util__WEBPACK_IMPORTED_MODULE_1__.containerObject) && !(0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)('Blazor', _util__WEBPACK_IMPORTED_MODULE_1__.containerObject))) {\n var validateMsg = void 0;\n var validateURL = void 0;\n if ((this.manager && this.manager.getKey()) || (this.npxManager && this.npxManager.getKey() !== 'npxKeyReplace')) {\n var result = this.getInfoFromKey();\n if (result && result.length) {\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var res = result_1[_i];\n if (!this.platform.test(res.platform) || res.invalidPlatform) {\n validateMsg = this.errors.platformMismatched;\n }\n else {\n if (((res.minVersion >= res.lastValue) && (res.minVersion !== res.lastValue)) ||\n (res.lastValue < parseInt(this.version, 10))) {\n validateMsg = this.errors.versionMismatched;\n validateMsg = validateMsg.replace('##LicenseVersion', res.version);\n validateMsg = validateMsg.replace('##Requireversion', this.version + '.x');\n }\n else {\n if (res.lastValue == null || isNaN(res.lastValue)) {\n validateMsg = this.errors.versionMismatched;\n validateMsg = validateMsg.replace('##LicenseVersion', res.version);\n validateMsg = validateMsg.replace('##Requireversion', this.version + '.x');\n }\n }\n if (res.expiryDate) {\n var expDate = new Date(res.expiryDate);\n var currDate = new Date();\n if (expDate !== currDate && expDate < currDate) {\n validateMsg = this.errors.trailExpired;\n }\n else {\n break;\n }\n }\n }\n }\n }\n else {\n validateMsg = this.errors.invalidKey;\n }\n }\n else {\n var licenseContent = (0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)(convertToChar(contentKey), _util__WEBPACK_IMPORTED_MODULE_1__.containerObject);\n validateURL = (0,_util__WEBPACK_IMPORTED_MODULE_1__.getValue)(convertToChar(URLKey), _util__WEBPACK_IMPORTED_MODULE_1__.containerObject);\n if (licenseContent && licenseContent !== '') {\n validateMsg = licenseContent;\n }\n else {\n validateMsg = this.errors.noLicense;\n }\n }\n if (validateMsg && typeof document !== 'undefined' && !(0,_util__WEBPACK_IMPORTED_MODULE_1__.isNullOrUndefined)(document)) {\n accountURL = (validateURL && validateURL !== '') ? validateURL : 'https://www.syncfusion.com/account/claim-license-key?pl=SmF2YVNjcmlwdA==&vs=Mjk=&utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information';\n var errorDiv = (0,_dom__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n innerHTML: \"\" + validateMsg + ' ' + '
      Claim your free account'\n });\n errorDiv.setAttribute('style', \"position: fixed;\\n top: 10px;\\n left: 10px;\\n right: 10px;\\n font-size: 14px;\\n background: #EEF2FF;\\n color: #222222;\\n z-index: 999999999;\\n text-align: left;\\n border: 1px solid #EEEEEE;\\n padding: 10px 11px 10px 50px;\\n border-radius: 8px;\\n font-family: Helvetica Neue, Helvetica, Arial;\");\n document.body.appendChild(errorDiv);\n this.isLicensed = false;\n }\n this.isValidated = true;\n (0,_util__WEBPACK_IMPORTED_MODULE_1__.setValue)(convertToChar(bypassKey), this.isValidated, _util__WEBPACK_IMPORTED_MODULE_1__.containerObject);\n }\n return this.isLicensed;\n };\n LicenseValidator.prototype.getDecryptedData = function (key) {\n try {\n return atob(key);\n }\n catch (error) {\n return '';\n }\n };\n /**\n * Get license information from key.\n *\n * @returns {IValidator} - Get license information from key.\n */\n LicenseValidator.prototype.getInfoFromKey = function () {\n try {\n var licKey = '';\n var pkey = [5439488, 7929856, 5111808, 6488064, 4587520, 7667712, 5439488,\n 6881280, 5177344, 7208960, 4194304, 4456448, 6619136, 7733248, 5242880, 7077888,\n 6356992, 7602176, 4587520, 7274496, 7471104, 7143424];\n var decryptedStr = [];\n var resultArray = [];\n var invalidPlatform = false;\n var isNpxKey = false;\n if (this.manager.getKey()) {\n licKey = this.manager.getKey();\n }\n else {\n isNpxKey = true;\n licKey = this.npxManager.getKey().split('npxKeyReplace')[1];\n }\n var licKeySplit = licKey.split(';');\n for (var _i = 0, licKeySplit_1 = licKeySplit; _i < licKeySplit_1.length; _i++) {\n var lKey = licKeySplit_1[_i];\n var decodeStr = this.getDecryptedData(lKey);\n if (!decodeStr) {\n continue;\n }\n var k = 0;\n var buffr = '';\n if (!isNpxKey) {\n for (var i = 0; i < decodeStr.length; i++, k++) {\n if (k === pkey.length) {\n k = 0;\n }\n var c = decodeStr.charCodeAt(i);\n buffr += String.fromCharCode(c ^ (pkey[parseInt(k.toString(), 10)] >> 16));\n }\n }\n else {\n var charKey = decodeStr[decodeStr.length - 1];\n var decryptedKey = [];\n for (var i = 0; i < decodeStr.length; i++) {\n decryptedKey[parseInt(i.toString(), 10)] = decodeStr[parseInt(i.toString(), 10)].charCodeAt(0)\n - charKey.charCodeAt(0);\n }\n for (var i = 0; i < decryptedKey.length; i++) {\n buffr += String.fromCharCode(decryptedKey[parseInt(i.toString(), 10)]);\n }\n }\n if (this.platform.test(buffr)) {\n decryptedStr = buffr.split(';');\n invalidPlatform = false;\n // checked the length to verify the key in proper strucutre\n if (decryptedStr.length > 3) {\n var minVersion = parseInt(decryptedStr[1].split('.')[0], 10);\n var lastValue = parseInt(decryptedStr[4], 10);\n resultArray.push({\n platform: decryptedStr[0],\n version: decryptedStr[1],\n expiryDate: decryptedStr[2],\n lastValue: lastValue,\n minVersion: minVersion\n });\n }\n }\n else if (buffr && buffr.split(';').length > 3) {\n invalidPlatform = true;\n }\n }\n if (invalidPlatform && !resultArray.length) {\n return [{ invalidPlatform: invalidPlatform }];\n }\n else {\n return resultArray.length ? resultArray : null;\n }\n }\n catch (error) {\n return null;\n }\n };\n return LicenseValidator;\n}());\nvar licenseValidator = new LicenseValidator();\n/**\n * Converts the given number to characters.\n *\n * @param {number} cArr - Specifies the license key as number.\n * @returns {string} ?\n */\nfunction convertToChar(cArr) {\n var ret = '';\n for (var _i = 0, cArr_1 = cArr; _i < cArr_1.length; _i++) {\n var arr = cArr_1[_i];\n ret += String.fromCharCode(arr);\n }\n return ret;\n}\n/**\n * To set license key.\n *\n * @param {string} key - license key\n * @returns {void}\n */\nfunction registerLicense(key) {\n licenseValidator = new LicenseValidator(key);\n}\nvar validateLicense = function (key) {\n if (key) {\n registerLicense(key);\n }\n return licenseValidator.validate();\n};\nvar getVersion = function () {\n return licenseValidator.version;\n};\n// Method for create overlay over the sample\nvar createLicenseOverlay = function () {\n var bannerTemplate = \"\\n
      \\n
      \\n
      \\n \\n
      \\n
      Claim your FREE account and get a key in less than a minute
      \\n
        \\n
      • Access to a 30-day free trial of any of our products.
      • \\n
      • Access to 24x5 support by developers via the support tickets, forum, feature & feedback page and chat.
      • \\n
      • 200+ ebooks on the latest technologies, industry trends, and research topics.\\n
      • \\n
      • Largest collection of over 7500 flat and wireframe icons for free with Syncfusion\\u00AE Metro Studio.
      • \\n
      • Free and unlimited access to Syncfusion\\u00AE technical blogs and whitepapers.
      • \\n
      \\n
      Syncfusion is trusted by 29,000+ businesses worldwide
      \\n \\n Claim your FREE account\\n
      have a Syncfusion\\u00AE account? Sign In
      \\n
      \\n
      \";\n if (typeof document !== 'undefined' && !(0,_util__WEBPACK_IMPORTED_MODULE_1__.isNullOrUndefined)(document)) {\n var errorBackground = (0,_dom__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n innerHTML: bannerTemplate\n });\n document.body.appendChild(errorBackground);\n }\n};\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-base/src/validate-lic.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-buttons/src/button/button.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-buttons/src/button/button.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ IconPosition: () => (/* binding */ IconPosition),\n/* harmony export */ buttonObserver: () => (/* binding */ buttonObserver)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/common */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * Defines the icon position of button.\n */\nvar IconPosition;\n(function (IconPosition) {\n /**\n * Positions the Icon at the left of the text content in the Button.\n */\n IconPosition[\"Left\"] = \"Left\";\n /**\n * Positions the Icon at the right of the text content in the Button.\n */\n IconPosition[\"Right\"] = \"Right\";\n /**\n * Positions the Icon at the top of the text content in the Button.\n */\n IconPosition[\"Top\"] = \"Top\";\n /**\n * Positions the Icon at the bottom of the text content in the Button.\n */\n IconPosition[\"Bottom\"] = \"Bottom\";\n})(IconPosition || (IconPosition = {}));\nvar buttonObserver = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Observer();\nvar cssClassName = {\n RTL: 'e-rtl',\n BUTTON: 'e-btn',\n PRIMARY: 'e-primary',\n ICONBTN: 'e-icon-btn'\n};\n/**\n * The Button is a graphical user interface element that triggers an event on its click action. It can contain a text, an image, or both.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {ButtonModel} options - Specifies the button model\n * @param {string|HTMLButtonElement} element - Specifies the target element\n */\n function Button(options, element) {\n return _super.call(this, options, element) || this;\n }\n Button.prototype.preRender = function () {\n // pre render code snippets\n };\n /**\n * Initialize the control rendering\n *\n * @returns {void}\n * @private\n */\n Button.prototype.render = function () {\n this.initialize();\n this.removeRippleEffect = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.element, { selector: '.' + cssClassName.BUTTON });\n this.renderComplete();\n };\n Button.prototype.initialize = function () {\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n if (this.isPrimary) {\n this.element.classList.add(cssClassName.PRIMARY);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && this.getModuleName() !== 'progress-btn')) {\n if (this.content) {\n var tempContent = (this.enableHtmlSanitizer) ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(this.content) : this.content;\n this.element.innerHTML = tempContent;\n }\n this.setIconCss();\n }\n if (this.enableRtl) {\n this.element.classList.add(cssClassName.RTL);\n }\n if (this.disabled) {\n this.controlStatus(this.disabled);\n }\n else {\n this.wireEvents();\n }\n };\n Button.prototype.controlStatus = function (disabled) {\n this.element.disabled = disabled;\n };\n Button.prototype.setIconCss = function () {\n if (this.iconCss) {\n var span = this.createElement('span', { className: 'e-btn-icon ' + this.iconCss });\n if (!this.element.textContent.trim()) {\n this.element.classList.add(cssClassName.ICONBTN);\n }\n else {\n span.classList.add('e-icon-' + this.iconPosition.toLowerCase());\n if (this.iconPosition === 'Top' || this.iconPosition === 'Bottom') {\n this.element.classList.add('e-' + this.iconPosition.toLowerCase() + '-icon-btn');\n }\n }\n var node = this.element.childNodes[0];\n if (node && (this.iconPosition === 'Left' || this.iconPosition === 'Top')) {\n this.element.insertBefore(span, node);\n }\n else {\n this.element.appendChild(span);\n }\n }\n };\n Button.prototype.wireEvents = function () {\n if (this.isToggle) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'click', this.btnClickHandler, this);\n }\n };\n Button.prototype.unWireEvents = function () {\n if (this.isToggle) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'click', this.btnClickHandler);\n }\n };\n Button.prototype.btnClickHandler = function () {\n if (this.element.classList.contains('e-active')) {\n this.element.classList.remove('e-active');\n }\n else {\n this.element.classList.add('e-active');\n }\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n Button.prototype.destroy = function () {\n var classList = [cssClassName.PRIMARY, cssClassName.RTL, cssClassName.ICONBTN, 'e-success', 'e-info', 'e-danger',\n 'e-warning', 'e-flat', 'e-outline', 'e-small', 'e-bigger', 'e-active', 'e-round',\n 'e-top-icon-btn', 'e-bottom-icon-btn'];\n if (this.cssClass) {\n classList = classList.concat(this.cssClass.split(/\\s+/).filter(function (c) { return c.length > 0; }));\n }\n _super.prototype.destroy.call(this);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], classList);\n if (!this.element.getAttribute('class')) {\n this.element.removeAttribute('class');\n }\n if (this.disabled) {\n this.element.removeAttribute('disabled');\n }\n if (this.content) {\n this.element.innerHTML = this.element.innerHTML.replace(this.content, '');\n }\n var span = this.element.querySelector('span.e-btn-icon');\n if (span) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(span);\n }\n this.unWireEvents();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled) {\n this.removeRippleEffect();\n }\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module name\n * @private\n */\n Button.prototype.getModuleName = function () {\n return 'btn';\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} - Persist Data\n * @private\n */\n Button.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * Dynamically injects the required modules to the component.\n *\n * @private\n * @returns {void}\n */\n Button.Inject = function () {\n // Inject code snippets\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {ButtonModel} newProp - Specifies new properties\n * @param {ButtonModel} oldProp - Specifies old properties\n * @returns {void}\n * @private\n */\n Button.prototype.onPropertyChanged = function (newProp, oldProp) {\n var span = this.element.querySelector('span.e-btn-icon');\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'isPrimary':\n if (newProp.isPrimary) {\n this.element.classList.add(cssClassName.PRIMARY);\n }\n else {\n this.element.classList.remove(cssClassName.PRIMARY);\n }\n break;\n case 'disabled':\n this.controlStatus(newProp.disabled);\n break;\n case 'iconCss': {\n span = this.element.querySelector('span.e-btn-icon');\n if (span) {\n if (newProp.iconCss) {\n span.className = 'e-btn-icon ' + newProp.iconCss;\n if (this.element.textContent.trim()) {\n if (this.iconPosition === 'Left') {\n span.classList.add('e-icon-left');\n }\n else {\n span.classList.add('e-icon-right');\n }\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(span);\n }\n }\n else {\n this.setIconCss();\n }\n break;\n }\n case 'iconPosition':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], ['e-top-icon-btn', 'e-bottom-icon-btn']);\n span = this.element.querySelector('span.e-btn-icon');\n if (span) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(span);\n }\n this.setIconCss();\n break;\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], oldProp.cssClass.split(/\\s+/).filter(function (c) { return c.length > 0; }));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n this.element.classList.add(cssClassName.RTL);\n }\n else {\n this.element.classList.remove(cssClassName.RTL);\n }\n break;\n case 'content': {\n var node = (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.getTextNode)(this.element);\n if (!node) {\n this.element.classList.remove(cssClassName.ICONBTN);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.isServerRendered && this.getModuleName() !== 'progress-btn')) {\n if (this.enableHtmlSanitizer) {\n newProp.content = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(newProp.content);\n }\n this.element.innerHTML = newProp.content;\n this.setIconCss();\n }\n break;\n }\n case 'isToggle':\n if (newProp.isToggle) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'click', this.btnClickHandler, this);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'click', this.btnClickHandler);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], ['e-active']);\n }\n break;\n }\n }\n };\n /**\n * Click the button element\n * its native method\n *\n * @public\n * @returns {void}\n */\n Button.prototype.click = function () {\n this.element.click();\n };\n /**\n * Sets the focus to Button\n * its native method\n *\n * @public\n * @returns {void}\n */\n Button.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Left')\n ], Button.prototype, \"iconPosition\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Button.prototype, \"iconCss\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Button.prototype, \"disabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Button.prototype, \"isPrimary\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Button.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Button.prototype, \"content\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Button.prototype, \"isToggle\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Button.prototype, \"locale\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Button.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Button.prototype, \"created\", void 0);\n Button = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Button);\n return Button;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-buttons/src/button/button.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CheckBox: () => (/* binding */ CheckBox)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../common/common */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar CHECK = 'e-check';\nvar DISABLED = 'e-checkbox-disabled';\nvar FRAME = 'e-frame';\nvar INDETERMINATE = 'e-stop';\nvar LABEL = 'e-label';\nvar RIPPLE = 'e-ripple-container';\nvar RIPPLECHECK = 'e-ripple-check';\nvar RIPPLEINDETERMINATE = 'e-ripple-stop';\nvar RTL = 'e-rtl';\nvar WRAPPER = 'e-checkbox-wrapper';\nvar containerAttr = ['title', 'class', 'style', 'disabled', 'readonly', 'name', 'value', 'id', 'tabindex', 'aria-label', 'required'];\n/**\n * The CheckBox is a graphical user interface element that allows you to select one or more options from the choices.\n * It contains checked, unchecked, and indeterminate states.\n * ```html\n * \n * \n * ```\n */\nvar CheckBox = /** @class */ (function (_super) {\n __extends(CheckBox, _super);\n /**\n * Constructor for creating the widget\n *\n * @private\n * @param {CheckBoxModel} options - Specifies checkbox model\n * @param {string | HTMLInputElement} element - Specifies target element\n */\n function CheckBox(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isFocused = false;\n _this.isMouseClick = false;\n _this.clickTriggered = false;\n _this.validCheck = true;\n _this.type = 'checkbox';\n return _this;\n }\n CheckBox.prototype.changeState = function (state, isInitialize, isInterAction) {\n var wrapper = this.getWrapper();\n var rippleSpan = null;\n var frameSpan = null;\n if (wrapper) {\n frameSpan = wrapper.getElementsByClassName(FRAME)[0];\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled) {\n rippleSpan = wrapper.getElementsByClassName(RIPPLE)[0];\n }\n }\n if (state === 'check') {\n if (frameSpan) {\n frameSpan.classList.remove(INDETERMINATE);\n frameSpan.classList.add(CHECK);\n }\n if (rippleSpan) {\n rippleSpan.classList.remove(RIPPLEINDETERMINATE);\n rippleSpan.classList.add(RIPPLECHECK);\n }\n this.element.checked = true;\n if ((this.element.required || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form').classList.contains('e-formvalidator')) && this.validCheck && !isInitialize && isInterAction) {\n this.element.checked = false;\n this.validCheck = false;\n }\n else if (this.element.required || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form').classList.contains('e-formvalidator')) {\n this.validCheck = true;\n }\n }\n else if (state === 'uncheck') {\n if (frameSpan) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([frameSpan], [CHECK, INDETERMINATE]);\n }\n if (rippleSpan) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([rippleSpan], [RIPPLECHECK, RIPPLEINDETERMINATE]);\n }\n this.element.checked = false;\n if ((this.element.required || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form').classList.contains('e-formvalidator')) && this.validCheck && !isInitialize && isInterAction) {\n this.element.checked = true;\n this.validCheck = false;\n }\n else if (this.element.required || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form').classList.contains('e-formvalidator')) {\n this.validCheck = true;\n }\n }\n else {\n if (frameSpan) {\n frameSpan.classList.remove(CHECK);\n frameSpan.classList.add(INDETERMINATE);\n }\n if (rippleSpan) {\n rippleSpan.classList.remove(RIPPLECHECK);\n rippleSpan.classList.add(RIPPLEINDETERMINATE);\n }\n this.element.indeterminate = true;\n this.indeterminate = true;\n }\n };\n CheckBox.prototype.clickHandler = function (event) {\n if (event.target.tagName === 'INPUT' && this.clickTriggered) {\n this.changeState(this.checked ? 'check' : 'uncheck');\n this.clickTriggered = false;\n return;\n }\n if (event.target.tagName === 'SPAN' || event.target.tagName === 'LABEL' ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.e-label')) {\n this.clickTriggered = true;\n }\n if (this.isMouseClick) {\n this.focusOutHandler();\n this.isMouseClick = false;\n }\n if (this.indeterminate) {\n this.changeState(this.checked ? 'check' : 'uncheck', false, true);\n this.indeterminate = false;\n this.element.indeterminate = false;\n }\n else if (this.checked) {\n this.changeState('uncheck', false, true);\n this.checked = false;\n }\n else {\n this.changeState('check', false, true);\n this.checked = true;\n }\n var changeEventArgs = { checked: this.updateVueArrayModel(false), event: event };\n this.trigger('change', changeEventArgs);\n event.stopPropagation();\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n CheckBox.prototype.destroy = function () {\n var _this = this;\n var wrapper = this.getWrapper();\n _super.prototype.destroy.call(this);\n if (this.wrapper) {\n wrapper = this.wrapper;\n if (!this.disabled) {\n this.unWireEvents();\n }\n if (this.tagName === 'INPUT') {\n if (this.getWrapper() && wrapper.parentNode) {\n wrapper.parentNode.insertBefore(this.element, wrapper);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(wrapper);\n this.element.checked = false;\n if (this.indeterminate) {\n this.element.indeterminate = false;\n }\n ['name', 'value', 'disabled'].forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n }\n else {\n ['class'].forEach(function (key) {\n wrapper.removeAttribute(key);\n });\n wrapper.innerHTML = '';\n this.element = wrapper;\n if (this.refreshing) {\n ['e-control', 'e-checkbox', 'e-lib'].forEach(function (key) {\n _this.element.classList.add(key);\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', [this], this.element);\n }\n }\n }\n };\n CheckBox.prototype.focusHandler = function () {\n this.isFocused = true;\n };\n CheckBox.prototype.focusOutHandler = function () {\n var wrapper = this.getWrapper();\n if (wrapper) {\n wrapper.classList.remove('e-focus');\n }\n this.isFocused = false;\n };\n /**\n * Gets the module name.\n *\n * @private\n * @returns {string} - Module Name\n */\n CheckBox.prototype.getModuleName = function () {\n return 'checkbox';\n };\n /**\n * Gets the properties to be maintained in the persistence state.\n *\n * @private\n * @returns {string} - Persist Data\n */\n CheckBox.prototype.getPersistData = function () {\n return this.addOnPersist(['checked', 'indeterminate']);\n };\n CheckBox.prototype.getWrapper = function () {\n if (this.element && this.element.parentElement) {\n return this.element.parentElement.parentElement;\n }\n else {\n return null;\n }\n };\n CheckBox.prototype.getLabel = function () {\n if (this.element) {\n return this.element.parentElement;\n }\n else {\n return null;\n }\n };\n CheckBox.prototype.initialize = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.initialCheckedValue)) {\n this.initialCheckedValue = this.checked;\n }\n if (this.name) {\n this.element.setAttribute('name', this.name);\n }\n this.element.setAttribute('tabindex', '0');\n if (this.value) {\n this.element.setAttribute('value', this.value);\n if (this.isVue && typeof this.value === 'boolean' && this.value === true) {\n this.setProperties({ 'checked': true }, true);\n }\n }\n if (this.checked) {\n this.changeState('check', true);\n }\n if (this.indeterminate) {\n this.changeState();\n }\n if (this.disabled) {\n this.setDisabled();\n }\n };\n CheckBox.prototype.initWrapper = function () {\n var wrapper = this.element.parentElement;\n if (!wrapper.classList.contains(WRAPPER)) {\n wrapper = this.createElement('div', {\n className: WRAPPER\n });\n if (this.element.parentNode) {\n this.element.parentNode.insertBefore(wrapper, this.element);\n }\n }\n var label = this.createElement('label', { attrs: { for: this.htmlAttributes.id ? this.htmlAttributes.id : this.element.id } });\n var frameSpan = this.createElement('span', { className: 'e-icons ' + FRAME });\n wrapper.classList.add('e-wrapper');\n if (this.enableRtl) {\n wrapper.classList.add(RTL);\n }\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n wrapper.appendChild(label);\n label.appendChild(this.element);\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.setHiddenInput)(this, label);\n label.appendChild(frameSpan);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled) {\n var rippleSpan = this.createElement('span', { className: RIPPLE });\n if (this.labelPosition === 'Before') {\n label.appendChild(rippleSpan);\n }\n else {\n label.insertBefore(rippleSpan, frameSpan);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(rippleSpan, { duration: 400, isCenterRipple: true });\n }\n if (this.label) {\n this.setText(this.label);\n }\n };\n CheckBox.prototype.keyUpHandler = function () {\n if (this.isFocused) {\n this.getWrapper().classList.add('e-focus');\n }\n };\n CheckBox.prototype.labelMouseDownHandler = function (e) {\n this.isMouseClick = true;\n var rippleSpan = this.getWrapper().getElementsByClassName(RIPPLE)[0];\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n };\n CheckBox.prototype.labelMouseLeaveHandler = function (e) {\n var rippleSpan = this.getLabel().getElementsByClassName(RIPPLE)[0];\n if (rippleSpan) {\n var rippleElem = rippleSpan.querySelectorAll('.e-ripple-element');\n for (var i = rippleElem.length - 1; i > 0; i--) {\n rippleSpan.removeChild(rippleSpan.childNodes[i]);\n }\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n }\n };\n CheckBox.prototype.labelMouseUpHandler = function (e) {\n this.isMouseClick = true;\n var rippleSpan = this.getWrapper().getElementsByClassName(RIPPLE)[0];\n if (rippleSpan) {\n var rippleElem = rippleSpan.querySelectorAll('.e-ripple-element');\n for (var i = 0; i < rippleElem.length - 1; i++) {\n rippleSpan.removeChild(rippleSpan.childNodes[i]);\n }\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n }\n };\n /**\n * Called internally if any of the property value changes.\n *\n * @private\n * @param {CheckBoxModel} newProp - Specifies new Properties\n * @param {CheckBoxModel} oldProp - Specifies old Properties\n *\n * @returns {void}\n */\n CheckBox.prototype.onPropertyChanged = function (newProp, oldProp) {\n var wrapper = this.getWrapper();\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'checked':\n this.indeterminate = false;\n this.element.indeterminate = false;\n this.changeState(newProp.checked ? 'check' : 'uncheck');\n break;\n case 'indeterminate':\n if (newProp.indeterminate) {\n this.changeState();\n }\n else {\n this.element.indeterminate = false;\n this.changeState(this.checked ? 'check' : 'uncheck');\n }\n break;\n case 'disabled':\n if (newProp.disabled) {\n this.setDisabled();\n this.wrapper = this.getWrapper();\n this.unWireEvents();\n }\n else {\n this.element.disabled = false;\n wrapper.classList.remove(DISABLED);\n wrapper.setAttribute('aria-disabled', 'false');\n this.wireEvents();\n }\n break;\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([wrapper], oldProp.cssClass.split(/\\s+/).filter(function (c) { return c.length > 0; }));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n wrapper.classList.add(RTL);\n }\n else {\n wrapper.classList.remove(RTL);\n }\n break;\n case 'label':\n this.setText(newProp.label);\n break;\n case 'labelPosition': {\n var label = wrapper.getElementsByClassName(LABEL)[0];\n var labelWrap = wrapper.getElementsByTagName('label')[0];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(label);\n if (newProp.labelPosition === 'After') {\n labelWrap.appendChild(label);\n }\n else {\n labelWrap.insertBefore(label, wrapper.getElementsByClassName(FRAME)[0]);\n }\n break;\n }\n case 'name':\n this.element.setAttribute('name', newProp.name);\n break;\n case 'value':\n if (this.isVue && typeof newProp.value === 'object') {\n break;\n }\n this.element.setAttribute('value', newProp.value);\n break;\n case 'htmlAttributes':\n this.updateHtmlAttributeToWrapper();\n break;\n }\n }\n };\n /**\n * Initialize Angular, React and Unique ID support.\n *\n * @private\n * @returns {void}\n */\n CheckBox.prototype.preRender = function () {\n var element = this.element;\n this.tagName = this.element.tagName;\n element = (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.wrapperInitialize)(this.createElement, 'EJS-CHECKBOX', 'checkbox', element, WRAPPER, 'checkbox');\n this.element = element;\n if (this.element.getAttribute('type') !== 'checkbox') {\n this.element.setAttribute('type', 'checkbox');\n }\n if (!this.element.id) {\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('e-' + this.getModuleName());\n }\n };\n /**\n * Initialize the control rendering.\n *\n * @private\n * @returns {void}\n */\n CheckBox.prototype.render = function () {\n this.initWrapper();\n this.initialize();\n if (!this.disabled) {\n this.wireEvents();\n }\n this.updateHtmlAttributeToWrapper();\n this.updateVueArrayModel(true);\n this.renderComplete();\n this.wrapper = this.getWrapper();\n };\n CheckBox.prototype.setDisabled = function () {\n var wrapper = this.getWrapper();\n this.element.disabled = true;\n wrapper.classList.add(DISABLED);\n wrapper.setAttribute('aria-disabled', 'true');\n };\n CheckBox.prototype.setText = function (text) {\n var wrapper = this.getWrapper();\n if (!wrapper) {\n return;\n }\n var label = wrapper.getElementsByClassName(LABEL)[0];\n if (label) {\n label.innerHTML = (this.enableHtmlSanitizer) ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(text) : text;\n }\n else {\n text = (this.enableHtmlSanitizer) ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(text) : text;\n label = this.createElement('span', { className: LABEL, innerHTML: text });\n var labelWrap = wrapper.getElementsByTagName('label')[0];\n if (this.labelPosition === 'Before') {\n labelWrap.insertBefore(label, wrapper.getElementsByClassName(FRAME)[0]);\n }\n else {\n labelWrap.appendChild(label);\n }\n }\n };\n CheckBox.prototype.changeHandler = function (e) {\n e.stopPropagation();\n };\n CheckBox.prototype.formResetHandler = function () {\n this.checked = this.initialCheckedValue;\n this.element.checked = this.initialCheckedValue;\n };\n CheckBox.prototype.unWireEvents = function () {\n var wrapper = this.wrapper;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(wrapper, 'click', this.clickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keyup', this.keyUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focus', this.focusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusout', this.focusOutHandler);\n var label = wrapper.getElementsByTagName('label')[0];\n if (label) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(label, 'mousedown', this.labelMouseDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(label, 'mouseup', this.labelMouseUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(label, 'mouseleave', this.labelMouseLeaveHandler);\n }\n var formElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (formElem) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(formElem, 'reset', this.formResetHandler);\n }\n if (this.tagName === 'EJS-CHECKBOX') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'change', this.changeHandler);\n }\n };\n CheckBox.prototype.wireEvents = function () {\n var wrapper = this.getWrapper();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(wrapper, 'click', this.clickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keyup', this.keyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focus', this.focusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusout', this.focusOutHandler, this);\n var label = wrapper.getElementsByTagName('label')[0];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(label, 'mousedown', this.labelMouseDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(label, 'mouseup', this.labelMouseUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(label, 'mouseleave', this.labelMouseLeaveHandler, this);\n var formElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (formElem) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(formElem, 'reset', this.formResetHandler, this);\n }\n if (this.tagName === 'EJS-CHECKBOX') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'change', this.changeHandler, this);\n }\n };\n CheckBox.prototype.updateVueArrayModel = function (init) {\n if (this.isVue && typeof this.value === 'object') {\n var value = this.element.value;\n if (value && this.value) {\n if (init) {\n for (var i = 0; i < this.value.length; i++) {\n if (value === this.value[i]) {\n this.changeState('check');\n this.setProperties({ 'checked': true }, true);\n }\n }\n }\n else {\n var index = this.value.indexOf(value);\n if (this.checked) {\n if (index < 0) {\n this.value.push(value);\n }\n }\n else {\n if (index > -1) {\n this.value.splice(index, 1);\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return this.value;\n }\n }\n }\n return this.validCheck ? this.element.checked : !this.element.checked;\n };\n CheckBox.prototype.updateHtmlAttributeToWrapper = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n var wrapper = this.getWrapper();\n if (containerAttr.indexOf(key) > -1) {\n if (key === 'class') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.htmlAttributes[\"\" + key].split(' '));\n }\n else if (key === 'title') {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else if (key === 'style') {\n var frameSpan = this.getWrapper().getElementsByClassName(FRAME)[0];\n frameSpan.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else if (key === 'disabled') {\n if (this.htmlAttributes[\"\" + key] === 'true') {\n this.setDisabled();\n }\n this.element.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else {\n this.element.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n else {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n };\n /**\n * Click the CheckBox element\n * its native method\n *\n * @public\n * @returns {void}\n */\n CheckBox.prototype.click = function () {\n this.element.click();\n };\n /**\n * Sets the focus to CheckBox\n * its native method\n *\n * @public\n * @returns {void}\n */\n CheckBox.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], CheckBox.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], CheckBox.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], CheckBox.prototype, \"checked\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], CheckBox.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], CheckBox.prototype, \"disabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], CheckBox.prototype, \"indeterminate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], CheckBox.prototype, \"label\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('After')\n ], CheckBox.prototype, \"labelPosition\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], CheckBox.prototype, \"name\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], CheckBox.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], CheckBox.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], CheckBox.prototype, \"htmlAttributes\", void 0);\n CheckBox = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], CheckBox);\n return CheckBox;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-buttons/src/common/common.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-buttons/src/common/common.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BeforeChangeEventArgs: () => (/* binding */ BeforeChangeEventArgs),\n/* harmony export */ createCheckBox: () => (/* binding */ createCheckBox),\n/* harmony export */ destroy: () => (/* binding */ destroy),\n/* harmony export */ getTextNode: () => (/* binding */ getTextNode),\n/* harmony export */ preRender: () => (/* binding */ preRender),\n/* harmony export */ rippleMouseHandler: () => (/* binding */ rippleMouseHandler),\n/* harmony export */ setHiddenInput: () => (/* binding */ setHiddenInput),\n/* harmony export */ wrapperInitialize: () => (/* binding */ wrapperInitialize)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n\n/**\n * Initialize wrapper element for angular.\n *\n * @private\n *\n * @param {CreateElementArgs} createElement - Specifies created element args\n * @param {string} tag - Specifies tag name\n * @param {string} type - Specifies type name\n * @param {HTMLInputElement} element - Specifies input element\n * @param {string} WRAPPER - Specifies wrapper element\n * @param {string} role - Specifies role\n * @returns {HTMLInputElement} - Input Element\n */\nfunction wrapperInitialize(createElement, tag, type, element, WRAPPER, role) {\n var input = element;\n if (element.tagName === tag) {\n var ejInstance = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', element);\n input = createElement('input', { attrs: { 'type': type } });\n var props = ['change', 'cssClass', 'label', 'labelPosition', 'id'];\n for (var index = 0, len = element.attributes.length; index < len; index++) {\n if (props.indexOf(element.attributes[index].nodeName) === -1) {\n input.setAttribute(element.attributes[index].nodeName, element.attributes[index].nodeValue);\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(element, { 'class': WRAPPER });\n element.appendChild(input);\n element.classList.add(role);\n element.classList.remove(role);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', ejInstance, input);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.deleteObject)(element, 'ej2_instances');\n }\n return input;\n}\n/**\n * Get the text node.\n *\n * @param {HTMLElement} element - Specifies html element\n * @private\n * @returns {Node} - Text node.\n */\nfunction getTextNode(element) {\n var node;\n var childnode = element.childNodes;\n for (var i = 0; i < childnode.length; i++) {\n node = childnode[i];\n if (node.nodeType === 3) {\n return node;\n }\n }\n return null;\n}\n/**\n * Destroy the button components.\n *\n * @private\n * @param {Switch | CheckBox} ejInst - Specifies eJ2 Instance\n * @param {Element} wrapper - Specifies wrapper element\n * @param {string} tagName - Specifies tag name\n * @returns {void}\n */\nfunction destroy(ejInst, wrapper, tagName) {\n if (tagName === 'INPUT') {\n wrapper.parentNode.insertBefore(ejInst.element, wrapper);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(wrapper);\n ejInst.element.checked = false;\n ['name', 'value', 'disabled'].forEach(function (key) {\n ejInst.element.removeAttribute(key);\n });\n }\n else {\n ['role', 'aria-checked', 'class'].forEach(function (key) {\n wrapper.removeAttribute(key);\n });\n wrapper.innerHTML = '';\n ejInst.element = wrapper;\n }\n}\n/**\n * Initialize control pre rendering.\n *\n * @private\n * @param {Switch | CheckBox} proxy - Specifies proxy\n * @param {string} control - Specifies control\n * @param {string} wrapper - Specifies wrapper element\n * @param {HTMLInputElement} element - Specifies input element\n * @param {string} moduleName - Specifies module name\n * @returns {void}\n */\nfunction preRender(proxy, control, wrapper, element, moduleName) {\n element = wrapperInitialize(proxy.createElement, control, 'checkbox', element, wrapper, moduleName);\n proxy.element = element;\n if (proxy.element.getAttribute('type') !== 'checkbox') {\n proxy.element.setAttribute('type', 'checkbox');\n }\n if (!proxy.element.id) {\n proxy.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('e-' + moduleName);\n }\n}\n/**\n * Creates CheckBox component UI with theming and ripple support.\n *\n * @private\n * @param {CreateElementArgs} createElement - Specifies Created Element args\n * @param {boolean} enableRipple - Specifies ripple effect\n * @param {CheckBoxUtilModel} options - Specifies Checkbox util Model\n * @returns {Element} - Checkbox Element\n */\nfunction createCheckBox(createElement, enableRipple, options) {\n if (enableRipple === void 0) { enableRipple = false; }\n if (options === void 0) { options = {}; }\n var wrapper = createElement('div', { className: 'e-checkbox-wrapper e-css' });\n if (options.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], options.cssClass.split(' '));\n }\n if (options.enableRtl) {\n wrapper.classList.add('e-rtl');\n }\n if (enableRipple) {\n var rippleSpan = createElement('span', { className: 'e-ripple-container' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(rippleSpan, { isCenterRipple: true, duration: 400 });\n wrapper.appendChild(rippleSpan);\n }\n var frameSpan = createElement('span', { className: 'e-frame e-icons' });\n if (options.checked) {\n frameSpan.classList.add('e-check');\n }\n wrapper.appendChild(frameSpan);\n if (options.label) {\n var labelSpan = createElement('span', { className: 'e-label' });\n if (options.disableHtmlEncode) {\n labelSpan.textContent = options.label;\n }\n else {\n labelSpan.innerHTML = options.label;\n }\n wrapper.appendChild(labelSpan);\n }\n return wrapper;\n}\n/**\n * Handles ripple mouse.\n *\n * @private\n * @param {MouseEvent} e - Specifies mouse event\n * @param {Element} rippleSpan - Specifies Ripple span element\n * @returns {void}\n */\nfunction rippleMouseHandler(e, rippleSpan) {\n if (rippleSpan) {\n var event_1 = document.createEvent('MouseEvents');\n event_1.initEvent(e.type, false, true);\n rippleSpan.dispatchEvent(event_1);\n }\n}\n/**\n * Append hidden input to given element\n *\n * @private\n * @param {Switch | CheckBox} proxy - Specifies Proxy\n * @param {Element} wrap - Specifies Wrapper ELement\n * @returns {void}\n */\nfunction setHiddenInput(proxy, wrap) {\n if (proxy.element.getAttribute('ejs-for')) {\n wrap.appendChild(proxy.createElement('input', {\n attrs: { 'name': proxy.name || proxy.element.name, 'value': 'false', 'type': 'hidden' }\n }));\n }\n}\n/**\n * Represents the event arguments for a \"beforeChange\" event.\n *\n * This object contains details about an action that is about to occur, allowing you to intercept and cancel the action before it's finalized.\n */\nvar BeforeChangeEventArgs = /** @class */ (function () {\n function BeforeChangeEventArgs() {\n }\n return BeforeChangeEventArgs;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-buttons/src/common/common.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RadioButton: () => (/* binding */ RadioButton)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../common/common */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar LABEL = 'e-label';\nvar RIPPLE = 'e-ripple-container';\nvar RTL = 'e-rtl';\nvar WRAPPER = 'e-radio-wrapper';\nvar ATTRIBUTES = ['title', 'class', 'style', 'disabled', 'readonly', 'name', 'value', 'id'];\n/**\n * The RadioButton is a graphical user interface element that allows you to select one option from the choices.\n * It contains checked and unchecked states.\n * ```html\n * \n * \n * ```\n */\nvar RadioButton = /** @class */ (function (_super) {\n __extends(RadioButton, _super);\n /**\n * Constructor for creating the widget\n *\n * @private\n * @param {RadioButtonModel} options - Specifies Radio button model\n * @param {string | HTMLInputElement} element - Specifies target element\n */\n function RadioButton(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isFocused = false;\n _this.type = 'radio';\n return _this;\n }\n RadioButton_1 = RadioButton;\n RadioButton.prototype.changeHandler = function (event) {\n this.checked = true;\n this.dataBind();\n var value = this.element.getAttribute('value');\n value = this.isVue && value ? this.element.value : this.value;\n var type = typeof this.value;\n if (this.isVue && type === 'boolean') {\n value = value === 'true' ? true : false;\n }\n this.trigger('change', { value: value, event: event });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isAngular) {\n event.stopPropagation();\n }\n };\n RadioButton.prototype.updateChange = function () {\n var input;\n var instance;\n var radioGrp = this.getRadioGroup();\n for (var i = 0; i < radioGrp.length; i++) {\n input = radioGrp[i];\n if (input !== this.element) {\n instance = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(input, RadioButton_1);\n instance.checked = false;\n if (this.tagName === 'EJS-RADIOBUTTON') {\n instance.angularValue = this.value;\n }\n }\n }\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n RadioButton.prototype.destroy = function () {\n var _this = this;\n var radioWrap = this.wrapper;\n _super.prototype.destroy.call(this);\n if (radioWrap) {\n if (!this.disabled) {\n this.unWireEvents();\n }\n if (this.tagName === 'INPUT') {\n if (radioWrap.parentNode) {\n radioWrap.parentNode.insertBefore(this.element, radioWrap);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(radioWrap);\n this.element.checked = false;\n ['name', 'value', 'disabled'].forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n }\n else {\n ['role', 'aria-checked', 'class'].forEach(function (key) {\n radioWrap.removeAttribute(key);\n });\n radioWrap.innerHTML = '';\n this.element = this.wrapper;\n if (this.refreshing) {\n ['e-control', 'e-radio', 'e-lib'].forEach(function (key) {\n _this.element.classList.add(key);\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', [this], this.element);\n }\n }\n }\n };\n RadioButton.prototype.focusHandler = function () {\n this.isFocused = true;\n };\n RadioButton.prototype.focusOutHandler = function () {\n var label = this.getLabel();\n if (label) {\n label.classList.remove('e-focus');\n }\n };\n RadioButton.prototype.getModuleName = function () {\n return 'radio';\n };\n /**\n * To get the value of selected radio button in a group.\n *\n * @method getSelectedValue\n * @returns {string} - Selected Value\n */\n RadioButton.prototype.getSelectedValue = function () {\n var input;\n var radioGrp = this.getRadioGroup();\n for (var i = 0, len = radioGrp.length; i < len; i++) {\n input = radioGrp[i];\n if (input.checked) {\n return input.value;\n }\n }\n return '';\n };\n RadioButton.prototype.getRadioGroup = function () {\n return document.querySelectorAll('input.e-radio[name=\"' + this.element.getAttribute('name') + '\"]');\n };\n /**\n * Gets the properties to be maintained in the persistence state.\n *\n * @private\n * @returns {string} - Persist Data\n */\n RadioButton.prototype.getPersistData = function () {\n return this.addOnPersist(['checked']);\n };\n RadioButton.prototype.getWrapper = function () {\n if (this.element.parentElement) {\n return this.element.parentElement;\n }\n else {\n return null;\n }\n };\n RadioButton.prototype.getLabel = function () {\n if (this.element.nextElementSibling) {\n return this.element.nextElementSibling;\n }\n else {\n return null;\n }\n };\n RadioButton.prototype.initialize = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.initialCheckedValue)) {\n this.initialCheckedValue = this.checked;\n }\n this.initWrapper();\n this.updateHtmlAttribute();\n if (this.name) {\n this.element.setAttribute('name', this.name);\n }\n var value = this.element.getAttribute('value');\n var type = typeof this.value;\n if (this.isVue && type === 'boolean') {\n value = value === 'true' ? true : false;\n }\n if (this.isVue ? this.value && type !== 'boolean' && !value : this.value) {\n this.element.setAttribute('value', this.value);\n }\n if (this.checked) {\n this.element.checked = true;\n }\n if (this.disabled) {\n this.setDisabled();\n }\n };\n RadioButton.prototype.initWrapper = function () {\n var rippleSpan;\n var wrapper = this.element.parentElement;\n if (!wrapper.classList.contains(WRAPPER)) {\n wrapper = this.createElement('div', { className: WRAPPER });\n if (this.element.parentNode) {\n this.element.parentNode.insertBefore(wrapper, this.element);\n }\n }\n var label = this.createElement('label', { attrs: { for: this.element.id } });\n wrapper.appendChild(this.element);\n wrapper.appendChild(label);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled) {\n rippleSpan = this.createElement('span', { className: (RIPPLE) });\n label.appendChild(rippleSpan);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(rippleSpan, {\n duration: 400,\n isCenterRipple: true\n });\n }\n wrapper.classList.add('e-wrapper');\n if (this.enableRtl) {\n label.classList.add(RTL);\n }\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n if (this.label) {\n this.setText(this.label);\n }\n };\n RadioButton.prototype.keyUpHandler = function () {\n if (this.isFocused) {\n this.getLabel().classList.add('e-focus');\n }\n };\n RadioButton.prototype.labelMouseDownHandler = function (e) {\n var rippleSpan = this.getLabel().getElementsByClassName(RIPPLE)[0];\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n };\n RadioButton.prototype.labelMouseLeaveHandler = function (e) {\n var rippleSpan = this.getLabel().getElementsByClassName(RIPPLE)[0];\n if (rippleSpan) {\n var rippleElem = rippleSpan.querySelectorAll('.e-ripple-element');\n for (var i = rippleElem.length - 1; i > 0; i--) {\n rippleSpan.removeChild(rippleSpan.childNodes[i]);\n }\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n }\n };\n RadioButton.prototype.labelMouseUpHandler = function (e) {\n var rippleSpan = this.getLabel().getElementsByClassName(RIPPLE)[0];\n if (rippleSpan) {\n var rippleElem = rippleSpan.querySelectorAll('.e-ripple-element');\n for (var i = rippleElem.length - 1; i > 0; i--) {\n rippleSpan.removeChild(rippleSpan.childNodes[i]);\n }\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n }\n };\n RadioButton.prototype.formResetHandler = function () {\n this.checked = this.initialCheckedValue;\n if (this.initialCheckedValue) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'checked': 'true' });\n }\n };\n /**\n * Called internally if any of the property value changes.\n *\n * @private\n * @param {RadioButtonModel} newProp - Specifies New Properties\n * @param {RadioButtonModel} oldProp - Specifies Old Properties\n * @returns {void}\n */\n RadioButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var wrap = this.getWrapper();\n var label = this.getLabel();\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'checked':\n if (newProp.checked) {\n this.updateChange();\n }\n this.element.checked = newProp.checked;\n break;\n case 'disabled':\n if (newProp.disabled) {\n this.setDisabled();\n this.unWireEvents();\n }\n else {\n this.element.disabled = false;\n this.wireEvents();\n }\n break;\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([wrap], oldProp.cssClass.split(/\\s+/).filter(function (c) { return c.length > 0; }));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrap], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n label.classList.add(RTL);\n }\n else {\n label.classList.remove(RTL);\n }\n break;\n case 'label':\n this.setText(newProp.label);\n break;\n case 'labelPosition':\n if (newProp.labelPosition === 'Before') {\n label.classList.add('e-right');\n }\n else {\n label.classList.remove('e-right');\n }\n break;\n case 'name':\n this.element.setAttribute('name', newProp.name);\n break;\n case 'value':\n // eslint-disable-next-line no-case-declarations\n var type = typeof this.htmlAttributes.value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) && (this.htmlAttributes.value || type === 'boolean' && !this.htmlAttributes.value)) {\n break;\n }\n this.element.setAttribute('value', newProp.value);\n break;\n case 'htmlAttributes':\n this.updateHtmlAttribute();\n break;\n }\n }\n };\n /**\n * Initialize checked Property, Angular and React and Unique ID support.\n *\n * @private\n * @returns {void}\n */\n RadioButton.prototype.preRender = function () {\n var element = this.element;\n this.formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n this.tagName = this.element.tagName;\n element = (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.wrapperInitialize)(this.createElement, 'EJS-RADIOBUTTON', 'radio', element, WRAPPER, 'radio');\n this.element = element;\n if (this.element.getAttribute('type') !== 'radio') {\n this.element.setAttribute('type', 'radio');\n }\n if (!this.element.id) {\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('e-' + this.getModuleName());\n }\n if (this.tagName === 'EJS-RADIOBUTTON') {\n var formControlName = this.element.getAttribute('formcontrolname');\n if (formControlName) {\n this.setProperties({ 'name': formControlName }, true);\n this.element.setAttribute('name', formControlName);\n }\n }\n };\n /**\n * Initialize the control rendering\n *\n * @private\n * @returns {void}\n */\n RadioButton.prototype.render = function () {\n this.initialize();\n if (!this.disabled) {\n this.wireEvents();\n }\n this.renderComplete();\n this.wrapper = this.getWrapper();\n };\n RadioButton.prototype.setDisabled = function () {\n this.element.disabled = true;\n };\n RadioButton.prototype.setText = function (text) {\n var label = this.getLabel();\n var textLabel = label.getElementsByClassName(LABEL)[0];\n if (textLabel) {\n textLabel.textContent = text;\n }\n else {\n text = (this.enableHtmlSanitizer) ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(text) : text;\n textLabel = this.createElement('span', { className: LABEL, innerHTML: text });\n label.appendChild(textLabel);\n }\n if (this.labelPosition === 'Before') {\n this.getLabel().classList.add('e-right');\n }\n else {\n this.getLabel().classList.remove('e-right');\n }\n };\n RadioButton.prototype.updateHtmlAttribute = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n var wrapper = this.element.parentElement;\n if (ATTRIBUTES.indexOf(key) > -1) {\n if (key === 'class') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.htmlAttributes[\"\" + key].replace(/\\s+/g, ' ').trim().split(' '));\n }\n else if (key === 'title' || key === 'style') {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else {\n this.element.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n else {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n };\n RadioButton.prototype.unWireEvents = function () {\n var label = this.wrapper;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'change', this.changeHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focus', this.focusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusout', this.focusOutHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keyup', this.keyUpHandler);\n var rippleLabel = label.getElementsByTagName('label')[0];\n if (rippleLabel) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(rippleLabel, 'mousedown', this.labelMouseDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(rippleLabel, 'mouseup', this.labelMouseUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(rippleLabel, 'mouseleave', this.labelMouseLeaveHandler);\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.formResetHandler);\n }\n };\n RadioButton.prototype.wireEvents = function () {\n var label = this.getLabel();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'change', this.changeHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keyup', this.keyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focus', this.focusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusout', this.focusOutHandler, this);\n var rippleLabel = label.getElementsByClassName(LABEL)[0];\n if (rippleLabel) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(rippleLabel, 'mousedown', this.labelMouseDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(rippleLabel, 'mouseup', this.labelMouseUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(rippleLabel, 'mouseleave', this.labelMouseLeaveHandler, this);\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formElement, 'reset', this.formResetHandler, this);\n }\n };\n /**\n * Click the RadioButton element\n * its native method\n *\n * @public\n * @returns {void}\n */\n RadioButton.prototype.click = function () {\n this.element.click();\n };\n /**\n * Sets the focus to RadioButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n RadioButton.prototype.focusIn = function () {\n this.element.focus();\n };\n var RadioButton_1;\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], RadioButton.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], RadioButton.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], RadioButton.prototype, \"checked\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], RadioButton.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], RadioButton.prototype, \"disabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], RadioButton.prototype, \"label\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('After')\n ], RadioButton.prototype, \"labelPosition\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], RadioButton.prototype, \"name\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], RadioButton.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], RadioButton.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], RadioButton.prototype, \"htmlAttributes\", void 0);\n RadioButton = RadioButton_1 = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], RadioButton);\n return RadioButton;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-buttons/src/switch/switch.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-buttons/src/switch/switch.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../common/common */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar DISABLED = 'e-switch-disabled';\nvar RIPPLE = 'e-ripple-container';\nvar RIPPLE_CHECK = 'e-ripple-check';\nvar RTL = 'e-rtl';\nvar WRAPPER = 'e-switch-wrapper';\nvar ACTIVE = 'e-switch-active';\nvar ATTRIBUTES = ['title', 'class', 'style', 'disabled', 'readonly', 'name', 'value', 'aria-label', 'id', 'role', 'tabindex'];\n/**\n * The Switch is a graphical user interface element that allows you to toggle between checked and unchecked states.\n * ```html\n * \n * \n * ```\n */\nvar Switch = /** @class */ (function (_super) {\n __extends(Switch, _super);\n /**\n * Constructor for creating the widget.\n *\n * @private\n *\n * @param {SwitchModel} options switch model\n * @param {string | HTMLInputElement} element target element\n *\n */\n function Switch(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isFocused = false;\n _this.isDrag = false;\n _this.isWireEvents = false;\n return _this;\n }\n Switch.prototype.changeState = function (state) {\n var rippleSpan = null;\n var wrapper = this.getWrapper();\n var bar = wrapper.querySelector('.e-switch-inner');\n var handle = wrapper.querySelector('.e-switch-handle');\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled) {\n rippleSpan = wrapper.getElementsByClassName(RIPPLE)[0];\n }\n if (state) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([bar, handle], ACTIVE);\n this.element.checked = true;\n this.checked = true;\n if (rippleSpan) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([rippleSpan], [RIPPLE_CHECK]);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([bar, handle], ACTIVE);\n this.element.checked = false;\n this.checked = false;\n if (rippleSpan) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([rippleSpan], [RIPPLE_CHECK]);\n }\n }\n };\n Switch.prototype.clickHandler = function (evt) {\n this.isDrag = false;\n this.focusOutHandler();\n var beforeChangeEventArgs = { event: evt, cancel: false, checked: this.checked };\n this.trigger('beforeChange', beforeChangeEventArgs);\n if (!beforeChangeEventArgs.cancel) {\n this.changeState(!beforeChangeEventArgs.checked);\n this.element.focus();\n var changeEventArgs = { checked: this.element.checked, event: evt };\n this.trigger('change', changeEventArgs);\n }\n };\n /**\n * Destroys the Switch widget.\n *\n * @returns {void}\n */\n Switch.prototype.destroy = function () {\n var _this = this;\n _super.prototype.destroy.call(this);\n if (!this.disabled) {\n this.unWireEvents();\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.formResetHandler);\n }\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.destroy)(this, this.getWrapper(), this.tagName);\n if (this.refreshing) {\n ['e-control', 'e-switch', 'e-lib'].forEach(function (key) {\n _this.element.classList.add(key);\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', [this], this.element);\n }\n };\n Switch.prototype.focusHandler = function () {\n this.isFocused = true;\n };\n Switch.prototype.focusOutHandler = function () {\n this.getWrapper().classList.remove('e-focus');\n };\n /**\n * Gets the module name.\n *\n * @private\n * @returns {string} - Module Name\n */\n Switch.prototype.getModuleName = function () {\n return 'switch';\n };\n /**\n * Gets the properties to be maintained in the persistence state.\n *\n * @private\n * @returns {string} - Persist data\n */\n Switch.prototype.getPersistData = function () {\n return this.addOnPersist(['checked']);\n };\n Switch.prototype.getWrapper = function () {\n if (this.element.parentElement) {\n return this.element.parentElement;\n }\n else {\n return null;\n }\n };\n Switch.prototype.initialize = function () {\n this.element.setAttribute('role', 'switch');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.initialSwitchCheckedValue)) {\n this.initialSwitchCheckedValue = this.checked;\n }\n if (this.name) {\n this.element.setAttribute('name', this.name);\n }\n if (this.value) {\n this.element.setAttribute('value', this.value);\n }\n if (this.checked) {\n this.changeState(true);\n }\n if (this.disabled) {\n this.setDisabled();\n }\n if (this.onLabel || this.offLabel) {\n this.setLabel(this.onLabel, this.offLabel);\n }\n };\n Switch.prototype.initWrapper = function () {\n var wrapper = this.element.parentElement;\n if (!wrapper.classList.contains(WRAPPER)) {\n wrapper = this.createElement('div', {\n className: WRAPPER\n });\n this.element.parentNode.insertBefore(wrapper, this.element);\n }\n var switchInner = this.createElement('span', { className: 'e-switch-inner' });\n var onLabel = this.createElement('span', { className: 'e-switch-on' });\n var offLabel = this.createElement('span', { className: 'e-switch-off' });\n var handle = this.createElement('span', { className: 'e-switch-handle' });\n wrapper.appendChild(this.element);\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.setHiddenInput)(this, wrapper);\n switchInner.appendChild(onLabel);\n switchInner.appendChild(offLabel);\n wrapper.appendChild(switchInner);\n wrapper.appendChild(handle);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isRippleEnabled) {\n var rippleSpan = this.createElement('span', { className: RIPPLE });\n handle.appendChild(rippleSpan);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(rippleSpan, { duration: 400, isCenterRipple: true });\n }\n wrapper.classList.add('e-wrapper');\n if (this.enableRtl) {\n wrapper.classList.add(RTL);\n }\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n };\n /**\n * Called internally if any of the property value changes.\n *\n * @private\n * @param {SwitchModel} newProp - Specifies New Properties\n * @param {SwitchModel} oldProp - Specifies Old Properties\n * @returns {void}\n */\n Switch.prototype.onPropertyChanged = function (newProp, oldProp) {\n var wrapper = this.getWrapper();\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'checked':\n this.changeState(newProp.checked);\n break;\n case 'disabled':\n if (newProp.disabled) {\n this.setDisabled();\n this.unWireEvents();\n this.isWireEvents = false;\n }\n else {\n this.element.disabled = false;\n wrapper.classList.remove(DISABLED);\n wrapper.setAttribute('aria-disabled', 'false');\n if (!this.isWireEvents) {\n this.wireEvents();\n this.isWireEvents = true;\n }\n }\n break;\n case 'value':\n this.element.setAttribute('value', newProp.value);\n break;\n case 'name':\n this.element.setAttribute('name', newProp.name);\n break;\n case 'onLabel':\n case 'offLabel':\n this.setLabel(newProp.onLabel, newProp.offLabel);\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n wrapper.classList.add(RTL);\n }\n else {\n wrapper.classList.remove(RTL);\n }\n break;\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([wrapper], oldProp.cssClass.split(/\\s+/).filter(function (c) { return c.length > 0; }));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n break;\n case 'htmlAttributes':\n this.updateHtmlAttribute();\n break;\n }\n }\n };\n /**\n * Initialize Angular, React and Unique ID support.\n *\n * @private\n * @returns {void}\n */\n Switch.prototype.preRender = function () {\n var element = this.element;\n this.formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n this.tagName = this.element.tagName;\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.preRender)(this, 'EJS-SWITCH', WRAPPER, element, this.getModuleName());\n };\n /**\n * Initialize control rendering.\n *\n * @private\n * @returns {void}\n */\n Switch.prototype.render = function () {\n this.initWrapper();\n this.initialize();\n if (!this.disabled) {\n this.wireEvents();\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formElement, 'reset', this.formResetHandler, this);\n }\n this.renderComplete();\n this.updateHtmlAttribute();\n };\n Switch.prototype.rippleHandler = function (e) {\n var rippleSpan = this.getWrapper().getElementsByClassName(RIPPLE)[0];\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n if (e.type === 'mousedown' && e.currentTarget.classList.contains('e-switch-wrapper') && e.which === 1) {\n this.isDrag = true;\n this.isFocused = false;\n }\n };\n Switch.prototype.mouseLeaveHandler = function (e) {\n var rippleSpan = this.element.parentElement.getElementsByClassName(RIPPLE)[0];\n if (rippleSpan) {\n var rippleElem = rippleSpan.querySelectorAll('.e-ripple-element');\n for (var i = rippleElem.length - 1; i > 0; i--) {\n rippleSpan.removeChild(rippleSpan.childNodes[i]);\n }\n (0,_common_common__WEBPACK_IMPORTED_MODULE_1__.rippleMouseHandler)(e, rippleSpan);\n }\n };\n Switch.prototype.rippleTouchHandler = function (eventType) {\n var rippleSpan = this.getWrapper().getElementsByClassName(RIPPLE)[0];\n if (rippleSpan) {\n var event_1 = document.createEvent('MouseEvents');\n event_1.initEvent(eventType, false, true);\n rippleSpan.dispatchEvent(event_1);\n }\n };\n Switch.prototype.setDisabled = function () {\n var wrapper = this.getWrapper();\n this.element.disabled = true;\n wrapper.classList.add(DISABLED);\n wrapper.setAttribute('aria-disabled', 'true');\n };\n Switch.prototype.setLabel = function (onText, offText) {\n var wrapper = this.getWrapper();\n if (onText) {\n wrapper.querySelector('.e-switch-on').textContent = onText;\n }\n if (offText) {\n wrapper.querySelector('.e-switch-off').textContent = offText;\n }\n };\n Switch.prototype.updateHtmlAttribute = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n var wrapper = this.getWrapper();\n if (ATTRIBUTES.indexOf(key) > -1) {\n if (key === 'class') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.htmlAttributes[\"\" + key].split(' '));\n }\n else if (key === 'title') {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else if (key === 'style') {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else if (key === 'disabled') {\n if (this.htmlAttributes[\"\" + key] === 'true') {\n this.setDisabled();\n }\n this.element.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n else {\n this.element.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n else {\n wrapper.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n };\n Switch.prototype.switchFocusHandler = function (e) {\n if (this.isFocused) {\n this.getWrapper().classList.add('e-focus');\n }\n if (e && e.type === 'keyup' && e.code === 'Space' && this.isAngular) {\n this.clickHandler(e);\n e.stopPropagation();\n e.preventDefault();\n }\n };\n Switch.prototype.switchMouseUp = function (e) {\n var aTouchY = 0;\n var yDiff = 0;\n var aTouchX = 0;\n var xDiff = 0;\n var target = e.target;\n if (e.type === 'touchmove') {\n e.preventDefault();\n aTouchX = e.changedTouches[0].clientX;\n aTouchY = e.changedTouches[0].clientY;\n xDiff = this.bTouchX - aTouchX;\n yDiff = this.bTouchY - aTouchY;\n if (Math.abs(xDiff) < Math.abs(yDiff)) {\n this.isDrag = false;\n this.rippleTouchHandler('mouseup');\n }\n else {\n this.isDrag = true;\n }\n }\n if (e.type === 'touchstart') {\n this.bTouchX = e.changedTouches[0].clientX;\n this.bTouchY = e.changedTouches[0].clientY;\n this.isDrag = true;\n this.rippleTouchHandler('mousedown');\n }\n if (this.isDrag) {\n if ((e.type === 'mouseup' && target.className.indexOf('e-switch') < 0) || e.type === 'touchend') {\n xDiff = this.bTouchX - e.changedTouches[0].clientX;\n yDiff = this.bTouchY - e.changedTouches[0].clientY;\n if (Math.abs(xDiff) >= Math.abs(yDiff)) {\n this.clickHandler(e);\n this.rippleTouchHandler('mouseup');\n e.preventDefault();\n }\n }\n }\n };\n Switch.prototype.formResetHandler = function () {\n this.checked = this.initialSwitchCheckedValue;\n this.element.checked = this.initialSwitchCheckedValue;\n };\n /**\n * Toggle the Switch component state into checked/unchecked.\n *\n * @returns {void}\n */\n Switch.prototype.toggle = function () {\n this.clickHandler();\n };\n Switch.prototype.wireEvents = function () {\n var wrapper = this.getWrapper();\n this.delegateMouseUpHandler = this.switchMouseUp.bind(this);\n this.delegateKeyUpHandler = this.switchFocusHandler.bind(this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(wrapper, 'click', this.clickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focus', this.focusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusout', this.focusOutHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mouseup', this.delegateMouseUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keyup', this.delegateKeyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(wrapper, 'mousedown mouseup', this.rippleHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(wrapper, 'mouseleave', this.mouseLeaveHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(wrapper, 'touchstart touchmove touchend', this.switchMouseUp, this);\n };\n Switch.prototype.unWireEvents = function () {\n var wrapper = this.getWrapper();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(wrapper, 'click', this.clickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focus', this.focusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusout', this.focusOutHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseup', this.delegateMouseUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keyup', this.delegateKeyUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(wrapper, 'mousedown mouseup', this.rippleHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(wrapper, 'mouseleave', this.mouseLeaveHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(wrapper, 'touchstart touchmove touchend', this.switchMouseUp);\n };\n /**\n * Click the switch element\n * its native method\n *\n * @public\n * @returns {void}\n */\n Switch.prototype.click = function () {\n this.element.click();\n };\n /**\n * Sets the focus to Switch\n * its native method\n *\n * @public\n */\n Switch.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Switch.prototype, \"beforeChange\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Switch.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Switch.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Switch.prototype, \"checked\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Switch.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Switch.prototype, \"disabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Switch.prototype, \"name\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Switch.prototype, \"onLabel\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Switch.prototype, \"offLabel\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Switch.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], Switch.prototype, \"htmlAttributes\", void 0);\n Switch = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Switch);\n return Switch;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-buttons/src/switch/switch.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-calendars/src/calendar/calendar.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-calendars/src/calendar/calendar.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Calendar: () => (/* binding */ Calendar),\n/* harmony export */ CalendarBase: () => (/* binding */ CalendarBase)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-unused-expressions */\n\n\n\n\n\n\n\n//class constant defination.\nvar OTHERMONTH = 'e-other-month';\nvar OTHERDECADE = 'e-other-year';\nvar ROOT = 'e-calendar';\nvar DEVICE = 'e-device';\nvar HEADER = 'e-header';\nvar RTL = 'e-rtl';\nvar CONTENT = 'e-content';\nvar CONTENTTABLE = 'e-calendar-content-table';\nvar YEAR = 'e-year';\nvar MONTH = 'e-month';\nvar DECADE = 'e-decade';\nvar ICON = 'e-icons';\nvar PREVICON = 'e-prev';\nvar NEXTICON = 'e-next';\nvar PREVSPAN = 'e-date-icon-prev';\nvar NEXTSPAN = 'e-date-icon-next ';\nvar ICONCONTAINER = 'e-icon-container';\nvar DISABLED = 'e-disabled';\nvar OVERLAY = 'e-overlay';\nvar WEEKEND = 'e-weekend';\nvar WEEKNUMBER = 'e-week-number';\nvar SELECTED = 'e-selected';\nvar FOCUSEDDATE = 'e-focused-date';\nvar FOCUSEDCELL = 'e-focused-cell';\nvar OTHERMONTHROW = 'e-month-hide';\nvar TODAY = 'e-today';\nvar TITLE = 'e-title';\nvar LINK = 'e-day';\nvar CELL = 'e-cell';\nvar WEEKHEADER = 'e-week-header';\nvar ZOOMIN = 'e-zoomin';\nvar FOOTER = 'e-footer-container';\nvar BTN = 'e-btn';\nvar FLAT = 'e-flat';\nvar CSS = 'e-css';\nvar PRIMARY = 'e-primary';\nvar DAYHEADERLONG = 'e-calendar-day-header-lg';\nvar dayMilliSeconds = 86400000;\nvar minutesMilliSeconds = 60000;\n/**\n *\n * @private\n */\nvar CalendarBase = /** @class */ (function (_super) {\n __extends(CalendarBase, _super);\n /**\n * Initialized new instance of Calendar Class.\n * Constructor for creating the widget\n *\n * @param {CalendarBaseModel} options - Specifies the CalendarBase model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function CalendarBase(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.effect = '';\n _this.isPopupClicked = false;\n _this.isDateSelected = true;\n _this.isTodayClicked = false;\n _this.preventChange = false;\n _this.previousDates = false;\n return _this;\n }\n /**\n * To Initialize the control rendering.\n *\n * @returns {void}\n * @private\n */\n CalendarBase.prototype.render = function () {\n this.rangeValidation(this.min, this.max);\n this.calendarEleCopy = this.element.cloneNode(true);\n if (this.calendarMode === 'Islamic') {\n if (+(this.min.setSeconds(0)) === +new Date(1900, 0, 1, 0, 0, 0)) {\n this.min = new Date(1944, 2, 18);\n }\n if (+this.max === +new Date(2099, 11, 31)) {\n this.max = new Date(2069, 10, 16);\n }\n }\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.firstDayOfWeek) || this.firstDayOfWeek > 6 || this.firstDayOfWeek < 0) {\n this.setProperties({ firstDayOfWeek: this.globalize.getFirstDayOfWeek() }, true);\n }\n this.todayDisabled = false;\n this.todayDate = new Date(new Date().setHours(0, 0, 0, 0));\n if (this.getModuleName() === 'calendar') {\n this.element.classList.add(ROOT);\n if (this.enableRtl) {\n this.element.classList.add(RTL);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.element.classList.add(DEVICE);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, {\n 'data-role': 'calendar'\n });\n this.tabIndex = this.element.hasAttribute('tabindex') ? this.element.getAttribute('tabindex') : '0';\n this.element.setAttribute('tabindex', this.tabIndex);\n }\n else {\n this.calendarElement = this.createElement('div');\n this.calendarElement.classList.add(ROOT);\n if (this.enableRtl) {\n this.calendarElement.classList.add(RTL);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.calendarElement.classList.add(DEVICE);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.calendarElement, {\n 'data-role': 'calendar'\n });\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n this.createHeader();\n this.createContent();\n this.wireEvents();\n };\n CalendarBase.prototype.rangeValidation = function (min, max) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(min)) {\n this.setProperties({ min: new Date(1900, 0, 1) }, true);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(max)) {\n this.setProperties({ max: new Date(2099, 11, 31) }, true);\n }\n };\n CalendarBase.prototype.getDefaultKeyConfig = function () {\n this.defaultKeyConfigs = {\n controlUp: 'ctrl+38',\n controlDown: 'ctrl+40',\n moveDown: 'downarrow',\n moveUp: 'uparrow',\n moveLeft: 'leftarrow',\n moveRight: 'rightarrow',\n select: 'enter',\n home: 'home',\n end: 'end',\n pageUp: 'pageup',\n pageDown: 'pagedown',\n shiftPageUp: 'shift+pageup',\n shiftPageDown: 'shift+pagedown',\n controlHome: 'ctrl+home',\n controlEnd: 'ctrl+end',\n altUpArrow: 'alt+uparrow',\n spacebar: 'space',\n altRightArrow: 'alt+rightarrow',\n altLeftArrow: 'alt+leftarrow'\n };\n return this.defaultKeyConfigs;\n };\n CalendarBase.prototype.validateDate = function (value) {\n this.setProperties({ min: this.checkDateValue(new Date(this.checkValue(this.min))) }, true);\n this.setProperties({ max: this.checkDateValue(new Date(this.checkValue(this.max))) }, true);\n this.currentDate = this.currentDate ? this.currentDate : new Date(new Date().setHours(0, 0, 0, 0));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && this.min <= this.max && value >= this.min && value <= this.max) {\n this.currentDate = new Date(this.checkValue(value));\n }\n };\n CalendarBase.prototype.setOverlayIndex = function (popupWrapper, popupElement, modal, isDevice) {\n if (isDevice && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(popupElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(modal) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(popupWrapper)) {\n var index = parseInt(popupElement.style.zIndex, 10) ? parseInt(popupElement.style.zIndex, 10) : 1000;\n modal.style.zIndex = (index - 1).toString();\n popupWrapper.style.zIndex = index.toString();\n }\n };\n CalendarBase.prototype.minMaxUpdate = function (value) {\n if (!(+this.min <= +this.max)) {\n this.setProperties({ min: this.min }, true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], OVERLAY);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], OVERLAY);\n }\n this.min = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.min) || !(+this.min) ? this.min = new Date(1900, 0, 1) : this.min;\n this.max = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.max) || !(+this.max) ? this.max = new Date(2099, 11, 31) : this.max;\n if (+this.min <= +this.max && value && +value <= +this.max && +value >= +this.min) {\n this.currentDate = new Date(this.checkValue(value));\n }\n else {\n if (+this.min <= +this.max && !value && +this.currentDate > +this.max) {\n this.currentDate = new Date(this.checkValue(this.max));\n }\n else {\n if (+this.currentDate < +this.min) {\n this.currentDate = new Date(this.checkValue(this.min));\n }\n }\n }\n };\n CalendarBase.prototype.createHeader = function () {\n var ariaPrevAttrs = {\n 'aria-disabled': 'false',\n 'aria-label': 'previous month'\n };\n var ariaNextAttrs = {\n 'aria-disabled': 'false',\n 'aria-label': 'next month'\n };\n var ariaTitleAttrs = {\n 'aria-atomic': 'true', 'aria-live': 'assertive', 'aria-label': 'title'\n };\n var tabIndexAttr = { 'tabindex': '0' };\n this.headerElement = this.createElement('div', { className: HEADER });\n var iconContainer = this.createElement('div', { className: ICONCONTAINER });\n this.previousIcon = this.createElement('button', { className: '' + PREVICON, attrs: { type: 'button' } });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.previousIcon, {\n duration: 400,\n selector: '.e-prev',\n isCenterRipple: true\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.previousIcon, ariaPrevAttrs);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.previousIcon, tabIndexAttr);\n this.nextIcon = this.createElement('button', { className: '' + NEXTICON, attrs: { type: 'button' } });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.nextIcon, {\n selector: '.e-next',\n duration: 400,\n isCenterRipple: true\n });\n if (this.getModuleName() === 'daterangepicker') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.previousIcon, { tabIndex: '-1' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.nextIcon, { tabIndex: '-1' });\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.nextIcon, ariaNextAttrs);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.nextIcon, tabIndexAttr);\n this.headerTitleElement = this.createElement('div', { className: '' + LINK + ' ' + TITLE });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.headerTitleElement, ariaTitleAttrs);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.headerTitleElement, tabIndexAttr);\n this.headerElement.appendChild(this.headerTitleElement);\n this.previousIcon.appendChild(this.createElement('span', { className: '' + PREVSPAN + ' ' + ICON }));\n this.nextIcon.appendChild(this.createElement('span', { className: '' + NEXTSPAN + ' ' + ICON }));\n iconContainer.appendChild(this.previousIcon);\n iconContainer.appendChild(this.nextIcon);\n this.headerElement.appendChild(iconContainer);\n if (this.getModuleName() === 'calendar') {\n this.element.appendChild(this.headerElement);\n }\n else {\n this.calendarElement.appendChild(this.headerElement);\n }\n this.adjustLongHeaderSize();\n };\n CalendarBase.prototype.createContent = function () {\n this.contentElement = this.createElement('div', { className: CONTENT });\n this.table = this.createElement('table', { attrs: { 'class': CONTENTTABLE, 'tabIndex': '0', 'role': 'grid', 'aria-activedescendant': '', 'aria-labelledby': this.element.id } });\n if (this.getModuleName() === 'calendar') {\n this.element.appendChild(this.contentElement);\n }\n else {\n this.calendarElement.appendChild(this.contentElement);\n }\n this.contentElement.appendChild(this.table);\n this.createContentHeader();\n this.createContentBody();\n if (this.showTodayButton) {\n this.createContentFooter();\n }\n if (this.getModuleName() !== 'daterangepicker') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.table, 'focus', this.addContentFocus, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.table, 'blur', this.removeContentFocus, this);\n }\n };\n CalendarBase.prototype.addContentFocus = function (args) {\n var focusedDate = this.tableBodyElement.querySelector('tr td.e-focused-date');\n var selectedDate = this.tableBodyElement.querySelector('tr td.e-selected');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedDate)) {\n selectedDate.classList.add(FOCUSEDCELL);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedDate)) {\n focusedDate.classList.add(FOCUSEDCELL);\n }\n };\n CalendarBase.prototype.removeContentFocus = function (args) {\n var focusedDate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tableBodyElement) ? this.tableBodyElement.querySelector('tr td.e-focused-date') : null;\n var selectedDate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tableBodyElement) ? this.tableBodyElement.querySelector('tr td.e-selected') : null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedDate)) {\n selectedDate.classList.remove(FOCUSEDCELL);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedDate)) {\n focusedDate.classList.remove(FOCUSEDCELL);\n }\n };\n CalendarBase.prototype.getCultureValues = function () {\n var culShortNames = [];\n var cldrObj;\n var dayFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dayHeaderFormat) ? 'days.stand-alone.' + this.dayHeaderFormat.toLowerCase() : null;\n if ((this.locale === 'en' || this.locale === 'en-US') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dayFormat)) {\n cldrObj = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(dayFormat, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrObj = (this.getCultureObjects(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData, '' + this.locale));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cldrObj)) {\n for (var _i = 0, _a = Object.keys(cldrObj); _i < _a.length; _i++) {\n var obj = _a[_i];\n culShortNames.push((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(obj, cldrObj));\n }\n }\n return culShortNames;\n };\n CalendarBase.prototype.toCapitalize = function (text) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(text) && text.length ? text[0].toUpperCase() + text.slice(1) : text;\n };\n CalendarBase.prototype.createContentHeader = function () {\n if (this.getModuleName() === 'calendar') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelectorAll('.e-content .e-week-header')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.element.querySelectorAll('.e-content .e-week-header')[0]);\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.calendarElement.querySelectorAll('.e-content .e-week-header')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.calendarElement.querySelectorAll('.e-content .e-week-header')[0]);\n }\n }\n var daysCount = 6;\n var html = '';\n if (this.firstDayOfWeek > 6 || this.firstDayOfWeek < 0) {\n this.setProperties({ firstDayOfWeek: 0 }, true);\n }\n this.tableHeadElement = this.createElement('thead', { className: WEEKHEADER });\n if (this.weekNumber) {\n html += '';\n if (this.getModuleName() === 'calendar') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], '' + WEEKNUMBER);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.calendarElement], '' + WEEKNUMBER);\n }\n }\n var shortNames = this.getCultureValues().length > 0 &&\n this.getCultureValues() ? this.shiftArray(((this.getCultureValues().length > 0 &&\n this.getCultureValues())), this.firstDayOfWeek) : null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(shortNames)) {\n for (var days = 0; days <= daysCount; days++) {\n html += '' + this.toCapitalize(shortNames[days]) + '';\n }\n }\n html = '' + html + '';\n this.tableHeadElement.innerHTML = html;\n this.table.appendChild(this.tableHeadElement);\n };\n CalendarBase.prototype.createContentBody = function () {\n if (this.getModuleName() === 'calendar') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelectorAll('.e-content tbody')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.element.querySelectorAll('.e-content tbody')[0]);\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.calendarElement.querySelectorAll('.e-content tbody')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.calendarElement.querySelectorAll('.e-content tbody')[0]);\n }\n }\n switch (this.start) {\n case 'Year':\n this.renderYears();\n break;\n case 'Decade':\n this.renderDecades();\n break;\n default:\n this.renderMonths();\n }\n };\n CalendarBase.prototype.updateFooter = function () {\n this.todayElement.textContent = this.l10.getConstant('today');\n this.todayElement.setAttribute('aria-label', this.l10.getConstant('today'));\n this.todayElement.setAttribute('tabindex', '0');\n };\n CalendarBase.prototype.createContentFooter = function () {\n if (this.showTodayButton) {\n var minimum = new Date(+this.min);\n var maximum = new Date(+this.max);\n var l10nLocale = { today: 'Today' };\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.l10 = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getModuleName(), l10nLocale, this.locale);\n this.todayElement = this.createElement('button', { attrs: { role: 'button' } });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.todayElement);\n this.updateFooter();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.todayElement], [BTN, TODAY, FLAT, PRIMARY, CSS]);\n if ((!(+new Date(minimum.setHours(0, 0, 0, 0)) <= +this.todayDate &&\n +this.todayDate <= +new Date(maximum.setHours(0, 0, 0, 0)))) || (this.todayDisabled)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.todayElement], DISABLED);\n }\n this.footer = this.createElement('div', { className: FOOTER });\n this.footer.appendChild(this.todayElement);\n if (this.getModuleName() === 'calendar') {\n this.element.appendChild(this.footer);\n }\n if (this.getModuleName() === 'datepicker') {\n this.calendarElement.appendChild(this.footer);\n }\n if (this.getModuleName() === 'datetimepicker') {\n this.calendarElement.appendChild(this.footer);\n }\n if (!this.todayElement.classList.contains(DISABLED)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.todayElement, 'click', this.todayButtonClick, this);\n }\n }\n };\n CalendarBase.prototype.wireEvents = function (id, ref, keyConfig, moduleName) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.headerTitleElement, 'click', this.navigateTitle, this);\n this.defaultKeyConfigs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.defaultKeyConfigs, this.keyConfigs);\n if (this.getModuleName() === 'calendar') {\n this.keyboardModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.element, {\n eventName: 'keydown',\n keyAction: this.keyActionHandle.bind(this),\n keyConfigs: this.defaultKeyConfigs\n });\n }\n else {\n this.keyboardModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.calendarElement, {\n eventName: 'keydown',\n keyAction: this.keyActionHandle.bind(this),\n keyConfigs: this.defaultKeyConfigs\n });\n }\n };\n CalendarBase.prototype.dateWireEvents = function (id, ref, keyConfig, moduleName) {\n this.defaultKeyConfigs = this.getDefaultKeyConfig();\n this.defaultKeyConfigs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.defaultKeyConfigs, keyConfig);\n this.serverModuleName = moduleName;\n };\n CalendarBase.prototype.todayButtonClick = function (e, value, isCustomDate) {\n if (this.showTodayButton) {\n if (this.currentView() === this.depth) {\n this.effect = '';\n }\n else {\n this.effect = 'e-zoomin';\n }\n if (this.getViewNumber(this.start) >= this.getViewNumber(this.depth)) {\n this.navigateTo(this.depth, new Date(this.checkValue(value)), isCustomDate);\n }\n else {\n this.navigateTo('Month', new Date(this.checkValue(value)), isCustomDate);\n }\n }\n };\n CalendarBase.prototype.resetCalendar = function () {\n this.calendarElement && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.calendarElement);\n this.tableBodyElement && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.table && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.table);\n this.tableHeadElement && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableHeadElement);\n this.nextIcon && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.nextIcon);\n this.previousIcon && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.previousIcon);\n this.footer && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.footer);\n this.todayElement = null;\n this.renderDayCellArgs = null;\n this.calendarElement = this.tableBodyElement = this.footer = this.tableHeadElement =\n this.nextIcon = this.previousIcon = this.table = null;\n };\n CalendarBase.prototype.keyActionHandle = function (e, value, multiSelection) {\n if (this.calendarElement === null && e.action === 'escape') {\n return;\n }\n var focusedDate = this.tableBodyElement.querySelector('tr td.e-focused-date');\n var selectedDate;\n if (multiSelection) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedDate) && +value === parseInt(focusedDate.getAttribute('id').split('_')[0], 10)) {\n selectedDate = focusedDate;\n }\n else {\n selectedDate = this.tableBodyElement.querySelector('tr td.e-selected');\n }\n }\n else {\n selectedDate = this.tableBodyElement.querySelector('tr td.e-selected');\n }\n var view = this.getViewNumber(this.currentView());\n var depthValue = this.getViewNumber(this.depth);\n var levelRestrict = (view === depthValue && this.getViewNumber(this.start) >= depthValue);\n this.effect = '';\n switch (e.action) {\n case 'moveLeft':\n if (this.getModuleName() !== 'daterangepicker' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target)) {\n this.keyboardNavigate(-1, view, e, this.max, this.min);\n e.preventDefault();\n }\n break;\n case 'moveRight':\n if (this.getModuleName() !== 'daterangepicker' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target)) {\n this.keyboardNavigate(1, view, e, this.max, this.min);\n e.preventDefault();\n }\n break;\n case 'moveUp':\n if (this.getModuleName() !== 'daterangepicker' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target)) {\n if (view === 0) {\n this.keyboardNavigate(-7, view, e, this.max, this.min); // move the current date to the previous seven days.\n }\n else {\n this.keyboardNavigate(-4, view, e, this.max, this.min); // move the current year to the previous four days.\n }\n e.preventDefault();\n }\n break;\n case 'moveDown':\n if (this.getModuleName() !== 'daterangepicker' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target)) {\n if (view === 0) {\n this.keyboardNavigate(7, view, e, this.max, this.min);\n }\n else {\n this.keyboardNavigate(4, view, e, this.max, this.min);\n }\n e.preventDefault();\n }\n break;\n case 'select':\n if (e.target === this.headerTitleElement) {\n this.navigateTitle(e);\n }\n else if (e.target === this.previousIcon && !e.target.className.includes(DISABLED)) {\n this.navigatePrevious(e);\n }\n else if (e.target === this.nextIcon && !e.target.className.includes(DISABLED)) {\n this.navigateNext(e);\n }\n else if (e.target === this.todayElement && !e.target.className.includes(DISABLED)) {\n this.todayButtonClick(e, value);\n if (this.getModuleName() === 'datepicker' || this.getModuleName() === 'datetimepicker') {\n if (this.isAngular) {\n this.inputElement.focus();\n }\n else {\n this.element.focus();\n }\n }\n }\n else {\n var element = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedDate) ? focusedDate : selectedDate;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element) && !element.classList.contains(DISABLED)) {\n if (levelRestrict) {\n // eslint-disable-next-line radix\n var d = new Date(parseInt('' + (element).id, 0));\n this.selectDate(e, d, (element));\n if (this.getModuleName() === 'datepicker' || this.getModuleName() === 'datetimepicker') {\n if (this.isAngular) {\n this.inputElement.focus();\n }\n else {\n this.element.focus();\n }\n }\n }\n else {\n if (!e.target.className.includes(DISABLED)) {\n this.contentClick(null, --view, (element), value);\n }\n }\n }\n }\n break;\n case 'controlUp':\n this.title();\n e.preventDefault();\n break;\n case 'controlDown':\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedDate) && !levelRestrict || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedDate) && !levelRestrict) {\n this.contentClick(null, --view, (focusedDate || selectedDate), value);\n }\n e.preventDefault();\n break;\n case 'home':\n this.currentDate = this.firstDay(this.currentDate);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n if (view === 0) {\n this.renderMonths(e);\n }\n else if (view === 1) {\n this.renderYears(e);\n }\n else {\n this.renderDecades(e);\n }\n e.preventDefault();\n break;\n case 'end':\n this.currentDate = this.lastDay(this.currentDate, view);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n if (view === 0) {\n this.renderMonths(e);\n }\n else if (view === 1) {\n this.renderYears(e);\n }\n else {\n this.renderDecades(e);\n }\n e.preventDefault();\n break;\n case 'pageUp':\n this.addMonths(this.currentDate, -1);\n this.navigateTo('Month', this.currentDate);\n e.preventDefault();\n break;\n case 'pageDown':\n this.addMonths(this.currentDate, 1);\n this.navigateTo('Month', this.currentDate);\n e.preventDefault();\n break;\n case 'shiftPageUp':\n this.addYears(this.currentDate, -1);\n this.navigateTo('Month', this.currentDate);\n e.preventDefault();\n break;\n case 'shiftPageDown':\n this.addYears(this.currentDate, 1);\n this.navigateTo('Month', this.currentDate);\n e.preventDefault();\n break;\n case 'controlHome':\n this.navigateTo('Month', new Date(this.currentDate.getFullYear(), 0, 1));\n e.preventDefault();\n break;\n case 'controlEnd':\n this.navigateTo('Month', new Date(this.currentDate.getFullYear(), 11, 31));\n e.preventDefault();\n break;\n case 'tab':\n if ((this.getModuleName() === 'datepicker' || this.getModuleName() === 'datetimepicker') && e.target === this.todayElement) {\n e.preventDefault();\n if (this.isAngular) {\n this.inputElement.focus();\n }\n else {\n this.element.focus();\n }\n this.hide();\n }\n break;\n case 'shiftTab':\n if ((this.getModuleName() === 'datepicker' || this.getModuleName() === 'datetimepicker') && e.target === this.headerTitleElement) {\n e.preventDefault();\n if (this.isAngular) {\n this.inputElement.focus();\n }\n else {\n this.element.focus();\n }\n this.hide();\n }\n break;\n case 'escape':\n if ((this.getModuleName() === 'datepicker' || this.getModuleName() === 'datetimepicker') && (e.target === this.headerTitleElement || e.target === this.previousIcon || e.target === this.nextIcon || e.target === this.todayElement)) {\n this.hide();\n }\n break;\n }\n };\n CalendarBase.prototype.keyboardNavigate = function (number, currentView, e, max, min) {\n var date = new Date(this.checkValue(this.currentDate));\n switch (currentView) {\n case 2:\n this.addYears(this.currentDate, number);\n if (this.isMonthYearRange(this.currentDate)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderDecades(e);\n }\n else {\n this.currentDate = date;\n }\n break;\n case 1:\n this.addMonths(this.currentDate, number);\n if (this.calendarMode === 'Gregorian') {\n if (this.isMonthYearRange(this.currentDate)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderYears(e);\n }\n else {\n this.currentDate = date;\n }\n }\n else {\n if (this.isMonthYearRange(this.currentDate)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderYears(e);\n }\n else {\n this.currentDate = date;\n }\n }\n break;\n case 0:\n this.addDay(this.currentDate, number, e, max, min);\n if (this.isMinMaxRange(this.currentDate)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderMonths(e);\n }\n else {\n this.currentDate = date;\n }\n break;\n }\n };\n /**\n * Initialize the event handler\n *\n * @param {Date} value - Specifies value of date.\n * @returns {void}\n * @private\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CalendarBase.prototype.preRender = function (value) {\n var _this = this;\n this.navigatePreviousHandler = this.navigatePrevious.bind(this);\n this.navigateNextHandler = this.navigateNext.bind(this);\n this.defaultKeyConfigs = this.getDefaultKeyConfig();\n this.navigateHandler = function (e) {\n _this.triggerNavigate(e);\n };\n };\n CalendarBase.prototype.minMaxDate = function (localDate) {\n var currentDate = new Date(new Date(+localDate).setHours(0, 0, 0, 0));\n var minDate = new Date(new Date(+this.min).setHours(0, 0, 0, 0));\n var maxDate = new Date(new Date(+this.max).setHours(0, 0, 0, 0));\n if (+currentDate === +minDate || +currentDate === +maxDate) {\n if (+localDate < +this.min) {\n localDate = new Date(+this.min);\n }\n if (+localDate > +this.max) {\n localDate = new Date(+this.max);\n }\n }\n return localDate;\n };\n CalendarBase.prototype.renderMonths = function (e, value, isCustomDate) {\n var numCells = this.weekNumber ? 8 : 7;\n var tdEles;\n if (this.calendarMode === 'Gregorian') {\n tdEles = this.renderDays(this.currentDate, value, null, null, isCustomDate, e);\n }\n else {\n tdEles = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.islamicModule) ? this.islamicModule.islamicRenderDays(this.currentDate, value) : null;\n }\n this.createContentHeader();\n if (this.calendarMode === 'Gregorian') {\n this.renderTemplate(tdEles, numCells, MONTH, e, value);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.islamicModule)) {\n this.islamicModule.islamicRenderTemplate(tdEles, numCells, MONTH, e, value);\n }\n };\n CalendarBase.prototype.renderDays = function (currentDate, value, multiSelection, values, isTodayDate, e) {\n var tdEles = [];\n var cellsCount = 42;\n var todayDate = isTodayDate ? new Date(+currentDate) : this.getDate(new Date(), this.timezone);\n var localDate = new Date(this.checkValue(currentDate));\n var minMaxDate;\n var currentMonth = localDate.getMonth();\n this.titleUpdate(currentDate, 'days');\n var d = localDate;\n localDate = new Date(d.getFullYear(), d.getMonth(), 0, d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());\n while (localDate.getDay() !== this.firstDayOfWeek) {\n this.setStartDate(localDate, -1 * dayMilliSeconds);\n }\n for (var day = 0; day < cellsCount; ++day) {\n var weekEle = this.createElement('td', { className: CELL });\n var weekAnchor = this.createElement('span');\n if (day % 7 === 0 && this.weekNumber) {\n // 6 days are added to get Last day of the week and 3 days are added to get middle day of the week.\n var numberOfDays = this.weekRule === 'FirstDay' ? 6 : (this.weekRule === 'FirstFourDayWeek' ? 3 : 0);\n var finalDate = new Date(localDate.getFullYear(), localDate.getMonth(), (localDate.getDate() + numberOfDays));\n weekAnchor.textContent = '' + this.getWeek(finalDate);\n weekEle.appendChild(weekAnchor);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([weekEle], '' + WEEKNUMBER);\n tdEles.push(weekEle);\n }\n minMaxDate = new Date(+localDate);\n localDate = this.minMaxDate(localDate);\n var dateFormatOptions = { type: 'dateTime', skeleton: 'full' };\n var date = this.globalize.parseDate(this.globalize.formatDate(localDate, dateFormatOptions), dateFormatOptions);\n var tdEle = this.dayCell(localDate);\n var title = this.globalize.formatDate(localDate, { type: 'date', skeleton: 'full' });\n var dayLink = this.createElement('span');\n dayLink.textContent = this.globalize.formatDate(localDate, { format: 'd', type: 'date', skeleton: 'yMd' });\n var disabled = (this.min > localDate) || (this.max < localDate);\n if (disabled) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], OVERLAY);\n }\n else {\n dayLink.setAttribute('title', '' + title);\n }\n if (currentMonth !== localDate.getMonth()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], OTHERMONTH);\n dayLink.setAttribute('aria-disabled', 'true');\n }\n if (localDate.getDay() === 0 || localDate.getDay() === 6) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], WEEKEND);\n }\n tdEle.appendChild(dayLink);\n this.renderDayCellArgs = {\n date: localDate,\n isDisabled: false,\n element: tdEle,\n isOutOfRange: disabled\n };\n var argument = this.renderDayCellArgs;\n this.renderDayCellEvent(argument);\n if (argument.isDisabled) {\n var selectDate = new Date(this.checkValue(value));\n var argsDate = new Date(this.checkValue(argument.date));\n if (multiSelection) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(values) && values.length > 0) {\n for (var index = 0; index < values.length; index++) {\n var localDateString = +new Date(this.globalize.formatDate(argument.date, { type: 'date', skeleton: 'yMd' }));\n var tempDateString = +new Date(this.globalize.formatDate(values[index], { type: 'date', skeleton: 'yMd' }));\n if (localDateString === tempDateString) {\n values.splice(index, 1);\n index = -1;\n }\n }\n }\n }\n else if (selectDate && +selectDate === +argsDate) {\n this.setProperties({ value: null }, true);\n }\n }\n if (this.renderDayCellArgs.isDisabled && !tdEle.classList.contains(SELECTED)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], OVERLAY);\n dayLink.setAttribute('aria-disabled', 'true');\n if (+this.renderDayCellArgs.date === +this.todayDate) {\n this.todayDisabled = true;\n }\n }\n var otherMnthBool = tdEle.classList.contains(OTHERMONTH);\n var disabledCls = tdEle.classList.contains(DISABLED);\n if (!disabledCls) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(tdEle, 'click', this.clickHandler, this);\n }\n // to set the value as null while setting the disabled date onProperty change.\n // if (args.isDisabled && +this.value === +args.date) {\n // this.setProperties({ value: null }, true);\n // }\n var currentTarget = void 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && e.type === 'click') {\n currentTarget = e.currentTarget;\n }\n if (multiSelection && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(values) && !disabledCls) {\n for (var tempValue = 0; tempValue < values.length; tempValue++) {\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var formatOptions = { format: null, type: 'date', skeleton: 'short', calendar: type };\n var localDateString = this.globalize.formatDate(localDate, formatOptions);\n var tempDateString = this.globalize.formatDate(values[tempValue], formatOptions);\n if ((localDateString === tempDateString && this.getDateVal(localDate, values[tempValue]))\n || (this.getDateVal(localDate, value))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], SELECTED);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentTarget) && currentTarget.innerText === tdEle.innerText &&\n this.previousDates && tdEle.classList.contains(SELECTED) && currentTarget.classList.contains(SELECTED)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tdEle], SELECTED);\n this.previousDates = false;\n var copyValues = this.copyValues(values);\n for (var i = 0; i < copyValues.length; i++) {\n var type_1 = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var formatOptions_1 = { format: null, type: 'date', skeleton: 'short', calendar: type_1 };\n var localDateString_1 = this.globalize.formatDate(date, formatOptions_1);\n var tempDateString_1 = this.globalize.formatDate(copyValues[i], formatOptions_1);\n if (localDateString_1 === tempDateString_1) {\n var index = copyValues.indexOf(copyValues[i]);\n copyValues.splice(index, 1);\n values.splice(index, 1);\n }\n }\n this.setProperties({ values: copyValues }, true);\n }\n else {\n this.updateFocus(otherMnthBool, disabledCls, localDate, tdEle, currentDate);\n }\n }\n if (values.length <= 0) {\n this.updateFocus(otherMnthBool, disabledCls, localDate, tdEle, currentDate);\n }\n }\n else if (!disabledCls && this.getDateVal(localDate, value)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], SELECTED);\n }\n this.updateFocus(otherMnthBool, disabledCls, localDate, tdEle, currentDate);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date) && date.getFullYear() === todayDate.getFullYear() && date.getMonth() === todayDate.getMonth()\n && date.getDate() === todayDate.getDate()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], TODAY);\n }\n tdEles.push(this.renderDayCellArgs.element);\n localDate = new Date(+minMaxDate);\n this.addDay(localDate, 1, null, this.max, this.min);\n }\n return tdEles;\n };\n CalendarBase.prototype.updateFocus = function (otherMonth, disabled, localDate, tableElement, currentDate) {\n if (currentDate.getDate() === localDate.getDate() && !otherMonth && !disabled) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tableElement], FOCUSEDDATE);\n }\n else {\n // eslint-disable-next-line radix\n if (currentDate >= this.max && parseInt(tableElement.id, 0) === +this.max && !otherMonth && !disabled) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tableElement], FOCUSEDDATE);\n }\n // eslint-disable-next-line radix\n if (currentDate <= this.min && parseInt(tableElement.id, 0) === +this.min && !otherMonth && !disabled) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tableElement], FOCUSEDDATE);\n }\n }\n };\n CalendarBase.prototype.renderYears = function (e, value) {\n this.removeTableHeadElement();\n var numCells = 4;\n var tdEles = [];\n var valueUtil = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value);\n var curDate = new Date(this.checkValue(this.currentDate));\n var mon = curDate.getMonth();\n var yr = curDate.getFullYear();\n var localDate = curDate;\n var curYrs = localDate.getFullYear();\n var minYr = new Date(this.checkValue(this.min)).getFullYear();\n var minMonth = new Date(this.checkValue(this.min)).getMonth();\n var maxYr = new Date(this.checkValue(this.max)).getFullYear();\n var maxMonth = new Date(this.checkValue(this.max)).getMonth();\n localDate.setMonth(0);\n this.titleUpdate(this.currentDate, 'months');\n localDate.setDate(1);\n for (var month = 0; month < 12; ++month) {\n var tdEle = this.dayCell(localDate);\n var dayLink = this.createElement('span');\n var localMonth = (value && (value).getMonth() === localDate.getMonth());\n var select = (value && (value).getFullYear() === yr && localMonth);\n var title = this.globalize.formatDate(localDate, { type: 'date', format: 'MMM y' });\n dayLink.textContent = this.toCapitalize(this.globalize.formatDate(localDate, {\n format: null, type: 'dateTime', skeleton: 'MMM'\n }));\n if ((this.min && (curYrs < minYr || (month < minMonth && curYrs === minYr))) || (this.max && (curYrs > maxYr || (month > maxMonth && curYrs >= maxYr)))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], DISABLED);\n }\n else if (!valueUtil && select) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], SELECTED);\n }\n else {\n if (localDate.getMonth() === mon && this.currentDate.getMonth() === mon) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], FOCUSEDDATE);\n }\n }\n localDate.setDate(1);\n localDate.setMonth(localDate.getMonth() + 1);\n if (!tdEle.classList.contains(DISABLED)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(tdEle, 'click', this.clickHandler, this);\n dayLink.setAttribute('title', '' + title);\n }\n tdEle.appendChild(dayLink);\n tdEles.push(tdEle);\n }\n this.renderTemplate(tdEles, numCells, YEAR, e, value);\n };\n CalendarBase.prototype.renderDecades = function (e, value) {\n this.removeTableHeadElement();\n var numCells = 4;\n var yearCell = 12;\n var tdEles = [];\n var localDate = new Date(this.checkValue(this.currentDate));\n localDate.setMonth(0);\n localDate.setDate(1);\n var localYr = localDate.getFullYear();\n var startYr = new Date(localDate.setFullYear((localYr - localYr % 10)));\n var endYr = new Date(localDate.setFullYear((localYr - localYr % 10 + (10 - 1))));\n var startFullYr = startYr.getFullYear();\n var endFullYr = endYr.getFullYear();\n var startHdrYr = this.globalize.formatDate(startYr, {\n format: null, type: 'dateTime', skeleton: 'y'\n });\n var endHdrYr = this.globalize.formatDate(endYr, { format: null, type: 'dateTime', skeleton: 'y' });\n this.headerTitleElement.textContent = startHdrYr + ' - ' + (endHdrYr);\n var start = new Date(localYr - (localYr % 10) - 1, 0, 1);\n var startYear = start.getFullYear();\n for (var rowIterator = 0; rowIterator < yearCell; ++rowIterator) {\n var year = startYear + rowIterator;\n localDate.setFullYear(year);\n var tdEle = this.dayCell(localDate);\n var dayLink = this.createElement('span');\n dayLink.textContent = this.globalize.formatDate(localDate, {\n format: null, type: 'dateTime', skeleton: 'y'\n });\n if ((year < startFullYr) || (year > endFullYr)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], OTHERDECADE);\n dayLink.setAttribute('aria-disabled', 'true');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && localDate.getFullYear() === (value).getFullYear()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], SELECTED);\n }\n if (year < new Date(this.checkValue(this.min)).getFullYear() ||\n year > new Date(this.checkValue(this.max)).getFullYear()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], DISABLED);\n }\n }\n else if (year < new Date(this.checkValue(this.min)).getFullYear() ||\n year > new Date(this.checkValue(this.max)).getFullYear()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], DISABLED);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && localDate.getFullYear() === (value).getFullYear()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], SELECTED);\n }\n else {\n if (localDate.getFullYear() === this.currentDate.getFullYear() && !tdEle.classList.contains(DISABLED)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tdEle], FOCUSEDDATE);\n }\n }\n if (!tdEle.classList.contains(DISABLED)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(tdEle, 'click', this.clickHandler, this);\n dayLink.setAttribute('title', '' + dayLink.textContent);\n }\n tdEle.appendChild(dayLink);\n tdEles.push(tdEle);\n }\n this.renderTemplate(tdEles, numCells, 'e-decade', e, value);\n };\n CalendarBase.prototype.dayCell = function (localDate) {\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var dateFormatOptions = { skeleton: 'full', type: 'dateTime', calendar: type };\n var date = this.globalize.parseDate(this.globalize.formatDate(localDate, dateFormatOptions), dateFormatOptions);\n var value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date)) {\n value = date.valueOf();\n }\n var attrs = {\n className: CELL, attrs: { 'id': '' + (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('' + value), 'aria-selected': 'false' }\n };\n return this.createElement('td', attrs);\n };\n CalendarBase.prototype.firstDay = function (date) {\n var collection = this.currentView() !== 'Decade' ? this.tableBodyElement.querySelectorAll('td:not(.' + OTHERMONTH + '):not(.' + WEEKNUMBER + ')') :\n this.tableBodyElement.querySelectorAll('td' + ':not(.' + OTHERDECADE + '');\n if (collection.length) {\n for (var i = 0; i < collection.length; i++) {\n if (!collection[i].classList.contains(DISABLED)) {\n // eslint-disable-next-line radix\n date = new Date(parseInt(collection[i].id, 0));\n break;\n }\n }\n }\n return date;\n };\n CalendarBase.prototype.lastDay = function (date, view) {\n var lastDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n if (view !== 2) {\n var timeOffset = Math.abs(lastDate.getTimezoneOffset() - this.firstDay(date).getTimezoneOffset());\n if (timeOffset) {\n lastDate.setHours(this.firstDay(date).getHours() + (timeOffset / 60));\n }\n return this.findLastDay(lastDate);\n }\n else {\n return this.findLastDay(this.firstDay(lastDate));\n }\n };\n CalendarBase.prototype.checkDateValue = function (value) {\n return (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && value instanceof Date && !isNaN(+value)) ? value : null;\n };\n CalendarBase.prototype.findLastDay = function (date) {\n var collection = this.currentView() === 'Decade' ? this.tableBodyElement.querySelectorAll('td' + ':not(.' + OTHERDECADE + '') :\n this.tableBodyElement.querySelectorAll('td:not(.' + OTHERMONTH + '):not(.' + WEEKNUMBER + ')');\n if (collection.length) {\n for (var i = collection.length - 1; i >= 0; i--) {\n if (!collection[i].classList.contains(DISABLED)) {\n // eslint-disable-next-line radix\n date = new Date(parseInt(collection[i].id, 0));\n break;\n }\n }\n }\n return date;\n };\n CalendarBase.prototype.removeTableHeadElement = function () {\n if (this.getModuleName() === 'calendar') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelectorAll('.e-content table thead')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableHeadElement);\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.calendarElement.querySelectorAll('.e-content table thead')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableHeadElement);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CalendarBase.prototype.renderTemplate = function (elements, count, classNm, e, value) {\n var view = this.getViewNumber(this.currentView());\n var trEle;\n this.tableBodyElement = this.createElement('tbody');\n this.table.appendChild(this.tableBodyElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.contentElement, this.headerElement], [MONTH, DECADE, YEAR]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.contentElement, this.headerElement], [classNm]);\n var weekNumCell = 41;\n var numberCell = 35;\n var otherMonthCell = 6;\n var row = count;\n var rowIterator = 0;\n for (var dayCell = 0; dayCell < elements.length / count; ++dayCell) {\n trEle = this.createElement('tr');\n for (rowIterator = 0 + rowIterator; rowIterator < row; rowIterator++) {\n if (!elements[rowIterator].classList.contains('e-week-number') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(elements[rowIterator].children[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([elements[rowIterator].children[0]], [LINK]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(elements[rowIterator].children[0], {\n duration: 600,\n isCenterRipple: true\n });\n }\n trEle.appendChild(elements[rowIterator]);\n if (this.weekNumber && rowIterator === otherMonthCell + 1 && elements[otherMonthCell + 1].classList.contains(OTHERMONTH)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([trEle], OTHERMONTHROW);\n }\n if (!this.weekNumber && rowIterator === otherMonthCell && elements[otherMonthCell].\n classList.contains(OTHERMONTH)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([trEle], OTHERMONTHROW);\n }\n if (this.weekNumber) {\n if (rowIterator === weekNumCell && elements[weekNumCell].classList.contains(OTHERMONTH)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([trEle], OTHERMONTHROW);\n }\n }\n else {\n if (rowIterator === numberCell && elements[numberCell].classList.contains(OTHERMONTH)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([trEle], OTHERMONTHROW);\n }\n }\n }\n row = row + count;\n rowIterator = rowIterator + 0;\n this.tableBodyElement.appendChild(trEle);\n }\n this.table.querySelector('tbody').className = this.effect;\n if (this.calendarMode === 'Gregorian') {\n this.iconHandler();\n }\n else {\n this.islamicModule.islamicIconHandler();\n }\n if (view !== this.getViewNumber(this.currentView()) || (view === 0 && view !== this.getViewNumber(this.currentView()))) {\n this.navigateHandler(e);\n }\n this.setAriaActiveDescendant();\n };\n CalendarBase.prototype.clickHandler = function (e, value) {\n this.clickEventEmitter(e);\n var eve = e.currentTarget;\n var view = this.getViewNumber(this.currentView());\n if (eve.classList.contains(OTHERMONTH)) {\n this.contentClick(e, 0, null, value);\n }\n else if (view === this.getViewNumber(this.depth) && this.getViewNumber(this.start) >= this.getViewNumber(this.depth)) {\n this.contentClick(e, 1, null, value);\n }\n else if (2 === view) {\n this.contentClick(e, 1, null, value);\n }\n else if (!eve.classList.contains(OTHERMONTH) && view === 0) {\n this.selectDate(e, this.getIdValue(e, null), null);\n }\n else {\n this.contentClick(e, 0, eve, value);\n }\n if (this.getModuleName() === 'calendar') {\n this.table.focus();\n }\n };\n // Content click event handler required for extended components\n CalendarBase.prototype.clickEventEmitter = function (e) {\n e.preventDefault();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CalendarBase.prototype.contentClick = function (e, view, element, value) {\n var currentView = this.getViewNumber(this.currentView());\n var d = this.getIdValue(e, element);\n switch (view) {\n case 0:\n if (currentView === this.getViewNumber(this.depth) && this.getViewNumber(this.start) >= this.getViewNumber(this.depth)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.currentDate = d;\n this.effect = ZOOMIN;\n this.renderMonths(e);\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n this.currentDate.setMonth(d.getMonth());\n if (d.getMonth() > 0 && this.currentDate.getMonth() !== d.getMonth()) {\n this.currentDate.setDate(0);\n }\n this.currentDate.setFullYear(d.getFullYear());\n }\n else {\n this.currentDate = d;\n }\n this.effect = ZOOMIN;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderMonths(e);\n }\n break;\n case 1:\n if (currentView === this.getViewNumber(this.depth) && this.getViewNumber(this.start) >= this.getViewNumber(this.depth)) {\n this.selectDate(e, d, null);\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n this.currentDate.setFullYear(d.getFullYear());\n }\n else {\n this.islamicPreviousHeader = this.headerElement.textContent;\n var islamicDate = this.islamicModule.getIslamicDate(d);\n this.currentDate = this.islamicModule.toGregorian(islamicDate.year, islamicDate.month, 1);\n }\n this.effect = ZOOMIN;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderYears(e);\n }\n }\n };\n CalendarBase.prototype.switchView = function (view, e, multiSelection, isCustomDate) {\n switch (view) {\n case 0:\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderMonths(e, null, isCustomDate);\n break;\n case 1:\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderYears(e);\n break;\n case 2:\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.renderDecades(e);\n }\n };\n /**\n * To get component name\n *\n * @returns {string} Returns the component name.\n * @private\n */\n CalendarBase.prototype.getModuleName = function () {\n return 'calendar';\n };\n /**\n *\n * @returns {void}\n\n */\n CalendarBase.prototype.requiredModules = function () {\n var modules = [];\n if (this.calendarMode === 'Islamic') {\n modules.push({ args: [this], member: 'islamic', name: 'Islamic' });\n }\n return modules;\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the properties to be maintained upon browser refresh.\n *\n * @returns {string}\n */\n CalendarBase.prototype.getPersistData = function () {\n var keyEntity = ['value'];\n return this.addOnPersist(keyEntity);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Called internally if any of the property value changed.\n *\n * @param {CalendarBaseModel} newProp - Returns the dynamic property value of the component.\n * @param {CalendarBaseModel} oldProp - Returns the previous property value of the component.\n * @param {boolean} multiSelection - - Specifies whether multiple date selection is enabled or not.\n * @param {Date[]} values - Specifies the dates.\n * @returns {void}\n * @private\n */\n CalendarBase.prototype.onPropertyChanged = function (newProp, oldProp, multiSelection, values) {\n this.effect = '';\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'enableRtl':\n if (newProp.enableRtl) {\n if (this.getModuleName() === 'calendar') {\n this.element.classList.add('e-rtl');\n }\n else {\n this.calendarElement.classList.add('e-rtl');\n }\n }\n else {\n if (this.getModuleName() === 'calendar') {\n this.element.classList.remove('e-rtl');\n }\n else {\n this.calendarElement.classList.remove('e-rtl');\n }\n }\n break;\n case 'dayHeaderFormat':\n this.getCultureValues();\n if (this.getModuleName() !== 'datepicker') {\n this.createContentHeader();\n }\n else if (this.calendarElement) {\n this.createContentHeader();\n }\n this.adjustLongHeaderSize();\n break;\n case 'min':\n case 'max':\n this.rangeValidation(this.min, this.max);\n if (prop === 'min') {\n this.setProperties({ min: this.checkDateValue(new Date(this.checkValue(newProp.min))) }, true);\n }\n else {\n this.setProperties({ max: this.checkDateValue(new Date(this.checkValue(newProp.max))) }, true);\n }\n this.setProperties({ start: this.currentView() }, true);\n if (this.tableBodyElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n }\n this.minMaxUpdate();\n if (multiSelection) {\n this.validateValues(multiSelection, values);\n }\n if (this.getModuleName() !== 'datepicker') {\n this.createContentBody();\n }\n else if (this.calendarElement) {\n this.createContentBody();\n }\n if ((this.todayDate < this.min || this.max < this.todayDate) && (this.footer) && (this.todayElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.todayElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.footer);\n this.todayElement = this.footer = null;\n this.createContentFooter();\n }\n else {\n if ((this.footer) && (this.todayElement) && this.todayElement.classList.contains('e-disabled')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.todayElement], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.todayElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.footer);\n this.todayElement = this.footer = null;\n this.createContentFooter();\n }\n }\n break;\n case 'start':\n case 'depth':\n case 'weekNumber':\n case 'firstDayOfWeek':\n case 'weekRule':\n this.checkView();\n if (this.getModuleName() !== 'datepicker') {\n this.createContentHeader();\n this.createContentBody();\n }\n else if (this.calendarElement) {\n this.createContentHeader();\n this.createContentBody();\n }\n break;\n case 'locale':\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n if (this.getModuleName() !== 'datepicker') {\n this.createContentHeader();\n this.createContentBody();\n }\n else if (this.calendarElement) {\n this.createContentHeader();\n this.createContentBody();\n }\n if (this.getModuleName() === 'calendar') {\n var l10nLocale = { today: 'Today' };\n this.l10 = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getModuleName(), l10nLocale, this.locale);\n }\n this.l10.setLocale(this.locale);\n if (this.showTodayButton) {\n this.updateFooter();\n }\n break;\n case 'showTodayButton':\n if (newProp.showTodayButton) {\n this.createContentFooter();\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.todayElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.footer)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.todayElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.footer);\n this.todayElement = this.footer = undefined;\n }\n }\n this.setProperties({ showTodayButton: newProp.showTodayButton }, true);\n break;\n }\n }\n };\n /**\n * values property updated with considered disabled dates of the calendar.\n *\n * @param {boolean} multiSelection - Specifies whether multiple date selection is enabled.\n * @param {Date[]} values - Specifies the dates to validate.\n * @returns {void}\n */\n CalendarBase.prototype.validateValues = function (multiSelection, values) {\n if (multiSelection && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(values) && values.length > 0) {\n var copyValues = this.copyValues(values);\n for (var skipIndex = 0; skipIndex < copyValues.length; skipIndex++) {\n var tempValue = copyValues[skipIndex];\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var tempValueString = void 0;\n if (this.calendarMode === 'Gregorian') {\n tempValueString = this.globalize.formatDate(tempValue, { type: 'date', skeleton: 'yMd' });\n }\n else {\n tempValueString = this.globalize.formatDate(tempValue, { type: 'dateTime', skeleton: 'full', calendar: 'islamic' });\n }\n var minFormatOption = { type: 'date', skeleton: 'yMd', calendar: type };\n var minStringValue = this.globalize.formatDate(this.min, minFormatOption);\n var minString = minStringValue;\n var maxFormatOption = { type: 'date', skeleton: 'yMd', calendar: type };\n var maxStringValue = this.globalize.formatDate(this.max, maxFormatOption);\n var maxString = maxStringValue;\n if (+new Date(tempValueString) < +new Date(minString) ||\n +new Date(tempValueString) > +new Date(maxString)) {\n copyValues.splice(skipIndex, 1);\n skipIndex = -1;\n }\n }\n this.setProperties({ values: copyValues }, true);\n }\n };\n CalendarBase.prototype.setValueUpdate = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tableBodyElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.tableBodyElement);\n this.setProperties({ start: this.currentView() }, true);\n this.createContentBody();\n }\n };\n CalendarBase.prototype.copyValues = function (values) {\n var copyValues = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(values) && values.length > 0) {\n for (var index = 0; index < values.length; index++) {\n copyValues.push(new Date(+values[index]));\n }\n }\n return copyValues;\n };\n CalendarBase.prototype.titleUpdate = function (date, view) {\n var globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n var dayFormatOptions;\n var monthFormatOptions;\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n if (this.calendarMode === 'Gregorian') {\n dayFormatOptions = globalize.formatDate(date, { type: 'dateTime', skeleton: 'yMMMM', calendar: type });\n monthFormatOptions = globalize.formatDate(date, {\n format: null, type: 'dateTime', skeleton: 'y', calendar: type\n });\n }\n else {\n dayFormatOptions = globalize.formatDate(date, { type: 'dateTime', format: 'MMMM y', calendar: type });\n monthFormatOptions = globalize.formatDate(date, { type: 'dateTime', format: 'y', calendar: type });\n }\n switch (view) {\n case 'days':\n this.headerTitleElement.textContent = this.toCapitalize(dayFormatOptions);\n break;\n case 'months':\n this.headerTitleElement.textContent = monthFormatOptions;\n }\n };\n CalendarBase.prototype.setActiveDescendant = function () {\n var id;\n var focusedEle = this.tableBodyElement.querySelector('tr td.e-focused-date');\n var selectedEle = this.tableBodyElement.querySelector('tr td.e-selected');\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var title;\n var view = this.currentView();\n if (view === 'Month') {\n title = this.globalize.formatDate(this.currentDate, { type: 'date', skeleton: 'full', calendar: type });\n }\n else if (view === 'Year') {\n if (type !== 'islamic') {\n title = this.globalize.formatDate(this.currentDate, { type: 'date', skeleton: 'yMMMM', calendar: type });\n }\n else {\n title = this.globalize.formatDate(this.currentDate, { type: 'date', skeleton: 'GyMMM', calendar: type });\n }\n }\n else {\n title = this.globalize.formatDate(this.currentDate, {\n format: null, type: 'date', skeleton: 'y', calendar: type\n });\n }\n if (selectedEle || focusedEle) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedEle)) {\n selectedEle.setAttribute('aria-selected', 'true');\n }\n (focusedEle || selectedEle).setAttribute('aria-label', title);\n id = (focusedEle || selectedEle).getAttribute('id');\n }\n return id;\n };\n CalendarBase.prototype.iconHandler = function () {\n new Date(this.checkValue(this.currentDate)).setDate(1);\n switch (this.currentView()) {\n case 'Month':\n this.previousIconHandler(this.compareMonth(new Date(this.checkValue(this.currentDate)), this.min) < 1);\n this.nextIconHandler(this.compareMonth(new Date(this.checkValue(this.currentDate)), this.max) > -1);\n break;\n case 'Year':\n this.previousIconHandler(this.compareYear(new Date(this.checkValue(this.currentDate)), this.min) < 1);\n this.nextIconHandler(this.compareYear(new Date(this.checkValue(this.currentDate)), this.max) > -1);\n break;\n case 'Decade':\n this.previousIconHandler(this.compareDecade(new Date(this.checkValue(this.currentDate)), this.min) < 1);\n this.nextIconHandler(this.compareDecade(new Date(this.checkValue(this.currentDate)), this.max) > -1);\n }\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n CalendarBase.prototype.destroy = function () {\n if (this.getModuleName() === 'calendar' && this.element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], [ROOT]);\n }\n else {\n if (this.calendarElement && this.element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], [ROOT]);\n }\n }\n if (this.getModuleName() === 'calendar' && this.element) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerTitleElement)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.headerTitleElement, 'click', this.navigateTitle);\n }\n if (this.todayElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.todayElement, 'click', this.todayButtonClick);\n }\n this.previousIconHandler(true);\n this.nextIconHandler(true);\n this.keyboardModule.destroy();\n this.element.removeAttribute('data-role');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.calendarEleCopy.getAttribute('tabindex'))) {\n this.element.setAttribute('tabindex', this.tabIndex);\n }\n else {\n this.element.removeAttribute('tabindex');\n }\n }\n if (this.element) {\n this.element.innerHTML = '';\n }\n this.todayElement = null;\n this.tableBodyElement = null;\n this.todayButtonEvent = null;\n this.renderDayCellArgs = null;\n this.headerElement = null;\n this.nextIcon = null;\n this.table = null;\n this.tableHeadElement = null;\n this.previousIcon = null;\n this.headerTitleElement = null;\n this.footer = null;\n this.contentElement = null;\n _super.prototype.destroy.call(this);\n };\n CalendarBase.prototype.title = function (e) {\n var currentView = this.getViewNumber(this.currentView());\n this.effect = ZOOMIN;\n this.switchView(++currentView, e);\n };\n CalendarBase.prototype.getViewNumber = function (stringVal) {\n if (stringVal === 'Month') {\n return 0;\n }\n else if (stringVal === 'Year') {\n return 1;\n }\n else {\n return 2;\n }\n };\n CalendarBase.prototype.navigateTitle = function (e) {\n e.preventDefault();\n this.title(e);\n };\n CalendarBase.prototype.previous = function () {\n this.effect = '';\n var currentView = this.getViewNumber(this.currentView());\n switch (this.currentView()) {\n case 'Month':\n this.addMonths(this.currentDate, -1);\n this.switchView(currentView);\n break;\n case 'Year':\n this.addYears(this.currentDate, -1);\n this.switchView(currentView);\n break;\n case 'Decade':\n this.addYears(this.currentDate, -10);\n this.switchView(currentView);\n break;\n }\n };\n CalendarBase.prototype.navigatePrevious = function (e) {\n !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && e.preventDefault();\n if (this.calendarMode === 'Gregorian') {\n this.previous();\n }\n else {\n this.islamicModule.islamicPrevious();\n }\n this.triggerNavigate(e);\n };\n CalendarBase.prototype.next = function () {\n this.effect = '';\n var currentView = this.getViewNumber(this.currentView());\n switch (this.currentView()) {\n case 'Month':\n this.addMonths(this.currentDate, 1);\n this.switchView(currentView);\n break;\n case 'Year':\n this.addYears(this.currentDate, 1);\n this.switchView(currentView);\n break;\n case 'Decade':\n this.addYears(this.currentDate, 10);\n this.switchView(currentView);\n break;\n }\n };\n CalendarBase.prototype.navigateNext = function (eve) {\n !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && eve.preventDefault();\n if (this.calendarMode === 'Gregorian') {\n this.next();\n }\n else {\n this.islamicModule.islamicNext();\n }\n this.triggerNavigate(eve);\n };\n /**\n * This method is used to navigate to the month/year/decade view of the Calendar.\n *\n * @param {string} view - Specifies the view of the Calendar.\n * @param {Date} date - Specifies the focused date in a view.\n * @param {boolean} isCustomDate - Specifies whether the calendar is rendered with custom today date or not.\n * @returns {void}\n */\n CalendarBase.prototype.navigateTo = function (view, date, isCustomDate) {\n if (+date >= +this.min && +date <= +this.max) {\n this.currentDate = date;\n }\n if (+date <= +this.min) {\n this.currentDate = new Date(this.checkValue(this.min));\n }\n if (+date >= +this.max) {\n this.currentDate = new Date(this.checkValue(this.max));\n }\n if ((this.getViewNumber(this.depth) >= this.getViewNumber(view))) {\n if ((this.getViewNumber(this.depth) <= this.getViewNumber(this.start))\n || this.getViewNumber(this.depth) === this.getViewNumber(view)) {\n view = this.depth;\n }\n }\n this.switchView(this.getViewNumber(view), null, null, isCustomDate);\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the current view of the Calendar.\n *\n * @returns {string}\n */\n CalendarBase.prototype.currentView = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentElement) && this.contentElement.classList.contains(YEAR)) {\n return 'Year';\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentElement) && this.contentElement.classList.contains(DECADE)) {\n return 'Decade';\n }\n else {\n return 'Month';\n }\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n CalendarBase.prototype.getDateVal = function (date, value) {\n return (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && date.getDate() === (value).getDate()\n && date.getMonth() === (value).getMonth() && date.getFullYear() === (value).getFullYear());\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CalendarBase.prototype.getCultureObjects = function (ld, c) {\n var gregorianFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dayHeaderFormat) ? '.dates.calendars.gregorian.days.format.' + this.dayHeaderFormat.toLowerCase() : null;\n var islamicFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dayHeaderFormat) ? '.dates.calendars.islamic.days.format.' + this.dayHeaderFormat.toLowerCase() : null;\n var mainVal = 'main.';\n if (this.calendarMode === 'Gregorian') {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(mainVal + '' + this.locale + gregorianFormat, ld);\n }\n else {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + '' + this.locale + islamicFormat, ld);\n }\n };\n CalendarBase.prototype.getWeek = function (d) {\n var currentDate = new Date(this.checkValue(d)).valueOf();\n var date = new Date(d.getFullYear(), 0, 1).valueOf();\n return Math.ceil((((currentDate - date) + dayMilliSeconds) / dayMilliSeconds) / 7);\n };\n CalendarBase.prototype.setStartDate = function (date, time) {\n var tzOffset = date.getTimezoneOffset();\n var d = new Date(date.getTime() + time);\n var tzOffsetDiff = d.getTimezoneOffset() - tzOffset;\n date.setTime(d.getTime() + tzOffsetDiff * minutesMilliSeconds);\n };\n CalendarBase.prototype.addMonths = function (date, i) {\n if (this.calendarMode === 'Gregorian') {\n var day = date.getDate();\n date.setDate(1);\n date.setMonth(date.getMonth() + i);\n date.setDate(Math.min(day, this.getMaxDays(date)));\n }\n else {\n var islamicDate = this.islamicModule.getIslamicDate(date);\n this.currentDate = this.islamicModule.toGregorian(islamicDate.year, (islamicDate.month) + i, 1);\n }\n };\n CalendarBase.prototype.addYears = function (date, i) {\n if (this.calendarMode === 'Gregorian') {\n var day = date.getDate();\n date.setDate(1);\n date.setFullYear(date.getFullYear() + i);\n date.setDate(Math.min(day, this.getMaxDays(date)));\n }\n else {\n var islamicDate = this.islamicModule.getIslamicDate(date);\n this.currentDate = this.islamicModule.toGregorian(islamicDate.year + i, (islamicDate.month), 1);\n }\n };\n CalendarBase.prototype.getIdValue = function (e, element) {\n var eve;\n if (e) {\n eve = e.currentTarget;\n }\n else {\n eve = element;\n }\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var dateFormatOptions = { type: 'dateTime', skeleton: 'full', calendar: type };\n // eslint-disable-next-line radix\n var dateString = this.globalize.formatDate(new Date(parseInt('' + eve.getAttribute('id'), 0)), dateFormatOptions);\n var date = this.globalize.parseDate(dateString, dateFormatOptions);\n var value = date.valueOf() - date.valueOf() % 1000;\n return new Date(value);\n //return this.globalize.parseDate(dateString, dateFormatOptions);\n };\n CalendarBase.prototype.adjustLongHeaderSize = function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], DAYHEADERLONG);\n if (this.dayHeaderFormat === 'Wide') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.getModuleName() === 'calendar' ? this.element : this.calendarElement], DAYHEADERLONG);\n }\n };\n CalendarBase.prototype.selectDate = function (e, date, node, multiSelection, values) {\n var element = node || e.currentTarget;\n this.isDateSelected = false;\n if (this.currentView() === 'Decade') {\n this.setDateDecade(this.currentDate, date.getFullYear());\n }\n else if (this.currentView() === 'Year') {\n this.setDateYear(this.currentDate, date);\n }\n else {\n if (multiSelection && !this.checkPresentDate(date, values)) {\n var copyValues = this.copyValues(values);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(values) && copyValues.length > 0) {\n copyValues.push(new Date(this.checkValue(date)));\n this.setProperties({ values: copyValues }, true);\n this.setProperties({ value: values[values.length - 1] }, true);\n }\n else {\n this.setProperties({ values: [new Date(this.checkValue(date))] }, true);\n }\n }\n else {\n this.setProperties({ value: new Date(this.checkValue(date)) }, true);\n }\n this.currentDate = new Date(this.checkValue(date));\n }\n var tableBodyElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.' + ROOT);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tableBodyElement)) {\n tableBodyElement = this.tableBodyElement;\n }\n if (!multiSelection && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tableBodyElement.querySelector('.' + SELECTED))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tableBodyElement.querySelector('.' + SELECTED)], SELECTED);\n }\n if (!multiSelection && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tableBodyElement.querySelector('.' + FOCUSEDDATE))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tableBodyElement.querySelector('.' + FOCUSEDDATE)], FOCUSEDDATE);\n }\n if (!multiSelection && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tableBodyElement.querySelector('.' + FOCUSEDCELL))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tableBodyElement.querySelector('.' + FOCUSEDCELL)], FOCUSEDCELL);\n }\n if (multiSelection) {\n var copyValues = this.copyValues(values);\n var collection = Array.prototype.slice.call(this.tableBodyElement.querySelectorAll('td'));\n for (var index = 0; index < collection.length; index++) {\n var tempElement = tableBodyElement.querySelectorAll('td' + '.' + FOCUSEDDATE)[0];\n var selectedElement = tableBodyElement.querySelectorAll('td' + '.' + SELECTED)[0];\n if (collection[index] === tempElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([collection[index]], FOCUSEDDATE);\n }\n if (collection[index] === selectedElement &&\n !this.checkPresentDate(new Date(parseInt(selectedElement.getAttribute('id').split('_')[0], 10)), values)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([collection[index]], SELECTED);\n }\n }\n if (element.classList.contains(SELECTED)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element], SELECTED);\n for (var i = 0; i < copyValues.length; i++) {\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var formatOptions = { format: null, type: 'date', skeleton: 'short', calendar: type };\n var localDateString = this.globalize.formatDate(date, formatOptions);\n var tempDateString = this.globalize.formatDate(copyValues[i], formatOptions);\n if (localDateString === tempDateString) {\n var index = copyValues.indexOf(copyValues[i]);\n copyValues.splice(index, 1);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], FOCUSEDDATE);\n }\n }\n this.setProperties({ values: copyValues }, true);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], SELECTED);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], SELECTED);\n }\n this.isDateSelected = true;\n };\n CalendarBase.prototype.checkPresentDate = function (dates, values) {\n var previousValue = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(values)) {\n for (var checkPrevious = 0; checkPrevious < values.length; checkPrevious++) {\n var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';\n var localDateString = this.globalize.formatDate(dates, {\n format: null, type: 'date', skeleton: 'short', calendar: type\n });\n var tempDateString = this.globalize.formatDate(values[checkPrevious], {\n format: null, type: 'date', skeleton: 'short', calendar: type\n });\n if (localDateString === tempDateString) {\n previousValue = true;\n }\n }\n }\n return previousValue;\n };\n CalendarBase.prototype.setAriaActiveDescendant = function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.table, {\n 'aria-activedescendant': '' + this.setActiveDescendant()\n });\n };\n CalendarBase.prototype.previousIconHandler = function (disabled) {\n if (disabled) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.previousIcon)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.previousIcon, 'click', this.navigatePreviousHandler);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.previousIcon], '' + DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.previousIcon], '' + OVERLAY);\n this.previousIcon.setAttribute('aria-disabled', 'true');\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.previousIcon, 'click', this.navigatePreviousHandler);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.previousIcon], '' + DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.previousIcon], '' + OVERLAY);\n this.previousIcon.setAttribute('aria-disabled', 'false');\n }\n };\n CalendarBase.prototype.renderDayCellEvent = function (args) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.renderDayCellArgs, { name: 'renderDayCell' });\n this.trigger('renderDayCell', args);\n };\n CalendarBase.prototype.navigatedEvent = function (eve) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.navigatedArgs, { name: 'navigated', event: eve });\n this.trigger('navigated', this.navigatedArgs);\n };\n CalendarBase.prototype.triggerNavigate = function (event) {\n this.navigatedArgs = { view: this.currentView(), date: this.currentDate };\n this.navigatedEvent(event);\n };\n CalendarBase.prototype.nextIconHandler = function (disabled) {\n if (disabled) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.previousIcon)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.nextIcon, 'click', this.navigateNextHandler);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.nextIcon], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.nextIcon], OVERLAY);\n this.nextIcon.setAttribute('aria-disabled', 'true');\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.nextIcon, 'click', this.navigateNextHandler);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.nextIcon], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.nextIcon], OVERLAY);\n this.nextIcon.setAttribute('aria-disabled', 'false');\n }\n };\n CalendarBase.prototype.compare = function (startDate, endDate, modifier) {\n var start = endDate.getFullYear();\n var end;\n var result;\n end = start;\n result = 0;\n if (modifier) {\n start = start - start % modifier;\n end = start - start % modifier + modifier - 1;\n }\n if (startDate.getFullYear() > end) {\n result = 1;\n }\n else if (startDate.getFullYear() < start) {\n result = -1;\n }\n return result;\n };\n CalendarBase.prototype.isMinMaxRange = function (date) {\n return +date >= +this.min && +date <= +this.max;\n };\n CalendarBase.prototype.isMonthYearRange = function (date) {\n if (this.calendarMode === 'Gregorian') {\n return date.getMonth() >= this.min.getMonth()\n && date.getFullYear() >= this.min.getFullYear()\n && date.getMonth() <= this.max.getMonth()\n && date.getFullYear() <= this.max.getFullYear();\n }\n else {\n var islamicDate = this.islamicModule.getIslamicDate(date);\n return islamicDate.month >= (this.islamicModule.getIslamicDate(new Date(1944, 1, 18))).month\n && islamicDate.year >= (this.islamicModule.getIslamicDate(new Date(1944, 1, 18))).year\n && islamicDate.month <= (this.islamicModule.getIslamicDate(new Date(2069, 1, 16))).month\n && islamicDate.year <= (this.islamicModule.getIslamicDate(new Date(2069, 1, 16))).year;\n }\n };\n CalendarBase.prototype.compareYear = function (start, end) {\n return this.compare(start, end, 0);\n };\n CalendarBase.prototype.compareDecade = function (start, end) {\n return this.compare(start, end, 10);\n };\n CalendarBase.prototype.shiftArray = function (array, i) {\n return array.slice(i).concat(array.slice(0, i));\n };\n CalendarBase.prototype.addDay = function (date, i, e, max, min) {\n var column = i;\n var value = new Date(+date);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tableBodyElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)) {\n while (this.findNextTD(new Date(+date), column, max, min)) {\n column += i;\n }\n var rangeValue = new Date(value.setDate(value.getDate() + column));\n column = (+rangeValue > +max || +rangeValue < +min) ? column === i ? i - i : i : column;\n }\n date.setDate(date.getDate() + column);\n };\n CalendarBase.prototype.findNextTD = function (date, column, max, min) {\n var value = new Date(date.setDate(date.getDate() + column));\n var collection = [];\n var isDisabled = false;\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && value.getMonth()) === (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.currentDate) && this.currentDate.getMonth())) {\n var tdEles = void 0;\n if (this.calendarMode === 'Gregorian') {\n tdEles = this.renderDays(value);\n }\n else {\n tdEles = this.islamicModule.islamicRenderDays(this.currentDate, value);\n }\n collection = tdEles.filter(function (element) {\n return element.classList.contains(DISABLED);\n });\n }\n else {\n collection = this.tableBodyElement.querySelectorAll('td.' + DISABLED);\n }\n if (+value <= (+(max)) && +value >= (+(min))) {\n if (collection.length) {\n for (var i = 0; i < collection.length; i++) {\n // eslint-disable-next-line radix\n isDisabled = (+value === +new Date(parseInt(collection[i].id, 0))) ? true : false;\n if (isDisabled) {\n break;\n }\n }\n }\n }\n return isDisabled;\n };\n CalendarBase.prototype.getMaxDays = function (d) {\n var date;\n var tmpDate = new Date(this.checkValue(d));\n date = 28;\n var month = tmpDate.getMonth();\n while (tmpDate.getMonth() === month) {\n ++date;\n tmpDate.setDate(date);\n }\n return date - 1;\n };\n CalendarBase.prototype.setDateDecade = function (date, year) {\n date.setFullYear(year);\n this.setProperties({ value: new Date(this.checkValue(date)) }, true);\n };\n CalendarBase.prototype.setDateYear = function (date, value) {\n date.setFullYear(value.getFullYear(), value.getMonth(), date.getDate());\n if (value.getMonth() !== date.getMonth()) {\n date.setDate(0);\n this.currentDate = new Date(this.checkValue(value));\n }\n this.setProperties({ value: new Date(this.checkValue(date)) }, true);\n };\n CalendarBase.prototype.compareMonth = function (start, end) {\n var result;\n if (start.getFullYear() > end.getFullYear()) {\n result = 1;\n }\n else if (start.getFullYear() < end.getFullYear()) {\n result = -1;\n }\n else {\n result = start.getMonth() === end.getMonth() ? 0 : start.getMonth() > end.getMonth() ? 1 : -1;\n }\n return result;\n };\n CalendarBase.prototype.checkValue = function (inValue) {\n if (inValue instanceof Date) {\n return (inValue.toUTCString());\n }\n else {\n return ('' + inValue);\n }\n };\n CalendarBase.prototype.checkView = function () {\n if (this.start !== 'Decade' && this.start !== 'Year') {\n this.setProperties({ start: 'Month' }, true);\n }\n if (this.depth !== 'Decade' && this.depth !== 'Year') {\n this.setProperties({ depth: 'Month' }, true);\n }\n if (this.getViewNumber(this.depth) > this.getViewNumber(this.start)) {\n this.setProperties({ depth: 'Month' }, true);\n }\n };\n CalendarBase.prototype.getDate = function (date, timezone) {\n if (timezone) {\n date = new Date(date.toLocaleString('en-US', { timeZone: timezone }));\n }\n return date;\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(new Date(1900, 0, 1))\n ], CalendarBase.prototype, \"min\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], CalendarBase.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], CalendarBase.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(new Date(2099, 11, 31))\n ], CalendarBase.prototype, \"max\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], CalendarBase.prototype, \"firstDayOfWeek\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Gregorian')\n ], CalendarBase.prototype, \"calendarMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Month')\n ], CalendarBase.prototype, \"start\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Month')\n ], CalendarBase.prototype, \"depth\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], CalendarBase.prototype, \"weekNumber\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('FirstDay')\n ], CalendarBase.prototype, \"weekRule\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], CalendarBase.prototype, \"showTodayButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Short')\n ], CalendarBase.prototype, \"dayHeaderFormat\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], CalendarBase.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], CalendarBase.prototype, \"keyConfigs\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], CalendarBase.prototype, \"serverTimezoneOffset\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], CalendarBase.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], CalendarBase.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], CalendarBase.prototype, \"navigated\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], CalendarBase.prototype, \"renderDayCell\", void 0);\n CalendarBase = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], CalendarBase);\n return CalendarBase;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n/**\n * Represents the Calendar component that allows the user to select a date.\n * ```html\n *
      \n * ```\n * ```typescript\n * \n * ```\n */\nvar Calendar = /** @class */ (function (_super) {\n __extends(Calendar, _super);\n /**\n * Initialized new instance of Calendar Class.\n * Constructor for creating the widget\n *\n * @param {CalendarModel} options - Specifies the Calendar model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function Calendar(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * To Initialize the control rendering.\n *\n * @returns {void}\n * @private\n */\n Calendar.prototype.render = function () {\n if (this.calendarMode === 'Islamic' && this.islamicModule === undefined) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.throwError)('Requires the injectable Islamic modules to render Calendar in Islamic mode');\n }\n if (this.isMultiSelection && typeof this.values === 'object' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.values) && this.values.length > 0) {\n var tempValues = [];\n var copyValues = [];\n for (var limit = 0; limit < this.values.length; limit++) {\n if (tempValues.indexOf(+this.values[limit]) === -1) {\n tempValues.push(+this.values[limit]);\n copyValues.push(this.values[limit]);\n }\n }\n this.setProperties({ values: copyValues }, true);\n for (var index = 0; index < this.values.length; index++) {\n if (!this.checkDateValue(this.values[index])) {\n if (typeof (this.values[index]) === 'string' && this.checkDateValue(new Date(this.checkValue(this.values[index])))) {\n var copyDate = new Date(this.checkValue(this.values[index]));\n this.values.splice(index, 1);\n this.values.splice(index, 0, copyDate);\n }\n else {\n this.values.splice(index, 1);\n }\n }\n }\n this.setProperties({ value: this.values[this.values.length - 1] }, true);\n this.previousValues = this.values.length;\n }\n this.validateDate();\n this.minMaxUpdate();\n if (this.getModuleName() === 'calendar') {\n this.setEnable(this.enabled);\n this.setClass(this.cssClass);\n }\n _super.prototype.render.call(this);\n if (this.getModuleName() === 'calendar') {\n var form = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (form) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(form, 'reset', this.formResetHandler.bind(this));\n }\n this.setTimeZone(this.serverTimezoneOffset);\n }\n this.renderComplete();\n };\n Calendar.prototype.setEnable = function (enable) {\n if (!enable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], DISABLED);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], DISABLED);\n }\n };\n Calendar.prototype.setClass = function (newCssClass, oldCssClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldCssClass)) {\n oldCssClass = (oldCssClass.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newCssClass)) {\n newCssClass = (newCssClass.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldCssClass) && oldCssClass !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], oldCssClass.split(' '));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newCssClass)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], newCssClass.split(' '));\n }\n };\n Calendar.prototype.isDayLightSaving = function () {\n var secondOffset = new Date(this.value.getFullYear(), 6, 1).getTimezoneOffset();\n var firstOffset = new Date(this.value.getFullYear(), 0, 1).getTimezoneOffset();\n return (this.value.getTimezoneOffset() < Math.max(firstOffset, secondOffset));\n };\n Calendar.prototype.setTimeZone = function (offsetValue) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.serverTimezoneOffset) && this.value) {\n var serverTimezoneDiff = offsetValue;\n var clientTimeZoneDiff = new Date().getTimezoneOffset() / 60;\n var timeZoneDiff = serverTimezoneDiff + clientTimeZoneDiff;\n timeZoneDiff = this.isDayLightSaving() ? timeZoneDiff-- : timeZoneDiff;\n this.value = new Date(this.value.getTime() + (timeZoneDiff * 60 * 60 * 1000));\n }\n };\n Calendar.prototype.formResetHandler = function () {\n this.setProperties({ value: null }, true);\n };\n Calendar.prototype.validateDate = function () {\n if (typeof this.value === 'string') {\n this.setProperties({ value: this.checkDateValue(new Date(this.checkValue(this.value))) }, true); // persist the value property.\n }\n _super.prototype.validateDate.call(this, this.value);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.min <= this.max && this.value >= this.min && this.value <= this.max) {\n this.currentDate = new Date(this.checkValue(this.value));\n }\n if (isNaN(+this.value)) {\n this.setProperties({ value: null }, true);\n }\n };\n Calendar.prototype.minMaxUpdate = function () {\n if (this.getModuleName() === 'calendar') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value <= this.min && this.min <= this.max) {\n this.setProperties({ value: this.min }, true);\n this.changedArgs = { value: this.value };\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value >= this.max && this.min <= this.max) {\n this.setProperties({ value: this.max }, true);\n this.changedArgs = { value: this.value };\n }\n }\n }\n if (this.getModuleName() !== 'calendar' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value < this.min && this.min <= this.max) {\n _super.prototype.minMaxUpdate.call(this, this.min);\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value > this.max && this.min <= this.max) {\n _super.prototype.minMaxUpdate.call(this, this.max);\n }\n }\n }\n else {\n _super.prototype.minMaxUpdate.call(this, this.value);\n }\n };\n Calendar.prototype.generateTodayVal = function (value) {\n var tempValue = new Date();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timezone)) {\n tempValue = _super.prototype.getDate.call(this, tempValue, this.timezone);\n }\n if (value && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timezone)) {\n tempValue.setHours(value.getHours());\n tempValue.setMinutes(value.getMinutes());\n tempValue.setSeconds(value.getSeconds());\n tempValue.setMilliseconds(value.getMilliseconds());\n }\n else {\n tempValue = new Date(tempValue.getFullYear(), tempValue.getMonth(), tempValue.getDate(), 0, 0, 0, 0);\n }\n return tempValue;\n };\n Calendar.prototype.todayButtonClick = function (e) {\n if (this.showTodayButton) {\n var tempValue = this.generateTodayVal(this.value);\n this.setProperties({ value: tempValue }, true);\n this.isTodayClicked = true;\n this.todayButtonEvent = e;\n if (this.isMultiSelection) {\n var copyValues = this.copyValues(this.values);\n if (!_super.prototype.checkPresentDate.call(this, tempValue, this.values)) {\n copyValues.push(tempValue);\n this.setProperties({ values: copyValues });\n }\n }\n _super.prototype.todayButtonClick.call(this, e, new Date(+this.value));\n }\n };\n Calendar.prototype.keyActionHandle = function (e) {\n _super.prototype.keyActionHandle.call(this, e, this.value, this.isMultiSelection);\n };\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n Calendar.prototype.preRender = function () {\n var _this = this;\n this.changeHandler = function (e) {\n _this.triggerChange(e);\n };\n this.checkView();\n _super.prototype.preRender.call(this, this.value);\n };\n /**\n * @returns {void}\n\n */\n Calendar.prototype.createContent = function () {\n this.previousDate = this.value;\n this.previousDateTime = this.value;\n _super.prototype.createContent.call(this);\n };\n Calendar.prototype.minMaxDate = function (localDate) {\n return _super.prototype.minMaxDate.call(this, localDate);\n };\n Calendar.prototype.renderMonths = function (e, value, isCustomDate) {\n _super.prototype.renderMonths.call(this, e, this.value, isCustomDate);\n };\n Calendar.prototype.renderDays = function (currentDate, value, isMultiSelect, values, isCustomDate, e) {\n var tempDays = _super.prototype.renderDays.call(this, currentDate, this.value, this.isMultiSelection, this.values, isCustomDate, e);\n if (this.isMultiSelection) {\n _super.prototype.validateValues.call(this, this.isMultiSelection, this.values);\n }\n return tempDays;\n };\n Calendar.prototype.renderYears = function (e) {\n if (this.calendarMode === 'Gregorian') {\n _super.prototype.renderYears.call(this, e, this.value);\n }\n else {\n this.islamicModule.islamicRenderYears(e, this.value);\n }\n };\n Calendar.prototype.renderDecades = function (e) {\n if (this.calendarMode === 'Gregorian') {\n _super.prototype.renderDecades.call(this, e, this.value);\n }\n else {\n this.islamicModule.islamicRenderDecade(e, this.value);\n }\n };\n Calendar.prototype.renderTemplate = function (elements, count, classNm, e) {\n if (this.calendarMode === 'Gregorian') {\n _super.prototype.renderTemplate.call(this, elements, count, classNm, e, this.value);\n }\n else {\n this.islamicModule.islamicRenderTemplate(elements, count, classNm, e, this.value);\n }\n this.changedArgs = { value: this.value, values: this.values };\n e && e.type === 'click' && e.currentTarget.classList.contains(OTHERMONTH) ? this.changeHandler(e) : this.changeHandler();\n };\n Calendar.prototype.clickHandler = function (e) {\n var eve = e.currentTarget;\n this.isPopupClicked = true;\n if (eve.classList.contains(OTHERMONTH)) {\n if (this.isMultiSelection) {\n var copyValues = this.copyValues(this.values);\n if (copyValues.toString().indexOf(this.getIdValue(e, null).toString()) === -1) {\n copyValues.push(this.getIdValue(e, null));\n this.setProperties({ values: copyValues }, true);\n this.setProperties({ value: this.values[this.values.length - 1] }, true);\n }\n else {\n this.previousDates = true;\n }\n }\n else {\n this.setProperties({ value: this.getIdValue(e, null) }, true);\n }\n }\n var storeView = this.currentView();\n _super.prototype.clickHandler.call(this, e, this.value);\n if (this.isMultiSelection && this.currentDate !== this.value &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tableBodyElement.querySelectorAll('.' + FOCUSEDDATE)[0]) && storeView === 'Year') {\n this.tableBodyElement.querySelectorAll('.' + FOCUSEDDATE)[0].classList.remove(FOCUSEDDATE);\n }\n };\n Calendar.prototype.switchView = function (view, e, isMultiSelection, isCustomDate) {\n _super.prototype.switchView.call(this, view, e, this.isMultiSelection, isCustomDate);\n };\n /**\n * To get component name\n *\n * @returns {string} Return the component name.\n * @private\n */\n Calendar.prototype.getModuleName = function () {\n _super.prototype.getModuleName.call(this);\n return 'calendar';\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the properties to be maintained upon browser refresh.\n *\n * @returns {string}\n */\n Calendar.prototype.getPersistData = function () {\n _super.prototype.getPersistData.call(this);\n var keyEntity = ['value', 'values'];\n return this.addOnPersist(keyEntity);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Called internally if any of the property value changed.\n *\n * @param {CalendarModel} newProp - Returns the dynamic property value of the component.\n * @param {CalendarModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @private\n */\n Calendar.prototype.onPropertyChanged = function (newProp, oldProp) {\n this.effect = '';\n this.rangeValidation(this.min, this.max);\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'value':\n if (this.isDateSelected) {\n if (typeof newProp.value === 'string') {\n this.setProperties({ value: new Date(this.checkValue(newProp.value)) }, true);\n }\n else {\n newProp.value = new Date(this.checkValue(newProp.value));\n }\n if (isNaN(+this.value)) {\n this.setProperties({ value: oldProp.value }, true);\n }\n this.update();\n }\n break;\n case 'values':\n if (this.isDateSelected) {\n if (typeof newProp.values === 'string' || typeof newProp.values === 'number') {\n this.setProperties({ values: null }, true);\n }\n else {\n var copyValues = this.copyValues(this.values);\n for (var index = 0; index < copyValues.length; index++) {\n var tempDate = copyValues[index];\n if (this.checkDateValue(tempDate) && !_super.prototype.checkPresentDate.call(this, tempDate, copyValues)) {\n copyValues.push(tempDate);\n }\n }\n this.setProperties({ values: copyValues }, true);\n if (this.values.length > 0) {\n this.setProperties({ value: newProp.values[newProp.values.length - 1] }, true);\n }\n }\n this.validateValues(this.isMultiSelection, this.values);\n this.update();\n }\n break;\n case 'isMultiSelection':\n if (this.isDateSelected) {\n this.setProperties({ isMultiSelection: newProp.isMultiSelection }, true);\n this.update();\n }\n break;\n case 'enabled':\n this.setEnable(this.enabled);\n break;\n case 'cssClass':\n if (this.getModuleName() === 'calendar') {\n this.setClass(newProp.cssClass, oldProp.cssClass);\n }\n break;\n default:\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp, this.isMultiSelection, this.values);\n }\n }\n this.preventChange = this.isAngular && this.preventChange ? !this.preventChange : this.preventChange;\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n Calendar.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n if (this.getModuleName() === 'calendar') {\n this.changedArgs = null;\n var form = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (form) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(form, 'reset', this.formResetHandler.bind(this));\n }\n }\n };\n /**\n * This method is used to navigate to the month/year/decade view of the Calendar.\n *\n * @param {string} view - Specifies the view of the Calendar.\n * @param {Date} date - Specifies the focused date in a view.\n * @param {boolean} isCustomDate - Specifies whether the calendar is rendered with custom today date or not.\n * @returns {void}\n\n */\n Calendar.prototype.navigateTo = function (view, date, isCustomDate) {\n this.minMaxUpdate();\n _super.prototype.navigateTo.call(this, view, date, isCustomDate);\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the current view of the Calendar.\n *\n * @returns {string}\n\n */\n Calendar.prototype.currentView = function () {\n return _super.prototype.currentView.call(this);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * This method is used to add the single or multiple dates to the values property of the Calendar.\n *\n * @param {Date | Date[]} dates - Specifies the date or dates to be added to the values property of the Calendar.\n * @returns {void}\n\n */\n Calendar.prototype.addDate = function (dates) {\n if (typeof dates !== 'string' && typeof dates !== 'number') {\n var copyValues = this.copyValues(this.values);\n if (typeof dates === 'object' && (dates).length > 0) {\n var tempDates = dates;\n for (var i = 0; i < tempDates.length; i++) {\n if (this.checkDateValue(tempDates[i]) && !_super.prototype.checkPresentDate.call(this, tempDates[i], copyValues)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(copyValues) && copyValues.length > 0) {\n copyValues.push(tempDates[i]);\n }\n else {\n copyValues = [new Date(+tempDates[i])];\n }\n }\n }\n }\n else {\n if (this.checkDateValue(dates) && !_super.prototype.checkPresentDate.call(this, dates, copyValues)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(copyValues) && copyValues.length > 0) {\n copyValues.push((dates));\n }\n else {\n copyValues = [new Date(+dates)];\n }\n }\n }\n this.setProperties({ values: copyValues }, true);\n if (this.isMultiSelection) {\n this.setProperties({ value: this.values[this.values.length - 1] }, true);\n }\n this.validateValues(this.isMultiSelection, copyValues);\n this.update();\n this.changedArgs = { value: this.value, values: this.values };\n this.changeHandler();\n }\n };\n /**\n * This method is used to remove the single or multiple dates from the values property of the Calendar.\n *\n * @param {Date | Date[]} dates - Specifies the date or dates which need to be removed from the values property of the Calendar.\n * @returns {void}\n\n */\n Calendar.prototype.removeDate = function (dates) {\n if (typeof dates !== 'string' && typeof dates !== 'number' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.values) && this.values.length > 0) {\n var copyValues = this.copyValues(this.values);\n if (typeof dates === 'object' && ((dates).length > 0)) {\n var tempDates = dates;\n for (var index = 0; index < tempDates.length; index++) {\n for (var i = 0; i < copyValues.length; i++) {\n if (+copyValues[i] === +tempDates[index]) {\n copyValues.splice(i, 1);\n }\n }\n }\n }\n else {\n for (var i = 0; i < copyValues.length; i++) {\n if (+copyValues[i] === +dates) {\n copyValues.splice(i, 1);\n }\n }\n }\n this.setProperties({ values: copyValues }, false);\n this.update();\n if (this.isMultiSelection) {\n this.setProperties({ value: this.values[this.values.length - 1] }, true);\n }\n this.changedArgs = { value: this.value, values: this.values };\n this.changeHandler();\n }\n };\n /**\n * To set custom today date in calendar\n *\n * @param {Date} date - Specifies date value to be set.\n * @private\n * @returns {void}\n */\n Calendar.prototype.setTodayDate = function (date) {\n var todayDate = new Date(+date);\n this.setProperties({ value: todayDate }, true);\n _super.prototype.todayButtonClick.call(this, null, todayDate, true);\n };\n Calendar.prototype.update = function () {\n this.validateDate();\n this.minMaxUpdate();\n _super.prototype.setValueUpdate.call(this);\n };\n Calendar.prototype.selectDate = function (e, date, element) {\n _super.prototype.selectDate.call(this, e, date, element, this.isMultiSelection, this.values);\n if (this.isMultiSelection && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.values) && this.values.length > 0) {\n this.setProperties({ value: this.values[this.values.length - 1] }, true);\n }\n this.changedArgs = { value: this.value, values: this.values };\n this.changeHandler(e);\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Calendar.prototype.changeEvent = function (e) {\n if ((this.value && this.value.valueOf()) !== (this.previousDate && +this.previousDate.valueOf())\n || this.isMultiSelection) {\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n else {\n this.trigger('change', this.changedArgs);\n }\n this.previousDate = new Date(+this.value);\n }\n };\n Calendar.prototype.triggerChange = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.todayButtonEvent) && this.isTodayClicked) {\n e = this.todayButtonEvent;\n this.isTodayClicked = false;\n }\n this.changedArgs.event = e || null;\n this.changedArgs.isInteracted = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.setProperties({ value: this.value }, true);\n }\n // eslint-disable-next-line\n if (!this.isMultiSelection && +this.value !== Number.NaN && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.previousDate) || this.previousDate === null\n && !isNaN(+this.value))) {\n this.changeEvent(e);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.values) && this.previousValues !== this.values.length) {\n this.changeEvent(e);\n this.previousValues = this.values.length;\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Calendar.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Calendar.prototype, \"values\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Calendar.prototype, \"isMultiSelection\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Calendar.prototype, \"change\", void 0);\n Calendar = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Calendar);\n return Calendar;\n}(CalendarBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-calendars/src/calendar/calendar.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DatePicker: () => (/* binding */ DatePicker)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _calendar_calendar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../calendar/calendar */ \"./node_modules/@syncfusion/ej2-calendars/src/calendar/calendar.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \n\n\n\n\n\n\n\n//class constant defination\nvar DATEWRAPPER = 'e-date-wrapper';\nvar ROOT = 'e-datepicker';\nvar LIBRARY = 'e-lib';\nvar CONTROL = 'e-control';\nvar POPUPWRAPPER = 'e-popup-wrapper';\nvar INPUTWRAPPER = 'e-input-group-icon';\nvar POPUP = 'e-popup';\nvar INPUTCONTAINER = 'e-input-group';\nvar INPUTFOCUS = 'e-input-focus';\nvar INPUTROOT = 'e-input';\nvar ERROR = 'e-error';\nvar ACTIVE = 'e-active';\nvar OVERFLOW = 'e-date-overflow';\nvar DATEICON = 'e-date-icon';\nvar CLEARICON = 'e-clear-icon';\nvar ICONS = 'e-icons';\nvar OPENDURATION = 300;\nvar OFFSETVALUE = 4;\nvar SELECTED = 'e-selected';\nvar FOCUSEDDATE = 'e-focused-date';\nvar NONEDIT = 'e-non-edit';\nvar containerAttr = ['title', 'class', 'style'];\n/**\n * Represents the DatePicker component that allows user to select\n * or enter a date value.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar DatePicker = /** @class */ (function (_super) {\n __extends(DatePicker, _super);\n /**\n * Constructor for creating the widget.\n *\n * @param {DatePickerModel} options - Specifies the DatePicker model.\n * @param {string | HTMLInputElement} element - Specifies the element to render as component.\n * @private\n */\n function DatePicker(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isDateIconClicked = false;\n _this.isAltKeyPressed = false;\n _this.isInteracted = true;\n _this.invalidValueString = null;\n _this.checkPreviousValue = null;\n _this.maskedDateValue = '';\n _this.preventChange = false;\n _this.isIconClicked = false;\n _this.isDynamicValueChanged = false;\n _this.moduleName = _this.getModuleName();\n _this.isFocused = false;\n _this.isBlur = false;\n _this.isKeyAction = false;\n _this.datepickerOptions = options;\n return _this;\n }\n /**\n * To Initialize the control rendering.\n *\n * @returns {void}\n * @private\n */\n DatePicker.prototype.render = function () {\n this.initialize();\n this.bindEvents();\n if (this.floatLabelType !== 'Never') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n this.renderComplete();\n this.setTimeZone(this.serverTimezoneOffset);\n };\n DatePicker.prototype.setTimeZone = function (offsetValue) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.serverTimezoneOffset) && this.value) {\n var clientTimeZoneDiff = new Date().getTimezoneOffset() / 60;\n var serverTimezoneDiff = offsetValue;\n var timeZoneDiff = serverTimezoneDiff + clientTimeZoneDiff;\n timeZoneDiff = this.isDayLightSaving() ? timeZoneDiff-- : timeZoneDiff;\n this.value = new Date((this.value).getTime() + (timeZoneDiff * 60 * 60 * 1000));\n this.updateInput();\n }\n };\n DatePicker.prototype.isDayLightSaving = function () {\n var firstOffset = new Date(this.value.getFullYear(), 0, 1).getTimezoneOffset();\n var secondOffset = new Date(this.value.getFullYear(), 6, 1).getTimezoneOffset();\n return (this.value.getTimezoneOffset() < Math.max(firstOffset, secondOffset));\n };\n DatePicker.prototype.setAllowEdit = function () {\n if (this.allowEdit) {\n if (!this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'readonly': '' });\n }\n this.updateIconState();\n };\n DatePicker.prototype.updateIconState = function () {\n if (!this.allowEdit && this.inputWrapper && !this.readonly) {\n if (this.inputElement.value === '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [NONEDIT]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], [NONEDIT]);\n }\n }\n else if (this.inputWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [NONEDIT]);\n }\n };\n DatePicker.prototype.initialize = function () {\n this.checkInvalidValue(this.value);\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n this.createInput();\n this.updateHtmlAttributeToWrapper();\n this.setAllowEdit();\n if (this.enableMask && !this.value && this.maskedDateValue && (this.floatLabelType === 'Always' || !this.floatLabelType || !this.placeholder)) {\n this.updateInput(true);\n this.updateInputValue(this.maskedDateValue);\n }\n else if (!this.enableMask) {\n this.updateInput(true);\n }\n this.previousElementValue = this.inputElement.value;\n this.previousDate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? new Date(+this.value) : null;\n this.inputElement.setAttribute('value', this.inputElement.value);\n this.inputValueCopy = this.value;\n };\n DatePicker.prototype.createInput = function () {\n var ariaAttrs = {\n 'aria-atomic': 'true', 'aria-expanded': 'false',\n 'role': 'combobox', 'autocomplete': 'off', 'autocorrect': 'off',\n 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-invalid': 'false'\n };\n if (this.getModuleName() === 'datepicker') {\n var l10nLocale = { placeholder: this.placeholder };\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('datepicker', l10nLocale, this.locale);\n this.setProperties({ placeholder: this.placeholder || this.l10n.getConstant('placeholder') }, true);\n }\n if (this.fullScreenMode && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.cssClass += ' ' + 'e-popup-expand';\n }\n var updatedCssClassValues = this.cssClass;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n updatedCssClassValues = (this.cssClass.replace(/\\s+/g, ' ')).trim();\n }\n var isBindClearAction = this.enableMask ? false : true;\n this.inputWrapper = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.createInput({\n element: this.inputElement,\n floatLabelType: this.floatLabelType,\n bindClearAction: isBindClearAction,\n properties: {\n readonly: this.readonly,\n placeholder: this.placeholder,\n cssClass: updatedCssClassValues,\n enabled: this.enabled,\n enableRtl: this.enableRtl,\n showClearButton: this.showClearButton\n },\n buttons: [INPUTWRAPPER + ' ' + DATEICON + ' ' + ICONS]\n }, this.createElement);\n this.setWidth(this.width);\n if (this.inputElement.name !== '') {\n this.inputElement.setAttribute('name', '' + this.inputElement.getAttribute('name'));\n }\n else {\n this.inputElement.setAttribute('name', '' + this.element.id);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, ariaAttrs);\n if (!this.inputElement.hasAttribute('aria-label')) {\n this.inputElement.setAttribute('aria-label', this.getModuleName());\n }\n if (!this.enabled) {\n this.inputElement.setAttribute('aria-disabled', 'true');\n this.inputElement.tabIndex = -1;\n }\n else {\n this.inputElement.setAttribute('aria-disabled', 'false');\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.addAttributes({ 'aria-label': 'select', 'role': 'button' }, this.inputWrapper.buttons[0]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], DATEWRAPPER);\n };\n DatePicker.prototype.updateInput = function (isDynamic, isBlur) {\n if (isDynamic === void 0) { isDynamic = false; }\n if (isBlur === void 0) { isBlur = false; }\n var formatOptions;\n if (this.value && !this.isCalendar()) {\n this.disabledDates(isDynamic, isBlur);\n }\n if (isNaN(+new Date(this.checkValue(this.value)))) {\n this.setProperties({ value: null }, true);\n }\n if (this.strictMode) {\n //calls the Calendar processDate protected method to update the date value according to the strictMode true behaviour.\n _super.prototype.validateDate.call(this);\n this.minMaxUpdates();\n _super.prototype.minMaxUpdate.call(this);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var dateValue = this.value;\n var dateString = void 0;\n var tempFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat;\n if (this.getModuleName() === 'datetimepicker') {\n if (this.calendarMode === 'Gregorian') {\n dateString = this.globalize.formatDate(this.value, {\n format: tempFormat, type: 'dateTime', skeleton: 'yMd'\n });\n }\n else {\n dateString = this.globalize.formatDate(this.value, {\n format: tempFormat, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic'\n });\n }\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n dateString = this.globalize.formatDate(this.value, formatOptions);\n }\n if ((+dateValue <= +this.max) && (+dateValue >= +this.min)) {\n this.updateInputValue(dateString);\n }\n else {\n var value = (+dateValue >= +this.max || !+this.value) || (!+this.value || +dateValue <= +this.min);\n if (!this.strictMode && value) {\n this.updateInputValue(dateString);\n }\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.strictMode) {\n if (!this.enableMask) {\n this.updateInputValue('');\n }\n else {\n this.updateInputValue(this.maskedDateValue);\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n }\n if (!this.strictMode && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.invalidValueString) {\n this.updateInputValue(this.invalidValueString);\n }\n this.changedArgs = { value: this.value };\n this.errorClass();\n this.updateIconState();\n };\n DatePicker.prototype.minMaxUpdates = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value < this.min && this.min <= this.max && this.strictMode) {\n this.setProperties({ value: this.min }, true);\n this.changedArgs = { value: this.value };\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value > this.max && this.min <= this.max && this.strictMode) {\n this.setProperties({ value: this.max }, true);\n this.changedArgs = { value: this.value };\n }\n }\n };\n DatePicker.prototype.checkStringValue = function (val) {\n var returnDate = null;\n var formatOptions = null;\n var formatDateTime = null;\n if (this.getModuleName() === 'datetimepicker') {\n var culture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.dateTimeFormat, type: 'dateTime', skeleton: 'yMd' };\n formatDateTime = { format: culture.getDatePattern({ skeleton: 'yMd' }), type: 'dateTime' };\n }\n else {\n formatOptions = { format: this.dateTimeFormat, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n formatDateTime = { format: culture.getDatePattern({ skeleton: 'yMd' }), type: 'dateTime', calendar: 'islamic' };\n }\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n }\n returnDate = this.checkDateValue(this.globalize.parseDate(this.getAmPmValue(val), formatOptions));\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(returnDate) && (this.getModuleName() === 'datetimepicker')) {\n returnDate = this.checkDateValue(this.globalize.parseDate(this.getAmPmValue(val), formatDateTime));\n }\n return returnDate;\n };\n DatePicker.prototype.checkInvalidValue = function (value) {\n if (!(value instanceof Date) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n var valueDate = null;\n var valueString = value;\n if (typeof value === 'number') {\n valueString = value.toString();\n }\n var formatOptions = null;\n var formatDateTime = null;\n if (this.getModuleName() === 'datetimepicker') {\n var culture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.dateTimeFormat, type: 'dateTime', skeleton: 'yMd' };\n formatDateTime = { format: culture.getDatePattern({ skeleton: 'yMd' }), type: 'dateTime' };\n }\n else {\n formatOptions = { format: this.dateTimeFormat, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n formatDateTime = { format: culture.getDatePattern({ skeleton: 'yMd' }), type: 'dateTime', calendar: 'islamic' };\n }\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n }\n var invalid = false;\n if (typeof valueString !== 'string') {\n valueString = null;\n invalid = true;\n }\n else {\n if (typeof valueString === 'string') {\n valueString = valueString.trim();\n }\n valueDate = this.checkStringValue(valueString);\n if (!valueDate) {\n var extISOString = null;\n var basicISOString = null;\n // eslint-disable-next-line\n extISOString = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/;\n // eslint-disable-next-line\n basicISOString = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/;\n if ((!extISOString.test(valueString) && !basicISOString.test(valueString))\n || (/^[a-zA-Z0-9- ]*$/).test(valueString) || isNaN(+new Date(this.checkValue(valueString)))) {\n invalid = true;\n }\n else {\n valueDate = new Date(valueString);\n }\n }\n }\n if (invalid) {\n if (!this.strictMode) {\n this.invalidValueString = valueString;\n }\n this.setProperties({ value: null }, true);\n }\n else {\n this.setProperties({ value: valueDate }, true);\n }\n }\n };\n DatePicker.prototype.bindInputEvent = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) || this.enableMask) {\n if (this.enableMask || this.formatString.indexOf('y') === -1) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'input', this.inputHandler, this);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'input', this.inputHandler);\n }\n }\n };\n DatePicker.prototype.bindEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.buttons[0], 'mousedown', this.dateIconHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'mouseup', this.mouseUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'focus', this.inputFocusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'blur', this.inputBlurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keyup', this.keyupHandler, this);\n if (this.enableMask) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keydown', this.keydownHandler, this);\n }\n this.bindInputEvent();\n // To prevent the twice triggering.\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'change', this.inputChangeHandler, this);\n if (this.showClearButton && this.inputWrapper.clearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.clearButton, 'mousedown touchstart', this.resetHandler, this);\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formElement, 'reset', this.resetFormHandler, this);\n }\n this.defaultKeyConfigs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.defaultKeyConfigs, this.keyConfigs);\n this.keyboardModules = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.inputElement, {\n eventName: 'keydown',\n keyAction: this.inputKeyActionHandle.bind(this),\n keyConfigs: this.defaultKeyConfigs\n });\n };\n DatePicker.prototype.keydownHandler = function (e) {\n switch (e.code) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End':\n case 'Backspace':\n case 'Delete':\n if (this.enableMask && !this.popupObj && !this.readonly) {\n if (e.code !== 'Delete' && e.code !== 'Backspace') {\n e.preventDefault();\n }\n this.notify('keyDownHandler', {\n module: 'MaskedDateTime',\n e: e\n });\n }\n break;\n default:\n break;\n }\n };\n DatePicker.prototype.unBindEvents = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.buttons[0], 'mousedown', this.dateIconHandler);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'mouseup', this.mouseUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'focus', this.inputFocusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'blur', this.inputBlurHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'change', this.inputChangeHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keyup', this.keyupHandler);\n if (this.enableMask) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keydown', this.keydownHandler);\n }\n if (this.showClearButton && this.inputWrapper.clearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.clearButton, 'mousedown touchstart', this.resetHandler);\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.resetFormHandler);\n }\n };\n DatePicker.prototype.resetFormHandler = function () {\n if (!this.enabled) {\n return;\n }\n if (!this.inputElement.disabled) {\n var value = this.inputElement.getAttribute('value');\n if (this.element.tagName === 'EJS-DATEPICKER' || this.element.tagName === 'EJS-DATETIMEPICKER') {\n value = '';\n this.inputValueCopy = null;\n this.inputElement.setAttribute('value', '');\n }\n this.setProperties({ value: this.inputValueCopy }, true);\n this.restoreValue();\n if (this.inputElement) {\n this.updateInputValue(value);\n this.errorClass();\n }\n }\n };\n DatePicker.prototype.restoreValue = function () {\n this.currentDate = this.value ? this.value : new Date();\n this.previousDate = this.value;\n this.previousElementValue = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputValueCopy)) ? '' :\n this.globalize.formatDate(this.inputValueCopy, {\n format: this.formatString, type: 'dateTime', skeleton: 'yMd'\n });\n };\n DatePicker.prototype.inputChangeHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n e.stopPropagation();\n };\n DatePicker.prototype.bindClearEvent = function () {\n if (this.showClearButton && this.inputWrapper.clearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.clearButton, 'mousedown touchstart', this.resetHandler, this);\n }\n };\n DatePicker.prototype.resetHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n e.preventDefault();\n this.clear(e);\n };\n DatePicker.prototype.mouseUpHandler = function (e) {\n if (this.enableMask) {\n e.preventDefault();\n this.notify('setMaskSelection', {\n module: 'MaskedDateTime'\n });\n }\n };\n DatePicker.prototype.clear = function (event) {\n this.setProperties({ value: null }, true);\n if (!this.enableMask) {\n this.updateInputValue('');\n }\n var clearedArgs = {\n event: event\n };\n this.trigger('cleared', clearedArgs);\n this.invalidValueString = '';\n this.updateInput();\n this.popupUpdate();\n this.changeEvent(event);\n if (this.enableMask) {\n this.notify('clearHandler', {\n module: 'MaskedDateTime'\n });\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form')) {\n var element = this.element;\n var keyupEvent = document.createEvent('KeyboardEvent');\n keyupEvent.initEvent('keyup', false, true);\n element.dispatchEvent(keyupEvent);\n }\n };\n DatePicker.prototype.preventEventBubbling = function (e) {\n e.preventDefault();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.interopAdaptor.invokeMethodAsync('OnDateIconClick');\n };\n DatePicker.prototype.updateInputValue = function (value) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(value, this.inputElement, this.floatLabelType, this.showClearButton);\n };\n DatePicker.prototype.dateIconHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n this.isIconClicked = true;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.inputElement.setAttribute('readonly', '');\n this.inputElement.blur();\n }\n e.preventDefault();\n if (!this.readonly) {\n if (this.isCalendar()) {\n this.hide(e);\n }\n else {\n this.isDateIconClicked = true;\n this.show(null, e);\n if (this.getModuleName() === 'datetimepicker') {\n this.inputElement.focus();\n }\n this.inputElement.focus();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], [INPUTFOCUS]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(this.inputWrapper.buttons, ACTIVE);\n }\n }\n this.isIconClicked = false;\n };\n DatePicker.prototype.updateHtmlAttributeToWrapper = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes[\"\" + key])) {\n if (containerAttr.indexOf(key) > -1) {\n if (key === 'class') {\n var updatedClassValues = (this.htmlAttributes[\"\" + key].replace(/\\s+/g, ' ')).trim();\n if (updatedClassValues !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], updatedClassValues.split(' '));\n }\n }\n else if (key === 'style') {\n var setStyle = this.inputWrapper.container.getAttribute(key);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(setStyle)) {\n if (setStyle.charAt(setStyle.length - 1) === ';') {\n setStyle = setStyle + this.htmlAttributes[\"\" + key];\n }\n else {\n setStyle = setStyle + ';' + this.htmlAttributes[\"\" + key];\n }\n }\n else {\n setStyle = this.htmlAttributes[\"\" + key];\n }\n this.inputWrapper.container.setAttribute(key, setStyle);\n }\n else {\n this.inputWrapper.container.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n }\n }\n };\n DatePicker.prototype.updateHtmlAttributeToElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (containerAttr.indexOf(key) < 0) {\n this.inputElement.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n };\n DatePicker.prototype.updateCssClass = function (newCssClass, oldCssClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldCssClass)) {\n oldCssClass = (oldCssClass.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newCssClass)) {\n newCssClass = (newCssClass.replace(/\\s+/g, ' ')).trim();\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setCssClass(newCssClass, [this.inputWrapper.container], oldCssClass);\n if (this.popupWrapper) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setCssClass(newCssClass, [this.popupWrapper], oldCssClass);\n }\n };\n DatePicker.prototype.calendarKeyActionHandle = function (e) {\n switch (e.action) {\n case 'escape':\n if (this.isCalendar()) {\n this.hide(e);\n }\n else {\n this.inputWrapper.container.children[this.index].blur();\n }\n break;\n case 'enter':\n if (!this.isCalendar()) {\n this.show(null, e);\n }\n else {\n if (+this.value !== +this.currentDate && !this.isCalendar()) {\n this.inputWrapper.container.children[this.index].focus();\n }\n }\n if (this.getModuleName() === 'datetimepicker') {\n this.inputElement.focus();\n }\n break;\n }\n };\n DatePicker.prototype.inputFocusHandler = function () {\n this.isFocused = true;\n if (!this.enabled) {\n return;\n }\n if (this.enableMask && !this.inputElement.value && this.placeholder) {\n if (this.maskedDateValue && !this.value && (this.floatLabelType === 'Auto' || this.floatLabelType === 'Never' || this.placeholder)) {\n this.updateInputValue(this.maskedDateValue);\n this.inputElement.selectionStart = 0;\n this.inputElement.selectionEnd = this.inputElement.value.length;\n }\n }\n if (this.enableMask && this.showClearButton && this.inputElement && this.inputElement.value === this.maskedDateValue && this.inputWrapper && this.inputWrapper.clearButton && !this.inputWrapper.clearButton.classList.contains('e-clear-icon-hide')) {\n this.inputWrapper.clearButton.classList.add('e-clear-icon-hide');\n }\n var focusArguments = {\n model: this\n };\n this.isDateIconClicked = false;\n this.trigger('focus', focusArguments);\n this.updateIconState();\n if (this.openOnFocus && !this.isIconClicked) {\n this.show();\n }\n };\n DatePicker.prototype.inputHandler = function (e) {\n this.isPopupClicked = false;\n if (this.enableMask) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.inputType) && e.inputType === 'insertFromPaste') {\n this.notify('maskPasteInputHandler', {\n module: 'MaskedDateTime'\n });\n }\n else {\n this.notify('inputHandler', {\n module: 'MaskedDateTime'\n });\n }\n }\n };\n DatePicker.prototype.inputBlurHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n this.strictModeUpdate();\n if (this.inputElement.value === '' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.invalidValueString = null;\n this.updateInputValue('');\n }\n this.isBlur = true;\n this.updateInput(false, true);\n this.isBlur = false;\n this.popupUpdate();\n this.changeTrigger(e);\n if (this.enableMask && this.maskedDateValue && this.placeholder && this.floatLabelType !== 'Always') {\n if (this.inputElement.value === this.maskedDateValue && !this.value && (this.floatLabelType === 'Auto' || this.floatLabelType === 'Never' || this.placeholder)) {\n this.updateInputValue('');\n }\n }\n this.errorClass();\n if (this.isCalendar() && document.activeElement === this.inputElement) {\n this.hide(e);\n }\n if (this.getModuleName() === 'datepicker') {\n var blurArguments = {\n model: this\n };\n this.trigger('blur', blurArguments);\n }\n if (this.isCalendar()) {\n this.defaultKeyConfigs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.defaultKeyConfigs, this.keyConfigs);\n this.calendarKeyboardModules = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.calendarElement.children[1].firstElementChild, {\n eventName: 'keydown',\n keyAction: this.calendarKeyActionHandle.bind(this),\n keyConfigs: this.defaultKeyConfigs\n });\n }\n this.isPopupClicked = false;\n };\n DatePicker.prototype.documentHandler = function (e) {\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) && (this.inputWrapper.container.contains(e.target) && e.type !== 'mousedown' ||\n (this.popupObj.element && this.popupObj.element.contains(e.target)))) && e.type !== 'touchstart') {\n e.preventDefault();\n }\n var target = e.target;\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-datepicker.e-popup-wrapper')) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)\n && !((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + INPUTCONTAINER) === this.inputWrapper.container)\n && (!target.classList.contains('e-day'))\n && (!target.classList.contains('e-dlg-overlay'))) {\n this.hide(e);\n this.focusOut();\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-datepicker.e-popup-wrapper')) {\n // Fix for close the popup when select the previously selected value.\n if (target.classList.contains('e-day')\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target.parentElement)\n && e.target.parentElement.classList.contains('e-selected')\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-content')\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-content').classList.contains('e-' + this.depth.toLowerCase())) {\n this.hide(e);\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-footer-container')\n && target.classList.contains('e-today')\n && target.classList.contains('e-btn')\n && (+new Date(+this.value) === +_super.prototype.generateTodayVal.call(this, this.value))) {\n this.hide(e);\n }\n }\n };\n DatePicker.prototype.inputKeyActionHandle = function (e) {\n var clickedView = this.currentView();\n switch (e.action) {\n case 'altUpArrow':\n this.isAltKeyPressed = false;\n this.hide(e);\n this.inputElement.focus();\n break;\n case 'altDownArrow':\n this.isAltKeyPressed = true;\n this.strictModeUpdate();\n this.updateInput();\n this.changeTrigger(e);\n if (this.getModuleName() === 'datepicker') {\n this.show(null, e);\n }\n break;\n case 'escape':\n this.hide(e);\n break;\n case 'enter':\n this.strictModeUpdate();\n this.updateInput();\n this.popupUpdate();\n this.changeTrigger(e);\n this.errorClass();\n if (!this.isCalendar() && document.activeElement === this.inputElement) {\n this.hide(e);\n }\n if (this.isCalendar()) {\n e.preventDefault();\n e.stopPropagation();\n }\n break;\n case 'tab':\n case 'shiftTab':\n {\n var start = this.inputElement.selectionStart;\n var end = this.inputElement.selectionEnd;\n if (this.enableMask && !this.popupObj && !this.readonly) {\n var length_1 = this.inputElement.value.length;\n if ((start === 0 && end === length_1) || (end !== length_1 && e.action === 'tab') || (start !== 0 && e.action === 'shiftTab')) {\n e.preventDefault();\n }\n this.notify('keyDownHandler', {\n module: 'MaskedDateTime',\n e: e\n });\n start = this.inputElement.selectionStart;\n end = this.inputElement.selectionEnd;\n }\n this.strictModeUpdate();\n this.updateInput();\n this.popupUpdate();\n this.changeTrigger(e);\n this.errorClass();\n if (this.enableMask) {\n this.inputElement.selectionStart = start;\n this.inputElement.selectionEnd = end;\n }\n if (e.action === 'tab' && e.target === this.inputElement && this.isCalendar() && document.activeElement === this.inputElement) {\n e.preventDefault();\n this.headerTitleElement.focus();\n }\n if (e.action === 'shiftTab' && e.target === this.inputElement && this.isCalendar() && document.activeElement === this.inputElement) {\n this.hide(e);\n }\n break;\n }\n default:\n this.defaultAction(e);\n // Fix for close the popup when select the previously selected value.\n if (e.action === 'select' && clickedView === this.depth) {\n this.hide(e);\n }\n }\n };\n DatePicker.prototype.defaultAction = function (e) {\n this.previousDate = ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && new Date(+this.value)) || null);\n if (this.isCalendar()) {\n _super.prototype.keyActionHandle.call(this, e);\n if (this.isCalendar()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, {\n 'aria-activedescendant': '' + this.setActiveDescendant()\n });\n }\n }\n };\n DatePicker.prototype.popupUpdate = function () {\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.previousDate)) ||\n (((this.getModuleName() !== 'datetimepicker') && (+this.value !== +this.previousDate)) || ((this.getModuleName() === 'datetimepicker') && (+this.value !== +this.previousDateTime)))) {\n if (this.popupObj) {\n if (this.popupObj.element.querySelectorAll('.' + SELECTED).length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(this.popupObj.element.querySelectorAll('.' + SELECTED), [SELECTED]);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n if ((+this.value >= +this.min) && (+this.value <= +this.max)) {\n var targetdate = new Date(this.checkValue(this.value));\n _super.prototype.navigateTo.call(this, 'Month', targetdate);\n }\n }\n }\n };\n DatePicker.prototype.strictModeUpdate = function () {\n var format;\n var pattern = /^y/;\n var charPattern = /[^a-zA-Z]/;\n var formatOptions;\n if (this.getModuleName() === 'datetimepicker') {\n format = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat;\n }\n else if (!pattern.test(this.formatString) || charPattern.test(this.formatString)) {\n format = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.formatString.replace('dd', 'd');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format)) {\n var len = format.split('M').length - 1;\n if (len < 3) {\n format = format.replace('MM', 'M');\n }\n }\n else {\n format = this.formatString;\n }\n var dateOptions;\n if (this.getModuleName() === 'datetimepicker') {\n if (this.calendarMode === 'Gregorian') {\n dateOptions = {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat,\n type: 'dateTime', skeleton: 'yMd'\n };\n }\n else {\n dateOptions = {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat,\n type: 'dateTime', skeleton: 'yMd', calendar: 'islamic'\n };\n }\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: format, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: format, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n dateOptions = formatOptions;\n }\n var date;\n if (typeof this.inputElement.value === 'string') {\n this.inputElement.value = this.inputElement.value.trim();\n }\n if ((this.getModuleName() === 'datetimepicker')) {\n if (this.checkDateValue(this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), dateOptions))) {\n date = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), dateOptions);\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: format, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: format, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n date = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), formatOptions);\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date) || (typeof (date) === 'object' && isNaN(date.getTime())))\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputFormatsString)) {\n for (var _i = 0, _a = this.inputFormatsString; _i < _a.length; _i++) {\n var format_1 = _a[_i];\n var inputFormatOptions = void 0;\n if (this.calendarMode === 'Gregorian') {\n inputFormatOptions = { format: format_1, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n inputFormatOptions = { format: format_1, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n date = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), inputFormatOptions);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date) && date instanceof Date && !isNaN(date.getTime())) {\n break;\n }\n }\n }\n }\n else {\n date = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), dateOptions);\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date) || (typeof (date) === 'object' && isNaN(date.getTime())))\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputFormatsString)) {\n for (var _b = 0, _c = this.inputFormatsString; _b < _c.length; _b++) {\n var format_2 = _c[_b];\n var inputFormatOptions = void 0;\n if (this.calendarMode === 'Gregorian') {\n inputFormatOptions = { format: format_2, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n inputFormatOptions = { format: format_2, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n date = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), inputFormatOptions);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date) && date instanceof Date && !isNaN(date.getTime())) {\n break;\n }\n }\n }\n date = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date) && isNaN(+date)) ? null : date;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) && this.inputElement.value !== '' && this.strictMode) {\n if ((this.isPopupClicked || (!this.isPopupClicked && this.inputElement.value === this.previousElementValue))\n && this.formatString.indexOf('y') === -1) {\n date.setFullYear(this.value.getFullYear());\n }\n }\n }\n // EJ2-35061 - To prevent change event from triggering twice when using strictmode and format property\n if ((this.getModuleName() === 'datepicker') && (this.value && !isNaN(+this.value)) && date) {\n date.setHours(this.value.getHours(), this.value.getMinutes(), this.value.getSeconds(), this.value.getMilliseconds());\n }\n if (this.strictMode && date) {\n this.updateInputValue(this.globalize.formatDate(date, dateOptions));\n if (this.inputElement.value !== this.previousElementValue) {\n this.setProperties({ value: date }, true);\n }\n }\n else if (!this.strictMode) {\n if (this.inputElement.value !== this.previousElementValue) {\n this.setProperties({ value: date }, true);\n }\n }\n if (this.strictMode && !date && this.inputElement.value === (this.enableMask ? this.maskedDateValue : '')) {\n this.setProperties({ value: null }, true);\n }\n if (isNaN(+this.value)) {\n this.setProperties({ value: null }, true);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.currentDate = new Date(new Date().setHours(0, 0, 0, 0));\n }\n };\n DatePicker.prototype.createCalendar = function () {\n var _this = this;\n this.popupWrapper = this.createElement('div', { className: '' + ROOT + ' ' + POPUPWRAPPER, id: this.inputElement.id + '_options' });\n this.popupWrapper.setAttribute('aria-label', this.element.id);\n this.popupWrapper.setAttribute('role', 'dialog');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass)) {\n this.popupWrapper.className += ' ' + this.cssClass;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.modelHeader();\n this.modal = this.createElement('div');\n this.modal.className = '' + ROOT + ' e-date-modal';\n document.body.className += ' ' + OVERFLOW;\n this.modal.style.display = 'block';\n document.body.appendChild(this.modal);\n }\n //this.calendarElement represent the Calendar object from the Calendar class.\n this.calendarElement.querySelector('table tbody').className = '';\n this.popupObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_2__.Popup(this.popupWrapper, {\n content: this.calendarElement,\n relateTo: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? document.body : this.inputWrapper.container,\n position: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? { X: 'center', Y: 'center' } : (this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' }),\n offsetY: OFFSETVALUE,\n targetType: 'container',\n enableRtl: this.enableRtl,\n zIndex: this.zIndex,\n collision: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? { X: 'fit', Y: 'fit' } : (this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }),\n open: function () {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.fullScreenMode) {\n _this.iconRight = parseInt(window.getComputedStyle(_this.calendarElement.querySelector('.e-header.e-month .e-prev')).marginRight, 10) > 16 ? true : false;\n _this.touchModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(_this.calendarElement.querySelector('.e-content.e-month'), {\n swipe: _this.CalendarSwipeHandler.bind(_this)\n });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(_this.calendarElement.querySelector('.e-content.e-month'), 'touchstart', _this.TouchStartHandler, _this);\n }\n if (_this.getModuleName() !== 'datetimepicker') {\n if (document.activeElement !== _this.inputElement) {\n _this.defaultKeyConfigs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(_this.defaultKeyConfigs, _this.keyConfigs);\n _this.calendarElement.children[1].firstElementChild.focus();\n _this.calendarKeyboardModules = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(_this.calendarElement.children[1].firstElementChild, {\n eventName: 'keydown',\n keyAction: _this.calendarKeyActionHandle.bind(_this),\n keyConfigs: _this.defaultKeyConfigs\n });\n _this.calendarKeyboardModules = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(_this.inputWrapper.container.children[_this.index], {\n eventName: 'keydown',\n keyAction: _this.calendarKeyActionHandle.bind(_this),\n keyConfigs: _this.defaultKeyConfigs\n });\n }\n }\n }, close: function () {\n if (_this.isDateIconClicked) {\n _this.inputWrapper.container.children[_this.index].focus();\n }\n if (_this.value) {\n _this.disabledDates();\n }\n if (_this.popupObj) {\n _this.popupObj.destroy();\n }\n _this.resetCalendar();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(_this.popupWrapper);\n _this.popupObj = _this.popupWrapper = null;\n _this.preventArgs = null;\n _this.calendarKeyboardModules = null;\n _this.setAriaAttributes();\n }, targetExitViewport: function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.hide();\n }\n }\n });\n this.popupObj.element.className += ' ' + this.cssClass;\n this.setAriaAttributes();\n };\n DatePicker.prototype.getAmPmValue = function (date) {\n try {\n if (typeof date === 'string' && date.trim() !== '') {\n // Replace am/pm variants with uppercase AM/PM\n return date.replace(/(am|pm|Am|aM|pM|Pm)/g, function (match) { return match.toLocaleUpperCase(); });\n }\n // If date is null, undefined, or an empty string, return a default value or empty string\n return '';\n }\n catch (error) {\n console.error('Error occurred while processing date:', error);\n return ''; // Return a default value in case of an error\n }\n };\n DatePicker.prototype.CalendarSwipeHandler = function (e) {\n var direction = 0;\n if (this.iconRight) {\n switch (e.swipeDirection) {\n case 'Left':\n direction = 1;\n break;\n case 'Right':\n direction = -1;\n break;\n default:\n break;\n }\n }\n else {\n switch (e.swipeDirection) {\n case 'Up':\n direction = 1;\n break;\n case 'Down':\n direction = -1;\n break;\n default:\n break;\n }\n }\n if (this.touchStart) {\n if (direction === 1) {\n this.navigateNext(e);\n }\n else if (direction === -1) {\n this.navigatePrevious(e);\n }\n this.touchStart = false;\n }\n };\n DatePicker.prototype.TouchStartHandler = function (e) {\n this.touchStart = true;\n };\n DatePicker.prototype.setAriaDisabled = function () {\n if (!this.enabled) {\n this.inputElement.setAttribute('aria-disabled', 'true');\n this.inputElement.tabIndex = -1;\n }\n else {\n this.inputElement.setAttribute('aria-disabled', 'false');\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n }\n };\n DatePicker.prototype.modelHeader = function () {\n var dateOptions;\n var modelHeader = this.createElement('div', { className: 'e-model-header' });\n var yearHeading = this.createElement('h1', { className: 'e-model-year' });\n var h2 = this.createElement('div');\n var daySpan = this.createElement('span', { className: 'e-model-day' });\n var monthSpan = this.createElement('span', { className: 'e-model-month' });\n if (this.calendarMode === 'Gregorian') {\n dateOptions = { format: 'y', skeleton: 'dateTime' };\n }\n else {\n dateOptions = { format: 'y', skeleton: 'dateTime', calendar: 'islamic' };\n }\n yearHeading.textContent = '' + this.globalize.formatDate(this.value || new Date(), dateOptions);\n if (this.calendarMode === 'Gregorian') {\n dateOptions = { format: 'E', skeleton: 'dateTime' };\n }\n else {\n dateOptions = { format: 'E', skeleton: 'dateTime', calendar: 'islamic' };\n }\n daySpan.textContent = '' + this.globalize.formatDate(this.value || new Date(), dateOptions) + ', ';\n if (this.calendarMode === 'Gregorian') {\n dateOptions = { format: 'MMM d', skeleton: 'dateTime' };\n }\n else {\n dateOptions = { format: 'MMM d', skeleton: 'dateTime', calendar: 'islamic' };\n }\n monthSpan.textContent = '' + this.globalize.formatDate(this.value || new Date(), dateOptions);\n if (this.fullScreenMode) {\n var modelCloseIcon = this.createElement('span', { className: 'e-popup-close' });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.modelCloseHandler, this);\n var modelTodayButton = this.calendarElement.querySelector('button.e-today');\n h2.classList.add('e-day-wrapper');\n modelTodayButton.classList.add('e-outline');\n modelHeader.appendChild(modelCloseIcon);\n modelHeader.appendChild(modelTodayButton);\n }\n if (!this.fullScreenMode) {\n modelHeader.appendChild(yearHeading);\n }\n h2.appendChild(daySpan);\n h2.appendChild(monthSpan);\n modelHeader.appendChild(h2);\n this.calendarElement.insertBefore(modelHeader, this.calendarElement.firstElementChild);\n };\n DatePicker.prototype.modelCloseHandler = function (e) {\n this.hide();\n };\n DatePicker.prototype.changeTrigger = function (event) {\n if (this.inputElement.value !== this.previousElementValue) {\n if (((this.previousDate && this.previousDate.valueOf()) !== (this.value && this.value.valueOf()))) {\n if (this.isDynamicValueChanged && this.isCalendar()) {\n this.popupUpdate();\n }\n this.changedArgs.value = this.value;\n this.changedArgs.event = event || null;\n this.changedArgs.element = this.element;\n this.changedArgs.isInteracted = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(event);\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n else {\n this.trigger('change', this.changedArgs);\n }\n this.previousElementValue = this.inputElement.value;\n this.previousDate = !isNaN(+new Date(this.checkValue(this.value))) ? new Date(this.checkValue(this.value)) : null;\n this.isInteracted = true;\n }\n }\n this.isKeyAction = false;\n };\n DatePicker.prototype.navigatedEvent = function (eve) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.navigatedArgs, { name: 'navigated', event: eve });\n this.trigger('navigated', this.navigatedArgs);\n };\n DatePicker.prototype.keyupHandler = function (e) {\n this.isKeyAction = (this.inputElement.value !== this.previousElementValue) ? true : false;\n if (this.enableMask && this.showClearButton && this.inputElement && this.inputElement.value === this.maskedDateValue && this.inputWrapper && this.inputWrapper.clearButton && !this.inputWrapper.clearButton.classList.contains('e-clear-icon-hide')) {\n this.inputWrapper.clearButton.classList.add('e-clear-icon-hide');\n }\n };\n DatePicker.prototype.changeEvent = function (event) {\n if (!this.isIconClicked && !(this.isBlur || this.isKeyAction)) {\n this.selectCalendar(event);\n }\n if (((this.previousDate && this.previousDate.valueOf()) !== (this.value && this.value.valueOf()))) {\n this.changedArgs.event = event ? event : null;\n this.changedArgs.element = this.element;\n this.changedArgs.isInteracted = this.isInteracted;\n if (!this.isDynamicValueChanged) {\n this.trigger('change', this.changedArgs);\n }\n this.previousDate = this.value && new Date(+this.value);\n if (!this.isDynamicValueChanged) {\n this.hide(event);\n }\n this.previousElementValue = this.inputElement.value;\n this.errorClass();\n }\n else if (event) {\n this.hide(event);\n }\n this.isKeyAction = false;\n };\n DatePicker.prototype.requiredModules = function () {\n var modules = [];\n if (this.calendarMode === 'Islamic') {\n modules.push({ args: [this], member: 'islamic', name: 'Islamic' });\n }\n if (this.enableMask) {\n modules.push({ args: [this], member: 'MaskedDateTime' });\n }\n return modules;\n };\n DatePicker.prototype.selectCalendar = function (e) {\n var date;\n var tempFormat;\n var formatOptions;\n if (this.getModuleName() === 'datetimepicker') {\n tempFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat;\n }\n else {\n tempFormat = this.formatString;\n }\n if (this.value) {\n if (this.getModuleName() === 'datetimepicker') {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: tempFormat, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: tempFormat, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n date = this.globalize.formatDate(this.changedArgs.value, formatOptions);\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n date = this.globalize.formatDate(this.changedArgs.value, formatOptions);\n }\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(date)) {\n this.updateInputValue(date);\n if (this.enableMask) {\n this.notify('setMaskSelection', {\n module: 'MaskedDateTime'\n });\n }\n }\n };\n DatePicker.prototype.isCalendar = function () {\n if (this.popupWrapper && this.popupWrapper.classList.contains('' + POPUPWRAPPER)) {\n return true;\n }\n return false;\n };\n DatePicker.prototype.setWidth = function (width) {\n if (typeof width === 'number') {\n this.inputWrapper.container.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n }\n else if (typeof width === 'string') {\n this.inputWrapper.container.style.width = (width.match(/px|%|em/)) ? (this.width) : ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width));\n }\n else {\n this.inputWrapper.container.style.width = '100%';\n }\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Shows the Calendar.\n *\n * @returns {void}\n\n */\n DatePicker.prototype.show = function (type, e) {\n var _this = this;\n if ((this.enabled && this.readonly) || !this.enabled || this.popupObj) {\n return;\n }\n else {\n var prevent_1 = true;\n var outOfRange = void 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && !(+this.value >= +new Date(this.checkValue(this.min))\n && +this.value <= +new Date(this.checkValue(this.max)))) {\n outOfRange = new Date(this.checkValue(this.value));\n this.setProperties({ 'value': null }, true);\n }\n else {\n outOfRange = this.value || null;\n }\n if (!this.isCalendar()) {\n _super.prototype.render.call(this);\n this.setProperties({ 'value': outOfRange || null }, true);\n this.previousDate = outOfRange;\n this.createCalendar();\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.mobilePopupWrapper = this.createElement('div', { className: 'e-datepick-mob-popup-wrap' });\n document.body.appendChild(this.mobilePopupWrapper);\n }\n this.preventArgs = {\n preventDefault: function () {\n prevent_1 = false;\n },\n popup: this.popupObj,\n event: e || null,\n cancel: false,\n appendTo: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? this.mobilePopupWrapper : document.body\n };\n var eventArgs = this.preventArgs;\n this.trigger('open', eventArgs, function (eventArgs) {\n _this.preventArgs = eventArgs;\n if (prevent_1 && !_this.preventArgs.cancel) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(_this.inputWrapper.buttons, ACTIVE);\n _this.preventArgs.appendTo.appendChild(_this.popupWrapper);\n _this.popupObj.refreshPosition(_this.inputElement);\n var openAnimation = {\n name: 'FadeIn',\n duration: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? 0 : OPENDURATION\n };\n if (_this.zIndex === 1000) {\n _this.popupObj.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(openAnimation), _this.element);\n }\n else {\n _this.popupObj.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(openAnimation), null);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _super.prototype.setOverlayIndex.call(_this, _this.mobilePopupWrapper, _this.popupObj.element, _this.modal, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice);\n _this.setAriaAttributes();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n var dlgOverlay = _this.createElement('div', { className: 'e-dlg-overlay' });\n dlgOverlay.style.zIndex = (_this.zIndex - 1).toString();\n _this.mobilePopupWrapper.appendChild(dlgOverlay);\n }\n }\n else {\n _this.popupObj.destroy();\n _this.popupWrapper = _this.popupObj = null;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.inputElement) && _this.inputElement.value === '') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.tableBodyElement) && _this.tableBodyElement.querySelectorAll('td.e-selected').length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.tableBodyElement.querySelector('td.e-selected')], FOCUSEDDATE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(_this.tableBodyElement.querySelectorAll('td.e-selected'), SELECTED);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown touchstart', _this.documentHandler, _this);\n });\n }\n };\n /**\n * Hide the Calendar.\n *\n * @returns {void}\n\n */\n DatePicker.prototype.hide = function (event) {\n var _this = this;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n var prevent_2 = true;\n this.preventArgs = {\n preventDefault: function () {\n prevent_2 = false;\n },\n popup: this.popupObj,\n event: event || null,\n cancel: false\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(this.inputWrapper.buttons, ACTIVE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], OVERFLOW);\n var eventArgs = this.preventArgs;\n if (this.isCalendar()) {\n this.trigger('close', eventArgs, function (eventArgs) {\n _this.closeEventCallback(prevent_2, eventArgs);\n });\n }\n else {\n this.closeEventCallback(prevent_2, eventArgs);\n }\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowEdit && !this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n this.setAllowEdit();\n }\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n DatePicker.prototype.closeEventCallback = function (prevent, eventArgs) {\n this.preventArgs = eventArgs;\n if (this.isCalendar() && (prevent && !this.preventArgs.cancel)) {\n this.popupObj.hide();\n this.isAltKeyPressed = false;\n this.keyboardModule.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(this.inputWrapper.buttons, ACTIVE);\n }\n this.setAriaAttributes();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.modal) {\n this.modal.style.display = 'none';\n this.modal.outerHTML = '';\n this.modal = null;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mobilePopupWrapper) &&\n (prevent && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.preventArgs) || !this.preventArgs.cancel))) {\n this.mobilePopupWrapper.remove();\n this.mobilePopupWrapper = null;\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown touchstart', this.documentHandler);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowEdit && !this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n this.setAllowEdit();\n };\n /* eslint-disable jsdoc/require-param */\n /**\n * Sets the focus to widget for interaction.\n *\n * @returns {void}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DatePicker.prototype.focusIn = function (triggerEvent) {\n if (document.activeElement !== this.inputElement && this.enabled) {\n this.inputElement.focus();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], [INPUTFOCUS]);\n }\n };\n /* eslint-enable jsdoc/require-param */\n /**\n * Remove the focus from widget, if the widget is in focus state.\n *\n * @returns {void}\n */\n DatePicker.prototype.focusOut = function () {\n if (document.activeElement === this.inputElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [INPUTFOCUS]);\n this.inputElement.blur();\n }\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the current view of the DatePicker.\n *\n * @returns {string}\n\n */\n DatePicker.prototype.currentView = function () {\n var currentView;\n if (this.calendarElement) {\n // calls the Calendar currentView public method\n currentView = _super.prototype.currentView.call(this);\n }\n return currentView;\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Navigates to specified month or year or decade view of the DatePicker.\n *\n * @param {string} view - Specifies the view of the calendar.\n * @param {Date} date - Specifies the focused date in a view.\n * @returns {void}\n\n */\n DatePicker.prototype.navigateTo = function (view, date) {\n if (this.calendarElement) {\n // calls the Calendar navigateTo public method\n _super.prototype.navigateTo.call(this, view, date);\n }\n };\n /**\n * To destroy the widget.\n *\n * @returns {void}\n */\n DatePicker.prototype.destroy = function () {\n this.unBindEvents();\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n _super.prototype.destroy.call(this);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.destroy({\n element: this.inputElement,\n floatLabelType: this.floatLabelType,\n properties: this.properties\n }, this.clearButton);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.keyboardModules)) {\n this.keyboardModules.destroy();\n }\n if (this.popupObj && this.popupObj.element.classList.contains(POPUP)) {\n _super.prototype.destroy.call(this);\n }\n var ariaAttrs = {\n 'aria-atomic': 'true', 'aria-disabled': 'true',\n 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',\n 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'\n };\n if (this.inputElement.hasAttribute('aria-label')) {\n this.inputElement.removeAttribute('aria-label');\n }\n if (this.inputElement) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.removeAttributes(ariaAttrs, this.inputElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElementCopy.getAttribute('tabindex'))) {\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n }\n else {\n this.inputElement.removeAttribute('tabindex');\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'blur', this.inputBlurHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'focus', this.inputFocusHandler);\n this.ensureInputAttribute();\n }\n if (this.isCalendar()) {\n if (this.popupWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.popupWrapper);\n }\n this.popupObj = this.popupWrapper = null;\n this.keyboardModule.destroy();\n }\n if (this.ngTag === null) {\n if (this.inputElement) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)) {\n this.inputWrapper.container.insertAdjacentElement('afterend', this.inputElement);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputElement], [INPUTROOT]);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], [ROOT]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.inputWrapper.container);\n }\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.resetFormHandler);\n }\n this.inputWrapper = null;\n this.keyboardModules = null;\n };\n DatePicker.prototype.ensureInputAttribute = function () {\n var prop = [];\n for (var i = 0; i < this.inputElement.attributes.length; i++) {\n prop[i] = this.inputElement.attributes[i].name;\n }\n for (var i = 0; i < prop.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElementCopy.getAttribute(prop[i]))) {\n if (prop[i].toLowerCase() === 'value') {\n this.inputElement.value = '';\n }\n this.inputElement.removeAttribute(prop[i]);\n }\n else {\n if (prop[i].toLowerCase() === 'value') {\n this.inputElement.value = this.inputElementCopy.getAttribute(prop[i]);\n }\n this.inputElement.setAttribute(prop[i], this.inputElementCopy.getAttribute(prop[i]));\n }\n }\n };\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n DatePicker.prototype.preRender = function () {\n this.inputElementCopy = this.element.cloneNode(true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputElementCopy], [ROOT, CONTROL, LIBRARY]);\n this.inputElement = this.element;\n this.formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n this.index = this.showClearButton ? 2 : 1;\n this.ngTag = null;\n if (this.element.tagName === 'EJS-DATEPICKER' || this.element.tagName === 'EJS-DATETIMEPICKER') {\n this.ngTag = this.element.tagName;\n this.inputElement = this.createElement('input');\n this.element.appendChild(this.inputElement);\n }\n if (this.element.getAttribute('id')) {\n if (this.ngTag !== null) {\n this.inputElement.id = this.element.getAttribute('id') + '_input';\n }\n }\n else {\n if (this.getModuleName() === 'datetimepicker') {\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2-datetimepicker');\n if (this.ngTag !== null) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'id': this.element.id + '_input' });\n }\n }\n else {\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2-datepicker');\n if (this.ngTag !== null) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'id': this.element.id + '_input' });\n }\n }\n }\n if (this.ngTag !== null) {\n this.validationAttribute(this.element, this.inputElement);\n }\n this.updateHtmlAttributeToElement();\n this.defaultKeyConfigs = this.getDefaultKeyConfig();\n this.checkHtmlAttributes(false);\n if (this.inputFormats) {\n this.checkInputFormats();\n }\n this.tabIndex = this.element.hasAttribute('tabindex') ? this.element.getAttribute('tabindex') : '0';\n this.element.removeAttribute('tabindex');\n _super.prototype.preRender.call(this);\n };\n DatePicker.prototype.getDefaultKeyConfig = function () {\n this.defaultKeyConfigs = {\n altUpArrow: 'alt+uparrow',\n altDownArrow: 'alt+downarrow',\n escape: 'escape',\n enter: 'enter',\n controlUp: 'ctrl+38',\n controlDown: 'ctrl+40',\n moveDown: 'downarrow',\n moveUp: 'uparrow',\n moveLeft: 'leftarrow',\n moveRight: 'rightarrow',\n select: 'enter',\n home: 'home',\n end: 'end',\n pageUp: 'pageup',\n pageDown: 'pagedown',\n shiftPageUp: 'shift+pageup',\n shiftPageDown: 'shift+pagedown',\n controlHome: 'ctrl+home',\n controlEnd: 'ctrl+end',\n shiftTab: 'shift+tab',\n tab: 'tab'\n };\n return this.defaultKeyConfigs;\n };\n DatePicker.prototype.validationAttribute = function (target, inputElement) {\n var nameAttribute = target.getAttribute('name') ? target.getAttribute('name') : target.getAttribute('id');\n inputElement.setAttribute('name', nameAttribute);\n target.removeAttribute('name');\n var attribute = ['required', 'aria-required', 'form'];\n for (var i = 0; i < attribute.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.getAttribute(attribute[i]))) {\n continue;\n }\n var attr = target.getAttribute(attribute[i]);\n inputElement.setAttribute(attribute[i], attr);\n target.removeAttribute(attribute[i]);\n }\n };\n DatePicker.prototype.checkFormat = function () {\n var culture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n if (this.format) {\n if (typeof this.format === 'string') {\n this.formatString = this.format;\n }\n else if (this.format.skeleton !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.format.skeleton)) {\n var skeletonString = this.format.skeleton;\n if (this.getModuleName() === 'datetimepicker') {\n this.formatString = culture.getDatePattern({ skeleton: skeletonString, type: 'dateTime' });\n }\n else {\n this.formatString = culture.getDatePattern({ skeleton: skeletonString, type: 'date' });\n }\n }\n else {\n if (this.getModuleName() === 'datetimepicker') {\n this.formatString = this.dateTimeFormat;\n }\n else {\n this.formatString = null;\n }\n }\n }\n else {\n this.formatString = null;\n }\n };\n DatePicker.prototype.checkInputFormats = function () {\n var culture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.inputFormatsString = [];\n if (this.inputFormats) {\n for (var _i = 0, _a = this.inputFormats; _i < _a.length; _i++) {\n var format = _a[_i];\n var formatString = '';\n if (typeof format === 'string') {\n formatString = format;\n }\n else if (format.skeleton !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format.skeleton)) {\n var skeletonString = format.skeleton;\n if (this.getModuleName() === 'datetimepicker') {\n formatString = culture.getDatePattern({ skeleton: skeletonString, type: 'dateTime' });\n }\n else {\n formatString = culture.getDatePattern({ skeleton: skeletonString, type: 'date' });\n }\n }\n if (formatString) {\n this.inputFormatsString.push(formatString);\n }\n }\n if (this.inputFormatsString.length === 0) {\n this.inputFormatsString = null;\n }\n }\n else {\n this.inputFormatsString = null;\n }\n };\n DatePicker.prototype.checkHtmlAttributes = function (dynamic) {\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.checkFormat();\n this.checkView();\n var attributes = dynamic ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) ? [] : Object.keys(this.htmlAttributes) :\n ['value', 'min', 'max', 'disabled', 'readonly', 'style', 'name', 'placeholder', 'type'];\n var options;\n if (this.getModuleName() === 'datetimepicker') {\n if (this.calendarMode === 'Gregorian') {\n options = {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat,\n type: 'dateTime', skeleton: 'yMd'\n };\n }\n else {\n options = {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat,\n type: 'dateTime', skeleton: 'yMd', calendar: 'islamic'\n };\n }\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n options = { format: this.formatString, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n options = { format: this.formatString, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n }\n for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {\n var prop = attributes_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.getAttribute(prop))) {\n switch (prop) {\n case 'disabled':\n if ((((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.datepickerOptions) || (this.datepickerOptions['enabled'] === undefined)) || dynamic)) {\n var enabled = this.inputElement.getAttribute(prop) === 'disabled' ||\n this.inputElement.getAttribute(prop) === '' ||\n this.inputElement.getAttribute(prop) === 'true' ? false : true;\n this.setProperties({ enabled: enabled }, !dynamic);\n }\n break;\n case 'readonly':\n if ((((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.datepickerOptions) || (this.datepickerOptions['readonly'] === undefined)) || dynamic)) {\n var readonly = this.inputElement.getAttribute(prop) === 'readonly' ||\n this.inputElement.getAttribute(prop) === '' || this.inputElement.getAttribute(prop) === 'true' ? true : false;\n this.setProperties({ readonly: readonly }, !dynamic);\n }\n break;\n case 'placeholder':\n if ((((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.datepickerOptions) || (this.datepickerOptions['placeholder'] === undefined)) || dynamic)) {\n this.setProperties({ placeholder: this.inputElement.getAttribute(prop) }, !dynamic);\n }\n break;\n case 'style':\n this.inputElement.setAttribute('style', '' + this.inputElement.getAttribute(prop));\n break;\n case 'name':\n this.inputElement.setAttribute('name', '' + this.inputElement.getAttribute(prop));\n break;\n case 'value':\n if ((((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.datepickerOptions) || (this.datepickerOptions['value'] === undefined)) || dynamic)) {\n var value = this.inputElement.getAttribute(prop);\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, this.globalize.parseDate(this.getAmPmValue(value), options), {}), !dynamic);\n }\n break;\n case 'min':\n if ((+this.min === +new Date(1900, 0, 1)) || dynamic) {\n var min = this.inputElement.getAttribute(prop);\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, this.globalize.parseDate(this.getAmPmValue(min), options), {}), !dynamic);\n }\n break;\n case 'max':\n if ((+this.max === +new Date(2099, 11, 31)) || dynamic) {\n var max = this.inputElement.getAttribute(prop);\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, this.globalize.parseDate(this.getAmPmValue(max), options), {}), !dynamic);\n }\n break;\n case 'type':\n if (this.inputElement.getAttribute(prop) !== 'text') {\n this.inputElement.setAttribute('type', 'text');\n }\n break;\n }\n }\n }\n };\n /**\n * To get component name.\n *\n * @returns {string} Returns the component name.\n * @private\n */\n DatePicker.prototype.getModuleName = function () {\n return 'datepicker';\n };\n DatePicker.prototype.disabledDates = function (isDynamic, isBlur) {\n if (isDynamic === void 0) { isDynamic = false; }\n if (isBlur === void 0) { isBlur = false; }\n var formatOptions;\n var globalize;\n var valueCopy = this.checkDateValue(this.value) ? new Date(+this.value) : new Date(this.checkValue(this.value));\n var previousValCopy = this.previousDate;\n //calls the Calendar render method to check the disabled dates through renderDayCell event and update the input value accordingly.\n this.minMaxUpdates();\n if (!isDynamic || (isDynamic && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.renderDayCell))) {\n _super.prototype.render.call(this);\n }\n this.previousDate = previousValCopy;\n var date = valueCopy && +(valueCopy);\n var dateIdString = '*[id^=\"/id\"]'.replace('/id', '' + date);\n if (!this.strictMode) {\n if (typeof this.value === 'string' || ((typeof this.value === 'object') && (+this.value) !== (+valueCopy))) {\n this.setProperties({ value: valueCopy }, true);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.calendarElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.calendarElement.querySelectorAll(dateIdString)[0])) {\n if (this.calendarElement.querySelectorAll(dateIdString)[0].classList.contains('e-disabled')) {\n if (!this.strictMode) {\n this.currentDate = new Date(new Date().setHours(0, 0, 0, 0));\n }\n }\n }\n var inputVal;\n if (this.getModuleName() === 'datetimepicker') {\n if (this.calendarMode === 'Gregorian') {\n globalize = this.globalize.formatDate(valueCopy, {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat,\n type: 'dateTime', skeleton: 'yMd'\n });\n }\n else {\n globalize = this.globalize.formatDate(valueCopy, {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.dateTimeFormat,\n type: 'dateTime', skeleton: 'yMd', calendar: 'islamic'\n });\n }\n inputVal = globalize;\n }\n else {\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n formatOptions = { format: this.formatString, type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n inputVal = this.globalize.formatDate(valueCopy, formatOptions);\n }\n if (!this.popupObj) {\n this.updateInputValue(inputVal);\n if (this.enableMask) {\n this.updateInputValue(this.maskedDateValue);\n this.notify('createMask', {\n module: 'MaskedDateTime', isBlur: isBlur\n });\n }\n }\n };\n DatePicker.prototype.setAriaAttributes = function () {\n if (this.isCalendar()) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.addAttributes({ 'aria-expanded': 'true' }, this.inputElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-owns': this.inputElement.id + '_options' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-controls': this.inputElement.id });\n if (this.value) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-activedescendant': '' + this.setActiveDescendant() });\n }\n }\n else {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.addAttributes({ 'aria-expanded': 'false' }, this.inputElement);\n this.inputElement.removeAttribute('aria-owns');\n this.inputElement.removeAttribute('aria-controls');\n this.inputElement.removeAttribute('aria-activedescendant');\n }\n };\n DatePicker.prototype.errorClass = function () {\n var dateIdString = '*[id^=\"/id\"]'.replace('/id', '' + (+this.value));\n var isDisabledDate = this.calendarElement &&\n this.calendarElement.querySelectorAll(dateIdString)[0] &&\n this.calendarElement.querySelectorAll(dateIdString)[0].classList.contains('e-disabled');\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.min) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.max) && !(new Date(this.value).setMilliseconds(0) >=\n new Date(this.min).setMilliseconds(0)\n && new Date(this.value).setMilliseconds(0) <= new Date(this.max).setMilliseconds(0)))\n || (!this.strictMode && this.inputElement.value !== '' && this.inputElement.value !== this.maskedDateValue &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || isDisabledDate) || !this.isValidTime(this.value)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], ERROR);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-invalid': 'true' });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], ERROR);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-invalid': 'false' });\n }\n };\n DatePicker.prototype.isValidTime = function (value) {\n return true;\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {DatePickerModel} newProp - Returns the dynamic property value of the component.\n * @param {DatePickerModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @private\n */\n DatePicker.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n var openPopup = ['blur', 'change', 'cleared', 'close', 'created', 'destroyed', 'focus', 'navigated', 'open', 'renderDayCell'];\n if (openPopup.indexOf(prop) > 0 && this.isReact) {\n this.isDynamicValueChanged = true;\n }\n switch (prop) {\n case 'value':\n this.isDynamicValueChanged = true;\n this.isInteracted = false;\n this.invalidValueString = null;\n this.checkInvalidValue(newProp.value);\n newProp.value = this.value;\n this.previousElementValue = this.inputElement.value;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n if (this.enableMask) {\n this.updateInputValue(this.maskedDateValue);\n }\n else {\n this.updateInputValue('');\n }\n this.currentDate = new Date(new Date().setHours(0, 0, 0, 0));\n }\n this.updateInput(true);\n if (+this.previousDate !== +this.value) {\n this.changeTrigger(null);\n }\n this.isInteracted = true;\n this.preventChange = this.isAngular && this.preventChange ? !this.preventChange : this.preventChange;\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n break;\n case 'format':\n this.checkFormat();\n this.bindInputEvent();\n this.updateInput();\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n if (!this.value) {\n this.updateInputValue(this.maskedDateValue);\n }\n }\n break;\n case 'inputFormats':\n this.checkInputFormats();\n break;\n case 'allowEdit':\n this.setAllowEdit();\n break;\n case 'placeholder':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.inputElement);\n break;\n case 'readonly':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setReadonly(this.readonly, this.inputElement);\n break;\n case 'enabled':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setEnabled(this.enabled, this.inputElement);\n this.setAriaDisabled();\n break;\n case 'htmlAttributes':\n this.updateHtmlAttributeToElement();\n this.updateHtmlAttributeToWrapper();\n this.checkHtmlAttributes(true);\n break;\n case 'locale':\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.l10n.setLocale(this.locale);\n if (this.datepickerOptions && this.datepickerOptions.placeholder == null) {\n this.setProperties({ placeholder: this.l10n.getConstant('placeholder') }, true);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.inputElement);\n }\n this.updateInput();\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n break;\n case 'enableRtl':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setEnableRtl(this.enableRtl, [this.inputWrapper.container]);\n break;\n case 'start':\n case 'depth':\n this.checkView();\n if (this.calendarElement) {\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n }\n break;\n case 'zIndex':\n this.setProperties({ zIndex: newProp.zIndex }, true);\n break;\n case 'cssClass':\n this.updateCssClass(newProp.cssClass, oldProp.cssClass);\n break;\n case 'showClearButton':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setClearButton(this.showClearButton, this.inputElement, this.inputWrapper);\n this.bindClearEvent();\n this.index = this.showClearButton ? 2 : 1;\n break;\n case 'strictMode':\n this.invalidValueString = null;\n this.updateInput();\n break;\n case 'width':\n this.setWidth(newProp.width);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n break;\n case 'floatLabelType':\n this.floatLabelType = newProp.floatLabelType;\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.removeFloating(this.inputWrapper);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n break;\n case 'enableMask':\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n this.updateInputValue(this.maskedDateValue);\n this.bindInputEvent();\n }\n else {\n if (this.inputElement.value === this.maskedDateValue) {\n this.updateInputValue('');\n }\n }\n break;\n default:\n if (this.calendarElement && this.isCalendar()) {\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n }\n if (prop === 'min' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.min)) {\n this.min = new Date(1900, 0, 1);\n }\n if (prop === 'max' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.max)) {\n this.max = new Date(2099, 11, 31);\n }\n break;\n }\n if (!this.isDynamicValueChanged) {\n this.hide(null);\n }\n this.isDynamicValueChanged = false;\n }\n };\n /**\n * @private\n * @param {Date | Date[]} dates - Specifies the date or dates to be added to the values property of the Calendar.\n * @returns {void}\n */\n DatePicker.prototype.addDate = function (dates) {\n // no code\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"strictMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"format\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"inputFormats\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DatePicker.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"fullScreenMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], DatePicker.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"values\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"isMultiSelection\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DatePicker.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DatePicker.prototype, \"allowEdit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"keyConfigs\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], DatePicker.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], DatePicker.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DatePicker.prototype, \"serverTimezoneOffset\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"openOnFocus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DatePicker.prototype, \"enableMask\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({ day: 'day', month: 'month', year: 'year', hour: 'hour', minute: 'minute', second: 'second', dayOfTheWeek: 'day of the week' })\n ], DatePicker.prototype, \"maskPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"cleared\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"blur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DatePicker.prototype, \"destroyed\", void 0);\n DatePicker = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], DatePicker);\n return DatePicker;\n}(_calendar_calendar__WEBPACK_IMPORTED_MODULE_3__.Calendar));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DateTimePicker: () => (/* binding */ DateTimePicker)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _datepicker_datepicker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../datepicker/datepicker */ \"./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js\");\n/* harmony import */ var _timepicker_timepicker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../timepicker/timepicker */ \"./node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n///\n\n\n\n\n\n\n\n\n\n//class constant defination\nvar DATEWRAPPER = 'e-date-wrapper';\nvar DATEPICKERROOT = 'e-datepicker';\nvar DATETIMEWRAPPER = 'e-datetime-wrapper';\nvar DAY = new Date().getDate();\nvar MONTH = new Date().getMonth();\nvar YEAR = new Date().getFullYear();\nvar HOUR = new Date().getHours();\nvar MINUTE = new Date().getMinutes();\nvar SECOND = new Date().getSeconds();\nvar MILLISECOND = new Date().getMilliseconds();\nvar ROOT = 'e-datetimepicker';\nvar DATETIMEPOPUPWRAPPER = 'e-datetimepopup-wrapper';\nvar INPUTWRAPPER = 'e-input-group-icon';\nvar POPUP = 'e-popup';\nvar TIMEICON = 'e-time-icon';\nvar INPUTFOCUS = 'e-input-focus';\nvar POPUPDIMENSION = '250px';\nvar ICONANIMATION = 'e-icon-anim';\nvar DISABLED = 'e-disabled';\nvar ERROR = 'e-error';\nvar CONTENT = 'e-content';\nvar NAVIGATION = 'e-navigation';\nvar ACTIVE = 'e-active';\nvar HOVER = 'e-hover';\nvar ICONS = 'e-icons';\nvar HALFPOSITION = 2;\nvar LISTCLASS = 'e-list-item';\nvar ANIMATIONDURATION = 100;\nvar OVERFLOW = 'e-time-overflow';\n/**\n * Represents the DateTimePicker component that allows user to select\n * or enter a date time value.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar DateTimePicker = /** @class */ (function (_super) {\n __extends(DateTimePicker, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {DateTimePickerModel} options - Specifies the DateTimePicker model.\n * @param {string | HTMLInputElement} element - Specifies the element to render as component.\n * @private\n */\n function DateTimePicker(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.valueWithMinutes = null;\n _this.scrollInvoked = false;\n _this.moduleName = _this.getModuleName();\n _this.formatRegex = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yyy|yy|y|'[^']*'|'[^']*'/g;\n _this.dateFormatString = '';\n _this.dateTimeOptions = options;\n return _this;\n }\n DateTimePicker.prototype.focusHandler = function () {\n if (!this.enabled) {\n return;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], INPUTFOCUS);\n };\n /**\n * Sets the focus to widget for interaction.\n *\n * @returns {void}\n */\n DateTimePicker.prototype.focusIn = function () {\n _super.prototype.focusIn.call(this);\n };\n /**\n * Remove the focus from widget, if the widget is in focus state.\n *\n * @returns {void}\n */\n DateTimePicker.prototype.focusOut = function () {\n if (document.activeElement === this.inputElement) {\n this.inputElement.blur();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [INPUTFOCUS]);\n }\n };\n DateTimePicker.prototype.blurHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n // IE popup closing issue when click over the scrollbar\n if (this.isTimePopupOpen() && this.isPreventBlur) {\n this.inputElement.focus();\n return;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], INPUTFOCUS);\n var blurArguments = {\n model: this\n };\n if (this.isTimePopupOpen()) {\n this.hide(e);\n }\n this.trigger('blur', blurArguments);\n };\n /**\n * To destroy the widget.\n *\n * @returns {void}\n */\n DateTimePicker.prototype.destroy = function () {\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n if (this.popupObject && this.popupObject.element.classList.contains(POPUP)) {\n this.popupObject.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.dateTimeWrapper);\n this.dateTimeWrapper = undefined;\n this.liCollections = this.timeCollections = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.rippleFn)) {\n this.rippleFn();\n }\n }\n var ariaAttribute = {\n 'aria-live': 'assertive', 'aria-atomic': 'true', 'aria-invalid': 'false',\n 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',\n 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off'\n };\n if (this.inputElement) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.removeAttributes(ariaAttribute, this.inputElement);\n }\n if (this.isCalendar()) {\n if (this.popupWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.popupWrapper);\n }\n this.popupObject = this.popupWrapper = null;\n this.keyboardHandler.destroy();\n }\n this.unBindInputEvents();\n this.liCollections = null;\n this.rippleFn = null;\n this.selectedElement = null;\n this.listTag = null;\n this.timeIcon = null;\n this.popupObject = null;\n this.preventArgs = null;\n this.keyboardModule = null;\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.destroy({\n element: this.inputElement,\n floatLabelType: this.floatLabelType,\n properties: this.properties\n }, this.clearButton);\n _super.prototype.destroy.call(this);\n };\n /**\n * To Initialize the control rendering.\n *\n * @returns {void}\n * @private\n */\n DateTimePicker.prototype.render = function () {\n this.timekeyConfigure = {\n enter: 'enter',\n escape: 'escape',\n end: 'end',\n tab: 'tab',\n home: 'home',\n down: 'downarrow',\n up: 'uparrow',\n left: 'leftarrow',\n right: 'rightarrow',\n open: 'alt+downarrow',\n close: 'alt+uparrow'\n };\n this.valueWithMinutes = null;\n this.previousDateTime = null;\n this.isPreventBlur = false;\n this.cloneElement = this.element.cloneNode(true);\n this.dateTimeFormat = this.cldrDateTimeFormat();\n this.initValue = this.value;\n if (typeof (this.min) === 'string') {\n this.min = this.checkDateValue(new Date(this.min));\n }\n if (typeof (this.max) === 'string') {\n this.max = this.checkDateValue(new Date(this.max));\n }\n if (typeof (this.minTime) === 'string') {\n this.minTime = this.checkDateValue(new Date(this.minTime));\n }\n if (typeof (this.maxTime) === 'string') {\n this.maxTime = this.checkDateValue(new Date(this.maxTime));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n _super.prototype.updateHtmlAttributeToElement.call(this);\n this.checkAttributes(false);\n var localeText = { placeholder: this.placeholder };\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('datetimepicker', localeText, this.locale);\n this.setProperties({ placeholder: this.placeholder || this.l10n.getConstant('placeholder') }, true);\n _super.prototype.render.call(this);\n this.createInputElement();\n _super.prototype.updateHtmlAttributeToWrapper.call(this);\n this.bindInputEvents();\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n this.setValue(true);\n if (this.enableMask && !this.value && this.maskedDateValue && (this.floatLabelType === 'Always' || !this.floatLabelType || !this.placeholder)) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.maskedDateValue, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n this.setProperties({ scrollTo: this.checkDateValue(new Date(this.checkValue(this.scrollTo))) }, true);\n this.previousDateTime = this.value && new Date(+this.value);\n if (this.element.tagName === 'EJS-DATETIMEPICKER') {\n this.tabIndex = this.element.hasAttribute('tabindex') ? this.element.getAttribute('tabindex') : '0';\n this.element.removeAttribute('tabindex');\n if (!this.enabled) {\n this.inputElement.tabIndex = -1;\n }\n }\n if (this.floatLabelType !== 'Never') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');\n }\n this.renderComplete();\n };\n DateTimePicker.prototype.setValue = function (isDynamic) {\n if (isDynamic === void 0) { isDynamic = false; }\n this.initValue = this.validateMinMaxRange(this.value);\n if (!this.strictMode && this.isDateObject(this.initValue)) {\n var value = this.validateMinMaxRange(this.initValue);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.getFormattedValue(value), this.inputElement, this.floatLabelType, this.showClearButton);\n this.setProperties({ value: value }, true);\n }\n else {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.initValue = null;\n this.setProperties({ value: null }, true);\n }\n }\n this.valueWithMinutes = this.value;\n _super.prototype.updateInput.call(this, isDynamic);\n };\n DateTimePicker.prototype.validateMinMaxRange = function (value) {\n var result = value;\n if (this.isDateObject(value)) {\n result = this.validateValue(value);\n }\n else {\n if (+this.min > +this.max) {\n this.disablePopupButton(true);\n }\n }\n this.checkValidState(result);\n return result;\n };\n DateTimePicker.prototype.checkValidState = function (value) {\n this.isValidState = true;\n if (!this.strictMode) {\n if ((+(value) > +(this.max)) || (+(value) < +(this.min)) || !this.isValidTime(value)) {\n this.isValidState = false;\n }\n }\n this.checkErrorState();\n };\n DateTimePicker.prototype.checkErrorState = function () {\n if (this.isValidState) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], ERROR);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], ERROR);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-invalid': this.isValidState ? 'false' : 'true' });\n };\n DateTimePicker.prototype.isValidTime = function (value) {\n if (value != null && (this.minTime || this.maxTime)) {\n var minTimeValue = void 0;\n var maxTimeValue = void 0;\n var maxValue = void 0;\n var minValue = void 0;\n var valueTime = value.getHours() * 3600000 + value.getMinutes() * 60000 +\n value.getSeconds() * 1000 + value.getMilliseconds();\n if (this.minTime) {\n minTimeValue = this.minTime.getHours() * 3600000 + this.minTime.getMinutes() * 60000 +\n this.minTime.getSeconds() * 1000 + this.minTime.getMilliseconds();\n }\n if (this.maxTime) {\n maxTimeValue = this.maxTime.getHours() * 3600000 + this.maxTime.getMinutes() * 60000 +\n this.maxTime.getSeconds() * 1000 + this.maxTime.getMilliseconds();\n }\n if (this.min && (+value.getDate() === +this.min.getDate() && +value.getMonth() === +this.min.getMonth() &&\n +value.getFullYear() === +this.min.getFullYear())) {\n minValue = this.min.getHours() * 3600000 + this.min.getMinutes() * 60000 +\n this.min.getSeconds() * 1000 + this.min.getMilliseconds();\n minTimeValue = minTimeValue < minValue ? minValue : minTimeValue;\n }\n if (this.max && (+value.getDate() === +this.max.getDate() && +value.getMonth() === +this.max.getMonth() &&\n +this.max.getFullYear() === +this.max.getFullYear())) {\n maxValue = this.max.getHours() * 3600000 + this.max.getMinutes() * 60000 +\n this.max.getSeconds() * 1000 + this.max.getMilliseconds();\n maxTimeValue = maxTimeValue > maxValue ? maxValue : maxTimeValue;\n }\n if (this.strictMode) {\n var newValue = void 0;\n if (minTimeValue && valueTime < minTimeValue) {\n newValue = new Date(value.getFullYear(), value.getMonth(), value.getDate(), this.minTime.getHours(), this.minTime.getMinutes(), this.minTime.getSeconds(), this.minTime.getMilliseconds());\n this.setProperties({ value: newValue }, true);\n this.changedArgs = { value: this.value };\n }\n else if (maxTimeValue && valueTime > maxTimeValue) {\n newValue = new Date(value.getFullYear(), value.getMonth(), value.getDate(), this.maxTime.getHours(), this.maxTime.getMinutes(), this.maxTime.getSeconds(), this.maxTime.getMilliseconds());\n this.setProperties({ value: newValue }, true);\n this.changedArgs = { value: this.value };\n }\n return true;\n }\n else {\n return !((minTimeValue && valueTime < minTimeValue) || (maxTimeValue && valueTime > maxTimeValue));\n }\n }\n return true;\n };\n DateTimePicker.prototype.validateValue = function (value) {\n var dateVal = value;\n if (this.strictMode) {\n if (+this.min > +this.max) {\n this.disablePopupButton(true);\n dateVal = this.max;\n }\n else if (+value < +this.min) {\n dateVal = this.min;\n }\n else if (+value > +this.max) {\n dateVal = this.max;\n }\n }\n else {\n if (+this.min > +this.max) {\n this.disablePopupButton(true);\n dateVal = value;\n }\n }\n return dateVal;\n };\n DateTimePicker.prototype.disablePopupButton = function (isDisable) {\n if (isDisable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.buttons[0], this.timeIcon], DISABLED);\n this.hide();\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.buttons[0], this.timeIcon], DISABLED);\n }\n };\n DateTimePicker.prototype.getFormattedValue = function (value) {\n var dateOptions;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n if (this.calendarMode === 'Gregorian') {\n dateOptions = { format: this.cldrDateTimeFormat(), type: 'dateTime', skeleton: 'yMd' };\n }\n else {\n dateOptions = { format: this.cldrDateTimeFormat(), type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' };\n }\n return this.globalize.formatDate(value, dateOptions);\n }\n else {\n return null;\n }\n };\n DateTimePicker.prototype.isDateObject = function (value) {\n return (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && !isNaN(+value)) ? true : false;\n };\n DateTimePicker.prototype.createInputElement = function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputElement], DATEPICKERROOT);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], DATEWRAPPER);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], DATETIMEWRAPPER);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputElement], ROOT);\n this.renderTimeIcon();\n };\n DateTimePicker.prototype.renderTimeIcon = function () {\n this.timeIcon = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.appendSpan(INPUTWRAPPER + ' ' + TIMEICON + ' ' + ICONS, this.inputWrapper.container);\n };\n DateTimePicker.prototype.bindInputEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.timeIcon, 'mousedown', this.timeHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.buttons[0], 'mousedown', this.dateHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'blur', this.blurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'focus', this.focusHandler, this);\n this.defaultKeyConfigs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.defaultKeyConfigs, this.keyConfigs);\n this.keyboardHandler = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.inputElement, {\n eventName: 'keydown',\n keyAction: this.inputKeyAction.bind(this),\n keyConfigs: this.defaultKeyConfigs\n });\n };\n DateTimePicker.prototype.unBindInputEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.timeIcon, 'mousedown touchstart', this.timeHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.buttons[0], 'mousedown touchstart', this.dateHandler);\n if (this.inputElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'blur', this.blurHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'focus', this.focusHandler);\n }\n if (this.keyboardHandler) {\n this.keyboardHandler.destroy();\n }\n };\n DateTimePicker.prototype.cldrTimeFormat = function () {\n var cldrTime;\n if (this.isNullOrEmpty(this.timeFormat)) {\n if (this.locale === 'en' || this.locale === 'en-US') {\n cldrTime = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeFormats.short', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrTime = (this.getCultureTimeObject(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData, '' + this.locale));\n }\n }\n else {\n cldrTime = this.timeFormat;\n }\n return cldrTime;\n };\n DateTimePicker.prototype.cldrDateTimeFormat = function () {\n var cldrTime;\n var culture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n var dateFormat = culture.getDatePattern({ skeleton: 'yMd' });\n if (this.isNullOrEmpty(this.formatString)) {\n cldrTime = dateFormat + ' ' + this.getCldrFormat('time');\n }\n else {\n cldrTime = this.formatString;\n }\n return cldrTime;\n };\n DateTimePicker.prototype.getCldrFormat = function (type) {\n var cldrDateTime;\n if (this.locale === 'en' || this.locale === 'en-US') {\n cldrDateTime = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeFormats.short', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrDateTime = (this.getCultureTimeObject(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData, '' + this.locale));\n }\n return cldrDateTime;\n };\n DateTimePicker.prototype.isNullOrEmpty = function (value) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) || (typeof value === 'string' && value.trim() === '')) {\n return true;\n }\n else {\n return false;\n }\n };\n DateTimePicker.prototype.getCultureTimeObject = function (ld, c) {\n if (this.calendarMode === 'Gregorian') {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + '' + this.locale + '.dates.calendars.gregorian.timeFormats.short', ld);\n }\n else {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + '' + this.locale + '.dates.calendars.islamic.timeFormats.short', ld);\n }\n };\n DateTimePicker.prototype.timeHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n this.isIconClicked = true;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.inputElement.setAttribute('readonly', '');\n }\n if (e.currentTarget === this.timeIcon) {\n e.preventDefault();\n }\n if (this.enabled && !this.readonly) {\n if (this.isDatePopupOpen()) {\n _super.prototype.hide.call(this, e);\n }\n if (this.isTimePopupOpen()) {\n this.closePopup(e);\n }\n else {\n this.inputElement.focus();\n this.popupCreation('time', e);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], [INPUTFOCUS]);\n }\n }\n this.isIconClicked = false;\n };\n DateTimePicker.prototype.dateHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n if (e.currentTarget === this.inputWrapper.buttons[0]) {\n e.preventDefault();\n }\n if (this.enabled && !this.readonly) {\n if (this.isTimePopupOpen()) {\n this.closePopup(e);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n this.popupCreation('date', e);\n }\n }\n };\n DateTimePicker.prototype.show = function (type, e) {\n if ((this.enabled && this.readonly) || !this.enabled) {\n return;\n }\n else {\n if (type === 'time' && !this.dateTimeWrapper) {\n if (this.isDatePopupOpen()) {\n this.hide(e);\n }\n this.popupCreation('time', e);\n }\n else if (!this.popupObj) {\n if (this.isTimePopupOpen()) {\n this.hide(e);\n }\n _super.prototype.show.call(this);\n this.popupCreation('date', e);\n }\n }\n };\n DateTimePicker.prototype.toggle = function (e) {\n if (this.isDatePopupOpen()) {\n _super.prototype.hide.call(this, e);\n this.show('time', null);\n }\n else if (this.isTimePopupOpen()) {\n this.hide(e);\n _super.prototype.show.call(this, null, e);\n this.popupCreation('date', null);\n }\n else {\n this.show(null, e);\n }\n };\n DateTimePicker.prototype.listCreation = function () {\n var dateObject;\n if (this.calendarMode === 'Gregorian') {\n this.cldrDateTimeFormat().replace(this.formatRegex, this.TimePopupFormat());\n if (this.dateFormatString === '') {\n this.dateFormatString = this.cldrDateTimeFormat();\n }\n dateObject = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), {\n format: this.dateFormatString, type: 'datetime'\n });\n }\n else {\n dateObject = this.globalize.parseDate(this.getAmPmValue(this.inputElement.value), {\n format: this.cldrDateTimeFormat(), type: 'datetime', calendar: 'islamic'\n });\n }\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? this.inputElement.value !== '' ?\n dateObject : new Date() : this.value;\n this.valueWithMinutes = value;\n this.listWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CONTENT, attrs: { 'tabindex': '0' } });\n var min = this.startTime(value);\n var max = this.endTime(value);\n var listDetails = _timepicker_timepicker__WEBPACK_IMPORTED_MODULE_2__.TimePickerBase.createListItems(this.createElement, min, max, this.globalize, this.cldrTimeFormat(), this.step);\n this.timeCollections = listDetails.collection;\n this.listTag = listDetails.list;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([listDetails.list], this.listWrapper);\n this.wireTimeListEvents();\n var rippleModel = { duration: 300, selector: '.' + LISTCLASS };\n this.rippleFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.listWrapper, rippleModel);\n this.liCollections = this.listWrapper.querySelectorAll('.' + LISTCLASS);\n };\n DateTimePicker.prototype.popupCreation = function (type, e) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.element.setAttribute('readonly', 'readonly');\n }\n if (type === 'date') {\n if (!this.readonly && this.popupWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.popupWrapper], DATETIMEPOPUPWRAPPER);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.popupWrapper, { 'id': this.element.id + '_options' });\n }\n }\n else {\n if (!this.readonly) {\n var dateTimeWrapperElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: ROOT + ' ' + POPUP,\n attrs: { 'id': this.element.id + '_timepopup' }\n });\n dateTimeWrapperElement.style.cssText = 'visibility: hidden; display: block;';\n this.dateTimeWrapper = dateTimeWrapperElement;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass)) {\n this.dateTimeWrapper.className += ' ' + this.cssClass;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.step) && this.step > 0) {\n this.listCreation();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.listWrapper], this.dateTimeWrapper);\n }\n document.body.appendChild(this.dateTimeWrapper);\n this.addTimeSelection();\n this.renderPopup();\n this.setTimeScrollPosition();\n this.openPopup(e);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.fullScreenMode)) {\n this.popupObject.refreshPosition(this.inputElement);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.modelWrapper.style.zIndex = (this.popupObject.zIndex - 1).toString();\n if (this.fullScreenMode) {\n this.dateTimeWrapper.style.left = '0px';\n }\n }\n }\n }\n };\n DateTimePicker.prototype.openPopup = function (e) {\n var _this = this;\n this.preventArgs = {\n cancel: false,\n popup: this.popupObject,\n event: e || null\n };\n var eventArgs = this.preventArgs;\n this.trigger('open', eventArgs, function (eventArgs) {\n _this.preventArgs = eventArgs;\n if (!_this.preventArgs.cancel && !_this.readonly) {\n var openAnimation = {\n name: 'FadeIn',\n duration: ANIMATIONDURATION\n };\n if (_this.zIndex === 1000) {\n _this.popupObject.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(openAnimation), _this.element);\n }\n else {\n _this.popupObject.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(openAnimation), null);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.inputWrapper.container], [ICONANIMATION]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-expanded': 'true' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-owns': _this.inputElement.id + '_options' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-controls': _this.inputElement.id });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown touchstart', _this.documentClickHandler, _this);\n }\n });\n };\n DateTimePicker.prototype.documentClickHandler = function (event) {\n var target = event.target;\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObject) && (this.inputWrapper.container.contains(target) && event.type !== 'mousedown' ||\n (this.popupObject.element && this.popupObject.element.contains(target)))) && event.type !== 'touchstart') {\n event.preventDefault();\n }\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '[id=\"' + (this.popupObject && this.popupObject.element.id + '\"]'))) && target !== this.inputElement\n && target !== this.timeIcon && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) && target !== this.inputWrapper.container && !target.classList.contains('e-dlg-overlay')) {\n if (this.isTimePopupOpen()) {\n this.hide(event);\n this.focusOut();\n }\n }\n else if (target !== this.inputElement) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.isPreventBlur = ((document.activeElement === this.inputElement) && (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge')\n && target === this.popupObject.element);\n }\n }\n };\n DateTimePicker.prototype.isTimePopupOpen = function () {\n return (this.dateTimeWrapper && this.dateTimeWrapper.classList.contains('' + ROOT)) ? true : false;\n };\n DateTimePicker.prototype.isDatePopupOpen = function () {\n return (this.popupWrapper && this.popupWrapper.classList.contains('' + DATETIMEPOPUPWRAPPER)) ? true : false;\n };\n DateTimePicker.prototype.renderPopup = function () {\n var _this = this;\n this.containerStyle = this.inputWrapper.container.getBoundingClientRect();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.timeModal = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div');\n this.timeModal.className = '' + ROOT + ' e-time-modal';\n document.body.className += ' ' + OVERFLOW;\n this.timeModal.style.display = 'block';\n document.body.appendChild(this.timeModal);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.modelWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-datetime-mob-popup-wrap' });\n this.modelWrapper.appendChild(this.dateTimeWrapper);\n var dlgOverlay = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-dlg-overlay' });\n dlgOverlay.style.zIndex = (this.zIndex - 1).toString();\n this.modelWrapper.appendChild(dlgOverlay);\n document.body.appendChild(this.modelWrapper);\n }\n var offset = 4;\n this.popupObject = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.Popup(this.dateTimeWrapper, {\n width: this.setPopupWidth(),\n zIndex: this.zIndex,\n targetType: 'container',\n collision: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? { X: 'fit', Y: 'fit' } : { X: 'flip', Y: 'flip' },\n relateTo: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? document.body : this.inputWrapper.container,\n position: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? { X: 'center', Y: 'center' } : { X: 'left', Y: 'bottom' },\n enableRtl: this.enableRtl,\n offsetY: offset,\n open: function () {\n _this.dateTimeWrapper.style.visibility = 'visible';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.timeIcon], ACTIVE);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.timekeyConfigure = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(_this.timekeyConfigure, _this.keyConfigs);\n _this.inputEvent = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(_this.inputWrapper.container, {\n keyAction: _this.timeKeyActionHandle.bind(_this),\n keyConfigs: _this.timekeyConfigure,\n eventName: 'keydown'\n });\n }\n }, close: function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.timeIcon], ACTIVE);\n _this.unWireTimeListEvents();\n _this.inputElement.removeAttribute('aria-activedescendant');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(_this.popupObject.element);\n _this.popupObject.destroy();\n _this.dateTimeWrapper.innerHTML = '';\n if (_this.modelWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(_this.modelWrapper);\n }\n _this.listWrapper = _this.dateTimeWrapper = undefined;\n if (_this.inputEvent) {\n _this.inputEvent.destroy();\n }\n }, targetExitViewport: function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.hide();\n }\n }\n });\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.fullScreenMode) {\n this.popupObject.element.style.maxHeight = '100%';\n this.popupObject.element.style.width = '100%';\n }\n else {\n this.popupObject.element.style.maxHeight = POPUPDIMENSION;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.fullScreenMode) {\n var modelHeader = this.createElement('div', { className: 'e-model-header' });\n var modelTitleSpan = this.createElement('span', { className: 'e-model-title' });\n modelTitleSpan.textContent = 'Select time';\n var modelCloseIcon = this.createElement('span', { className: 'e-popup-close' });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.dateTimeCloseHandler, this);\n modelHeader.appendChild(modelCloseIcon);\n modelHeader.appendChild(modelTitleSpan);\n this.dateTimeWrapper.insertBefore(modelHeader, this.dateTimeWrapper.firstElementChild);\n }\n };\n DateTimePicker.prototype.dateTimeCloseHandler = function (e) {\n this.hide();\n };\n DateTimePicker.prototype.setDimension = function (width) {\n if (typeof width === 'number') {\n width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n // eslint-disable-next-line no-self-assign\n width = width;\n }\n else {\n width = '100%';\n }\n return width;\n };\n DateTimePicker.prototype.setPopupWidth = function () {\n var width = this.setDimension(this.width);\n if (width.indexOf('%') > -1) {\n var inputWidth = this.containerStyle.width * parseFloat(width) / 100;\n width = inputWidth.toString() + 'px';\n }\n return width;\n };\n DateTimePicker.prototype.wireTimeListEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'click', this.onMouseClick, this);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'mouseover', this.onMouseOver, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'mouseout', this.onMouseLeave, this);\n }\n };\n DateTimePicker.prototype.unWireTimeListEvents = function () {\n if (this.listWrapper) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.listWrapper, 'click', this.onMouseClick);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown touchstart', this.documentClickHandler);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'mouseover', this.onMouseOver, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'mouseout', this.onMouseLeave, this);\n }\n }\n };\n DateTimePicker.prototype.onMouseOver = function (event) {\n var currentLi = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.' + LISTCLASS);\n this.setTimeHover(currentLi, HOVER);\n };\n DateTimePicker.prototype.onMouseLeave = function () {\n this.removeTimeHover(HOVER);\n };\n DateTimePicker.prototype.setTimeHover = function (li, className) {\n if (this.enabled && this.isValidLI(li) && !li.classList.contains(className)) {\n this.removeTimeHover(className);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], className);\n }\n };\n DateTimePicker.prototype.getPopupHeight = function () {\n var height = parseInt(POPUPDIMENSION, 10);\n var popupHeight = this.dateTimeWrapper.getBoundingClientRect().height;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.fullScreenMode) {\n return popupHeight;\n }\n else {\n return popupHeight > height ? height : popupHeight;\n }\n };\n DateTimePicker.prototype.changeEvent = function (e) {\n _super.prototype.changeEvent.call(this, e);\n if ((this.value && this.value.valueOf()) !== (this.previousDateTime && +this.previousDateTime.valueOf())) {\n this.valueWithMinutes = this.value;\n this.setInputValue('date');\n this.previousDateTime = this.value && new Date(+this.value);\n }\n };\n DateTimePicker.prototype.updateValue = function (e) {\n this.setInputValue('time');\n if (+this.previousDateTime !== +this.value) {\n this.changedArgs = {\n value: this.value, event: e || null,\n isInteracted: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e),\n element: this.element\n };\n this.addTimeSelection();\n this.trigger('change', this.changedArgs);\n this.previousDateTime = this.previousDate = this.value;\n }\n };\n DateTimePicker.prototype.setTimeScrollPosition = function () {\n var popupElement = this.selectedElement;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(popupElement)) {\n this.findScrollTop(popupElement);\n }\n else if (this.dateTimeWrapper && this.checkDateValue(this.scrollTo)) {\n this.setScrollTo();\n }\n };\n DateTimePicker.prototype.findScrollTop = function (element) {\n var listHeight = this.getPopupHeight();\n var nextElement = element.nextElementSibling;\n var height = nextElement ? nextElement.offsetTop : element.offsetTop;\n var lineHeight = element.getBoundingClientRect().height;\n if ((height + element.offsetTop) > listHeight) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.fullScreenMode) {\n var listContent = this.dateTimeWrapper.querySelector('.e-content');\n listContent.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;\n }\n else {\n this.dateTimeWrapper.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;\n }\n }\n else {\n this.dateTimeWrapper.scrollTop = 0;\n }\n };\n DateTimePicker.prototype.setScrollTo = function () {\n var element;\n var items = this.dateTimeWrapper.querySelectorAll('.' + LISTCLASS);\n if (items.length >= 0) {\n this.scrollInvoked = true;\n var initialTime = this.timeCollections[0];\n var scrollTime = this.getDateObject(this.checkDateValue(this.scrollTo)).getTime();\n element = items[Math.round((scrollTime - initialTime) / (this.step * 60000))];\n }\n else {\n this.dateTimeWrapper.scrollTop = 0;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n this.findScrollTop(element);\n }\n else {\n this.dateTimeWrapper.scrollTop = 0;\n }\n };\n DateTimePicker.prototype.setInputValue = function (type) {\n if (type === 'date') {\n this.inputElement.value = this.previousElementValue = this.getFormattedValue(this.getFullDateTime());\n this.setProperties({ value: this.getFullDateTime() }, true);\n }\n else {\n var tempVal = this.getFormattedValue(new Date(this.timeCollections[this.activeIndex]));\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(tempVal, this.inputElement, this.floatLabelType, this.showClearButton);\n this.previousElementValue = this.inputElement.value;\n this.setProperties({ value: new Date(this.timeCollections[this.activeIndex]) }, true);\n if (this.enableMask) {\n this.createMask();\n }\n }\n this.updateIconState();\n };\n DateTimePicker.prototype.getFullDateTime = function () {\n var value = null;\n if (this.isDateObject(this.valueWithMinutes)) {\n value = this.combineDateTime(this.valueWithMinutes);\n }\n else {\n value = this.previousDate;\n }\n return this.validateMinMaxRange(value);\n };\n DateTimePicker.prototype.createMask = function () {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n };\n DateTimePicker.prototype.combineDateTime = function (value) {\n if (this.isDateObject(value)) {\n var day = this.previousDate.getDate();\n var month = this.previousDate.getMonth();\n var year = this.previousDate.getFullYear();\n var hour = value.getHours();\n var minutes = value.getMinutes();\n var seconds = value.getSeconds();\n return new Date(year, month, day, hour, minutes, seconds);\n }\n else {\n return this.previousDate;\n }\n };\n DateTimePicker.prototype.onMouseClick = function (event) {\n var target = event.target;\n var li = this.selectedElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + LISTCLASS);\n if (li && li.classList.contains(LISTCLASS)) {\n this.timeValue = li.getAttribute('data-value');\n this.hide(event);\n }\n this.setSelection(li, event);\n };\n DateTimePicker.prototype.setSelection = function (li, event) {\n if (this.isValidLI(li) && !li.classList.contains(ACTIVE)) {\n this.selectedElement = li;\n var index = Array.prototype.slice.call(this.liCollections).indexOf(li);\n this.activeIndex = index;\n this.valueWithMinutes = new Date(this.timeCollections[this.activeIndex]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.selectedElement], ACTIVE);\n this.selectedElement.setAttribute('aria-selected', 'true');\n this.updateValue(event);\n }\n };\n DateTimePicker.prototype.setTimeActiveClass = function () {\n var collections = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeWrapper) ? this.listWrapper : this.dateTimeWrapper;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(collections)) {\n var items = collections.querySelectorAll('.' + LISTCLASS);\n if (items.length) {\n for (var i = 0; i < items.length; i++) {\n if (this.timeCollections[i] === +(this.valueWithMinutes)) {\n items[i].setAttribute('aria-selected', 'true');\n this.selectedElement = items[i];\n this.activeIndex = i;\n this.setTimeActiveDescendant();\n break;\n }\n }\n }\n }\n };\n DateTimePicker.prototype.setTimeActiveDescendant = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedElement) && this.value) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-activedescendant': this.selectedElement.getAttribute('id') });\n }\n else {\n this.inputElement.removeAttribute('aria-activedescendant');\n }\n };\n DateTimePicker.prototype.addTimeSelection = function () {\n this.selectedElement = null;\n this.removeTimeSelection();\n this.setTimeActiveClass();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.selectedElement], ACTIVE);\n this.selectedElement.setAttribute('aria-selected', 'true');\n }\n };\n DateTimePicker.prototype.removeTimeSelection = function () {\n this.removeTimeHover(HOVER);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeWrapper)) {\n var items = this.dateTimeWrapper.querySelectorAll('.' + ACTIVE);\n if (items.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(items, ACTIVE);\n items[0].removeAttribute('aria-selected');\n }\n }\n };\n DateTimePicker.prototype.removeTimeHover = function (className) {\n var hoveredItem = this.getTimeHoverItem(className);\n if (hoveredItem && hoveredItem.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(hoveredItem, className);\n }\n };\n DateTimePicker.prototype.getTimeHoverItem = function (className) {\n var collections = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeWrapper) ? this.listWrapper : this.dateTimeWrapper;\n var hoveredItem;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(collections)) {\n hoveredItem = collections.querySelectorAll('.' + className);\n }\n return hoveredItem;\n };\n DateTimePicker.prototype.isValidLI = function (li) {\n return (li && li.classList.contains(LISTCLASS) && !li.classList.contains(DISABLED));\n };\n DateTimePicker.prototype.calculateStartEnd = function (value, range, method) {\n var day = value.getDate();\n var month = value.getMonth();\n var year = value.getFullYear();\n var hours = value.getHours();\n var minutes = value.getMinutes();\n var seconds = value.getSeconds();\n var milliseconds = value.getMilliseconds();\n if (range) {\n if (method === 'starttime') {\n return new Date(year, month, day, 0, 0, 0);\n }\n else {\n return new Date(year, month, day, 23, 59, 59);\n }\n }\n else {\n return new Date(year, month, day, hours, minutes, seconds, milliseconds);\n }\n };\n DateTimePicker.prototype.startTime = function (date) {\n var tempStartValue;\n var start;\n var tempMin = this.min;\n var tempMax = this.max;\n var value = date === null ? new Date() : date;\n var isModified = false;\n var startValue;\n if (this.minTime) {\n startValue = new Date(value.getFullYear(), value.getMonth(), value.getDate(), this.minTime.getHours(), this.minTime.getMinutes(), this.minTime.getSeconds(), this.minTime.getMilliseconds());\n isModified = true;\n }\n else {\n startValue = value;\n }\n if ((+startValue.getDate() === +tempMin.getDate() && +startValue.getMonth() === +tempMin.getMonth() &&\n +startValue.getFullYear() === +tempMin.getFullYear()) ||\n ((+new Date(startValue.getFullYear(), startValue.getMonth(), startValue.getDate())) <=\n +new Date(tempMin.getFullYear(), tempMin.getMonth(), tempMin.getDate()))) {\n start = false;\n tempStartValue = tempMin;\n if (isModified && ((+new Date(startValue.getFullYear(), startValue.getMonth(), startValue.getDate(), startValue.getHours(), startValue.getMinutes(), startValue.getSeconds(), startValue.getMilliseconds())) >=\n +new Date(tempMin.getFullYear(), tempMin.getMonth(), tempMin.getDate(), tempMin.getHours(), tempMin.getMinutes(), tempMin.getSeconds(), tempMin.getMilliseconds()))) {\n tempStartValue.setHours(startValue.getHours(), startValue.getMinutes(), startValue.getSeconds(), startValue.getMilliseconds());\n }\n }\n else if (+startValue < +tempMax && +startValue > +tempMin) {\n start = !isModified;\n tempStartValue = startValue;\n }\n else if (+startValue >= +tempMax) {\n start = true;\n tempStartValue = tempMax;\n }\n return this.calculateStartEnd(tempStartValue, start, 'starttime');\n };\n DateTimePicker.prototype.TimePopupFormat = function () {\n var format = '';\n var formatCount = 0;\n var proxy = false || this;\n /**\n * Formats the value specifier.\n *\n * @param {string} formattext - The format text.\n * @returns {string} The formatted value specifier.\n */\n function formatValueSpecifier(formattext) {\n switch (formattext) {\n case 'd':\n case 'dd':\n case 'ddd':\n case 'dddd':\n case 'M':\n case 'MM':\n case 'MMM':\n case 'MMMM':\n case 'y':\n case 'yy':\n case 'yyy':\n case 'yyyy':\n if (format === '') {\n format = format + formattext;\n }\n else {\n format = format + '/' + formattext;\n }\n formatCount = formatCount + 1;\n break;\n }\n if (formatCount > 2) {\n proxy.dateFormatString = format;\n }\n return format;\n }\n return formatValueSpecifier;\n };\n DateTimePicker.prototype.endTime = function (date) {\n var tempEndValue;\n var end;\n var tempMax = this.max;\n var value = date === null ? new Date() : date;\n var isModified = false;\n var endValue;\n if (this.maxTime) {\n endValue = new Date(value.getFullYear(), value.getMonth(), value.getDate(), this.maxTime.getHours(), this.maxTime.getMinutes(), this.maxTime.getSeconds(), this.maxTime.getMilliseconds());\n isModified = true;\n }\n else {\n endValue = value;\n }\n if ((+endValue.getDate() === +tempMax.getDate() && +endValue.getMonth() === +tempMax.getMonth() &&\n +endValue.getFullYear() === +tempMax.getFullYear()) ||\n (+new Date(endValue.getUTCFullYear(), endValue.getMonth(), endValue.getDate()) >=\n +new Date(tempMax.getFullYear(), tempMax.getMonth(), tempMax.getDate()))) {\n end = false;\n tempEndValue = this.max;\n if (isModified && (+new Date(endValue.getUTCFullYear(), endValue.getMonth(), endValue.getDate(), endValue.getHours(), endValue.getMinutes(), endValue.getSeconds(), endValue.getMilliseconds()) <=\n +new Date(tempMax.getFullYear(), tempMax.getMonth(), tempMax.getDate(), tempMax.getHours(), tempMax.getMinutes(), tempMax.getSeconds(), tempMax.getMilliseconds()))) {\n tempEndValue.setHours(endValue.getHours(), endValue.getMinutes(), endValue.getSeconds(), endValue.getMilliseconds());\n }\n }\n else if (+endValue < +this.max && +endValue > +this.min) {\n end = !isModified;\n tempEndValue = endValue;\n }\n else if (+endValue <= +this.min) {\n end = true;\n tempEndValue = this.min;\n }\n return this.calculateStartEnd(tempEndValue, end, 'endtime');\n };\n DateTimePicker.prototype.hide = function (e) {\n var _this = this;\n if (this.popupObj || this.dateTimeWrapper) {\n this.preventArgs = {\n cancel: false,\n popup: this.popupObj || this.popupObject,\n event: e || null\n };\n var eventArgs = this.preventArgs;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj)) {\n this.trigger('close', eventArgs, function (eventArgs) {\n _this.dateTimeCloseEventCallback(e, eventArgs);\n });\n }\n else {\n this.dateTimeCloseEventCallback(e, eventArgs);\n }\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowEdit && !this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n this.setAllowEdit();\n }\n };\n DateTimePicker.prototype.dateTimeCloseEventCallback = function (e, eventArgs) {\n this.preventArgs = eventArgs;\n if (!this.preventArgs.cancel) {\n if (this.isDatePopupOpen()) {\n _super.prototype.hide.call(this, e);\n }\n else if (this.isTimePopupOpen()) {\n this.closePopup(e);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], OVERFLOW);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.timeModal) {\n this.timeModal.style.display = 'none';\n this.timeModal.outerHTML = '';\n this.timeModal = null;\n }\n this.setTimeActiveDescendant();\n }\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowEdit && !this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n this.setAllowEdit();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DateTimePicker.prototype.closePopup = function (e) {\n if (this.isTimePopupOpen() && this.popupObject) {\n var animModel = {\n name: 'FadeOut',\n duration: ANIMATIONDURATION,\n delay: 0\n };\n this.popupObject.hide(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(animModel));\n this.inputWrapper.container.classList.remove(ICONANIMATION);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-expanded': 'false' });\n this.inputElement.removeAttribute('aria-owns');\n this.inputElement.removeAttribute('aria-controls');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown touchstart', this.documentClickHandler);\n }\n };\n DateTimePicker.prototype.preRender = function () {\n this.checkFormat();\n this.dateTimeFormat = this.cldrDateTimeFormat();\n _super.prototype.preRender.call(this);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputElementCopy], [ROOT]);\n };\n DateTimePicker.prototype.getProperty = function (date, val) {\n if (val === 'min') {\n this.setProperties({ min: this.validateValue(date.min) }, true);\n }\n else {\n this.setProperties({ max: this.validateValue(date.max) }, true);\n }\n };\n DateTimePicker.prototype.checkAttributes = function (isDynamic) {\n var attributes = isDynamic ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) ? [] : Object.keys(this.htmlAttributes) :\n ['style', 'name', 'step', 'disabled', 'readonly', 'value', 'min', 'max', 'placeholder', 'type'];\n var value;\n for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {\n var prop = attributes_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.getAttribute(prop))) {\n switch (prop) {\n case 'name':\n this.inputElement.setAttribute('name', this.inputElement.getAttribute(prop));\n break;\n case 'step':\n this.step = parseInt(this.inputElement.getAttribute(prop), 10);\n break;\n case 'readonly':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeOptions) || (this.dateTimeOptions['readonly'] === undefined)) || isDynamic) {\n var readonly = this.inputElement.getAttribute(prop) === 'disabled' ||\n this.inputElement.getAttribute(prop) === '' ||\n this.inputElement.getAttribute(prop) === 'true' ? true : false;\n this.setProperties({ readonly: readonly }, !isDynamic);\n }\n break;\n case 'placeholder':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeOptions) || (this.dateTimeOptions['placeholder'] === undefined)) || isDynamic) {\n this.setProperties({ placeholder: this.inputElement.getAttribute(prop) }, !isDynamic);\n }\n break;\n case 'min':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeOptions) || (this.dateTimeOptions['min'] === undefined)) || isDynamic) {\n value = new Date(this.inputElement.getAttribute(prop));\n if (!this.isNullOrEmpty(value) && !isNaN(+value)) {\n this.setProperties({ min: value }, !isDynamic);\n }\n }\n break;\n case 'disabled':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeOptions) || (this.dateTimeOptions['enabled'] === undefined)) || isDynamic) {\n var enabled = this.inputElement.getAttribute(prop) === 'disabled' ||\n this.inputElement.getAttribute(prop) === 'true' ||\n this.inputElement.getAttribute(prop) === '' ? false : true;\n this.setProperties({ enabled: enabled }, !isDynamic);\n }\n break;\n case 'value':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeOptions) || (this.dateTimeOptions['value'] === undefined)) || isDynamic) {\n value = new Date(this.inputElement.getAttribute(prop));\n if (!this.isNullOrEmpty(value) && !isNaN(+value)) {\n this.setProperties({ value: value }, !isDynamic);\n }\n }\n break;\n case 'max':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeOptions) || (this.dateTimeOptions['max'] === undefined)) || isDynamic) {\n value = new Date(this.inputElement.getAttribute(prop));\n if (!this.isNullOrEmpty(value) && !isNaN(+value)) {\n this.setProperties({ max: value }, !isDynamic);\n }\n }\n break;\n }\n }\n }\n };\n DateTimePicker.prototype.requiredModules = function () {\n var modules = [];\n if (this.calendarMode === 'Islamic') {\n modules.push({ args: [this], member: 'islamic', name: 'Islamic' });\n }\n if (this.enableMask) {\n modules.push(this.maskedDateModule());\n }\n return modules;\n };\n DateTimePicker.prototype.maskedDateModule = function () {\n var modules = { args: [this], member: 'MaskedDateTime' };\n return modules;\n };\n DateTimePicker.prototype.getTimeActiveElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dateTimeWrapper)) {\n return this.dateTimeWrapper.querySelectorAll('.' + ACTIVE);\n }\n else {\n return null;\n }\n };\n DateTimePicker.prototype.createDateObj = function (val) {\n return val instanceof Date ? val : null;\n };\n DateTimePicker.prototype.getDateObject = function (text) {\n if (!this.isNullOrEmpty(text)) {\n var dateValue = this.createDateObj(text);\n var value = this.valueWithMinutes;\n var status_1 = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value);\n if (this.checkDateValue(dateValue)) {\n var date = status_1 ? value.getDate() : DAY;\n var month = status_1 ? value.getMonth() : MONTH;\n var year = status_1 ? value.getFullYear() : YEAR;\n var hour = status_1 ? value.getHours() : HOUR;\n var minute = status_1 ? value.getMinutes() : MINUTE;\n var second = status_1 ? value.getSeconds() : SECOND;\n var millisecond = status_1 ? value.getMilliseconds() : MILLISECOND;\n if (!this.scrollInvoked) {\n return new Date(year, month, date, hour, minute, second, millisecond);\n }\n else {\n this.scrollInvoked = false;\n return new Date(year, month, date, dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds(), dateValue.getMilliseconds());\n }\n }\n }\n return null;\n };\n DateTimePicker.prototype.findNextTimeElement = function (event) {\n var textVal = (this.inputElement).value;\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.valueWithMinutes) ? this.createDateObj(textVal) :\n this.getDateObject(this.valueWithMinutes);\n var dateTimeVal = null;\n var listCount = this.liCollections.length;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n if (event.action === 'home') {\n dateTimeVal = +(this.createDateObj(new Date(this.timeCollections[0])));\n this.activeIndex = 0;\n }\n else if (event.action === 'end') {\n dateTimeVal = +(this.createDateObj(new Date(this.timeCollections[this.timeCollections.length - 1])));\n this.activeIndex = this.timeCollections.length - 1;\n }\n else {\n if (event.action === 'down') {\n for (var i = 0; i < listCount; i++) {\n if (+value < this.timeCollections[i]) {\n dateTimeVal = +(this.createDateObj(new Date(this.timeCollections[i])));\n this.activeIndex = i;\n break;\n }\n }\n }\n else {\n for (var i = listCount - 1; i >= 0; i--) {\n if (+value > this.timeCollections[i]) {\n dateTimeVal = +(this.createDateObj(new Date(this.timeCollections[i])));\n this.activeIndex = i;\n break;\n }\n }\n }\n }\n this.selectedElement = this.liCollections[this.activeIndex];\n this.timeElementValue((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dateTimeVal) ? null : new Date(dateTimeVal));\n }\n };\n DateTimePicker.prototype.setTimeValue = function (date, value) {\n var dateString;\n var time;\n var val = this.validateMinMaxRange(value);\n var newval = this.createDateObj(val);\n if (this.getFormattedValue(newval) !== (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? this.getFormattedValue(this.value) : null)) {\n this.valueWithMinutes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newval) ? null : newval;\n time = new Date(+this.valueWithMinutes);\n }\n else {\n if (this.strictMode) {\n //for strict mode case, when value not present within a range. Reset the nearest range value.\n date = newval;\n }\n this.valueWithMinutes = this.checkDateValue(date);\n time = new Date(+this.valueWithMinutes);\n }\n if (this.calendarMode === 'Gregorian') {\n dateString = this.globalize.formatDate(time, {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.cldrDateTimeFormat(),\n type: 'dateTime', skeleton: 'yMd'\n });\n }\n else {\n dateString = this.globalize.formatDate(time, {\n format: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formatString) ? this.formatString : this.cldrDateTimeFormat(),\n type: 'dateTime', skeleton: 'yMd', calendar: 'islamic'\n });\n }\n if (!this.strictMode && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(time)) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(dateString, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n else {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(dateString, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n return time;\n };\n DateTimePicker.prototype.timeElementValue = function (value) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value)) && !this.isNullOrEmpty(value)) {\n var date = value instanceof Date ? value : this.getDateObject(value);\n return this.setTimeValue(date, value);\n }\n return null;\n };\n DateTimePicker.prototype.timeKeyHandler = function (event) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.step) || this.step <= 0) {\n return;\n }\n var listCount = this.timeCollections.length;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getTimeActiveElement()) || this.getTimeActiveElement().length === 0) {\n if (this.liCollections.length > 0) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex)) {\n this.activeIndex = 0;\n this.selectedElement = this.liCollections[0];\n this.timeElementValue(new Date(this.timeCollections[0]));\n }\n else {\n this.findNextTimeElement(event);\n }\n }\n }\n else {\n var nextItemValue = void 0;\n if ((event.keyCode >= 37) && (event.keyCode <= 40)) {\n var index = (event.keyCode === 40 || event.keyCode === 39) ? ++this.activeIndex : --this.activeIndex;\n this.activeIndex = index = this.activeIndex === (listCount) ? 0 : this.activeIndex;\n this.activeIndex = index = this.activeIndex < 0 ? (listCount - 1) : this.activeIndex;\n nextItemValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeCollections[index]) ?\n this.timeCollections[0] : this.timeCollections[index];\n }\n else if (event.action === 'home') {\n this.activeIndex = 0;\n nextItemValue = this.timeCollections[0];\n }\n else if (event.action === 'end') {\n this.activeIndex = listCount - 1;\n nextItemValue = this.timeCollections[listCount - 1];\n }\n this.selectedElement = this.liCollections[this.activeIndex];\n this.timeElementValue(new Date(nextItemValue));\n }\n this.isNavigate = true;\n this.setTimeHover(this.selectedElement, NAVIGATION);\n this.setTimeActiveDescendant();\n if (this.isTimePopupOpen() && this.selectedElement !== null && (!event || event.type !== 'click')) {\n this.setTimeScrollPosition();\n }\n };\n DateTimePicker.prototype.timeKeyActionHandle = function (event) {\n if (this.enabled) {\n if (event.action !== 'right' && event.action !== 'left' && event.action !== 'tab') {\n event.preventDefault();\n }\n switch (event.action) {\n case 'up':\n case 'down':\n case 'home':\n case 'end':\n this.timeKeyHandler(event);\n break;\n case 'enter':\n if (this.isNavigate) {\n this.selectedElement = this.liCollections[this.activeIndex];\n this.valueWithMinutes = new Date(this.timeCollections[this.activeIndex]);\n this.setInputValue('time');\n if (+this.previousDateTime !== +this.value) {\n this.changedArgs.value = this.value;\n this.addTimeSelection();\n this.previousDateTime = this.value;\n }\n }\n else {\n this.updateValue(event);\n }\n this.hide(event);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], INPUTFOCUS);\n this.isNavigate = false;\n event.stopPropagation();\n break;\n case 'escape':\n this.hide(event);\n break;\n default:\n this.isNavigate = false;\n break;\n }\n }\n };\n DateTimePicker.prototype.inputKeyAction = function (event) {\n switch (event.action) {\n case 'altDownArrow':\n this.strictModeUpdate();\n this.updateInput();\n this.toggle(event);\n break;\n }\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {DateTimePickerModel} newProp - Returns the dynamic property value of the component.\n * @param {DateTimePickerModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n\n */\n DateTimePicker.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n var openPopup = ['blur', 'change', 'cleared', 'close', 'created', 'destroyed', 'focus', 'navigated', 'open', 'renderDayCell'];\n if (openPopup.indexOf(prop) > 0 && this.isReact) {\n this.isDynamicValueChanged = true;\n }\n switch (prop) {\n case 'value':\n this.isDynamicValueChanged = true;\n this.invalidValueString = null;\n this.checkInvalidValue(newProp.value);\n newProp.value = this.value;\n newProp.value = this.validateValue(newProp.value);\n if (this.enableMask) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.maskedDateValue, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n else {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.getFormattedValue(newProp.value), this.inputElement, this.floatLabelType, this.showClearButton);\n }\n this.valueWithMinutes = newProp.value;\n this.setProperties({ value: newProp.value }, true);\n if (this.popupObj) {\n this.popupUpdate();\n }\n this.previousDateTime = new Date(this.inputElement.value);\n this.updateInput();\n this.changeTrigger(null);\n this.preventChange = this.isAngular && this.preventChange ? !this.preventChange : this.preventChange;\n if (this.enableMask && this.value) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n break;\n case 'min':\n case 'max':\n this.getProperty(newProp, prop);\n this.updateInput();\n break;\n case 'enableRtl':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setEnableRtl(this.enableRtl, [this.inputWrapper.container]);\n break;\n case 'cssClass':\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldProp.cssClass)) {\n oldProp.cssClass = (oldProp.cssClass.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.cssClass)) {\n newProp.cssClass = (newProp.cssClass.replace(/\\s+/g, ' ')).trim();\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setCssClass(newProp.cssClass, [this.inputWrapper.container], oldProp.cssClass);\n if (this.dateTimeWrapper) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setCssClass(newProp.cssClass, [this.dateTimeWrapper], oldProp.cssClass);\n }\n break;\n case 'locale':\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.l10n.setLocale(this.locale);\n if (this.dateTimeOptions && this.dateTimeOptions.placeholder == null) {\n this.setProperties({ placeholder: this.l10n.getConstant('placeholder') }, true);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.l10n.getConstant('placeholder'), this.inputElement);\n }\n this.dateTimeFormat = this.cldrDateTimeFormat();\n _super.prototype.updateInput.call(this);\n break;\n case 'htmlAttributes':\n this.updateHtmlAttributeToElement();\n this.updateHtmlAttributeToWrapper();\n this.checkAttributes(true);\n break;\n case 'format':\n this.setProperties({ format: newProp.format }, true);\n this.checkFormat();\n this.dateTimeFormat = this.formatString;\n this.setValue();\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n if (!this.value) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.maskedDateValue, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n }\n break;\n case 'placeholder':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(newProp.placeholder, this.inputElement);\n break;\n case 'enabled':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setEnabled(this.enabled, this.inputElement);\n if (this.enabled) {\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n }\n else {\n this.inputElement.tabIndex = -1;\n }\n break;\n case 'strictMode':\n this.invalidValueString = null;\n this.updateInput();\n break;\n case 'width':\n this.setWidth(newProp.width);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');\n }\n break;\n case 'readonly':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setReadonly(this.readonly, this.inputElement);\n break;\n case 'floatLabelType':\n this.floatLabelType = newProp.floatLabelType;\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.removeFloating(this.inputWrapper);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');\n }\n break;\n case 'scrollTo':\n if (this.checkDateValue(new Date(this.checkValue(newProp.scrollTo)))) {\n if (this.dateTimeWrapper) {\n this.setScrollTo();\n }\n this.setProperties({ scrollTo: this.checkDateValue(new Date(this.checkValue(newProp.scrollTo))) }, true);\n }\n else {\n this.setProperties({ scrollTo: null }, true);\n }\n break;\n case 'enableMask':\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.maskedDateValue, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n else {\n if (this.inputElement.value === this.maskedDateValue) {\n this.maskedDateValue = '';\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.maskedDateValue, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n }\n break;\n default:\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n break;\n }\n if (!this.isDynamicValueChanged) {\n this.hide(null);\n }\n this.isDynamicValueChanged = false;\n }\n };\n /**\n * To get component name.\n *\n * @returns {string} Returns the component name.\n * @private\n */\n DateTimePicker.prototype.getModuleName = function () {\n return 'datetimepicker';\n };\n DateTimePicker.prototype.restoreValue = function () {\n this.previousDateTime = this.previousDate;\n this.currentDate = this.value ? this.value : new Date();\n this.valueWithMinutes = this.value;\n this.previousDate = this.value;\n this.previousElementValue = this.previousElementValue = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputValueCopy)) ? '' :\n this.getFormattedValue(this.inputValueCopy);\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"timeFormat\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(30)\n ], DateTimePicker.prototype, \"step\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"scrollTo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], DateTimePicker.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"keyConfigs\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], DateTimePicker.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DateTimePicker.prototype, \"allowEdit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"isMultiSelection\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"values\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DateTimePicker.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"strictMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"fullScreenMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"serverTimezoneOffset\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(new Date(1900, 0, 1))\n ], DateTimePicker.prototype, \"min\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(new Date(2099, 11, 31))\n ], DateTimePicker.prototype, \"max\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"minTime\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"maxTime\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DateTimePicker.prototype, \"firstDayOfWeek\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Gregorian')\n ], DateTimePicker.prototype, \"calendarMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Month')\n ], DateTimePicker.prototype, \"start\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Month')\n ], DateTimePicker.prototype, \"depth\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"weekNumber\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DateTimePicker.prototype, \"showTodayButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Short')\n ], DateTimePicker.prototype, \"dayHeaderFormat\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"openOnFocus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DateTimePicker.prototype, \"enableMask\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({ day: 'day', month: 'month', year: 'year', hour: 'hour', minute: 'minute', second: 'second', dayOfTheWeek: 'day of the week' })\n ], DateTimePicker.prototype, \"maskPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"cleared\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"blur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DateTimePicker.prototype, \"destroyed\", void 0);\n DateTimePicker = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], DateTimePicker);\n return DateTimePicker;\n}(_datepicker_datepicker__WEBPACK_IMPORTED_MODULE_4__.DatePicker));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-calendars/src/maskbase/masked-date-time.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-calendars/src/maskbase/masked-date-time.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MaskedDateTime: () => (/* binding */ MaskedDateTime)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\nvar ARROWLEFT = 'ArrowLeft';\nvar ARROWRIGHT = 'ArrowRight';\nvar ARROWUP = 'ArrowUp';\nvar ARROWDOWN = 'ArrowDown';\nvar TAB = 'Tab';\nvar SHIFTTAB = 'shiftTab';\nvar END = 'End';\nvar HOME = 'Home';\nvar MaskedDateTime = /** @class */ (function () {\n function MaskedDateTime(parent) {\n this.mask = '';\n this.defaultConstant = {\n day: 'day',\n month: 'month',\n year: 'year',\n hour: 'hour',\n minute: 'minute',\n second: 'second',\n dayOfTheWeek: 'day of the week'\n };\n this.hiddenMask = '';\n this.validCharacters = 'dMyhmHfasz';\n this.isDayPart = false;\n this.isMonthPart = false;\n this.isYearPart = false;\n this.isHourPart = false;\n this.isMinutePart = false;\n this.isSecondsPart = false;\n this.isMilliSecondsPart = false;\n this.monthCharacter = '';\n this.periodCharacter = '';\n this.isHiddenMask = false;\n this.isComplete = false;\n this.isNavigate = false;\n this.navigated = false;\n this.isBlur = false;\n this.formatRegex = /EEEEE|EEEE|EEE|EE|E|cccc|ccc|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yyy|yy|y|HH|H|hh|h|mm|m|fff|ff|f|aa|a|ss|s|zzzz|zzz|zz|z|'[^']*'|'[^']*'/g;\n this.isDeletion = false;\n this.isShortYear = false;\n this.isDeleteKey = false;\n this.isDateZero = false;\n this.isMonthZero = false;\n this.isYearZero = false;\n this.isLeadingZero = false;\n this.dayTypeCount = 0;\n this.monthTypeCount = 0;\n this.hourTypeCount = 0;\n this.minuteTypeCount = 0;\n this.secondTypeCount = 0;\n this.parent = parent;\n this.dateformat = this.getCulturedFormat();\n this.maskDateValue = this.parent.value != null ? new Date(+this.parent.value) : new Date();\n this.maskDateValue.setMonth(0);\n this.maskDateValue.setHours(0);\n this.maskDateValue.setMinutes(0);\n this.maskDateValue.setSeconds(0);\n this.previousDate = new Date(this.maskDateValue.getFullYear(), this.maskDateValue.getMonth(), this.maskDateValue.getDate(), this.maskDateValue.getHours(), this.maskDateValue.getMinutes(), this.maskDateValue.getSeconds());\n this.removeEventListener();\n this.addEventListener();\n }\n MaskedDateTime.prototype.getModuleName = function () {\n return 'MaskedDateTime';\n };\n MaskedDateTime.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on('createMask', this.createMask, this);\n this.parent.on('setMaskSelection', this.validCharacterCheck, this);\n this.parent.on('inputHandler', this.maskInputHandler, this);\n this.parent.on('keyDownHandler', this.maskKeydownHandler, this);\n this.parent.on('clearHandler', this.clearHandler, this);\n this.parent.on('maskPasteInputHandler', this.maskPasteInputHandler, this);\n };\n MaskedDateTime.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off('createMask', this.createMask);\n this.parent.off('setMaskSelection', this.validCharacterCheck);\n this.parent.off('inputHandler', this.maskInputHandler);\n this.parent.off('keyDownHandler', this.maskKeydownHandler);\n this.parent.off('clearHandler', this.clearHandler);\n this.parent.off('maskPasteInputHandler', this.maskPasteInputHandler);\n };\n MaskedDateTime.prototype.createMask = function (mask) {\n this.isDayPart = this.isMonthPart = this.isYearPart = this.isHourPart = this.isMinutePart = this.isSecondsPart = false;\n this.dateformat = this.getCulturedFormat();\n if (this.parent.maskPlaceholder.day) {\n this.defaultConstant['day'] = this.parent.maskPlaceholder.day;\n }\n if (this.parent.maskPlaceholder.month) {\n this.defaultConstant['month'] = this.parent.maskPlaceholder.month;\n }\n if (this.parent.maskPlaceholder.year) {\n this.defaultConstant['year'] = this.parent.maskPlaceholder.year;\n }\n if (this.parent.maskPlaceholder.hour) {\n this.defaultConstant['hour'] = this.parent.maskPlaceholder.hour;\n }\n if (this.parent.maskPlaceholder.minute) {\n this.defaultConstant['minute'] = this.parent.maskPlaceholder.minute;\n }\n if (this.parent.maskPlaceholder.second) {\n this.defaultConstant['second'] = this.parent.maskPlaceholder.second;\n }\n if (this.parent.maskPlaceholder.dayOfTheWeek) {\n this.defaultConstant['dayOfTheWeek'] = this.parent.maskPlaceholder.dayOfTheWeek.toString();\n }\n this.getCUltureMaskFormat();\n var inputValue = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = true;\n this.hiddenMask = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = false;\n this.previousHiddenMask = this.hiddenMask;\n this.mask = this.previousValue = inputValue;\n this.parent.maskedDateValue = this.mask;\n if (this.parent.value) {\n this.navigated = true;\n this.isBlur = mask.isBlur;\n this.setDynamicValue();\n }\n };\n MaskedDateTime.prototype.getCUltureMaskFormat = function () {\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.parent.moduleName, this.defaultConstant, this.parent.locale);\n this.objectString = Object.keys(this.defaultConstant);\n for (var i = 0; i < this.objectString.length; i++) {\n this.defaultConstant[this.objectString[i].toString()] =\n this.l10n.getConstant(this.objectString[i].toString());\n }\n };\n MaskedDateTime.prototype.validCharacterCheck = function () {\n var start = this.parent.inputElement.selectionStart;\n if (this.parent.moduleName !== 'timepicker') {\n if (start === this.hiddenMask.length && this.mask === this.parent.inputElement.value) {\n start = 0;\n }\n }\n for (var i = start, j = start - 1; i < this.hiddenMask.length || j >= 0; i++, j--) {\n if (i < this.hiddenMask.length && this.validCharacters.indexOf(this.hiddenMask[i]) !== -1) {\n this.setSelection(this.hiddenMask[i]);\n return;\n }\n if (j >= 0 && this.validCharacters.indexOf(this.hiddenMask[j]) !== -1) {\n this.setSelection(this.hiddenMask[j]);\n return;\n }\n }\n };\n MaskedDateTime.prototype.setDynamicValue = function () {\n this.maskDateValue = new Date(+this.parent.value);\n this.isDayPart = this.isMonthPart = this.isYearPart = this.isHourPart = this.isMinutePart = this.isSecondsPart = true;\n this.updateValue();\n if (!this.isBlur) {\n this.validCharacterCheck();\n }\n };\n MaskedDateTime.prototype.setSelection = function (validChar) {\n var start = -1;\n var end = 0;\n for (var i = 0; i < this.hiddenMask.length; i++) {\n if (this.hiddenMask[i] === validChar) {\n end = i + 1;\n if (start === -1) {\n start = i;\n }\n }\n }\n if (start < 0) {\n start = 0;\n }\n this.parent.inputElement.setSelectionRange(start, end);\n };\n MaskedDateTime.prototype.maskKeydownHandler = function (args) {\n if (args.e.key === 'Backspace') {\n var start = this.parent.inputElement.selectionStart;\n var formatText = '';\n if (this.validCharacters.indexOf(this.hiddenMask[start]) !== -1) {\n formatText = this.hiddenMask[start];\n }\n switch (formatText) {\n case 'd':\n this.dayTypeCount = Math.max(this.dayTypeCount - 1, 0);\n break;\n case 'M':\n this.monthTypeCount = Math.max(this.monthTypeCount - 1, 0);\n break;\n case 'H':\n case 'h':\n this.hourTypeCount = Math.max(this.hourTypeCount - 1, 0);\n break;\n case 'm':\n this.minuteTypeCount = Math.max(this.minuteTypeCount - 1, 0);\n break;\n case 's':\n this.secondTypeCount = Math.max(this.secondTypeCount - 1, 0);\n break;\n default:\n break;\n }\n return;\n }\n this.dayTypeCount = this.monthTypeCount = this.hourTypeCount = this.minuteTypeCount = this.secondTypeCount = 0;\n if (args.e.key === 'Delete') {\n this.isDeleteKey = true;\n return;\n }\n if ((!args.e.altKey && !args.e.ctrlKey) && (args.e.key === ARROWLEFT || args.e.key === ARROWRIGHT\n || args.e.key === SHIFTTAB || args.e.key === TAB || args.e.action === SHIFTTAB ||\n args.e.key === END || args.e.key === HOME)) {\n var start = this.parent.inputElement.selectionStart;\n var end = this.parent.inputElement.selectionEnd;\n var length_1 = this.parent.inputElement.value.length;\n if ((start === 0 && end === length_1) && (args.e.key === TAB || args.e.action === SHIFTTAB)) {\n var index = args.e.action === SHIFTTAB ? end : 0;\n this.parent.inputElement.selectionStart = this.parent.inputElement.selectionEnd = index;\n }\n if (args.e.key === END || args.e.key === HOME) {\n var range = args.e.key === END ? length_1 : 0;\n this.parent.inputElement.selectionStart = this.parent.inputElement.selectionEnd = range;\n }\n this.navigateSelection(args.e.key === ARROWLEFT || args.e.action === SHIFTTAB || args.e.key === END ? true : false);\n }\n if ((!args.e.altKey && !args.e.ctrlKey) && (args.e.key === ARROWUP || args.e.key === ARROWDOWN)) {\n var start = this.parent.inputElement.selectionStart;\n var formatText = '';\n if (this.validCharacters.indexOf(this.hiddenMask[start]) !== -1) {\n formatText = this.hiddenMask[start];\n }\n this.dateAlteration(args.e.key === ARROWDOWN ? true : false);\n var inputValue = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = true;\n this.hiddenMask = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = false;\n this.previousHiddenMask = this.hiddenMask;\n this.previousValue = inputValue;\n this.parent.inputElement.value = inputValue;\n for (var i = 0; i < this.hiddenMask.length; i++) {\n if (formatText === this.hiddenMask[i]) {\n start = i;\n break;\n }\n }\n this.parent.inputElement.selectionStart = start;\n this.validCharacterCheck();\n }\n };\n MaskedDateTime.prototype.isPersist = function () {\n var isPersist = this.parent.isFocused || this.navigated;\n return isPersist;\n };\n MaskedDateTime.prototype.differenceCheck = function () {\n var start = this.parent.inputElement.selectionStart;\n var inputValue = this.parent.inputElement.value;\n var previousVal = this.previousValue.substring(0, start + this.previousValue.length - inputValue.length);\n var newVal = inputValue.substring(0, start);\n var newDateValue = new Date(+this.maskDateValue);\n var maxDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth() + 1, 0).getDate();\n if (previousVal.indexOf(newVal) === 0 && (newVal.length === 0 ||\n this.previousHiddenMask[newVal.length - 1] !== this.previousHiddenMask[newVal.length])) {\n for (var i = newVal.length; i < previousVal.length; i++) {\n if (this.previousHiddenMask[i] !== '' && this.validCharacters.indexOf(this.previousHiddenMask[i]) >= 0) {\n this.isDeletion = this.handleDeletion(this.previousHiddenMask[i], false);\n }\n }\n if (this.isDeletion) {\n return;\n }\n }\n switch (this.previousHiddenMask[start - 1]) {\n case 'd':\n {\n var date = (this.isDayPart && newDateValue.getDate().toString().length < 2 &&\n !this.isPersist() ? newDateValue.getDate() * 10 : 0) + parseInt(newVal[start - 1], 10);\n this.isDateZero = (newVal[start - 1] === '0');\n this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;\n this.navigated = this.navigated ? false : this.navigated;\n if (isNaN(date)) {\n return;\n }\n for (var i = 0; date > maxDate; i++) {\n date = parseInt(date.toString().slice(1), 10);\n }\n if (date >= 1) {\n newDateValue.setDate(date);\n this.isNavigate = date.toString().length === 2;\n this.previousDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth(), newDateValue.getDate());\n if (newDateValue.getMonth() !== this.maskDateValue.getMonth()) {\n return;\n }\n this.isDayPart = true;\n var maxDaysInMonth = new Date(newDateValue.getFullYear(), newDateValue.getMonth() + 1, 0).getDate();\n this.dayTypeCount += (this.dayTypeCount === 0 && (parseInt(date + '0', 10) > maxDaysInMonth)) ? 2 : 1;\n }\n else {\n this.isDayPart = false;\n if (!(this.dayTypeCount === 1 && this.isDateZero)) {\n this.dayTypeCount += this.isDateZero ? 1 : 0;\n }\n }\n break;\n }\n case 'M':\n {\n var month = void 0;\n if (newDateValue.getMonth().toString().length < 2 && !this.isPersist()) {\n month = (this.isMonthPart ? (newDateValue.getMonth() + 1) * 10 : 0) + parseInt(newVal[start - 1], 10);\n }\n else {\n month = parseInt(newVal[start - 1], 10);\n }\n this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;\n this.navigated = this.navigated ? false : this.navigated;\n this.isMonthZero = (newVal[start - 1] === '0');\n if (!isNaN(month)) {\n while (month > 12) {\n month = parseInt(month.toString().slice(1), 10);\n }\n if (month >= 1) {\n newDateValue.setMonth(month - 1);\n if (month >= 10 || month === 1) {\n if (this.isLeadingZero && month === 1) {\n this.isNavigate = month.toString().length === 1;\n this.isLeadingZero = false;\n }\n else {\n this.isNavigate = month.toString().length === 2;\n }\n }\n else {\n this.isNavigate = month.toString().length === 1;\n }\n if (newDateValue.getMonth() !== month - 1) {\n newDateValue.setDate(1);\n newDateValue.setMonth(month - 1);\n }\n if (this.isDayPart) {\n var previousMaxDate = new Date(this.previousDate.getFullYear(), this.previousDate.getMonth() + 1, 0).getDate();\n var currentMaxDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth() + 1, 0).getDate();\n if (this.previousDate.getDate() === previousMaxDate && currentMaxDate <= previousMaxDate) {\n newDateValue.setDate(currentMaxDate);\n }\n }\n this.previousDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth(), newDateValue.getDate());\n this.isMonthPart = true;\n this.monthTypeCount = this.monthTypeCount + 1;\n this.isLeadingZero = false;\n }\n else {\n newDateValue.setMonth(0);\n this.isLeadingZero = true;\n this.isMonthPart = false;\n if (!(this.monthTypeCount === 1 && this.isMonthZero)) {\n this.monthTypeCount += this.isMonthZero ? 1 : 0;\n }\n }\n }\n else {\n var monthString = (this.getCulturedValue('months[stand-alone].wide'));\n var monthValue = Object.keys(monthString);\n this.monthCharacter += newVal[start - 1].toLowerCase();\n while (this.monthCharacter.length > 0) {\n var i = 1;\n for (var _i = 0, monthValue_1 = monthValue; _i < monthValue_1.length; _i++) {\n var months = monthValue_1[_i];\n if (monthString[i].toLowerCase().indexOf(this.monthCharacter) === 0) {\n newDateValue.setMonth(i - 1);\n this.isMonthPart = true;\n this.maskDateValue = newDateValue;\n return;\n }\n i++;\n }\n this.monthCharacter = this.monthCharacter.substring(1, this.monthCharacter.length);\n }\n }\n break;\n }\n case 'y':\n {\n var year = (this.isYearPart && (newDateValue.getFullYear().toString().length < 4\n && !this.isShortYear) ? newDateValue.getFullYear() * 10 : 0) + parseInt(newVal[start - 1], 10);\n var yearValue = (this.dateformat.match(/y/g) || []).length;\n yearValue = yearValue !== 2 ? 4 : yearValue;\n this.isShortYear = false;\n this.isYearZero = (newVal[start - 1] === '0');\n if (isNaN(year)) {\n return;\n }\n while (year > 9999) {\n year = parseInt(year.toString().slice(1), 10);\n }\n if (year < 1) {\n this.isYearPart = false;\n }\n else {\n newDateValue.setFullYear(year);\n if (year.toString().length === yearValue) {\n this.isNavigate = true;\n }\n this.previousDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth(), newDateValue.getDate());\n this.isYearPart = true;\n }\n break;\n }\n case 'h':\n this.hour = (this.isHourPart && (newDateValue.getHours() % 12 || 12).toString().length < 2\n && !this.isPersist() ? (newDateValue.getHours() % 12 || 12) * 10 : 0) + parseInt(newVal[start - 1], 10);\n this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;\n this.navigated = this.navigated ? false : this.navigated;\n if (isNaN(this.hour)) {\n return;\n }\n while (this.hour > 12) {\n this.hour = parseInt(this.hour.toString().slice(1), 10);\n }\n newDateValue.setHours(Math.floor(newDateValue.getHours() / 12) * 12 + (this.hour % 12));\n this.isNavigate = this.hour.toString().length === 2;\n this.isHourPart = true;\n this.hourTypeCount = (this.hourTypeCount === 0 && this.hour && (parseInt(this.hour + '0', 10) > 12)) ? 2 : this.hourTypeCount + 1;\n break;\n case 'H':\n this.hour = (this.isHourPart && newDateValue.getHours().toString().length < 2 &&\n !this.isPersist() ? newDateValue.getHours() * 10 : 0) + parseInt(newVal[start - 1], 10);\n this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;\n this.navigated = this.navigated ? false : this.navigated;\n if (isNaN(this.hour)) {\n return;\n }\n for (var i = 0; this.hour > 23; i++) {\n this.hour = parseInt(this.hour.toString().slice(1), 10);\n }\n newDateValue.setHours(this.hour);\n this.isNavigate = this.hour.toString().length === 2;\n this.isHourPart = true;\n this.hourTypeCount = (this.hourTypeCount === 0 && this.hour && (parseInt(this.hour + '0', 10) > 23)) ? 2 : this.hourTypeCount + 1;\n break;\n case 'm':\n {\n var minutes = (this.isMinutePart && newDateValue.getMinutes().toString().length < 2\n && !this.isPersist() ? newDateValue.getMinutes() * 10 : 0) + parseInt(newVal[start - 1], 10);\n this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;\n this.navigated = this.navigated ? false : this.navigated;\n if (isNaN(minutes)) {\n return;\n }\n for (var i = 0; minutes > 59; i++) {\n minutes = parseInt(minutes.toString().slice(1), 10);\n }\n newDateValue.setMinutes(minutes);\n this.isNavigate = minutes.toString().length === 2;\n this.isMinutePart = true;\n this.minuteTypeCount = (this.minuteTypeCount === 0 && (parseInt(minutes + '0', 10) > 59)) ? 2 : this.minuteTypeCount + 1;\n break;\n }\n case 's':\n {\n var seconds = (this.isSecondsPart && newDateValue.getSeconds().toString().length < 2 &&\n !this.isPersist() ? newDateValue.getSeconds() * 10 : 0) + parseInt(newVal[start - 1], 10);\n this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;\n this.navigated = this.navigated ? false : this.navigated;\n if (isNaN(seconds)) {\n return;\n }\n for (var i = 0; seconds > 59; i++) {\n seconds = parseInt(seconds.toString().slice(1), 10);\n }\n newDateValue.setSeconds(seconds);\n this.isNavigate = seconds.toString().length === 2;\n this.isSecondsPart = true;\n this.secondTypeCount = (this.secondTypeCount === 0 && (parseInt(seconds + '0', 10) > 59)) ? 2 : this.secondTypeCount + 1;\n break;\n }\n case 'a':\n {\n this.periodCharacter += newVal[start - 1].toLowerCase();\n var periodString = (this.getCulturedValue('dayPeriods.format.wide'));\n var periodkeys = Object.keys(periodString);\n for (var i = 0; this.periodCharacter.length > 0; i++) {\n if ((periodString[periodkeys[0]].toLowerCase().indexOf(this.periodCharacter) === 0\n && newDateValue.getHours() >= 12) || (periodString[periodkeys[1]].toLowerCase().\n indexOf(this.periodCharacter) === 0 && newDateValue.getHours() < 12)) {\n newDateValue.setHours((newDateValue.getHours() + 12) % 24);\n this.maskDateValue = newDateValue;\n }\n this.periodCharacter = this.periodCharacter.substring(1, this.periodCharacter.length);\n }\n break;\n }\n default:\n break;\n }\n this.maskDateValue = newDateValue;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n MaskedDateTime.prototype.formatCheck = function () {\n var proxy = false || this;\n function formatValueSpecifier(formattext) {\n var result;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var daysAbbreviated = proxy.getCulturedValue('days[stand-alone].abbreviated');\n var dayKeyAbbreviated = Object.keys(daysAbbreviated);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var daysWide = (proxy.getCulturedValue('days[stand-alone].wide'));\n var dayKeyWide = Object.keys(daysWide);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var daysNarrow = (proxy.getCulturedValue('days[stand-alone].narrow'));\n var dayKeyNarrow = Object.keys(daysNarrow);\n var monthAbbreviated = (proxy.getCulturedValue('months[stand-alone].abbreviated'));\n var monthWide = (proxy.getCulturedValue('months[stand-alone].wide'));\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var periodString = (proxy.getCulturedValue('dayPeriods.format.wide'));\n var periodkeys = Object.keys(periodString);\n var milliseconds;\n var dateOptions;\n switch (formattext) {\n case 'ddd':\n case 'dddd':\n case 'd':\n result = proxy.isDayPart ? proxy.maskDateValue.getDate().toString() : proxy.defaultConstant['day'].toString();\n result = proxy.zeroCheck(proxy.isDateZero, proxy.isDayPart, result);\n if (proxy.dayTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.dayTypeCount = 0;\n }\n break;\n case 'dd':\n result = proxy.isDayPart ? proxy.roundOff(proxy.maskDateValue.getDate(), 2) : proxy.defaultConstant['day'].toString();\n result = proxy.zeroCheck(proxy.isDateZero, proxy.isDayPart, result);\n if (proxy.dayTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.dayTypeCount = 0;\n }\n break;\n case 'E':\n case 'EE':\n case 'EEE':\n case 'ccc':\n result = proxy.isDayPart && proxy.isMonthPart && proxy.isYearPart ? daysAbbreviated[dayKeyAbbreviated[proxy.maskDateValue.getDay()]].toString() : proxy.defaultConstant['dayOfTheWeek'].toString();\n break;\n case 'EEEE':\n case 'cccc':\n result = proxy.isDayPart && proxy.isMonthPart && proxy.isYearPart ? daysWide[dayKeyWide[proxy.maskDateValue.getDay()]].toString() : proxy.defaultConstant['dayOfTheWeek'].toString();\n break;\n case 'EEEEE':\n result = proxy.isDayPart && proxy.isMonthPart && proxy.isYearPart ? daysNarrow[dayKeyNarrow[proxy.maskDateValue.getDay()]].toString() : proxy.defaultConstant['dayOfTheWeek'].toString();\n break;\n case 'M':\n result = proxy.isMonthPart ? (proxy.maskDateValue.getMonth() + 1).toString() : proxy.defaultConstant['month'].toString();\n result = proxy.zeroCheck(proxy.isMonthZero, proxy.isMonthPart, result);\n if (proxy.monthTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.monthTypeCount = 0;\n }\n break;\n case 'MM':\n result = proxy.isMonthPart ? proxy.roundOff(proxy.maskDateValue.getMonth() + 1, 2) : proxy.defaultConstant['month'].toString();\n result = proxy.zeroCheck(proxy.isMonthZero, proxy.isMonthPart, result);\n if (proxy.monthTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.monthTypeCount = 0;\n }\n break;\n case 'MMM':\n result = proxy.isMonthPart ? monthAbbreviated[proxy.maskDateValue.getMonth() + 1] : proxy.defaultConstant['month'].toString();\n break;\n case 'MMMM':\n result = proxy.isMonthPart ? monthWide[proxy.maskDateValue.getMonth() + 1] : proxy.defaultConstant['month'].toString();\n break;\n case 'yy':\n result = proxy.isYearPart ? proxy.roundOff(proxy.maskDateValue.getFullYear() % 100, 2) : proxy.defaultConstant['year'].toString();\n result = proxy.zeroCheck(proxy.isYearZero, proxy.isYearPart, result);\n break;\n case 'y':\n case 'yyy':\n case 'yyyy':\n result = proxy.isYearPart ? proxy.roundOff(proxy.maskDateValue.getFullYear(), 4) : proxy.defaultConstant['year'].toString();\n result = proxy.zeroCheck(proxy.isYearZero, proxy.isYearPart, result);\n break;\n case 'h':\n result = proxy.isHourPart ? (proxy.maskDateValue.getHours() % 12 || 12).toString() : proxy.defaultConstant['hour'].toString();\n if (proxy.hourTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.hourTypeCount = 0;\n }\n break;\n case 'hh':\n result = proxy.isHourPart ? proxy.roundOff(proxy.maskDateValue.getHours() % 12 || 12, 2) : proxy.defaultConstant['hour'].toString();\n if (proxy.hourTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.hourTypeCount = 0;\n }\n break;\n case 'H':\n result = proxy.isHourPart ? proxy.maskDateValue.getHours().toString() : proxy.defaultConstant['hour'].toString();\n if (proxy.hourTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.hourTypeCount = 0;\n }\n break;\n case 'HH':\n result = proxy.isHourPart ? proxy.roundOff(proxy.maskDateValue.getHours(), 2) : proxy.defaultConstant['hour'].toString();\n if (proxy.hourTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.hourTypeCount = 0;\n }\n break;\n case 'm':\n result = proxy.isMinutePart ? proxy.maskDateValue.getMinutes().toString() : proxy.defaultConstant['minute'].toString();\n if (proxy.minuteTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.minuteTypeCount = 0;\n }\n break;\n case 'mm':\n result = proxy.isMinutePart ? proxy.roundOff(proxy.maskDateValue.getMinutes(), 2) : proxy.defaultConstant['minute'].toString();\n if (proxy.minuteTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.minuteTypeCount = 0;\n }\n break;\n case 's':\n result = proxy.isSecondsPart ? proxy.maskDateValue.getSeconds().toString() : proxy.defaultConstant['second'].toString();\n if (proxy.secondTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.secondTypeCount = 0;\n }\n break;\n case 'ss':\n result = proxy.isSecondsPart ? proxy.roundOff(proxy.maskDateValue.getSeconds(), 2) : proxy.defaultConstant['second'].toString();\n if (proxy.secondTypeCount === 2) {\n proxy.isNavigate = true;\n proxy.secondTypeCount = 0;\n }\n break;\n case 'f':\n result = Math.floor(proxy.maskDateValue.getMilliseconds() / 100).toString();\n break;\n case 'ff':\n milliseconds = proxy.maskDateValue.getMilliseconds();\n if (proxy.maskDateValue.getMilliseconds() > 99) {\n milliseconds = Math.floor(proxy.maskDateValue.getMilliseconds() / 10);\n }\n result = proxy.roundOff(milliseconds, 2);\n break;\n case 'fff':\n result = proxy.roundOff(proxy.maskDateValue.getMilliseconds(), 3);\n break;\n case 'a':\n case 'aa':\n result = proxy.maskDateValue.getHours() < 12 ? periodString['am'] : periodString['pm'];\n break;\n case 'z':\n case 'zz':\n case 'zzz':\n case 'zzzz':\n dateOptions = {\n format: formattext,\n type: 'dateTime', skeleton: 'yMd', calendar: proxy.parent.calendarMode\n };\n result = proxy.parent.globalize.formatDate(proxy.maskDateValue, dateOptions);\n break;\n }\n result = result !== undefined ? result : formattext.slice(1, formattext.length - 1);\n if (proxy.isHiddenMask) {\n var hiddenChar = '';\n for (var i = 0; i < result.length; i++) {\n hiddenChar += formattext[0];\n }\n return hiddenChar;\n }\n else {\n return result;\n }\n }\n return formatValueSpecifier;\n };\n MaskedDateTime.prototype.isValidDate = function (dateString) {\n var date = new Date(dateString);\n // Return true if the date is valid, false otherwise\n return !isNaN(date.getTime());\n };\n MaskedDateTime.prototype.maskPasteInputHandler = function () {\n if (this.isValidDate(this.parent.inputElement.value)) {\n this.maskDateValue = new Date(this.parent.inputElement.value);\n this.isDayPart = this.isMonthPart = this.isYearPart = this.isHourPart = this.isMinutePart = this.isSecondsPart = true;\n this.updateValue();\n if (!this.isBlur) {\n this.validCharacterCheck();\n }\n return;\n }\n else {\n this.maskInputHandler();\n }\n };\n MaskedDateTime.prototype.maskInputHandler = function () {\n var start = this.parent.inputElement.selectionStart;\n var formatText = '';\n if (this.validCharacters.indexOf(this.hiddenMask[start]) !== -1) {\n formatText = this.hiddenMask[start];\n }\n this.differenceCheck();\n var inputValue = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = true;\n this.hiddenMask = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isDateZero = this.isMonthZero = this.isYearZero = false;\n this.isHiddenMask = false;\n this.previousHiddenMask = this.hiddenMask;\n this.previousValue = inputValue;\n this.parent.inputElement.value = inputValue;\n for (var i = 0; i < this.hiddenMask.length; i++) {\n if (formatText === this.hiddenMask[i]) {\n start = i;\n break;\n }\n }\n var scrollPositionY;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos7)) {\n var scrollableParent = this.findScrollableParent(this.parent.inputElement);\n scrollPositionY = scrollableParent ? scrollableParent.getBoundingClientRect().top : window.scrollY;\n }\n this.parent.inputElement.selectionStart = start;\n this.validCharacterCheck();\n if ((this.isNavigate || this.isDeletion) && !this.isDeleteKey) {\n var isbackward = this.isNavigate ? false : true;\n this.isNavigate = this.isDeletion = false;\n this.navigateSelection(isbackward);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos7)) {\n setTimeout(function () {\n window.scrollTo(0, scrollPositionY);\n }, 0);\n }\n }\n if (this.isDeleteKey) {\n this.isDeletion = false;\n }\n this.isDeleteKey = false;\n };\n MaskedDateTime.prototype.findScrollableParent = function (element) {\n while (element) {\n if (this.isScrollable(element)) {\n return element;\n }\n element = element.parentElement;\n }\n return null;\n };\n MaskedDateTime.prototype.isScrollable = function (element) {\n var overflowY = window.getComputedStyle(element).overflowY;\n return element.scrollHeight > element.clientHeight && (overflowY === 'auto' || overflowY === 'scroll');\n };\n MaskedDateTime.prototype.navigateSelection = function (isbackward) {\n var start = this.parent.inputElement.selectionStart;\n var end = this.parent.inputElement.selectionEnd;\n var formatIndex = isbackward ? start - 1 : end;\n this.navigated = true;\n while (formatIndex < this.hiddenMask.length && formatIndex >= 0) {\n if (this.validCharacters.indexOf(this.hiddenMask[formatIndex]) >= 0) {\n this.setSelection(this.hiddenMask[formatIndex]);\n break;\n }\n formatIndex = formatIndex + (isbackward ? -1 : 1);\n }\n };\n MaskedDateTime.prototype.roundOff = function (val, count) {\n var valueText = val.toString();\n var length = count - valueText.length;\n var result = '';\n for (var i = 0; i < length; i++) {\n result += '0';\n }\n return result + valueText;\n };\n MaskedDateTime.prototype.zeroCheck = function (isZero, isDayPart, resultValue) {\n var result = resultValue;\n if (isZero && !isDayPart) {\n result = '0';\n }\n return result;\n };\n MaskedDateTime.prototype.handleDeletion = function (format, isSegment) {\n switch (format) {\n case 'd':\n this.isDayPart = isSegment;\n break;\n case 'M':\n this.isMonthPart = isSegment;\n if (!isSegment) {\n this.maskDateValue.setMonth(0);\n this.monthCharacter = '';\n }\n break;\n case 'y':\n this.isYearPart = isSegment;\n break;\n case 'H':\n case 'h':\n this.isHourPart = isSegment;\n if (!isSegment) {\n this.periodCharacter = '';\n }\n break;\n case 'm':\n this.isMinutePart = isSegment;\n break;\n case 's':\n this.isSecondsPart = isSegment;\n break;\n default:\n return false;\n }\n return true;\n };\n MaskedDateTime.prototype.dateAlteration = function (isDecrement) {\n var start = this.parent.inputElement.selectionStart;\n var formatText = '';\n if (this.validCharacters.indexOf(this.hiddenMask[start]) !== -1) {\n formatText = this.hiddenMask[start];\n }\n else {\n return;\n }\n var newDateValue = new Date(this.maskDateValue.getFullYear(), this.maskDateValue.getMonth(), this.maskDateValue.getDate(), this.maskDateValue.getHours(), this.maskDateValue.getMinutes(), this.maskDateValue.getSeconds());\n this.previousDate = new Date(this.maskDateValue.getFullYear(), this.maskDateValue.getMonth(), this.maskDateValue.getDate(), this.maskDateValue.getHours(), this.maskDateValue.getMinutes(), this.maskDateValue.getSeconds());\n var incrementValue = isDecrement ? -1 : 1;\n switch (formatText) {\n case 'd':\n newDateValue.setDate(newDateValue.getDate() + incrementValue);\n break;\n case 'M':\n {\n var newMonth = newDateValue.getMonth() + incrementValue;\n newDateValue.setDate(1);\n newDateValue.setMonth(newMonth);\n if (this.isDayPart) {\n var previousMaxDate = new Date(this.previousDate.getFullYear(), this.previousDate.getMonth() + 1, 0).getDate();\n var currentMaxDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth() + 1, 0).getDate();\n if (this.previousDate.getDate() === previousMaxDate && currentMaxDate <= previousMaxDate) {\n newDateValue.setDate(currentMaxDate);\n }\n else {\n newDateValue.setDate(this.previousDate.getDate());\n }\n }\n else {\n newDateValue.setDate(this.previousDate.getDate());\n }\n this.previousDate = new Date(newDateValue.getFullYear(), newDateValue.getMonth(), newDateValue.getDate());\n break;\n }\n case 'y':\n newDateValue.setFullYear(newDateValue.getFullYear() + incrementValue);\n break;\n case 'H':\n case 'h':\n newDateValue.setHours(newDateValue.getHours() + incrementValue);\n break;\n case 'm':\n newDateValue.setMinutes(newDateValue.getMinutes() + incrementValue);\n break;\n case 's':\n newDateValue.setSeconds(newDateValue.getSeconds() + incrementValue);\n break;\n case 'a':\n newDateValue.setHours((newDateValue.getHours() + 12) % 24);\n break;\n default:\n break;\n }\n this.maskDateValue = newDateValue.getFullYear() > 0 ? newDateValue : this.maskDateValue;\n if (this.validCharacters.indexOf(this.hiddenMask[start]) !== -1) {\n this.handleDeletion(this.hiddenMask[start], true);\n }\n };\n MaskedDateTime.prototype.getCulturedValue = function (format) {\n var locale = this.parent.locale;\n var result;\n if (locale === 'en' || locale === 'en-US') {\n result = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(format, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)());\n }\n else {\n result = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + '' + locale + ('.dates.calendars.gregorian.' + format), _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData);\n }\n return result;\n };\n MaskedDateTime.prototype.getCulturedFormat = function () {\n var formatString = (this.getCulturedValue('dateTimeFormats[availableFormats].yMd')).toString();\n if (this.parent.moduleName === 'datepicker') {\n formatString = (this.getCulturedValue('dateTimeFormats[availableFormats].yMd')).toString();\n if (this.parent.format && this.parent.formatString) {\n formatString = this.parent.formatString;\n }\n }\n if (this.parent.moduleName === 'datetimepicker') {\n formatString = (this.getCulturedValue('dateTimeFormats[availableFormats].yMd')).toString();\n if (this.parent.dateTimeFormat) {\n formatString = this.parent.dateTimeFormat;\n }\n }\n if (this.parent.moduleName === 'timepicker') {\n formatString = this.parent.cldrTimeFormat();\n }\n return formatString;\n };\n MaskedDateTime.prototype.clearHandler = function () {\n this.isDayPart = this.isMonthPart = this.isYearPart = this.isHourPart = this.isMinutePart = this.isSecondsPart = false;\n this.updateValue();\n if (this.parent.inputElement && this.parent.inputElement.value === this.parent.maskedDateValue && this.parent.inputWrapper && this.parent.inputWrapper.clearButton && !this.parent.inputWrapper.clearButton.classList.contains('e-clear-icon-hide')) {\n this.parent.inputWrapper.clearButton.classList.add('e-clear-icon-hide');\n }\n };\n MaskedDateTime.prototype.updateValue = function () {\n this.monthCharacter = this.periodCharacter = '';\n var inputValue = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = true;\n this.hiddenMask = this.dateformat.replace(this.formatRegex, this.formatCheck());\n this.isHiddenMask = false;\n this.previousHiddenMask = this.hiddenMask;\n this.previousValue = inputValue;\n this.parent.updateInputValue(inputValue);\n if (this.parent.strictMode && (this.dayTypeCount !== 0 || this.monthTypeCount !== 0)) {\n this.isLeadingZero = false;\n }\n this.dayTypeCount = 0;\n this.monthTypeCount = 0;\n };\n MaskedDateTime.prototype.destroy = function () {\n this.removeEventListener();\n };\n return MaskedDateTime;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-calendars/src/maskbase/masked-date-time.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TimeMaskPlaceholder: () => (/* binding */ TimeMaskPlaceholder),\n/* harmony export */ TimePicker: () => (/* binding */ TimePicker),\n/* harmony export */ TimePickerBase: () => (/* binding */ TimePickerBase)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-lists */ \"./node_modules/@syncfusion/ej2-lists/src/common/list-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n\n\n\n\n\n\nvar WRAPPERCLASS = 'e-time-wrapper';\nvar POPUP = 'e-popup';\nvar ERROR = 'e-error';\nvar POPUPDIMENSION = '240px';\nvar DAY = new Date().getDate();\nvar MONTH = new Date().getMonth();\nvar YEAR = new Date().getFullYear();\nvar ROOT = 'e-timepicker';\nvar LIBRARY = 'e-lib';\nvar CONTROL = 'e-control';\nvar CONTENT = 'e-content';\nvar SELECTED = 'e-active';\nvar HOVER = 'e-hover';\nvar NAVIGATION = 'e-navigation';\nvar DISABLED = 'e-disabled';\nvar ICONANIMATION = 'e-icon-anim';\nvar FOCUS = 'e-input-focus';\nvar LISTCLASS = 'e-list-item';\nvar HALFPOSITION = 2;\nvar ANIMATIONDURATION = 50;\nvar OVERFLOW = 'e-time-overflow';\nvar OFFSETVAL = 4;\nvar EDITABLE = 'e-non-edit';\nvar wrapperAttributes = ['title', 'class', 'style'];\n// eslint-disable-next-line @typescript-eslint/no-namespace\nvar TimePickerBase;\n(function (TimePickerBase) {\n // eslint-disable-next-line max-len, jsdoc/require-jsdoc\n function createListItems(createdEl, min, max, globalize, timeFormat, step) {\n var formatOptions;\n if (this.calendarMode === 'Gregorian') {\n formatOptions = { format: timeFormat, type: 'time' };\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n formatOptions = { format: timeFormat, type: 'time', calendar: 'islamic' };\n }\n var start;\n var interval = step * 60000;\n var listItems = [];\n var timeCollections = [];\n start = +(min.setMilliseconds(0));\n var end = +(max.setMilliseconds(0));\n while (end >= start) {\n timeCollections.push(start);\n listItems.push(globalize.formatDate(new Date(start), { format: timeFormat, type: 'time' }));\n start += interval;\n }\n var listTag = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_1__.ListBase.createList(createdEl, listItems, null, true);\n return { collection: timeCollections, list: listTag };\n }\n TimePickerBase.createListItems = createListItems;\n})(TimePickerBase || (TimePickerBase = {}));\nvar TimeMaskPlaceholder = /** @class */ (function (_super) {\n __extends(TimeMaskPlaceholder, _super);\n function TimeMaskPlaceholder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('day')\n ], TimeMaskPlaceholder.prototype, \"day\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('month')\n ], TimeMaskPlaceholder.prototype, \"month\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('year')\n ], TimeMaskPlaceholder.prototype, \"year\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('day of the week')\n ], TimeMaskPlaceholder.prototype, \"dayOfTheWeek\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('hour')\n ], TimeMaskPlaceholder.prototype, \"hour\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('minute')\n ], TimeMaskPlaceholder.prototype, \"minute\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('second')\n ], TimeMaskPlaceholder.prototype, \"second\", void 0);\n return TimeMaskPlaceholder;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * TimePicker is an intuitive interface component which provides an options to select a time value\n * from popup list or to set a desired time value.\n * ```\n * \n * \n * ```\n */\nvar TimePicker = /** @class */ (function (_super) {\n __extends(TimePicker, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {TimePickerModel} options - Specifies the TimePicker model.\n * @param {string | HTMLInputElement} element - Specifies the element to render as component.\n * @private\n */\n function TimePicker(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.liCollections = [];\n _this.timeCollections = [];\n _this.disableItemCollection = [];\n _this.invalidValueString = null;\n _this.preventChange = false;\n _this.maskedDateValue = '';\n _this.moduleName = _this.getModuleName();\n _this.timeOptions = options;\n return _this;\n }\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n TimePicker.prototype.preRender = function () {\n this.keyConfigure = {\n enter: 'enter',\n escape: 'escape',\n end: 'end',\n tab: 'tab',\n home: 'home',\n down: 'downarrow',\n up: 'uparrow',\n left: 'leftarrow',\n right: 'rightarrow',\n open: 'alt+downarrow',\n close: 'alt+uparrow'\n };\n this.cloneElement = this.element.cloneNode(true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.cloneElement], [ROOT, CONTROL, LIBRARY]);\n this.inputElement = this.element;\n this.angularTag = null;\n this.formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (this.element.tagName === 'EJS-TIMEPICKER') {\n this.angularTag = this.element.tagName;\n this.inputElement = this.createElement('input');\n this.element.appendChild(this.inputElement);\n }\n this.tabIndex = this.element.hasAttribute('tabindex') ? this.element.getAttribute('tabindex') : '0';\n this.element.removeAttribute('tabindex');\n this.openPopupEventArgs = {\n appendTo: document.body\n };\n };\n // element creation\n TimePicker.prototype.render = function () {\n this.initialize();\n this.createInputElement();\n this.updateHtmlAttributeToWrapper();\n this.setTimeAllowEdit();\n this.setEnable();\n this.validateInterval();\n this.bindEvents();\n this.validateDisable();\n this.setTimeZone();\n this.setValue(this.getFormattedValue(this.value));\n if (this.enableMask && !this.value && this.maskedDateValue && (this.floatLabelType === 'Always' || !this.floatLabelType || !this.placeholder)) {\n this.updateInputValue(this.maskedDateValue);\n this.checkErrorState(this.maskedDateValue);\n }\n this.anchor = this.inputElement;\n this.inputElement.setAttribute('value', this.inputElement.value);\n this.inputEleValue = this.getDateObject(this.inputElement.value);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n this.renderComplete();\n };\n TimePicker.prototype.setTimeZone = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.serverTimezoneOffset) && this.value) {\n var clientTimeZoneDiff = new Date().getTimezoneOffset() / 60;\n var serverTimezoneDiff = this.serverTimezoneOffset;\n var timeZoneDiff = serverTimezoneDiff + clientTimeZoneDiff;\n timeZoneDiff = this.isDayLightSaving() ? timeZoneDiff-- : timeZoneDiff;\n this.value = new Date((this.value).getTime() + (timeZoneDiff * 60 * 60 * 1000));\n }\n };\n TimePicker.prototype.isDayLightSaving = function () {\n var firstOffset = new Date(this.value.getFullYear(), 0, 1).getTimezoneOffset();\n var secondOffset = new Date(this.value.getFullYear(), 6, 1).getTimezoneOffset();\n return (this.value.getTimezoneOffset() < Math.max(firstOffset, secondOffset));\n };\n TimePicker.prototype.setTimeAllowEdit = function () {\n if (this.allowEdit) {\n if (!this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'readonly': '' });\n }\n this.clearIconState();\n };\n TimePicker.prototype.clearIconState = function () {\n if (!this.allowEdit && this.inputWrapper && !this.readonly) {\n if (this.inputElement.value === '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [EDITABLE]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], [EDITABLE]);\n }\n }\n else if (this.inputWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [EDITABLE]);\n }\n };\n TimePicker.prototype.validateDisable = function () {\n this.setMinMax(this.initMin, this.initMax);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.popupCreation();\n this.popupObj.destroy();\n this.popupWrapper = this.popupObj = null;\n }\n if ((!isNaN(+this.value) && this.value !== null)) {\n if (!this.valueIsDisable(this.value)) {\n //disable value given in value property so reset the date based on current date\n if (this.strictMode) {\n this.resetState();\n }\n this.initValue = null;\n this.initMax = this.getDateObject(this.initMax);\n this.initMin = this.getDateObject(this.initMin);\n this.timeCollections = this.liCollections = [];\n this.setMinMax(this.initMin, this.initMax);\n }\n }\n };\n TimePicker.prototype.validationAttribute = function (target, input) {\n var name = target.getAttribute('name') ? target.getAttribute('name') : target.getAttribute('id');\n input.setAttribute('name', name);\n target.removeAttribute('name');\n var attributes = ['required', 'aria-required', 'form'];\n for (var i = 0; i < attributes.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.getAttribute(attributes[i]))) {\n continue;\n }\n var attr = target.getAttribute(attributes[i]);\n input.setAttribute(attributes[i], attr);\n target.removeAttribute(attributes[i]);\n }\n };\n TimePicker.prototype.initialize = function () {\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.defaultCulture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization('en');\n this.checkTimeFormat();\n this.checkInvalidValue(this.value);\n // persist the value property.\n this.setProperties({ value: this.checkDateValue(new Date(this.checkInValue(this.value))) }, true);\n this.setProperties({ min: this.checkDateValue(new Date(this.checkInValue(this.min))) }, true);\n this.setProperties({ max: this.checkDateValue(new Date(this.checkInValue(this.max))) }, true);\n this.setProperties({ scrollTo: this.checkDateValue(new Date(this.checkInValue(this.scrollTo))) }, true);\n if (this.angularTag !== null) {\n this.validationAttribute(this.element, this.inputElement);\n }\n this.updateHtmlAttributeToElement();\n this.checkAttributes(false); //check the input element attributes\n var localeText = { placeholder: this.placeholder };\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('timepicker', localeText, this.locale);\n this.setProperties({ placeholder: this.placeholder || this.l10n.getConstant('placeholder') }, true);\n this.initValue = this.checkDateValue(this.value);\n this.initMin = this.checkDateValue(this.min);\n this.initMax = this.checkDateValue(this.max);\n this.isNavigate = this.isPreventBlur = this.isTextSelected = false;\n this.activeIndex = this.valueWithMinutes = this.prevDate = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.getAttribute('id'))) {\n if (this.angularTag !== null) {\n this.inputElement.id = this.element.getAttribute('id') + '_input';\n }\n }\n else {\n //for angular case\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2_timepicker');\n if (this.angularTag !== null) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'id': this.element.id + '_input' });\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.getAttribute('name'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'name': this.element.id });\n }\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n };\n TimePicker.prototype.checkTimeFormat = function () {\n if (this.format) {\n if (typeof this.format === 'string') {\n this.formatString = this.format;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.format.skeleton) && this.format.skeleton !== '') {\n var skeletonString = this.format.skeleton;\n this.formatString = this.globalize.getDatePattern({ type: 'time', skeleton: skeletonString });\n }\n else {\n this.formatString = this.globalize.getDatePattern({ type: 'time', skeleton: 'short' });\n }\n }\n else {\n this.formatString = null;\n }\n };\n TimePicker.prototype.checkDateValue = function (value) {\n return (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && value instanceof Date && !isNaN(+value)) ? value : null;\n };\n TimePicker.prototype.createInputElement = function () {\n if (this.fullScreenMode && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.cssClass += ' ' + 'e-popup-expand';\n }\n var updatedCssClassesValue = this.cssClass;\n var isBindClearAction = this.enableMask ? false : true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n updatedCssClassesValue = (this.cssClass.replace(/\\s+/g, ' ')).trim();\n }\n this.inputWrapper = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.createInput({\n element: this.inputElement,\n bindClearAction: isBindClearAction,\n floatLabelType: this.floatLabelType,\n properties: {\n readonly: this.readonly,\n placeholder: this.placeholder,\n cssClass: updatedCssClassesValue,\n enabled: this.enabled,\n enableRtl: this.enableRtl,\n showClearButton: this.showClearButton\n },\n buttons: [' e-input-group-icon e-time-icon e-icons']\n }, this.createElement);\n this.inputWrapper.container.style.width = this.setWidth(this.width);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, {\n 'aria-autocomplete': 'list', 'tabindex': '0',\n 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',\n 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',\n 'aria-disabled': 'false', 'aria-invalid': 'false'\n });\n if (!this.isNullOrEmpty(this.inputStyle)) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.addAttributes({ 'style': this.inputStyle }, this.inputElement);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], WRAPPERCLASS);\n };\n TimePicker.prototype.getCldrDateTimeFormat = function () {\n var culture = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n var cldrTime;\n var dateFormat = culture.getDatePattern({ skeleton: 'yMd' });\n if (this.isNullOrEmpty(this.formatString)) {\n cldrTime = dateFormat + ' ' + this.cldrFormat('time');\n }\n else {\n cldrTime = this.formatString;\n }\n return cldrTime;\n };\n TimePicker.prototype.checkInvalidValue = function (value) {\n var isInvalid = false;\n if (typeof value !== 'object' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n var valueString = value;\n if (typeof valueString === 'string') {\n valueString = valueString.trim();\n }\n var valueExpression = null;\n var valueExp = null;\n if (typeof value === 'number') {\n valueString = value.toString();\n }\n else if (typeof value === 'string') {\n if (!(/^[a-zA-Z0-9- ]*$/).test(value)) {\n valueExpression = this.setCurrentDate(this.getDateObject(value));\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valueExpression)) {\n valueExpression = this.checkDateValue(this.globalize.parseDate(this.getAmPmValue(valueString), {\n format: this.getCldrDateTimeFormat(), type: 'datetime'\n }));\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valueExpression)) {\n valueExpression = this.checkDateValue(this.globalize.parseDate(this.getAmPmValue(valueString), {\n format: this.formatString, type: 'dateTime', skeleton: 'yMd'\n }));\n }\n }\n }\n }\n valueExp = this.globalize.parseDate(this.getAmPmValue(valueString), {\n format: this.getCldrDateTimeFormat(), type: 'datetime'\n });\n valueExpression = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valueExp) && valueExp instanceof Date && !isNaN(+valueExp)) ? valueExp : null;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valueExpression) && valueString.replace(/\\s/g, '').length) {\n var extISOString = null;\n var basicISOString = null;\n // eslint-disable-next-line\n extISOString = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/;\n // eslint-disable-next-line\n basicISOString = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/;\n if ((!extISOString.test(valueString) && !basicISOString.test(valueString))\n || ((/^[a-zA-Z0-9- ]*$/).test(value)) || isNaN(+new Date('' + valueString))) {\n isInvalid = true;\n }\n else {\n valueExpression = new Date('' + valueString);\n }\n }\n if (isInvalid) {\n if (!this.strictMode) {\n this.invalidValueString = valueString;\n }\n this.setProperties({ value: null }, true);\n this.initValue = null;\n }\n else {\n this.setProperties({ value: valueExpression }, true);\n this.initValue = this.value;\n }\n }\n };\n TimePicker.prototype.requiredModules = function () {\n var modules = [];\n if (this.enableMask) {\n modules.push({ args: [this], member: 'MaskedDateTime' });\n }\n return modules;\n };\n TimePicker.prototype.getAmPmValue = function (date) {\n try {\n if (typeof date === 'string' && date.trim() !== '') {\n // Replace am/pm variants with uppercase AM/PM\n return date.replace(/(am|pm|Am|aM|pM|Pm)/g, function (match) { return match.toLocaleUpperCase(); });\n }\n // If date is null, undefined, or an empty string, return a default value or empty string\n return '';\n }\n catch (error) {\n console.error('Error occurred while processing date:', error);\n return ''; // Return a default value in case of an error\n }\n };\n TimePicker.prototype.cldrFormat = function (type) {\n var cldrDateTimeString;\n if (this.locale === 'en' || this.locale === 'en-US') {\n cldrDateTimeString = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeFormats.short', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrDateTimeString = (this.getCultureTimeObject(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData, '' + this.locale));\n }\n return cldrDateTimeString;\n };\n // destroy function\n TimePicker.prototype.destroy = function () {\n this.hide();\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n this.unBindEvents();\n var ariaAttribute = {\n 'aria-autocomplete': 'list', 'tabindex': '0',\n 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',\n 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',\n 'aria-disabled': 'true', 'aria-invalid': 'false'\n };\n if (this.inputElement) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.removeAttributes(ariaAttribute, this.inputElement);\n if (this.angularTag === null) {\n this.inputWrapper.container.parentElement.appendChild(this.inputElement);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cloneElement.getAttribute('tabindex'))) {\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n }\n else {\n this.inputElement.removeAttribute('tabindex');\n }\n this.ensureInputAttribute();\n this.enableElement([this.inputElement]);\n this.inputElement.classList.remove('e-input');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cloneElement.getAttribute('disabled'))) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setEnabled(true, this.inputElement, this.floatLabelType);\n }\n }\n if (this.inputWrapper.container) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.inputWrapper.container);\n }\n this.inputWrapper = this.popupWrapper = this.cloneElement = undefined;\n this.liCollections = this.timeCollections = this.disableItemCollection = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.rippleFn)) {\n this.rippleFn();\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.destroy({\n element: this.inputElement,\n floatLabelType: this.floatLabelType,\n properties: this.properties\n }, this.clearButton);\n _super.prototype.destroy.call(this);\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.formResetHandler);\n }\n this.rippleFn = null;\n this.openPopupEventArgs = null;\n this.selectedElement = null;\n this.listTag = null;\n this.liCollections = null;\n };\n TimePicker.prototype.ensureInputAttribute = function () {\n var propertyList = [];\n for (var i = 0; i < this.inputElement.attributes.length; i++) {\n propertyList[i] = this.inputElement.attributes[i].name;\n }\n for (var i = 0; i < propertyList.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cloneElement.getAttribute(propertyList[i]))) {\n this.inputElement.setAttribute(propertyList[i], this.cloneElement.getAttribute(propertyList[i]));\n if (propertyList[i].toLowerCase() === 'value') {\n this.inputElement.value = this.cloneElement.getAttribute(propertyList[i]);\n }\n }\n else {\n this.inputElement.removeAttribute(propertyList[i]);\n if (propertyList[i].toLowerCase() === 'value') {\n this.inputElement.value = '';\n }\n }\n }\n };\n //popup creation\n TimePicker.prototype.popupCreation = function () {\n this.popupWrapper = this.createElement('div', {\n className: ROOT + ' ' + POPUP,\n attrs: { 'id': this.element.id + '_popup' }\n });\n this.popupWrapper.style.visibility = 'hidden';\n this.popupWrapper.setAttribute('aria-label', this.element.id);\n this.popupWrapper.setAttribute('role', 'dialog');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass)) {\n this.popupWrapper.className += ' ' + this.cssClass;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.step) && this.step > 0) {\n this.generateList();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.listWrapper], this.popupWrapper);\n }\n this.addSelection();\n this.renderPopup();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.popupWrapper);\n };\n TimePicker.prototype.getPopupHeight = function () {\n var height = parseInt(POPUPDIMENSION, 10);\n var popupHeight = this.popupWrapper.getBoundingClientRect().height;\n return popupHeight > height ? height : popupHeight;\n };\n TimePicker.prototype.generateList = function () {\n this.createListItems();\n this.wireListEvents();\n var rippleModel = { duration: 300, selector: '.' + LISTCLASS };\n this.rippleFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.listWrapper, rippleModel);\n this.liCollections = this.listWrapper.querySelectorAll('.' + LISTCLASS);\n };\n TimePicker.prototype.renderPopup = function () {\n var _this = this;\n this.containerStyle = this.inputWrapper.container.getBoundingClientRect();\n this.popupObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.Popup(this.popupWrapper, {\n width: this.setPopupWidth(this.width),\n zIndex: this.zIndex,\n targetType: 'relative',\n position: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? { X: 'center', Y: 'center' } : { X: 'left', Y: 'bottom' },\n collision: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? { X: 'fit', Y: 'fit' } : { X: 'flip', Y: 'flip' },\n enableRtl: this.enableRtl,\n relateTo: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? document.body : this.inputWrapper.container,\n offsetY: OFFSETVAL,\n open: function () {\n _this.popupWrapper.style.visibility = 'visible';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.inputWrapper.buttons[0]], SELECTED);\n }, close: function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.inputWrapper.buttons[0]], SELECTED);\n _this.unWireListEvents();\n _this.inputElement.removeAttribute('aria-activedescendant');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(_this.popupObj.element);\n _this.popupObj.destroy();\n _this.popupWrapper.innerHTML = '';\n _this.listWrapper = _this.popupWrapper = _this.listTag = undefined;\n }, targetExitViewport: function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.hide();\n }\n }\n });\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.popupObj.collision = { X: 'none', Y: 'flip' };\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.fullScreenMode) {\n this.popupObj.element.style.maxHeight = '100%';\n this.popupObj.element.style.width = '100%';\n }\n else {\n this.popupObj.element.style.maxHeight = POPUPDIMENSION;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.fullScreenMode) {\n var modelHeader = this.createElement('div', { className: 'e-model-header' });\n var modelTitleSpan = this.createElement('span', { className: 'e-model-title' });\n modelTitleSpan.textContent = 'Select time';\n var modelCloseIcon = this.createElement('span', { className: 'e-popup-close' });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.timePopupCloseHandler, this);\n modelHeader.appendChild(modelCloseIcon);\n modelHeader.appendChild(modelTitleSpan);\n this.popupWrapper.insertBefore(modelHeader, this.popupWrapper.firstElementChild);\n }\n };\n TimePicker.prototype.timePopupCloseHandler = function (e) {\n this.hide();\n };\n //util function\n TimePicker.prototype.getFormattedValue = function (value) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n return null;\n }\n else {\n return this.globalize.formatDate(value, { skeleton: 'medium', type: 'time' });\n }\n };\n TimePicker.prototype.getDateObject = function (text) {\n if (!this.isNullOrEmpty(text)) {\n var dateValue = this.createDateObj(text);\n var value = !this.isNullOrEmpty(this.initValue);\n if (this.checkDateValue(dateValue)) {\n var date = value ? this.initValue.getDate() : DAY;\n var month = value ? this.initValue.getMonth() : MONTH;\n var year = value ? this.initValue.getFullYear() : YEAR;\n return new Date(year, month, date, dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds());\n }\n }\n return null;\n };\n TimePicker.prototype.updateHtmlAttributeToWrapper = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (wrapperAttributes.indexOf(key) > -1) {\n if (key === 'class') {\n var updatedClassesValue = (this.htmlAttributes[\"\" + key].replace(/\\s+/g, ' ')).trim();\n if (updatedClassesValue !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], updatedClassesValue.split(' '));\n }\n }\n else if (key === 'style') {\n var timeStyle = this.inputWrapper.container.getAttribute(key);\n timeStyle = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(timeStyle) ? (timeStyle + this.htmlAttributes[\"\" + key]) :\n this.htmlAttributes[\"\" + key];\n this.inputWrapper.container.setAttribute(key, timeStyle);\n }\n else {\n this.inputWrapper.container.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n }\n };\n TimePicker.prototype.updateHtmlAttributeToElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (wrapperAttributes.indexOf(key) < 0) {\n this.inputElement.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n };\n TimePicker.prototype.updateCssClass = function (cssClassNew, cssClassOld) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cssClassOld)) {\n cssClassOld = (cssClassOld.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cssClassNew)) {\n cssClassNew = (cssClassNew.replace(/\\s+/g, ' ')).trim();\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setCssClass(cssClassNew, [this.inputWrapper.container], cssClassOld);\n if (this.popupWrapper) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setCssClass(cssClassNew, [this.popupWrapper], cssClassOld);\n }\n };\n TimePicker.prototype.removeErrorClass = function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], ERROR);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-invalid': 'false' });\n };\n TimePicker.prototype.checkErrorState = function (val) {\n var value = this.getDateObject(val);\n if ((this.validateState(value) && !this.invalidValueString) ||\n (this.enableMask && this.inputElement.value === this.maskedDateValue)) {\n this.removeErrorClass();\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], ERROR);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-invalid': 'true' });\n }\n };\n TimePicker.prototype.validateInterval = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.step) && this.step > 0) {\n this.enableElement([this.inputWrapper.buttons[0]]);\n }\n else {\n this.disableTimeIcon();\n }\n };\n TimePicker.prototype.disableTimeIcon = function () {\n this.disableElement([this.inputWrapper.buttons[0]]);\n this.hide();\n };\n TimePicker.prototype.disableElement = function (element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(element, DISABLED);\n };\n TimePicker.prototype.enableElement = function (element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(element, DISABLED);\n };\n TimePicker.prototype.selectInputText = function () {\n this.inputElement.setSelectionRange(0, (this.inputElement).value.length);\n };\n TimePicker.prototype.setCursorToEnd = function () {\n this.inputElement.setSelectionRange((this.inputElement).value.length, (this.inputElement).value.length);\n };\n TimePicker.prototype.getMeridianText = function () {\n var meridian;\n if (this.locale === 'en' || this.locale === 'en-US') {\n meridian = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('dayPeriods.format.wide', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)());\n }\n else {\n var gregorianFormat = '.dates.calendars.gregorian.dayPeriods.format.abbreviated';\n var mainVal = 'main.';\n meridian = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(mainVal + '' + this.locale + gregorianFormat, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData);\n }\n return meridian;\n };\n TimePicker.prototype.getCursorSelection = function () {\n var input = (this.inputElement);\n var start = 0;\n var end = 0;\n if (!isNaN(input.selectionStart)) {\n start = input.selectionStart;\n end = input.selectionEnd;\n }\n return { start: Math.abs(start), end: Math.abs(end) };\n };\n TimePicker.prototype.getActiveElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n return this.popupWrapper.querySelectorAll('.' + SELECTED);\n }\n else {\n return null;\n }\n };\n TimePicker.prototype.isNullOrEmpty = function (value) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) || (typeof value === 'string' && value.trim() === '')) {\n return true;\n }\n else {\n return false;\n }\n };\n TimePicker.prototype.setWidth = function (width) {\n if (typeof width === 'number') {\n width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n width = (width.match(/px|%|em/)) ? width : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else {\n width = '100%';\n }\n return width;\n };\n TimePicker.prototype.setPopupWidth = function (width) {\n width = this.setWidth(width);\n if (width.indexOf('%') > -1) {\n var inputWidth = this.containerStyle.width * parseFloat(width) / 100;\n width = inputWidth.toString() + 'px';\n }\n return width;\n };\n TimePicker.prototype.setScrollPosition = function () {\n var element = this.selectedElement;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n this.findScrollTop(element);\n }\n else if (this.popupWrapper && this.checkDateValue(this.scrollTo)) {\n this.setScrollTo();\n }\n };\n TimePicker.prototype.findScrollTop = function (element) {\n var listHeight = this.getPopupHeight();\n var nextEle = element.nextElementSibling;\n var height = nextEle ? nextEle.offsetTop : element.offsetTop;\n var liHeight = element.getBoundingClientRect().height;\n if ((height + element.offsetTop) > listHeight) {\n this.popupWrapper.scrollTop = nextEle ? (height - (listHeight / HALFPOSITION + liHeight / HALFPOSITION)) : height;\n }\n else {\n this.popupWrapper.scrollTop = 0;\n }\n };\n TimePicker.prototype.setScrollTo = function () {\n var element;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n var items = this.popupWrapper.querySelectorAll('.' + LISTCLASS);\n if (items.length) {\n var initialTime = this.timeCollections[0];\n var scrollTime = this.getDateObject(this.checkDateValue(this.scrollTo)).getTime();\n element = items[Math.round((scrollTime - initialTime) / (this.step * 60000))];\n }\n }\n else {\n this.popupWrapper.scrollTop = 0;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n this.findScrollTop(element);\n }\n else {\n this.popupWrapper.scrollTop = 0;\n }\n };\n TimePicker.prototype.getText = function () {\n return ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(this.value))) ? '' : this.getValue(this.value);\n };\n TimePicker.prototype.getValue = function (value) {\n return ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) ? null : this.globalize.formatDate(value, {\n format: this.cldrTimeFormat(), type: 'time'\n });\n };\n TimePicker.prototype.cldrDateFormat = function () {\n var cldrDate;\n if (this.locale === 'en' || this.locale === 'en-US') {\n cldrDate = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('dateFormats.short', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrDate = (this.getCultureDateObject(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData, '' + this.locale));\n }\n return cldrDate;\n };\n TimePicker.prototype.cldrTimeFormat = function () {\n var cldrTime;\n if (this.isNullOrEmpty(this.formatString)) {\n if (this.locale === 'en' || this.locale === 'en-US') {\n cldrTime = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeFormats.short', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrTime = (this.getCultureTimeObject(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData, '' + this.locale));\n }\n }\n else {\n cldrTime = this.formatString;\n }\n return cldrTime;\n };\n TimePicker.prototype.dateToNumeric = function () {\n var cldrTime;\n if (this.locale === 'en' || this.locale === 'en-US') {\n cldrTime = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('timeFormats.medium', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getDefaultDateObject)()));\n }\n else {\n cldrTime = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + '' + this.locale + '.dates.calendars.gregorian.timeFormats.medium', _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.cldrData));\n }\n return cldrTime;\n };\n TimePicker.prototype.getExactDateTime = function (value) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n return null;\n }\n else {\n return this.globalize.formatDate(value, { format: this.dateToNumeric(), type: 'time' });\n }\n };\n TimePicker.prototype.setValue = function (value) {\n var time = this.checkValue(value);\n if (!this.strictMode && !this.validateState(time)) {\n if (this.checkDateValue(this.valueWithMinutes) === null) {\n this.initValue = this.valueWithMinutes = null;\n }\n this.validateMinMax(this.value, this.min, this.max);\n }\n else {\n if (this.isNullOrEmpty(time)) {\n this.initValue = null;\n this.validateMinMax(this.value, this.min, this.max);\n }\n else {\n this.initValue = this.compareFormatChange(time);\n }\n }\n this.updateInput(true, this.initValue);\n };\n TimePicker.prototype.compareFormatChange = function (value) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n return null;\n }\n return (value !== this.getText()) ? this.getDateObject(value) : this.getDateObject(this.value);\n };\n TimePicker.prototype.updatePlaceHolder = function () {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setPlaceholder(this.l10n.getConstant('placeholder'), this.inputElement);\n };\n //event related functions\n TimePicker.prototype.updateInputValue = function (value) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(value, this.inputElement, this.floatLabelType, this.showClearButton);\n };\n TimePicker.prototype.preventEventBubbling = function (e) {\n e.preventDefault();\n this.interopAdaptor.invokeMethodAsync('OnTimeIconClick');\n };\n TimePicker.prototype.popupHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.inputElement.setAttribute('readonly', '');\n }\n e.preventDefault();\n if (this.isPopupOpen()) {\n this.closePopup(0, e);\n }\n else {\n this.inputElement.focus();\n this.show(e);\n }\n };\n TimePicker.prototype.mouseDownHandler = function () {\n if (!this.enabled) {\n return;\n }\n if (!this.readonly) {\n this.inputElement.setSelectionRange(0, 0);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'mouseup', this.mouseUpHandler, this);\n }\n };\n TimePicker.prototype.mouseUpHandler = function (event) {\n if (!this.readonly) {\n event.preventDefault();\n if (this.enableMask) {\n event.preventDefault();\n this.notify('setMaskSelection', {\n module: 'MaskedDateTime'\n });\n return;\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'mouseup', this.mouseUpHandler);\n var curPos = this.getCursorSelection();\n if (!(curPos.start === 0 && curPos.end === this.inputElement.value.length)) {\n if (this.inputElement.value.length > 0) {\n this.cursorDetails = this.focusSelection();\n }\n this.inputElement.setSelectionRange(this.cursorDetails.start, this.cursorDetails.end);\n }\n }\n }\n };\n TimePicker.prototype.focusSelection = function () {\n var regex = new RegExp('^[a-zA-Z0-9]+$');\n var split = this.inputElement.value.split('');\n split.push(' ');\n var curPos = this.getCursorSelection();\n var start = 0;\n var end = 0;\n var isSeparator = false;\n if (!this.isTextSelected) {\n for (var i = 0; i < split.length; i++) {\n if (!regex.test(split[i])) {\n end = i;\n isSeparator = true;\n }\n if (isSeparator) {\n if (curPos.start >= start && curPos.end <= end) {\n // eslint-disable-next-line no-self-assign\n end = end;\n this.isTextSelected = true;\n break;\n }\n else {\n start = i + 1;\n isSeparator = false;\n }\n }\n }\n }\n else {\n start = curPos.start;\n end = curPos.end;\n this.isTextSelected = false;\n }\n return { start: start, end: end };\n };\n TimePicker.prototype.inputHandler = function (event) {\n if (!this.readonly && this.enabled) {\n if (!((event.action === 'right' || event.action === 'left' || event.action === 'tab') || ((event.action === 'home' || event.action === 'end' || event.action === 'up' || event.action === 'down') && !this.isPopupOpen() && !this.enableMask))) {\n event.preventDefault();\n }\n switch (event.action) {\n case 'home':\n case 'end':\n case 'up':\n case 'down':\n if (!this.isPopupOpen()) {\n this.popupCreation();\n this.popupObj.destroy();\n this.popupObj = this.popupWrapper = null;\n }\n if (this.enableMask && !this.readonly && !this.isPopupOpen()) {\n event.preventDefault();\n this.notify('keyDownHandler', {\n module: 'MaskedDateTime',\n e: event\n });\n }\n if (this.isPopupOpen()) {\n this.keyHandler(event);\n }\n break;\n case 'enter':\n if (this.isNavigate) {\n this.selectedElement = this.liCollections[this.activeIndex];\n this.valueWithMinutes = new Date(this.timeCollections[this.activeIndex]);\n this.updateValue(this.valueWithMinutes, event);\n }\n else {\n this.updateValue(this.inputElement.value, event);\n }\n this.hide();\n this.isNavigate = false;\n if (this.isPopupOpen()) {\n event.stopPropagation();\n }\n break;\n case 'open':\n this.show(event);\n break;\n case 'escape':\n this.updateInputValue(this.objToString(this.value));\n if (this.enableMask) {\n if (!this.value) {\n this.updateInputValue(this.maskedDateValue);\n }\n this.createMask();\n }\n this.previousState(this.value);\n this.hide();\n break;\n case 'close':\n this.hide();\n break;\n case 'right':\n case 'left':\n case 'tab':\n case 'shiftTab':\n if (!this.isPopupOpen() && this.enableMask && !this.readonly) {\n if ((this.inputElement.selectionStart === 0 && this.inputElement.selectionEnd === this.inputElement.value.length) ||\n (this.inputElement.selectionEnd !== this.inputElement.value.length && event.action === 'tab') ||\n (this.inputElement.selectionStart !== 0 && event.action === 'shiftTab') || (event.action === 'left' || event.action === 'right')) {\n event.preventDefault();\n }\n this.notify('keyDownHandler', { module: 'MaskedDateTime',\n e: event\n });\n }\n break;\n default:\n this.isNavigate = false;\n break;\n }\n }\n };\n TimePicker.prototype.onMouseClick = function (event) {\n var target = event.target;\n var li = this.selectedElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + LISTCLASS);\n this.setSelection(li, event);\n if (li && li.classList.contains(LISTCLASS)) {\n this.hide();\n }\n };\n TimePicker.prototype.closePopup = function (delay, e) {\n var _this = this;\n if (this.isPopupOpen() && this.popupWrapper) {\n var args = {\n popup: this.popupObj,\n event: e || null,\n cancel: false,\n name: 'open'\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], OVERFLOW);\n this.trigger('close', args, function (args) {\n if (!args.cancel) {\n var animModel = {\n name: 'FadeOut',\n duration: ANIMATIONDURATION,\n delay: delay ? delay : 0\n };\n _this.popupObj.hide(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(animModel));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.inputWrapper.container], [ICONANIMATION]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-expanded': 'false' });\n _this.inputElement.removeAttribute('aria-owns');\n _this.inputElement.removeAttribute('aria-controls');\n _this.inputElement.removeAttribute('aria-activedescendant');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown touchstart', _this.documentClickHandler);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.modal) {\n _this.modal.style.display = 'none';\n _this.modal.outerHTML = '';\n _this.modal = null;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.mobileTimePopupWrap)) {\n _this.mobileTimePopupWrap.remove();\n _this.mobileTimePopupWrap = null;\n }\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.allowEdit && !_this.readonly) {\n _this.inputElement.removeAttribute('readonly');\n }\n });\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowEdit && !this.readonly) {\n this.inputElement.removeAttribute('readonly');\n }\n }\n };\n TimePicker.prototype.disposeServerPopup = function () {\n if (this.popupWrapper) {\n this.popupWrapper.style.visibility = 'hidden';\n this.popupWrapper.style.top = '-9999px';\n this.popupWrapper.style.left = '-9999px';\n this.popupWrapper.style.width = '0px';\n this.popupWrapper.style.height = '0px';\n }\n };\n TimePicker.prototype.checkValueChange = function (event, isNavigation) {\n if (!this.strictMode && !this.validateState(this.valueWithMinutes)) {\n if (this.checkDateValue(this.valueWithMinutes) === null) {\n this.initValue = this.valueWithMinutes = null;\n }\n this.setProperties({ value: this.compareFormatChange(this.inputElement.value) }, true);\n this.initValue = this.valueWithMinutes = this.compareFormatChange(this.inputElement.value);\n this.prevValue = this.inputElement.value;\n if (+this.prevDate !== +this.value) {\n this.changeEvent(event);\n }\n }\n else {\n if (!isNavigation) {\n var value = this.compareFormatChange(this.inputElement.value);\n if ((+this.prevDate !== +value) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(this.value))) {\n this.valueProcess(event, value);\n }\n }\n else {\n var value = this.getDateObject(new Date(this.timeCollections[this.activeIndex]));\n if (+this.prevDate !== +value) {\n this.valueProcess(event, value);\n }\n }\n }\n };\n TimePicker.prototype.onMouseOver = function (event) {\n var currentLi = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.' + LISTCLASS);\n this.setHover(currentLi, HOVER);\n };\n TimePicker.prototype.setHover = function (li, className) {\n if (this.enabled && this.isValidLI(li) && !li.classList.contains(className)) {\n this.removeHover(className);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], className);\n if (className === NAVIGATION) {\n li.setAttribute('aria-selected', 'true');\n }\n }\n };\n TimePicker.prototype.setSelection = function (li, event) {\n if (this.isValidLI(li)) {\n this.checkValue(li.getAttribute('data-value'));\n if (this.enableMask) {\n this.createMask();\n }\n this.selectedElement = li;\n this.activeIndex = Array.prototype.slice.call(this.liCollections).indexOf(li);\n this.valueWithMinutes = new Date(this.timeCollections[this.activeIndex]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.selectedElement], SELECTED);\n this.selectedElement.setAttribute('aria-selected', 'true');\n this.checkValueChange(event, true);\n }\n };\n TimePicker.prototype.onMouseLeave = function () {\n this.removeHover(HOVER);\n };\n TimePicker.prototype.scrollHandler = function () {\n if (this.getModuleName() === 'timepicker' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n return;\n }\n else {\n this.hide();\n }\n };\n TimePicker.prototype.setMinMax = function (minVal, maxVal) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(minVal))) {\n this.initMin = this.getDateObject('12:00:00 AM');\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(maxVal))) {\n this.initMax = this.getDateObject('11:59:59 PM');\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TimePicker.prototype.validateMinMax = function (dateVal, minVal, maxVal) {\n var value = dateVal instanceof Date ? dateVal : this.getDateObject(dateVal);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n dateVal = this.strictOperation(this.initMin, this.initMax, dateVal, value);\n }\n else if (+(this.createDateObj(this.getFormattedValue(this.initMin))) >\n +(this.createDateObj(this.getFormattedValue(this.initMax)))) {\n this.disableTimeIcon();\n }\n if (this.strictMode) {\n dateVal = this.valueIsDisable(dateVal) ? dateVal : null;\n }\n this.checkErrorState(dateVal);\n return dateVal;\n };\n TimePicker.prototype.valueIsDisable = function (value) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.disableItemCollection) && this.disableItemCollection.length > 0) {\n if (this.disableItemCollection.length === this.timeCollections.length) {\n return false;\n }\n var time = value instanceof Date ? this.objToString(value) : value;\n for (var index = 0; index < this.disableItemCollection.length; index++) {\n if (time === this.disableItemCollection[index]) {\n return false;\n }\n }\n }\n return true;\n };\n TimePicker.prototype.validateState = function (val) {\n if (!this.strictMode) {\n if (this.valueIsDisable(val)) {\n var value = typeof val === 'string' ? this.setCurrentDate(this.getDateObject(val)) :\n this.setCurrentDate(this.getDateObject(val));\n var maxValue = this.setCurrentDate(this.getDateObject(this.initMax));\n var minValue = this.setCurrentDate(this.getDateObject(this.initMin));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n if ((+(value) > +(maxValue)) || (+(value) < +(minValue))) {\n return false;\n }\n }\n else {\n if ((+(maxValue) < +(minValue)) || this.inputElement.value !== '') {\n return false;\n }\n }\n }\n else {\n return false;\n }\n }\n return true;\n };\n TimePicker.prototype.strictOperation = function (minimum, maximum, dateVal, val) {\n var maxValue = this.createDateObj(this.getFormattedValue(maximum));\n var minValue = this.createDateObj(this.getFormattedValue(minimum));\n var value = this.createDateObj(this.getFormattedValue(val));\n if (this.strictMode) {\n if (+minValue > +maxValue) {\n this.disableTimeIcon();\n this.initValue = this.getDateObject(maxValue);\n this.updateInputValue(this.getValue(this.initValue));\n if (this.enableMask) {\n this.createMask();\n }\n return this.inputElement.value;\n }\n else if (+minValue >= +value) {\n return this.getDateObject(minValue);\n }\n else if (+value >= +maxValue || +minValue === +maxValue) {\n return this.getDateObject(maxValue);\n }\n }\n else {\n if (+minValue > +maxValue) {\n this.disableTimeIcon();\n if (!isNaN(+this.createDateObj(dateVal))) {\n return dateVal;\n }\n }\n }\n return dateVal;\n };\n TimePicker.prototype.bindEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.buttons[0], 'mousedown', this.popupHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'blur', this.inputBlurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'focus', this.inputFocusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'change', this.inputChangeHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'input', this.inputEventHandler, this);\n if (this.enableMask) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keydown', this.keydownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keyup', this.keyupHandler, this);\n }\n if (this.showClearButton && this.inputWrapper.clearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.clearButton, 'mousedown', this.clearHandler, this);\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formElement, 'reset', this.formResetHandler, this);\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.keyConfigure = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.keyConfigure, this.keyConfigs);\n this.inputEvent = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.inputWrapper.container, {\n keyAction: this.inputHandler.bind(this),\n keyConfigs: this.keyConfigure,\n eventName: 'keydown'\n });\n if (this.showClearButton && this.inputElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'mousedown', this.mouseDownHandler, this);\n }\n }\n };\n TimePicker.prototype.keydownHandler = function (e) {\n switch (e.code) {\n case 'Delete':\n if (this.enableMask && !this.popupObj && !this.readonly) {\n this.notify('keyDownHandler', {\n module: 'MaskedDateTime',\n e: e\n });\n }\n break;\n default:\n break;\n }\n };\n TimePicker.prototype.keyupHandler = function (e) {\n if ((e.code === 'Backspace' || e.code === 'Delete') && (this.enableMask && this.showClearButton && this.inputElement && this.inputElement.value === this.maskedDateValue && this.inputWrapper && this.inputWrapper.clearButton && !this.inputWrapper.clearButton.classList.contains('e-clear-icon-hide'))) {\n this.inputWrapper.clearButton.classList.add('e-clear-icon-hide');\n }\n };\n TimePicker.prototype.formResetHandler = function () {\n if (!this.enabled) {\n return;\n }\n if (!this.inputElement.disabled) {\n var timeValue = this.inputElement.getAttribute('value');\n var val = this.checkDateValue(this.inputEleValue);\n if (this.element.tagName === 'EJS-TIMEPICKER') {\n val = null;\n timeValue = '';\n this.inputElement.setAttribute('value', '');\n }\n this.setProperties({ value: val }, true);\n this.prevDate = this.value;\n this.valueWithMinutes = this.value;\n this.initValue = this.value;\n if (this.inputElement) {\n this.updateInputValue(timeValue);\n if (this.enableMask) {\n if (!timeValue) {\n this.updateInputValue(this.maskedDateValue);\n }\n this.createMask();\n }\n this.checkErrorState(timeValue);\n this.prevValue = this.inputElement.value;\n }\n }\n };\n TimePicker.prototype.inputChangeHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n e.stopPropagation();\n };\n TimePicker.prototype.inputEventHandler = function () {\n if (this.enableMask) {\n this.notify('inputHandler', {\n module: 'MaskedDateTime'\n });\n }\n };\n TimePicker.prototype.unBindEvents = function () {\n if (this.inputWrapper) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.buttons[0], 'mousedown touchstart', this.popupHandler);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'blur', this.inputBlurHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'focus', this.inputFocusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'change', this.inputChangeHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'input', this.inputEventHandler);\n if (this.enableMask) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keyup', this.keyupHandler);\n }\n if (this.inputEvent) {\n this.inputEvent.destroy();\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'mousedown touchstart', this.mouseDownHandler);\n if (this.showClearButton && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.clearButton)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.clearButton, 'mousedown touchstart', this.clearHandler);\n }\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.formResetHandler);\n }\n };\n TimePicker.prototype.bindClearEvent = function () {\n if (this.showClearButton && this.inputWrapper.clearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.clearButton, 'mousedown', this.clearHandler, this);\n }\n };\n TimePicker.prototype.raiseClearedEvent = function (e) {\n var clearedArgs = {\n event: e\n };\n this.trigger('cleared', clearedArgs);\n };\n TimePicker.prototype.clearHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n e.preventDefault();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.clear(e);\n }\n else {\n this.resetState();\n this.raiseClearedEvent(e);\n }\n if (this.popupWrapper) {\n this.popupWrapper.scrollTop = 0;\n }\n if (this.enableMask) {\n this.notify('clearHandler', {\n module: 'MaskedDateTime'\n });\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form')) {\n var element = this.element;\n var keyupEvent = document.createEvent('KeyboardEvent');\n keyupEvent.initEvent('keyup', false, true);\n element.dispatchEvent(keyupEvent);\n }\n };\n TimePicker.prototype.clear = function (event) {\n this.setProperties({ value: null }, true);\n this.initValue = null;\n this.resetState();\n this.raiseClearedEvent(event);\n this.changeEvent(event);\n };\n TimePicker.prototype.setZIndex = function () {\n if (this.popupObj) {\n this.popupObj.zIndex = this.zIndex;\n this.popupObj.dataBind();\n }\n };\n TimePicker.prototype.checkAttributes = function (isDynamic) {\n var attributes = isDynamic ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) ? [] : Object.keys(this.htmlAttributes) :\n ['step', 'disabled', 'readonly', 'style', 'name', 'value', 'min', 'max', 'placeholder'];\n var value;\n for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {\n var prop = attributes_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.getAttribute(prop))) {\n switch (prop) {\n case 'disabled':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeOptions) || (this.timeOptions['enabled'] === undefined)) || isDynamic) {\n var enabled = this.inputElement.getAttribute(prop) === 'disabled' ||\n this.inputElement.getAttribute(prop) === '' || this.inputElement.getAttribute(prop) === 'true' ? false : true;\n this.setProperties({ enabled: enabled }, !isDynamic);\n }\n break;\n case 'style':\n this.inputStyle = this.inputElement.getAttribute(prop);\n break;\n case 'readonly':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeOptions) || (this.timeOptions['readonly'] === undefined)) || isDynamic) {\n var readonly = this.inputElement.getAttribute(prop) === 'readonly' ||\n this.inputElement.getAttribute(prop) === '' || this.inputElement.getAttribute(prop) === 'true' ? true : false;\n this.setProperties({ readonly: readonly }, !isDynamic);\n }\n break;\n case 'name':\n this.inputElement.setAttribute('name', this.inputElement.getAttribute(prop));\n break;\n case 'step':\n this.step = parseInt(this.inputElement.getAttribute(prop), 10);\n break;\n case 'placeholder':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeOptions) || (this.timeOptions['placeholder'] === undefined)) || isDynamic) {\n this.setProperties({ placeholder: this.inputElement.getAttribute(prop) }, !isDynamic);\n }\n break;\n case 'min':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeOptions) || (this.timeOptions['min'] === undefined)) || isDynamic) {\n value = new Date(this.inputElement.getAttribute(prop));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n this.setProperties({ min: value }, !isDynamic);\n }\n }\n break;\n case 'max':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeOptions) || (this.timeOptions['max'] === undefined)) || isDynamic) {\n value = new Date(this.inputElement.getAttribute(prop));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n this.setProperties({ max: value }, !isDynamic);\n }\n }\n break;\n case 'value':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeOptions) || (this.timeOptions['value'] === undefined)) || isDynamic) {\n value = new Date(this.inputElement.getAttribute(prop));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n this.initValue = value;\n this.updateInput(false, this.initValue);\n this.setProperties({ value: value }, !isDynamic);\n }\n }\n break;\n }\n }\n }\n };\n TimePicker.prototype.setCurrentDate = function (value) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n return null;\n }\n return new Date(YEAR, MONTH, DAY, value.getHours(), value.getMinutes(), value.getSeconds());\n };\n TimePicker.prototype.getTextFormat = function () {\n var time = 0;\n if (this.cldrTimeFormat().split(' ')[0] === 'a' || this.cldrTimeFormat().indexOf('a') === 0) {\n time = 1;\n }\n else if (this.cldrTimeFormat().indexOf('a') < 0) {\n var strArray = this.cldrTimeFormat().split(' ');\n for (var i = 0; i < strArray.length; i++) {\n if (strArray[i].toLowerCase().indexOf('h') >= 0) {\n time = i;\n break;\n }\n }\n }\n return time;\n };\n TimePicker.prototype.updateValue = function (value, event) {\n var val;\n if (this.isNullOrEmpty(value)) {\n this.resetState();\n }\n else {\n val = this.checkValue(value);\n if (this.strictMode) {\n // this case set previous value to the text box when set invalid date\n var inputVal = (val === null && value.trim().length > 0) ?\n this.previousState(this.prevDate) : this.inputElement.value;\n this.updateInputValue(inputVal);\n if (this.enableMask) {\n if (!inputVal) {\n this.updateInputValue(this.maskedDateValue);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val) && value !== this.maskedDateValue) {\n this.createMask();\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val) && value === this.maskedDateValue) {\n this.updateInputValue(this.maskedDateValue);\n }\n }\n }\n }\n this.checkValueChange(event, typeof value === 'string' ? false : true);\n };\n TimePicker.prototype.previousState = function (date) {\n var value = this.getDateObject(date);\n for (var i = 0; i < this.timeCollections.length; i++) {\n if (+value === this.timeCollections[i]) {\n this.activeIndex = i;\n this.selectedElement = this.liCollections[i];\n this.valueWithMinutes = new Date(this.timeCollections[i]);\n break;\n }\n }\n return this.getValue(date);\n };\n TimePicker.prototype.resetState = function () {\n this.removeSelection();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue('', this.inputElement, this.floatLabelType, false);\n this.valueWithMinutes = this.activeIndex = null;\n if (!this.strictMode) {\n this.checkErrorState(null);\n }\n };\n TimePicker.prototype.objToString = function (val) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(val))) {\n return null;\n }\n else {\n return this.globalize.formatDate(val, { format: this.cldrTimeFormat(), type: 'time' });\n }\n };\n TimePicker.prototype.checkValue = function (value) {\n if (!this.isNullOrEmpty(value)) {\n var date = value instanceof Date ? value : this.getDateObject(value);\n return this.validateValue(date, value);\n }\n this.resetState();\n return this.valueWithMinutes = null;\n };\n TimePicker.prototype.validateValue = function (date, value) {\n var time;\n var val = this.validateMinMax(value, this.min, this.max);\n var newval = this.getDateObject(val);\n if (this.getFormattedValue(newval) !== this.getFormattedValue(this.value)) {\n this.valueWithMinutes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newval) ? null : newval;\n time = this.objToString(this.valueWithMinutes);\n }\n else {\n if (this.strictMode) {\n //for strict mode case, when value not present within a range. Reset the nearest range value.\n date = newval;\n }\n this.valueWithMinutes = this.checkDateValue(date);\n time = this.objToString(this.valueWithMinutes);\n }\n if (!this.strictMode && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(time)) {\n var value_1 = val.trim().length > 0 ? val : '';\n this.updateInputValue(value_1);\n if (this.enableMask) {\n if (!value_1) {\n this.updateInputValue(this.maskedDateValue);\n }\n }\n }\n else {\n this.updateInputValue(time);\n if (this.enableMask) {\n if (time === '') {\n this.updateInputValue(this.maskedDateValue);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(time) && value !== this.maskedDateValue) {\n this.createMask();\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(time) && value === this.maskedDateValue) {\n this.updateInputValue(this.maskedDateValue);\n }\n }\n }\n return time;\n };\n TimePicker.prototype.createMask = function () {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n };\n TimePicker.prototype.findNextElement = function (event) {\n var textVal = (this.inputElement).value;\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.valueWithMinutes) ? this.createDateObj(textVal) :\n this.getDateObject(this.valueWithMinutes);\n var timeVal = null;\n var count = this.liCollections.length;\n var collections = this.timeCollections;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value)) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex)) {\n if (event.action === 'home') {\n var index = this.validLiElement(0);\n timeVal = +(this.createDateObj(new Date(this.timeCollections[index])));\n this.activeIndex = index;\n }\n else if (event.action === 'end') {\n var index = this.validLiElement(collections.length - 1, true);\n timeVal = +(this.createDateObj(new Date(this.timeCollections[index])));\n this.activeIndex = index;\n }\n else {\n if (event.action === 'down') {\n for (var i = 0; i < count; i++) {\n if (+value < this.timeCollections[i]) {\n var index = this.validLiElement(i);\n timeVal = +(this.createDateObj(new Date(this.timeCollections[index])));\n this.activeIndex = index;\n break;\n }\n else if (i === count - 1) {\n var index = this.validLiElement(0);\n timeVal = +(this.createDateObj(new Date(this.timeCollections[index])));\n this.activeIndex = index;\n break;\n }\n }\n }\n else {\n for (var i = count - 1; i >= 0; i--) {\n if (+value > this.timeCollections[i]) {\n var index = this.validLiElement(i, true);\n timeVal = +(this.createDateObj(new Date(this.timeCollections[index])));\n this.activeIndex = index;\n break;\n }\n else if (i === 0) {\n var index = this.validLiElement(count - 1);\n timeVal = +(this.createDateObj(new Date(this.timeCollections[index])));\n this.activeIndex = index;\n break;\n }\n }\n }\n }\n this.selectedElement = this.liCollections[this.activeIndex];\n this.elementValue((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(timeVal) ? null : new Date(timeVal));\n }\n else {\n this.selectNextItem(event);\n }\n };\n TimePicker.prototype.selectNextItem = function (event) {\n var index = this.validLiElement(0, event.action === 'down' ? false : true);\n this.activeIndex = index;\n this.selectedElement = this.liCollections[index];\n this.elementValue(new Date(this.timeCollections[index]));\n };\n TimePicker.prototype.elementValue = function (value) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) {\n this.checkValue(value);\n }\n };\n TimePicker.prototype.validLiElement = function (index, backward) {\n var elementIndex = null;\n var items = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper) ? this.liCollections :\n this.popupWrapper.querySelectorAll('.' + LISTCLASS);\n var isCheck = true;\n if (items.length) {\n if (backward) {\n for (var i = index; i >= 0; i--) {\n if (!items[i].classList.contains(DISABLED)) {\n elementIndex = i;\n break;\n }\n else if (i === 0) {\n if (isCheck) {\n index = i = items.length;\n isCheck = false;\n }\n }\n }\n }\n else {\n for (var i = index; i <= items.length - 1; i++) {\n if (!items[i].classList.contains(DISABLED)) {\n elementIndex = i;\n break;\n }\n else if (i === items.length - 1) {\n if (isCheck) {\n index = i = -1;\n isCheck = false;\n }\n }\n }\n }\n }\n return elementIndex;\n };\n TimePicker.prototype.keyHandler = function (event) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.step) || this.step <= 0 || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)\n && this.inputWrapper.buttons[0].classList.contains(DISABLED)) {\n return;\n }\n var count = this.timeCollections.length;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getActiveElement()) || this.getActiveElement().length === 0) {\n if (this.liCollections.length > 0) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex)) {\n var index = this.validLiElement(0, event.action === 'down' ? false : true);\n this.activeIndex = index;\n this.selectedElement = this.liCollections[index];\n this.elementValue(new Date(this.timeCollections[index]));\n }\n else {\n this.findNextElement(event);\n }\n }\n else {\n this.findNextElement(event);\n }\n }\n else {\n var nextItem = void 0;\n if ((event.keyCode >= 37) && (event.keyCode <= 40)) {\n var index = (event.keyCode === 40 || event.keyCode === 39) ? ++this.activeIndex : --this.activeIndex;\n this.activeIndex = index = this.activeIndex === (count) ? 0 : this.activeIndex;\n this.activeIndex = index = this.activeIndex < 0 ? (count - 1) : this.activeIndex;\n this.activeIndex = index = this.validLiElement(this.activeIndex, (event.keyCode === 40 || event.keyCode === 39) ?\n false : true);\n nextItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.timeCollections[index]) ?\n this.timeCollections[0] : this.timeCollections[index];\n }\n else if (event.action === 'home') {\n var index = this.validLiElement(0);\n this.activeIndex = index;\n nextItem = this.timeCollections[index];\n }\n else if (event.action === 'end') {\n var index = this.validLiElement(count - 1, true);\n this.activeIndex = index;\n nextItem = this.timeCollections[index];\n }\n this.selectedElement = this.liCollections[this.activeIndex];\n this.elementValue(new Date(nextItem));\n }\n this.isNavigate = true;\n this.setHover(this.selectedElement, NAVIGATION);\n this.setActiveDescendant();\n if (this.enableMask) {\n this.selectInputText();\n }\n if (this.isPopupOpen() && this.selectedElement !== null && (!event || event.type !== 'click')) {\n this.setScrollPosition();\n }\n };\n TimePicker.prototype.getCultureTimeObject = function (ld, c) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + c + '.dates.calendars.gregorian.timeFormats.short', ld);\n };\n TimePicker.prototype.getCultureDateObject = function (ld, c) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('main.' + c + '.dates.calendars.gregorian.dateFormats.short', ld);\n };\n TimePicker.prototype.wireListEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'click', this.onMouseClick, this);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'mouseover', this.onMouseOver, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.listWrapper, 'mouseout', this.onMouseLeave, this);\n }\n };\n TimePicker.prototype.unWireListEvents = function () {\n if (this.listWrapper) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.listWrapper, 'click', this.onMouseClick);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.listWrapper, 'mouseover', this.onMouseOver);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.listWrapper, 'mouseout', this.onMouseLeave);\n }\n }\n };\n TimePicker.prototype.valueProcess = function (event, value) {\n var result = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkDateValue(value))) ? null : value;\n if (+this.prevDate !== +result) {\n this.initValue = result;\n this.changeEvent(event);\n }\n };\n TimePicker.prototype.changeEvent = function (e) {\n this.addSelection();\n this.updateInput(true, this.initValue);\n var eventArgs = {\n event: (e || null),\n value: this.value,\n text: (this.inputElement).value,\n isInteracted: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e),\n element: this.element\n };\n eventArgs.value = this.valueWithMinutes || this.getDateObject(this.inputElement.value);\n this.prevDate = this.valueWithMinutes || this.getDateObject(this.inputElement.value);\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n else {\n this.trigger('change', eventArgs);\n }\n this.invalidValueString = null;\n this.checkErrorState(this.value);\n };\n TimePicker.prototype.updateInput = function (isUpdate, date) {\n if (isUpdate) {\n this.prevValue = this.getValue(this.prevDate);\n }\n this.prevDate = this.valueWithMinutes = date;\n if ((typeof date !== 'number') || (this.value && +new Date(+this.value).setMilliseconds(0)) !== +date) {\n this.setProperties({ value: date }, true);\n if (this.enableMask && this.value) {\n this.createMask();\n }\n }\n if (!this.strictMode && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.invalidValueString) {\n this.checkErrorState(this.invalidValueString);\n this.updateInputValue(this.invalidValueString);\n }\n this.clearIconState();\n };\n TimePicker.prototype.setActiveDescendant = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedElement) && this.value) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-activedescendant': this.selectedElement.getAttribute('id') });\n }\n else {\n this.inputElement.removeAttribute('aria-activedescendant');\n }\n };\n TimePicker.prototype.removeSelection = function () {\n this.removeHover(HOVER);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n var items = this.popupWrapper.querySelectorAll('.' + SELECTED);\n if (items.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(items, SELECTED);\n items[0].removeAttribute('aria-selected');\n }\n }\n };\n TimePicker.prototype.removeHover = function (className) {\n var hoveredItem = this.getHoverItem(className);\n if (hoveredItem && hoveredItem.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(hoveredItem, className);\n if (className === NAVIGATION) {\n hoveredItem[0].removeAttribute('aria-selected');\n }\n }\n };\n TimePicker.prototype.getHoverItem = function (className) {\n var hoveredItem;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n hoveredItem = this.popupWrapper.querySelectorAll('.' + className);\n }\n return hoveredItem;\n };\n TimePicker.prototype.setActiveClass = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n var items = this.popupWrapper.querySelectorAll('.' + LISTCLASS);\n if (items.length) {\n for (var i = 0; i < items.length; i++) {\n if ((this.timeCollections[i] === +this.getDateObject(this.valueWithMinutes))) {\n items[i].setAttribute('aria-selected', 'true');\n this.selectedElement = items[i];\n this.activeIndex = i;\n break;\n }\n }\n }\n }\n };\n TimePicker.prototype.addSelection = function () {\n this.selectedElement = null;\n this.removeSelection();\n this.setActiveClass();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.selectedElement], SELECTED);\n this.selectedElement.setAttribute('aria-selected', 'true');\n }\n };\n TimePicker.prototype.isValidLI = function (li) {\n return (li && li.classList.contains(LISTCLASS) && !li.classList.contains(DISABLED));\n };\n TimePicker.prototype.createDateObj = function (val) {\n var formatStr = null;\n var today = this.globalize.formatDate(new Date(), { format: formatStr, skeleton: 'short', type: 'date' });\n var value = null;\n if (typeof val === 'string') {\n if (val.toUpperCase().indexOf('AM') > -1 || val.toUpperCase().indexOf('PM') > -1) {\n today = this.defaultCulture.formatDate(new Date(), { format: formatStr, skeleton: 'short', type: 'date' });\n value = isNaN(+new Date(today + ' ' + val)) ? null : new Date(new Date(today + ' ' + val).setMilliseconds(0));\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n value = this.timeParse(today, val);\n }\n }\n else {\n value = this.timeParse(today, val);\n }\n }\n else if (val instanceof Date) {\n value = val;\n }\n return value;\n };\n TimePicker.prototype.timeParse = function (today, val) {\n var value;\n value = this.globalize.parseDate(this.getAmPmValue(today + ' ' + val), {\n format: this.cldrDateFormat() + ' ' + this.cldrTimeFormat(), type: 'datetime'\n });\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? this.globalize.parseDate(this.getAmPmValue(today + ' ' + val), {\n format: this.cldrDateFormat() + ' ' + this.dateToNumeric(), type: 'datetime'\n }) : value;\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? value : new Date(value.setMilliseconds(0));\n return value;\n };\n TimePicker.prototype.createListItems = function () {\n var _this = this;\n this.listWrapper = this.createElement('div', { className: CONTENT, attrs: { 'tabindex': '-1' } });\n var start;\n var interval = this.step * 60000;\n var listItems = [];\n this.timeCollections = [];\n this.disableItemCollection = [];\n start = +(this.getDateObject(this.initMin).setMilliseconds(0));\n var end = +(this.getDateObject(this.initMax).setMilliseconds(0));\n while (end >= start) {\n this.timeCollections.push(start);\n listItems.push(this.globalize.formatDate(new Date(start), { format: this.cldrTimeFormat(), type: 'time' }));\n start += interval;\n }\n var listBaseOptions = {\n itemCreated: function (args) {\n var eventArgs = {\n element: args.item,\n text: args.text, value: _this.getDateObject(args.text), isDisabled: false\n };\n _this.trigger('itemRender', eventArgs, function (eventArgs) {\n if (eventArgs.isDisabled) {\n eventArgs.element.classList.add(DISABLED);\n }\n if (eventArgs.element.classList.contains(DISABLED)) {\n _this.disableItemCollection.push(eventArgs.element.getAttribute('data-value'));\n }\n });\n }\n };\n this.listTag = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_1__.ListBase.createList(this.createElement, listItems, listBaseOptions, true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options', 'tabindex': '0' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.listTag], this.listWrapper);\n };\n TimePicker.prototype.documentClickHandler = function (event) {\n var target = event.target;\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) && (this.inputWrapper.container.contains(target) && event.type !== 'mousedown' ||\n (this.popupObj.element && this.popupObj.element.contains(target)))) && event.type !== 'touchstart') {\n event.preventDefault();\n }\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '[id=\"' + this.popupObj.element.id + '\"]')) && target !== this.inputElement\n && target !== (this.inputWrapper && this.inputWrapper.buttons[0]) &&\n target !== (this.inputWrapper && this.inputWrapper.clearButton) &&\n target !== (this.inputWrapper && this.inputWrapper.container)\n && (!target.classList.contains('e-dlg-overlay'))) {\n if (this.isPopupOpen()) {\n this.hide();\n this.focusOut();\n }\n }\n else if (target !== this.inputElement) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.isPreventBlur = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge') && (document.activeElement === this.inputElement)\n && (target === this.popupWrapper);\n }\n }\n };\n TimePicker.prototype.setEnableRtl = function () {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setEnableRtl(this.enableRtl, [this.inputWrapper.container]);\n if (this.popupObj) {\n this.popupObj.enableRtl = this.enableRtl;\n this.popupObj.dataBind();\n }\n };\n TimePicker.prototype.setEnable = function () {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setEnabled(this.enabled, this.inputElement, this.floatLabelType);\n if (this.enabled) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-disabled': 'false' });\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n }\n else {\n this.hide();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], DISABLED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-disabled': 'true' });\n this.inputElement.tabIndex = -1;\n }\n };\n TimePicker.prototype.getProperty = function (date, val) {\n if (val === 'min') {\n this.initMin = this.checkDateValue(new Date(this.checkInValue(date.min)));\n this.setProperties({ min: this.initMin }, true);\n }\n else {\n this.initMax = this.checkDateValue(new Date(this.checkInValue(date.max)));\n this.setProperties({ max: this.initMax }, true);\n }\n if (this.inputElement.value === '') {\n this.validateMinMax(this.value, this.min, this.max);\n }\n else {\n this.checkValue(this.inputElement.value);\n }\n this.checkValueChange(null, false);\n };\n TimePicker.prototype.inputBlurHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n // IE popup closing issue when click over the scrollbar\n if (this.isPreventBlur && this.isPopupOpen()) {\n this.inputElement.focus();\n return;\n }\n this.closePopup(0, e);\n if (this.enableMask && this.maskedDateValue && this.placeholder && this.floatLabelType !== 'Always') {\n if (this.inputElement.value === this.maskedDateValue && !this.value && (this.floatLabelType === 'Auto' || this.floatLabelType === 'Never' || this.placeholder)) {\n this.updateInputValue('');\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [FOCUS]);\n if (this.getText() !== this.inputElement.value) {\n this.updateValue((this.inputElement).value, e);\n }\n else if (this.inputElement.value.trim().length === 0) {\n this.resetState();\n }\n this.cursorDetails = null;\n this.isNavigate = false;\n if (this.inputElement.value === '') {\n this.invalidValueString = null;\n }\n var blurArguments = {\n model: this\n };\n this.trigger('blur', blurArguments);\n };\n /**\n * Focuses out the TimePicker textbox element.\n *\n * @returns {void}\n */\n TimePicker.prototype.focusOut = function () {\n if (document.activeElement === this.inputElement) {\n this.inputElement.blur();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [FOCUS]);\n var blurArguments = {\n model: this\n };\n this.trigger('blur', blurArguments);\n }\n };\n TimePicker.prototype.isPopupOpen = function () {\n if (this.popupWrapper && this.popupWrapper.classList.contains('' + ROOT)) {\n return true;\n }\n return false;\n };\n TimePicker.prototype.inputFocusHandler = function () {\n if (!this.enabled) {\n return;\n }\n var focusArguments = {\n model: this\n };\n if (!this.readonly && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.enableMask) {\n this.selectInputText();\n }\n if (this.enableMask && !this.inputElement.value && this.placeholder) {\n if (this.maskedDateValue && !this.value && (this.floatLabelType === 'Auto' || this.floatLabelType === 'Never' || this.placeholder)) {\n this.updateInputValue(this.maskedDateValue);\n this.inputElement.selectionStart = 0;\n this.inputElement.selectionEnd = this.inputElement.value.length;\n }\n }\n if (this.enableMask && this.showClearButton && this.inputElement && this.inputElement.value === this.maskedDateValue && this.inputWrapper && this.inputWrapper.clearButton && !this.inputWrapper.clearButton.classList.contains('e-clear-icon-hide')) {\n this.inputWrapper.clearButton.classList.add('e-clear-icon-hide');\n }\n this.trigger('focus', focusArguments);\n this.clearIconState();\n if (this.openOnFocus) {\n this.show();\n }\n };\n /**\n * Focused the TimePicker textbox element.\n *\n * @returns {void}\n */\n TimePicker.prototype.focusIn = function () {\n if (document.activeElement !== this.inputElement && this.enabled) {\n this.inputElement.focus();\n }\n };\n /**\n * Hides the TimePicker popup.\n *\n * @returns {void}\n\n */\n TimePicker.prototype.hide = function () {\n this.closePopup(100, null);\n this.clearIconState();\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Opens the popup to show the list items.\n *\n * @returns {void}\n\n */\n TimePicker.prototype.show = function (event) {\n var _this = this;\n if ((this.enabled && this.readonly) || !this.enabled || this.popupWrapper) {\n return;\n }\n else {\n this.popupCreation();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.listWrapper) {\n this.modal = this.createElement('div');\n this.modal.className = '' + ROOT + ' e-time-modal';\n document.body.className += ' ' + OVERFLOW;\n document.body.appendChild(this.modal);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.mobileTimePopupWrap = this.createElement('div', { className: 'e-timepicker-mob-popup-wrap' });\n document.body.appendChild(this.mobileTimePopupWrap);\n }\n this.openPopupEventArgs = {\n popup: this.popupObj || null,\n cancel: false,\n event: event || null,\n name: 'open',\n appendTo: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? this.mobileTimePopupWrap : document.body\n };\n var eventArgs = this.openPopupEventArgs;\n this.trigger('open', eventArgs, function (eventArgs) {\n _this.openPopupEventArgs = eventArgs;\n if (!_this.openPopupEventArgs.cancel && !_this.inputWrapper.buttons[0].classList.contains(DISABLED)) {\n _this.openPopupEventArgs.appendTo.appendChild(_this.popupWrapper);\n _this.popupAlignment(_this.openPopupEventArgs);\n _this.setScrollPosition();\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.inputElement.focus();\n }\n var openAnimation = {\n name: 'FadeIn',\n duration: ANIMATIONDURATION\n };\n _this.popupObj.refreshPosition(_this.anchor);\n if (_this.zIndex === 1000) {\n _this.popupObj.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(openAnimation), _this.element);\n }\n else {\n _this.popupObj.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(openAnimation), null);\n }\n _this.setActiveDescendant();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-expanded': 'true' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-owns': _this.inputElement.id + '_options' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-controls': _this.inputElement.id });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.inputWrapper.container], FOCUS);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown touchstart', _this.documentClickHandler, _this);\n _this.setOverlayIndex(_this.mobileTimePopupWrap, _this.popupObj.element, _this.modal, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n var dlgOverlay = _this.createElement('div', { className: 'e-dlg-overlay' });\n dlgOverlay.style.zIndex = (_this.zIndex - 1).toString();\n _this.mobileTimePopupWrap.appendChild(dlgOverlay);\n }\n }\n else {\n _this.popupObj.destroy();\n _this.popupWrapper = _this.listTag = undefined;\n _this.liCollections = _this.timeCollections = _this.disableItemCollection = [];\n _this.popupObj = null;\n }\n });\n }\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n TimePicker.prototype.setOverlayIndex = function (popupWrapper, timePopupElement, modal, isDevice) {\n if (isDevice && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(timePopupElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(modal) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(popupWrapper)) {\n var index = parseInt(timePopupElement.style.zIndex, 10) ? parseInt(timePopupElement.style.zIndex, 10) : 1000;\n modal.style.zIndex = (index - 1).toString();\n popupWrapper.style.zIndex = index.toString();\n }\n };\n TimePicker.prototype.formatValues = function (type) {\n var value;\n if (typeof type === 'number') {\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(type);\n }\n else if (typeof type === 'string') {\n value = (type.match(/px|%|em/)) ? type : isNaN(parseInt(type, 10)) ? type : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(type);\n }\n return value;\n };\n TimePicker.prototype.popupAlignment = function (args) {\n args.popup.position.X = this.formatValues(args.popup.position.X);\n args.popup.position.Y = this.formatValues(args.popup.position.Y);\n if (!isNaN(parseFloat(args.popup.position.X)) || !isNaN(parseFloat(args.popup.position.Y))) {\n this.popupObj.relateTo = this.anchor = document.body;\n this.popupObj.targetType = 'container';\n }\n if (!isNaN(parseFloat(args.popup.position.X))) {\n this.popupObj.offsetX = parseFloat(args.popup.position.X);\n }\n if (!isNaN(parseFloat(args.popup.position.Y))) {\n this.popupObj.offsetY = parseFloat(args.popup.position.Y);\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n switch (args.popup.position.X) {\n case 'left':\n break;\n case 'right':\n args.popup.offsetX = this.containerStyle.width;\n break;\n case 'center':\n args.popup.offsetX = -(this.containerStyle.width / 2);\n break;\n }\n switch (args.popup.position.Y) {\n case 'top':\n break;\n case 'bottom':\n break;\n case 'center':\n args.popup.offsetY = -(this.containerStyle.height / 2);\n break;\n }\n if (args.popup.position.X === 'center' && args.popup.position.Y === 'center') {\n this.popupObj.relateTo = this.inputWrapper.container;\n this.anchor = this.inputElement;\n this.popupObj.targetType = 'relative';\n }\n }\n else {\n if (args.popup.position.X === 'center' && args.popup.position.Y === 'center') {\n this.popupObj.relateTo = this.anchor = document.body;\n this.popupObj.offsetY = 0;\n this.popupObj.targetType = 'container';\n this.popupObj.collision = { X: 'fit', Y: 'fit' };\n }\n }\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the properties to be maintained upon browser refresh.\n *\n * @returns {string}\n */\n TimePicker.prototype.getPersistData = function () {\n var keyEntity = ['value'];\n return this.addOnPersist(keyEntity);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * To get component name\n *\n * @returns {string} Returns the component name.\n * @private\n */\n TimePicker.prototype.getModuleName = function () {\n return 'timepicker';\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {TimePickerModel} newProp - Returns the dynamic property value of the component.\n * @param {TimePickerModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @private\n */\n TimePicker.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'placeholder':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setPlaceholder(newProp.placeholder, this.inputElement);\n break;\n case 'readonly':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setReadonly(this.readonly, this.inputElement, this.floatLabelType);\n if (this.readonly) {\n this.hide();\n }\n this.setTimeAllowEdit();\n break;\n case 'enabled':\n this.setProperties({ enabled: newProp.enabled }, true);\n this.setEnable();\n break;\n case 'allowEdit':\n this.setTimeAllowEdit();\n break;\n case 'enableRtl':\n this.setProperties({ enableRtl: newProp.enableRtl }, true);\n this.setEnableRtl();\n break;\n case 'cssClass':\n this.updateCssClass(newProp.cssClass, oldProp.cssClass);\n break;\n case 'zIndex':\n this.setProperties({ zIndex: newProp.zIndex }, true);\n this.setZIndex();\n break;\n case 'htmlAttributes':\n this.updateHtmlAttributeToElement();\n this.updateHtmlAttributeToWrapper();\n this.checkAttributes(true);\n break;\n case 'min':\n case 'max':\n this.getProperty(newProp, prop);\n break;\n case 'showClearButton':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setClearButton(this.showClearButton, this.inputElement, this.inputWrapper);\n this.bindClearEvent();\n break;\n case 'locale':\n this.setProperties({ locale: newProp.locale }, true);\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.l10n.setLocale(this.locale);\n if (this.timeOptions && this.timeOptions.placeholder == null) {\n this.updatePlaceHolder();\n }\n this.setValue(this.value);\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n break;\n case 'width':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.inputWrapper.container, { 'width': this.setWidth(newProp.width) });\n this.containerStyle = this.inputWrapper.container.getBoundingClientRect();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n break;\n case 'format':\n this.setProperties({ format: newProp.format }, true);\n this.checkTimeFormat();\n this.setValue(this.value);\n if (this.enableMask) {\n this.createMask();\n if (!this.value) {\n this.updateInputValue(this.maskedDateValue);\n }\n }\n break;\n case 'value':\n this.invalidValueString = null;\n this.checkInvalidValue(newProp.value);\n newProp.value = this.value;\n if (!this.invalidValueString) {\n if (typeof newProp.value === 'string') {\n this.setProperties({ value: this.checkDateValue(new Date(newProp.value)) }, true);\n newProp.value = this.value;\n }\n else {\n if ((newProp.value && +new Date(+newProp.value).setMilliseconds(0)) !== +this.value) {\n newProp.value = this.checkDateValue(new Date('' + newProp.value));\n }\n }\n this.initValue = newProp.value;\n newProp.value = this.compareFormatChange(this.checkValue(newProp.value));\n }\n else {\n this.updateInputValue(this.invalidValueString);\n this.checkErrorState(this.invalidValueString);\n }\n if (this.enableMask && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value)) {\n this.updateInputValue(this.maskedDateValue);\n this.checkErrorState(this.maskedDateValue);\n }\n this.checkValueChange(null, false);\n if (this.isPopupOpen()) {\n this.setScrollPosition();\n }\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n }\n break;\n case 'floatLabelType':\n this.floatLabelType = newProp.floatLabelType;\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.removeFloating(this.inputWrapper);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n break;\n case 'strictMode':\n this.invalidValueString = null;\n if (newProp.strictMode) {\n this.checkErrorState(null);\n }\n this.setProperties({ strictMode: newProp.strictMode }, true);\n this.checkValue((this.inputElement).value);\n this.checkValueChange(null, false);\n break;\n case 'scrollTo':\n if (this.checkDateValue(new Date(this.checkInValue(newProp.scrollTo)))) {\n if (this.popupWrapper) {\n this.setScrollTo();\n }\n this.setProperties({ scrollTo: this.checkDateValue(new Date(this.checkInValue(newProp.scrollTo))) }, true);\n }\n else {\n this.setProperties({ scrollTo: null }, true);\n }\n break;\n case 'enableMask':\n if (this.enableMask) {\n this.notify('createMask', {\n module: 'MaskedDateTime'\n });\n this.updateInputValue(this.maskedDateValue);\n }\n else {\n if (this.inputElement.value === this.maskedDateValue) {\n this.updateInputValue('');\n }\n }\n break;\n }\n }\n };\n TimePicker.prototype.checkInValue = function (inValue) {\n if (inValue instanceof Date) {\n return (inValue.toUTCString());\n }\n else {\n return ('' + inValue);\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TimePicker.prototype, \"strictMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"keyConfigs\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"format\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], TimePicker.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TimePicker.prototype, \"fullScreenMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TimePicker.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], TimePicker.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], TimePicker.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], TimePicker.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TimePicker.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], TimePicker.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(30)\n ], TimePicker.prototype, \"step\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"scrollTo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"min\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"max\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], TimePicker.prototype, \"allowEdit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TimePicker.prototype, \"openOnFocus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TimePicker.prototype, \"enableMask\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({ day: 'day', month: 'month', year: 'year', hour: 'hour', minute: 'minute', second: 'second', dayOfTheWeek: 'day of the week' })\n ], TimePicker.prototype, \"maskPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TimePicker.prototype, \"serverTimezoneOffset\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"itemRender\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"cleared\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"blur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TimePicker.prototype, \"focus\", void 0);\n TimePicker = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], TimePicker);\n return TimePicker;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-compression/src/checksum-calculator.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-compression/src/checksum-calculator.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChecksumCalculator: () => (/* binding */ ChecksumCalculator)\n/* harmony export */ });\n/* eslint-disable */\n/// \n/// Checksum calculator, based on Adler32 algorithm.\n/// \nvar ChecksumCalculator = /** @class */ (function () {\n function ChecksumCalculator() {\n }\n /// \n /// Updates checksum by calculating checksum of the\n /// given buffer and adding it to current value.\n /// \n /// Current checksum.\n /// Data byte array.\n /// Offset in the buffer.\n /// Length of data to be used from the stream.\n ChecksumCalculator.ChecksumUpdate = function (checksum, buffer, offset, length) {\n var checkSumUInt = checksum;\n var s1 = checkSumUInt & 65535;\n var s2 = checkSumUInt >> this.DEF_CHECKSUM_BIT_OFFSET;\n while (length > 0) {\n var steps = Math.min(length, this.DEF_CHECKSUM_ITERATIONSCOUNT);\n length -= steps;\n while (--steps >= 0) {\n s1 = s1 + (buffer[offset++] & 255);\n s2 = s2 + s1;\n }\n s1 %= this.DEF_CHECKSUM_BASE;\n s2 %= this.DEF_CHECKSUM_BASE;\n }\n checkSumUInt = (s2 << this.DEF_CHECKSUM_BIT_OFFSET) | s1;\n checksum = checkSumUInt;\n };\n /// \n /// Generates checksum by calculating checksum of the\n /// given buffer.\n /// \n /// Data byte array.\n /// Offset in the buffer.\n /// Length of data to be used from the stream.\n ChecksumCalculator.ChecksumGenerate = function (buffer, offset, length) {\n var result = 1;\n ChecksumCalculator.ChecksumUpdate(result, buffer, offset, length);\n return result;\n };\n /// \n /// Bits offset, used in adler checksum calculation.\n /// \n ChecksumCalculator.DEF_CHECKSUM_BIT_OFFSET = 16;\n /// \n /// Lagrest prime, less than 65535\n /// \n ChecksumCalculator.DEF_CHECKSUM_BASE = 65521;\n /// \n /// Count of iteration used in calculated of the adler checksumm.\n /// \n ChecksumCalculator.DEF_CHECKSUM_ITERATIONSCOUNT = 3800;\n return ChecksumCalculator;\n}());\n\n/* eslint-enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-compression/src/checksum-calculator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-compression/src/compression-reader.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-compression/src/compression-reader.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompressedStreamReader: () => (/* binding */ CompressedStreamReader),\n/* harmony export */ Stream: () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decompressor-huffman-tree */ \"./node_modules/@syncfusion/ej2-compression/src/decompressor-huffman-tree.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/@syncfusion/ej2-compression/src/utils.js\");\n/* harmony import */ var _checksum_calculator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./checksum-calculator */ \"./node_modules/@syncfusion/ej2-compression/src/checksum-calculator.js\");\n/* eslint-disable */\n\n\n\nvar CompressedStreamReader = /** @class */ (function () {\n function CompressedStreamReader(stream, bNoWrap) {\n /// \n /// Code lengths for the code length alphabet.\n /// \n this.defaultHuffmanDynamicTree = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n /// \n /// Mask for compression method to be decoded from 16-bit header.\n /// \n this.DEF_HEADER_METHOD_MASK = 15 << 8;\n /// \n /// Mask for compression info to be decoded from 16-bit header.\n /// \n this.DEF_HEADER_INFO_MASK = 240 << 8;\n /// \n /// Mask for check bits to be decoded from 16-bit header.\n /// \n this.DEF_HEADER_FLAGS_FCHECK = 31;\n /// \n /// Mask for dictionary presence to be decoded from 16-bit header.\n /// \n this.DEF_HEADER_FLAGS_FDICT = 32;\n /// \n /// Mask for compression level to be decoded from 16-bit header.\n /// \n this.DEF_HEADER_FLAGS_FLEVEL = 192;\n /// \n /// Maximum size of the data window.\n /// \n this.DEF_MAX_WINDOW_SIZE = 65535;\n /// \n /// Maximum length of the repeatable block.\n /// \n this.DEF_HUFFMAN_REPEATE_MAX = 258;\n /// \n /// End of the block sign.\n /// \n this.DEF_HUFFMAN_END_BLOCK = 256;\n /// \n /// Minimal length code.\n /// \n this.DEF_HUFFMAN_LENGTH_MINIMUMCODE = 257;\n /// \n /// Maximal length code.\n /// \n this.DEF_HUFFMAN_LENGTH_MAXIMUMCODE = 285;\n /// \n /// Maximal distance code.\n /// \n this.DEF_HUFFMAN_DISTANCE_MAXIMUMCODE = 29;\n /// \n /// Currently calculated checksum,\n /// based on Adler32 algorithm.\n /// \n this.mCheckSum = 1;\n /// \n /// Currently read 4 bytes.\n /// \n this.tBuffer = 0;\n /// \n /// Count of bits that are in buffer.\n /// \n this.mBufferedBits = 0;\n /// \n /// Temporary buffer.\n /// \n this.mTempBuffer = new Uint8Array(4);\n /// \n /// 32k buffer for unpacked data.\n /// \n this.mBlockBuffer = new Uint8Array(this.DEF_MAX_WINDOW_SIZE);\n /// \n /// No wrap mode.\n /// \n this.mbNoWrap = false;\n /// \n /// Window size, can not be larger than 32k.\n /// \n this.mWindowSize = 0;\n /// \n /// Current position in output stream.\n /// Current in-block position can be extracted by applying Int16.MaxValue mask.\n /// \n this.mCurrentPosition = 0;\n /// \n /// Data length.\n /// Current in-block position can be extracted by applying Int16.MaxValue mask.\n /// \n this.mDataLength = 0;\n /// \n /// Specifies wheather next block can to be read.\n /// Reading can be denied because the header of the last block have been read.\n /// \n this.mbCanReadNextBlock = true;\n /// \n /// Specifies wheather user can read more data from stream.\n /// \n this.mbCanReadMoreData = true;\n /// \n /// Specifies wheather checksum has been read.\n /// \n this.mbCheckSumRead = false;\n if (stream == null) {\n throw new DOMException('stream');\n }\n if (stream.length === 0) {\n throw new DOMException('stream - string can not be empty');\n }\n _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__.DecompressorHuffmanTree.init();\n this.mInputStream = new Stream(stream);\n this.mbNoWrap = bNoWrap;\n if (!this.mbNoWrap) {\n this.readZLibHeader();\n }\n this.decodeBlockHeader();\n }\n Object.defineProperty(CompressedStreamReader.prototype, \"mBuffer\", {\n get: function () {\n return this.tBuffer;\n },\n set: function (value) {\n this.tBuffer = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Initializes compressor and writes ZLib header if needed.\n * @param {boolean} noWrap - optional if true, ZLib header and checksum will not be written.\n */\n /// \n /// Reads specified count of bits without adjusting position.\n /// \n /// Count of bits to be read.\n /// Read value.\n CompressedStreamReader.prototype.peekBits = function (count) {\n if (count < 0) {\n throw new DOMException('count', 'Bits count can not be less than zero.');\n }\n if (count > 32) {\n throw new DOMException('count', 'Count of bits is too large.');\n }\n // If buffered data is not enough to give result,\n // fill buffer.\n if (this.mBufferedBits < count) {\n this.fillBuffer();\n }\n // If you want to read 4 bytes and there is partial data in\n // buffer, than you will fail.\n if (this.mBufferedBits < count) {\n return -1;\n }\n // Create bitmask for reading of count bits\n var bitMask = ~(4294967295 << count);\n var result = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterUintToInt32(this.mBuffer & bitMask);\n //Debug.WriteLine( /*new string( ' ', 32 - mBufferedBits + (int)( ( 32 - mBufferedBits ) / 8 ) ) + BitsToString( (int)mBuffer, mBufferedBits ) + \" \" + BitsToString( result, count ) +*/ \" \" + result.ToString() );\n return result;\n };\n CompressedStreamReader.prototype.fillBuffer = function () {\n var length = 4 - (this.mBufferedBits >> 3) -\n (((this.mBufferedBits & 7) !== 0) ? 1 : 0);\n if (length === 0) {\n return;\n }\n //TODO: fix this\n var bytesRead = this.mInputStream.read(this.mTempBuffer, 0, length);\n for (var i = 0; i < bytesRead; i++) {\n this.mBuffer = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mBuffer |\n (_utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mTempBuffer[i] << this.mBufferedBits)));\n this.mBufferedBits += 8;\n }\n //TODO: fix this\n };\n /// \n /// Skips specified count of bits.\n /// \n /// Count of bits to be skipped.\n CompressedStreamReader.prototype.skipBits = function (count) {\n if (count < 0) {\n throw new DOMException('count', 'Bits count can not be less than zero.');\n }\n if (count === 0) {\n return;\n }\n if (count >= this.mBufferedBits) {\n count -= this.mBufferedBits;\n this.mBufferedBits = 0;\n this.mBuffer = 0;\n // if something left, skip it.\n if (count > 0) {\n // Skip entire bytes.\n this.mInputStream.position += (count >> 3); //TODO: fix this\n count &= 7;\n // Skip bits.\n if (count > 0) {\n this.fillBuffer();\n this.mBufferedBits -= count;\n this.mBuffer = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mBuffer >>> count);\n }\n }\n }\n else {\n this.mBufferedBits -= count;\n this.mBuffer = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mBuffer >>> count);\n }\n };\n Object.defineProperty(CompressedStreamReader.prototype, \"availableBits\", {\n get: function () {\n return this.mBufferedBits;\n },\n enumerable: true,\n configurable: true\n });\n /// \n /// Reads ZLib header with compression method and flags.\n /// \n CompressedStreamReader.prototype.readZLibHeader = function () {\n // first 8 bits - compression Method and flags\n // 8 other - flags\n var header = this.readInt16();\n //Debug.WriteLine( BitsToString( header ) );\n if (header === -1) {\n throw new DOMException('Header of the stream can not be read.');\n }\n if (header % 31 !== 0) {\n throw new DOMException('Header checksum illegal');\n }\n if ((header & this.DEF_HEADER_METHOD_MASK) !== (8 << 8)) {\n throw new DOMException('Unsupported compression method.');\n }\n this.mWindowSize = Math.pow(2, ((header & this.DEF_HEADER_INFO_MASK) >> 12) + 8);\n if (this.mWindowSize > 65535) {\n throw new DOMException('Unsupported window size for deflate compression method.');\n }\n if ((header & this.DEF_HEADER_FLAGS_FDICT) >> 5 === 1) {\n // Get dictionary.\n throw new DOMException('Custom dictionary is not supported at the moment.');\n }\n };\n /// \n /// TODO: place correct comment here\n /// \n /// \n /// TODO: place correct comment here\n /// \n CompressedStreamReader.prototype.readInt16 = function () {\n var result = (this.readBits(8) << 8);\n result |= this.readBits(8);\n return result;\n };\n /// \n /// Reads specified count of bits from stream.\n /// \n /// Count of bits to be read.\n /// \n /// TODO: place correct comment here\n /// \n CompressedStreamReader.prototype.readBits = function (count) {\n var result = this.peekBits(count);\n if (result === -1) {\n return -1;\n }\n this.mBufferedBits -= count;\n this.mBuffer = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mBuffer >>> count);\n return result;\n };\n /// \n /// Reads and decodes block of data.\n /// \n /// True if buffer was empty and new data was read, otherwise - False.\n CompressedStreamReader.prototype.decodeBlockHeader = function () {\n if (!this.mbCanReadNextBlock) {\n return false;\n }\n var bFinalBlock = this.readBits(1);\n if (bFinalBlock === -1) {\n return false;\n }\n var blockType = this.readBits(2);\n if (blockType === -1) {\n return false;\n }\n this.mbCanReadNextBlock = (bFinalBlock === 0);\n // ChecksumReset();\n switch (blockType) {\n case 0:\n // Uncompressed data\n this.mbReadingUncompressed = true;\n this.skipToBoundary();\n var length_1 = this.readInt16Inverted();\n var lengthComplement = this.readInt16Inverted();\n if (length_1 !== (lengthComplement ^ 0xffff)) {\n throw new DOMException('Wrong block length.');\n }\n if (length_1 > 65535) {\n throw new DOMException('Uncompressed block length can not be more than 65535.');\n }\n this.mUncompressedDataLength = length_1;\n this.mCurrentLengthTree = null;\n this.mCurrentDistanceTree = null;\n break;\n case 1:\n // Compressed data with fixed huffman codes.\n this.mbReadingUncompressed = false;\n this.mUncompressedDataLength = -1;\n this.mCurrentLengthTree = _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__.DecompressorHuffmanTree.lengthTree;\n this.mCurrentDistanceTree = _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__.DecompressorHuffmanTree.distanceTree;\n break;\n case 2:\n // Compressed data with dynamic huffman codes.\n this.mbReadingUncompressed = false;\n this.mUncompressedDataLength = -1;\n var trees = this.decodeDynamicHeader(this.mCurrentLengthTree, this.mCurrentDistanceTree);\n this.mCurrentLengthTree = trees.lengthTree;\n this.mCurrentDistanceTree = trees.distanceTree;\n break;\n default:\n throw new DOMException('Wrong block type.');\n }\n return true;\n };\n /// \n /// Discards left-most partially used byte.\n /// \n CompressedStreamReader.prototype.skipToBoundary = function () {\n this.mBuffer = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mBuffer >>> (this.mBufferedBits & 7));\n this.mBufferedBits &= ~7;\n };\n /// \n /// TODO: place correct comment here\n /// \n /// \n /// TODO: place correct comment here\n /// \n CompressedStreamReader.prototype.readInt16Inverted = function () {\n var result = (this.readBits(8));\n result |= this.readBits(8) << 8;\n return result;\n };\n /// \n /// Reades dynamic huffman codes from block header.\n /// \n /// Literals/Lengths tree.\n /// Distances tree.\n CompressedStreamReader.prototype.decodeDynamicHeader = function (lengthTree, distanceTree) {\n var bLastSymbol = 0;\n var iLengthsCount = this.readBits(5);\n var iDistancesCount = this.readBits(5);\n var iCodeLengthsCount = this.readBits(4);\n if (iLengthsCount < 0 || iDistancesCount < 0 || iCodeLengthsCount < 0) {\n throw new DOMException('Wrong dynamic huffman codes.');\n }\n iLengthsCount += 257;\n iDistancesCount += 1;\n var iResultingCodeLengthsCount = iLengthsCount + iDistancesCount;\n var arrResultingCodeLengths = new Uint8Array(iResultingCodeLengthsCount);\n var arrDecoderCodeLengths = new Uint8Array(19);\n iCodeLengthsCount += 4;\n var iCurrentCode = 0;\n while (iCurrentCode < iCodeLengthsCount) {\n var len = this.readBits(3);\n if (len < 0) {\n throw new DOMException('Wrong dynamic huffman codes.');\n }\n arrDecoderCodeLengths[this.defaultHuffmanDynamicTree[iCurrentCode++]] = len;\n }\n var treeInternalDecoder = new _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__.DecompressorHuffmanTree(arrDecoderCodeLengths);\n iCurrentCode = 0;\n for (;;) {\n var symbol = void 0;\n var bNeedBreak = false;\n symbol = treeInternalDecoder.unpackSymbol(this);\n while ((symbol & ~15) === 0) {\n arrResultingCodeLengths[iCurrentCode++] = bLastSymbol = symbol;\n if (iCurrentCode === iResultingCodeLengthsCount) {\n bNeedBreak = true;\n break;\n }\n symbol = treeInternalDecoder.unpackSymbol(this);\n }\n if (bNeedBreak) {\n break;\n }\n if (symbol < 0) {\n throw new DOMException('Wrong dynamic huffman codes.');\n }\n if (symbol >= 17) {\n bLastSymbol = 0;\n }\n else if (iCurrentCode === 0) {\n throw new DOMException('Wrong dynamic huffman codes.');\n }\n var miRepSymbol = symbol - 16;\n var bits = CompressedStreamReader.DEF_HUFFMAN_DYNTREE_REPEAT_BITS[miRepSymbol];\n var count = this.readBits(bits);\n if (count < 0) {\n throw new DOMException('Wrong dynamic huffman codes.');\n }\n count += CompressedStreamReader.DEF_HUFFMAN_DYNTREE_REPEAT_MINIMUMS[miRepSymbol];\n if (iCurrentCode + count > iResultingCodeLengthsCount) {\n throw new DOMException('Wrong dynamic huffman codes.');\n }\n while (count-- > 0) {\n arrResultingCodeLengths[iCurrentCode++] = bLastSymbol;\n }\n if (iCurrentCode === iResultingCodeLengthsCount) {\n break;\n }\n }\n var tempArray = new Uint8Array(iLengthsCount);\n tempArray.set(arrResultingCodeLengths.subarray(0, iLengthsCount), 0);\n //sourceArray, sourceIndex, destinationArray, destinationIndex, length\n //Array.copy( arrResultingCodeLengths, 0, tempArray, 0, iLengthsCount );\n lengthTree = new _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__.DecompressorHuffmanTree(tempArray);\n tempArray = arrResultingCodeLengths.slice(iLengthsCount, iLengthsCount + iDistancesCount);\n //Array.copy( arrResultingCodeLengths, iLengthsCount, tempArray, 0, iDistancesCount );\n distanceTree = new _decompressor_huffman_tree__WEBPACK_IMPORTED_MODULE_0__.DecompressorHuffmanTree(tempArray);\n return { 'lengthTree': lengthTree, 'distanceTree': distanceTree };\n };\n /// \n /// Decodes huffman codes.\n /// \n /// True if some data was read.\n CompressedStreamReader.prototype.readHuffman = function () {\n var free = this.DEF_MAX_WINDOW_SIZE - (this.mDataLength - this.mCurrentPosition);\n var dataRead = false;\n //long maxdistance = DEF_MAX_WINDOW_SIZE >> 1;\n var readdata = {};\n // DEF_HUFFMAN_REPEATE_MAX - longest repeatable block, we should always reserve space for it because\n // if we should not, we will have buffer overrun.\n while (free >= this.DEF_HUFFMAN_REPEATE_MAX) {\n var symbol = void 0;\n symbol = this.mCurrentLengthTree.unpackSymbol(this);\n // Only codes 0..255 are valid independent symbols.\n while (((symbol) & ~0xff) === 0) {\n readdata[(this.mDataLength + 1) % this.DEF_MAX_WINDOW_SIZE] = symbol;\n this.mBlockBuffer[this.mDataLength++ % this.DEF_MAX_WINDOW_SIZE] = symbol;\n dataRead = true;\n if (--free < this.DEF_HUFFMAN_REPEATE_MAX) {\n return true;\n }\n //if( (mDataLength - mCurrentPosition ) < maxdistance ) return true;\n symbol = this.mCurrentLengthTree.unpackSymbol(this);\n }\n if (symbol < this.DEF_HUFFMAN_LENGTH_MINIMUMCODE) {\n if (symbol < this.DEF_HUFFMAN_END_BLOCK) {\n throw new DOMException('Illegal code.');\n }\n var numDataRead = dataRead ? 1 : 0;\n this.mbCanReadMoreData = this.decodeBlockHeader();\n var numReadMore = (this.mbCanReadMoreData) ? 1 : 0;\n return (numDataRead | numReadMore) ? true : false;\n }\n if (symbol > this.DEF_HUFFMAN_LENGTH_MAXIMUMCODE) {\n throw new DOMException('Illegal repeat code length.');\n }\n var iRepeatLength = CompressedStreamReader.DEF_HUFFMAN_REPEAT_LENGTH_BASE[symbol -\n this.DEF_HUFFMAN_LENGTH_MINIMUMCODE];\n var iRepeatExtraBits = CompressedStreamReader.DEF_HUFFMAN_REPEAT_LENGTH_EXTENSION[symbol -\n this.DEF_HUFFMAN_LENGTH_MINIMUMCODE];\n if (iRepeatExtraBits > 0) {\n var extra = this.readBits(iRepeatExtraBits);\n if (extra < 0) {\n throw new DOMException('Wrong data.');\n }\n iRepeatLength += extra;\n }\n // Unpack repeat distance.\n symbol = this.mCurrentDistanceTree.unpackSymbol(this);\n if (symbol < 0 || symbol > CompressedStreamReader.DEF_HUFFMAN_REPEAT_DISTANCE_BASE.length) {\n throw new DOMException('Wrong distance code.');\n }\n var iRepeatDistance = CompressedStreamReader.DEF_HUFFMAN_REPEAT_DISTANCE_BASE[symbol];\n iRepeatExtraBits = CompressedStreamReader.DEF_HUFFMAN_REPEAT_DISTANCE_EXTENSION[symbol];\n if (iRepeatExtraBits > 0) {\n var extra = this.readBits(iRepeatExtraBits);\n if (extra < 0) {\n throw new DOMException('Wrong data.');\n }\n iRepeatDistance += extra;\n }\n // Copy data in slow repeat mode\n for (var i = 0; i < iRepeatLength; i++) {\n this.mBlockBuffer[this.mDataLength % this.DEF_MAX_WINDOW_SIZE] =\n this.mBlockBuffer[(this.mDataLength - iRepeatDistance) % this.DEF_MAX_WINDOW_SIZE];\n this.mDataLength++;\n free--;\n }\n dataRead = true;\n }\n return dataRead;\n };\n /// \n /// Reads data to buffer.\n /// \n /// Output buffer for data.\n /// Offset in output data.\n /// Length of the data to be read.\n /// Count of bytes actually read.\n CompressedStreamReader.prototype.read = function (buffer, offset, length) {\n if (buffer == null) {\n throw new DOMException('buffer');\n }\n if (offset < 0 || offset > buffer.length - 1) {\n throw new DOMException('offset', 'Offset does not belong to specified buffer.');\n }\n if (length < 0 || length > buffer.length - offset) {\n throw new DOMException('length', 'Length is illegal.');\n }\n var initialLength = length;\n while (length > 0) {\n // Read from internal buffer.\n if (this.mCurrentPosition < this.mDataLength) {\n // Position in buffer array.\n var inBlockPosition = (this.mCurrentPosition % this.DEF_MAX_WINDOW_SIZE);\n // We can not read more than we have in buffer at once,\n // and we not read more than till the array end.\n var dataToCopy = Math.min(this.DEF_MAX_WINDOW_SIZE - inBlockPosition, (this.mDataLength - this.mCurrentPosition));\n // Reading not more, than the rest of the buffer.\n dataToCopy = Math.min(dataToCopy, length);\n //sourceArray, sourceIndex, destinationArray, destinationIndex, length\n // Copy data.\n //Array.Copy( mBlockBuffer, inBlockPosition, buffer, offset, dataToCopy );\n //buffer.set(this.mBlockBuffer.slice(inBlockPosition, dataToCopy), offset);\n _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.arrayCopy(this.mBlockBuffer, inBlockPosition, buffer, offset, dataToCopy);\n // Correct position, length,\n this.mCurrentPosition += dataToCopy;\n offset += dataToCopy;\n length -= dataToCopy;\n }\n else {\n if (!this.mbCanReadMoreData) {\n break;\n }\n var oldDataLength = this.mDataLength;\n if (!this.mbReadingUncompressed) {\n if (!this.readHuffman()) {\n break;\n }\n }\n else {\n if (this.mUncompressedDataLength === 0) {\n // If there is no more data in stream, just exit.\n this.mbCanReadMoreData = this.decodeBlockHeader();\n if (!(this.mbCanReadMoreData)) {\n break;\n }\n }\n else {\n // Position of the data end in block buffer.\n var inBlockPosition = (this.mDataLength % this.DEF_MAX_WINDOW_SIZE);\n var dataToRead = Math.min(this.mUncompressedDataLength, this.DEF_MAX_WINDOW_SIZE - inBlockPosition);\n var dataRead = this.readPackedBytes(this.mBlockBuffer, inBlockPosition, dataToRead);\n if (dataToRead !== dataRead) {\n throw new DOMException('Not enough data in stream.');\n }\n this.mUncompressedDataLength -= dataRead;\n this.mDataLength += dataRead;\n }\n }\n if (oldDataLength < this.mDataLength) {\n var start = (oldDataLength % this.DEF_MAX_WINDOW_SIZE);\n var end = (this.mDataLength % this.DEF_MAX_WINDOW_SIZE);\n if (start < end) {\n this.checksumUpdate(this.mBlockBuffer, start, end - start);\n }\n else {\n this.checksumUpdate(this.mBlockBuffer, start, this.DEF_MAX_WINDOW_SIZE - start);\n if (end > 0) {\n this.checksumUpdate(this.mBlockBuffer, 0, end);\n }\n }\n }\n }\n }\n if (!this.mbCanReadMoreData && !this.mbCheckSumRead && !this.mbNoWrap) {\n this.skipToBoundary();\n var checkSum = this.readInt32();\n //Debug.Assert( checkSum == mCheckSum, \"\" );\n if (checkSum !== this.mCheckSum) {\n throw new DOMException('Checksum check failed.');\n }\n this.mbCheckSumRead = true;\n }\n return initialLength - length;\n };\n /// \n /// Reads array of bytes.\n /// \n /// Output buffer.\n /// Offset in output buffer.\n /// Length of the data to be read.\n /// Count of bytes actually read to the buffer.\n CompressedStreamReader.prototype.readPackedBytes = function (buffer, offset, length) {\n if (buffer == null) {\n throw new DOMException('buffer');\n }\n if (offset < 0 || offset > buffer.length - 1) {\n throw new DOMException('offset\", \"Offset can not be less than zero or greater than buffer length - 1.');\n }\n if (length < 0) {\n throw new DOMException('length\", \"Length can not be less than zero.');\n }\n if (length > buffer.length - offset) {\n throw new DOMException('length\", \"Length is too large.');\n }\n if ((this.mBufferedBits & 7) !== 0) {\n throw new DOMException('Reading of unalligned data is not supported.');\n }\n if (length === 0) {\n return 0;\n }\n var result = 0;\n while (this.mBufferedBits > 0 && length > 0) {\n buffer[offset++] = (this.mBuffer);\n this.mBufferedBits -= 8;\n this.mBuffer = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterInt32ToUint(this.mBuffer >>> 8);\n length--;\n result++;\n }\n if (length > 0) {\n //TODO: Fix this.\n result += this.mInputStream.read(buffer, offset, length);\n }\n return result;\n };\n /// \n /// TODO: place correct comment here\n /// \n /// \n /// TODO: place correct comment here\n /// \n CompressedStreamReader.prototype.readInt32 = function () {\n var result = this.readBits(8) << 24;\n result |= this.readBits(8) << 16;\n result |= this.readBits(8) << 8;\n result |= this.readBits(8);\n return result;\n };\n /// \n /// Updates checksum by calculating checksum of the\n /// given buffer and adding it to current value.\n /// \n /// Data byte array.\n /// Offset in the buffer.\n /// Length of data to be used from the stream.\n CompressedStreamReader.prototype.checksumUpdate = function (buffer, offset, length) {\n _checksum_calculator__WEBPACK_IMPORTED_MODULE_2__.ChecksumCalculator.ChecksumUpdate(this.mCheckSum, buffer, offset, length);\n };\n CompressedStreamReader.DEF_REVERSE_BITS = new Uint8Array([0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]);\n /// \n /// Minimum count of repetions.\n /// \n CompressedStreamReader.DEF_HUFFMAN_DYNTREE_REPEAT_MINIMUMS = [3, 3, 11];\n /// \n /// Bits, that responds for different repetion modes.\n /// \n CompressedStreamReader.DEF_HUFFMAN_DYNTREE_REPEAT_BITS = [2, 3, 7];\n /// \n /// Length bases.\n /// \n CompressedStreamReader.DEF_HUFFMAN_REPEAT_LENGTH_BASE = [\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258\n ];\n /// \n /// Length extended bits count.\n /// \n CompressedStreamReader.DEF_HUFFMAN_REPEAT_LENGTH_EXTENSION = [\n 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,\n 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0\n ];\n /// \n /// Distance bases.\n /// \n CompressedStreamReader.DEF_HUFFMAN_REPEAT_DISTANCE_BASE = [\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577\n ];\n /// \n /// Distance extanded bits count.\n /// \n CompressedStreamReader.DEF_HUFFMAN_REPEAT_DISTANCE_EXTENSION = [\n 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,\n 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,\n 12, 12, 13, 13\n ];\n return CompressedStreamReader;\n}());\n\nvar Stream = /** @class */ (function () {\n function Stream(input) {\n this.position = 0;\n this.inputStream = new Uint8Array(input.buffer);\n }\n Object.defineProperty(Stream.prototype, \"length\", {\n get: function () {\n return this.inputStream.buffer.byteLength;\n },\n enumerable: true,\n configurable: true\n });\n Stream.prototype.read = function (buffer, start, length) {\n var temp = new Uint8Array(this.inputStream.buffer, this.position + start);\n var data = temp.subarray(0, length);\n buffer.set(data, 0);\n this.position += data.byteLength;\n return data.byteLength;\n };\n Stream.prototype.readByte = function () {\n return this.inputStream[this.position++];\n };\n Stream.prototype.write = function (inputBuffer, offset, count) {\n _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.arrayCopy(inputBuffer, 0, this.inputStream, this.position + offset, count);\n // this.inputStream = new Uint8Array(this.inputStream.buffer, this.position + offset);\n // this.inputStream.set(inputBuffer, offset);\n this.position += count;\n };\n Stream.prototype.toByteArray = function () {\n return new Uint8Array(this.inputStream.buffer);\n };\n return Stream;\n}());\n\n/* eslint-enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-compression/src/compression-reader.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-compression/src/compression-writer.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-compression/src/compression-writer.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChecksumCalculator: () => (/* binding */ ChecksumCalculator),\n/* harmony export */ CompressedStreamWriter: () => (/* binding */ CompressedStreamWriter),\n/* harmony export */ CompressorHuffmanTree: () => (/* binding */ CompressorHuffmanTree)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-file-utils */ \"./node_modules/@syncfusion/ej2-file-utils/src/encoding.js\");\n/* eslint-disable */\n\n/**\n * array literal codes\n */\nvar ARR_LITERAL_CODES = new Int16Array(286);\nvar ARR_LITERAL_LENGTHS = new Uint8Array(286);\nvar ARR_DISTANCE_CODES = new Int16Array(30);\nvar ARR_DISTANCE_LENGTHS = new Uint8Array(30);\n/**\n * represent compression stream writer\n * ```typescript\n * let compressedWriter = new CompressedStreamWriter();\n * let text: string = 'Hello world!!!';\n * compressedWriter.write(text, 0, text.length);\n * compressedWriter.close();\n * ```\n */\nvar CompressedStreamWriter = /** @class */ (function () {\n /**\n * Initializes compressor and writes ZLib header if needed.\n * @param {boolean} noWrap - optional if true, ZLib header and checksum will not be written.\n */\n function CompressedStreamWriter(noWrap) {\n this.pendingBuffer = new Uint8Array(1 << 16);\n this.pendingBufLength = 0;\n this.pendingBufCache = 0;\n this.pendingBufBitsInCache = 0;\n this.bufferPosition = 0;\n this.extraBits = 0;\n this.currentHash = 0;\n this.matchStart = 0;\n this.matchLength = 0;\n this.matchPrevAvail = false;\n this.blockStart = 0;\n this.stringStart = 0;\n this.lookAhead = 0;\n this.totalBytesIn = 0;\n this.inputOffset = 0;\n this.inputEnd = 0;\n this.windowSize = 1 << 15;\n this.windowMask = this.windowSize - 1;\n this.hashSize = 1 << 15;\n this.hashMask = this.hashSize - 1;\n this.hashShift = Math.floor((15 + 3 - 1) / 3);\n this.maxDist = this.windowSize - 262;\n this.checkSum = 1;\n this.noWrap = false;\n if (!CompressedStreamWriter.isHuffmanTreeInitiated) {\n CompressedStreamWriter.initHuffmanTree();\n CompressedStreamWriter.isHuffmanTreeInitiated = true;\n }\n this.treeLiteral = new CompressorHuffmanTree(this, 286, 257, 15);\n this.treeDistances = new CompressorHuffmanTree(this, 30, 1, 15);\n this.treeCodeLengths = new CompressorHuffmanTree(this, 19, 4, 7);\n this.arrDistances = new Uint16Array((1 << 14));\n this.arrLiterals = new Uint8Array((1 << 14));\n this.stream = [];\n this.dataWindow = new Uint8Array(2 * this.windowSize);\n this.hashHead = new Int16Array(this.hashSize);\n this.hashPrevious = new Int16Array(this.windowSize);\n this.blockStart = this.stringStart = 1;\n this.noWrap = noWrap;\n if (!noWrap) {\n this.writeZLibHeader();\n }\n }\n Object.defineProperty(CompressedStreamWriter.prototype, \"compressedData\", {\n /**\n * get compressed data\n */\n get: function () {\n return this.stream;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompressedStreamWriter.prototype, \"getCompressedString\", {\n get: function () {\n var compressedString = '';\n if (this.stream !== undefined) {\n for (var i = 0; i < this.stream.length; i++) {\n compressedString += String.fromCharCode.apply(null, this.stream[i]);\n }\n }\n return compressedString;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Compresses data and writes it to the stream.\n * @param {Uint8Array} data - data to compress\n * @param {number} offset - offset in data\n * @param {number} length - length of the data\n * @returns {void}\n */\n CompressedStreamWriter.prototype.write = function (data, offset, length) {\n if (data === undefined || data === null) {\n throw new Error('ArgumentException: data cannot null or undefined');\n }\n var end = offset + length;\n if (0 > offset || offset > end || end > data.length) {\n throw new Error('ArgumentOutOfRangeException: Offset or length is incorrect');\n }\n if (typeof data === 'string') {\n var encode = new _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_0__.Encoding(false);\n encode.type = 'Utf8';\n data = new Uint8Array(encode.getBytes(data, 0, data.length));\n end = offset + data.length;\n }\n this.inputBuffer = data;\n this.inputOffset = offset;\n this.inputEnd = end;\n if (!this.noWrap) {\n this.checkSum = ChecksumCalculator.checksumUpdate(this.checkSum, this.inputBuffer, this.inputOffset, end);\n }\n while (!(this.inputEnd === this.inputOffset) || !(this.pendingBufLength === 0)) {\n this.pendingBufferFlush();\n this.compressData(false);\n }\n };\n /**\n * write ZLib header to the compressed data\n * @return {void}\n */\n CompressedStreamWriter.prototype.writeZLibHeader = function () {\n /* Initialize header.*/\n var headerDate = (8 + (7 << 4)) << 8;\n /* Save compression level.*/\n headerDate |= ((5 >> 2) & 3) << 6;\n /* Align header.*/\n headerDate += 31 - (headerDate % 31);\n /* Write header to stream.*/\n this.pendingBufferWriteShortBytes(headerDate);\n };\n /**\n * Write Most Significant Bytes in to stream\n * @param {number} s - check sum value\n */\n CompressedStreamWriter.prototype.pendingBufferWriteShortBytes = function (s) {\n this.pendingBuffer[this.pendingBufLength++] = s >> 8;\n this.pendingBuffer[this.pendingBufLength++] = s;\n };\n CompressedStreamWriter.prototype.compressData = function (finish) {\n var success;\n do {\n this.fillWindow();\n var canFlush = (finish && this.inputEnd === this.inputOffset);\n success = this.compressSlow(canFlush, finish);\n } while (this.pendingBufLength === 0 && success);\n return success;\n };\n CompressedStreamWriter.prototype.compressSlow = function (flush, finish) {\n if (this.lookAhead < 262 && !flush) {\n return false;\n }\n while (this.lookAhead >= 262 || flush) {\n if (this.lookAhead === 0) {\n return this.lookAheadCompleted(finish);\n }\n if (this.stringStart >= 2 * this.windowSize - 262) {\n this.slideWindow();\n }\n var prevMatch = this.matchStart;\n var prevLen = this.matchLength;\n if (this.lookAhead >= 3) {\n this.discardMatch();\n }\n if (prevLen >= 3 && this.matchLength <= prevLen) {\n prevLen = this.matchPreviousBest(prevMatch, prevLen);\n }\n else {\n this.matchPreviousAvailable();\n }\n if (this.bufferPosition >= (1 << 14)) {\n return this.huffmanIsFull(finish);\n }\n }\n return true;\n };\n CompressedStreamWriter.prototype.discardMatch = function () {\n var hashHead = this.insertString();\n if (hashHead !== 0 && this.stringStart - hashHead <= this.maxDist && this.findLongestMatch(hashHead)) {\n if (this.matchLength <= 5 && (this.matchLength === 3 && this.stringStart - this.matchStart > 4096)) {\n this.matchLength = 3 - 1;\n }\n }\n };\n CompressedStreamWriter.prototype.matchPreviousAvailable = function () {\n if (this.matchPrevAvail) {\n this.huffmanTallyLit(this.dataWindow[this.stringStart - 1] & 0xff);\n }\n this.matchPrevAvail = true;\n this.stringStart++;\n this.lookAhead--;\n };\n CompressedStreamWriter.prototype.matchPreviousBest = function (prevMatch, prevLen) {\n this.huffmanTallyDist(this.stringStart - 1 - prevMatch, prevLen);\n prevLen -= 2;\n do {\n this.stringStart++;\n this.lookAhead--;\n if (this.lookAhead >= 3) {\n this.insertString();\n }\n } while (--prevLen > 0);\n this.stringStart++;\n this.lookAhead--;\n this.matchPrevAvail = false;\n this.matchLength = 3 - 1;\n return prevLen;\n };\n CompressedStreamWriter.prototype.lookAheadCompleted = function (finish) {\n if (this.matchPrevAvail) {\n this.huffmanTallyLit(this.dataWindow[this.stringStart - 1] & 0xff);\n }\n this.matchPrevAvail = false;\n this.huffmanFlushBlock(this.dataWindow, this.blockStart, this.stringStart - this.blockStart, finish);\n this.blockStart = this.stringStart;\n return false;\n };\n CompressedStreamWriter.prototype.huffmanIsFull = function (finish) {\n var len = this.stringStart - this.blockStart;\n if (this.matchPrevAvail) {\n len--;\n }\n var lastBlock = (finish && this.lookAhead === 0 && !this.matchPrevAvail);\n this.huffmanFlushBlock(this.dataWindow, this.blockStart, len, lastBlock);\n this.blockStart += len;\n return !lastBlock;\n };\n CompressedStreamWriter.prototype.fillWindow = function () {\n if (this.stringStart >= this.windowSize + this.maxDist) {\n this.slideWindow();\n }\n while (this.lookAhead < 262 && this.inputOffset < this.inputEnd) {\n var more = 2 * this.windowSize - this.lookAhead - this.stringStart;\n if (more > this.inputEnd - this.inputOffset) {\n more = this.inputEnd - this.inputOffset;\n }\n this.dataWindow.set(this.inputBuffer.subarray(this.inputOffset, this.inputOffset + more), this.stringStart + this.lookAhead);\n this.inputOffset += more;\n this.totalBytesIn += more;\n this.lookAhead += more;\n }\n if (this.lookAhead >= 3) {\n this.updateHash();\n }\n };\n CompressedStreamWriter.prototype.slideWindow = function () {\n this.dataWindow.set(this.dataWindow.subarray(this.windowSize, this.windowSize + this.windowSize), 0);\n this.matchStart -= this.windowSize;\n this.stringStart -= this.windowSize;\n this.blockStart -= this.windowSize;\n for (var i = 0; i < this.hashSize; ++i) {\n var m = this.hashHead[i] & 0xffff;\n this.hashHead[i] = (((m >= this.windowSize) ? (m - this.windowSize) : 0));\n }\n for (var i = 0; i < this.windowSize; i++) {\n var m = this.hashPrevious[i] & 0xffff;\n this.hashPrevious[i] = ((m >= this.windowSize) ? (m - this.windowSize) : 0);\n }\n };\n CompressedStreamWriter.prototype.insertString = function () {\n var match;\n var hash = ((this.currentHash << this.hashShift) ^ this.dataWindow[this.stringStart + (3 - 1)]) & this.hashMask;\n this.hashPrevious[this.stringStart & this.windowMask] = match = this.hashHead[hash];\n this.hashHead[hash] = this.stringStart;\n this.currentHash = hash;\n return match & 0xffff;\n };\n CompressedStreamWriter.prototype.findLongestMatch = function (curMatch) {\n var chainLen = 4096;\n var niceLen = 258;\n var scan = this.stringStart;\n var match;\n var bestEnd = this.stringStart + this.matchLength;\n var bestLength = Math.max(this.matchLength, 3 - 1);\n var limit = Math.max(this.stringStart - this.maxDist, 0);\n var stringEnd = this.stringStart + 258 - 1;\n var scanEnd1 = this.dataWindow[bestEnd - 1];\n var scanEnd = this.dataWindow[bestEnd];\n var data = this.dataWindow;\n if (bestLength >= 32) {\n chainLen >>= 2;\n }\n if (niceLen > this.lookAhead) {\n niceLen = this.lookAhead;\n }\n do {\n if (data[curMatch + bestLength] !== scanEnd ||\n data[curMatch + bestLength - 1] !== scanEnd1 ||\n data[curMatch] !== data[scan] ||\n data[curMatch + 1] !== data[scan + 1]) {\n continue;\n }\n match = curMatch + 2;\n scan += 2;\n /* tslint:disable */\n while (data[++scan] === data[++match] && data[++scan] === data[++match] &&\n data[++scan] === data[++match] && data[++scan] === data[++match] &&\n data[++scan] === data[++match] && data[++scan] === data[++match] &&\n data[++scan] === data[++match] && data[++scan] === data[++match] && scan < stringEnd) {\n /* tslint:disable */\n }\n if (scan > bestEnd) {\n this.matchStart = curMatch;\n bestEnd = scan;\n bestLength = scan - this.stringStart;\n if (bestLength >= niceLen) {\n break;\n }\n scanEnd1 = data[bestEnd - 1];\n scanEnd = data[bestEnd];\n }\n scan = this.stringStart;\n } while ((curMatch = (this.hashPrevious[curMatch & this.windowMask] & 0xffff)) > limit && --chainLen !== 0);\n this.matchLength = Math.min(bestLength, this.lookAhead);\n return this.matchLength >= 3;\n };\n CompressedStreamWriter.prototype.updateHash = function () {\n this.currentHash = (this.dataWindow[this.stringStart] << this.hashShift) ^ this.dataWindow[this.stringStart + 1];\n };\n CompressedStreamWriter.prototype.huffmanTallyLit = function (literal) {\n this.arrDistances[this.bufferPosition] = 0;\n this.arrLiterals[this.bufferPosition++] = literal;\n this.treeLiteral.codeFrequencies[literal]++;\n return this.bufferPosition >= (1 << 14);\n };\n CompressedStreamWriter.prototype.huffmanTallyDist = function (dist, len) {\n this.arrDistances[this.bufferPosition] = dist;\n this.arrLiterals[this.bufferPosition++] = (len - 3);\n var lc = this.huffmanLengthCode(len - 3);\n this.treeLiteral.codeFrequencies[lc]++;\n if (lc >= 265 && lc < 285) {\n this.extraBits += Math.floor((lc - 261) / 4);\n }\n var dc = this.huffmanDistanceCode(dist - 1);\n this.treeDistances.codeFrequencies[dc]++;\n if (dc >= 4) {\n this.extraBits += Math.floor((dc / 2 - 1));\n }\n return this.bufferPosition >= (1 << 14);\n };\n CompressedStreamWriter.prototype.huffmanFlushBlock = function (stored, storedOffset, storedLength, lastBlock) {\n this.treeLiteral.codeFrequencies[256]++;\n this.treeLiteral.buildTree();\n this.treeDistances.buildTree();\n this.treeLiteral.calculateBLFreq(this.treeCodeLengths);\n this.treeDistances.calculateBLFreq(this.treeCodeLengths);\n this.treeCodeLengths.buildTree();\n var blTreeCodes = 4;\n for (var i = 18; i > blTreeCodes; i--) {\n if (this.treeCodeLengths.codeLengths[CompressorHuffmanTree.huffCodeLengthOrders[i]] > 0) {\n blTreeCodes = i + 1;\n }\n }\n var opt_len = 14 + blTreeCodes * 3 + this.treeCodeLengths.getEncodedLength() +\n this.treeLiteral.getEncodedLength() + this.treeDistances.getEncodedLength() + this.extraBits;\n var static_len = this.extraBits;\n for (var i = 0; i < 286; i++) {\n static_len += this.treeLiteral.codeFrequencies[i] * ARR_LITERAL_LENGTHS[i];\n }\n for (var i = 0; i < 30; i++) {\n static_len += this.treeDistances.codeFrequencies[i] * ARR_DISTANCE_LENGTHS[i];\n }\n if (opt_len >= static_len) {\n // Force static trees.\n opt_len = static_len;\n }\n if (storedOffset >= 0 && storedLength + 4 < opt_len >> 3) {\n this.huffmanFlushStoredBlock(stored, storedOffset, storedLength, lastBlock);\n }\n else if (opt_len == static_len) {\n // Encode with static tree.\n this.pendingBufferWriteBits((1 << 1) + (lastBlock ? 1 : 0), 3);\n this.treeLiteral.setStaticCodes(ARR_LITERAL_CODES, ARR_LITERAL_LENGTHS);\n this.treeDistances.setStaticCodes(ARR_DISTANCE_CODES, ARR_DISTANCE_LENGTHS);\n this.huffmanCompressBlock();\n this.huffmanReset();\n }\n else {\n this.pendingBufferWriteBits((2 << 1) + (lastBlock ? 1 : 0), 3);\n this.huffmanSendAllTrees(blTreeCodes);\n this.huffmanCompressBlock();\n this.huffmanReset();\n }\n };\n CompressedStreamWriter.prototype.huffmanFlushStoredBlock = function (stored, storedOffset, storedLength, lastBlock) {\n this.pendingBufferWriteBits((0 << 1) + (lastBlock ? 1 : 0), 3);\n this.pendingBufferAlignToByte();\n this.pendingBufferWriteShort(storedLength);\n this.pendingBufferWriteShort(~storedLength);\n this.pendingBufferWriteByteBlock(stored, storedOffset, storedLength);\n this.huffmanReset();\n };\n CompressedStreamWriter.prototype.huffmanLengthCode = function (len) {\n if (len === 255) {\n return 285;\n }\n var code = 257;\n while (len >= 8) {\n code += 4;\n len >>= 1;\n }\n return code + len;\n };\n CompressedStreamWriter.prototype.huffmanDistanceCode = function (distance) {\n var code = 0;\n while (distance >= 4) {\n code += 2;\n distance >>= 1;\n }\n return code + distance;\n };\n CompressedStreamWriter.prototype.huffmanSendAllTrees = function (blTreeCodes) {\n this.treeCodeLengths.buildCodes();\n this.treeLiteral.buildCodes();\n this.treeDistances.buildCodes();\n this.pendingBufferWriteBits(this.treeLiteral.treeLength - 257, 5);\n this.pendingBufferWriteBits(this.treeDistances.treeLength - 1, 5);\n this.pendingBufferWriteBits(blTreeCodes - 4, 4);\n for (var rank = 0; rank < blTreeCodes; rank++) {\n this.pendingBufferWriteBits(this.treeCodeLengths.codeLengths[CompressorHuffmanTree.huffCodeLengthOrders[rank]], 3);\n }\n this.treeLiteral.writeTree(this.treeCodeLengths);\n this.treeDistances.writeTree(this.treeCodeLengths);\n };\n CompressedStreamWriter.prototype.huffmanReset = function () {\n this.bufferPosition = 0;\n this.extraBits = 0;\n this.treeLiteral.reset();\n this.treeDistances.reset();\n this.treeCodeLengths.reset();\n };\n CompressedStreamWriter.prototype.huffmanCompressBlock = function () {\n for (var i = 0; i < this.bufferPosition; i++) {\n var literalLen = this.arrLiterals[i] & 255;\n var dist = this.arrDistances[i];\n if (dist-- !== 0) {\n var lc = this.huffmanLengthCode(literalLen);\n this.treeLiteral.writeCodeToStream(lc);\n var bits = Math.floor((lc - 261) / 4);\n if (bits > 0 && bits <= 5) {\n this.pendingBufferWriteBits(literalLen & ((1 << bits) - 1), bits);\n }\n var dc = this.huffmanDistanceCode(dist);\n this.treeDistances.writeCodeToStream(dc);\n bits = Math.floor(dc / 2 - 1);\n if (bits > 0) {\n this.pendingBufferWriteBits(dist & ((1 << bits) - 1), bits);\n }\n }\n else {\n this.treeLiteral.writeCodeToStream(literalLen);\n }\n }\n this.treeLiteral.writeCodeToStream(256);\n };\n /**\n * write bits in to internal buffer\n * @param {number} b - source of bits\n * @param {number} count - count of bits to write\n */\n CompressedStreamWriter.prototype.pendingBufferWriteBits = function (b, count) {\n var uint = new Uint32Array(1);\n uint[0] = this.pendingBufCache | (b << this.pendingBufBitsInCache);\n this.pendingBufCache = uint[0];\n this.pendingBufBitsInCache += count;\n this.pendingBufferFlushBits();\n };\n CompressedStreamWriter.prototype.pendingBufferFlush = function (isClose) {\n this.pendingBufferFlushBits();\n if (this.pendingBufLength > 0) {\n var array = new Uint8Array(this.pendingBufLength);\n array.set(this.pendingBuffer.subarray(0, this.pendingBufLength), 0);\n this.stream.push(array);\n }\n this.pendingBufLength = 0;\n };\n CompressedStreamWriter.prototype.pendingBufferFlushBits = function () {\n var result = 0;\n while (this.pendingBufBitsInCache >= 8 && this.pendingBufLength < (1 << 16)) {\n this.pendingBuffer[this.pendingBufLength++] = this.pendingBufCache;\n this.pendingBufCache >>= 8;\n this.pendingBufBitsInCache -= 8;\n result++;\n }\n return result;\n };\n CompressedStreamWriter.prototype.pendingBufferWriteByteBlock = function (data, offset, length) {\n var array = data.subarray(offset, offset + length);\n this.pendingBuffer.set(array, this.pendingBufLength);\n this.pendingBufLength += length;\n };\n CompressedStreamWriter.prototype.pendingBufferWriteShort = function (s) {\n this.pendingBuffer[this.pendingBufLength++] = s;\n this.pendingBuffer[this.pendingBufLength++] = (s >> 8);\n };\n CompressedStreamWriter.prototype.pendingBufferAlignToByte = function () {\n if (this.pendingBufBitsInCache > 0) {\n this.pendingBuffer[this.pendingBufLength++] = this.pendingBufCache;\n }\n this.pendingBufCache = 0;\n this.pendingBufBitsInCache = 0;\n };\n /**\n * Huffman Tree literal calculation\n * @private\n */\n CompressedStreamWriter.initHuffmanTree = function () {\n var i = 0;\n while (i < 144) {\n ARR_LITERAL_CODES[i] = CompressorHuffmanTree.bitReverse((0x030 + i) << 8);\n ARR_LITERAL_LENGTHS[i++] = 8;\n }\n while (i < 256) {\n ARR_LITERAL_CODES[i] = CompressorHuffmanTree.bitReverse((0x190 - 144 + i) << 7);\n ARR_LITERAL_LENGTHS[i++] = 9;\n }\n while (i < 280) {\n ARR_LITERAL_CODES[i] = CompressorHuffmanTree.bitReverse((0x000 - 256 + i) << 9);\n ARR_LITERAL_LENGTHS[i++] = 7;\n }\n while (i < 286) {\n ARR_LITERAL_CODES[i] = CompressorHuffmanTree.bitReverse((0x0c0 - 280 + i) << 8);\n ARR_LITERAL_LENGTHS[i++] = 8;\n }\n for (i = 0; i < 30; i++) {\n ARR_DISTANCE_CODES[i] = CompressorHuffmanTree.bitReverse(i << 11);\n ARR_DISTANCE_LENGTHS[i] = 5;\n }\n };\n /**\n * close the stream and write all pending buffer in to stream\n * @returns {void}\n */\n CompressedStreamWriter.prototype.close = function () {\n do {\n this.pendingBufferFlush(true);\n if (!this.compressData(true)) {\n this.pendingBufferFlush(true);\n this.pendingBufferAlignToByte();\n if (!this.noWrap) {\n this.pendingBufferWriteShortBytes(this.checkSum >> 16);\n this.pendingBufferWriteShortBytes(this.checkSum & 0xffff);\n }\n this.pendingBufferFlush(true);\n }\n } while (!(this.inputEnd === this.inputOffset) ||\n !(this.pendingBufLength === 0));\n };\n /**\n * release allocated un-managed resource\n * @returns {void}\n */\n CompressedStreamWriter.prototype.destroy = function () {\n this.stream = [];\n this.stream = undefined;\n this.pendingBuffer = undefined;\n this.treeLiteral = undefined;\n this.treeDistances = undefined;\n this.treeCodeLengths = undefined;\n this.arrLiterals = undefined;\n this.arrDistances = undefined;\n this.hashHead = undefined;\n this.hashPrevious = undefined;\n this.dataWindow = undefined;\n this.inputBuffer = undefined;\n this.pendingBufLength = undefined;\n this.pendingBufCache = undefined;\n this.pendingBufBitsInCache = undefined;\n this.bufferPosition = undefined;\n this.extraBits = undefined;\n this.currentHash = undefined;\n this.matchStart = undefined;\n this.matchLength = undefined;\n this.matchPrevAvail = undefined;\n this.blockStart = undefined;\n this.stringStart = undefined;\n this.lookAhead = undefined;\n this.totalBytesIn = undefined;\n this.inputOffset = undefined;\n this.inputEnd = undefined;\n this.windowSize = undefined;\n this.windowMask = undefined;\n this.hashSize = undefined;\n this.hashMask = undefined;\n this.hashShift = undefined;\n this.maxDist = undefined;\n this.checkSum = undefined;\n this.noWrap = undefined;\n };\n CompressedStreamWriter.isHuffmanTreeInitiated = false;\n return CompressedStreamWriter;\n}());\n\n/**\n * represent the Huffman Tree\n */\nvar CompressorHuffmanTree = /** @class */ (function () {\n /**\n * Create new Huffman Tree\n * @param {CompressedStreamWriter} writer instance\n * @param {number} elementCount - element count\n * @param {number} minCodes - minimum count\n * @param {number} maxLength - maximum count\n */\n function CompressorHuffmanTree(writer, elementCount, minCodes, maxLength) {\n this.writer = writer;\n this.codeMinCount = minCodes;\n this.maxLength = maxLength;\n this.codeFrequency = new Uint16Array(elementCount);\n this.lengthCount = new Int32Array(maxLength);\n }\n Object.defineProperty(CompressorHuffmanTree.prototype, \"treeLength\", {\n get: function () {\n return this.codeCount;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompressorHuffmanTree.prototype, \"codeLengths\", {\n get: function () {\n return this.codeLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompressorHuffmanTree.prototype, \"codeFrequencies\", {\n get: function () {\n return this.codeFrequency;\n },\n enumerable: true,\n configurable: true\n });\n CompressorHuffmanTree.prototype.setStaticCodes = function (codes, lengths) {\n var temp = new Int16Array(codes.length);\n temp.set(codes, 0);\n this.codes = temp;\n var lengthTemp = new Uint8Array(lengths.length);\n lengthTemp.set(lengths, 0);\n this.codeLength = lengthTemp;\n };\n /**\n * reset all code data in tree\n * @returns {void}\n */\n CompressorHuffmanTree.prototype.reset = function () {\n for (var i = 0; i < this.codeFrequency.length; i++) {\n this.codeFrequency[i] = 0;\n }\n this.codes = undefined;\n this.codeLength = undefined;\n };\n /**\n * write code to the compressor output stream\n * @param {number} code - code to be written\n * @returns {void}\n */\n CompressorHuffmanTree.prototype.writeCodeToStream = function (code) {\n this.writer.pendingBufferWriteBits(this.codes[code] & 0xffff, this.codeLength[code]);\n };\n /**\n * calculate code from their frequencies\n * @returns {void}\n */\n CompressorHuffmanTree.prototype.buildCodes = function () {\n var nextCode = new Int32Array(this.maxLength);\n this.codes = new Int16Array(this.codeCount);\n var code = 0;\n for (var bitsCount = 0; bitsCount < this.maxLength; bitsCount++) {\n nextCode[bitsCount] = code;\n code += this.lengthCount[bitsCount] << (15 - bitsCount);\n }\n for (var i = 0; i < this.codeCount; i++) {\n var bits = this.codeLength[i];\n if (bits > 0) {\n this.codes[i] = CompressorHuffmanTree.bitReverse(nextCode[bits - 1]);\n nextCode[bits - 1] += 1 << (16 - bits);\n }\n }\n };\n CompressorHuffmanTree.bitReverse = function (value) {\n return (CompressorHuffmanTree.reverseBits[value & 15] << 12\n | CompressorHuffmanTree.reverseBits[(value >> 4) & 15] << 8\n | CompressorHuffmanTree.reverseBits[(value >> 8) & 15] << 4\n | CompressorHuffmanTree.reverseBits[value >> 12]);\n };\n /**\n * calculate length of compressed data\n * @returns {number}\n */\n CompressorHuffmanTree.prototype.getEncodedLength = function () {\n var len = 0;\n for (var i = 0; i < this.codeFrequency.length; i++) {\n len += this.codeFrequency[i] * this.codeLength[i];\n }\n return len;\n };\n /**\n * calculate code frequencies\n * @param {CompressorHuffmanTree} blTree\n * @returns {void}\n */\n CompressorHuffmanTree.prototype.calculateBLFreq = function (blTree) {\n var maxCount;\n var minCount;\n var count;\n var curLen = -1;\n var i = 0;\n while (i < this.codeCount) {\n count = 1;\n var nextLen = this.codeLength[i];\n if (nextLen === 0) {\n maxCount = 138;\n minCount = 3;\n }\n else {\n maxCount = 6;\n minCount = 3;\n if (curLen !== nextLen) {\n blTree.codeFrequency[nextLen]++;\n count = 0;\n }\n }\n curLen = nextLen;\n i++;\n while (i < this.codeCount && curLen === this.codeLength[i]) {\n i++;\n if (++count >= maxCount) {\n break;\n }\n }\n if (count < minCount) {\n blTree.codeFrequency[curLen] += count;\n }\n else if (curLen !== 0) {\n blTree.codeFrequency[16]++;\n }\n else if (count <= 10) {\n blTree.codeFrequency[17]++;\n }\n else {\n blTree.codeFrequency[18]++;\n }\n }\n };\n /**\n * @param {CompressorHuffmanTree} blTree - write tree to output stream\n * @returns {void}\n */\n CompressorHuffmanTree.prototype.writeTree = function (blTree) {\n var maxRepeatCount;\n var minRepeatCount;\n var currentRepeatCount;\n var currentCodeLength = -1;\n var i = 0;\n while (i < this.codeCount) {\n currentRepeatCount = 1;\n var nextLen = this.codeLength[i];\n if (nextLen === 0) {\n maxRepeatCount = 138;\n minRepeatCount = 3;\n }\n else {\n maxRepeatCount = 6;\n minRepeatCount = 3;\n if (currentCodeLength !== nextLen) {\n blTree.writeCodeToStream(nextLen);\n currentRepeatCount = 0;\n }\n }\n currentCodeLength = nextLen;\n i++;\n while (i < this.codeCount && currentCodeLength === this.codeLength[i]) {\n i++;\n if (++currentRepeatCount >= maxRepeatCount) {\n break;\n }\n }\n if (currentRepeatCount < minRepeatCount) {\n while (currentRepeatCount-- > 0) {\n blTree.writeCodeToStream(currentCodeLength);\n }\n }\n else if (currentCodeLength !== 0) {\n blTree.writeCodeToStream(16);\n this.writer.pendingBufferWriteBits(currentRepeatCount - 3, 2);\n }\n else if (currentRepeatCount <= 10) {\n blTree.writeCodeToStream(17);\n this.writer.pendingBufferWriteBits(currentRepeatCount - 3, 3);\n }\n else {\n blTree.writeCodeToStream(18);\n this.writer.pendingBufferWriteBits(currentRepeatCount - 11, 7);\n }\n }\n };\n /**\n * Build huffman tree\n * @returns {void}\n */\n CompressorHuffmanTree.prototype.buildTree = function () {\n var codesCount = this.codeFrequency.length;\n var arrTree = new Int32Array(codesCount);\n var treeLength = 0;\n var maxCount = 0;\n for (var n = 0; n < codesCount; n++) {\n var freq = this.codeFrequency[n];\n if (freq !== 0) {\n var pos = treeLength++;\n var pPos = 0;\n while (pos > 0 && this.codeFrequency[arrTree[pPos = Math.floor((pos - 1) / 2)]] > freq) {\n arrTree[pos] = arrTree[pPos];\n pos = pPos;\n }\n arrTree[pos] = n;\n maxCount = n;\n }\n }\n while (treeLength < 2) {\n arrTree[treeLength++] =\n (maxCount < 2) ? ++maxCount : 0;\n }\n this.codeCount = Math.max(maxCount + 1, this.codeMinCount);\n var leafsCount = treeLength;\n var nodesCount = leafsCount;\n var child = new Int32Array(4 * treeLength - 2);\n var values = new Int32Array(2 * treeLength - 1);\n for (var i = 0; i < treeLength; i++) {\n var node = arrTree[i];\n var iIndex = 2 * i;\n child[iIndex] = node;\n child[iIndex + 1] = -1;\n values[i] = (this.codeFrequency[node] << 8);\n arrTree[i] = i;\n }\n this.constructHuffmanTree(arrTree, treeLength, values, nodesCount, child);\n this.buildLength(child);\n };\n CompressorHuffmanTree.prototype.constructHuffmanTree = function (arrTree, treeLength, values, nodesCount, child) {\n do {\n var first = arrTree[0];\n var last = arrTree[--treeLength];\n var lastVal = values[last];\n var pPos = 0;\n var path = 1;\n while (path < treeLength) {\n if (path + 1 < treeLength && values[arrTree[path]] > values[arrTree[path + 1]]) {\n path++;\n }\n arrTree[pPos] = arrTree[path];\n pPos = path;\n path = pPos * 2 + 1;\n }\n while ((path = pPos) > 0 && values[arrTree[pPos = Math.floor((path - 1) / 2)]] > lastVal) {\n arrTree[path] = arrTree[pPos];\n }\n arrTree[path] = last;\n var second = arrTree[0];\n last = nodesCount++;\n child[2 * last] = first;\n child[2 * last + 1] = second;\n var minDepth = Math.min(values[first] & 0xff, values[second] & 0xff);\n values[last] = lastVal = values[first] + values[second] - minDepth + 1;\n pPos = 0;\n path = 1;\n /* tslint:disable */\n while (path < treeLength) {\n if (path + 1 < treeLength && values[arrTree[path]] > values[arrTree[path + 1]]) {\n path++;\n }\n arrTree[pPos] = arrTree[path];\n pPos = path;\n path = pPos * 2 + 1;\n } /* tslint:disable */\n while ((path = pPos) > 0 && values[arrTree[pPos = Math.floor((path - 1) / 2)]] > lastVal) {\n arrTree[path] = arrTree[pPos];\n }\n arrTree[path] = last;\n } while (treeLength > 1);\n };\n CompressorHuffmanTree.prototype.buildLength = function (child) {\n this.codeLength = new Uint8Array(this.codeFrequency.length);\n var numNodes = Math.floor(child.length / 2);\n var numLeafs = Math.floor((numNodes + 1) / 2);\n var overflow = 0;\n for (var i = 0; i < this.maxLength; i++) {\n this.lengthCount[i] = 0;\n }\n overflow = this.calculateOptimalCodeLength(child, overflow, numNodes);\n if (overflow === 0) {\n return;\n }\n var iIncreasableLength = this.maxLength - 1;\n do {\n while (this.lengthCount[--iIncreasableLength] === 0) {\n /* tslint:disable */\n }\n do {\n this.lengthCount[iIncreasableLength]--;\n this.lengthCount[++iIncreasableLength]++;\n overflow -= (1 << (this.maxLength - 1 - iIncreasableLength));\n } while (overflow > 0 && iIncreasableLength < this.maxLength - 1);\n } while (overflow > 0);\n this.recreateTree(child, overflow, numLeafs);\n };\n CompressorHuffmanTree.prototype.recreateTree = function (child, overflow, numLeafs) {\n this.lengthCount[this.maxLength - 1] += overflow;\n this.lengthCount[this.maxLength - 2] -= overflow;\n var nodePtr = 2 * numLeafs;\n for (var bits = this.maxLength; bits !== 0; bits--) {\n var n = this.lengthCount[bits - 1];\n while (n > 0) {\n var childPtr = 2 * child[nodePtr++];\n if (child[childPtr + 1] === -1) {\n this.codeLength[child[childPtr]] = bits;\n n--;\n }\n }\n }\n };\n CompressorHuffmanTree.prototype.calculateOptimalCodeLength = function (child, overflow, numNodes) {\n var lengths = new Int32Array(numNodes);\n lengths[numNodes - 1] = 0;\n for (var i = numNodes - 1; i >= 0; i--) {\n var childIndex = 2 * i + 1;\n if (child[childIndex] !== -1) {\n var bitLength = lengths[i] + 1;\n if (bitLength > this.maxLength) {\n bitLength = this.maxLength;\n overflow++;\n }\n lengths[child[childIndex - 1]] = lengths[child[childIndex]] = bitLength;\n }\n else {\n var bitLength = lengths[i];\n this.lengthCount[bitLength - 1]++;\n this.codeLength[child[childIndex - 1]] = lengths[i];\n }\n }\n return overflow;\n };\n CompressorHuffmanTree.reverseBits = [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15];\n CompressorHuffmanTree.huffCodeLengthOrders = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n return CompressorHuffmanTree;\n}());\n\n/**\n * Checksum calculator, based on Adler32 algorithm.\n */\nvar ChecksumCalculator = /** @class */ (function () {\n function ChecksumCalculator() {\n }\n /**\n * Updates checksum by calculating checksum of the\n * given buffer and adding it to current value.\n * @param {number} checksum - current checksum.\n * @param {Uint8Array} buffer - data byte array.\n * @param {number} offset - offset in the buffer.\n * @param {number} length - length of data to be used from the stream.\n * @returns {number}\n */\n ChecksumCalculator.checksumUpdate = function (checksum, buffer, offset, length) {\n var uint = new Uint32Array(1);\n uint[0] = checksum;\n var checksum_uint = uint[0];\n var s1 = uint[0] = checksum_uint & 65535;\n var s2 = uint[0] = checksum_uint >> ChecksumCalculator.checkSumBitOffset;\n while (length > 0) {\n var steps = Math.min(length, ChecksumCalculator.checksumIterationCount);\n length -= steps;\n while (--steps >= 0) {\n s1 = s1 + (uint[0] = (buffer[offset++] & 255));\n s2 = s2 + s1;\n }\n s1 %= ChecksumCalculator.checksumBase;\n s2 %= ChecksumCalculator.checksumBase;\n }\n checksum_uint = (s2 << ChecksumCalculator.checkSumBitOffset) | s1;\n return checksum_uint;\n };\n ChecksumCalculator.checkSumBitOffset = 16;\n ChecksumCalculator.checksumBase = 65521;\n ChecksumCalculator.checksumIterationCount = 3800;\n return ChecksumCalculator;\n}());\n\n/* eslint-enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-compression/src/compression-writer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-compression/src/decompressor-huffman-tree.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-compression/src/decompressor-huffman-tree.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DecompressorHuffmanTree: () => (/* binding */ DecompressorHuffmanTree)\n/* harmony export */ });\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index */ \"./node_modules/@syncfusion/ej2-compression/src/utils.js\");\n/* eslint-disable */\n\nvar DecompressorHuffmanTree = /** @class */ (function () {\n function DecompressorHuffmanTree(lengths) {\n this.buildTree(lengths);\n }\n DecompressorHuffmanTree.init = function () {\n var lengths;\n var index;\n // Generate huffman tree for lengths.\n lengths = new Uint8Array(288);\n index = 0;\n while (index < 144) {\n lengths[index++] = 8;\n }\n while (index < 256) {\n lengths[index++] = 9;\n }\n while (index < 280) {\n lengths[index++] = 7;\n }\n while (index < 288) {\n lengths[index++] = 8;\n }\n DecompressorHuffmanTree.m_LengthTree = new DecompressorHuffmanTree(lengths);\n // Generate huffman tree for distances.\n lengths = new Uint8Array(32);\n index = 0;\n while (index < 32) {\n lengths[index++] = 5;\n }\n DecompressorHuffmanTree.m_DistanceTree = new DecompressorHuffmanTree(lengths);\n };\n /// \n /// Prepares data for generating huffman tree.\n /// \n /// Array of counts of each code length.\n /// Numerical values of the smallest code for each code length.\n /// Array of code lengths.\n /// Calculated tree size.\n /// Code.\n DecompressorHuffmanTree.prototype.prepareData = function (blCount, nextCode, lengths) {\n var code = 0;\n var treeSize = 512;\n // Count number of codes for each code length.\n for (var i = 0; i < lengths.length; i++) {\n var length_1 = lengths[i];\n if (length_1 > 0) {\n blCount[length_1]++;\n }\n }\n for (var bits = 1; bits <= DecompressorHuffmanTree.MAX_BITLEN; bits++) {\n nextCode[bits] = code;\n code += blCount[bits] << (16 - bits);\n if (bits >= 10) {\n var start = nextCode[bits] & 0x1ff80;\n var end = code & 0x1ff80;\n treeSize += (end - start) >> (16 - bits);\n }\n }\n /* if( code != 65536 )\n throw new ZipException( \"Code lengths don't add up properly.\" );*/\n return { 'code': code, 'treeSize': treeSize };\n };\n /// \n /// Generates huffman tree.\n /// \n /// Array of counts of each code length.\n /// Numerical values of the smallest code for each code length.\n /// Precalculated code.\n /// Array of code lengths.\n /// Calculated size of the tree.\n /// Generated tree.\n DecompressorHuffmanTree.prototype.treeFromData = function (blCount, nextCode, lengths, code, treeSize) {\n var tree = new Int16Array(treeSize);\n var pointer = 512;\n var increment = 1 << 7;\n for (var bits = DecompressorHuffmanTree.MAX_BITLEN; bits >= 10; bits--) {\n var end = code & 0x1ff80;\n code -= blCount[bits] << (16 - bits);\n var start = code & 0x1ff80;\n for (var i = start; i < end; i += increment) {\n tree[_index__WEBPACK_IMPORTED_MODULE_0__.Utils.bitReverse(i)] = _index__WEBPACK_IMPORTED_MODULE_0__.Utils.bitConverterInt32ToInt16((-pointer << 4) | bits);\n pointer += 1 << (bits - 9);\n }\n }\n for (var i = 0; i < lengths.length; i++) {\n var bits = lengths[i];\n if (bits == 0) {\n continue;\n }\n code = nextCode[bits];\n var revcode = _index__WEBPACK_IMPORTED_MODULE_0__.Utils.bitReverse(code);\n if (bits <= 9) {\n do {\n tree[revcode] = _index__WEBPACK_IMPORTED_MODULE_0__.Utils.bitConverterInt32ToInt16((i << 4) | bits);\n revcode += 1 << bits;\n } while (revcode < 512);\n }\n else {\n var subTree = tree[revcode & 511];\n var treeLen = 1 << (subTree & 15);\n subTree = -(subTree >> 4);\n do {\n tree[subTree | (revcode >> 9)] = _index__WEBPACK_IMPORTED_MODULE_0__.Utils.bitConverterInt32ToInt16((i << 4) | bits);\n revcode += 1 << bits;\n } while (revcode < treeLen);\n }\n nextCode[bits] = code + (1 << (16 - bits));\n }\n return tree;\n };\n /// \n /// Builds huffman tree from array of code lengths.\n /// \n /// Array of code lengths.\n DecompressorHuffmanTree.prototype.buildTree = function (lengths) {\n // Count of codes for each code length.\n var blCount = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n // Numerical value of the smallest code for each code length.\n var nextCode = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n var prepareData = this.prepareData(blCount, nextCode, lengths);\n this.m_Tree = this.treeFromData(blCount, nextCode, lengths, prepareData.code, prepareData.treeSize);\n };\n /// \n /// Reads and decompresses one symbol.\n /// \n /// \n /// \n DecompressorHuffmanTree.prototype.unpackSymbol = function (input) {\n var lookahead;\n var symbol;\n if ((lookahead = input.peekBits(9)) >= 0) {\n if ((symbol = this.m_Tree[lookahead]) >= 0) {\n input.skipBits((symbol & 15));\n return symbol >> 4;\n }\n var subtree = -(symbol >> 4);\n var bitlen = symbol & 15;\n if ((lookahead = input.peekBits(bitlen)) >= 0) {\n symbol = this.m_Tree[subtree | (lookahead >> 9)];\n input.skipBits((symbol & 15));\n return symbol >> 4;\n }\n else {\n var bits = input.availableBits;\n lookahead = input.peekBits(bits);\n symbol = this.m_Tree[subtree | (lookahead >> 9)];\n if ((symbol & 15) <= bits) {\n input.skipBits((symbol & 15));\n return symbol >> 4;\n }\n else {\n return -1;\n }\n }\n }\n else {\n var bits = input.availableBits;\n lookahead = input.peekBits(bits);\n symbol = this.m_Tree[lookahead];\n if (symbol >= 0 && (symbol & 15) <= bits) {\n input.skipBits((symbol & 15));\n return symbol >> 4;\n }\n else {\n return -1;\n }\n }\n };\n Object.defineProperty(DecompressorHuffmanTree, \"lengthTree\", {\n /// \n /// GET huffman tree for encoding and decoding lengths.\n /// \n get: function () {\n return this.m_LengthTree;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DecompressorHuffmanTree, \"distanceTree\", {\n /// \n /// GET huffman tree for encoding and decoding distances.\n /// \n get: function () {\n return this.m_DistanceTree;\n },\n enumerable: true,\n configurable: true\n });\n /// \n /// Maximum count of bits.\n /// \n DecompressorHuffmanTree.MAX_BITLEN = 15;\n return DecompressorHuffmanTree;\n}());\n\n/* eslint-enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-compression/src/decompressor-huffman-tree.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-compression/src/utils.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-compression/src/utils.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Utils: () => (/* binding */ Utils)\n/* harmony export */ });\n/* eslint-disable */\nvar Utils = /** @class */ (function () {\n function Utils() {\n }\n Utils.bitReverse = function (value) {\n return (Utils.reverseBits[value & 15] << 12\n | Utils.reverseBits[(value >> 4) & 15] << 8\n | Utils.reverseBits[(value >> 8) & 15] << 4\n | Utils.reverseBits[value >> 12]);\n };\n Utils.bitConverterToInt32 = function (value, index) {\n return value[index] | value[index + 1] << 8 | value[index + 2] << 16 | value[index + 3] << 24;\n };\n Utils.bitConverterToInt16 = function (value, index) {\n return value[index] | value[index + 1] << 8;\n };\n Utils.bitConverterToUInt32 = function (value) {\n var uint = new Uint32Array(1);\n uint[0] = value;\n return uint[0];\n };\n Utils.bitConverterToUInt16 = function (value, index) {\n var uint = new Uint16Array(1);\n uint[0] = (value[index] | value[index + 1] << 8);\n return uint[0];\n };\n Utils.bitConverterUintToInt32 = function (value) {\n var uint = new Int32Array(1);\n uint[0] = value;\n return uint[0];\n };\n Utils.bitConverterInt32ToUint = function (value) {\n var uint = new Uint32Array(1);\n uint[0] = value;\n return uint[0];\n };\n Utils.bitConverterInt32ToInt16 = function (value) {\n var uint = new Int16Array(1);\n uint[0] = value;\n return uint[0];\n };\n Utils.byteToString = function (value) {\n var str = '';\n for (var i = 0; i < value.length; i++) {\n str += String.fromCharCode(value[i]);\n }\n return str;\n };\n Utils.byteIntToString = function (value) {\n var str = '';\n for (var i = 0; i < value.length; i++) {\n str += String.fromCharCode(value[i]);\n }\n return str;\n };\n Utils.arrayCopy = function (source, sourceIndex, destination, destinationIndex, dataToCopy) {\n var temp = new Uint8Array(source.buffer, sourceIndex);\n var data = temp.subarray(0, dataToCopy);\n destination.set(data, destinationIndex);\n };\n Utils.mergeArray = function (arrayOne, arrayTwo) {\n var mergedArray = new Uint8Array(arrayOne.length + arrayTwo.length);\n mergedArray.set(arrayOne);\n mergedArray.set(arrayTwo, arrayOne.length);\n return mergedArray;\n };\n /**\n * @private\n */\n Utils.encodedString = function (input) {\n var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var chr1;\n var chr2;\n var chr3;\n var encode1;\n var encode2;\n var encode3;\n var encode4;\n var count = 0;\n var resultIndex = 0;\n /*let dataUrlPrefix: string = 'data:';*/\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, '');\n var totalLength = input.length * 3 / 4;\n if (input.charAt(input.length - 1) === keyStr.charAt(64)) {\n totalLength--;\n }\n if (input.charAt(input.length - 2) === keyStr.charAt(64)) {\n totalLength--;\n }\n if (totalLength % 1 !== 0) {\n // totalLength is not an integer, the length does not match a valid\n // base64 content. That can happen if:\n // - the input is not a base64 content\n // - the input is *almost* a base64 content, with a extra chars at the\n // beginning or at the end\n // - the input uses a base64 variant (base64url for example)\n throw new Error('Invalid base64 input, bad content length.');\n }\n var output = new Uint8Array(totalLength | 0);\n while (count < input.length) {\n encode1 = keyStr.indexOf(input.charAt(count++));\n encode2 = keyStr.indexOf(input.charAt(count++));\n encode3 = keyStr.indexOf(input.charAt(count++));\n encode4 = keyStr.indexOf(input.charAt(count++));\n chr1 = (encode1 << 2) | (encode2 >> 4);\n chr2 = ((encode2 & 15) << 4) | (encode3 >> 2);\n chr3 = ((encode3 & 3) << 6) | encode4;\n output[resultIndex++] = chr1;\n if (encode3 !== 64) {\n output[resultIndex++] = chr2;\n }\n if (encode4 !== 64) {\n output[resultIndex++] = chr3;\n }\n }\n return output;\n };\n Utils.reverseBits = [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15];\n Utils.huffCodeLengthOrders = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n return Utils;\n}());\n\n/* eslint-enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-compression/src/utils.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-compression/src/zip-archive.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-compression/src/zip-archive.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ZipArchive: () => (/* binding */ ZipArchive),\n/* harmony export */ ZipArchiveItem: () => (/* binding */ ZipArchiveItem),\n/* harmony export */ ZipArchiveItemHelper: () => (/* binding */ ZipArchiveItemHelper)\n/* harmony export */ });\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index */ \"./node_modules/@syncfusion/ej2-compression/src/compression-reader.js\");\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index */ \"./node_modules/@syncfusion/ej2-compression/src/compression-writer.js\");\n/* harmony import */ var _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-file-utils */ \"./node_modules/@syncfusion/ej2-file-utils/src/save.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/@syncfusion/ej2-compression/src/utils.js\");\n/* eslint-disable */\n\n\n\nvar CRC32TABLE = [];\n/// \n/// Size of the int value in bytes.\n/// \nvar INT_SIZE = 4;\n/// \n/// Size of the short value in bytes.\n/// \nvar SHORT_SIZE = 2;\n/// \n/// End of central directory signature.\n/// \nvar CentralDirectoryEndSignature = 0x06054b50;\n/// \n/// Offset to the size field in the End of central directory record.\n/// \nvar CentralDirSizeOffset = 12;\n/// \n/// Central header signature.\n/// \nvar CentralHeaderSignature = 0x02014b50;\n/// \n/// Buffer size.\n/// \nvar BufferSize = 4096;\n/**\n * class provide compression library\n * ```typescript\n * let archive = new ZipArchive();\n * archive.compressionLevel = 'Normal';\n * let archiveItem = new ZipArchiveItem(archive, 'directoryName\\fileName.txt');\n * archive.addItem(archiveItem);\n * archive.save(fileName.zip);\n * ```\n */\nvar ZipArchive = /** @class */ (function () {\n /**\n * constructor for creating ZipArchive instance\n */\n function ZipArchive() {\n if (CRC32TABLE.length === 0) {\n ZipArchive.initCrc32Table();\n }\n this.files = [];\n this.level = 'Normal';\n _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_0__.Save.isMicrosoftBrowser = !(!navigator.msSaveBlob);\n }\n Object.defineProperty(ZipArchive.prototype, \"items\", {\n get: function () {\n return this.files;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZipArchive.prototype, \"compressionLevel\", {\n /**\n * gets compression level\n */\n get: function () {\n return this.level;\n },\n /**\n * sets compression level\n */\n set: function (level) {\n this.level = level;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZipArchive.prototype, \"length\", {\n /**\n * gets items count\n */\n get: function () {\n if (this.files === undefined) {\n return 0;\n }\n return this.files.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * add new item to archive\n * @param {ZipArchiveItem} item - item to be added\n * @returns {void}\n */\n ZipArchive.prototype.addItem = function (item) {\n if (item === null || item === undefined) {\n throw new Error('ArgumentException: item cannot be null or undefined');\n }\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n if (file instanceof ZipArchiveItem) {\n if (file.name === item.name) {\n throw new Error('item with same name already exist');\n }\n }\n }\n this.files.push(item);\n };\n /**\n * add new directory to archive\n * @param directoryName directoryName to be created\n * @returns {void}\n */\n ZipArchive.prototype.addDirectory = function (directoryName) {\n if (directoryName === null || directoryName === undefined) {\n throw new Error('ArgumentException: string cannot be null or undefined');\n }\n if (directoryName.length === 0) {\n throw new Error('ArgumentException: string cannot be empty');\n }\n if (directoryName.slice(-1) !== '/') {\n directoryName += '/';\n }\n if (this.files.indexOf(directoryName) !== -1) {\n throw new Error('item with same name already exist');\n }\n this.files.push(directoryName);\n };\n /**\n * gets item at specified index\n * @param {number} index - item index\n * @returns {ZipArchiveItem}\n */\n ZipArchive.prototype.getItem = function (index) {\n if (index >= 0 && index < this.files.length) {\n return this.files[index];\n }\n return undefined;\n };\n /**\n * determines whether an element is in the collection\n * @param {string | ZipArchiveItem} item - item to search\n * @returns {boolean}\n */\n ZipArchive.prototype.contains = function (item) {\n return this.files.indexOf(item) !== -1 ? true : false;\n };\n ZipArchive.prototype.open = function (base64String) {\n //return promise = new Promise((resolve: Function, reject: Function) => {\n var zipArchive = this;\n var zipByteArray = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.encodedString(base64String);\n if (zipByteArray.length == 0)\n throw new DOMException(\"stream\");\n var stream = new _index__WEBPACK_IMPORTED_MODULE_2__.Stream(zipByteArray);\n //let lCentralDirEndPosition = this.findValueFromEnd( arrBuffer, Constants.CentralDirectoryEndSignature, 65557 );\n var lCentralDirEndPosition = ZipArchive.findValueFromEnd(stream, CentralDirectoryEndSignature, 65557);\n if (lCentralDirEndPosition < 0)\n throw new DOMException(\"Can't locate end of central directory record. Possible wrong file format or archive is corrupt.\");\n // Step2. Locate central directory and iterate through all items\n stream.position = lCentralDirEndPosition + CentralDirSizeOffset;\n var iCentralDirSize = ZipArchive.ReadInt32(stream);\n var lCentralDirPosition = lCentralDirEndPosition - iCentralDirSize;\n // verify that this is really central directory\n stream.position = lCentralDirPosition;\n this.readCentralDirectoryDataAndExtractItems(stream);\n //});\n // let zipArchive: ZipArchive = this;\n //let promise: Promise;\n // return promise = new Promise((resolve: Function, reject: Function) => {\n // let reader: FileReader = new FileReader();\n // reader.onload = (e: Event) => {\n // let data: Uint8Array = new Uint8Array((e.target as any).result);\n // let zipReader: ZipReader = new ZipReader(data);\n // zipReader.readEntries().then((entries: ZipEntry[]) => {\n // for (let i: number = 0; i < entries.length; i++) {\n // let entry: ZipEntry = entries[i];\n // let item: ZipArchiveItem = new ZipArchiveItem(zipArchive, entry.fileName);\n // item.data = entry.data;\n // item.compressionMethod = entry.compressionMethod;\n // item.crc = entry.crc;\n // item.lastModified = entry.lastModified;\n // item.lastModifiedDate = entry.lastModifiedDate;\n // item.size = entry.size;\n // item.uncompressedSize = entry.uncompressedSize;\n // zipArchive.addItem(item);\n // }\n // resolve(zipArchive);\n // });\n // };\n // reader.readAsArrayBuffer(fileName);\n // });\n };\n /// \n /// Read central directory record from the stream.\n /// \n /// Stream to read from.\n ZipArchive.prototype.readCentralDirectoryDataAndExtractItems = function (stream) {\n if (stream == null)\n throw new DOMException(\"stream\");\n var itemHelper;\n while (ZipArchive.ReadInt32(stream) == CentralHeaderSignature) {\n itemHelper = new ZipArchiveItemHelper();\n itemHelper.readCentralDirectoryData(stream);\n itemHelper;\n // let item: ZipArchiveItem = new ZipArchiveItem(this);\n // item.ReadCentralDirectoryData(stream);\n // m_arrItems.Add(item);\n }\n itemHelper.readData(stream, itemHelper.checkCrc);\n itemHelper.decompressData();\n this.files.push(new ZipArchiveItem(itemHelper.unCompressedStream.buffer, itemHelper.name));\n };\n /**\n * save archive with specified file name\n * @param {string} fileName save archive with specified file name\n * @returns {Promise}\n */\n ZipArchive.prototype.save = function (fileName) {\n if (fileName === null || fileName === undefined || fileName.length === 0) {\n throw new Error('ArgumentException: fileName cannot be null or undefined');\n }\n if (this.files.length === 0) {\n throw new Error('InvalidOperation');\n }\n var zipArchive = this;\n var promise;\n return promise = new Promise(function (resolve, reject) {\n zipArchive.saveInternal(fileName, false).then(function () {\n resolve(zipArchive);\n });\n });\n };\n /**\n * Save archive as blob\n * @return {Promise}\n */\n ZipArchive.prototype.saveAsBlob = function () {\n var zipArchive = this;\n var promise;\n return promise = new Promise(function (resolve, reject) {\n zipArchive.saveInternal('', true).then(function (blob) {\n resolve(blob);\n });\n });\n };\n ZipArchive.prototype.saveInternal = function (fileName, skipFileSave) {\n var _this = this;\n var zipArchive = this;\n var promise;\n return promise = new Promise(function (resolve, reject) {\n var zipData = [];\n var dirLength = 0;\n for (var i = 0; i < zipArchive.files.length; i++) {\n var compressedObject = _this.getCompressedData(_this.files[i]);\n compressedObject.then(function (data) {\n dirLength = zipArchive.constructZippedObject(zipData, data, dirLength, data.isDirectory);\n if (zipData.length === zipArchive.files.length) {\n var blob = zipArchive.writeZippedContent(fileName, zipData, dirLength, skipFileSave);\n resolve(blob);\n }\n });\n }\n });\n };\n /**\n * release allocated un-managed resource\n * @returns {void}\n */\n ZipArchive.prototype.destroy = function () {\n if (this.files !== undefined && this.files.length > 0) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n if (file instanceof ZipArchiveItem) {\n file.destroy();\n }\n file = undefined;\n }\n this.files = [];\n }\n this.files = undefined;\n this.level = undefined;\n };\n ZipArchive.prototype.getCompressedData = function (item) {\n var zipArchive = this;\n var promise = new Promise(function (resolve, reject) {\n if (item instanceof ZipArchiveItem) {\n var reader_1 = new FileReader();\n reader_1.onload = function () {\n var input = new Uint8Array(reader_1.result);\n var data = {\n fileName: item.name, crc32Value: 0, compressedData: [],\n compressedSize: undefined, uncompressedDataSize: input.length, compressionType: undefined,\n isDirectory: false\n };\n if (zipArchive.level === 'Normal') {\n zipArchive.compressData(input, data, CRC32TABLE);\n var length_1 = 0;\n for (var i = 0; i < data.compressedData.length; i++) {\n length_1 += data.compressedData[i].length;\n }\n data.compressedSize = length_1;\n data.compressionType = '\\x08\\x00'; //Deflated = 8\n }\n else {\n data.compressedSize = input.length;\n data.crc32Value = zipArchive.calculateCrc32Value(0, input, CRC32TABLE);\n data.compressionType = '\\x00\\x00'; // Stored = 0\n data.compressedData.push(input);\n }\n resolve(data);\n };\n reader_1.readAsArrayBuffer(item.data);\n }\n else {\n var data = {\n fileName: item, crc32Value: 0, compressedData: '', compressedSize: 0, uncompressedDataSize: 0,\n compressionType: '\\x00\\x00', isDirectory: true\n };\n resolve(data);\n }\n });\n return promise;\n };\n ZipArchive.prototype.compressData = function (input, data, crc32Table) {\n var compressor = new _index__WEBPACK_IMPORTED_MODULE_3__.CompressedStreamWriter(true);\n var currentIndex = 0;\n var nextIndex = 0;\n do {\n if (currentIndex >= input.length) {\n compressor.close();\n break;\n }\n nextIndex = Math.min(input.length, currentIndex + 16384);\n var subArray = input.subarray(currentIndex, nextIndex);\n data.crc32Value = this.calculateCrc32Value(data.crc32Value, subArray, crc32Table);\n compressor.write(subArray, 0, nextIndex - currentIndex);\n currentIndex = nextIndex;\n } while (currentIndex <= input.length);\n data.compressedData = compressor.compressedData;\n compressor.destroy();\n };\n ZipArchive.prototype.constructZippedObject = function (zipParts, data, dirLength, isDirectory) {\n var extFileAttr = 0;\n var date = new Date();\n if (isDirectory) {\n extFileAttr = extFileAttr | 0x00010; // directory flag\n }\n extFileAttr = extFileAttr | (0 & 0x3F);\n var header = this.writeHeader(data, date);\n var localHeader = 'PK\\x03\\x04' + header + data.fileName;\n var centralDir = this.writeCentralDirectory(data, header, dirLength, extFileAttr);\n zipParts.push({ localHeader: localHeader, centralDir: centralDir, compressedData: data });\n return dirLength + localHeader.length + data.compressedSize;\n };\n ZipArchive.prototype.writeHeader = function (data, date) {\n var zipHeader = '';\n zipHeader += '\\x0A\\x00' + '\\x00\\x00'; // version needed to extract & general purpose bit flag\n zipHeader += data.compressionType; // compression method Deflate=8,Stored=0\n zipHeader += this.getBytes(this.getModifiedTime(date), 2); // last modified Time\n zipHeader += this.getBytes(this.getModifiedDate(date), 2); // last modified date\n zipHeader += this.getBytes(data.crc32Value, 4); // crc-32 value\n zipHeader += this.getBytes(data.compressedSize, 4); // compressed file size\n zipHeader += this.getBytes(data.uncompressedDataSize, 4); // uncompressed file size\n zipHeader += this.getBytes(data.fileName.length, 2); // file name length\n zipHeader += this.getBytes(0, 2); // extra field length\n return zipHeader;\n };\n ZipArchive.prototype.writeZippedContent = function (fileName, zipData, localDirLen, skipFileSave) {\n var cenDirLen = 0;\n var buffer = [];\n for (var i = 0; i < zipData.length; i++) {\n var item = zipData[i];\n cenDirLen += item.centralDir.length;\n buffer.push(this.getArrayBuffer(item.localHeader));\n while (item.compressedData.compressedData.length) {\n buffer.push(item.compressedData.compressedData.shift().buffer);\n }\n }\n for (var i = 0; i < zipData.length; i++) {\n buffer.push(this.getArrayBuffer(zipData[i].centralDir));\n }\n buffer.push(this.getArrayBuffer(this.writeFooter(zipData, cenDirLen, localDirLen)));\n var blob = new Blob(buffer, { type: 'application/zip' });\n if (!skipFileSave) {\n _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_0__.Save.save(fileName, blob);\n }\n return blob;\n };\n ZipArchive.prototype.writeCentralDirectory = function (data, localHeader, offset, externalFileAttribute) {\n var directoryHeader = 'PK\\x01\\x02' +\n this.getBytes(0x0014, 2) + localHeader + // inherit from file header\n this.getBytes(0, 2) + // comment length\n '\\x00\\x00' + '\\x00\\x00' + // internal file attributes \n this.getBytes(externalFileAttribute, 4) + // external file attributes\n this.getBytes(offset, 4) + // local fileHeader relative offset\n data.fileName;\n return directoryHeader;\n };\n ZipArchive.prototype.writeFooter = function (zipData, centralLength, localLength) {\n var dirEnd = 'PK\\x05\\x06' + '\\x00\\x00' + '\\x00\\x00' +\n this.getBytes(zipData.length, 2) + this.getBytes(zipData.length, 2) +\n this.getBytes(centralLength, 4) + this.getBytes(localLength, 4) +\n this.getBytes(0, 2);\n return dirEnd;\n };\n ZipArchive.prototype.getArrayBuffer = function (input) {\n var a = new Uint8Array(input.length);\n for (var j = 0; j < input.length; ++j) {\n a[j] = input.charCodeAt(j) & 0xFF;\n }\n return a.buffer;\n };\n ZipArchive.prototype.getBytes = function (value, offset) {\n var bytes = '';\n for (var i = 0; i < offset; i++) {\n bytes += String.fromCharCode(value & 0xff);\n value = value >>> 8;\n }\n return bytes;\n };\n ZipArchive.prototype.getModifiedTime = function (date) {\n var modTime = date.getHours();\n modTime = modTime << 6;\n modTime = modTime | date.getMinutes();\n modTime = modTime << 5;\n return modTime = modTime | date.getSeconds() / 2;\n };\n ZipArchive.prototype.getModifiedDate = function (date) {\n var modiDate = date.getFullYear() - 1980;\n modiDate = modiDate << 4;\n modiDate = modiDate | (date.getMonth() + 1);\n modiDate = modiDate << 5;\n return modiDate = modiDate | date.getDate();\n };\n ZipArchive.prototype.calculateCrc32Value = function (crc32Value, input, crc32Table) {\n crc32Value ^= -1;\n for (var i = 0; i < input.length; i++) {\n crc32Value = (crc32Value >>> 8) ^ crc32Table[(crc32Value ^ input[i]) & 0xFF];\n }\n return (crc32Value ^ (-1));\n };\n /**\n * construct cyclic redundancy code table\n * @private\n */\n ZipArchive.initCrc32Table = function () {\n var i;\n for (var j = 0; j < 256; j++) {\n i = j;\n for (var k = 0; k < 8; k++) {\n i = ((i & 1) ? (0xEDB88320 ^ (i >>> 1)) : (i >>> 1));\n }\n CRC32TABLE[j] = i;\n }\n };\n ZipArchive.findValueFromEnd = function (stream, value, maxCount) {\n if (stream == null)\n throw new DOMException(\"stream\");\n // if( !stream.CanSeek || !stream.CanRead )\n // throw new ArgumentOutOfRangeException( \"We need to have seekable and readable stream.\" );\n // read last 4 bytes and compare with required value\n var lStreamSize = stream.inputStream.buffer.byteLength;\n if (lStreamSize < 4)\n return -1;\n var arrBuffer = new Uint8Array(4);\n var lLastPos = Math.max(0, lStreamSize - maxCount);\n var lCurrentPosition = lStreamSize - 1 - INT_SIZE;\n stream.position = lCurrentPosition;\n stream.read(arrBuffer, 0, INT_SIZE);\n var uiCurValue = arrBuffer[0];\n var bFound = (uiCurValue == value);\n if (!bFound) {\n while (lCurrentPosition > lLastPos) {\n // remove unnecessary byte and replace it with new value.\n uiCurValue <<= 8;\n lCurrentPosition--;\n stream.position = lCurrentPosition;\n uiCurValue += stream.readByte();\n if (uiCurValue == value) {\n bFound = true;\n break;\n }\n }\n }\n return bFound ? lCurrentPosition : -1;\n };\n /// \n /// Extracts Int32 value from the stream.\n /// \n /// Stream to read data from.\n /// Extracted value.\n ZipArchive.ReadInt32 = function (stream) {\n var buffer = new Uint8Array(INT_SIZE);\n if (stream.read(buffer, 0, INT_SIZE) != INT_SIZE) {\n throw new DOMException(\"Unable to read value at the specified position - end of stream was reached.\");\n }\n return _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterToInt32(buffer, 0);\n };\n /// \n /// Extracts Int16 value from the stream.\n /// \n /// Stream to read data from.\n /// Extracted value.\n ZipArchive.ReadInt16 = function (stream) {\n var buffer = new Uint8Array(SHORT_SIZE);\n if (stream.read(buffer, 0, SHORT_SIZE) != SHORT_SIZE) {\n throw new DOMException(\"Unable to read value at the specified position - end of stream was reached.\");\n }\n return _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterToInt16(buffer, 0);\n };\n /// \n /// Extracts unsigned Int16 value from the stream.\n /// \n /// Stream to read data from.\n /// Extracted value.\n ZipArchive.ReadUInt16 = function (stream) {\n {\n var buffer = new Uint8Array(SHORT_SIZE);\n if (stream.read(buffer, 0, SHORT_SIZE) != SHORT_SIZE) {\n throw new DOMException(\"Unable to read value at the specified position - end of stream was reached.\");\n }\n return _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterToInt16(buffer, 0);\n }\n };\n return ZipArchive;\n}());\n\nvar ZipArchiveItemHelper = /** @class */ (function () {\n function ZipArchiveItemHelper() {\n /// \n /// Zip header signature.\n /// \n this.headerSignature = 0x04034b50;\n /// \n /// Indicates whether we should check Crc value when reading item's data. Check\n /// is performed when user gets access to decompressed data for the first time.\n /// \n this.checkCrc = true;\n /// \n /// Crc.\n /// \n this.crc32 = 0;\n }\n /// \n /// Read data from the stream based on the central directory.\n /// \n /// Stream to read data from, stream.Position must point at just after correct file header.\n ZipArchiveItemHelper.prototype.readCentralDirectoryData = function (stream) {\n // on the current moment we ignore \"version made by\" and \"version needed to extract\" fields.\n stream.position += 4;\n this.options = ZipArchive.ReadInt16(stream);\n this.compressionMethod = ZipArchive.ReadInt16(stream);\n this.checkCrc = (this.compressionMethod != 99); //COmpression.Defalte != SecurityConstants.AES\n //m_bCompressed = true;\n // on the current moment we ignore \"last mod file time\" and \"last mod file date\" fields.\n var lastModified = ZipArchive.ReadInt32(stream);\n //LastModified = ConvertToDateTime(lastModified);\n this.crc32 = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.bitConverterToUInt32(ZipArchive.ReadInt32(stream));\n this.compressedSize = ZipArchive.ReadInt32(stream);\n this.originalSize = ZipArchive.ReadInt32(stream);\n var iFileNameLength = ZipArchive.ReadInt16(stream);\n var iExtraFieldLenth = ZipArchive.ReadInt16(stream);\n var iCommentLength = ZipArchive.ReadInt16(stream);\n // on the current moment we ignore and \"disk number start\" (2 bytes),\n // \"internal file attributes\" (2 bytes).\n stream.position += 4;\n this.externalAttributes = ZipArchive.ReadInt32(stream);\n this.localHeaderOffset = ZipArchive.ReadInt32(stream);\n var arrBuffer = new Uint8Array(iFileNameLength);\n stream.read(arrBuffer, 0, iFileNameLength);\n var m_strItemName = _utils__WEBPACK_IMPORTED_MODULE_1__.Utils.byteToString(arrBuffer);\n m_strItemName = m_strItemName.replace(\"\\\\\", \"/\");\n this.name = m_strItemName;\n stream.position += iExtraFieldLenth + iCommentLength;\n if (this.options != 0)\n this.options = 0;\n };\n /// \n /// Reads zipped data from the stream.\n /// \n /// Stream to read data from.\n /// Indicates whether we should check crc value after data decompression.\n ZipArchiveItemHelper.prototype.readData = function (stream, checkCrc) {\n if (stream.length == 0)\n throw new DOMException(\"stream\");\n stream.position = this.localHeaderOffset;\n this.checkCrc = checkCrc;\n this.readLocalHeader(stream);\n this.readCompressedData(stream);\n };\n ZipArchiveItemHelper.prototype.decompressData = function () {\n if (this.compressionMethod == 8) {\n if (this.originalSize > 0) {\n this.decompressDataOld();\n }\n }\n };\n ZipArchiveItemHelper.prototype.decompressDataOld = function () {\n var reader = new _index__WEBPACK_IMPORTED_MODULE_2__.CompressedStreamReader(this.compressedStream, true);\n var decompressedData;\n if (this.originalSize > 0)\n decompressedData = new _index__WEBPACK_IMPORTED_MODULE_2__.Stream(new Uint8Array(this.originalSize));\n var arrBuffer = new Uint8Array(BufferSize);\n var iReadBytes;\n var past = new Uint8Array(0);\n while ((iReadBytes = reader.read(arrBuffer, 0, BufferSize)) > 0) {\n // past = new Uint8Array(decompressedData.length);\n // let currentBlock: Uint8Array = arrBuffer.subarray(0, iReadBytes);\n decompressedData.write(arrBuffer.subarray(0, iReadBytes), 0, iReadBytes);\n }\n this.unCompressedStream = decompressedData.toByteArray();\n // this.originalSize = decompressedData.Length;\n // m_bControlStream = true;\n // m_streamData = decompressedData;\n // decompressedData.SetLength( m_lOriginalSize );\n // decompressedData.Capacity = ( int )m_lOriginalSize;\n if (this.checkCrc) {\n //TODO: fix this\n //CheckCrc(decompressedData.ToArray());\n }\n //m_streamData.Position = 0;\n };\n /// \n /// Extracts local header from the stream.\n /// \n /// Stream to read data from.\n ZipArchiveItemHelper.prototype.readLocalHeader = function (stream) {\n if (stream.length == 0)\n throw new DOMException(\"stream\");\n if (ZipArchive.ReadInt32(stream) != this.headerSignature)\n throw new DOMException(\"Can't find local header signature - wrong file format or file is corrupt.\");\n // TODO: it is good to verify data read from the central directory record,\n // but on the current moment we simply skip it.\n stream.position += 22;\n var iNameLength = ZipArchive.ReadInt16(stream);\n var iExtraLength = ZipArchive.ReadUInt16(stream);\n if (this.compressionMethod == 99) //SecurityConstants.AES\n {\n // stream.Position += iNameLength + 8;\n // m_archive.EncryptionAlgorithm = (EncryptionAlgorithm)stream.ReadByte();\n // m_actualCompression = new byte[2];\n // stream.Read(m_actualCompression, 0, 2);\n }\n else if (iExtraLength > 2) {\n stream.position += iNameLength;\n var headerVal = ZipArchive.ReadInt16(stream);\n if (headerVal == 0x0017) //PKZipEncryptionHeader\n throw new DOMException(\"UnSupported\");\n else\n stream.position += iExtraLength - 2;\n }\n else\n stream.position += iNameLength + iExtraLength;\n };\n /// \n /// Extracts compressed data from the stream.\n /// \n /// Stream to read data from.\n ZipArchiveItemHelper.prototype.readCompressedData = function (stream) {\n var dataStream;\n if (this.compressedSize > 0) {\n var iBytesLeft = this.compressedSize;\n dataStream = new _index__WEBPACK_IMPORTED_MODULE_2__.Stream(new Uint8Array(iBytesLeft));\n var arrBuffer = new Uint8Array(BufferSize);\n while (iBytesLeft > 0) {\n var iBytesToRead = Math.min(iBytesLeft, BufferSize);\n if (stream.read(arrBuffer, 0, iBytesToRead) != iBytesToRead)\n throw new DOMException(\"End of file reached - wrong file format or file is corrupt.\");\n dataStream.write(arrBuffer.subarray(0, iBytesToRead), 0, iBytesToRead);\n iBytesLeft -= iBytesToRead;\n }\n // if(m_archive.Password != null)\n // {\n // byte[] dataBuffer = new byte[dataStream.Length];\n // dataBuffer = dataStream.ToArray();\n // dataStream=new MemoryStream( Decrypt(dataBuffer));\n // }\n this.compressedStream = new Uint8Array(dataStream.inputStream);\n // m_bControlStream = true;\n }\n else if (this.compressedSize < 0) //If compression size is negative, then read until the next header signature reached.\n {\n // MemoryStream dataStream = new MemoryStream();\n // int bt = 0;\n // bool proceed=true;\n // while (proceed)\n // {\n // if ((bt = stream.ReadByte()) == Constants.HeaderSignatureStartByteValue)\n // {\n // stream.Position -= 1;\n // int headerSignature = ZipArchive.ReadInt32(stream);\n // if (headerSignature==Constants.CentralHeaderSignature || headerSignature==Constants.CentralHeaderSignature)\n // {\n // proceed = false;\n // }\n // stream.Position -= 3;\n // }\n // if (proceed)\n // dataStream.WriteByte((byte)bt);\n // }\n // m_streamData = dataStream;\n // m_lCompressedSize = m_streamData.Length;\n // m_bControlStream = true;\n }\n else if (this.compressedSize == 0) {\n // m_streamData = new MemoryStream();\n }\n };\n return ZipArchiveItemHelper;\n}());\n\n/**\n * Class represent unique ZipArchive item\n * ```typescript\n * let archiveItem = new ZipArchiveItem(archive, 'directoryName\\fileName.txt');\n * ```\n */\nvar ZipArchiveItem = /** @class */ (function () {\n /**\n * constructor for creating {ZipArchiveItem} instance\n * @param {Blob|ArrayBuffer} data file data\n * @param {itemName} itemName absolute file path\n */\n function ZipArchiveItem(data, itemName) {\n if (data === null || data === undefined) {\n throw new Error('ArgumentException: data cannot be null or undefined');\n }\n if (itemName === null || itemName === undefined) {\n throw new Error('ArgumentException: string cannot be null or undefined');\n }\n if (itemName.length === 0) {\n throw new Error('string cannot be empty');\n }\n this.data = data;\n this.name = itemName;\n }\n Object.defineProperty(ZipArchiveItem.prototype, \"dataStream\", {\n get: function () {\n return this.decompressedStream;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZipArchiveItem.prototype, \"name\", {\n /**\n * Get the name of archive item\n * @returns string\n */\n get: function () {\n return this.fileName;\n },\n /**\n * Set the name of archive item\n * @param {string} value\n */\n set: function (value) {\n this.fileName = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * release allocated un-managed resource\n * @returns {void}\n */\n ZipArchiveItem.prototype.destroy = function () {\n this.fileName = undefined;\n this.data = undefined;\n };\n return ZipArchiveItem;\n}());\n\n/* eslint-enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-compression/src/zip-archive.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-data/index.js": +/*!****************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-data/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Adaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Adaptor),\n/* harmony export */ CacheAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CacheAdaptor),\n/* harmony export */ CustomDataAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CustomDataAdaptor),\n/* harmony export */ DataManager: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DataManager),\n/* harmony export */ DataUtil: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DataUtil),\n/* harmony export */ Deferred: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Deferred),\n/* harmony export */ GraphQLAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GraphQLAdaptor),\n/* harmony export */ JsonAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.JsonAdaptor),\n/* harmony export */ ODataAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ODataAdaptor),\n/* harmony export */ ODataV4Adaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ODataV4Adaptor),\n/* harmony export */ Predicate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Predicate),\n/* harmony export */ Query: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Query),\n/* harmony export */ RemoteSaveAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.RemoteSaveAdaptor),\n/* harmony export */ UrlAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.UrlAdaptor),\n/* harmony export */ WebApiAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.WebApiAdaptor),\n/* harmony export */ WebMethodAdaptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.WebMethodAdaptor)\n/* harmony export */ });\n/* harmony import */ var _src_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/index */ \"./node_modules/@syncfusion/ej2-data/src/index.js\");\n/**\n * index\n */\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-data/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-data/src/adaptors.js": +/*!***********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-data/src/adaptors.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Adaptor: () => (/* binding */ Adaptor),\n/* harmony export */ CacheAdaptor: () => (/* binding */ CacheAdaptor),\n/* harmony export */ CustomDataAdaptor: () => (/* binding */ CustomDataAdaptor),\n/* harmony export */ GraphQLAdaptor: () => (/* binding */ GraphQLAdaptor),\n/* harmony export */ JsonAdaptor: () => (/* binding */ JsonAdaptor),\n/* harmony export */ ODataAdaptor: () => (/* binding */ ODataAdaptor),\n/* harmony export */ ODataV4Adaptor: () => (/* binding */ ODataV4Adaptor),\n/* harmony export */ RemoteSaveAdaptor: () => (/* binding */ RemoteSaveAdaptor),\n/* harmony export */ UrlAdaptor: () => (/* binding */ UrlAdaptor),\n/* harmony export */ WebApiAdaptor: () => (/* binding */ WebApiAdaptor),\n/* harmony export */ WebMethodAdaptor: () => (/* binding */ WebMethodAdaptor)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./query */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar consts = { GroupGuid: '{271bbba0-1ee7}' };\n/**\n * Adaptors are specific data source type aware interfaces that are used by DataManager to communicate with DataSource.\n * This is the base adaptor class that other adaptors can extend.\n *\n * @hidden\n */\nvar Adaptor = /** @class */ (function () {\n /**\n * Constructor for Adaptor class\n *\n * @param {DataOptions} ds?\n * @param ds\n * @hidden\n * @returns aggregates\n */\n function Adaptor(ds) {\n // common options for all the adaptors\n this.options = {\n from: 'table',\n requestType: 'json',\n sortBy: 'sorted',\n select: 'select',\n skip: 'skip',\n group: 'group',\n take: 'take',\n search: 'search',\n count: 'requiresCounts',\n where: 'where',\n aggregates: 'aggregates',\n expand: 'expand'\n };\n /**\n * Specifies the type of adaptor.\n *\n * @default Adaptor\n */\n this.type = Adaptor;\n this.dataSource = ds;\n this.pvt = {};\n }\n /**\n * Returns the data from the query processing.\n *\n * @param {Object} data\n * @param {DataOptions} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param ds\n * @param query\n * @param xhr\n * @returns Object\n */\n Adaptor.prototype.processResponse = function (data, ds, query, xhr) {\n return data;\n };\n return Adaptor;\n}());\n\n/**\n * JsonAdaptor is used to process JSON data. It contains methods to process the given JSON data based on the queries.\n *\n * @hidden\n */\nvar JsonAdaptor = /** @class */ (function (_super) {\n __extends(JsonAdaptor, _super);\n function JsonAdaptor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Process the JSON data based on the provided queries.\n *\n * @param {DataManager} dataManager\n * @param {Query} query\n * @returns Object\n */\n JsonAdaptor.prototype.processQuery = function (dataManager, query) {\n var result = dataManager.dataSource.json.slice(0);\n var count = result.length;\n var countFlg = true;\n var ret;\n var key;\n var lazyLoad = {};\n var keyCount = 0;\n var group = [];\n var sort = [];\n var page;\n for (var i = 0; i < query.lazyLoad.length; i++) {\n keyCount++;\n lazyLoad[query.lazyLoad[i].key] = query.lazyLoad[i].value;\n }\n var agg = {};\n var isGroupByFormat = false;\n if (query.lazyLoad.length) {\n for (var i = 0; i < query.queries.length; i++) {\n key = query.queries[i];\n if (key.fn === 'onGroup' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(key.e.format)) {\n isGroupByFormat = true;\n break;\n }\n }\n }\n for (var i = 0; i < query.queries.length; i++) {\n key = query.queries[i];\n if ((key.fn === 'onPage' || key.fn === 'onGroup' || (key.fn === 'onSortBy' && !isGroupByFormat)) && query.lazyLoad.length) {\n if (key.fn === 'onGroup') {\n group.push(key.e);\n }\n if (key.fn === 'onPage') {\n page = key.e;\n }\n if (key.fn === 'onSortBy') {\n sort.unshift(key.e);\n }\n continue;\n }\n ret = this[key.fn].call(this, result, key.e, query);\n if (key.fn === 'onAggregates') {\n agg[key.e.field + ' - ' + key.e.type] = ret;\n }\n else {\n result = ret !== undefined ? ret : result;\n }\n if (key.fn === 'onPage' || key.fn === 'onSkip' || key.fn === 'onTake' || key.fn === 'onRange') {\n countFlg = false;\n }\n if (countFlg) {\n count = result.length;\n }\n }\n if (keyCount) {\n var args = {\n query: query, lazyLoad: lazyLoad, result: result, group: group, page: page, sort: sort\n };\n var lazyLoadData = this.lazyLoadGroup(args);\n result = lazyLoadData.result;\n count = lazyLoadData.count;\n }\n if (query.isCountRequired) {\n result = {\n result: result,\n count: count,\n aggregates: agg\n };\n }\n return result;\n };\n /**\n * Perform lazy load grouping in JSON array based on the given query and lazy load details.\n *\n * @param {LazyLoadGroupArgs} args\n */\n JsonAdaptor.prototype.lazyLoadGroup = function (args) {\n var count = 0;\n var agg = this.getAggregate(args.query);\n var result = args.result;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.lazyLoad.onDemandGroupInfo)) {\n var req = args.lazyLoad.onDemandGroupInfo;\n for (var i = req.where.length - 1; i >= 0; i--) {\n result = this.onWhere(result, req.where[i]);\n }\n if (args.group.length !== req.level) {\n var field = args.group[req.level].fieldName;\n result = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.group(result, field, agg, null, null, args.group[req.level].comparer, true);\n if (args.sort.length) {\n result = this.onSortBy(result, args.sort[parseInt(req.level.toString(), 10)], args.query, true);\n }\n }\n else {\n for (var i = args.sort.length - 1; i >= req.level; i--) {\n result = this.onSortBy(result, args.sort[parseInt(i.toString(), 10)], args.query, false);\n }\n }\n count = result.length;\n var data = result;\n result = result.slice(req.skip);\n result = result.slice(0, req.take);\n if (args.group.length !== req.level) {\n this.formGroupResult(result, data);\n }\n }\n else {\n var field_1 = args.group[0].fieldName;\n result = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.group(result, field_1, agg, null, null, args.group[0].comparer, true);\n count = result.length;\n var data = result;\n if (args.sort.length) {\n var sort = args.sort.length > 1 ?\n args.sort.filter(function (x) { return x.fieldName === field_1; })[0] : args.sort[0];\n result = this.onSortBy(result, sort, args.query, true);\n }\n if (args.page) {\n result = this.onPage(result, args.page, args.query);\n }\n this.formGroupResult(result, data);\n }\n return { result: result, count: count };\n };\n JsonAdaptor.prototype.formGroupResult = function (result, data) {\n if (result.length && data.length) {\n var uid = 'GroupGuid';\n var childLevel = 'childLevels';\n var level = 'level';\n var records = 'records';\n result[uid] = data[uid];\n result[childLevel] = data[childLevel];\n result[level] = data[level];\n result[records] = data[records];\n }\n return result;\n };\n /**\n * Separate the aggregate query from the given queries\n *\n * @param {Query} query\n */\n JsonAdaptor.prototype.getAggregate = function (query) {\n var aggQuery = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onAggregates');\n var agg = [];\n if (aggQuery.length) {\n var tmp = void 0;\n for (var i = 0; i < aggQuery.length; i++) {\n tmp = aggQuery[i].e;\n agg.push({ type: tmp.type, field: _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(tmp.field, query) });\n }\n }\n return agg;\n };\n /**\n * Performs batch update in the JSON array which add, remove and update records.\n *\n * @param {DataManager} dm\n * @param {CrudOptions} changes\n * @param {RemoteArgs} e\n */\n JsonAdaptor.prototype.batchRequest = function (dm, changes, e) {\n var i;\n var deletedRecordsLen = changes.deletedRecords.length;\n for (i = 0; i < changes.addedRecords.length; i++) {\n this.insert(dm, changes.addedRecords[i]);\n }\n for (i = 0; i < changes.changedRecords.length; i++) {\n this.update(dm, e.key, changes.changedRecords[i]);\n }\n for (i = 0; i < deletedRecordsLen; i++) {\n this.remove(dm, e.key, changes.deletedRecords[i]);\n }\n return changes;\n };\n /**\n * Performs filter operation with the given data and where query.\n *\n * @param {Object[]} ds\n * @param {{validate:Function}} e\n * @param e.validate\n */\n JsonAdaptor.prototype.onWhere = function (ds, e) {\n if (!ds || !ds.length) {\n return ds;\n }\n return ds.filter(function (obj) {\n if (e) {\n return e.validate(obj);\n }\n });\n };\n /**\n * Returns aggregate function based on the aggregate type.\n *\n * @param {Object[]} ds\n * @param e\n * @param {string} } type\n * @param e.field\n * @param e.type\n */\n JsonAdaptor.prototype.onAggregates = function (ds, e) {\n var fn = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.aggregates[e.type];\n if (!ds || !fn || ds.length === 0) {\n return null;\n }\n return fn(ds, e.field);\n };\n /**\n * Performs search operation based on the given query.\n *\n * @param {Object[]} ds\n * @param {QueryOptions} e\n */\n JsonAdaptor.prototype.onSearch = function (ds, e) {\n if (!ds || !ds.length) {\n return ds;\n }\n if (e.fieldNames.length === 0) {\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getFieldList(ds[0], e.fieldNames);\n }\n return ds.filter(function (obj) {\n for (var j = 0; j < e.fieldNames.length; j++) {\n if (e.comparer.call(obj, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(e.fieldNames[j], obj), e.searchKey, e.ignoreCase, e.ignoreAccent)) {\n return true;\n }\n }\n return false;\n });\n };\n /**\n * Sort the data with given direction and field.\n *\n * @param {Object[]} ds\n * @param e\n * @param {Object} b\n * @param e.comparer\n * @param e.fieldName\n * @param query\n * @param isLazyLoadGroupSort\n */\n JsonAdaptor.prototype.onSortBy = function (ds, e, query, isLazyLoadGroupSort) {\n if (!ds || !ds.length) {\n return ds;\n }\n var fnCompare;\n var field = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.fieldName, query);\n if (!field) {\n return ds.sort(e.comparer);\n }\n if (field instanceof Array) {\n field = field.slice(0);\n for (var i = field.length - 1; i >= 0; i--) {\n if (!field[i]) {\n continue;\n }\n fnCompare = e.comparer;\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.endsWith(field[i], ' desc')) {\n fnCompare = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.fnSort('descending');\n field[i] = field[i].replace(' desc', '');\n }\n ds = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.sort(ds, field[i], fnCompare);\n }\n return ds;\n }\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.sort(ds, isLazyLoadGroupSort ? 'key' : field, e.comparer);\n };\n /**\n * Group the data based on the given query.\n *\n * @param {Object[]} ds\n * @param {QueryOptions} e\n * @param {Query} query\n */\n JsonAdaptor.prototype.onGroup = function (ds, e, query) {\n if (!ds || !ds.length) {\n return ds;\n }\n var agg = this.getAggregate(query);\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.group(ds, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.fieldName, query), agg, null, null, e.comparer);\n };\n /**\n * Retrieves records based on the given page index and size.\n *\n * @param {Object[]} ds\n * @param e\n * @param {number} } pageIndex\n * @param e.pageSize\n * @param {Query} query\n * @param e.pageIndex\n */\n JsonAdaptor.prototype.onPage = function (ds, e, query) {\n var size = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.pageSize, query);\n var start = (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.pageIndex, query) - 1) * size;\n var end = start + size;\n if (!ds || !ds.length) {\n return ds;\n }\n return ds.slice(start, end);\n };\n /**\n * Retrieves records based on the given start and end index from query.\n *\n * @param {Object[]} ds\n * @param e\n * @param {number} } end\n * @param e.start\n * @param e.end\n */\n JsonAdaptor.prototype.onRange = function (ds, e) {\n if (!ds || !ds.length) {\n return ds;\n }\n return ds.slice(_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.start), _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.end));\n };\n /**\n * Picks the given count of records from the top of the datasource.\n *\n * @param {Object[]} ds\n * @param {{nos:number}} e\n * @param e.nos\n */\n JsonAdaptor.prototype.onTake = function (ds, e) {\n if (!ds || !ds.length) {\n return ds;\n }\n return ds.slice(0, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.nos));\n };\n /**\n * Skips the given count of records from the data source.\n *\n * @param {Object[]} ds\n * @param {{nos:number}} e\n * @param e.nos\n */\n JsonAdaptor.prototype.onSkip = function (ds, e) {\n if (!ds || !ds.length) {\n return ds;\n }\n return ds.slice(_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.nos));\n };\n /**\n * Selects specified columns from the data source.\n *\n * @param {Object[]} ds\n * @param {{fieldNames:string}} e\n * @param e.fieldNames\n */\n JsonAdaptor.prototype.onSelect = function (ds, e) {\n if (!ds || !ds.length) {\n return ds;\n }\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.select(ds, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(e.fieldNames));\n };\n /**\n * Inserts new record in the table.\n *\n * @param {DataManager} dm\n * @param {Object} data\n * @param tableName\n * @param query\n * @param {number} position\n */\n JsonAdaptor.prototype.insert = function (dm, data, tableName, query, position) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(position)) {\n return dm.dataSource.json.push(data);\n }\n else {\n return dm.dataSource.json.splice(position, 0, data);\n }\n };\n /**\n * Remove the data from the dataSource based on the key field value.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName?\n * @param tableName\n * @returns null\n */\n JsonAdaptor.prototype.remove = function (dm, keyField, value, tableName) {\n var ds = dm.dataSource.json;\n var i;\n if (typeof value === 'object' && !(value instanceof Date)) {\n value = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(keyField, value);\n }\n for (i = 0; i < ds.length; i++) {\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(keyField, ds[i]) === value) {\n break;\n }\n }\n return i !== ds.length ? ds.splice(i, 1) : null;\n };\n /**\n * Updates existing record and saves the changes to the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName?\n * @param tableName\n * @returns null\n */\n JsonAdaptor.prototype.update = function (dm, keyField, value, tableName) {\n var ds = dm.dataSource.json;\n var i;\n var key;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(keyField)) {\n key = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(keyField, value);\n }\n for (i = 0; i < ds.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(keyField) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(keyField, ds[i])) === key) {\n break;\n }\n }\n return i < ds.length ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(ds[i], value) : null;\n };\n return JsonAdaptor;\n}(Adaptor));\n\n/**\n * URL Adaptor of DataManager can be used when you are required to use remote service to retrieve data.\n * It interacts with server-side for all DataManager Queries and CRUD operations.\n *\n * @hidden\n */\nvar UrlAdaptor = /** @class */ (function (_super) {\n __extends(UrlAdaptor, _super);\n function UrlAdaptor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Process the query to generate request body.\n *\n * @param {DataManager} dm\n * @param {Query} query\n * @param {Object[]} hierarchyFilters?\n * @param hierarchyFilters\n * @returns p\n */\n // tslint:disable-next-line:max-func-body-length\n UrlAdaptor.prototype.processQuery = function (dm, query, hierarchyFilters) {\n var queries = this.getQueryRequest(query);\n var singles = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueryLists(query.queries, ['onSelect', 'onPage', 'onSkip', 'onTake', 'onRange']);\n var params = query.params;\n var url = dm.dataSource.url;\n var temp;\n var skip;\n var take = null;\n var options = this.options;\n var request = { sorts: [], groups: [], filters: [], searches: [], aggregates: [] };\n // calc Paging & Range\n if ('onPage' in singles) {\n temp = singles.onPage;\n skip = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(temp.pageIndex, query);\n take = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(temp.pageSize, query);\n skip = (skip - 1) * take;\n }\n else if ('onRange' in singles) {\n temp = singles.onRange;\n skip = temp.start;\n take = temp.end - temp.start;\n }\n // Sorting\n for (var i = 0; i < queries.sorts.length; i++) {\n temp = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(queries.sorts[i].e.fieldName, query);\n request.sorts.push(_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onEachSort', { name: temp, direction: queries.sorts[i].e.direction }, query));\n }\n // hierarchy\n if (hierarchyFilters) {\n temp = this.getFiltersFrom(hierarchyFilters, query);\n if (temp) {\n request.filters.push(_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onEachWhere', temp.toJson(), query));\n }\n }\n // Filters\n for (var i = 0; i < queries.filters.length; i++) {\n var res = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onEachWhere', queries.filters[i].e.toJson(), query);\n if ((this.getModuleName &&\n this.getModuleName() === 'ODataV4Adaptor') &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(queries.filters[i].e.key) && queries.filters.length > 1) {\n res = '(' + res + ')';\n }\n request.filters.push(res);\n var keys_3 = typeof request.filters[i] === 'object' ? Object.keys(request.filters[i]) : [];\n for (var _i = 0, keys_1 = keys_3; _i < keys_1.length; _i++) {\n var prop = keys_1[_i];\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull((request)[prop])) {\n delete request[prop];\n }\n }\n }\n // Searches\n for (var i = 0; i < queries.searches.length; i++) {\n temp = queries.searches[i].e;\n request.searches.push(_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onEachSearch', {\n fields: temp.fieldNames,\n operator: temp.operator,\n key: temp.searchKey,\n ignoreCase: temp.ignoreCase,\n ignoreAccent: temp.ignoreAccent\n }, query));\n }\n // Grouping\n for (var i = 0; i < queries.groups.length; i++) {\n request.groups.push(_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(queries.groups[i].e.fieldName, query));\n }\n // aggregates\n for (var i = 0; i < queries.aggregates.length; i++) {\n temp = queries.aggregates[i].e;\n request.aggregates.push({ type: temp.type, field: _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(temp.field, query) });\n }\n var req = {};\n this.getRequestQuery(options, query, singles, request, req);\n // Params\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'addParams', { dm: dm, query: query, params: params, reqParams: req });\n if (query.lazyLoad.length) {\n for (var i = 0; i < query.lazyLoad.length; i++) {\n req[query.lazyLoad[i].key] = query.lazyLoad[i].value;\n }\n }\n // cleanup\n var keys = Object.keys(req);\n for (var _a = 0, keys_2 = keys; _a < keys_2.length; _a++) {\n var prop = keys_2[_a];\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull(req[prop]) || req[prop] === '' || req[prop].length === 0) {\n delete req[prop];\n }\n }\n if (!(options.skip in req && options.take in req) && take !== null) {\n req[options.skip] = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onSkip', skip, query);\n req[options.take] = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onTake', take, query);\n }\n var p = this.pvt;\n this.pvt = {};\n if (this.options.requestType === 'json') {\n return {\n data: JSON.stringify(req, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.jsonDateReplacer),\n url: url,\n pvtData: p,\n type: 'POST',\n contentType: 'application/json; charset=utf-8'\n };\n }\n temp = this.convertToQueryString(req, query, dm);\n temp = (dm.dataSource.url.indexOf('?') !== -1 ? '&' : '/') + temp;\n return {\n type: 'GET', url: temp.length ? url.replace(/\\/*$/, temp) : url, pvtData: p\n };\n };\n UrlAdaptor.prototype.getRequestQuery = function (options, query, singles, request, request1) {\n var param = 'param';\n var req = request1;\n req[options.from] = query.fromTable;\n if (options.apply && query.distincts.length) {\n req[options.apply] = 'onDistinct' in this ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onDistinct', query.distincts) : '';\n }\n if (!query.distincts.length && options.expand) {\n req[options.expand] = 'onExpand' in this && 'onSelect' in singles ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onExpand', { selects: _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(singles.onSelect.fieldNames, query), expands: query.expands }, query) : query.expands;\n }\n req[options.select] = 'onSelect' in singles && !query.distincts.length ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onSelect', _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(singles.onSelect.fieldNames, query), query) : '';\n req[options.count] = query.isCountRequired ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onCount', query.isCountRequired, query) : '';\n req[options.search] = request.searches.length ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onSearch', request.searches, query) : '';\n req[options.skip] = 'onSkip' in singles ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onSkip', _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(singles.onSkip.nos, query), query) : '';\n req[options.take] = 'onTake' in singles ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onTake', _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getValue(singles.onTake.nos, query), query) : '';\n req[options.where] = request.filters.length || request.searches.length ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onWhere', request.filters, query) : '';\n req[options.sortBy] = request.sorts.length ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onSortBy', request.sorts, query) : '';\n req[options.group] = request.groups.length ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onGroup', request.groups, query) : '';\n req[options.aggregates] = request.aggregates.length ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.callAdaptorFunction(this, 'onAggregates', request.aggregates, query) : '';\n req[param] = [];\n };\n /**\n * Convert the object from processQuery to string which can be added query string.\n *\n * @param {Object} req\n * @param request\n * @param {Query} query\n * @param {DataManager} dm\n */\n UrlAdaptor.prototype.convertToQueryString = function (request, query, dm) {\n return '';\n // this needs to be overridden\n };\n /**\n * Return the data from the data manager processing.\n *\n * @param {DataResult} data\n * @param {DataOptions} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param {Object} request?\n * @param {CrudOptions} changes?\n * @param ds\n * @param query\n * @param xhr\n * @param request\n * @param changes\n */\n UrlAdaptor.prototype.processResponse = function (data, ds, query, xhr, request, changes) {\n if (xhr && xhr.headers.get('Content-Type') &&\n xhr.headers.get('Content-Type').indexOf('application/json') !== -1) {\n var handleTimeZone = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.timeZoneHandling;\n if (ds && !ds.timeZoneHandling) {\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.timeZoneHandling = false;\n }\n if (!ds.enableCache) {\n data = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(data);\n }\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.timeZoneHandling = handleTimeZone;\n }\n var requests = request;\n var pvt = requests.pvtData || {};\n var groupDs = data ? data.groupDs : [];\n if (xhr && xhr.headers.get('Content-Type') &&\n xhr.headers.get('Content-Type').indexOf('xml') !== -1) {\n return (query.isCountRequired ? { result: [], count: 0 } : []);\n }\n var d = JSON.parse(requests.data);\n if (d && d.action === 'batch' && data && data.addedRecords && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(changes)) {\n changes.addedRecords = data.addedRecords;\n return changes;\n }\n if (data && data.d) {\n data = data.d;\n }\n var args = {};\n if (data && 'count' in data) {\n args.count = data.count;\n }\n args.result = data && data.result ? data.result : data;\n var isExpand = false;\n if (Array.isArray(data.result) && data.result.length) {\n var key = 'key';\n var val = 'value';\n var level = 'level';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.result[0][key])) {\n args.result = this.formRemoteGroupedData(args.result, 1, pvt.groups.length - 1);\n }\n if (query && query.lazyLoad.length && pvt.groups.length) {\n for (var i = 0; i < query.lazyLoad.length; i++) {\n if (query.lazyLoad[i][key] === 'onDemandGroupInfo') {\n var value = query.lazyLoad[i][val][level];\n if (pvt.groups.length === value) {\n isExpand = true;\n }\n }\n }\n }\n }\n if (!isExpand) {\n this.getAggregateResult(pvt, data, args, groupDs, query);\n }\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull(args.count) ? args.result : { result: args.result, count: args.count, aggregates: args.aggregates };\n };\n UrlAdaptor.prototype.formRemoteGroupedData = function (data, level, childLevel) {\n for (var i = 0; i < data.length; i++) {\n if (data[i].items.length && Object.keys(data[i].items[0]).indexOf('key') > -1) {\n this.formRemoteGroupedData(data[i].items, level + 1, childLevel - 1);\n }\n }\n var uid = 'GroupGuid';\n var childLvl = 'childLevels';\n var lvl = 'level';\n var records = 'records';\n data[uid] = consts[uid];\n data[lvl] = level;\n data[childLvl] = childLevel;\n data[records] = data[0].items.length ? this.getGroupedRecords(data, !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data[0].items[records])) : [];\n return data;\n };\n UrlAdaptor.prototype.getGroupedRecords = function (data, hasRecords) {\n var childGroupedRecords = [];\n var records = 'records';\n for (var i = 0; i < data.length; i++) {\n if (!hasRecords) {\n for (var j = 0; j < data[i].items.length; j++) {\n childGroupedRecords.push(data[i].items[j]);\n }\n }\n else {\n childGroupedRecords = childGroupedRecords.concat(data[i].items[records]);\n }\n }\n return childGroupedRecords;\n };\n /**\n * Add the group query to the adaptor`s option.\n *\n * @param {Object[]} e\n * @returns void\n */\n UrlAdaptor.prototype.onGroup = function (e) {\n this.pvt.groups = e;\n return e;\n };\n /**\n * Add the aggregate query to the adaptor`s option.\n *\n * @param {Aggregates[]} e\n * @returns void\n */\n UrlAdaptor.prototype.onAggregates = function (e) {\n this.pvt.aggregates = e;\n };\n /**\n * Prepare the request body based on the newly added, removed and updated records.\n * The result is used by the batch request.\n *\n * @param {DataManager} dm\n * @param {CrudOptions} changes\n * @param {Object} e\n * @param query\n * @param original\n */\n UrlAdaptor.prototype.batchRequest = function (dm, changes, e, query, original) {\n var url;\n var key;\n return {\n type: 'POST',\n url: dm.dataSource.batchUrl || dm.dataSource.crudUrl || dm.dataSource.removeUrl || dm.dataSource.url,\n contentType: 'application/json; charset=utf-8',\n dataType: 'json',\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n changed: changes.changedRecords,\n added: changes.addedRecords,\n deleted: changes.deletedRecords,\n action: 'batch',\n table: e[url],\n key: e[key]\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n /**\n * Method will trigger before send the request to server side.\n * Used to set the custom header or modify the request options.\n *\n * @param {DataManager} dm\n * @param {Request} request\n * @param {Fetch} settings?\n * @returns void\n */\n UrlAdaptor.prototype.beforeSend = function (dm, request, settings) {\n // need to extend this method\n };\n /**\n * Prepare and returns request body which is used to insert a new record in the table.\n *\n * @param {DataManager} dm\n * @param {Object} data\n * @param {string} tableName\n * @param query\n */\n UrlAdaptor.prototype.insert = function (dm, data, tableName, query) {\n return {\n url: dm.dataSource.insertUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n value: data,\n table: tableName,\n action: 'insert'\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n /**\n * Prepare and return request body which is used to remove record from the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {number|string} value\n * @param {string} tableName\n * @param query\n */\n UrlAdaptor.prototype.remove = function (dm, keyField, value, tableName, query) {\n return {\n type: 'POST',\n url: dm.dataSource.removeUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n key: value,\n keyColumn: keyField,\n table: tableName,\n action: 'remove'\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n /**\n * Prepare and return request body which is used to update record.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName\n * @param query\n */\n UrlAdaptor.prototype.update = function (dm, keyField, value, tableName, query) {\n return {\n type: 'POST',\n url: dm.dataSource.updateUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n value: value,\n action: 'update',\n keyColumn: keyField,\n key: _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(keyField, value),\n table: tableName\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n /**\n * To generate the predicate based on the filtered query.\n *\n * @param {Object[]|string[]|number[]} data\n * @param {Query} query\n * @hidden\n */\n UrlAdaptor.prototype.getFiltersFrom = function (data, query) {\n var key = query.fKey;\n var value;\n var prop = key;\n var pKey = query.key;\n var predicats = [];\n if (typeof data[0] !== 'object') {\n prop = null;\n }\n for (var i = 0; i < data.length; i++) {\n if (typeof data[0] === 'object') {\n value = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(pKey || prop, data[i]);\n }\n else {\n value = data[i];\n }\n predicats.push(new _query__WEBPACK_IMPORTED_MODULE_2__.Predicate(key, 'equal', value));\n }\n return _query__WEBPACK_IMPORTED_MODULE_2__.Predicate.or(predicats);\n };\n UrlAdaptor.prototype.getAggregateResult = function (pvt, data, args, groupDs, query) {\n var pData = data;\n if (data && data.result) {\n pData = data.result;\n }\n if (pvt && pvt.aggregates && pvt.aggregates.length) {\n var agg = pvt.aggregates;\n var fn = void 0;\n var aggregateData = pData;\n var res = {};\n if (data.aggregate) {\n aggregateData = data.aggregate;\n }\n for (var i = 0; i < agg.length; i++) {\n fn = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.aggregates[agg[i].type];\n if (fn) {\n res[agg[i].field + ' - ' + agg[i].type] = fn(aggregateData, agg[i].field);\n }\n }\n args.aggregates = res;\n }\n var key = 'key';\n var isServerGrouping = Array.isArray(data.result) && data.result.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.result[0][key]);\n if (pvt && pvt.groups && pvt.groups.length && !isServerGrouping) {\n var groups = pvt.groups;\n for (var i = 0; i < groups.length; i++) {\n var level = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(groupDs)) {\n groupDs = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.group(groupDs, groups[i]);\n }\n var groupQuery = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onGroup')[i].e;\n pData = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.group(pData, groups[i], pvt.aggregates, level, groupDs, groupQuery.comparer);\n }\n args.result = pData;\n }\n return args;\n };\n UrlAdaptor.prototype.getQueryRequest = function (query) {\n var req = { sorts: [], groups: [], filters: [], searches: [], aggregates: [] };\n req.sorts = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onSortBy');\n req.groups = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onGroup');\n req.filters = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onWhere');\n req.searches = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onSearch');\n req.aggregates = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueries(query.queries, 'onAggregates');\n return req;\n };\n UrlAdaptor.prototype.addParams = function (options) {\n var req = options.reqParams;\n if (options.params.length) {\n req.params = {};\n }\n for (var _i = 0, _a = options.params; _i < _a.length; _i++) {\n var tmp = _a[_i];\n if (req[tmp.key]) {\n throw new Error('Query() - addParams: Custom Param is conflicting other request arguments');\n }\n req[tmp.key] = tmp.value;\n if (tmp.fn) {\n req[tmp.key] = tmp.fn.call(options.query, tmp.key, options.query, options.dm);\n }\n req.params[tmp.key] = req[tmp.key];\n }\n };\n return UrlAdaptor;\n}(Adaptor));\n\n/**\n * OData Adaptor that is extended from URL Adaptor, is used for consuming data through OData Service.\n *\n * @hidden\n */\nvar ODataAdaptor = /** @class */ (function (_super) {\n __extends(ODataAdaptor, _super);\n function ODataAdaptor(props) {\n var _this = _super.call(this) || this;\n // options replaced the default adaptor options\n _this.options = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, _this.options, {\n requestType: 'get',\n accept: 'application/json;odata=light;q=1,application/json;odata=verbose;q=0.5',\n multipartAccept: 'multipart/mixed',\n sortBy: '$orderby',\n select: '$select',\n skip: '$skip',\n take: '$top',\n count: '$inlinecount',\n where: '$filter',\n expand: '$expand',\n batch: '$batch',\n changeSet: '--changeset_',\n batchPre: 'batch_',\n contentId: 'Content-Id: ',\n batchContent: 'Content-Type: multipart/mixed; boundary=',\n changeSetContent: 'Content-Type: application/http\\nContent-Transfer-Encoding: binary ',\n batchChangeSetContentType: 'Content-Type: application/json; charset=utf-8 ',\n updateType: 'PUT'\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(_this.options, props || {});\n return _this;\n }\n ODataAdaptor.prototype.getModuleName = function () {\n return 'ODataAdaptor';\n };\n /**\n * Generate request string based on the filter criteria from query.\n *\n * @param {Predicate} pred\n * @param {boolean} requiresCast?\n * @param predicate\n * @param query\n * @param requiresCast\n */\n ODataAdaptor.prototype.onPredicate = function (predicate, query, requiresCast) {\n var returnValue = '';\n var operator;\n var guid;\n var val = predicate.value;\n var type = typeof val;\n var field = predicate.field ? ODataAdaptor.getField(predicate.field) : null;\n if (val instanceof Date) {\n val = 'datetime\\'' + _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.replacer(val) + '\\'';\n }\n if (type === 'string') {\n val = val.replace(/'/g, '\\'\\'');\n if (predicate.ignoreCase) {\n val = val.toLowerCase();\n }\n if (predicate.operator !== 'like') {\n val = encodeURIComponent(val);\n }\n if (predicate.operator !== 'wildcard' && predicate.operator !== 'like') {\n val = '\\'' + val + '\\'';\n }\n if (requiresCast) {\n field = 'cast(' + field + ', \\'Edm.String\\')';\n }\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(val)) {\n guid = 'guid';\n }\n if (predicate.ignoreCase) {\n if (!guid) {\n field = 'tolower(' + field + ')';\n }\n val = val.toLowerCase();\n }\n }\n if (predicate.operator === 'isempty' || predicate.operator === 'isnull' || predicate.operator === 'isnotempty' ||\n predicate.operator === 'isnotnull') {\n operator = predicate.operator.indexOf('isnot') !== -1 ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odBiOperator['notequal'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odBiOperator['equal'];\n val = predicate.operator === 'isnull' || predicate.operator === 'isnotnull' ? null : '\\'\\'';\n }\n else {\n operator = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odBiOperator[predicate.operator];\n }\n if (operator) {\n returnValue += field;\n returnValue += operator;\n if (guid) {\n returnValue += guid;\n }\n return returnValue + val;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor') {\n operator = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator[predicate.operator];\n }\n else {\n operator = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator[predicate.operator];\n }\n if (operator === 'like') {\n val = val;\n if (val.indexOf('%') !== -1) {\n if (val.charAt(0) === '%' && val.lastIndexOf('%') < 2) {\n val = val.substring(1, val.length);\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['startswith'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['startswith'];\n }\n else if (val.charAt(val.length - 1) === '%' && val.indexOf('%') > val.length - 3) {\n val = val.substring(0, val.length - 1);\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['endswith'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['endswith'];\n }\n else if (val.lastIndexOf('%') !== val.indexOf('%') && val.lastIndexOf('%') > val.indexOf('%') + 1) {\n val = val.substring(val.indexOf('%') + 1, val.lastIndexOf('%'));\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['contains'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['contains'];\n }\n else {\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['contains'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['contains'];\n }\n }\n val = encodeURIComponent(val);\n val = '\\'' + val + '\\'';\n }\n else if (operator === 'wildcard') {\n val = val;\n if (val.indexOf('*') !== -1) {\n var splittedStringValue = val.split('*');\n var splittedValue = void 0;\n var count = 0;\n if (val.indexOf('*') !== 0 && splittedStringValue[0].indexOf('%3f') === -1 &&\n splittedStringValue[0].indexOf('?') === -1) {\n splittedValue = splittedStringValue[0];\n splittedValue = '\\'' + splittedValue + '\\'';\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['startswith'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['startswith'];\n returnValue += operator + '(';\n returnValue += field + ',';\n if (guid) {\n returnValue += guid;\n }\n returnValue += splittedValue + ')';\n count++;\n }\n if (val.lastIndexOf('*') !== val.length - 1 && splittedStringValue[splittedStringValue.length - 1].indexOf('%3f') === -1 &&\n splittedStringValue[splittedStringValue.length - 1].indexOf('?') === -1) {\n splittedValue = splittedStringValue[splittedStringValue.length - 1];\n splittedValue = '\\'' + splittedValue + '\\'';\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['endswith'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['endswith'];\n if (count > 0) {\n returnValue += ' and ';\n }\n returnValue += operator + '(';\n returnValue += field + ',';\n if (guid) {\n returnValue += guid;\n }\n returnValue += splittedValue + ')';\n count++;\n }\n if (splittedStringValue.length > 2) {\n for (var i = 1; i < splittedStringValue.length - 1; i++) {\n if (splittedStringValue[i].indexOf('%3f') === -1 && splittedStringValue[i].indexOf('?') === -1) {\n splittedValue = splittedStringValue[i];\n splittedValue = '\\'' + splittedValue + '\\'';\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['contains'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['contains'];\n if (count > 0) {\n returnValue += ' and ';\n }\n if (operator === 'substringof' || operator === 'not substringof') {\n var temp = splittedValue;\n splittedValue = field;\n field = temp;\n }\n returnValue += operator + '(';\n returnValue += field + ',';\n if (guid) {\n returnValue += guid;\n }\n returnValue += splittedValue + ')';\n count++;\n }\n }\n }\n if (count === 0) {\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['contains'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['contains'];\n if (val.indexOf('?') !== -1 || val.indexOf('%3f') !== -1) {\n val = val.indexOf('?') !== -1 ? val.split('?').join('') : val.split('%3f').join('');\n }\n val = '\\'' + val + '\\'';\n }\n else {\n operator = 'wildcard';\n }\n }\n else {\n operator = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getModuleName) && this.getModuleName() === 'ODataV4Adaptor' ?\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odv4UniOperator['contains'] : _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.odUniOperator['contains'];\n if (val.indexOf('?') !== -1 || val.indexOf('%3f') !== -1) {\n val = val.indexOf('?') !== -1 ? val.split('?').join('') : val.split('%3f').join('');\n }\n val = '\\'' + val + '\\'';\n }\n }\n if (operator === 'substringof' || operator === 'not substringof') {\n var temp = val;\n val = field;\n field = temp;\n }\n if (operator !== 'wildcard') {\n returnValue += operator + '(';\n returnValue += field + ',';\n if (guid) {\n returnValue += guid;\n }\n returnValue += val + ')';\n }\n return returnValue;\n };\n ODataAdaptor.prototype.addParams = function (options) {\n _super.prototype.addParams.call(this, options);\n delete options.reqParams.params;\n };\n /**\n * Generate request string based on the multiple filter criteria from query.\n *\n * @param {Predicate} pred\n * @param {boolean} requiresCast?\n * @param predicate\n * @param query\n * @param requiresCast\n */\n ODataAdaptor.prototype.onComplexPredicate = function (predicate, query, requiresCast) {\n var res = [];\n for (var i = 0; i < predicate.predicates.length; i++) {\n res.push('(' + this.onEachWhere(predicate.predicates[i], query, requiresCast) + ')');\n }\n return res.join(' ' + predicate.condition + ' ');\n };\n /**\n * Generate query string based on the multiple filter criteria from query.\n *\n * @param {Predicate} filter\n * @param {boolean} requiresCast?\n * @param query\n * @param requiresCast\n */\n ODataAdaptor.prototype.onEachWhere = function (filter, query, requiresCast) {\n return filter.isComplex ? this.onComplexPredicate(filter, query, requiresCast) : this.onPredicate(filter, query, requiresCast);\n };\n /**\n * Generate query string based on the multiple filter criteria from query.\n *\n * @param {string[]} filters\n */\n ODataAdaptor.prototype.onWhere = function (filters) {\n if (this.pvt.search) {\n filters.push(this.onEachWhere(this.pvt.search, null, true));\n }\n return filters.join(' and ');\n };\n /**\n * Generate query string based on the multiple search criteria from query.\n *\n * @param e\n * @param {string} operator\n * @param {string} key\n * @param {boolean} } ignoreCase\n * @param e.fields\n * @param e.operator\n * @param e.key\n * @param e.ignoreCase\n */\n ODataAdaptor.prototype.onEachSearch = function (e) {\n if (e.fields && e.fields.length === 0) {\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.throwError('Query() - Search : oData search requires list of field names to search');\n }\n var filter = this.pvt.search || [];\n for (var i = 0; i < e.fields.length; i++) {\n filter.push(new _query__WEBPACK_IMPORTED_MODULE_2__.Predicate(e.fields[i], e.operator, e.key, e.ignoreCase));\n }\n this.pvt.search = filter;\n };\n /**\n * Generate query string based on the search criteria from query.\n *\n * @param {Object} e\n */\n ODataAdaptor.prototype.onSearch = function (e) {\n this.pvt.search = _query__WEBPACK_IMPORTED_MODULE_2__.Predicate.or(this.pvt.search);\n return '';\n };\n /**\n * Generate query string based on multiple sort criteria from query.\n *\n * @param {QueryOptions} e\n */\n ODataAdaptor.prototype.onEachSort = function (e) {\n var res = [];\n if (e.name instanceof Array) {\n for (var i = 0; i < e.name.length; i++) {\n res.push(ODataAdaptor.getField(e.name[i]) + (e.direction === 'descending' ? ' desc' : ''));\n }\n }\n else {\n res.push(ODataAdaptor.getField(e.name) + (e.direction === 'descending' ? ' desc' : ''));\n }\n return res.join(',');\n };\n /**\n * Returns sort query string.\n *\n * @param {string[]} e\n */\n ODataAdaptor.prototype.onSortBy = function (e) {\n return e.reverse().join(',');\n };\n /**\n * Adds the group query to the adaptor option.\n *\n * @param {Object[]} e\n * @returns string\n */\n ODataAdaptor.prototype.onGroup = function (e) {\n this.pvt.groups = e;\n return [];\n };\n /**\n * Returns the select query string.\n *\n * @param {string[]} e\n */\n ODataAdaptor.prototype.onSelect = function (e) {\n for (var i = 0; i < e.length; i++) {\n e[i] = ODataAdaptor.getField(e[i]);\n }\n return e.join(',');\n };\n /**\n * Add the aggregate query to the adaptor option.\n *\n * @param {Object[]} e\n * @returns string\n */\n ODataAdaptor.prototype.onAggregates = function (e) {\n this.pvt.aggregates = e;\n return '';\n };\n /**\n * Returns the query string which requests total count from the data source.\n *\n * @param {boolean} e\n * @returns string\n */\n ODataAdaptor.prototype.onCount = function (e) {\n return e === true ? 'allpages' : '';\n };\n /**\n * Method will trigger before send the request to server side.\n * Used to set the custom header or modify the request options.\n *\n * @param {DataManager} dm\n * @param {Request} request\n * @param {Fetch} settings?\n * @param settings\n */\n ODataAdaptor.prototype.beforeSend = function (dm, request, settings) {\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.endsWith(settings.url, this.options.batch) && settings.type.toLowerCase() === 'post') {\n request.headers.set('Accept', this.options.multipartAccept);\n request.headers.set('DataServiceVersion', '2.0');\n //request.overrideMimeType('text/plain; charset=x-user-defined');\n }\n else {\n request.headers.set('Accept', this.options.accept);\n }\n request.headers.set('DataServiceVersion', '2.0');\n request.headers.set('MaxDataServiceVersion', '2.0');\n };\n /**\n * Returns the data from the query processing.\n *\n * @param {DataResult} data\n * @param {DataOptions} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param {Fetch} request?\n * @param {CrudOptions} changes?\n * @param ds\n * @param query\n * @param xhr\n * @param request\n * @param changes\n * @returns aggregateResult\n */\n ODataAdaptor.prototype.processResponse = function (data, ds, query, xhr, request, changes) {\n var metaCheck = 'odata.metadata';\n if ((request && request.type === 'GET') && !this.rootUrl && data[metaCheck]) {\n var dataUrls = data[metaCheck].split('/$metadata#');\n this.rootUrl = dataUrls[0];\n this.resourceTableName = dataUrls[1];\n }\n var pvtData = 'pvtData';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.d)) {\n var dataCopy = ((query && query.isCountRequired) ? data.d.results : data.d);\n var metaData = '__metadata';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataCopy)) {\n for (var i = 0; i < dataCopy.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataCopy[i][metaData])) {\n delete dataCopy[i][metaData];\n }\n }\n }\n }\n var pvt = request && request[pvtData];\n var emptyAndBatch = this.processBatchResponse(data, query, xhr, request, changes);\n if (emptyAndBatch) {\n return emptyAndBatch;\n }\n var versionCheck = xhr && request.fetchRequest.headers.get('DataServiceVersion');\n var count = null;\n var version = (versionCheck && parseInt(versionCheck, 10)) || 2;\n if (query && query.isCountRequired) {\n var oDataCount = '__count';\n if (data[oDataCount] || data['odata.count']) {\n count = data[oDataCount] || data['odata.count'];\n }\n if (data.d) {\n data = data.d;\n }\n if (data[oDataCount] || data['odata.count']) {\n count = data[oDataCount] || data['odata.count'];\n }\n }\n if (version === 3 && data.value) {\n data = data.value;\n }\n if (data.d) {\n data = data.d;\n }\n if (version < 3 && data.results) {\n data = data.results;\n }\n var args = {};\n args.count = count;\n args.result = data;\n this.getAggregateResult(pvt, data, args, null, query);\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull(count) ? args.result : { result: args.result, count: args.count, aggregates: args.aggregates };\n };\n /**\n * Converts the request object to query string.\n *\n * @param {Object} req\n * @param request\n * @param {Query} query\n * @param {DataManager} dm\n * @returns tableName\n */\n ODataAdaptor.prototype.convertToQueryString = function (request, query, dm) {\n var res = [];\n var table = 'table';\n var tableName = request[table] || '';\n var format = '$format';\n delete request[table];\n if (dm.dataSource.requiresFormat) {\n request[format] = 'json';\n }\n var keys = Object.keys(request);\n for (var _i = 0, keys_4 = keys; _i < keys_4.length; _i++) {\n var prop = keys_4[_i];\n res.push(prop + '=' + request[prop]);\n }\n res = res.join('&');\n if (dm.dataSource.url && dm.dataSource.url.indexOf('?') !== -1 && !tableName) {\n return res;\n }\n return res.length ? tableName + '?' + res : tableName || '';\n };\n ODataAdaptor.prototype.localTimeReplacer = function (key, convertObj) {\n for (var _i = 0, _a = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(convertObj) ? Object.keys(convertObj) : []; _i < _a.length; _i++) {\n var prop = _a[_i];\n if ((convertObj[prop] instanceof Date)) {\n convertObj[prop] = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.dateParse.toLocalTime(convertObj[prop]);\n }\n }\n return convertObj;\n };\n /**\n * Prepare and returns request body which is used to insert a new record in the table.\n *\n * @param {DataManager} dm\n * @param {Object} data\n * @param {string} tableName?\n * @param tableName\n */\n ODataAdaptor.prototype.insert = function (dm, data, tableName) {\n return {\n url: (dm.dataSource.insertUrl || dm.dataSource.url).replace(/\\/*$/, tableName ? '/' + tableName : ''),\n data: JSON.stringify(data, this.options.localTime ? this.localTimeReplacer : null)\n };\n };\n /**\n * Prepare and return request body which is used to remove record from the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {number} value\n * @param {string} tableName?\n * @param tableName\n */\n ODataAdaptor.prototype.remove = function (dm, keyField, value, tableName) {\n var url;\n if (typeof value === 'string' && !_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(value)) {\n url = \"('\" + value + \"')\";\n }\n else {\n url = \"(\" + value + \")\";\n }\n return {\n type: 'DELETE',\n url: (dm.dataSource.removeUrl || dm.dataSource.url).replace(/\\/*$/, tableName ? '/' + tableName : '') + url\n };\n };\n /**\n * Updates existing record and saves the changes to the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName?\n * @param tableName\n * @param query\n * @param original\n * @returns this\n */\n ODataAdaptor.prototype.update = function (dm, keyField, value, tableName, query, original) {\n if (this.options.updateType === 'PATCH' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(original)) {\n value = this.compareAndRemove(value, original, keyField);\n }\n var url;\n if (typeof value[keyField] === 'string' && !_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(value[keyField])) {\n url = \"('\" + value[keyField] + \"')\";\n }\n else {\n url = \"(\" + value[keyField] + \")\";\n }\n return {\n type: this.options.updateType,\n url: (dm.dataSource.updateUrl || dm.dataSource.url).replace(/\\/*$/, tableName ? '/' + tableName : '') + url,\n data: JSON.stringify(value, this.options.localTime ? this.localTimeReplacer : null),\n accept: this.options.accept\n };\n };\n /**\n * Prepare the request body based on the newly added, removed and updated records.\n * The result is used by the batch request.\n *\n * @param {DataManager} dm\n * @param {CrudOptions} changes\n * @param {RemoteArgs} e\n * @param query\n * @param original\n * @returns {Object}\n */\n ODataAdaptor.prototype.batchRequest = function (dm, changes, e, query, original) {\n var initialGuid = e.guid = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getGuid(this.options.batchPre);\n var url = (dm.dataSource.batchUrl || this.rootUrl) ?\n (dm.dataSource.batchUrl || this.rootUrl) + '/' + this.options.batch :\n (dm.dataSource.batchUrl || dm.dataSource.url).replace(/\\/*$/, '/' + this.options.batch);\n e.url = this.resourceTableName ? this.resourceTableName : e.url;\n var args = {\n url: e.url,\n key: e.key,\n cid: 1,\n cSet: _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getGuid(this.options.changeSet)\n };\n var req = '--' + initialGuid + '\\n';\n req += 'Content-Type: multipart/mixed; boundary=' + args.cSet.replace('--', '') + '\\n';\n this.pvt.changeSet = 0;\n req += this.generateInsertRequest(changes.addedRecords, args, dm);\n req += this.generateUpdateRequest(changes.changedRecords, args, dm, original ? original.changedRecords : []);\n req += this.generateDeleteRequest(changes.deletedRecords, args, dm);\n req += args.cSet + '--\\n';\n req += '--' + initialGuid + '--';\n return {\n type: 'POST',\n url: url,\n dataType: 'json',\n contentType: 'multipart/mixed; charset=UTF-8;boundary=' + initialGuid,\n data: req\n };\n };\n /**\n * Generate the string content from the removed records.\n * The result will be send during batch update.\n *\n * @param {Object[]} arr\n * @param {RemoteArgs} e\n * @param dm\n * @returns this\n */\n ODataAdaptor.prototype.generateDeleteRequest = function (arr, e, dm) {\n if (!arr) {\n return '';\n }\n var req = '';\n var stat = {\n 'method': 'DELETE ',\n 'url': function (data, i, key) {\n var url = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(key, data[i]);\n if (typeof url === 'number' || _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(url)) {\n return '(' + url + ')';\n }\n else if (url instanceof Date) {\n var dateTime = data[i][key];\n return '(' + dateTime.toJSON() + ')';\n }\n else {\n return \"('\" + url + \"')\";\n }\n },\n 'data': function (data, i) { return ''; }\n };\n req = this.generateBodyContent(arr, e, stat, dm);\n return req + '\\n';\n };\n /**\n * Generate the string content from the inserted records.\n * The result will be send during batch update.\n *\n * @param {Object[]} arr\n * @param {RemoteArgs} e\n * @param dm\n */\n ODataAdaptor.prototype.generateInsertRequest = function (arr, e, dm) {\n if (!arr) {\n return '';\n }\n var req = '';\n var stat = {\n 'method': 'POST ',\n 'url': function (data, i, key) { return ''; },\n 'data': function (data, i) { return JSON.stringify(data[i]) + '\\n\\n'; }\n };\n req = this.generateBodyContent(arr, e, stat, dm);\n return req;\n };\n /**\n * Generate the string content from the updated records.\n * The result will be send during batch update.\n *\n * @param {Object[]} arr\n * @param {RemoteArgs} e\n * @param dm\n * @param org\n */\n ODataAdaptor.prototype.generateUpdateRequest = function (arr, e, dm, org) {\n var _this = this;\n if (!arr) {\n return '';\n }\n var req = '';\n arr.forEach(function (change) { return change = _this.compareAndRemove(change, org.filter(function (o) { return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(e.key, o) === _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(e.key, change); })[0], e.key); });\n var stat = {\n 'method': this.options.updateType + ' ',\n 'url': function (data, i, key) {\n if (typeof data[i][key] === 'number' || _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(data[i][key])) {\n return '(' + data[i][key] + ')';\n }\n else if (data[i][key] instanceof Date) {\n var date = data[i][key];\n return '(' + date.toJSON() + ')';\n }\n else {\n return \"('\" + data[i][key] + \"')\";\n }\n },\n 'data': function (data, i) { return JSON.stringify(data[i]) + '\\n\\n'; }\n };\n req = this.generateBodyContent(arr, e, stat, dm);\n return req;\n };\n ODataAdaptor.getField = function (prop) {\n return prop.replace(/\\./g, '/');\n };\n ODataAdaptor.prototype.generateBodyContent = function (arr, e, stat, dm) {\n var req = '';\n for (var i = 0; i < arr.length; i++) {\n req += '\\n' + e.cSet + '\\n';\n req += this.options.changeSetContent + '\\n\\n';\n req += stat.method;\n if (stat.method === 'POST ') {\n req += (dm.dataSource.insertUrl || dm.dataSource.crudUrl || e.url) + stat.url(arr, i, e.key) + ' HTTP/1.1\\n';\n }\n else if (stat.method === 'PUT ' || stat.method === 'PATCH ') {\n req += (dm.dataSource.updateUrl || dm.dataSource.crudUrl || e.url) + stat.url(arr, i, e.key) + ' HTTP/1.1\\n';\n }\n else if (stat.method === 'DELETE ') {\n req += (dm.dataSource.removeUrl || dm.dataSource.crudUrl || e.url) + stat.url(arr, i, e.key) + ' HTTP/1.1\\n';\n }\n req += 'Accept: ' + this.options.accept + '\\n';\n req += 'Content-Id: ' + this.pvt.changeSet++ + '\\n';\n req += this.options.batchChangeSetContentType + '\\n';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(arr[i]['@odata.etag'])) {\n req += 'If-Match: ' + arr[i]['@odata.etag'] + '\\n\\n';\n delete arr[i]['@odata.etag'];\n }\n else {\n req += '\\n';\n }\n req += stat.data(arr, i);\n }\n return req;\n };\n ODataAdaptor.prototype.processBatchResponse = function (data, query, xhr, request, changes) {\n if (xhr && xhr.headers.get('Content-Type') && xhr.headers.get('Content-Type').indexOf('xml') !== -1) {\n return (query.isCountRequired ? { result: [], count: 0 } : []);\n }\n if (request && this.options.batch && _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.endsWith(request.url, this.options.batch) && request.type.toLowerCase() === 'post') {\n var guid = xhr.headers.get('Content-Type');\n var cIdx = void 0;\n var jsonObj = void 0;\n var d = data + '';\n guid = guid.substring(guid.indexOf('=batchresponse') + 1);\n d = d.split(guid);\n if (d.length < 2) {\n return {};\n }\n d = d[1];\n var exVal = /(?:\\bContent-Type.+boundary=)(changesetresponse.+)/i.exec(d);\n if (exVal) {\n d.replace(exVal[0], '');\n }\n var changeGuid = exVal ? exVal[1] : '';\n d = d.split(changeGuid);\n for (var i = d.length; i > -1; i--) {\n if (!/\\bContent-ID:/i.test(d[i]) || !/\\bHTTP.+201/.test(d[i])) {\n continue;\n }\n cIdx = parseInt(/\\bContent-ID: (\\d+)/i.exec(d[i])[1], 10);\n if (changes.addedRecords[cIdx]) {\n jsonObj = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(/^\\{.+\\}/m.exec(d[i])[0]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, changes.addedRecords[cIdx], this.processResponse(jsonObj));\n }\n }\n return changes;\n }\n return null;\n };\n ODataAdaptor.prototype.compareAndRemove = function (data, original, key) {\n var _this = this;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(original)) {\n return data;\n }\n Object.keys(data).forEach(function (prop) {\n if (prop !== key && prop !== '@odata.etag') {\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isPlainObject(data[prop])) {\n _this.compareAndRemove(data[prop], original[prop]);\n var final = Object.keys(data[prop]).filter(function (data) { return data !== '@odata.etag'; });\n if (final.length === 0) {\n delete data[prop];\n }\n }\n else if (data[prop] === original[prop]) {\n delete data[prop];\n }\n else if (data[prop] && original[prop] && data[prop].valueOf() === original[prop].valueOf()) {\n delete data[prop];\n }\n }\n });\n return data;\n };\n return ODataAdaptor;\n}(UrlAdaptor));\n\n/**\n * The OData v4 is an improved version of OData protocols.\n * The DataManager uses the ODataV4Adaptor to consume OData v4 services.\n *\n * @hidden\n */\nvar ODataV4Adaptor = /** @class */ (function (_super) {\n __extends(ODataV4Adaptor, _super);\n function ODataV4Adaptor(props) {\n var _this = _super.call(this, props) || this;\n // options replaced the default adaptor options\n _this.options = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, _this.options, {\n requestType: 'get',\n accept: 'application/json, text/javascript, */*; q=0.01',\n multipartAccept: 'multipart/mixed',\n sortBy: '$orderby',\n select: '$select',\n skip: '$skip',\n take: '$top',\n count: '$count',\n search: '$search',\n where: '$filter',\n expand: '$expand',\n batch: '$batch',\n changeSet: '--changeset_',\n batchPre: 'batch_',\n contentId: 'Content-Id: ',\n batchContent: 'Content-Type: multipart/mixed; boundary=',\n changeSetContent: 'Content-Type: application/http\\nContent-Transfer-Encoding: binary ',\n batchChangeSetContentType: 'Content-Type: application/json; charset=utf-8 ',\n updateType: 'PATCH',\n localTime: false,\n apply: '$apply'\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(_this.options, props || {});\n return _this;\n }\n /**\n * @hidden\n */\n ODataV4Adaptor.prototype.getModuleName = function () {\n return 'ODataV4Adaptor';\n };\n /**\n * Returns the query string which requests total count from the data source.\n *\n * @param {boolean} e\n * @returns string\n */\n ODataV4Adaptor.prototype.onCount = function (e) {\n return e === true ? 'true' : '';\n };\n /**\n * Generate request string based on the filter criteria from query.\n *\n * @param {Predicate} pred\n * @param {boolean} requiresCast?\n * @param predicate\n * @param query\n * @param requiresCast\n */\n ODataV4Adaptor.prototype.onPredicate = function (predicate, query, requiresCast) {\n var returnValue = '';\n var val = predicate.value;\n var isDate = val instanceof Date;\n if (query instanceof _query__WEBPACK_IMPORTED_MODULE_2__.Query) {\n var queries = this.getQueryRequest(query);\n for (var i = 0; i < queries.filters.length; i++) {\n if (queries.filters[i].e.key === predicate.value) {\n requiresCast = true;\n }\n }\n }\n returnValue = _super.prototype.onPredicate.call(this, predicate, query, requiresCast);\n if (isDate) {\n returnValue = returnValue.replace(/datetime'(.*)'$/, '$1');\n }\n if (_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(val)) {\n returnValue = returnValue.replace('guid', '').replace(/'/g, '');\n }\n return returnValue;\n };\n /**\n * Generate query string based on the multiple search criteria from query.\n *\n * @param e\n * @param {string} operator\n * @param {string} key\n * @param {boolean} } ignoreCase\n * @param e.fields\n * @param e.operator\n * @param e.key\n * @param e.ignoreCase\n */\n ODataV4Adaptor.prototype.onEachSearch = function (e) {\n var search = this.pvt.searches || [];\n search.push(e.key);\n this.pvt.searches = search;\n };\n /**\n * Generate query string based on the search criteria from query.\n *\n * @param {Object} e\n */\n ODataV4Adaptor.prototype.onSearch = function (e) {\n return this.pvt.searches.join(' OR ');\n };\n /**\n * Returns the expand query string.\n *\n * @param {string} e\n * @param e.selects\n * @param e.expands\n */\n ODataV4Adaptor.prototype.onExpand = function (e) {\n var _this = this;\n var selected = {};\n var expanded = {};\n var expands = e.expands.slice();\n var exArr = [];\n var selects = e.selects.filter(function (item) { return item.indexOf('.') > -1; });\n selects.forEach(function (select) {\n var splits = select.split('.');\n if (!(splits[0] in selected)) {\n selected[splits[0]] = [];\n }\n if (splits.length === 2) {\n if (selected[splits[0]].length && Object.keys(selected).indexOf(splits[0]) !== -1) {\n if (selected[splits[0]][0].indexOf('$expand') !== -1 && selected[splits[0]][0].indexOf(';$select=') === -1) {\n selected[splits[0]][0] = selected[splits[0]][0] + ';' + '$select=' + splits[1];\n }\n else {\n selected[splits[0]][0] = selected[splits[0]][0] + ',' + splits[1];\n }\n }\n else {\n selected[splits[0]].push('$select=' + splits[1]);\n }\n }\n else {\n var sel = '$select=' + splits[splits.length - 1];\n var exp = '';\n var close_1 = '';\n for (var i = 1; i < splits.length - 1; i++) {\n exp = exp + '$expand=' + splits[i] + '(';\n close_1 = close_1 + ')';\n }\n var combineVal = exp + sel + close_1;\n if (selected[splits[0]].length && Object.keys(selected).indexOf(splits[0]) !== -1 &&\n _this.expandQueryIndex(selected[splits[0]], true)) {\n var idx = _this.expandQueryIndex(selected[splits[0]]);\n selected[splits[0]][idx] = selected[splits[0]][idx] + combineVal.replace('$expand=', ',');\n }\n else {\n selected[splits[0]].push(combineVal);\n }\n }\n });\n //Auto expand from select query\n Object.keys(selected).forEach(function (expand) {\n if ((expands.indexOf(expand) === -1)) {\n expands.push(expand);\n }\n });\n expands.forEach(function (expand) {\n expanded[expand] = expand in selected ? expand + \"(\" + selected[expand].join(';') + \")\" : expand;\n });\n Object.keys(expanded).forEach(function (ex) { return exArr.push(expanded[ex]); });\n return exArr.join(',');\n };\n ODataV4Adaptor.prototype.expandQueryIndex = function (query, isExpand) {\n for (var i = 0; i < query.length; i++) {\n if (query[i].indexOf('$expand') !== -1) {\n return isExpand ? true : i;\n }\n }\n return isExpand ? false : 0;\n };\n /**\n * Returns the groupby query string.\n *\n * @param {string} e\n * @param distinctFields\n */\n ODataV4Adaptor.prototype.onDistinct = function (distinctFields) {\n var fields = distinctFields.map(function (field) { return ODataAdaptor.getField(field); }).join(',');\n return \"groupby((\" + fields + \"))\";\n };\n /**\n * Returns the select query string.\n *\n * @param {string[]} e\n */\n ODataV4Adaptor.prototype.onSelect = function (e) {\n return _super.prototype.onSelect.call(this, e.filter(function (item) { return item.indexOf('.') === -1; }));\n };\n /**\n * Method will trigger before send the request to server side.\n * Used to set the custom header or modify the request options.\n *\n * @param {DataManager} dm\n * @param {Request} request\n * @param {Fetch} settings\n * @returns void\n */\n ODataV4Adaptor.prototype.beforeSend = function (dm, request, settings) {\n if (settings.type === 'POST' || settings.type === 'PUT' || settings.type === 'PATCH') {\n request.headers.set('Prefer', 'return=representation');\n }\n request.headers.set('Accept', this.options.accept);\n };\n /**\n * Returns the data from the query processing.\n *\n * @param {DataResult} data\n * @param {DataOptions} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param {Fetch} request?\n * @param {CrudOptions} changes?\n * @param ds\n * @param query\n * @param xhr\n * @param request\n * @param changes\n * @returns aggregateResult\n */\n ODataV4Adaptor.prototype.processResponse = function (data, ds, query, xhr, request, changes) {\n var metaName = '@odata.context';\n var metaV4Name = '@context';\n if ((request && request.type === 'GET') && !this.rootUrl && (data[metaName] || data[metaV4Name])) {\n var dataUrl = data[metaName] ? data[metaName].split('/$metadata#') : data[metaV4Name].split('/$metadata#');\n this.rootUrl = dataUrl[0];\n this.resourceTableName = dataUrl[1];\n }\n var pvtData = 'pvtData';\n var pvt = request && request[pvtData];\n var emptyAndBatch = _super.prototype.processBatchResponse.call(this, data, query, xhr, request, changes);\n if (emptyAndBatch) {\n return emptyAndBatch;\n }\n var count = null;\n var dataCount = '@odata.count';\n var dataV4Count = '@count';\n if (query && query.isCountRequired) {\n if (dataCount in data) {\n count = data[dataCount];\n }\n else if (dataV4Count in data) {\n count = data[dataV4Count];\n }\n }\n data = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.value) ? data.value : data;\n var args = {};\n args.count = count;\n args.result = data;\n this.getAggregateResult(pvt, data, args, null, query);\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull(count) ? args.result : { result: args.result, count: count, aggregates: args.aggregates };\n };\n return ODataV4Adaptor;\n}(ODataAdaptor));\n\n/**\n * The Web API is a programmatic interface to define the request and response messages system that is mostly exposed in JSON or XML.\n * The DataManager uses the WebApiAdaptor to consume Web API.\n * Since this adaptor is targeted to interact with Web API created using OData endpoint, it is extended from ODataAdaptor\n *\n * @hidden\n */\nvar WebApiAdaptor = /** @class */ (function (_super) {\n __extends(WebApiAdaptor, _super);\n function WebApiAdaptor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WebApiAdaptor.prototype.getModuleName = function () {\n return 'WebApiAdaptor';\n };\n /**\n * Prepare and returns request body which is used to insert a new record in the table.\n *\n * @param {DataManager} dm\n * @param {Object} data\n * @param {string} tableName?\n * @param tableName\n */\n WebApiAdaptor.prototype.insert = function (dm, data, tableName) {\n return {\n type: 'POST',\n url: dm.dataSource.url,\n data: JSON.stringify(data)\n };\n };\n /**\n * Prepare and return request body which is used to remove record from the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {number} value\n * @param {string} tableName?\n * @param tableName\n */\n WebApiAdaptor.prototype.remove = function (dm, keyField, value, tableName) {\n return {\n type: 'DELETE',\n url: dm.dataSource.url + '/' + value,\n data: JSON.stringify(value)\n };\n };\n /**\n * Prepare and return request body which is used to update record.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName?\n * @param tableName\n */\n WebApiAdaptor.prototype.update = function (dm, keyField, value, tableName) {\n return {\n type: 'PUT',\n url: dm.dataSource.url,\n data: JSON.stringify(value)\n };\n };\n WebApiAdaptor.prototype.batchRequest = function (dm, changes, e) {\n var _this = this;\n var initialGuid = e.guid = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getGuid(this.options.batchPre);\n var url = dm.dataSource.url.replace(/\\/*$/, '/' + this.options.batch);\n e.url = this.resourceTableName ? this.resourceTableName : e.url;\n var req = [];\n var _loop_1 = function (i, x) {\n changes.addedRecords.forEach(function (j, d) {\n var stat = {\n 'method': 'POST ',\n 'url': function (data, i, key) { return ''; },\n 'data': function (data, i) { return JSON.stringify(data[i]) + '\\n\\n'; }\n };\n req.push('--' + initialGuid);\n req.push('Content-Type: application/http; msgtype=request', '');\n req.push('POST ' + '/api/' + (dm.dataSource.insertUrl || dm.dataSource.crudUrl || e.url)\n + stat.url(changes.addedRecords, i, e.key) + ' HTTP/1.1');\n req.push('Content-Type: ' + 'application/json; charset=utf-8');\n req.push('Host: ' + location.host);\n req.push('', j ? JSON.stringify(j) : '');\n });\n };\n //insertion\n for (var i = 0, x = changes.addedRecords.length; i < x; i++) {\n _loop_1(i, x);\n }\n var _loop_2 = function (i, x) {\n changes.changedRecords.forEach(function (j, d) {\n var stat = {\n 'method': _this.options.updateType + ' ',\n 'url': function (data, i, key) { return ''; },\n 'data': function (data, i) { return JSON.stringify(data[i]) + '\\n\\n'; }\n };\n req.push('--' + initialGuid);\n req.push('Content-Type: application/http; msgtype=request', '');\n req.push('PUT ' + '/api/' + (dm.dataSource.updateUrl || dm.dataSource.crudUrl || e.url)\n + stat.url(changes.changedRecords, i, e.key) + ' HTTP/1.1');\n req.push('Content-Type: ' + 'application/json; charset=utf-8');\n req.push('Host: ' + location.host);\n req.push('', j ? JSON.stringify(j) : '');\n });\n };\n //updation\n for (var i = 0, x = changes.changedRecords.length; i < x; i++) {\n _loop_2(i, x);\n }\n var _loop_3 = function (i, x) {\n changes.deletedRecords.forEach(function (j, d) {\n var state = {\n 'mtd': 'DELETE ',\n 'url': function (data, i, key) {\n var url = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(key, data[i]);\n if (typeof url === 'number' || _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.isGuid(url)) {\n return '/' + url;\n }\n else if (url instanceof Date) {\n var datTime = data[i][key];\n return '/' + datTime.toJSON();\n }\n else {\n return \"/'\" + url + \"'\";\n }\n },\n 'data': function (data, i) { return ''; }\n };\n req.push('--' + initialGuid);\n req.push('Content-Type: application/http; msgtype=request', '');\n req.push('DELETE ' + '/api/' + (dm.dataSource.removeUrl || dm.dataSource.crudUrl || e.url)\n + state.url(changes.deletedRecords, i, e.key) + ' HTTP/1.1');\n req.push('Content-Type: ' + 'application/json; charset=utf-8');\n req.push('Host: ' + location.host);\n req.push('', j ? JSON.stringify(j) : '');\n });\n };\n //deletion\n for (var i = 0, x = changes.deletedRecords.length; i < x; i++) {\n _loop_3(i, x);\n }\n req.push('--' + initialGuid + '--', '');\n return {\n type: 'POST',\n url: url,\n contentType: 'multipart/mixed; boundary=' + initialGuid,\n data: req.join('\\r\\n')\n };\n };\n /**\n * Method will trigger before send the request to server side.\n * Used to set the custom header or modify the request options.\n *\n * @param {DataManager} dm\n * @param {Request} request\n * @param {Fetch} settings\n * @returns void\n */\n WebApiAdaptor.prototype.beforeSend = function (dm, request, settings) {\n request.headers.set('Accept', 'application/json, text/javascript, */*; q=0.01');\n };\n /**\n * Returns the data from the query processing.\n *\n * @param {DataResult} data\n * @param {DataOptions} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param {Fetch} request?\n * @param {CrudOptions} changes?\n * @param ds\n * @param query\n * @param xhr\n * @param request\n * @param changes\n * @returns aggregateResult\n */\n WebApiAdaptor.prototype.processResponse = function (data, ds, query, xhr, request, changes) {\n var pvtData = 'pvtData';\n var pvt = request && request[pvtData];\n var count = null;\n var args = {};\n if (request && request.type.toLowerCase() !== 'post') {\n var versionCheck = xhr && request.fetchRequest.headers.get('DataServiceVersion');\n var version = (versionCheck && parseInt(versionCheck, 10)) || 2;\n if (query && query.isCountRequired) {\n if (!_util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull(data.Count)) {\n count = data.Count;\n }\n }\n if (version < 3 && data.Items) {\n data = data.Items;\n }\n args.count = count;\n args.result = data;\n this.getAggregateResult(pvt, data, args, null, query);\n }\n args.result = args.result || data;\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.isNull(count) ? args.result : { result: args.result, count: args.count, aggregates: args.aggregates };\n };\n return WebApiAdaptor;\n}(ODataAdaptor));\n\n/**\n * WebMethodAdaptor can be used by DataManager to interact with web method.\n *\n * @hidden\n */\nvar WebMethodAdaptor = /** @class */ (function (_super) {\n __extends(WebMethodAdaptor, _super);\n function WebMethodAdaptor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Prepare the request body based on the query.\n * The query information can be accessed at the WebMethod using variable named `value`.\n *\n * @param {DataManager} dm\n * @param {Query} query\n * @param {Object[]} hierarchyFilters?\n * @param hierarchyFilters\n * @returns application\n */\n WebMethodAdaptor.prototype.processQuery = function (dm, query, hierarchyFilters) {\n var obj = new UrlAdaptor().processQuery(dm, query, hierarchyFilters);\n var getData = 'data';\n var data = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(obj[getData]);\n var result = {};\n var value = 'value';\n if (data.param) {\n for (var i = 0; i < data.param.length; i++) {\n var param = data.param[i];\n var key = Object.keys(param)[0];\n result[key] = param[key];\n }\n }\n result[value] = data;\n var pvtData = 'pvtData';\n var url = 'url';\n return {\n data: JSON.stringify(result, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.jsonDateReplacer),\n url: obj[url],\n pvtData: obj[pvtData],\n type: 'POST',\n contentType: 'application/json; charset=utf-8'\n };\n };\n return WebMethodAdaptor;\n}(UrlAdaptor));\n\n/**\n * RemoteSaveAdaptor, extended from JsonAdaptor and it is used for binding local data and performs all DataManager queries in client-side.\n * It interacts with server-side only for CRUD operations.\n *\n * @hidden\n */\nvar RemoteSaveAdaptor = /** @class */ (function (_super) {\n __extends(RemoteSaveAdaptor, _super);\n /**\n * @hidden\n */\n function RemoteSaveAdaptor() {\n return _super.call(this) || this;\n }\n RemoteSaveAdaptor.prototype.insert = function (dm, data, tableName, query, position) {\n this.pvt.position = position;\n this.updateType = 'add';\n return {\n url: dm.dataSource.insertUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n value: data,\n table: tableName,\n action: 'insert'\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n RemoteSaveAdaptor.prototype.remove = function (dm, keyField, val, tableName, query) {\n _super.prototype.remove.call(this, dm, keyField, val);\n return {\n type: 'POST',\n url: dm.dataSource.removeUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n key: val,\n keyColumn: keyField,\n table: tableName,\n action: 'remove'\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n RemoteSaveAdaptor.prototype.update = function (dm, keyField, val, tableName, query) {\n this.updateType = 'update';\n this.updateKey = keyField;\n return {\n type: 'POST',\n url: dm.dataSource.updateUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n value: val,\n action: 'update',\n keyColumn: keyField,\n key: val[keyField],\n table: tableName\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n RemoteSaveAdaptor.prototype.processResponse = function (data, ds, query, xhr, request, changes, e) {\n var i;\n var newData = request ? JSON.parse(request.data) : data;\n data = newData.action === 'batch' ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(data) : data;\n if (this.updateType === 'add') {\n _super.prototype.insert.call(this, ds, data, null, null, this.pvt.position);\n }\n if (this.updateType === 'update') {\n _super.prototype.update.call(this, ds, this.updateKey, data);\n }\n this.updateType = undefined;\n if (data.added) {\n for (i = 0; i < data.added.length; i++) {\n _super.prototype.insert.call(this, ds, data.added[i]);\n }\n }\n if (data.changed) {\n for (i = 0; i < data.changed.length; i++) {\n _super.prototype.update.call(this, ds, e.key, data.changed[i]);\n }\n }\n if (data.deleted) {\n for (i = 0; i < data.deleted.length; i++) {\n _super.prototype.remove.call(this, ds, e.key, data.deleted[i]);\n }\n }\n return data;\n };\n /**\n * Prepare the request body based on the newly added, removed and updated records.\n * Also perform the changes in the locally cached data to sync with the remote data.\n * The result is used by the batch request.\n *\n * @param {DataManager} dm\n * @param {CrudOptions} changes\n * @param {RemoteArgs} e\n * @param query\n * @param original\n */\n RemoteSaveAdaptor.prototype.batchRequest = function (dm, changes, e, query, original) {\n return {\n type: 'POST',\n url: dm.dataSource.batchUrl || dm.dataSource.crudUrl || dm.dataSource.url,\n contentType: 'application/json; charset=utf-8',\n dataType: 'json',\n data: JSON.stringify((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n changed: changes.changedRecords,\n added: changes.addedRecords,\n deleted: changes.deletedRecords,\n action: 'batch',\n table: e.url,\n key: e.key\n }, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getAddParams(this, dm, query)))\n };\n };\n RemoteSaveAdaptor.prototype.addParams = function (options) {\n var urlParams = new UrlAdaptor();\n urlParams.addParams(options);\n };\n /**\n * Method will trigger before send the request to server side.\n * Used to set the custom header or modify the request options.\n *\n * @param {DataManager} dm\n * @param {Request} request\n * @param {Fetch} settings?\n * @returns void\n */\n RemoteSaveAdaptor.prototype.beforeSend = function (dm, request, settings) {\n // need to extend this method\n };\n return RemoteSaveAdaptor;\n}(JsonAdaptor));\n\n/**\n * Fetch Adaptor that is extended from URL Adaptor, is used for handle data operations with user defined functions.\n *\n * @hidden\n */\nvar CustomDataAdaptor = /** @class */ (function (_super) {\n __extends(CustomDataAdaptor, _super);\n function CustomDataAdaptor(props) {\n var _this = _super.call(this) || this;\n // options replaced the default adaptor options\n _this.options = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, _this.options, {\n getData: function () { },\n addRecord: function () { },\n updateRecord: function () { },\n deleteRecord: function () { },\n batchUpdate: function () { }\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(_this.options, props || {});\n return _this;\n }\n CustomDataAdaptor.prototype.getModuleName = function () {\n return 'CustomDataAdaptor';\n };\n return CustomDataAdaptor;\n}(UrlAdaptor));\n\n/**\n * The GraphqlAdaptor that is extended from URL Adaptor, is used for retrieving data from the Graphql server.\n * It interacts with the Graphql server with all the DataManager Queries and performs CRUD operations.\n *\n * @hidden\n */\nvar GraphQLAdaptor = /** @class */ (function (_super) {\n __extends(GraphQLAdaptor, _super);\n function GraphQLAdaptor(options) {\n var _this = _super.call(this) || this;\n _this.opt = options;\n _this.schema = _this.opt.response;\n _this.query = _this.opt.query;\n /* eslint-disable @typescript-eslint/no-empty-function */\n // tslint:disable-next-line:no-empty\n _this.getVariables = _this.opt.getVariables ? _this.opt.getVariables : function () { };\n /* eslint-enable @typescript-eslint/no-empty-function */\n _this.getQuery = function () { return _this.query; };\n return _this;\n }\n GraphQLAdaptor.prototype.getModuleName = function () {\n return 'GraphQLAdaptor';\n };\n /**\n * Process the JSON data based on the provided queries.\n *\n * @param {DataManager} dm\n * @param {Query} query?\n * @param datamanager\n * @param query\n */\n GraphQLAdaptor.prototype.processQuery = function (datamanager, query) {\n var urlQuery = _super.prototype.processQuery.apply(this, arguments);\n var dm = JSON.parse(urlQuery.data);\n // constructing GraphQL parameters\n var keys = ['skip', 'take', 'sorted', 'table', 'select', 'where',\n 'search', 'requiresCounts', 'aggregates', 'params'];\n var temp = {};\n var str = 'searchwhereparams';\n keys.filter(function (e) {\n temp[e] = str.indexOf(e) > -1 ? JSON.stringify(dm[e]) : dm[e];\n });\n var vars = this.getVariables() || {};\n // tslint:disable-next-line:no-string-literal\n vars['datamanager'] = temp;\n var data = JSON.stringify({\n query: this.getQuery(),\n variables: vars\n });\n urlQuery.data = data;\n return urlQuery;\n };\n /**\n * Returns the data from the query processing.\n * It will also cache the data for later usage.\n *\n * @param {DataResult} data\n * @param {DataManager} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param {Object} request?\n * @param resData\n * @param ds\n * @param query\n * @param xhr\n * @param request\n * @returns DataResult\n */\n GraphQLAdaptor.prototype.processResponse = function (resData, ds, query, xhr, request) {\n var res = resData;\n var count;\n var aggregates;\n var result = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(this.schema.result, res.data);\n if (this.schema.count) {\n count = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(this.schema.count, res.data);\n }\n if (this.schema.aggregates) {\n aggregates = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(this.schema.aggregates, res.data);\n aggregates = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(aggregates) ? _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(aggregates) : aggregates;\n }\n var pvt = request.pvtData || {};\n var args = { result: result, aggregates: aggregates };\n var data = args;\n if (pvt && pvt.groups && pvt.groups.length) {\n this.getAggregateResult(pvt, data, args, null, query);\n }\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(count) ? { result: args.result, count: count, aggregates: aggregates } : args.result;\n };\n /**\n * Prepare and returns request body which is used to insert a new record in the table.\n */\n GraphQLAdaptor.prototype.insert = function () {\n var inserted = _super.prototype.insert.apply(this, arguments);\n return this.generateCrudData(inserted, 'insert');\n };\n /**\n * Prepare and returns request body which is used to update a new record in the table.\n */\n GraphQLAdaptor.prototype.update = function () {\n var inserted = _super.prototype.update.apply(this, arguments);\n return this.generateCrudData(inserted, 'update');\n };\n /**\n * Prepare and returns request body which is used to remove a new record in the table.\n */\n GraphQLAdaptor.prototype.remove = function () {\n var inserted = _super.prototype.remove.apply(this, arguments);\n return this.generateCrudData(inserted, 'remove');\n };\n /**\n * Prepare the request body based on the newly added, removed and updated records.\n * The result is used by the batch request.\n *\n * @param {DataManager} dm\n * @param {CrudOptions} changes\n * @param {Object} e\n * @param e.key\n * @param {Query} query\n * @param {Object} original\n */\n GraphQLAdaptor.prototype.batchRequest = function (dm, changes, e, query, original) {\n var batch = _super.prototype.batchRequest.apply(this, arguments);\n // tslint:disable-next-line:typedef\n var bData = JSON.parse(batch.data);\n bData.key = e.key;\n batch.data = JSON.stringify(bData);\n return this.generateCrudData(batch, 'batch');\n };\n GraphQLAdaptor.prototype.generateCrudData = function (crudData, action) {\n var parsed = JSON.parse(crudData.data);\n crudData.data = JSON.stringify({\n query: this.opt.getMutation(action),\n variables: parsed\n });\n return crudData;\n };\n return GraphQLAdaptor;\n}(UrlAdaptor));\n\n/**\n * Cache Adaptor is used to cache the data of the visited pages. It prevents new requests for the previously visited pages.\n * You can configure cache page size and duration of caching by using cachingPageSize and timeTillExpiration properties of the DataManager\n *\n * @hidden\n */\nvar CacheAdaptor = /** @class */ (function (_super) {\n __extends(CacheAdaptor, _super);\n /**\n * Constructor for CacheAdaptor class.\n *\n * @param {CacheAdaptor} adaptor?\n * @param {number} timeStamp?\n * @param {number} pageSize?\n * @param adaptor\n * @param timeStamp\n * @param pageSize\n * @hidden\n */\n function CacheAdaptor(adaptor, timeStamp, pageSize) {\n var _this = _super.call(this) || this;\n _this.isCrudAction = false;\n _this.isInsertAction = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(adaptor)) {\n _this.cacheAdaptor = adaptor;\n }\n _this.pageSize = pageSize;\n _this.guidId = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getGuid('cacheAdaptor');\n var obj = { keys: [], results: [] };\n window.localStorage.setItem(_this.guidId, JSON.stringify(obj));\n var guid = _this.guidId;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(timeStamp)) {\n setInterval(function () {\n var data = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(window.localStorage.getItem(guid));\n var forDel = [];\n for (var i = 0; i < data.results.length; i++) {\n var currentTime = +new Date();\n var requestTime = +new Date(data.results[i].timeStamp);\n data.results[i].timeStamp = currentTime - requestTime;\n if (currentTime - requestTime > timeStamp) {\n forDel.push(i);\n }\n }\n for (var i = 0; i < forDel.length; i++) {\n data.results.splice(forDel[i], 1);\n data.keys.splice(forDel[i], 1);\n }\n window.localStorage.removeItem(guid);\n window.localStorage.setItem(guid, JSON.stringify(data));\n }, timeStamp);\n }\n return _this;\n }\n /**\n * It will generate the key based on the URL when we send a request to server.\n *\n * @param {string} url\n * @param {Query} query?\n * @param query\n * @hidden\n */\n CacheAdaptor.prototype.generateKey = function (url, query) {\n var queries = this.getQueryRequest(query);\n var singles = _query__WEBPACK_IMPORTED_MODULE_2__.Query.filterQueryLists(query.queries, ['onSelect', 'onPage', 'onSkip', 'onTake', 'onRange']);\n var key = url;\n var page = 'onPage';\n if (page in singles) {\n key += singles[page].pageIndex;\n }\n queries.sorts.forEach(function (obj) {\n key += obj.e.direction + obj.e.fieldName;\n });\n queries.groups.forEach(function (obj) {\n key += obj.e.fieldName;\n });\n queries.searches.forEach(function (obj) {\n key += obj.e.searchKey;\n });\n for (var filter = 0; filter < queries.filters.length; filter++) {\n var currentFilter = queries.filters[filter];\n if (currentFilter.e.isComplex) {\n var newQuery = query.clone();\n newQuery.queries = [];\n for (var i = 0; i < currentFilter.e.predicates.length; i++) {\n newQuery.queries.push({ fn: 'onWhere', e: currentFilter.e.predicates[i], filter: query.queries.filter });\n }\n key += currentFilter.e.condition + this.generateKey(url, newQuery);\n }\n else {\n key += currentFilter.e.field + currentFilter.e.operator + currentFilter.e.value;\n }\n }\n return key;\n };\n /**\n * Process the query to generate request body.\n * If the data is already cached, it will return the cached data.\n *\n * @param {DataManager} dm\n * @param {Query} query?\n * @param {Object[]} hierarchyFilters?\n * @param query\n * @param hierarchyFilters\n */\n CacheAdaptor.prototype.processQuery = function (dm, query, hierarchyFilters) {\n var key = this.generateKey(dm.dataSource.url, query);\n var cachedItems = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(window.localStorage.getItem(this.guidId));\n var data = cachedItems ? cachedItems.results[cachedItems.keys.indexOf(key)] : null;\n if (data != null && !this.isCrudAction && !this.isInsertAction) {\n return data;\n }\n this.isCrudAction = null;\n this.isInsertAction = null;\n /* eslint-disable prefer-spread */\n return this.cacheAdaptor.processQuery.apply(this.cacheAdaptor, [].slice.call(arguments, 0));\n /* eslint-enable prefer-spread */\n };\n /**\n * Returns the data from the query processing.\n * It will also cache the data for later usage.\n *\n * @param {DataResult} data\n * @param {DataManager} ds?\n * @param {Query} query?\n * @param {Request} xhr?\n * @param {Fetch} request?\n * @param {CrudOptions} changes?\n * @param ds\n * @param query\n * @param xhr\n * @param request\n * @param changes\n */\n CacheAdaptor.prototype.processResponse = function (data, ds, query, xhr, request, changes) {\n if (this.isInsertAction || (request && this.cacheAdaptor.options.batch &&\n _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.endsWith(request.url, this.cacheAdaptor.options.batch) && request.type.toLowerCase() === 'post')) {\n return this.cacheAdaptor.processResponse(data, ds, query, xhr, request, changes);\n }\n /* eslint-disable prefer-spread */\n data = this.cacheAdaptor.processResponse.apply(this.cacheAdaptor, [].slice.call(arguments, 0));\n /* eslint-enable prefer-spread */\n var key = query ? this.generateKey(ds.dataSource.url, query) : ds.dataSource.url;\n var obj = {};\n obj = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.parse.parseJson(window.localStorage.getItem(this.guidId));\n var index = obj.keys.indexOf(key);\n if (index !== -1) {\n obj.results.splice(index, 1);\n obj.keys.splice(index, 1);\n }\n obj.results[obj.keys.push(key) - 1] = { keys: key, result: data.result, timeStamp: new Date(), count: data.count };\n while (obj.results.length > this.pageSize) {\n obj.results.splice(0, 1);\n obj.keys.splice(0, 1);\n }\n window.localStorage.setItem(this.guidId, JSON.stringify(obj));\n return data;\n };\n /**\n * Method will trigger before send the request to server side. Used to set the custom header or modify the request options.\n *\n * @param {DataManager} dm\n * @param {Request} request\n * @param {Fetch} settings?\n * @param settings\n */\n CacheAdaptor.prototype.beforeSend = function (dm, request, settings) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cacheAdaptor.options.batch) && _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.endsWith(settings.url, this.cacheAdaptor.options.batch)\n && settings.type.toLowerCase() === 'post') {\n request.headers.set('Accept', this.cacheAdaptor.options.multipartAccept);\n }\n if (!dm.dataSource.crossDomain) {\n request.headers.set('Accept', this.cacheAdaptor.options.accept);\n }\n };\n /**\n * Updates existing record and saves the changes to the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName\n */\n CacheAdaptor.prototype.update = function (dm, keyField, value, tableName) {\n this.isCrudAction = true;\n return this.cacheAdaptor.update(dm, keyField, value, tableName);\n };\n /**\n * Prepare and returns request body which is used to insert a new record in the table.\n *\n * @param {DataManager} dm\n * @param {Object} data\n * @param {string} tableName?\n * @param tableName\n */\n CacheAdaptor.prototype.insert = function (dm, data, tableName) {\n this.isInsertAction = true;\n return this.cacheAdaptor.insert(dm, data, tableName);\n };\n /**\n * Prepare and return request body which is used to remove record from the table.\n *\n * @param {DataManager} dm\n * @param {string} keyField\n * @param {Object} value\n * @param {string} tableName?\n * @param tableName\n */\n CacheAdaptor.prototype.remove = function (dm, keyField, value, tableName) {\n this.isCrudAction = true;\n return this.cacheAdaptor.remove(dm, keyField, value, tableName);\n };\n /**\n * Prepare the request body based on the newly added, removed and updated records.\n * The result is used by the batch request.\n *\n * @param {DataManager} dm\n * @param {CrudOptions} changes\n * @param {RemoteArgs} e\n */\n CacheAdaptor.prototype.batchRequest = function (dm, changes, e) {\n return this.cacheAdaptor.batchRequest(dm, changes, e);\n };\n return CacheAdaptor;\n}(UrlAdaptor));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-data/src/adaptors.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-data/src/index.js": +/*!********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-data/src/index.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Adaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.Adaptor),\n/* harmony export */ CacheAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.CacheAdaptor),\n/* harmony export */ CustomDataAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.CustomDataAdaptor),\n/* harmony export */ DataManager: () => (/* reexport safe */ _manager__WEBPACK_IMPORTED_MODULE_0__.DataManager),\n/* harmony export */ DataUtil: () => (/* reexport safe */ _util__WEBPACK_IMPORTED_MODULE_3__.DataUtil),\n/* harmony export */ Deferred: () => (/* reexport safe */ _manager__WEBPACK_IMPORTED_MODULE_0__.Deferred),\n/* harmony export */ GraphQLAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.GraphQLAdaptor),\n/* harmony export */ JsonAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.JsonAdaptor),\n/* harmony export */ ODataAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.ODataAdaptor),\n/* harmony export */ ODataV4Adaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.ODataV4Adaptor),\n/* harmony export */ Predicate: () => (/* reexport safe */ _query__WEBPACK_IMPORTED_MODULE_1__.Predicate),\n/* harmony export */ Query: () => (/* reexport safe */ _query__WEBPACK_IMPORTED_MODULE_1__.Query),\n/* harmony export */ RemoteSaveAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.RemoteSaveAdaptor),\n/* harmony export */ UrlAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.UrlAdaptor),\n/* harmony export */ WebApiAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.WebApiAdaptor),\n/* harmony export */ WebMethodAdaptor: () => (/* reexport safe */ _adaptors__WEBPACK_IMPORTED_MODULE_2__.WebMethodAdaptor)\n/* harmony export */ });\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./manager */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./query */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _adaptors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./adaptors */ \"./node_modules/@syncfusion/ej2-data/src/adaptors.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/**\n * Data modules\n */\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-data/src/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-data/src/manager.js": +/*!**********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-data/src/manager.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DataManager: () => (/* binding */ DataManager),\n/* harmony export */ Deferred: () => (/* binding */ Deferred)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _query__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./query */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _adaptors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adaptors */ \"./node_modules/@syncfusion/ej2-data/src/adaptors.js\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/* eslint-disable valid-jsdoc */\n/* eslint-disable security/detect-object-injection */\n\n\n\n\n\n/**\n * DataManager is used to manage and manipulate relational data.\n */\nvar DataManager = /** @class */ (function () {\n /**\n * Constructor for DataManager class\n *\n * @param {DataOptions|JSON[]} dataSource?\n * @param {Query} query?\n * @param {AdaptorOptions|string} adaptor?\n * @param dataSource\n * @param query\n * @param adaptor\n * @hidden\n */\n function DataManager(dataSource, query, adaptor) {\n var _this = this;\n /** @hidden */\n this.dateParse = true;\n /** @hidden */\n this.timeZoneHandling = true;\n this.persistQuery = {};\n this.isInitialLoad = false;\n this.requests = [];\n this.isEnableCache = false;\n this.isInitialLoad = true;\n this.isEnableCache = false;\n if (!dataSource && !this.dataSource) {\n dataSource = [];\n }\n adaptor = adaptor || dataSource.adaptor;\n if (dataSource && dataSource.timeZoneHandling === false) {\n this.timeZoneHandling = dataSource.timeZoneHandling;\n }\n var data;\n if (dataSource instanceof Array) {\n data = {\n json: dataSource,\n offline: true\n };\n }\n else if (typeof dataSource === 'object') {\n if (!dataSource.json) {\n dataSource.json = [];\n }\n if (!dataSource.enablePersistence) {\n dataSource.enablePersistence = false;\n }\n if (!dataSource.id) {\n dataSource.id = '';\n }\n if (!dataSource.ignoreOnPersist) {\n dataSource.ignoreOnPersist = [];\n }\n data = {\n url: dataSource.url,\n insertUrl: dataSource.insertUrl,\n removeUrl: dataSource.removeUrl,\n updateUrl: dataSource.updateUrl,\n crudUrl: dataSource.crudUrl,\n batchUrl: dataSource.batchUrl,\n json: dataSource.json,\n headers: dataSource.headers,\n accept: dataSource.accept,\n data: dataSource.data,\n enableCache: dataSource.enableCache,\n timeTillExpiration: dataSource.timeTillExpiration,\n cachingPageSize: dataSource.cachingPageSize,\n enableCaching: dataSource.enableCaching,\n requestType: dataSource.requestType,\n key: dataSource.key,\n crossDomain: dataSource.crossDomain,\n jsonp: dataSource.jsonp,\n dataType: dataSource.dataType,\n offline: dataSource.offline !== undefined ? dataSource.offline\n : dataSource.adaptor instanceof _adaptors__WEBPACK_IMPORTED_MODULE_1__.RemoteSaveAdaptor || dataSource.adaptor instanceof _adaptors__WEBPACK_IMPORTED_MODULE_1__.CustomDataAdaptor ?\n false : dataSource.url ? false : true,\n requiresFormat: dataSource.requiresFormat,\n enablePersistence: dataSource.enablePersistence,\n id: dataSource.id,\n ignoreOnPersist: dataSource.ignoreOnPersist\n };\n }\n else {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.throwError('DataManager: Invalid arguments');\n }\n if (data.requiresFormat === undefined && !_util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.isCors()) {\n data.requiresFormat = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.crossDomain) ? true : data.crossDomain;\n }\n if (data.dataType === undefined) {\n data.dataType = 'json';\n }\n this.isEnableCache = data.enableCache;\n this.dataSource = data;\n this.defaultQuery = query;\n if (this.dataSource.enablePersistence && this.dataSource.id) {\n window.addEventListener('unload', this.setPersistData.bind(this));\n }\n if (data.url && data.offline && !data.json.length) {\n this.isDataAvailable = false;\n this.adaptor = adaptor || new _adaptors__WEBPACK_IMPORTED_MODULE_1__.ODataAdaptor();\n this.dataSource.offline = false;\n this.ready = this.executeQuery(query || new _query__WEBPACK_IMPORTED_MODULE_3__.Query());\n this.ready.then(function (e) {\n _this.dataSource.offline = true;\n _this.isDataAvailable = true;\n data.json = e.result;\n _this.adaptor = new _adaptors__WEBPACK_IMPORTED_MODULE_1__.JsonAdaptor();\n });\n }\n else {\n this.adaptor = data.offline ? new _adaptors__WEBPACK_IMPORTED_MODULE_1__.JsonAdaptor() : new _adaptors__WEBPACK_IMPORTED_MODULE_1__.ODataAdaptor();\n }\n if (!data.jsonp && this.adaptor instanceof _adaptors__WEBPACK_IMPORTED_MODULE_1__.ODataAdaptor) {\n data.jsonp = 'callback';\n }\n this.adaptor = adaptor || this.adaptor;\n if (this.isEnableCache) {\n this.guidId = _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.getGuid('cacheAdaptor');\n var obj = { keys: [], results: [] };\n window.localStorage.setItem(this.guidId, JSON.stringify(obj));\n }\n if (data.enableCaching) {\n this.adaptor = new _adaptors__WEBPACK_IMPORTED_MODULE_1__.CacheAdaptor(this.adaptor, data.timeTillExpiration, data.cachingPageSize);\n }\n return this;\n }\n Object.defineProperty(DataManager.prototype, \"moduleName\", {\n /** @hidden */\n get: function () { return 'datamanager'; },\n enumerable: true,\n configurable: true\n });\n ;\n /**\n * Get the queries maintained in the persisted state.\n * @param {string} id - The identifier of the persisted query to retrieve.\n * @returns {object} The persisted data object.\n */\n DataManager.prototype.getPersistedData = function (id) {\n var persistedData = localStorage.getItem(id || this.dataSource.id);\n return JSON.parse(persistedData);\n };\n /**\n * Set the queries to be maintained in the persisted state.\n * @param {Event} e - The event parameter that triggers the setPersistData method.\n * @param {string} id - The identifier of the persisted query to set.\n * @param {object} persistData - The data to be persisted.\n * @returns {void} .\n */\n DataManager.prototype.setPersistData = function (e, id, persistData) {\n localStorage.setItem(id || this.dataSource.id, JSON.stringify(persistData || this.persistQuery));\n };\n DataManager.prototype.setPersistQuery = function (query) {\n var _this = this;\n var persistedQuery = this.getPersistedData();\n if (this.isInitialLoad && persistedQuery && Object.keys(persistedQuery).length) {\n this.persistQuery = persistedQuery;\n this.persistQuery.queries = this.persistQuery.queries.filter(function (query) {\n if (_this.dataSource.ignoreOnPersist && _this.dataSource.ignoreOnPersist.length) {\n if (query.fn && _this.dataSource.ignoreOnPersist.some(function (keyword) { return query.fn === keyword; })) {\n return false; // Exclude the matching query\n }\n }\n if (query.fn === 'onWhere') {\n var e = query.e;\n if (e && e.isComplex && e.predicates instanceof Array) {\n var allPredicates = e.predicates.map(function (predicateObj) {\n if (predicateObj.predicates && predicateObj.predicates instanceof Array) {\n // Process nested predicate array\n var nestedPredicates = predicateObj.predicates.map(function (nestedPredicate) {\n var field = nestedPredicate.field, operator = nestedPredicate.operator, value = nestedPredicate.value, ignoreCase = nestedPredicate.ignoreCase, ignoreAccent = nestedPredicate.ignoreAccent, matchCase = nestedPredicate.matchCase;\n return new _query__WEBPACK_IMPORTED_MODULE_3__.Predicate(field, operator, value, ignoreCase, ignoreAccent, matchCase);\n });\n return predicateObj.condition === 'and' ? _query__WEBPACK_IMPORTED_MODULE_3__.Predicate.and(nestedPredicates) : _query__WEBPACK_IMPORTED_MODULE_3__.Predicate.or(nestedPredicates);\n }\n else {\n // Process individual predicate\n var field = predicateObj.field, operator = predicateObj.operator, value = predicateObj.value, ignoreCase = predicateObj.ignoreCase, ignoreAccent = predicateObj.ignoreAccent, matchCase = predicateObj.matchCase;\n return new _query__WEBPACK_IMPORTED_MODULE_3__.Predicate(field, operator, value, ignoreCase, ignoreAccent, matchCase);\n }\n });\n query.e = new _query__WEBPACK_IMPORTED_MODULE_3__.Predicate(allPredicates[0], e.condition, allPredicates.slice(1));\n }\n }\n return true; // Keep all other queries\n });\n var newQuery = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(new _query__WEBPACK_IMPORTED_MODULE_3__.Query(), this.persistQuery);\n this.isInitialLoad = false;\n return (newQuery);\n }\n else {\n this.persistQuery = query;\n this.isInitialLoad = false;\n return query;\n }\n };\n /**\n * Overrides DataManager's default query with given query.\n *\n * @param {Query} query - Defines the new default query.\n */\n DataManager.prototype.setDefaultQuery = function (query) {\n this.defaultQuery = query;\n return this;\n };\n /**\n * Executes the given query with local data source.\n *\n * @param {Query} query - Defines the query to retrieve data.\n */\n DataManager.prototype.executeLocal = function (query) {\n if (!this.defaultQuery && !(query instanceof _query__WEBPACK_IMPORTED_MODULE_3__.Query)) {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.throwError('DataManager - executeLocal() : A query is required to execute');\n }\n if (!this.dataSource.json) {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.throwError('DataManager - executeLocal() : Json data is required to execute');\n }\n if (this.dataSource.enablePersistence && this.dataSource.id) {\n query = this.setPersistQuery(query);\n }\n query = query || this.defaultQuery;\n var result = this.adaptor.processQuery(this, query);\n if (query.subQuery) {\n var from = query.subQuery.fromTable;\n var lookup = query.subQuery.lookups;\n var res = query.isCountRequired ? result.result :\n result;\n if (lookup && lookup instanceof Array) {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.buildHierarchy(query.subQuery.fKey, from, res, lookup, query.subQuery.key);\n }\n for (var j = 0; j < res.length; j++) {\n if (res[j][from] instanceof Array) {\n res[j] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, res[j]);\n res[j][from] = this.adaptor.processResponse(query.subQuery.using(new DataManager(res[j][from].slice(0))).executeLocal(), this, query);\n }\n }\n }\n return this.adaptor.processResponse(result, this, query);\n };\n /**\n * Executes the given query with either local or remote data source.\n * It will be executed as asynchronously and returns Promise object which will be resolved or rejected after action completed.\n *\n * @param {Query|Function} query - Defines the query to retrieve data.\n * @param {Function} done - Defines the callback function and triggers when the Promise is resolved.\n * @param {Function} fail - Defines the callback function and triggers when the Promise is rejected.\n * @param {Function} always - Defines the callback function and triggers when the Promise is resolved or rejected.\n */\n DataManager.prototype.executeQuery = function (query, done, fail, always) {\n var _this = this;\n var makeRequest = 'makeRequest';\n if (this.dataSource.enablePersistence && this.dataSource.id) {\n query = this.setPersistQuery(query);\n }\n if (typeof query === 'function') {\n always = fail;\n fail = done;\n done = query;\n query = null;\n }\n if (!query) {\n query = this.defaultQuery;\n }\n if (!(query instanceof _query__WEBPACK_IMPORTED_MODULE_3__.Query)) {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.throwError('DataManager - executeQuery() : A query is required to execute');\n }\n var deffered = new Deferred();\n var args = { query: query };\n if (!this.dataSource.offline && (this.dataSource.url !== undefined && this.dataSource.url !== '')\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.adaptor[makeRequest])) || this.isCustomDataAdaptor(this.adaptor)) {\n var result = this.isEnableCache ? this.processQuery(query) : this.adaptor.processQuery(this, query);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.adaptor[makeRequest])) {\n this.adaptor[makeRequest](result, deffered, args, query);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result.url) || this.isCustomDataAdaptor(this.adaptor)) {\n this.requests = [];\n this.makeRequest(result, deffered, args, query);\n }\n else {\n args = DataManager.getDeferedArgs(query, result, args);\n deffered.resolve(args);\n }\n }\n else {\n DataManager.nextTick(function () {\n var res = _this.executeLocal(query);\n args = DataManager.getDeferedArgs(query, res, args);\n deffered.resolve(args);\n });\n }\n if (done || fail) {\n deffered.promise.then(done, fail);\n }\n if (always) {\n deffered.promise.then(always, always);\n }\n return deffered.promise;\n };\n DataManager.prototype.getQueryRequest = function (query) {\n var req = { sorts: [], groups: [], filters: [], searches: [], aggregates: [] };\n req.sorts = _query__WEBPACK_IMPORTED_MODULE_3__.Query.filterQueries(query.queries, 'onSortBy');\n req.groups = _query__WEBPACK_IMPORTED_MODULE_3__.Query.filterQueries(query.queries, 'onGroup');\n req.filters = _query__WEBPACK_IMPORTED_MODULE_3__.Query.filterQueries(query.queries, 'onWhere');\n req.searches = _query__WEBPACK_IMPORTED_MODULE_3__.Query.filterQueries(query.queries, 'onSearch');\n req.aggregates = _query__WEBPACK_IMPORTED_MODULE_3__.Query.filterQueries(query.queries, 'onAggregates');\n return req;\n };\n DataManager.prototype.generateKey = function (url, query) {\n var queries = this.getQueryRequest(query);\n var singles = _query__WEBPACK_IMPORTED_MODULE_3__.Query.filterQueryLists(query.queries, ['onSelect', 'onPage', 'onSkip', 'onTake', 'onRange']);\n var key = url;\n var page = 'onPage';\n queries.sorts.forEach(function (obj) {\n key += obj.e.direction + obj.e.fieldName;\n });\n queries.groups.forEach(function (obj) {\n key += obj.e.fieldName;\n });\n queries.searches.forEach(function (obj) {\n key += obj.e.searchKey;\n });\n for (var filter = 0; filter < queries.filters.length; filter++) {\n var currentFilter = queries.filters[filter];\n if (currentFilter.e.isComplex) {\n var newQuery = query.clone();\n newQuery.queries = [];\n for (var i = 0; i < currentFilter.e.predicates.length; i++) {\n newQuery.queries.push({ fn: 'onWhere', e: currentFilter.e.predicates[i], filter: query.queries.filter });\n }\n key += currentFilter.e.condition + this.generateKey(url, newQuery);\n }\n else {\n key += currentFilter.e.field + currentFilter.e.operator + currentFilter.e.value;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.previousCacheQuery) && this.previousCacheQuery !== key) {\n var obj = { keys: [], results: [] };\n window.localStorage.setItem(this.guidId, JSON.stringify(obj));\n }\n this.previousCacheQuery = key;\n if (page in singles) {\n key += singles[page].pageIndex;\n }\n return key;\n };\n DataManager.prototype.processQuery = function (query) {\n var key = this.generateKey(this.dataSource.url, query);\n var cachedItems = JSON.parse(window.localStorage.getItem(this.guidId));\n var data = cachedItems ? cachedItems.results[cachedItems.keys.indexOf(key)] : null;\n if (data != null) {\n return _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.parse.parseJson(data);\n }\n return this.adaptor.processQuery(this, query);\n };\n DataManager.getDeferedArgs = function (query, result, args) {\n if (query.isCountRequired) {\n args.result = result.result;\n args.count = result.count;\n args.aggregates = result.aggregates;\n }\n else {\n args.result = result;\n }\n return args;\n };\n DataManager.nextTick = function (fn) {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n // tslint:disable-next-line:no-any\n (window.setImmediate || window.setTimeout)(fn, 0);\n /* eslint-enable @typescript-eslint/no-explicit-any */\n };\n DataManager.prototype.extendRequest = function (url, fnSuccess, fnFail) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n type: 'GET',\n dataType: this.dataSource.dataType,\n crossDomain: this.dataSource.crossDomain,\n jsonp: this.dataSource.jsonp,\n cache: true,\n processData: false,\n onSuccess: fnSuccess,\n onFailure: fnFail\n }, url);\n };\n // tslint:disable-next-line:max-func-body-length\n DataManager.prototype.makeRequest = function (url, deffered, args, query) {\n var _this = this;\n var isSelector = !!query.subQuerySelector;\n var fnFail = function (e) {\n args.error = e;\n deffered.reject(args);\n };\n var process = function (data, count, xhr, request, actual, aggregates, virtualSelectRecords) {\n args.xhr = xhr;\n args.count = count ? parseInt(count.toString(), 10) : 0;\n args.result = data;\n args.request = request;\n args.aggregates = aggregates;\n args.actual = actual;\n args.virtualSelectRecords = virtualSelectRecords;\n deffered.resolve(args);\n };\n var fnQueryChild = function (data, selector) {\n var subDeffer = new Deferred();\n var childArgs = { parent: args };\n query.subQuery.isChild = true;\n var subUrl = _this.adaptor.processQuery(_this, query.subQuery, data ? _this.adaptor.processResponse(data) : selector);\n var childReq = _this.makeRequest(subUrl, subDeffer, childArgs, query.subQuery);\n if (!isSelector) {\n subDeffer.then(function (subData) {\n if (data) {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.buildHierarchy(query.subQuery.fKey, query.subQuery.fromTable, data, subData, query.subQuery.key);\n process(data, subData.count, subData.xhr);\n }\n }, fnFail);\n }\n return childReq;\n };\n var fnSuccess = function (data, request) {\n if (_this.isGraphQLAdaptor(_this.adaptor)) {\n // tslint:disable-next-line:no-string-literal\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data['errors'])) {\n // tslint:disable-next-line:no-string-literal\n return fnFail(data['errors'], request);\n }\n }\n if (_this.isCustomDataAdaptor(_this.adaptor)) {\n request = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, _this.fetchReqOption, request);\n }\n if (request.contentType.indexOf('xml') === -1 && _this.dateParse && !_this.isEnableCache) {\n data = _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.parse.parseJson(data);\n }\n var result;\n var promise = _this.afterReponseRequest(data);\n promise.then(function (data) {\n result = _this.adaptor.processResponse(data, _this, query, request.fetchRequest, request);\n if (_this.isEnableCache) {\n /* eslint-enable prefer-spread */\n var key = query ? _this.generateKey(_this.dataSource.url, query) : _this.dataSource.url;\n var obj = {};\n obj = JSON.parse(window.localStorage.getItem(_this.guidId));\n var index = obj.keys.indexOf(key);\n if (index !== -1) {\n obj.results.splice(index, 1);\n obj.keys.splice(index, 1);\n }\n obj.results[obj.keys.push(key) - 1] = { keys: key, result: result.result, timeStamp: new Date(), count: result.count };\n window.localStorage.setItem(_this.guidId, JSON.stringify(obj));\n }\n if (request.contentType.indexOf('xml') === -1 && _this.dateParse && _this.isEnableCache) {\n result = _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.parse.parseJson(result);\n }\n var count = 0;\n var aggregates = null;\n var virtualSelectRecords = 'virtualSelectRecords';\n var virtualRecords = data[virtualSelectRecords];\n if (query.isCountRequired) {\n count = result.count;\n aggregates = result.aggregates;\n result = result.result;\n }\n if (!query.subQuery) {\n process(result, count, request.fetchRequest, request.type, data, aggregates, virtualRecords);\n return;\n }\n if (!isSelector) {\n fnQueryChild(result, request);\n }\n ;\n }).catch(function (e) { return _this.dataManagerFailure(e, deffered, args); });\n };\n var req = this.extendRequest(url, fnSuccess, fnFail);\n if (!this.isCustomDataAdaptor(this.adaptor)) {\n var promise = this.useMiddleware(req);\n var fetch_1;\n promise.then(function (response) {\n fetch_1 = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Fetch(req);\n fetch_1.beforeSend = function () {\n _this.beforeSend(fetch_1.fetchRequest, fetch_1, response);\n };\n req = fetch_1.send();\n req.catch(function (e) { return true; });\n _this.requests.push(fetch_1);\n }).catch(function (e) { return _this.dataManagerFailure(e, deffered, args); });\n }\n else {\n this.fetchReqOption = req;\n var request = req;\n this.adaptor.options.getData({\n data: request.data,\n onSuccess: request.onSuccess, onFailure: request.onFailure\n });\n }\n if (isSelector) {\n var promise = void 0;\n var res = query.subQuerySelector.call(this, { query: query.subQuery, parent: query });\n if (res && res.length) {\n promise = Promise.all([req, fnQueryChild(null, res)]);\n promise.then(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = args[0];\n var pResult = _this.adaptor.processResponse(result[0], _this, query, _this.requests[0].fetchRequest, _this.requests[0]);\n var count = 0;\n if (query.isCountRequired) {\n count = pResult.count;\n pResult = pResult.result;\n }\n var cResult = _this.adaptor.processResponse(result[1], _this, query.subQuery, _this.requests[1].fetchRequest, _this.requests[1]);\n count = 0;\n if (query.subQuery.isCountRequired) {\n count = cResult.count;\n cResult = cResult.result;\n }\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.buildHierarchy(query.subQuery.fKey, query.subQuery.fromTable, pResult, cResult, query.subQuery.key);\n isSelector = false;\n process(pResult, count, _this.requests[0].fetchRequest);\n });\n }\n else {\n isSelector = false;\n }\n }\n return req;\n };\n /**\n * @param {Error} e - specifies the string\n * @param {Deferred} deffered - specifies the deffered\n * @param {RequestOptions} args - specifies the RequestOptions\n * @hidden\n */\n DataManager.prototype.dataManagerFailure = function (e, deffered, args) {\n args.error = e;\n deffered.reject(args);\n };\n DataManager.prototype.afterReponseRequest = function (data) {\n return __awaiter(this, void 0, void 0, function () {\n var reponse, deffered;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.applyPostRequestMiddlewares(data)];\n case 1:\n reponse = _a.sent();\n deffered = new Deferred();\n deffered.resolve(reponse);\n return [2 /*return*/, deffered.promise];\n }\n });\n });\n };\n /**\n * Processes the middleware stack after receiving the response.\n * @param {Response} response - The response object.\n * @returns {Response} - The potentially modified response.\n */\n DataManager.prototype.applyPostRequestMiddlewares = function (response) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, response];\n });\n });\n };\n /**\n * Registers a new middleware in the DataManager.\n * @param {Middleware} middleware - The middleware instance to register.\n * @returns {void}\n */\n DataManager.prototype.useMiddleware = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n var reponse, deffered;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.applyPreRequestMiddlewares(request)];\n case 1:\n reponse = _a.sent();\n deffered = new Deferred();\n deffered.resolve(reponse);\n return [2 /*return*/, deffered.promise];\n }\n });\n });\n };\n /**\n * Processes the middleware stack before sending the request.\n * @param {Request} request - The request object.\n * @returns {Request} - The potentially modified request.\n */\n DataManager.prototype.applyPreRequestMiddlewares = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, request];\n });\n });\n };\n DataManager.prototype.beforeSend = function (request, settings, response) {\n this.adaptor.beforeSend(this, request, settings);\n var headers = [];\n if (this.dataSource.headers) {\n headers = headers.concat(this.dataSource.headers);\n }\n var props;\n if (response && response.headers) {\n headers = headers.concat(response.headers);\n }\n for (var i = 0; headers && i < headers.length; i++) {\n props = [];\n var keys = Object.keys(headers[i]);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var prop = keys_1[_i];\n props.push(prop);\n request.headers.set(prop, headers[i][prop]);\n }\n }\n };\n /**\n * Save bulk changes to the given table name.\n * User can add a new record, edit an existing record, and delete a record at the same time.\n * If the datasource from remote, then updated in a single post.\n *\n * @param {Object} changes - Defines the CrudOptions.\n * @param {string} key - Defines the column field.\n * @param {string|Query} tableName - Defines the table name.\n * @param {Query} query - Sets default query for the DataManager.\n * @param original\n */\n DataManager.prototype.saveChanges = function (changes, key, tableName, query, original) {\n var _this = this;\n if (tableName instanceof _query__WEBPACK_IMPORTED_MODULE_3__.Query) {\n query = tableName;\n tableName = null;\n }\n var args = {\n url: tableName,\n key: key || this.dataSource.key\n };\n var req = this.adaptor.batchRequest(this, changes, args, query || new _query__WEBPACK_IMPORTED_MODULE_3__.Query(), original);\n var dofetchRequest = 'dofetchRequest';\n if (this.dataSource.offline) {\n return req;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.adaptor[dofetchRequest])) {\n return this.adaptor[dofetchRequest](req);\n }\n else if (!this.isCustomDataAdaptor(this.adaptor)) {\n var deff_1 = new Deferred();\n var fetch_2 = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Fetch(req);\n fetch_2.beforeSend = function () {\n _this.beforeSend(fetch_2.fetchRequest, fetch_2);\n };\n fetch_2.onSuccess = function (data, request) {\n if (_this.isGraphQLAdaptor(_this.adaptor)) {\n // tslint:disable-next-line:no-string-literal\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data['errors'])) {\n // tslint:disable-next-line:no-string-literal\n fetch_2.onFailure(JSON.stringify(data['errors']));\n }\n }\n deff_1.resolve(_this.adaptor.processResponse(data, _this, null, request.fetchRequest, request, changes, args));\n };\n fetch_2.onFailure = function (e) {\n deff_1.reject([{ error: e }]);\n };\n fetch_2.send().catch(function (e) { return true; }); // to handle the failure requests.\n return deff_1.promise;\n }\n else {\n return this.dofetchRequest(req, this.adaptor.options.batchUpdate, changes);\n }\n };\n /**\n * Inserts new record in the given table.\n *\n * @param {Object} data - Defines the data to insert.\n * @param {string|Query} tableName - Defines the table name.\n * @param {Query} query - Sets default query for the DataManager.\n * @param position\n */\n DataManager.prototype.insert = function (data, tableName, query, position) {\n if (tableName instanceof _query__WEBPACK_IMPORTED_MODULE_3__.Query) {\n query = tableName;\n tableName = null;\n }\n var req = this.adaptor.insert(this, data, tableName, query, position);\n var dofetchRequest = 'dofetchRequest';\n if (this.dataSource.offline) {\n return req;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.adaptor[dofetchRequest])) {\n return this.adaptor[dofetchRequest](req);\n }\n else {\n return this.dofetchRequest(req, this.adaptor.options.addRecord);\n }\n };\n /**\n * Removes data from the table with the given key.\n *\n * @param {string} keyField - Defines the column field.\n * @param {Object} value - Defines the value to find the data in the specified column.\n * @param {string|Query} tableName - Defines the table name\n * @param {Query} query - Sets default query for the DataManager.\n */\n DataManager.prototype.remove = function (keyField, value, tableName, query) {\n if (typeof value === 'object') {\n value = _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.getObject(keyField, value);\n }\n if (tableName instanceof _query__WEBPACK_IMPORTED_MODULE_3__.Query) {\n query = tableName;\n tableName = null;\n }\n var res = this.adaptor.remove(this, keyField, value, tableName, query);\n var dofetchRequest = 'dofetchRequest';\n if (this.dataSource.offline) {\n return res;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.adaptor[dofetchRequest])) {\n return this.adaptor[dofetchRequest](res);\n }\n else {\n var remove = this.adaptor.options.deleteRecord;\n return this.dofetchRequest(res, remove);\n }\n };\n /**\n * Updates existing record in the given table.\n *\n * @param {string} keyField - Defines the column field.\n * @param {Object} value - Defines the value to find the data in the specified column.\n * @param {string|Query} tableName - Defines the table name\n * @param {Query} query - Sets default query for the DataManager.\n * @param original\n */\n DataManager.prototype.update = function (keyField, value, tableName, query, original) {\n if (tableName instanceof _query__WEBPACK_IMPORTED_MODULE_3__.Query) {\n query = tableName;\n tableName = null;\n }\n if (this.isEnableCache) {\n this.cacheQuery = this.generateKey(this.dataSource.url, query);\n }\n var res = this.adaptor.update(this, keyField, value, tableName, query, original);\n var dofetchRequest = 'dofetchRequest';\n if (this.dataSource.offline) {\n return res;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.adaptor[dofetchRequest])) {\n return this.adaptor[dofetchRequest](res);\n }\n else {\n var update = this.adaptor.options.updateRecord;\n return this.dofetchRequest(res, update);\n }\n };\n DataManager.prototype.isCustomDataAdaptor = function (dataSource) {\n return this.adaptor.getModuleName &&\n this.adaptor.getModuleName() === 'CustomDataAdaptor';\n };\n DataManager.prototype.isGraphQLAdaptor = function (dataSource) {\n return this.adaptor.getModuleName &&\n this.adaptor.getModuleName() === 'GraphQLAdaptor';\n };\n DataManager.prototype.successFunc = function (record, request, changes) {\n if (this.isGraphQLAdaptor(this.adaptor)) {\n var data = typeof record === 'object' ? record : JSON.parse(record);\n // tslint:disable-next-line:no-string-literal\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data['errors'])) {\n // tslint:disable-next-line:no-string-literal\n this.failureFunc(JSON.stringify(data['errors']));\n }\n }\n if (this.isCustomDataAdaptor(this.adaptor)) {\n request = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.fetchReqOption, request);\n }\n try {\n _util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.parse.parseJson(record);\n }\n catch (e) {\n record = [];\n }\n if (this.isEnableCache) {\n var requests = JSON.parse(request.data);\n if (requests.action === 'insert' || requests.action === 'remove') {\n var obj = { keys: [], results: [] };\n window.localStorage.setItem(this.guidId, JSON.stringify(obj));\n }\n else if (requests.action === 'update') {\n var cachedItems = JSON.parse(window.localStorage.getItem(this.guidId));\n var data = cachedItems ? cachedItems.results[cachedItems.keys.indexOf(this.cacheQuery)] : null;\n if (data && data.result) {\n var cacheData = data.result;\n for (var i = 0; i < cacheData.length; i++) {\n if (cacheData[i][requests.keyColumn] === requests.key) {\n cacheData[i] = requests.value;\n window.localStorage.setItem(this.guidId, JSON.stringify(cachedItems));\n break;\n }\n }\n }\n }\n }\n record = this.adaptor.processResponse(_util__WEBPACK_IMPORTED_MODULE_2__.DataUtil.parse.parseJson(record), this, null, request.fetchRequest, request, changes);\n this.fetchDeffered.resolve(record);\n };\n DataManager.prototype.failureFunc = function (e) {\n if (this.isEnableCache) {\n this.cacheQuery = '';\n }\n this.fetchDeffered.reject([{ error: e }]);\n };\n DataManager.prototype.dofetchRequest = function (res, fetchFunc, changes) {\n var _this = this;\n res = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {\n type: 'POST',\n contentType: 'application/json; charset=utf-8',\n processData: false\n }, res);\n this.fetchDeffered = new Deferred();\n if (!this.isCustomDataAdaptor(this.adaptor)) {\n var fetch_3 = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Fetch(res);\n fetch_3.beforeSend = function () {\n _this.beforeSend(fetch_3.fetchRequest, fetch_3);\n };\n fetch_3.onSuccess = this.successFunc.bind(this);\n fetch_3.onFailure = this.failureFunc.bind(this);\n fetch_3.send().catch(function (e) { return true; }); // to handle the failure requests.\n }\n else {\n this.fetchReqOption = res;\n fetchFunc.call(this, {\n data: res.data, onSuccess: this.successFunc.bind(this),\n onFailure: this.failureFunc.bind(this),\n changes: changes\n });\n }\n return this.fetchDeffered.promise;\n };\n DataManager.prototype.clearPersistence = function () {\n window.removeEventListener('unload', this.setPersistData.bind(this));\n this.dataSource.enablePersistence = false;\n this.persistQuery = {};\n window.localStorage.setItem(this.dataSource.id, '[]');\n };\n return DataManager;\n}());\n\n/**\n * Deferred is used to handle asynchronous operation.\n */\nvar Deferred = /** @class */ (function () {\n function Deferred() {\n var _this = this;\n /**\n * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.\n */\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n /**\n * Defines the callback function triggers when the Deferred object is resolved.\n */\n this.then = this.promise.then.bind(this.promise);\n /**\n * Defines the callback function triggers when the Deferred object is rejected.\n */\n this.catch = this.promise.catch.bind(this.promise);\n }\n return Deferred;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-data/src/manager.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-data/src/query.js": +/*!********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-data/src/query.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Predicate: () => (/* binding */ Predicate),\n/* harmony export */ Query: () => (/* binding */ Query)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* eslint-disable valid-jsdoc */\n/* eslint-disable security/detect-object-injection */\n\n\n/**\n * Query class is used to build query which is used by the DataManager to communicate with datasource.\n */\nvar Query = /** @class */ (function () {\n /**\n * Constructor for Query class.\n *\n * @param {string|string[]} from?\n * @param from\n * @hidden\n */\n function Query(from) {\n /** @hidden */\n this.subQuery = null;\n /** @hidden */\n this.isChild = false;\n /** @hidden */\n this.distincts = [];\n this.queries = [];\n this.key = '';\n this.fKey = '';\n if (typeof from === 'string') {\n this.fromTable = from;\n }\n else if (from && from instanceof Array) {\n this.lookups = from;\n }\n this.expands = [];\n this.sortedColumns = [];\n this.groupedColumns = [];\n this.subQuery = null;\n this.isChild = false;\n this.params = [];\n this.lazyLoad = [];\n return this;\n }\n Object.defineProperty(Query.prototype, \"moduleName\", {\n /** @hidden */\n get: function () { return 'query'; },\n enumerable: true,\n configurable: true\n });\n ;\n /**\n * Sets the primary key.\n *\n * @param {string} field - Defines the column field.\n */\n Query.prototype.setKey = function (field) {\n this.key = field;\n return this;\n };\n /**\n * Sets default DataManager to execute query.\n *\n * @param {DataManager} dataManager - Defines the DataManager.\n */\n Query.prototype.using = function (dataManager) {\n this.dataManager = dataManager;\n return this;\n };\n /**\n * Executes query with the given DataManager.\n *\n * @param {DataManager} dataManager - Defines the DataManager.\n * @param {Function} done - Defines the success callback.\n * @param {Function} fail - Defines the failure callback.\n * @param {Function} always - Defines the callback which will be invoked on either success or failure.\n *\n *
      \n     * let dataManager: DataManager = new DataManager([{ ID: '10' }, { ID: '2' }, { ID: '1' }, { ID: '20' }]);\n     * let query: Query = new Query();\n     * query.sortBy('ID', (x: string, y: string): number => { return parseInt(x, 10) - parseInt(y, 10) });\n     * let promise: Promise< Object > = query.execute(dataManager);\n     * promise.then((e: { result: Object }) => { });\n     * 
      \n */\n Query.prototype.execute = function (dataManager, done, fail, always) {\n dataManager = dataManager || this.dataManager;\n if (dataManager) {\n return dataManager.executeQuery(this, done, fail, always);\n }\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.throwError('Query - execute() : dataManager needs to be is set using \"using\" function or should be passed as argument');\n };\n /**\n * Executes query with the local datasource.\n *\n * @param {DataManager} dataManager - Defines the DataManager.\n */\n Query.prototype.executeLocal = function (dataManager) {\n dataManager = dataManager || this.dataManager;\n if (dataManager) {\n return dataManager.executeLocal(this);\n }\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.throwError('Query - executeLocal() : dataManager needs to be is set using \"using\" function or should be passed as argument');\n };\n /**\n * Creates deep copy of the Query object.\n */\n Query.prototype.clone = function () {\n var cloned = new Query();\n cloned.queries = this.queries.slice(0);\n cloned.key = this.key;\n cloned.isChild = this.isChild;\n cloned.dataManager = this.dataManager;\n cloned.fromTable = this.fromTable;\n cloned.params = this.params.slice(0);\n cloned.expands = this.expands.slice(0);\n cloned.sortedColumns = this.sortedColumns.slice(0);\n cloned.groupedColumns = this.groupedColumns.slice(0);\n cloned.subQuerySelector = this.subQuerySelector;\n cloned.subQuery = this.subQuery;\n cloned.fKey = this.fKey;\n cloned.isCountRequired = this.isCountRequired;\n cloned.distincts = this.distincts.slice(0);\n cloned.lazyLoad = this.lazyLoad.slice(0);\n return cloned;\n };\n /**\n * Specifies the name of table to retrieve data in query execution.\n *\n * @param {string} tableName - Defines the table name.\n */\n Query.prototype.from = function (tableName) {\n this.fromTable = tableName;\n return this;\n };\n /**\n * Adds additional parameter which will be sent along with the request which will be generated while DataManager execute.\n *\n * @param {string} key - Defines the key of additional parameter.\n * @param {Function|string} value - Defines the value for the key.\n */\n Query.prototype.addParams = function (key, value) {\n if (typeof value === 'function') {\n this.params.push({ key: key, fn: value });\n }\n else {\n this.params.push({ key: key, value: value });\n }\n return this;\n };\n /**\n * @param fields\n * @hidden\n */\n Query.prototype.distinct = function (fields) {\n if (typeof fields === 'string') {\n this.distincts = [].slice.call([fields], 0);\n }\n else {\n this.distincts = fields.slice(0);\n }\n return this;\n };\n /**\n * Expands the related table.\n *\n * @param {string|Object[]} tables\n */\n Query.prototype.expand = function (tables) {\n if (typeof tables === 'string') {\n this.expands = [].slice.call([tables], 0);\n }\n else {\n this.expands = tables.slice(0);\n }\n return this;\n };\n /**\n * Filter data with given filter criteria.\n *\n * @param {string|Predicate} fieldName - Defines the column field or Predicate.\n * @param {string} operator - Defines the operator how to filter data.\n * @param {string|number|boolean} value - Defines the values to match with data.\n * @param {boolean} ignoreCase - If ignore case set to false, then filter data with exact match or else\n * filter data with case insensitive.\n * @param ignoreAccent\n * @param matchCase\n */\n Query.prototype.where = function (fieldName, operator, value, ignoreCase, ignoreAccent, matchCase) {\n operator = operator ? (operator).toLowerCase() : null;\n var predicate = null;\n if (typeof fieldName === 'string') {\n predicate = new Predicate(fieldName, operator, value, ignoreCase, ignoreAccent, matchCase);\n }\n else if (fieldName instanceof Predicate) {\n predicate = fieldName;\n }\n this.queries.push({\n fn: 'onWhere',\n e: predicate\n });\n return this;\n };\n /**\n * Search data with given search criteria.\n *\n * @param {string|number|boolean} searchKey - Defines the search key.\n * @param {string|string[]} fieldNames - Defines the collection of column fields.\n * @param {string} operator - Defines the operator how to search data.\n * @param {boolean} ignoreCase - If ignore case set to false, then filter data with exact match or else\n * filter data with case insensitive.\n * @param ignoreAccent\n */\n Query.prototype.search = function (searchKey, fieldNames, operator, ignoreCase, ignoreAccent) {\n if (typeof fieldNames === 'string') {\n fieldNames = [fieldNames];\n }\n if (!operator || operator === 'none') {\n operator = 'contains';\n }\n var comparer = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.fnOperators[operator];\n this.queries.push({\n fn: 'onSearch',\n e: {\n fieldNames: fieldNames,\n operator: operator,\n searchKey: searchKey,\n ignoreCase: ignoreCase,\n ignoreAccent: ignoreAccent,\n comparer: comparer\n }\n });\n return this;\n };\n /**\n * Sort the data with given sort criteria.\n * By default, sort direction is ascending.\n *\n * @param {string|string[]} fieldName - Defines the single or collection of column fields.\n * @param {string|Function} comparer - Defines the sort direction or custom sort comparer function.\n * @param isFromGroup\n */\n Query.prototype.sortBy = function (fieldName, comparer, isFromGroup) {\n return this.sortByForeignKey(fieldName, comparer, isFromGroup);\n };\n /**\n * Sort the data with given sort criteria.\n * By default, sort direction is ascending.\n *\n * @param {string|string[]} fieldName - Defines the single or collection of column fields.\n * @param {string|Function} comparer - Defines the sort direction or custom sort comparer function.\n * @param isFromGroup\n * @param {string} direction - Defines the sort direction .\n */\n Query.prototype.sortByForeignKey = function (fieldName, comparer, isFromGroup, direction) {\n var order = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(direction) ? direction : 'ascending';\n var sorts;\n var temp;\n if (typeof fieldName === 'string' && _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.endsWith(fieldName.toLowerCase(), ' desc')) {\n fieldName = fieldName.replace(/ desc$/i, '');\n comparer = 'descending';\n }\n if (!comparer || typeof comparer === 'string') {\n order = comparer ? comparer.toLowerCase() : 'ascending';\n comparer = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.fnSort(comparer);\n }\n if (isFromGroup) {\n sorts = Query.filterQueries(this.queries, 'onSortBy');\n for (var i = 0; i < sorts.length; i++) {\n temp = sorts[i].e.fieldName;\n if (typeof temp === 'string') {\n if (temp === fieldName) {\n return this;\n }\n }\n else if (temp instanceof Array) {\n for (var j = 0; j < temp.length; j++) {\n if (temp[j] === fieldName || fieldName.toLowerCase() === temp[j] + ' desc') {\n return this;\n }\n }\n }\n }\n }\n this.queries.push({\n fn: 'onSortBy',\n e: {\n fieldName: fieldName,\n comparer: comparer,\n direction: order\n }\n });\n return this;\n };\n /**\n * Sorts data in descending order.\n *\n * @param {string} fieldName - Defines the column field.\n */\n Query.prototype.sortByDesc = function (fieldName) {\n return this.sortBy(fieldName, 'descending');\n };\n /**\n * Groups data with the given field name.\n *\n * @param {string} fieldName - Defines the column field.\n * @param fn\n * @param format\n */\n Query.prototype.group = function (fieldName, fn, format) {\n this.sortBy(fieldName, null, true);\n this.queries.push({\n fn: 'onGroup',\n e: {\n fieldName: fieldName,\n comparer: fn ? fn : null,\n format: format ? format : null\n }\n });\n return this;\n };\n /**\n * Gets data based on the given page index and size.\n *\n * @param {number} pageIndex - Defines the current page index.\n * @param {number} pageSize - Defines the no of records per page.\n */\n Query.prototype.page = function (pageIndex, pageSize) {\n this.queries.push({\n fn: 'onPage',\n e: {\n pageIndex: pageIndex,\n pageSize: pageSize\n }\n });\n return this;\n };\n /**\n * Gets data based on the given start and end index.\n *\n * @param {number} start - Defines the start index of the datasource.\n * @param {number} end - Defines the end index of the datasource.\n */\n Query.prototype.range = function (start, end) {\n this.queries.push({\n fn: 'onRange',\n e: {\n start: start,\n end: end\n }\n });\n return this;\n };\n /**\n * Gets data from the top of the data source based on given number of records count.\n *\n * @param {number} nos - Defines the no of records to retrieve from datasource.\n */\n Query.prototype.take = function (nos) {\n this.queries.push({\n fn: 'onTake',\n e: {\n nos: nos\n }\n });\n return this;\n };\n /**\n * Skips data with given number of records count from the top of the data source.\n *\n * @param {number} nos - Defines the no of records skip in the datasource.\n */\n Query.prototype.skip = function (nos) {\n this.queries.push({\n fn: 'onSkip',\n e: { nos: nos }\n });\n return this;\n };\n /**\n * Selects specified columns from the data source.\n *\n * @param {string|string[]} fieldNames - Defines the collection of column fields.\n */\n Query.prototype.select = function (fieldNames) {\n if (typeof fieldNames === 'string') {\n fieldNames = [].slice.call([fieldNames], 0);\n }\n this.queries.push({\n fn: 'onSelect',\n e: { fieldNames: fieldNames }\n });\n return this;\n };\n /**\n * Gets the records in hierarchical relationship from two tables. It requires the foreign key to relate two tables.\n *\n * @param {Query} query - Defines the query to relate two tables.\n * @param {Function} selectorFn - Defines the custom function to select records.\n */\n Query.prototype.hierarchy = function (query, selectorFn) {\n this.subQuerySelector = selectorFn;\n this.subQuery = query;\n return this;\n };\n /**\n * Sets the foreign key which is used to get data from the related table.\n *\n * @param {string} key - Defines the foreign key.\n */\n Query.prototype.foreignKey = function (key) {\n this.fKey = key;\n return this;\n };\n /**\n * It is used to get total number of records in the DataManager execution result.\n */\n Query.prototype.requiresCount = function () {\n this.isCountRequired = true;\n return this;\n };\n //type - sum, avg, min, max\n /**\n * Aggregate the data with given type and field name.\n *\n * @param {string} type - Defines the aggregate type.\n * @param {string} field - Defines the column field to aggregate.\n */\n Query.prototype.aggregate = function (type, field) {\n this.queries.push({\n fn: 'onAggregates',\n e: { field: field, type: type }\n });\n return this;\n };\n /**\n * Pass array of filterColumn query for performing filter operation.\n *\n * @param {QueryOptions[]} queries\n * @param {string} name\n * @hidden\n */\n Query.filterQueries = function (queries, name) {\n return queries.filter(function (q) {\n return q.fn === name;\n });\n };\n /**\n * To get the list of queries which is already filtered in current data source.\n *\n * @param {Object[]} queries\n * @param {string[]} singles\n * @hidden\n */\n Query.filterQueryLists = function (queries, singles) {\n var filtered = queries.filter(function (q) {\n return singles.indexOf(q.fn) !== -1;\n });\n var res = {};\n for (var i = 0; i < filtered.length; i++) {\n if (!res[filtered[i].fn]) {\n res[filtered[i].fn] = filtered[i].e;\n }\n }\n return res;\n };\n return Query;\n}());\n\n/**\n * Predicate class is used to generate complex filter criteria.\n * This will be used by DataManager to perform multiple filtering operation.\n */\nvar Predicate = /** @class */ (function () {\n /**\n * Constructor for Predicate class.\n *\n * @param {string|Predicate} field\n * @param {string} operator\n * @param {string | number | Date | boolean | Predicate | Predicate[] | (string | number | boolean | Date)[] | null} value\n * @param {boolean=false} ignoreCase\n * @param ignoreAccent\n * @param {boolean} matchCase\n * @hidden\n */\n function Predicate(field, operator, value, ignoreCase, ignoreAccent, matchCase) {\n if (ignoreCase === void 0) { ignoreCase = false; }\n /** @hidden */\n this.ignoreAccent = false;\n /** @hidden */\n this.isComplex = false;\n if (typeof field === 'string') {\n this.field = field;\n this.operator = operator.toLowerCase();\n this.value = value;\n this.matchCase = matchCase;\n this.ignoreCase = ignoreCase;\n this.ignoreAccent = ignoreAccent;\n this.isComplex = false;\n this.comparer = _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.fnOperators.processOperator(this.operator);\n }\n else if (field instanceof Predicate && value instanceof Predicate || value instanceof Array) {\n this.isComplex = true;\n this.condition = operator.toLowerCase();\n this.predicates = [field];\n this.matchCase = field.matchCase;\n this.ignoreCase = field.ignoreCase;\n this.ignoreAccent = field.ignoreAccent;\n if (value instanceof Array) {\n [].push.apply(this.predicates, value);\n }\n else {\n this.predicates.push(value);\n }\n }\n return this;\n }\n /**\n * Adds n-number of new predicates on existing predicate with “and” condition.\n *\n * @param {Object[]} args - Defines the collection of predicates.\n */\n Predicate.and = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Predicate.combinePredicates([].slice.call(args, 0), 'and');\n };\n /**\n * Adds new predicate on existing predicate with “and” condition.\n *\n * @param {string} field - Defines the column field.\n * @param {string} operator - Defines the operator how to filter data.\n * @param {string} value - Defines the values to match with data.\n * @param {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else\n * filter data with case insensitive.\n * @param ignoreCase\n * @param ignoreAccent\n */\n Predicate.prototype.and = function (field, operator, value, ignoreCase, ignoreAccent) {\n return Predicate.combine(this, field, operator, value, 'and', ignoreCase, ignoreAccent);\n };\n /**\n * Adds n-number of new predicates on existing predicate with “or” condition.\n *\n * @param {Object[]} args - Defines the collection of predicates.\n */\n Predicate.or = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Predicate.combinePredicates([].slice.call(args, 0), 'or');\n };\n /**\n * Adds new predicate on existing predicate with “or” condition.\n *\n * @param {string} field - Defines the column field.\n * @param {string} operator - Defines the operator how to filter data.\n * @param {string} value - Defines the values to match with data.\n * @param {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else\n * filter data with case insensitive.\n * @param ignoreCase\n * @param ignoreAccent\n */\n Predicate.prototype.or = function (field, operator, value, ignoreCase, ignoreAccent) {\n return Predicate.combine(this, field, operator, value, 'or', ignoreCase, ignoreAccent);\n };\n /**\n * Adds n-number of new predicates on existing predicate with “and not” condition.\n *\n * @param {Object[]} args - Defines the collection of predicates.\n */\n Predicate.ornot = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Predicate.combinePredicates([].slice.call(args, 0), 'or not');\n };\n /**\n * Adds new predicate on existing predicate with “and not” condition.\n *\n * @param {string} field - Defines the column field.\n * @param {string} operator - Defines the operator how to filter data.\n * @param {string} value - Defines the values to match with data.\n * @param {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else\n * filter data with case insensitive.\n * @param ignoreCase\n * @param ignoreAccent\n */\n Predicate.prototype.ornot = function (field, operator, value, ignoreCase, ignoreAccent) {\n return Predicate.combine(this, field, operator, value, 'ornot', ignoreCase, ignoreAccent);\n };\n /**\n * Adds n-number of new predicates on existing predicate with “and not” condition.\n *\n * @param {Object[]} args - Defines the collection of predicates.\n */\n Predicate.andnot = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Predicate.combinePredicates([].slice.call(args, 0), 'and not');\n };\n /**\n * Adds new predicate on existing predicate with “and not” condition.\n *\n * @param {string} field - Defines the column field.\n * @param {string} operator - Defines the operator how to filter data.\n * @param {string} value - Defines the values to match with data.\n * @param {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else\n * filter data with case insensitive.\n * @param ignoreCase\n * @param ignoreAccent\n */\n Predicate.prototype.andnot = function (field, operator, value, ignoreCase, ignoreAccent) {\n return Predicate.combine(this, field, operator, value, 'andnot', ignoreCase, ignoreAccent);\n };\n /**\n * Converts plain JavaScript object to Predicate object.\n *\n * @param {Predicate[]|Predicate} json - Defines single or collection of Predicate.\n */\n Predicate.fromJson = function (json) {\n if (json instanceof Array) {\n var res = [];\n for (var i = 0, len = json.length; i < len; i++) {\n res.push(this.fromJSONData(json[i]));\n }\n return res;\n }\n var pred = json;\n return this.fromJSONData(pred);\n };\n /**\n * Validate the record based on the predicates.\n *\n * @param {Object} record - Defines the datasource record.\n */\n Predicate.prototype.validate = function (record) {\n var predicate = this.predicates ? this.predicates : [];\n var ret;\n var isAnd;\n if (!this.isComplex && this.comparer) {\n if (this.condition && this.condition.indexOf('not') !== -1) {\n this.condition = this.condition.split('not')[0] === '' ? undefined : this.condition.split('not')[0];\n return !this.comparer.call(this, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(this.field, record), this.value, this.ignoreCase, this.ignoreAccent);\n }\n else {\n return this.comparer.call(this, _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(this.field, record), this.value, this.ignoreCase, this.ignoreAccent);\n }\n }\n if (this.condition && this.condition.indexOf('not') !== -1) {\n isAnd = this.condition.indexOf('and') !== -1;\n }\n else {\n isAnd = this.condition === 'and';\n }\n for (var i = 0; i < predicate.length; i++) {\n if (i > 0 && this.condition && this.condition.indexOf('not') !== -1) {\n predicate[i].condition = predicate[i].condition ? predicate[i].condition + 'not' : 'not';\n }\n ret = predicate[i].validate(record);\n if (isAnd) {\n if (!ret) {\n return false;\n }\n }\n else {\n if (ret) {\n return true;\n }\n }\n }\n return isAnd;\n };\n /**\n * Converts predicates to plain JavaScript.\n * This method is uses Json stringify when serializing Predicate object.\n */\n Predicate.prototype.toJson = function () {\n var predicates;\n var p;\n if (this.isComplex) {\n predicates = [];\n p = this.predicates;\n for (var i = 0; i < p.length; i++) {\n predicates.push(p[i].toJson());\n }\n }\n return {\n isComplex: this.isComplex,\n field: this.field,\n operator: this.operator,\n value: this.value,\n ignoreCase: this.ignoreCase,\n ignoreAccent: this.ignoreAccent,\n condition: this.condition,\n predicates: predicates,\n matchCase: this.matchCase\n };\n };\n Predicate.combinePredicates = function (predicates, operator) {\n if (predicates.length === 1) {\n if (!(predicates[0] instanceof Array)) {\n return predicates[0];\n }\n predicates = predicates[0];\n }\n return new Predicate(predicates[0], operator, predicates.slice(1));\n };\n Predicate.combine = function (pred, field, operator, value, condition, ignoreCase, ignoreAccent) {\n if (field instanceof Predicate) {\n return Predicate[condition](pred, field);\n }\n if (typeof field === 'string') {\n return Predicate[condition](pred, new Predicate(field, operator, value, ignoreCase, ignoreAccent));\n }\n return _util__WEBPACK_IMPORTED_MODULE_1__.DataUtil.throwError('Predicate - ' + condition + ' : invalid arguments');\n };\n Predicate.fromJSONData = function (json) {\n var preds = json.predicates || [];\n var len = preds.length;\n var predicates = [];\n var result;\n for (var i = 0; i < len; i++) {\n predicates.push(this.fromJSONData(preds[i]));\n }\n if (!json.isComplex) {\n result = new Predicate(json.field, json.operator, json.value, json.ignoreCase, json.ignoreAccent);\n }\n else {\n result = new Predicate(predicates[0], json.condition, predicates.slice(1));\n }\n return result;\n };\n return Predicate;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-data/src/query.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-data/src/util.js": +/*!*******************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-data/src/util.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DataUtil: () => (/* binding */ DataUtil)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manager */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./query */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* eslint-disable valid-jsdoc */\n/* eslint-disable security/detect-object-injection */\n\n\n\nvar consts = { GroupGuid: '{271bbba0-1ee7}' };\n/**\n * Data manager common utility methods.\n *\n * @hidden\n */\nvar DataUtil = /** @class */ (function () {\n function DataUtil() {\n }\n /**\n * Returns the value by invoking the provided parameter function.\n * If the paramater is not of type function then it will be returned as it is.\n *\n * @param {Function|string|string[]|number} value\n * @param {Object} inst?\n * @param inst\n * @hidden\n */\n DataUtil.getValue = function (value, inst) {\n if (typeof value === 'function') {\n return value.call(inst || {});\n }\n return value;\n };\n /**\n * Returns true if the input string ends with given string.\n *\n * @param {string} input\n * @param {string} substr\n */\n DataUtil.endsWith = function (input, substr) {\n return input.slice && input.slice(-substr.length) === substr;\n };\n /**\n * Returns true if the input string not ends with given string.\n *\n * @param {string} input\n * @param {string} substr\n */\n DataUtil.notEndsWith = function (input, substr) {\n return input.slice && input.slice(-substr.length) !== substr;\n };\n /**\n * Returns true if the input string starts with given string.\n *\n * @param {string} str\n * @param {string} startstr\n * @param input\n * @param start\n */\n DataUtil.startsWith = function (input, start) {\n return input.slice(0, start.length) === start;\n };\n /**\n * Returns true if the input string not starts with given string.\n *\n * @param {string} str\n * @param {string} startstr\n * @param input\n * @param start\n */\n DataUtil.notStartsWith = function (input, start) {\n return input.slice(0, start.length) !== start;\n };\n /**\n * Returns true if the input string pattern(wildcard) matches with given string.\n *\n * @param {string} str\n * @param {string} startstr\n * @param input\n * @param pattern\n */\n DataUtil.wildCard = function (input, pattern) {\n var asteriskSplit;\n var optionalSplit;\n // special character allowed search\n if (pattern.indexOf('[') !== -1) {\n pattern = pattern.split('[').join('[[]');\n }\n if (pattern.indexOf('(') !== -1) {\n pattern = pattern.split('(').join('[(]');\n }\n if (pattern.indexOf(')') !== -1) {\n pattern = pattern.split(')').join('[)]');\n }\n if (pattern.indexOf('\\\\') !== -1) {\n pattern = pattern.split('\\\\').join('[\\\\\\\\]');\n }\n if (pattern.indexOf('*') !== -1) {\n if (pattern.charAt(0) !== '*') {\n pattern = '^' + pattern;\n }\n if (pattern.charAt(pattern.length - 1) !== '*') {\n pattern = pattern + '$';\n }\n asteriskSplit = pattern.split('*');\n for (var i = 0; i < asteriskSplit.length; i++) {\n if (asteriskSplit[i].indexOf('.') === -1) {\n asteriskSplit[i] = asteriskSplit[i] + '.*';\n }\n else {\n asteriskSplit[i] = asteriskSplit[i] + '*';\n }\n }\n pattern = asteriskSplit.join('');\n }\n if (pattern.indexOf('%3f') !== -1 || pattern.indexOf('?') !== -1) {\n optionalSplit = pattern.indexOf('%3f') !== -1 ? pattern.split('%3f') : pattern.split('?');\n pattern = optionalSplit.join('.');\n }\n // eslint-disable-next-line security/detect-non-literal-regexp\n var regexPattern = new RegExp(pattern, 'g');\n return regexPattern.test(input);\n };\n /**\n * Returns true if the input string pattern(like) matches with given string.\n *\n * @param {string} str\n * @param {string} startstr\n * @param input\n * @param pattern\n */\n DataUtil.like = function (input, pattern) {\n if (pattern.indexOf('%') !== -1) {\n if (pattern.charAt(0) === '%' && pattern.lastIndexOf('%') < 2) {\n pattern = pattern.substring(1, pattern.length);\n return DataUtil.startsWith(DataUtil.toLowerCase(input), DataUtil.toLowerCase(pattern));\n }\n else if (pattern.charAt(pattern.length - 1) === '%' && pattern.indexOf('%') > pattern.length - 3) {\n pattern = pattern.substring(0, pattern.length - 1);\n return DataUtil.endsWith(DataUtil.toLowerCase(input), DataUtil.toLowerCase(pattern));\n }\n else if (pattern.lastIndexOf('%') !== pattern.indexOf('%') && pattern.lastIndexOf('%') > pattern.indexOf('%') + 1) {\n pattern = pattern.substring(pattern.indexOf('%') + 1, pattern.lastIndexOf('%'));\n return input.indexOf(pattern) !== -1;\n }\n else {\n return input.indexOf(pattern) !== -1;\n }\n }\n else {\n return false;\n }\n };\n /**\n * To return the sorting function based on the string.\n *\n * @param {string} order\n * @hidden\n */\n DataUtil.fnSort = function (order) {\n order = order ? DataUtil.toLowerCase(order) : 'ascending';\n if (order === 'ascending') {\n return this.fnAscending;\n }\n return this.fnDescending;\n };\n /**\n * Comparer function which is used to sort the data in ascending order.\n *\n * @param {string|number} x\n * @param {string|number} y\n * @returns number\n */\n DataUtil.fnAscending = function (x, y) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(x) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(y)) {\n return 0;\n }\n if (y === null || y === undefined) {\n return -1;\n }\n if (typeof x === 'string') {\n return x.localeCompare(y);\n }\n if (x === null || x === undefined) {\n return 1;\n }\n return x - y;\n };\n /**\n * Comparer function which is used to sort the data in descending order.\n *\n * @param {string|number} x\n * @param {string|number} y\n * @returns number\n */\n DataUtil.fnDescending = function (x, y) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(x) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(y)) {\n return 0;\n }\n if (y === null || y === undefined) {\n return 1;\n }\n if (typeof x === 'string') {\n return x.localeCompare(y) * -1;\n }\n if (x === null || x === undefined) {\n return -1;\n }\n return y - x;\n };\n DataUtil.extractFields = function (obj, fields) {\n var newObj = {};\n for (var i = 0; i < fields.length; i++) {\n newObj = this.setValue(fields[i], this.getObject(fields[i], obj), newObj);\n }\n return newObj;\n };\n /**\n * Select objects by given fields from jsonArray.\n *\n * @param {Object[]} jsonArray\n * @param {string[]} fields\n */\n DataUtil.select = function (jsonArray, fields) {\n var newData = [];\n for (var i = 0; i < jsonArray.length; i++) {\n newData.push(this.extractFields(jsonArray[i], fields));\n }\n return newData;\n };\n /**\n * Group the input data based on the field name.\n * It also performs aggregation of the grouped records based on the aggregates paramater.\n *\n * @param {Object[]} jsonArray\n * @param {string} field?\n * @param {Object[]} agg?\n * @param {number} level?\n * @param {Object[]} groupDs?\n * @param field\n * @param aggregates\n * @param level\n * @param groupDs\n * @param format\n * @param isLazyLoad\n */\n DataUtil.group = function (jsonArray, field, aggregates, level, groupDs, format, isLazyLoad) {\n level = level || 1;\n var jsonData = jsonArray;\n var guid = 'GroupGuid';\n if (jsonData.GroupGuid === consts[guid]) {\n var _loop_1 = function (j) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(groupDs)) {\n var indx = -1;\n var temp = groupDs.filter(function (e) { return e.key === jsonData[j].key; });\n indx = groupDs.indexOf(temp[0]);\n jsonData[j].items = this_1.group(jsonData[j].items, field, aggregates, jsonData.level + 1, groupDs[indx].items, format, isLazyLoad);\n jsonData[j].count = groupDs[indx].count;\n }\n else {\n jsonData[j].items = this_1.group(jsonData[j].items, field, aggregates, jsonData.level + 1, null, format, isLazyLoad);\n jsonData[j].count = jsonData[j].items.length;\n }\n };\n var this_1 = this;\n for (var j = 0; j < jsonData.length; j++) {\n _loop_1(j);\n }\n jsonData.childLevels += 1;\n return jsonData;\n }\n var grouped = {};\n var groupedArray = [];\n groupedArray.GroupGuid = consts[guid];\n groupedArray.level = level;\n groupedArray.childLevels = 0;\n groupedArray.records = jsonData;\n var _loop_2 = function (i) {\n var val = this_2.getVal(jsonData, i, field);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format)) {\n val = format(val, field);\n }\n if (!grouped[val]) {\n grouped[val] = {\n key: val,\n count: 0,\n items: [],\n aggregates: {},\n field: field\n };\n groupedArray.push(grouped[val]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(groupDs)) {\n var tempObj = groupDs.filter(function (e) { return e.key === grouped[val].key; });\n grouped[val].count = tempObj[0].count;\n }\n }\n grouped[val].count = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(groupDs) ? grouped[val].count : grouped[val].count += 1;\n if (!isLazyLoad || (isLazyLoad && aggregates.length)) {\n grouped[val].items.push(jsonData[i]);\n }\n };\n var this_2 = this;\n for (var i = 0; i < jsonData.length; i++) {\n _loop_2(i);\n }\n if (aggregates && aggregates.length) {\n var _loop_3 = function (i) {\n var res = {};\n var fn = void 0;\n var aggs = aggregates;\n for (var j = 0; j < aggregates.length; j++) {\n fn = DataUtil.aggregates[aggregates[j].type];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(groupDs)) {\n var temp = groupDs.filter(function (e) { return e.key === groupedArray[i].key; });\n if (fn) {\n res[aggs[j].field + ' - ' + aggs[j].type] = fn(temp[0].items, aggs[j].field);\n }\n }\n else {\n if (fn) {\n res[aggs[j].field + ' - ' + aggs[j].type] = fn(groupedArray[i].items, aggs[j].field);\n }\n }\n }\n groupedArray[i].aggregates = res;\n };\n for (var i = 0; i < groupedArray.length; i++) {\n _loop_3(i);\n }\n }\n if (isLazyLoad && groupedArray.length && aggregates.length) {\n for (var i = 0; i < groupedArray.length; i++) {\n groupedArray[i].items = [];\n }\n }\n return jsonData.length && groupedArray || jsonData;\n };\n /**\n * It is used to categorize the multiple items based on a specific field in jsonArray.\n * The hierarchical queries are commonly required when you use foreign key binding.\n *\n * @param {string} fKey\n * @param {string} from\n * @param {Object[]} source\n * @param {Group} lookup?\n * @param {string} pKey?\n * @param lookup\n * @param pKey\n * @hidden\n */\n DataUtil.buildHierarchy = function (fKey, from, source, lookup, pKey) {\n var i;\n var grp = {};\n var temp;\n if (lookup.result) {\n lookup = lookup.result;\n }\n if (lookup.GroupGuid) {\n this.throwError('DataManager: Do not have support Grouping in hierarchy');\n }\n for (i = 0; i < lookup.length; i++) {\n var fKeyData = this.getObject(fKey, lookup[i]);\n temp = grp[fKeyData] || (grp[fKeyData] = []);\n temp.push(lookup[i]);\n }\n for (i = 0; i < source.length; i++) {\n var fKeyData = this.getObject(pKey || fKey, source[i]);\n source[i][from] = grp[fKeyData];\n }\n };\n /**\n * The method used to get the field names which started with specified characters.\n *\n * @param {Object} obj\n * @param {string[]} fields?\n * @param {string} prefix?\n * @param fields\n * @param prefix\n * @hidden\n */\n DataUtil.getFieldList = function (obj, fields, prefix) {\n if (prefix === undefined) {\n prefix = '';\n }\n if (fields === undefined || fields === null) {\n return this.getFieldList(obj, [], prefix);\n }\n var copyObj = obj;\n var keys = Object.keys(obj);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var prop = keys_1[_i];\n if (typeof copyObj[prop] === 'object' && !(copyObj[prop] instanceof Array)) {\n this.getFieldList(copyObj[prop], fields, prefix + prop + '.');\n }\n else {\n fields.push(prefix + prop);\n }\n }\n return fields;\n };\n /**\n * Gets the value of the property in the given object.\n * The complex object can be accessed by providing the field names concatenated with dot(.).\n *\n * @param {string} nameSpace - The name of the property to be accessed.\n * @param {Object} from - Defines the source object.\n */\n DataUtil.getObject = function (nameSpace, from) {\n if (!nameSpace) {\n return from;\n }\n if (!from) {\n return undefined;\n }\n if (nameSpace.indexOf('.') === -1) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(from[nameSpace])) {\n return from[nameSpace];\n }\n else {\n var lowerCaseNameSpace = nameSpace.charAt(0).toLowerCase() + nameSpace.slice(1);\n var upperCaseNameSpace = nameSpace.charAt(0).toUpperCase() + nameSpace.slice(1);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(from[lowerCaseNameSpace])) {\n return from[lowerCaseNameSpace];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(from[upperCaseNameSpace])) {\n return from[upperCaseNameSpace];\n }\n else {\n return null;\n }\n }\n }\n var value = from;\n var splits = nameSpace.split('.');\n for (var i = 0; i < splits.length; i++) {\n if (value == null) {\n break;\n }\n value = value[splits[i]];\n if (value === undefined) {\n var casing = splits[i].charAt(0).toUpperCase() + splits[i].slice(1);\n value = from[casing] || from[casing.charAt(0).toLowerCase() + casing.slice(1)] || null;\n }\n from = value;\n }\n return value;\n };\n /**\n * To set value for the nameSpace in desired object.\n *\n * @param {string} nameSpace - String value to the get the inner object.\n * @param {Object} value - Value that you need to set.\n * @param {Object} obj - Object to get the inner object value.\n * @return { [key: string]: Object; } | Object\n * @hidden\n */\n DataUtil.setValue = function (nameSpace, value, obj) {\n var keys = nameSpace.toString().split('.');\n var start = obj || {};\n var fromObj = start;\n var i;\n var length = keys.length;\n var key;\n for (i = 0; i < length; i++) {\n key = keys[i];\n if (i + 1 === length) {\n fromObj[key] = value === undefined ? undefined : value;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fromObj[key])) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return start;\n };\n /**\n * Sort the given data based on the field and comparer.\n *\n * @param {Object[]} dataSource - Defines the input data.\n * @param {string} field - Defines the field to be sorted.\n * @param {Function} comparer - Defines the comparer function used to sort the records.\n */\n DataUtil.sort = function (dataSource, field, comparer) {\n var _this = this;\n if (dataSource.length <= 1) {\n return dataSource;\n }\n return dataSource.slice()\n .sort(function (a, b) { return comparer(_this.getVal([a], 0, field), _this.getVal([b], 0, field), a, b); });\n };\n DataUtil.ignoreDiacritics = function (value) {\n if (typeof value !== 'string') {\n return value;\n }\n var result = value.split('');\n var newValue = result.map(function (temp) { return temp in DataUtil.diacritics ? DataUtil.diacritics[temp] : temp; });\n return newValue.join('');\n };\n DataUtil.ignoreDiacriticsForArrays = function (valueArray) {\n if (!Array.isArray(valueArray)) {\n return [];\n }\n return valueArray.map(function (item) {\n return DataUtil.ignoreDiacritics(item);\n });\n };\n DataUtil.merge = function (left, right, fieldName, comparer) {\n var result = [];\n var current;\n while (left.length > 0 || right.length > 0) {\n if (left.length > 0 && right.length > 0) {\n if (comparer) {\n current = comparer(this.getVal(left, 0, fieldName), this.getVal(right, 0, fieldName), left[0], right[0]) <= 0 ? left : right;\n }\n else {\n current = left[0][fieldName] < left[0][fieldName] ? left : right;\n }\n }\n else {\n current = left.length > 0 ? left : right;\n }\n result.push(current.shift());\n }\n return result;\n };\n DataUtil.getVal = function (array, index, field) {\n return field ? this.getObject(field, array[index]) : array[index];\n };\n DataUtil.toLowerCase = function (val) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val))\n return '';\n if (typeof val === 'string')\n return val.toLowerCase();\n if (val instanceof Date)\n return val.toString().toLowerCase();\n return val.toString();\n };\n /**\n * To perform the filter operation with specified adaptor and returns the result.\n *\n * @param {Object} adaptor\n * @param {string} fnName\n * @param {Object} param1?\n * @param {Object} param2?\n * @param param1\n * @param param2\n * @hidden\n */\n DataUtil.callAdaptorFunction = function (adaptor, fnName, param1, param2) {\n if (fnName in adaptor) {\n var res = adaptor[fnName](param1, param2);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(res)) {\n param1 = res;\n }\n }\n return param1;\n };\n DataUtil.getAddParams = function (adp, dm, query) {\n var req = {};\n DataUtil.callAdaptorFunction(adp, 'addParams', {\n dm: dm,\n query: query,\n params: query ? query.params : [],\n reqParams: req\n });\n return req;\n };\n /**\n * Checks wheather the given input is a plain object or not.\n *\n * @param {Object|Object[]} obj\n */\n DataUtil.isPlainObject = function (obj) {\n return (!!obj) && (obj.constructor === Object);\n };\n /**\n * Returns true when the browser cross origin request.\n */\n DataUtil.isCors = function () {\n var xhr = null;\n var request = 'XMLHttpRequest';\n try {\n xhr = new window[request]();\n }\n catch (e) {\n // No exception handling\n }\n return !!xhr && ('withCredentials' in xhr);\n };\n /**\n * Generate random GUID value which will be prefixed with the given value.\n *\n * @param {string} prefix\n */\n DataUtil.getGuid = function (prefix) {\n var hexs = '0123456789abcdef';\n var rand;\n return (prefix || '') + '00000000-0000-4000-0000-000000000000'.replace(/0/g, function (val, i) {\n if ('crypto' in window && 'getRandomValues' in crypto) {\n var arr = new Uint8Array(1);\n window.crypto.getRandomValues(arr);\n rand = arr[0] % 16 | 0;\n }\n else {\n rand = Math.random() * 16 | 0;\n }\n return hexs[i === 19 ? rand & 0x3 | 0x8 : rand];\n });\n };\n /**\n * Checks wheather the given value is null or not.\n *\n * @param {string|Object} val\n * @returns boolean\n */\n DataUtil.isNull = function (val) {\n return val === undefined || val === null;\n };\n /**\n * To get the required items from collection of objects.\n *\n * @param {Object[]} array\n * @param {string} field\n * @param {Function} comparer\n * @returns Object\n * @hidden\n */\n DataUtil.getItemFromComparer = function (array, field, comparer) {\n var keyVal;\n var current;\n var key;\n var i = 0;\n var castRequired = typeof DataUtil.getVal(array, 0, field) === 'string';\n if (array.length) {\n while ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(keyVal) && i < array.length) {\n keyVal = DataUtil.getVal(array, i, field);\n key = array[i++];\n }\n }\n for (; i < array.length; i++) {\n current = DataUtil.getVal(array, i, field);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(current)) {\n continue;\n }\n if (castRequired) {\n keyVal = +keyVal;\n current = +current;\n }\n if (comparer(keyVal, current) > 0) {\n keyVal = current;\n key = array[i];\n }\n }\n return key;\n };\n /**\n * To get distinct values of Array or Array of Objects.\n *\n * @param {Object[]} json\n * @param {string} field\n * @param fieldName\n * @param {boolean} requiresCompleteRecord\n * @returns Object[]\n * * distinct array of objects is return when requiresCompleteRecord set as true.\n * @hidden\n */\n DataUtil.distinct = function (json, fieldName, requiresCompleteRecord) {\n requiresCompleteRecord = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(requiresCompleteRecord) ? false : requiresCompleteRecord;\n var result = [];\n var val;\n var tmp = {};\n json.forEach(function (data, index) {\n val = typeof (json[index]) === 'object' ? DataUtil.getVal(json, index, fieldName) : json[index];\n if (!(val in tmp)) {\n result.push(!requiresCompleteRecord ? val : json[index]);\n tmp[val] = 1;\n }\n });\n return result;\n };\n /**\n * Process the given records based on the datamanager string.\n *\n * @param {string} datamanager\n * @param dm\n * @param {Object[]} records\n */\n DataUtil.processData = function (dm, records) {\n var query = this.prepareQuery(dm);\n var sampledata = new _manager__WEBPACK_IMPORTED_MODULE_1__.DataManager(records);\n if (dm.requiresCounts) {\n query.requiresCount();\n }\n /* eslint-disable @typescript-eslint/no-explicit-any */\n // tslint:disable-next-line:no-any\n var result = sampledata.executeLocal(query);\n /* eslint-enable @typescript-eslint/no-explicit-any */\n var returnValue = {\n result: dm.requiresCounts ? result.result : result,\n count: result.count,\n aggregates: JSON.stringify(result.aggregates)\n };\n return dm.requiresCounts ? returnValue : result;\n };\n DataUtil.prepareQuery = function (dm) {\n var _this = this;\n var query = new _query__WEBPACK_IMPORTED_MODULE_2__.Query();\n if (dm.select) {\n query.select(dm.select);\n }\n if (dm.where) {\n var where = DataUtil.parse.parseJson(dm.where);\n where.filter(function (pred) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pred.condition)) {\n query.where(pred.field, pred.operator, pred.value, pred.ignoreCase, pred.ignoreAccent);\n }\n else {\n var predicateList = [];\n if (pred.field) {\n predicateList.push(new _query__WEBPACK_IMPORTED_MODULE_2__.Predicate(pred.field, pred.operator, pred.value, pred.ignoreCase, pred.ignoreAccent));\n }\n else {\n predicateList = predicateList.concat(_this.getPredicate(pred.predicates));\n }\n if (pred.condition === 'or') {\n query.where(_query__WEBPACK_IMPORTED_MODULE_2__.Predicate.or(predicateList));\n }\n else if (pred.condition === 'and') {\n query.where(_query__WEBPACK_IMPORTED_MODULE_2__.Predicate.and(predicateList));\n }\n }\n });\n }\n if (dm.search) {\n var search = DataUtil.parse.parseJson(dm.search);\n // tslint:disable-next-line:no-string-literal\n search.filter(function (e) { return query.search(e.key, e.fields, e['operator'], \n // tslint:disable-next-line:no-string-literal\n e['ignoreCase'], e['ignoreAccent']); });\n }\n if (dm.aggregates) {\n dm.aggregates.filter(function (e) { return query.aggregate(e.type, e.field); });\n }\n if (dm.sorted) {\n dm.sorted.filter(function (e) { return query.sortBy(e.name, e.direction); });\n }\n if (dm.skip) {\n query.skip(dm.skip);\n }\n if (dm.take) {\n query.take(dm.take);\n }\n if (dm.group) {\n dm.group.filter(function (grp) { return query.group(grp); });\n }\n return query;\n };\n DataUtil.getPredicate = function (pred) {\n var mainPred = [];\n for (var i = 0; i < pred.length; i++) {\n var e = pred[i];\n if (e.field) {\n mainPred.push(new _query__WEBPACK_IMPORTED_MODULE_2__.Predicate(e.field, e.operator, e.value, e.ignoreCase, e.ignoreAccent));\n }\n else {\n var childPred = [];\n // tslint:disable-next-line:typedef\n var cpre = this.getPredicate(e.predicates);\n for (var _i = 0, _a = Object.keys(cpre); _i < _a.length; _i++) {\n var prop = _a[_i];\n childPred.push(cpre[prop]);\n }\n mainPred.push(e.condition === 'or' ? _query__WEBPACK_IMPORTED_MODULE_2__.Predicate.or(childPred) : _query__WEBPACK_IMPORTED_MODULE_2__.Predicate.and(childPred));\n }\n }\n return mainPred;\n };\n /**\n * Specifies the value which will be used to adjust the date value to server timezone.\n *\n * @default null\n */\n DataUtil.serverTimezoneOffset = null;\n /**\n * Species whether are not to be parsed with serverTimezoneOffset value.\n *\n * @hidden\n */\n DataUtil.timeZoneHandling = true;\n /**\n * Throw error with the given string as message.\n *\n * @param {string} er\n * @param error\n */\n DataUtil.throwError = function (error) {\n try {\n throw new Error(error);\n }\n catch (e) {\n // eslint-disable-next-line no-throw-literal\n throw e.message + '\\n' + e.stack;\n }\n };\n DataUtil.aggregates = {\n /**\n * Calculate sum of the given field in the data.\n *\n * @param {Object[]} ds\n * @param {string} field\n */\n sum: function (ds, field) {\n var result = 0;\n var val;\n var castRequired = typeof DataUtil.getVal(ds, 0, field) !== 'number';\n for (var i = 0; i < ds.length; i++) {\n val = DataUtil.getVal(ds, i, field);\n if (!isNaN(val) && val !== null) {\n if (castRequired) {\n val = +val;\n }\n result += val;\n }\n }\n return result;\n },\n /**\n * Calculate average value of the given field in the data.\n *\n * @param {Object[]} ds\n * @param {string} field\n */\n average: function (ds, field) {\n return DataUtil.aggregates.sum(ds, field) / ds.length;\n },\n /**\n * Returns the min value of the data based on the field.\n *\n * @param {Object[]} ds\n * @param {string|Function} field\n */\n min: function (ds, field) {\n var comparer;\n if (typeof field === 'function') {\n comparer = field;\n field = null;\n }\n return DataUtil.getObject(field, DataUtil.getItemFromComparer(ds, field, comparer || DataUtil.fnAscending));\n },\n /**\n * Returns the max value of the data based on the field.\n *\n * @param {Object[]} ds\n * @param {string} field\n * @returns number\n */\n max: function (ds, field) {\n var comparer;\n if (typeof field === 'function') {\n comparer = field;\n field = null;\n }\n return DataUtil.getObject(field, DataUtil.getItemFromComparer(ds, field, comparer || DataUtil.fnDescending));\n },\n /**\n * Returns the total number of true value present in the data based on the given boolean field name.\n *\n * @param {Object[]} ds\n * @param {string} field\n */\n truecount: function (ds, field) {\n return new _manager__WEBPACK_IMPORTED_MODULE_1__.DataManager(ds).executeLocal(new _query__WEBPACK_IMPORTED_MODULE_2__.Query().where(field, 'equal', true, true)).length;\n },\n /**\n * Returns the total number of false value present in the data based on the given boolean field name.\n *\n * @param {Object[]} ds\n * @param {string} field\n */\n falsecount: function (ds, field) {\n return new _manager__WEBPACK_IMPORTED_MODULE_1__.DataManager(ds).executeLocal(new _query__WEBPACK_IMPORTED_MODULE_2__.Query().where(field, 'equal', false, true)).length;\n },\n /**\n * Returns the length of the given data.\n *\n * @param {Object[]} ds\n * @param {string} field?\n * @param field\n * @returns number\n */\n count: function (ds, field) {\n return ds.length;\n }\n };\n /**\n * Specifies the Object with filter operators.\n */\n DataUtil.operatorSymbols = {\n '<': 'lessthan',\n '>': 'greaterthan',\n '<=': 'lessthanorequal',\n '>=': 'greaterthanorequal',\n '==': 'equal',\n '!=': 'notequal',\n '*=': 'contains',\n '$=': 'endswith',\n '^=': 'startswith'\n };\n /**\n * Specifies the Object with filter operators which will be used for OData filter query generation.\n * * It will be used for date/number type filter query.\n */\n DataUtil.odBiOperator = {\n '<': ' lt ',\n '>': ' gt ',\n '<=': ' le ',\n '>=': ' ge ',\n '==': ' eq ',\n '!=': ' ne ',\n 'lessthan': ' lt ',\n 'lessthanorequal': ' le ',\n 'greaterthan': ' gt ',\n 'greaterthanorequal': ' ge ',\n 'equal': ' eq ',\n 'notequal': ' ne '\n };\n /**\n * Specifies the Object with filter operators which will be used for OData filter query generation.\n * It will be used for string type filter query.\n */\n DataUtil.odUniOperator = {\n '$=': 'endswith',\n '^=': 'startswith',\n '*=': 'substringof',\n 'endswith': 'endswith',\n 'startswith': 'startswith',\n 'contains': 'substringof',\n 'doesnotendwith': 'not endswith',\n 'doesnotstartwith': 'not startswith',\n 'doesnotcontain': 'not substringof',\n 'wildcard': 'wildcard',\n 'like': 'like'\n };\n /**\n * Specifies the Object with filter operators which will be used for ODataV4 filter query generation.\n * It will be used for string type filter query.\n */\n DataUtil.odv4UniOperator = {\n '$=': 'endswith',\n '^=': 'startswith',\n '*=': 'contains',\n 'endswith': 'endswith',\n 'startswith': 'startswith',\n 'contains': 'contains',\n 'doesnotendwith': 'not endswith',\n 'doesnotstartwith': 'not startswith',\n 'doesnotcontain': 'not contains',\n 'wildcard': 'wildcard',\n 'like': 'like'\n };\n DataUtil.diacritics = {\n '\\u24B6': 'A',\n '\\uFF21': 'A',\n '\\u00C0': 'A',\n '\\u00C1': 'A',\n '\\u00C2': 'A',\n '\\u1EA6': 'A',\n '\\u1EA4': 'A',\n '\\u1EAA': 'A',\n '\\u1EA8': 'A',\n '\\u00C3': 'A',\n '\\u0100': 'A',\n '\\u0102': 'A',\n '\\u1EB0': 'A',\n '\\u1EAE': 'A',\n '\\u1EB4': 'A',\n '\\u1EB2': 'A',\n '\\u0226': 'A',\n '\\u01E0': 'A',\n '\\u00C4': 'A',\n '\\u01DE': 'A',\n '\\u1EA2': 'A',\n '\\u00C5': 'A',\n '\\u01FA': 'A',\n '\\u01CD': 'A',\n '\\u0200': 'A',\n '\\u0202': 'A',\n '\\u1EA0': 'A',\n '\\u1EAC': 'A',\n '\\u1EB6': 'A',\n '\\u1E00': 'A',\n '\\u0104': 'A',\n '\\u023A': 'A',\n '\\u2C6F': 'A',\n '\\uA732': 'AA',\n '\\u00C6': 'AE',\n '\\u01FC': 'AE',\n '\\u01E2': 'AE',\n '\\uA734': 'AO',\n '\\uA736': 'AU',\n '\\uA738': 'AV',\n '\\uA73A': 'AV',\n '\\uA73C': 'AY',\n '\\u24B7': 'B',\n '\\uFF22': 'B',\n '\\u1E02': 'B',\n '\\u1E04': 'B',\n '\\u1E06': 'B',\n '\\u0243': 'B',\n '\\u0182': 'B',\n '\\u0181': 'B',\n '\\u24B8': 'C',\n '\\uFF23': 'C',\n '\\u0106': 'C',\n '\\u0108': 'C',\n '\\u010A': 'C',\n '\\u010C': 'C',\n '\\u00C7': 'C',\n '\\u1E08': 'C',\n '\\u0187': 'C',\n '\\u023B': 'C',\n '\\uA73E': 'C',\n '\\u24B9': 'D',\n '\\uFF24': 'D',\n '\\u1E0A': 'D',\n '\\u010E': 'D',\n '\\u1E0C': 'D',\n '\\u1E10': 'D',\n '\\u1E12': 'D',\n '\\u1E0E': 'D',\n '\\u0110': 'D',\n '\\u018B': 'D',\n '\\u018A': 'D',\n '\\u0189': 'D',\n '\\uA779': 'D',\n '\\u01F1': 'DZ',\n '\\u01C4': 'DZ',\n '\\u01F2': 'Dz',\n '\\u01C5': 'Dz',\n '\\u24BA': 'E',\n '\\uFF25': 'E',\n '\\u00C8': 'E',\n '\\u00C9': 'E',\n '\\u00CA': 'E',\n '\\u1EC0': 'E',\n '\\u1EBE': 'E',\n '\\u1EC4': 'E',\n '\\u1EC2': 'E',\n '\\u1EBC': 'E',\n '\\u0112': 'E',\n '\\u1E14': 'E',\n '\\u1E16': 'E',\n '\\u0114': 'E',\n '\\u0116': 'E',\n '\\u00CB': 'E',\n '\\u1EBA': 'E',\n '\\u011A': 'E',\n '\\u0204': 'E',\n '\\u0206': 'E',\n '\\u1EB8': 'E',\n '\\u1EC6': 'E',\n '\\u0228': 'E',\n '\\u1E1C': 'E',\n '\\u0118': 'E',\n '\\u1E18': 'E',\n '\\u1E1A': 'E',\n '\\u0190': 'E',\n '\\u018E': 'E',\n '\\u24BB': 'F',\n '\\uFF26': 'F',\n '\\u1E1E': 'F',\n '\\u0191': 'F',\n '\\uA77B': 'F',\n '\\u24BC': 'G',\n '\\uFF27': 'G',\n '\\u01F4': 'G',\n '\\u011C': 'G',\n '\\u1E20': 'G',\n '\\u011E': 'G',\n '\\u0120': 'G',\n '\\u01E6': 'G',\n '\\u0122': 'G',\n '\\u01E4': 'G',\n '\\u0193': 'G',\n '\\uA7A0': 'G',\n '\\uA77D': 'G',\n '\\uA77E': 'G',\n '\\u24BD': 'H',\n '\\uFF28': 'H',\n '\\u0124': 'H',\n '\\u1E22': 'H',\n '\\u1E26': 'H',\n '\\u021E': 'H',\n '\\u1E24': 'H',\n '\\u1E28': 'H',\n '\\u1E2A': 'H',\n '\\u0126': 'H',\n '\\u2C67': 'H',\n '\\u2C75': 'H',\n '\\uA78D': 'H',\n '\\u24BE': 'I',\n '\\uFF29': 'I',\n '\\u00CC': 'I',\n '\\u00CD': 'I',\n '\\u00CE': 'I',\n '\\u0128': 'I',\n '\\u012A': 'I',\n '\\u012C': 'I',\n '\\u0130': 'I',\n '\\u00CF': 'I',\n '\\u1E2E': 'I',\n '\\u1EC8': 'I',\n '\\u01CF': 'I',\n '\\u0208': 'I',\n '\\u020A': 'I',\n '\\u1ECA': 'I',\n '\\u012E': 'I',\n '\\u1E2C': 'I',\n '\\u0197': 'I',\n '\\u24BF': 'J',\n '\\uFF2A': 'J',\n '\\u0134': 'J',\n '\\u0248': 'J',\n '\\u24C0': 'K',\n '\\uFF2B': 'K',\n '\\u1E30': 'K',\n '\\u01E8': 'K',\n '\\u1E32': 'K',\n '\\u0136': 'K',\n '\\u1E34': 'K',\n '\\u0198': 'K',\n '\\u2C69': 'K',\n '\\uA740': 'K',\n '\\uA742': 'K',\n '\\uA744': 'K',\n '\\uA7A2': 'K',\n '\\u24C1': 'L',\n '\\uFF2C': 'L',\n '\\u013F': 'L',\n '\\u0139': 'L',\n '\\u013D': 'L',\n '\\u1E36': 'L',\n '\\u1E38': 'L',\n '\\u013B': 'L',\n '\\u1E3C': 'L',\n '\\u1E3A': 'L',\n '\\u0141': 'L',\n '\\u023D': 'L',\n '\\u2C62': 'L',\n '\\u2C60': 'L',\n '\\uA748': 'L',\n '\\uA746': 'L',\n '\\uA780': 'L',\n '\\u01C7': 'LJ',\n '\\u01C8': 'Lj',\n '\\u24C2': 'M',\n '\\uFF2D': 'M',\n '\\u1E3E': 'M',\n '\\u1E40': 'M',\n '\\u1E42': 'M',\n '\\u2C6E': 'M',\n '\\u019C': 'M',\n '\\u24C3': 'N',\n '\\uFF2E': 'N',\n '\\u01F8': 'N',\n '\\u0143': 'N',\n '\\u00D1': 'N',\n '\\u1E44': 'N',\n '\\u0147': 'N',\n '\\u1E46': 'N',\n '\\u0145': 'N',\n '\\u1E4A': 'N',\n '\\u1E48': 'N',\n '\\u0220': 'N',\n '\\u019D': 'N',\n '\\uA790': 'N',\n '\\uA7A4': 'N',\n '\\u01CA': 'NJ',\n '\\u01CB': 'Nj',\n '\\u24C4': 'O',\n '\\uFF2F': 'O',\n '\\u00D2': 'O',\n '\\u00D3': 'O',\n '\\u00D4': 'O',\n '\\u1ED2': 'O',\n '\\u1ED0': 'O',\n '\\u1ED6': 'O',\n '\\u1ED4': 'O',\n '\\u00D5': 'O',\n '\\u1E4C': 'O',\n '\\u022C': 'O',\n '\\u1E4E': 'O',\n '\\u014C': 'O',\n '\\u1E50': 'O',\n '\\u1E52': 'O',\n '\\u014E': 'O',\n '\\u022E': 'O',\n '\\u0230': 'O',\n '\\u00D6': 'O',\n '\\u022A': 'O',\n '\\u1ECE': 'O',\n '\\u0150': 'O',\n '\\u01D1': 'O',\n '\\u020C': 'O',\n '\\u020E': 'O',\n '\\u01A0': 'O',\n '\\u1EDC': 'O',\n '\\u1EDA': 'O',\n '\\u1EE0': 'O',\n '\\u1EDE': 'O',\n '\\u1EE2': 'O',\n '\\u1ECC': 'O',\n '\\u1ED8': 'O',\n '\\u01EA': 'O',\n '\\u01EC': 'O',\n '\\u00D8': 'O',\n '\\u01FE': 'O',\n '\\u0186': 'O',\n '\\u019F': 'O',\n '\\uA74A': 'O',\n '\\uA74C': 'O',\n '\\u01A2': 'OI',\n '\\uA74E': 'OO',\n '\\u0222': 'OU',\n '\\u24C5': 'P',\n '\\uFF30': 'P',\n '\\u1E54': 'P',\n '\\u1E56': 'P',\n '\\u01A4': 'P',\n '\\u2C63': 'P',\n '\\uA750': 'P',\n '\\uA752': 'P',\n '\\uA754': 'P',\n '\\u24C6': 'Q',\n '\\uFF31': 'Q',\n '\\uA756': 'Q',\n '\\uA758': 'Q',\n '\\u024A': 'Q',\n '\\u24C7': 'R',\n '\\uFF32': 'R',\n '\\u0154': 'R',\n '\\u1E58': 'R',\n '\\u0158': 'R',\n '\\u0210': 'R',\n '\\u0212': 'R',\n '\\u1E5A': 'R',\n '\\u1E5C': 'R',\n '\\u0156': 'R',\n '\\u1E5E': 'R',\n '\\u024C': 'R',\n '\\u2C64': 'R',\n '\\uA75A': 'R',\n '\\uA7A6': 'R',\n '\\uA782': 'R',\n '\\u24C8': 'S',\n '\\uFF33': 'S',\n '\\u1E9E': 'S',\n '\\u015A': 'S',\n '\\u1E64': 'S',\n '\\u015C': 'S',\n '\\u1E60': 'S',\n '\\u0160': 'S',\n '\\u1E66': 'S',\n '\\u1E62': 'S',\n '\\u1E68': 'S',\n '\\u0218': 'S',\n '\\u015E': 'S',\n '\\u2C7E': 'S',\n '\\uA7A8': 'S',\n '\\uA784': 'S',\n '\\u24C9': 'T',\n '\\uFF34': 'T',\n '\\u1E6A': 'T',\n '\\u0164': 'T',\n '\\u1E6C': 'T',\n '\\u021A': 'T',\n '\\u0162': 'T',\n '\\u1E70': 'T',\n '\\u1E6E': 'T',\n '\\u0166': 'T',\n '\\u01AC': 'T',\n '\\u01AE': 'T',\n '\\u023E': 'T',\n '\\uA786': 'T',\n '\\uA728': 'TZ',\n '\\u24CA': 'U',\n '\\uFF35': 'U',\n '\\u00D9': 'U',\n '\\u00DA': 'U',\n '\\u00DB': 'U',\n '\\u0168': 'U',\n '\\u1E78': 'U',\n '\\u016A': 'U',\n '\\u1E7A': 'U',\n '\\u016C': 'U',\n '\\u00DC': 'U',\n '\\u01DB': 'U',\n '\\u01D7': 'U',\n '\\u01D5': 'U',\n '\\u01D9': 'U',\n '\\u1EE6': 'U',\n '\\u016E': 'U',\n '\\u0170': 'U',\n '\\u01D3': 'U',\n '\\u0214': 'U',\n '\\u0216': 'U',\n '\\u01AF': 'U',\n '\\u1EEA': 'U',\n '\\u1EE8': 'U',\n '\\u1EEE': 'U',\n '\\u1EEC': 'U',\n '\\u1EF0': 'U',\n '\\u1EE4': 'U',\n '\\u1E72': 'U',\n '\\u0172': 'U',\n '\\u1E76': 'U',\n '\\u1E74': 'U',\n '\\u0244': 'U',\n '\\u24CB': 'V',\n '\\uFF36': 'V',\n '\\u1E7C': 'V',\n '\\u1E7E': 'V',\n '\\u01B2': 'V',\n '\\uA75E': 'V',\n '\\u0245': 'V',\n '\\uA760': 'VY',\n '\\u24CC': 'W',\n '\\uFF37': 'W',\n '\\u1E80': 'W',\n '\\u1E82': 'W',\n '\\u0174': 'W',\n '\\u1E86': 'W',\n '\\u1E84': 'W',\n '\\u1E88': 'W',\n '\\u2C72': 'W',\n '\\u24CD': 'X',\n '\\uFF38': 'X',\n '\\u1E8A': 'X',\n '\\u1E8C': 'X',\n '\\u24CE': 'Y',\n '\\uFF39': 'Y',\n '\\u1EF2': 'Y',\n '\\u00DD': 'Y',\n '\\u0176': 'Y',\n '\\u1EF8': 'Y',\n '\\u0232': 'Y',\n '\\u1E8E': 'Y',\n '\\u0178': 'Y',\n '\\u1EF6': 'Y',\n '\\u1EF4': 'Y',\n '\\u01B3': 'Y',\n '\\u024E': 'Y',\n '\\u1EFE': 'Y',\n '\\u24CF': 'Z',\n '\\uFF3A': 'Z',\n '\\u0179': 'Z',\n '\\u1E90': 'Z',\n '\\u017B': 'Z',\n '\\u017D': 'Z',\n '\\u1E92': 'Z',\n '\\u1E94': 'Z',\n '\\u01B5': 'Z',\n '\\u0224': 'Z',\n '\\u2C7F': 'Z',\n '\\u2C6B': 'Z',\n '\\uA762': 'Z',\n '\\u24D0': 'a',\n '\\uFF41': 'a',\n '\\u1E9A': 'a',\n '\\u00E0': 'a',\n '\\u00E1': 'a',\n '\\u00E2': 'a',\n '\\u1EA7': 'a',\n '\\u1EA5': 'a',\n '\\u1EAB': 'a',\n '\\u1EA9': 'a',\n '\\u00E3': 'a',\n '\\u0101': 'a',\n '\\u0103': 'a',\n '\\u1EB1': 'a',\n '\\u1EAF': 'a',\n '\\u1EB5': 'a',\n '\\u1EB3': 'a',\n '\\u0227': 'a',\n '\\u01E1': 'a',\n '\\u00E4': 'a',\n '\\u01DF': 'a',\n '\\u1EA3': 'a',\n '\\u00E5': 'a',\n '\\u01FB': 'a',\n '\\u01CE': 'a',\n '\\u0201': 'a',\n '\\u0203': 'a',\n '\\u1EA1': 'a',\n '\\u1EAD': 'a',\n '\\u1EB7': 'a',\n '\\u1E01': 'a',\n '\\u0105': 'a',\n '\\u2C65': 'a',\n '\\u0250': 'a',\n '\\uA733': 'aa',\n '\\u00E6': 'ae',\n '\\u01FD': 'ae',\n '\\u01E3': 'ae',\n '\\uA735': 'ao',\n '\\uA737': 'au',\n '\\uA739': 'av',\n '\\uA73B': 'av',\n '\\uA73D': 'ay',\n '\\u24D1': 'b',\n '\\uFF42': 'b',\n '\\u1E03': 'b',\n '\\u1E05': 'b',\n '\\u1E07': 'b',\n '\\u0180': 'b',\n '\\u0183': 'b',\n '\\u0253': 'b',\n '\\u24D2': 'c',\n '\\uFF43': 'c',\n '\\u0107': 'c',\n '\\u0109': 'c',\n '\\u010B': 'c',\n '\\u010D': 'c',\n '\\u00E7': 'c',\n '\\u1E09': 'c',\n '\\u0188': 'c',\n '\\u023C': 'c',\n '\\uA73F': 'c',\n '\\u2184': 'c',\n '\\u24D3': 'd',\n '\\uFF44': 'd',\n '\\u1E0B': 'd',\n '\\u010F': 'd',\n '\\u1E0D': 'd',\n '\\u1E11': 'd',\n '\\u1E13': 'd',\n '\\u1E0F': 'd',\n '\\u0111': 'd',\n '\\u018C': 'd',\n '\\u0256': 'd',\n '\\u0257': 'd',\n '\\uA77A': 'd',\n '\\u01F3': 'dz',\n '\\u01C6': 'dz',\n '\\u24D4': 'e',\n '\\uFF45': 'e',\n '\\u00E8': 'e',\n '\\u00E9': 'e',\n '\\u00EA': 'e',\n '\\u1EC1': 'e',\n '\\u1EBF': 'e',\n '\\u1EC5': 'e',\n '\\u1EC3': 'e',\n '\\u1EBD': 'e',\n '\\u0113': 'e',\n '\\u1E15': 'e',\n '\\u1E17': 'e',\n '\\u0115': 'e',\n '\\u0117': 'e',\n '\\u00EB': 'e',\n '\\u1EBB': 'e',\n '\\u011B': 'e',\n '\\u0205': 'e',\n '\\u0207': 'e',\n '\\u1EB9': 'e',\n '\\u1EC7': 'e',\n '\\u0229': 'e',\n '\\u1E1D': 'e',\n '\\u0119': 'e',\n '\\u1E19': 'e',\n '\\u1E1B': 'e',\n '\\u0247': 'e',\n '\\u025B': 'e',\n '\\u01DD': 'e',\n '\\u24D5': 'f',\n '\\uFF46': 'f',\n '\\u1E1F': 'f',\n '\\u0192': 'f',\n '\\uA77C': 'f',\n '\\u24D6': 'g',\n '\\uFF47': 'g',\n '\\u01F5': 'g',\n '\\u011D': 'g',\n '\\u1E21': 'g',\n '\\u011F': 'g',\n '\\u0121': 'g',\n '\\u01E7': 'g',\n '\\u0123': 'g',\n '\\u01E5': 'g',\n '\\u0260': 'g',\n '\\uA7A1': 'g',\n '\\u1D79': 'g',\n '\\uA77F': 'g',\n '\\u24D7': 'h',\n '\\uFF48': 'h',\n '\\u0125': 'h',\n '\\u1E23': 'h',\n '\\u1E27': 'h',\n '\\u021F': 'h',\n '\\u1E25': 'h',\n '\\u1E29': 'h',\n '\\u1E2B': 'h',\n '\\u1E96': 'h',\n '\\u0127': 'h',\n '\\u2C68': 'h',\n '\\u2C76': 'h',\n '\\u0265': 'h',\n '\\u0195': 'hv',\n '\\u24D8': 'i',\n '\\uFF49': 'i',\n '\\u00EC': 'i',\n '\\u00ED': 'i',\n '\\u00EE': 'i',\n '\\u0129': 'i',\n '\\u012B': 'i',\n '\\u012D': 'i',\n '\\u00EF': 'i',\n '\\u1E2F': 'i',\n '\\u1EC9': 'i',\n '\\u01D0': 'i',\n '\\u0209': 'i',\n '\\u020B': 'i',\n '\\u1ECB': 'i',\n '\\u012F': 'i',\n '\\u1E2D': 'i',\n '\\u0268': 'i',\n '\\u0131': 'i',\n '\\u24D9': 'j',\n '\\uFF4A': 'j',\n '\\u0135': 'j',\n '\\u01F0': 'j',\n '\\u0249': 'j',\n '\\u24DA': 'k',\n '\\uFF4B': 'k',\n '\\u1E31': 'k',\n '\\u01E9': 'k',\n '\\u1E33': 'k',\n '\\u0137': 'k',\n '\\u1E35': 'k',\n '\\u0199': 'k',\n '\\u2C6A': 'k',\n '\\uA741': 'k',\n '\\uA743': 'k',\n '\\uA745': 'k',\n '\\uA7A3': 'k',\n '\\u24DB': 'l',\n '\\uFF4C': 'l',\n '\\u0140': 'l',\n '\\u013A': 'l',\n '\\u013E': 'l',\n '\\u1E37': 'l',\n '\\u1E39': 'l',\n '\\u013C': 'l',\n '\\u1E3D': 'l',\n '\\u1E3B': 'l',\n '\\u017F': 'l',\n '\\u0142': 'l',\n '\\u019A': 'l',\n '\\u026B': 'l',\n '\\u2C61': 'l',\n '\\uA749': 'l',\n '\\uA781': 'l',\n '\\uA747': 'l',\n '\\u01C9': 'lj',\n '\\u24DC': 'm',\n '\\uFF4D': 'm',\n '\\u1E3F': 'm',\n '\\u1E41': 'm',\n '\\u1E43': 'm',\n '\\u0271': 'm',\n '\\u026F': 'm',\n '\\u24DD': 'n',\n '\\uFF4E': 'n',\n '\\u01F9': 'n',\n '\\u0144': 'n',\n '\\u00F1': 'n',\n '\\u1E45': 'n',\n '\\u0148': 'n',\n '\\u1E47': 'n',\n '\\u0146': 'n',\n '\\u1E4B': 'n',\n '\\u1E49': 'n',\n '\\u019E': 'n',\n '\\u0272': 'n',\n '\\u0149': 'n',\n '\\uA791': 'n',\n '\\uA7A5': 'n',\n '\\u01CC': 'nj',\n '\\u24DE': 'o',\n '\\uFF4F': 'o',\n '\\u00F2': 'o',\n '\\u00F3': 'o',\n '\\u00F4': 'o',\n '\\u1ED3': 'o',\n '\\u1ED1': 'o',\n '\\u1ED7': 'o',\n '\\u1ED5': 'o',\n '\\u00F5': 'o',\n '\\u1E4D': 'o',\n '\\u022D': 'o',\n '\\u1E4F': 'o',\n '\\u014D': 'o',\n '\\u1E51': 'o',\n '\\u1E53': 'o',\n '\\u014F': 'o',\n '\\u022F': 'o',\n '\\u0231': 'o',\n '\\u00F6': 'o',\n '\\u022B': 'o',\n '\\u1ECF': 'o',\n '\\u0151': 'o',\n '\\u01D2': 'o',\n '\\u020D': 'o',\n '\\u020F': 'o',\n '\\u01A1': 'o',\n '\\u1EDD': 'o',\n '\\u1EDB': 'o',\n '\\u1EE1': 'o',\n '\\u1EDF': 'o',\n '\\u1EE3': 'o',\n '\\u1ECD': 'o',\n '\\u1ED9': 'o',\n '\\u01EB': 'o',\n '\\u01ED': 'o',\n '\\u00F8': 'o',\n '\\u01FF': 'o',\n '\\u0254': 'o',\n '\\uA74B': 'o',\n '\\uA74D': 'o',\n '\\u0275': 'o',\n '\\u01A3': 'oi',\n '\\u0223': 'ou',\n '\\uA74F': 'oo',\n '\\u24DF': 'p',\n '\\uFF50': 'p',\n '\\u1E55': 'p',\n '\\u1E57': 'p',\n '\\u01A5': 'p',\n '\\u1D7D': 'p',\n '\\uA751': 'p',\n '\\uA753': 'p',\n '\\uA755': 'p',\n '\\u24E0': 'q',\n '\\uFF51': 'q',\n '\\u024B': 'q',\n '\\uA757': 'q',\n '\\uA759': 'q',\n '\\u24E1': 'r',\n '\\uFF52': 'r',\n '\\u0155': 'r',\n '\\u1E59': 'r',\n '\\u0159': 'r',\n '\\u0211': 'r',\n '\\u0213': 'r',\n '\\u1E5B': 'r',\n '\\u1E5D': 'r',\n '\\u0157': 'r',\n '\\u1E5F': 'r',\n '\\u024D': 'r',\n '\\u027D': 'r',\n '\\uA75B': 'r',\n '\\uA7A7': 'r',\n '\\uA783': 'r',\n '\\u24E2': 's',\n '\\uFF53': 's',\n '\\u00DF': 's',\n '\\u015B': 's',\n '\\u1E65': 's',\n '\\u015D': 's',\n '\\u1E61': 's',\n '\\u0161': 's',\n '\\u1E67': 's',\n '\\u1E63': 's',\n '\\u1E69': 's',\n '\\u0219': 's',\n '\\u015F': 's',\n '\\u023F': 's',\n '\\uA7A9': 's',\n '\\uA785': 's',\n '\\u1E9B': 's',\n '\\u24E3': 't',\n '\\uFF54': 't',\n '\\u1E6B': 't',\n '\\u1E97': 't',\n '\\u0165': 't',\n '\\u1E6D': 't',\n '\\u021B': 't',\n '\\u0163': 't',\n '\\u1E71': 't',\n '\\u1E6F': 't',\n '\\u0167': 't',\n '\\u01AD': 't',\n '\\u0288': 't',\n '\\u2C66': 't',\n '\\uA787': 't',\n '\\uA729': 'tz',\n '\\u24E4': 'u',\n '\\uFF55': 'u',\n '\\u00F9': 'u',\n '\\u00FA': 'u',\n '\\u00FB': 'u',\n '\\u0169': 'u',\n '\\u1E79': 'u',\n '\\u016B': 'u',\n '\\u1E7B': 'u',\n '\\u016D': 'u',\n '\\u00FC': 'u',\n '\\u01DC': 'u',\n '\\u01D8': 'u',\n '\\u01D6': 'u',\n '\\u01DA': 'u',\n '\\u1EE7': 'u',\n '\\u016F': 'u',\n '\\u0171': 'u',\n '\\u01D4': 'u',\n '\\u0215': 'u',\n '\\u0217': 'u',\n '\\u01B0': 'u',\n '\\u1EEB': 'u',\n '\\u1EE9': 'u',\n '\\u1EEF': 'u',\n '\\u1EED': 'u',\n '\\u1EF1': 'u',\n '\\u1EE5': 'u',\n '\\u1E73': 'u',\n '\\u0173': 'u',\n '\\u1E77': 'u',\n '\\u1E75': 'u',\n '\\u0289': 'u',\n '\\u24E5': 'v',\n '\\uFF56': 'v',\n '\\u1E7D': 'v',\n '\\u1E7F': 'v',\n '\\u028B': 'v',\n '\\uA75F': 'v',\n '\\u028C': 'v',\n '\\uA761': 'vy',\n '\\u24E6': 'w',\n '\\uFF57': 'w',\n '\\u1E81': 'w',\n '\\u1E83': 'w',\n '\\u0175': 'w',\n '\\u1E87': 'w',\n '\\u1E85': 'w',\n '\\u1E98': 'w',\n '\\u1E89': 'w',\n '\\u2C73': 'w',\n '\\u24E7': 'x',\n '\\uFF58': 'x',\n '\\u1E8B': 'x',\n '\\u1E8D': 'x',\n '\\u24E8': 'y',\n '\\uFF59': 'y',\n '\\u1EF3': 'y',\n '\\u00FD': 'y',\n '\\u0177': 'y',\n '\\u1EF9': 'y',\n '\\u0233': 'y',\n '\\u1E8F': 'y',\n '\\u00FF': 'y',\n '\\u1EF7': 'y',\n '\\u1E99': 'y',\n '\\u1EF5': 'y',\n '\\u01B4': 'y',\n '\\u024F': 'y',\n '\\u1EFF': 'y',\n '\\u24E9': 'z',\n '\\uFF5A': 'z',\n '\\u017A': 'z',\n '\\u1E91': 'z',\n '\\u017C': 'z',\n '\\u017E': 'z',\n '\\u1E93': 'z',\n '\\u1E95': 'z',\n '\\u01B6': 'z',\n '\\u0225': 'z',\n '\\u0240': 'z',\n '\\u2C6C': 'z',\n '\\uA763': 'z',\n '\\u0386': '\\u0391',\n '\\u0388': '\\u0395',\n '\\u0389': '\\u0397',\n '\\u038A': '\\u0399',\n '\\u03AA': '\\u0399',\n '\\u038C': '\\u039F',\n '\\u038E': '\\u03A5',\n '\\u03AB': '\\u03A5',\n '\\u038F': '\\u03A9',\n '\\u03AC': '\\u03B1',\n '\\u03AD': '\\u03B5',\n '\\u03AE': '\\u03B7',\n '\\u03AF': '\\u03B9',\n '\\u03CA': '\\u03B9',\n '\\u0390': '\\u03B9',\n '\\u03CC': '\\u03BF',\n '\\u03CD': '\\u03C5',\n '\\u03CB': '\\u03C5',\n '\\u03B0': '\\u03C5',\n '\\u03C9': '\\u03C9',\n '\\u03C2': '\\u03C3'\n };\n DataUtil.fnOperators = {\n /**\n * Returns true when the actual input is equal to the given input.\n *\n * @param {string|number|boolean} actual\n * @param {string|number|boolean} expected\n * @param {boolean} ignoreCase?\n * @param {boolean} ignoreAccent?\n * @param ignoreCase\n * @param ignoreAccent\n */\n equal: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return DataUtil.toLowerCase(actual) === DataUtil.toLowerCase(expected);\n }\n return actual === expected;\n },\n /**\n * Returns true when the actual input is not equal to the given input.\n *\n * @param {string|number|boolean} actual\n * @param {string|number|boolean} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n * @param ignoreAccent\n */\n notequal: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n return !DataUtil.fnOperators.equal(actual, expected, ignoreCase);\n },\n /**\n * Returns true when the actual input is less than to the given input.\n *\n * @param {string|number|boolean} actual\n * @param {string|number|boolean} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n */\n lessthan: function (actual, expected, ignoreCase) {\n if (ignoreCase) {\n return DataUtil.toLowerCase(actual) < DataUtil.toLowerCase(expected);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual)) {\n actual = undefined;\n }\n return actual < expected;\n },\n /**\n * Returns true when the actual input is greater than to the given input.\n *\n * @param {string|number|boolean} actual\n * @param {string|number|boolean} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n */\n greaterthan: function (actual, expected, ignoreCase) {\n if (ignoreCase) {\n return DataUtil.toLowerCase(actual) > DataUtil.toLowerCase(expected);\n }\n return actual > expected;\n },\n /**\n * Returns true when the actual input is less than or equal to the given input.\n *\n * @param {string|number|boolean} actual\n * @param {string|number|boolean} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n */\n lessthanorequal: function (actual, expected, ignoreCase) {\n if (ignoreCase) {\n return DataUtil.toLowerCase(actual) <= DataUtil.toLowerCase(expected);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual)) {\n actual = undefined;\n }\n return actual <= expected;\n },\n /**\n * Returns true when the actual input is greater than or equal to the given input.\n *\n * @param {string|number|boolean} actual\n * @param {string|number|boolean} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n */\n greaterthanorequal: function (actual, expected, ignoreCase) {\n if (ignoreCase) {\n return DataUtil.toLowerCase(actual) >= DataUtil.toLowerCase(expected);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual)) {\n actual = undefined;\n }\n return actual >= expected;\n },\n /**\n * Returns true when the actual input contains the given string.\n *\n * @param {string|number} actual\n * @param {string|number} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n * @param ignoreAccent\n */\n contains: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(expected) &&\n DataUtil.toLowerCase(actual).indexOf(DataUtil.toLowerCase(expected)) !== -1;\n }\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(expected) &&\n actual.toString().indexOf(expected) !== -1;\n },\n /**\n * Returns true when the actual input not contains the given string.\n *\n * @param {string|number} actual\n * @param {string|number} expected\n * @param {boolean} ignoreCase?\n */\n doesnotcontain: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(expected) &&\n DataUtil.toLowerCase(actual).indexOf(DataUtil.toLowerCase(expected)) === -1;\n }\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(expected) &&\n actual.toString().indexOf(expected) === -1;\n },\n /**\n * Returns true when the given input value is not null.\n *\n * @param {string|number} actual\n * @returns boolean\n */\n isnotnull: function (actual) {\n return actual !== null && actual !== undefined;\n },\n /**\n * Returns true when the given input value is null.\n *\n * @param {string|number} actual\n * @returns boolean\n */\n isnull: function (actual) {\n return actual === null || actual === undefined;\n },\n /**\n * Returns true when the actual input starts with the given string\n *\n * @param {string} actual\n * @param {string} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n * @param ignoreAccent\n */\n startswith: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return actual && expected && DataUtil.startsWith(DataUtil.toLowerCase(actual), DataUtil.toLowerCase(expected));\n }\n return actual && expected && DataUtil.startsWith(actual, expected);\n },\n /**\n * Returns true when the actual input not starts with the given string\n *\n * @param {string} actual\n * @param {string} expected\n * @param {boolean} ignoreCase?\n */\n doesnotstartwith: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return actual && expected && DataUtil.notStartsWith(DataUtil.toLowerCase(actual), DataUtil.toLowerCase(expected));\n }\n return actual && expected && DataUtil.notStartsWith(actual, expected);\n },\n /**\n * Returns true when the actual input like with the given string.\n *\n * @param {string} actual\n * @param {string} expected\n * @param {boolean} ignoreCase?\n */\n like: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return actual && expected && DataUtil.like(DataUtil.toLowerCase(actual), DataUtil.toLowerCase(expected));\n }\n return actual && expected && DataUtil.like(actual, expected);\n },\n /**\n * Returns true when the given input value is empty.\n *\n * @param {string|number} actual\n * @returns boolean\n */\n isempty: function (actual) {\n return actual === undefined || actual === '';\n },\n /**\n * Returns true when the given input value is not empty.\n *\n * @param {string|number} actual\n * @returns boolean\n */\n isnotempty: function (actual) {\n return actual !== undefined && actual !== '';\n },\n /**\n * Returns true when the actual input pattern(wildcard) matches with the given string.\n *\n * @param {string|Date} actual\n * @param {string} expected\n * @param {boolean} ignoreCase?\n */\n wildcard: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return (actual || typeof actual === 'boolean') && expected && typeof actual !== 'object' &&\n DataUtil.wildCard(DataUtil.toLowerCase(actual), DataUtil.toLowerCase(expected));\n }\n return (actual || typeof actual === 'boolean') && expected && DataUtil.wildCard(actual, expected);\n },\n /**\n * Returns true when the actual input ends with the given string.\n *\n * @param {string} actual\n * @param {string} expected\n * @param {boolean} ignoreCase?\n * @param ignoreCase\n * @param ignoreAccent\n */\n endswith: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return actual && expected && DataUtil.endsWith(DataUtil.toLowerCase(actual), DataUtil.toLowerCase(expected));\n }\n return actual && expected && DataUtil.endsWith(actual, expected);\n },\n /**\n * Returns true when the actual input not ends with the given string.\n *\n * @param {string} actual\n * @param {string} expected\n * @param {boolean} ignoreCase?\n */\n doesnotendwith: function (actual, expected, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expected = DataUtil.ignoreDiacritics(expected);\n }\n if (ignoreCase) {\n return actual && expected && DataUtil.notEndsWith(DataUtil.toLowerCase(actual), DataUtil.toLowerCase(expected));\n }\n return actual && expected && DataUtil.notEndsWith(actual, expected);\n },\n /**\n * It will return the filter operator based on the filter symbol.\n *\n * @param {string} operator\n * @hidden\n */\n processSymbols: function (operator) {\n var fnName = DataUtil.operatorSymbols[operator];\n if (fnName) {\n var fn = DataUtil.fnOperators[fnName];\n return fn;\n }\n return DataUtil.throwError('Query - Process Operator : Invalid operator');\n },\n /**\n * It will return the valid filter operator based on the specified operators.\n *\n * @param {string} operator\n * @hidden\n */\n processOperator: function (operator) {\n var fn = DataUtil.fnOperators[operator];\n if (fn) {\n return fn;\n }\n return DataUtil.fnOperators.processSymbols(operator);\n },\n /**\n * Checks if the specified value exists in the given array, with optional case and accent insensitivity.\n *\n * @param {string | number} actual - The value to check.\n * @param {Array} expectedArray - The array to search within.\n * @param {boolean} [ignoreCase] - Whether to perform a case-insensitive comparison.\n * @param {boolean} [ignoreAccent] - Whether to ignore accents/diacritics.\n * @returns {boolean} `true` if the value is found, otherwise `false`.\n */\n in: function (actual, expectedArray, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expectedArray = DataUtil.ignoreDiacriticsForArrays(expectedArray);\n }\n if (ignoreCase) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && expectedArray && expectedArray.length > 0 && expectedArray\n .map(function (item) { return DataUtil.toLowerCase(item); }).indexOf(DataUtil.toLowerCase(actual)) > -1;\n }\n if (actual instanceof Date) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && expectedArray && expectedArray.length > 0 && Array.isArray(expectedArray) &&\n expectedArray.some(function (item) { return item instanceof Date && item.getTime() === actual.getTime(); });\n }\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && expectedArray && expectedArray.length > 0 && expectedArray.indexOf(actual) > -1;\n },\n /**\n * Checks if the specified value is not present in the given array, with optional case and accent insensitivity.\n *\n * @param {string | number} actual - The value to check.\n * @param {Array} expectedArray - The array to search within.\n * @param {boolean} [ignoreCase] - Whether to perform a case-insensitive comparison.\n * @param {boolean} [ignoreAccent] - Whether to ignore accents/diacritics.\n * @returns {boolean} `true` if the value is not found, otherwise `false`.\n */\n notin: function (actual, expectedArray, ignoreCase, ignoreAccent) {\n if (ignoreAccent) {\n actual = DataUtil.ignoreDiacritics(actual);\n expectedArray = DataUtil.ignoreDiacriticsForArrays(expectedArray);\n }\n if (ignoreCase) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && expectedArray && expectedArray.length > 0 && expectedArray\n .map(function (item) { return DataUtil.toLowerCase(item); }).indexOf(DataUtil.toLowerCase(actual)) === -1;\n }\n if (actual instanceof Date) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && expectedArray && expectedArray.length > 0 && Array.isArray(expectedArray) &&\n expectedArray.every(function (item) { return !(item instanceof Date) || item.getTime() !== actual.getTime(); });\n }\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actual) && expectedArray && expectedArray.length > 0 && expectedArray.indexOf(actual) === -1;\n }\n };\n /**\n * To perform the parse operation on JSON data, like convert to string from JSON or convert to JSON from string.\n */\n DataUtil.parse = {\n /**\n * Parse the given string to the plain JavaScript object.\n *\n * @param {string|Object|Object[]} jsonText\n */\n parseJson: function (jsonText) {\n if (typeof jsonText === 'string' && (/^[\\s]*\\[|^[\\s]*\\{(.)+:/g.test(jsonText) || jsonText.indexOf('\"') === -1)) {\n jsonText = JSON.parse(jsonText, DataUtil.parse.jsonReviver);\n }\n else if (jsonText instanceof Array) {\n DataUtil.parse.iterateAndReviveArray(jsonText);\n }\n else if (typeof jsonText === 'object' && jsonText !== null) {\n DataUtil.parse.iterateAndReviveJson(jsonText);\n }\n return jsonText;\n },\n /**\n * It will perform on array of values.\n *\n * @param {string[]|Object[]} array\n * @hidden\n */\n iterateAndReviveArray: function (array) {\n for (var i = 0; i < array.length; i++) {\n if (typeof array[i] === 'object' && array[i] !== null) {\n DataUtil.parse.iterateAndReviveJson(array[i]);\n // eslint-disable-next-line no-useless-escape\n }\n else if (typeof array[i] === 'string' && (!/^[\\s]*\\[|^[\\s]*\\{(.)+:|\\\"/g.test(array[i]) ||\n array[i].toString().indexOf('\"') === -1)) {\n array[i] = DataUtil.parse.jsonReviver('', array[i]);\n }\n else {\n array[i] = DataUtil.parse.parseJson(array[i]);\n }\n }\n },\n /**\n * It will perform on JSON values\n *\n * @param {JSON} json\n * @hidden\n */\n iterateAndReviveJson: function (json) {\n var value;\n var keys = Object.keys(json);\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var prop = keys_2[_i];\n if (DataUtil.startsWith(prop, '__')) {\n continue;\n }\n value = json[prop];\n if (typeof value === 'object') {\n if (value instanceof Array) {\n DataUtil.parse.iterateAndReviveArray(value);\n }\n else if (value) {\n DataUtil.parse.iterateAndReviveJson(value);\n }\n }\n else {\n json[prop] = DataUtil.parse.jsonReviver(json[prop], value);\n }\n }\n },\n /**\n * It will perform on JSON values\n *\n * @param {string} field\n * @param {string|Date} value\n * @hidden\n */\n jsonReviver: function (field, value) {\n if (typeof value === 'string') {\n // eslint-disable-next-line security/detect-unsafe-regex\n var ms = /^\\/Date\\(([+-]?[0-9]+)([+-][0-9]{4})?\\)\\/$/.exec(value);\n var offSet = DataUtil.timeZoneHandling ? DataUtil.serverTimezoneOffset : null;\n if (ms) {\n return DataUtil.dateParse.toTimeZone(new Date(parseInt(ms[1], 10)), offSet, true);\n // eslint-disable-next-line no-useless-escape, security/detect-unsafe-regex\n }\n else if (/^(\\d{4}\\-\\d\\d\\-\\d\\d([tT][\\d:\\.]*){1})([zZ]|([+\\-])(\\d\\d):?(\\d\\d))?$/.test(value)) {\n var isUTC = value.indexOf('Z') > -1 || value.indexOf('z') > -1;\n var arr = value.split(/[^0-9.]/);\n if (isUTC) {\n if (arr[5].indexOf('.') > -1) {\n var secondsMs = arr[5].split('.');\n arr[5] = secondsMs[0];\n arr[6] = new Date(value).getUTCMilliseconds().toString();\n }\n else {\n arr[6] = '00';\n }\n value = DataUtil.dateParse\n .toTimeZone(new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10), parseInt(arr[3], 10), parseInt(arr[4], 10), parseInt(arr[5] ? arr[5] : '00', 10), parseInt(arr[6], 10)), DataUtil.serverTimezoneOffset, false);\n }\n else {\n var utcFormat = new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10), parseInt(arr[3], 10), parseInt(arr[4], 10), parseInt(arr[5] ? arr[5] : '00', 10));\n var hrs = parseInt(arr[6], 10);\n var mins = parseInt(arr[7], 10);\n if (isNaN(hrs) && isNaN(mins)) {\n return utcFormat;\n }\n if (value.indexOf('+') > -1) {\n utcFormat.setHours(utcFormat.getHours() - hrs, utcFormat.getMinutes() - mins);\n }\n else {\n utcFormat.setHours(utcFormat.getHours() + hrs, utcFormat.getMinutes() + mins);\n }\n value = DataUtil.dateParse\n .toTimeZone(utcFormat, DataUtil.serverTimezoneOffset, false);\n }\n if (DataUtil.serverTimezoneOffset == null) {\n value = DataUtil.dateParse.addSelfOffset(value);\n }\n }\n }\n return value;\n },\n /**\n * Check wheather the given value is JSON or not.\n *\n * @param {Object[]} jsonData\n */\n isJson: function (jsonData) {\n if (typeof jsonData[0] === 'string') {\n return jsonData;\n }\n return DataUtil.parse.parseJson(jsonData);\n },\n /**\n * Checks wheather the given value is GUID or not.\n *\n * @param {string} value\n */\n isGuid: function (value) {\n // eslint-disable-next-line security/detect-unsafe-regex\n var regex = /[A-Fa-f0-9]{8}(?:-[A-Fa-f0-9]{4}){3}-[A-Fa-f0-9]{12}/i;\n var match = regex.exec(value);\n return match != null;\n },\n /**\n * The method used to replace the value based on the type.\n *\n * @param {Object} value\n * @param {boolean} stringify\n * @hidden\n */\n replacer: function (value, stringify) {\n if (DataUtil.isPlainObject(value)) {\n return DataUtil.parse.jsonReplacer(value, stringify);\n }\n if (value instanceof Array) {\n return DataUtil.parse.arrayReplacer(value);\n }\n if (value instanceof Date) {\n return DataUtil.parse.jsonReplacer({ val: value }, stringify).val;\n }\n return value;\n },\n /**\n * It will replace the JSON value.\n *\n * @param {string} key\n * @param {Object} val\n * @param stringify\n * @hidden\n */\n jsonReplacer: function (val, stringify) {\n var value;\n var keys = Object.keys(val);\n for (var _i = 0, keys_3 = keys; _i < keys_3.length; _i++) {\n var prop = keys_3[_i];\n value = val[prop];\n if (!(value instanceof Date)) {\n continue;\n }\n var d = value;\n if (DataUtil.serverTimezoneOffset == null) {\n val[prop] = DataUtil.dateParse.toTimeZone(d, null).toJSON();\n }\n else {\n d = new Date(+d + DataUtil.serverTimezoneOffset * 3600000);\n val[prop] = DataUtil.dateParse.toTimeZone(DataUtil.dateParse.addSelfOffset(d), null).toJSON();\n }\n }\n return val;\n },\n /**\n * It will replace the Array of value.\n *\n * @param {string} key\n * @param {Object[]} val\n * @hidden\n */\n arrayReplacer: function (val) {\n for (var i = 0; i < val.length; i++) {\n if (DataUtil.isPlainObject(val[i])) {\n val[i] = DataUtil.parse.jsonReplacer(val[i]);\n }\n else if (val[i] instanceof Date) {\n val[i] = DataUtil.parse.jsonReplacer({ date: val[i] }).date;\n }\n }\n return val;\n },\n /**\n * It will replace the Date object with respective to UTC format value.\n *\n * @param {string} key\n * @param {any} value\n * @hidden\n */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n /* tslint:disable-next-line:no-any */\n jsonDateReplacer: function (key, value) {\n /* eslint-enable @typescript-eslint/no-explicit-any */\n if (key === 'value' && value) {\n if (typeof value === 'string') {\n // eslint-disable-next-line security/detect-unsafe-regex\n var ms = /^\\/Date\\(([+-]?[0-9]+)([+-][0-9]{4})?\\)\\/$/.exec(value);\n if (ms) {\n value = DataUtil.dateParse.toTimeZone(new Date(parseInt(ms[1], 10)), null, true);\n // eslint-disable-next-line no-useless-escape, security/detect-unsafe-regex\n }\n else if (/^(\\d{4}\\-\\d\\d\\-\\d\\d([tT][\\d:\\.]*){1})([zZ]|([+\\-])(\\d\\d):?(\\d\\d))?$/.test(value)) {\n var arr = value.split(/[^0-9]/);\n value = DataUtil.dateParse\n .toTimeZone(new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10), parseInt(arr[3], 10), parseInt(arr[4], 10), parseInt(arr[5], 10)), null, true);\n }\n }\n if (value instanceof Date) {\n value = DataUtil.dateParse.addSelfOffset(value);\n if (DataUtil.serverTimezoneOffset === null) {\n return DataUtil.dateParse.toTimeZone(DataUtil.dateParse.addSelfOffset(value), null).toJSON();\n }\n else {\n value = DataUtil.dateParse.toTimeZone(value, ((value.getTimezoneOffset() / 60)\n - DataUtil.serverTimezoneOffset), false);\n return value.toJSON();\n }\n }\n }\n return value;\n }\n };\n /**\n * @hidden\n */\n DataUtil.dateParse = {\n addSelfOffset: function (input) {\n return new Date(+input - (input.getTimezoneOffset() * 60000));\n },\n toUTC: function (input) {\n return new Date(+input + (input.getTimezoneOffset() * 60000));\n },\n toTimeZone: function (input, offset, utc) {\n if (offset === null) {\n return input;\n }\n var unix = utc ? DataUtil.dateParse.toUTC(input) : input;\n return new Date(+unix - (offset * 3600000));\n },\n toLocalTime: function (input) {\n var datefn = input;\n var timeZone = -datefn.getTimezoneOffset();\n var differenceString = timeZone >= 0 ? '+' : '-';\n var localtimefn = function (num) {\n var norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n };\n var val = datefn.getFullYear() + '-' + localtimefn(datefn.getMonth() + 1) + '-' + localtimefn(datefn.getDate()) +\n 'T' + localtimefn(datefn.getHours()) +\n ':' + localtimefn(datefn.getMinutes()) +\n ':' + localtimefn(datefn.getSeconds()) +\n differenceString + localtimefn(timeZone / 60) +\n ':' + localtimefn(timeZone % 60);\n return val;\n }\n };\n return DataUtil;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-data/src/util.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AutoComplete: () => (/* binding */ AutoComplete)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../drop-down-list/drop-down-list */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _combo_box_combo_box__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../combo-box/combo-box */ \"./node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.js\");\n/* harmony import */ var _common_highlight_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/highlight-search */ \"./node_modules/@syncfusion/ej2-dropdowns/src/common/highlight-search.js\");\n/* harmony import */ var _common_incremental_search__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/incremental-search */ \"./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js\");\n/* harmony import */ var _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../drop-down-base/drop-down-base */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \n\n\n\n\n\n\n\n\n\n\n_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.root = 'e-autocomplete';\n_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.icon = 'e-input-group-icon e-ddl-icon e-search-icon';\n/**\n * The AutoComplete component provides the matched suggestion list when type into the input,\n * from which the user can select one.\n * ```html\n * \n * ```\n * ```typescript\n * let atcObj:AutoComplete = new AutoComplete();\n * atcObj.appendTo(\"#list\");\n * ```\n */\nvar AutoComplete = /** @class */ (function (_super) {\n __extends(AutoComplete, _super);\n /**\n * * Constructor for creating the widget\n *\n * @param {AutoCompleteModel} options - Specifies the AutoComplete model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function AutoComplete(options, element) {\n var _this_1 = _super.call(this, options, element) || this;\n _this_1.isFiltered = false;\n _this_1.searchList = false;\n return _this_1;\n }\n /**\n * Initialize the event handler\n *\n * @private\n * @returns {void}\n */\n AutoComplete.prototype.preRender = function () {\n _super.prototype.preRender.call(this);\n };\n AutoComplete.prototype.getLocaleName = function () {\n return 'auto-complete';\n };\n AutoComplete.prototype.getNgDirective = function () {\n return 'EJS-AUTOCOMPLETE';\n };\n AutoComplete.prototype.getQuery = function (query) {\n var filterQuery = query ? query.clone() : this.query ? this.query.clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Query();\n var value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n var filterType = (this.queryString === '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) ? 'equal' : this.filterType;\n var queryString = (this.queryString === '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) ? value : this.queryString;\n if (this.isFiltered) {\n if ((this.enableVirtualization && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customFilterQuery))) {\n filterQuery = this.customFilterQuery.clone();\n }\n else if (!this.enableVirtualization) {\n return filterQuery;\n }\n }\n if (this.queryString !== null && this.queryString !== '') {\n var dataType = this.typeOfData(this.dataSource).typeof;\n if (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager) && dataType === 'string' || dataType === 'number') {\n filterQuery.where('', filterType, queryString, this.ignoreCase, this.ignoreAccent);\n }\n else {\n var mapping = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.value) ? this.fields.value : '';\n filterQuery.where(mapping, filterType, queryString, this.ignoreCase, this.ignoreAccent);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.suggestionCount) && !this.enableVirtualization) {\n // Since default value of suggestioncount is 20, checked the condition\n if (this.suggestionCount !== 20) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n filterQuery.queries.splice(queryElements, 1);\n }\n }\n }\n filterQuery.take(this.suggestionCount);\n }\n if (this.enableVirtualization) {\n var queryTakeValue = 0;\n var querySkipValue = 0;\n var takeValue = this.getTakeValue();\n if (filterQuery && filterQuery.queries.length > 0) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onSkip') {\n querySkipValue = filterQuery.queries[queryElements].e.nos;\n }\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n queryTakeValue = takeValue <= filterQuery.queries[queryElements].e.nos\n ? filterQuery.queries[queryElements].e.nos\n : takeValue;\n }\n }\n }\n if (queryTakeValue <= 0 && this.query && this.query.queries.length > 0) {\n for (var queryElements = 0; queryElements < this.query.queries.length; queryElements++) {\n if (this.query.queries[queryElements].fn === 'onTake') {\n var currentTakeValue = this.query.queries[queryElements].e.nos;\n queryTakeValue = takeValue <= currentTakeValue ? currentTakeValue : takeValue;\n }\n }\n }\n if (filterQuery && filterQuery.queries.length > 0) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onSkip') {\n querySkipValue = filterQuery.queries[queryElements].e.nos;\n filterQuery.queries.splice(queryElements, 1);\n --queryElements;\n continue;\n }\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n var currentQueryTakeValue = filterQuery.queries[queryElements].e.nos;\n queryTakeValue = currentQueryTakeValue <= queryTakeValue ? queryTakeValue : currentQueryTakeValue;\n filterQuery.queries.splice(queryElements, 1);\n --queryElements;\n }\n }\n }\n if (querySkipValue > 0 && this.virtualItemStartIndex <= querySkipValue) {\n filterQuery.skip(querySkipValue);\n }\n else {\n filterQuery.skip(this.virtualItemStartIndex);\n }\n if (queryTakeValue > 0 && takeValue <= queryTakeValue) {\n filterQuery.take(queryTakeValue);\n }\n else {\n filterQuery.take(takeValue);\n }\n filterQuery.requiresCount();\n }\n return filterQuery;\n };\n AutoComplete.prototype.searchLists = function (e) {\n var _this_1 = this;\n this.isTyped = true;\n this.isDataFetched = this.isSelectCustom = false;\n this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;\n this.checkAndResetCache();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n _super.prototype.renderList.call(this, e, true);\n }\n this.queryString = this.filterInput.value;\n if (e.type !== 'mousedown' && (e.keyCode === 40 || e.keyCode === 38)) {\n this.queryString = this.queryString === '' ? null : this.queryString;\n this.beforePopupOpen = true;\n this.resetList(this.dataSource, this.fields, null, e);\n return;\n }\n this.isSelected = false;\n this.activeIndex = null;\n this.isRequesting = false;\n var eventArgs = {\n preventDefaultAction: false,\n text: this.filterInput.value,\n updateData: function (dataSource, query, fields) {\n if (eventArgs.cancel) {\n return;\n }\n _this_1.isFiltered = true;\n _this_1.customFilterQuery = query;\n _this_1.filterAction(dataSource, query, fields);\n },\n cancel: false\n };\n this.trigger('filtering', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel && !_this_1.isFiltered && !eventArgs.preventDefaultAction) {\n _this_1.searchList = true;\n _this_1.filterAction(_this_1.dataSource, null, _this_1.fields, e);\n }\n });\n };\n /**\n * To filter the data from given data source by using query\n *\n * @param {Object[] | DataManager } dataSource - Set the data source to filter.\n * @param {Query} query - Specify the query to filter the data.\n * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.\n * @returns {void}\n\n */\n AutoComplete.prototype.filter = function (dataSource, query, fields) {\n this.isFiltered = true;\n this.filterAction(dataSource, query, fields);\n };\n AutoComplete.prototype.filterAction = function (dataSource, query, fields, e) {\n this.beforePopupOpen = true;\n var isNoDataElement = this.list.classList.contains('e-nodata');\n if (this.queryString !== '' && (this.queryString.length >= this.minLength)) {\n if (this.enableVirtualization && this.isFiltering() && this.isTyped) {\n this.isPreventScrollAction = true;\n this.list.scrollTop = 0;\n this.previousStartIndex = 0;\n this.virtualListInfo = null;\n }\n this.resetList(dataSource, fields, query, e);\n isNoDataElement = this.list.classList.contains('e-nodata');\n if (this.enableVirtualization && !isNoDataElement) {\n if (!this.list.querySelector('.e-virtual-ddl-content') && this.list.querySelector('.e-list-parent')) {\n var virtualElement = this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n virtualElement.style.cssText = this.getTransformValues();\n this.list.appendChild(virtualElement).appendChild(this.list.querySelector('.e-list-parent'));\n }\n if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {\n var virtualElement = this.createElement('div', {\n id: this.element.id + '_popup', className: 'e-virtual-ddl'\n });\n virtualElement.style.cssText = this.GetVirtualTrackHeight();\n this.list.parentElement.querySelector('.e-dropdownbase').appendChild(virtualElement);\n }\n }\n if ((this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager) && this.totalItemCount !== 0)) {\n this.getFilteringSkeletonCount();\n }\n }\n else {\n this.hidePopup(e);\n this.beforePopupOpen = false;\n }\n this.renderReactTemplates();\n };\n AutoComplete.prototype.clearAll = function (e, property) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(property) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(property) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(property.dataSource))) {\n _super.prototype.clearAll.call(this, e);\n this.checkAndResetCache();\n }\n if (this.beforePopupOpen) {\n this.hidePopup();\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n AutoComplete.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {\n if (!this.enableVirtualization) {\n this.fixedHeaderElement = null;\n }\n if ((this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager) && this.totalItemCount !== 0)) {\n this.getFilteringSkeletonCount();\n }\n _super.prototype.onActionComplete.call(this, ulElement, list, e);\n var item = this.list.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.li);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([item], _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.focus);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData) && !this.enableVirtualization) {\n this.focusIndexItem();\n }\n this.postBackAction();\n };\n AutoComplete.prototype.postBackAction = function () {\n if (this.autofill && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections[0]) && this.searchList) {\n var items = [this.liCollections[0]];\n var dataSource = this.listData;\n var type = this.typeOfData(dataSource).typeof;\n var searchItem = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.Search)(this.inputElement.value, items, 'StartsWith', this.ignoreCase, dataSource, this.fields, type);\n this.searchList = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(searchItem.item)) {\n _super.prototype.setAutoFill.call(this, this.liCollections[0], true);\n }\n }\n };\n AutoComplete.prototype.setSelection = function (li, e) {\n if (!this.isValidLI(li)) {\n this.selectedLI = li;\n return;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && e.type === 'keydown' && e.action !== 'enter'\n && e.action !== 'tab' && this.isValidLI(li)) {\n var value = this.getFormattedValue(li.getAttribute('data-value'));\n this.activeIndex = this.getIndexByValue(value);\n this.setHoverList(li);\n this.selectedLI = li;\n this.setScrollPosition(e);\n if (this.autofill && this.isPopupOpen) {\n this.preventAutoFill = false;\n var isKeyNavigate = (e && e.action === 'down' || e.action === 'up' ||\n e.action === 'home' || e.action === 'end' || e.action === 'pageUp' || e.action === 'pageDown');\n _super.prototype.setAutoFill.call(this, li, isKeyNavigate);\n }\n }\n else {\n _super.prototype.setSelection.call(this, li, e);\n this.isFiltered = false;\n }\n };\n AutoComplete.prototype.listOption = function (dataSource, fieldsSettings) {\n var _this_1 = this;\n var fields = _super.prototype.listOption.call(this, dataSource, fieldsSettings);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields.itemCreated)) {\n fields.itemCreated = function (e) {\n if (_this_1.highlight) {\n if (_this_1.element.tagName === _this_1.getNgDirective() && _this_1.itemTemplate) {\n setTimeout(function () {\n (0,_common_highlight_search__WEBPACK_IMPORTED_MODULE_5__.highlightSearch)(e.item, _this_1.queryString, _this_1.ignoreCase, _this_1.filterType);\n }, 0);\n }\n else {\n (0,_common_highlight_search__WEBPACK_IMPORTED_MODULE_5__.highlightSearch)(e.item, _this_1.queryString, _this_1.ignoreCase, _this_1.filterType);\n }\n }\n };\n }\n else {\n var itemCreated_1 = fields.itemCreated;\n fields.itemCreated = function (e) {\n if (_this_1.highlight) {\n (0,_common_highlight_search__WEBPACK_IMPORTED_MODULE_5__.highlightSearch)(e.item, _this_1.queryString, _this_1.ignoreCase, _this_1.filterType);\n }\n itemCreated_1.apply(_this_1, [e]);\n };\n }\n return fields;\n };\n AutoComplete.prototype.isFiltering = function () {\n return true;\n };\n AutoComplete.prototype.renderPopup = function (e) {\n if (!this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n _super.prototype.renderPopup.call(this, e);\n };\n AutoComplete.prototype.isEditTextBox = function () {\n return false;\n };\n AutoComplete.prototype.isPopupButton = function () {\n return this.showPopupButton;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n AutoComplete.prototype.isSelectFocusItem = function (element) {\n return false;\n };\n AutoComplete.prototype.setInputValue = function (newProp, oldProp) {\n var oldValue = oldProp && oldProp.text ? oldProp.text : oldProp ? oldProp.value : oldProp;\n var value = newProp && newProp.text\n ? newProp.text\n : newProp && newProp.value\n ? newProp.value\n : this.value;\n if (this.allowObjectBinding) {\n oldValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldValue)\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', oldValue)\n : oldValue;\n value = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', value)\n : value;\n }\n if (value && this.typedString === '' && !this.allowCustom && !(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager)) {\n var checkFields1_1 = this.typeOfData(this.dataSource).typeof === 'string' ? '' : this.fields.value;\n var listLength_1 = this.getItems().length;\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Query();\n // eslint-disable-next-line @typescript-eslint/tslint/config\n var _this_2 = false || this;\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager(this.dataSource).executeQuery(query.where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Predicate(checkFields1_1, 'equal', value)))\n .then(function (e) {\n if (e.result.length > 0) {\n _this_2.value = checkFields1_1 !== '' ? _this_2.allowObjectBinding ? e.result[0] : e.result[0][_this_2.fields.value].toString() : e.result[0].toString();\n _this_2.addItem(e.result, listLength_1);\n _this_2.updateValues();\n }\n else {\n if (newProp && newProp.text) {\n _this_2.setOldText(oldValue);\n }\n else if (newProp && newProp.value) {\n _this_2.setOldValue(oldValue);\n }\n else {\n _this_2.updateValues();\n }\n }\n });\n }\n else if (newProp) {\n if (newProp.text) {\n this.setOldText(oldValue);\n }\n else {\n this.setOldValue(oldValue);\n }\n }\n };\n /**\n * Search the entered text and show it in the suggestion list if available.\n *\n * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - The event object.\n * @returns {void}\n\n */\n AutoComplete.prototype.showPopup = function (e) {\n if (!this.enabled) {\n return;\n }\n if (this.beforePopupOpen) {\n this.refreshPopup();\n return;\n }\n this.beforePopupOpen = true;\n this.preventAutoFill = true;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n this.renderList(e);\n }\n else {\n this.resetList(this.dataSource, this.fields, null, e);\n }\n };\n /**\n * Hides the popup if it is in open state.\n *\n * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - The event object.\n * @returns {void}\n */\n AutoComplete.prototype.hidePopup = function (e) {\n _super.prototype.hidePopup.call(this, e);\n this.activeIndex = null;\n this.virtualListInfo = this.viewPortInfo;\n this.previousStartIndex = this.viewPortInfo.startIndex;\n this.startIndex = this.viewPortInfo.startIndex;\n this.previousEndIndex = this.viewPortInfo.endIndex;\n };\n /**\n * Dynamically change the value of properties.\n *\n * @param {AutoCompleteModel} newProp - Returns the dynamic property value of the component.\n * @param {AutoCompleteModel} oldProp - Returns the previous property value of the component.\n * @private\n * @returns {void}\n */\n AutoComplete.prototype.onPropertyChanged = function (newProp, oldProp) {\n if (this.getModuleName() === 'autocomplete') {\n this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp);\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'showPopupButton':\n if (this.showPopupButton) {\n var button = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_6__.Input.appendSpan(_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.icon, this.inputWrapper.container, this.createElement);\n this.inputWrapper.buttons[0] = button;\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_6__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n if (this.inputWrapper && this.inputWrapper.buttons && this.inputWrapper.buttons[0]) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.buttons[0], 'click', this.dropDownClick, this);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.inputWrapper.buttons[0]);\n this.inputWrapper.buttons[0] = null;\n }\n break;\n default: {\n // eslint-disable-next-line max-len\n var atcProps = this.getPropObject(prop, newProp, oldProp);\n _super.prototype.onPropertyChanged.call(this, atcProps.newProperty, atcProps.oldProperty);\n break;\n }\n }\n }\n };\n AutoComplete.prototype.renderHightSearch = function () {\n if (this.highlight) {\n for (var i = 0; i < this.liCollections.length; i++) {\n var isHighlight = this.ulElement.querySelector('.e-active');\n if (!isHighlight) {\n (0,_common_highlight_search__WEBPACK_IMPORTED_MODULE_5__.revertHighlightSearch)(this.liCollections[i]);\n (0,_common_highlight_search__WEBPACK_IMPORTED_MODULE_5__.highlightSearch)(this.liCollections[i], this.queryString, this.ignoreCase, this.filterType);\n }\n isHighlight = null;\n }\n }\n };\n /**\n * Return the module name of this component.\n *\n * @private\n * @returns {string} Return the module name of this component.\n */\n AutoComplete.prototype.getModuleName = function () {\n return 'autocomplete';\n };\n /**\n * To initialize the control rendering\n *\n * @private\n * @returns {void}\n */\n AutoComplete.prototype.render = function () {\n _super.prototype.render.call(this);\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({ value: null, iconCss: null, groupBy: null, disabled: null }, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_7__.FieldSettings)\n ], AutoComplete.prototype, \"fields\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], AutoComplete.prototype, \"ignoreCase\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], AutoComplete.prototype, \"showPopupButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], AutoComplete.prototype, \"highlight\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(20)\n ], AutoComplete.prototype, \"suggestionCount\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], AutoComplete.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], AutoComplete.prototype, \"query\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1)\n ], AutoComplete.prototype, \"minLength\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Contains')\n ], AutoComplete.prototype, \"filterType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], AutoComplete.prototype, \"filtering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], AutoComplete.prototype, \"index\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], AutoComplete.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], AutoComplete.prototype, \"valueTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], AutoComplete.prototype, \"filterBarPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], AutoComplete.prototype, \"allowFiltering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], AutoComplete.prototype, \"text\", void 0);\n AutoComplete = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], AutoComplete);\n return AutoComplete;\n}(_combo_box_combo_box__WEBPACK_IMPORTED_MODULE_8__.ComboBox));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ComboBox: () => (/* binding */ ComboBox)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../drop-down-list/drop-down-list */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _common_incremental_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/incremental-search */ \"./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \n\n\n\n\n\n\n\nvar SPINNER_CLASS = 'e-atc-spinner-icon';\n_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.root = 'e-combobox';\nvar inputObject = {\n container: null,\n buttons: []\n};\n/**\n * The ComboBox component allows the user to type a value or choose an option from the list of predefined options.\n * ```html\n * \n * ```\n * ```typescript\n * let games:ComboBox = new ComboBox();\n * games.appendTo(\"#list\");\n * ```\n */\nvar ComboBox = /** @class */ (function (_super) {\n __extends(ComboBox, _super);\n /**\n * *Constructor for creating the component\n *\n * @param {ComboBoxModel} options - Specifies the ComboBox model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function ComboBox(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Initialize the event handler\n *\n * @private\n * @returns {void}\n */\n ComboBox.prototype.preRender = function () {\n _super.prototype.preRender.call(this);\n };\n ComboBox.prototype.getLocaleName = function () {\n return 'combo-box';\n };\n ComboBox.prototype.wireEvent = function () {\n if (this.getModuleName() === 'combobox') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.buttons[0], 'mousedown', this.preventBlur, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.container, 'blur', this.onBlurHandler, this);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0])) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.buttons[0], 'mousedown', this.dropDownClick, this);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'focus', this.targetFocus, this);\n if (!this.readonly) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'input', this.onInput, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keyup', this.onFilterUp, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keydown', this.onFilterDown, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'paste', this.pasteHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'resize', this.windowResize, this);\n }\n this.bindCommonEvent();\n };\n ComboBox.prototype.preventBlur = function (e) {\n if ((!this.allowFiltering && document.activeElement !== this.inputElement &&\n !document.activeElement.classList.contains(_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.input) && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice)) {\n e.preventDefault();\n }\n };\n ComboBox.prototype.onBlurHandler = function (e) {\n var inputValue = this.inputElement && this.inputElement.value === '' ?\n null : this.inputElement && this.inputElement.value;\n var text = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) ? this.text.replace(/\\r\\n|\\n|\\r/g, '') : this.text;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputValue) && inputValue !== text) {\n this.customValue(e);\n }\n _super.prototype.onBlurHandler.call(this, e);\n };\n ComboBox.prototype.targetElement = function () {\n return this.inputElement;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ComboBox.prototype.setOldText = function (text) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);\n this.customValue();\n this.removeSelection();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ComboBox.prototype.setOldValue = function (value) {\n if (this.allowCustom) {\n this.selectedLI = this.getElementByValue(this.value);\n this.valueMuteChange(this.value);\n }\n else {\n this.valueMuteChange(null);\n }\n this.removeSelection();\n this.setHiddenValue();\n };\n ComboBox.prototype.valueMuteChange = function (value) {\n value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', value) : value;\n var inputValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? null : value.toString();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(inputValue, this.inputElement, this.floatLabelType, this.showClearButton);\n var changeData = {};\n if (this.allowObjectBinding) {\n value = this.getDataByValue(value);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n var fields_1 = this.fields;\n var isvalidTextField_1 = false;\n var isValidValue_1 = false;\n if (this.allowObjectBinding) {\n var keys = Object.keys(this.value);\n keys.forEach(function (key) {\n if (key === fields_1.value) {\n isValidValue_1 = true;\n return;\n }\n });\n keys.forEach(function (key) {\n if (key === fields_1.text) {\n isvalidTextField_1 = true;\n return;\n }\n });\n }\n changeData = {\n text: isValidValue_1 ? isvalidTextField_1 ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.text, this.value) : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.value, this.value) : null,\n value: isValidValue_1 ? this.value : null,\n index: null\n };\n }\n }\n if (this.allowObjectBinding) {\n this.setProperties(changeData, true);\n }\n else {\n this.setProperties({ value: value, text: value ? value.toString() : value, index: null }, true);\n }\n this.activeIndex = this.index;\n var fields = this.fields;\n var dataItem = {};\n dataItem[fields.text] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? null : value.toString();\n dataItem[fields.value] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? null : value.toString();\n this.itemData = dataItem;\n this.item = null;\n if ((!this.allowObjectBinding && (this.previousValue !== this.value)) ||\n (this.allowObjectBinding && this.previousValue && this.value &&\n !this.isObjectInArray(this.previousValue, [this.value]))) {\n this.detachChangeEvent(null);\n }\n };\n ComboBox.prototype.updateValues = function () {\n if (this.fields.disabled) {\n if (this.value != null) {\n this.value = !this.isDisableItemValue(this.value) ? this.value : null;\n }\n if (this.text != null) {\n this.text = !this.isDisabledItemByIndex(this.getIndexByValue(this.getValueByText(this.text))) ? this.text : null;\n }\n if (this.index != null) {\n this.index = !this.isDisabledItemByIndex(this.index) ? this.index : null;\n this.activeIndex = this.index;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var currentValue = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n var li = this.getElementByValue(currentValue);\n var doesItemExist = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) ? true : false;\n if (this.enableVirtualization && this.value) {\n var fields = (this.fields.value) ? this.fields.value : '';\n var currentValue_1 = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager) {\n var getItem = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager(this.virtualGroupDataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(fields, 'equal', currentValue_1)));\n if (getItem && getItem.length > 0) {\n this.itemData = getItem[0];\n doesItemExist = true;\n var dataItem = this.getItemData();\n var value = this.allowObjectBinding\n ? this.getDataByValue(dataItem.value)\n : dataItem.value;\n if ((this.value === dataItem.value && this.text !== dataItem.text)\n || (this.value !== dataItem.value && this.text === dataItem.text)) {\n this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });\n }\n }\n }\n else {\n var getItem = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager(this.dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(fields, 'equal', currentValue_1)));\n if (getItem && getItem.length > 0) {\n this.itemData = getItem[0];\n doesItemExist = true;\n var dataItem = this.getItemData();\n var value = this.allowObjectBinding\n ? this.getDataByValue(dataItem.value)\n : dataItem.value;\n if ((this.value === dataItem.value && this.text !== dataItem.text)\n || (this.value !== dataItem.value && this.text === dataItem.text)) {\n this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n this.previousValue = this.value;\n }\n }\n }\n }\n }\n if (li) {\n this.setSelection(li, null);\n }\n else if ((!this.enableVirtualization && this.allowCustom) ||\n (this.allowCustom && this.enableVirtualization && !doesItemExist)) {\n this.valueMuteChange(this.value);\n }\n else if (!this.enableVirtualization || (this.enableVirtualization && !doesItemExist)) {\n this.valueMuteChange(null);\n }\n }\n else if (this.text && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var li = this.getElementByText(this.text);\n if (li) {\n this.setSelection(li, null);\n }\n else {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);\n this.customValue();\n }\n }\n else {\n this.setSelection(this.liCollections[this.activeIndex], null);\n }\n this.setHiddenValue();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);\n };\n ComboBox.prototype.updateIconState = function () {\n if (this.showClearButton) {\n if (this.inputElement && this.inputElement.value !== '' && !this.readonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.clearButton], _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.clearIconHide);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.clearButton], _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.clearIconHide);\n }\n }\n };\n ComboBox.prototype.getAriaAttributes = function () {\n var ariaAttributes = {\n 'role': 'combobox',\n 'aria-autocomplete': 'both',\n 'aria-labelledby': this.hiddenElement.id,\n 'aria-expanded': 'false',\n 'aria-readonly': this.readonly ? this.readonly.toString() : 'false',\n 'autocomplete': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false'\n };\n return ariaAttributes;\n };\n ComboBox.prototype.searchLists = function (e) {\n this.isTyped = true;\n if (this.isFiltering()) {\n _super.prototype.searchLists.call(this, e);\n if (this.ulElement && this.filterInput.value.trim() === '') {\n this.setHoverList(this.ulElement.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.li));\n }\n }\n else {\n if (this.ulElement && this.inputElement.value === '' && this.preventAutoFill) {\n this.setHoverList(this.ulElement.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.li));\n }\n this.incrementalSearch(e);\n }\n };\n ComboBox.prototype.getNgDirective = function () {\n return 'EJS-COMBOBOX';\n };\n ComboBox.prototype.setSearchBox = function () {\n this.filterInput = this.inputElement;\n var searchBoxContainer = (this.isFiltering() || (this.isReact && this.getModuleName() === 'combobox')) ? this.inputWrapper : inputObject;\n return searchBoxContainer;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ComboBox.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {\n var _this = this;\n _super.prototype.onActionComplete.call(this, ulElement, list, e);\n if (this.isSelectCustom) {\n this.removeSelection();\n }\n if (!this.preventAutoFill && this.getModuleName() === 'combobox' && this.isTyped && !this.enableVirtualization) {\n setTimeout(function () {\n _this.inlineSearch();\n });\n }\n };\n ComboBox.prototype.getFocusElement = function () {\n var dataItem = this.isSelectCustom ? { text: '' } : this.getItemData();\n var selected = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) ? this.list.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.selected) : this.list;\n var isSelected = dataItem.text && dataItem.text.toString() === this.inputElement.value && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selected);\n if (isSelected) {\n return selected;\n }\n if ((_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.isDropDownClick || !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections) && this.liCollections.length > 0) {\n var inputValue = this.inputElement.value;\n var dataSource = this.sortedData;\n var type = this.typeOfData(dataSource).typeof;\n var activeItem = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_5__.Search)(inputValue, this.liCollections, this.filterType, true, dataSource, this.fields, type, this.ignoreAccent);\n if (this.enableVirtualization && inputValue !== '' && this.getModuleName() !== 'autocomplete' && this.isTyped && !this.allowFiltering) {\n var updatingincrementalindex = false;\n var isEndIndexValid = this.viewPortInfo.endIndex >= this.incrementalEndIndex &&\n this.incrementalEndIndex <= this.totalItemCount;\n var isIncrementalEndIndexZero = this.incrementalEndIndex === 0;\n if (isEndIndexValid || isIncrementalEndIndexZero) {\n updatingincrementalindex = true;\n this.incrementalStartIndex = this.incrementalEndIndex;\n if (isIncrementalEndIndexZero) {\n this.incrementalEndIndex = Math.min(100, this.totalItemCount);\n }\n else {\n this.incrementalEndIndex = Math.min(this.incrementalEndIndex + 100, this.totalItemCount);\n }\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = true;\n }\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n activeItem = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_5__.Search)(inputValue, this.incrementalLiCollections, this.filterType, true, dataSource, this.fields, type);\n while ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeItem.item) && this.incrementalEndIndex < this.totalItemCount) {\n this.incrementalStartIndex = this.incrementalEndIndex;\n this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount\n ? this.totalItemCount\n : this.incrementalEndIndex + 100;\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = true;\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n activeItem = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_5__.Search)(inputValue, this.incrementalLiCollections, this.filterType, true, dataSource, this.fields, type);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeItem)) {\n activeItem.index = activeItem.index + this.incrementalStartIndex;\n break;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeItem) && this.incrementalEndIndex >= this.totalItemCount) {\n this.incrementalStartIndex = 0;\n this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;\n break;\n }\n }\n var startIndex = activeItem.index - ((this.itemCount / 2) - 2) > 0\n ? activeItem.index - ((this.itemCount / 2) - 2)\n : 0;\n var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount\n ? this.totalItemCount\n : this.viewPortInfo.startIndex + this.itemCount;\n if (startIndex !== this.viewPortInfo.startIndex) {\n this.updateIncrementalView(startIndex, endIndex);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeItem.item)) {\n var startIndex_1 = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount\n ? this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2)\n : this.totalItemCount;\n var endIndex_1 = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount\n ? this.totalItemCount\n : this.viewPortInfo.startIndex + this.itemCount;\n this.updateIncrementalView(startIndex_1, endIndex_1);\n activeItem.item = this.getElementByValue(activeItem.item.getAttribute('data-value'));\n }\n else {\n this.updateIncrementalView(0, this.itemCount);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n this.list.scrollTop = 0;\n }\n if (activeItem && activeItem.item) {\n activeItem.item = this.getElementByValue(activeItem.item.getAttribute('data-value'));\n }\n }\n var activeElement = activeItem.item;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeElement)) {\n var count = this.getIndexByValue(activeElement.getAttribute('data-value')) - 1;\n var height = parseInt(getComputedStyle(this.liCollections[0], null).getPropertyValue('height'), 10);\n if (!isNaN(height) && this.getModuleName() !== 'autocomplete') {\n this.removeFocus();\n var fixedHead = this.fields.groupBy ? this.liCollections[0].offsetHeight : 0;\n if (!this.enableVirtualization) {\n this.list.scrollTop = count * height + fixedHead;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var virtualContent = this.list.getElementsByClassName('e-virtual-ddl-content')[0];\n virtualContent.style = this.getTransformValues();\n if (this.enableVirtualization && !this.fields.groupBy) {\n var selectedLiOffsetTop = activeElement.offsetTop;\n var virtualListInfoStartIndex = this.virtualListInfo && this.virtualListInfo.startIndex\n ? this.virtualListInfo.startIndex\n : 0;\n var virtualListHeight = activeElement.offsetHeight;\n var selectedLiOffsetTopWithStartIndex = selectedLiOffsetTop +\n (virtualListInfoStartIndex * virtualListHeight);\n var virtualListLength = this.list.querySelectorAll('.e-virtual-list').length;\n var scrollTopOffset = virtualListLength * virtualListHeight;\n this.list.scrollTop = selectedLiOffsetTopWithStartIndex - scrollTopOffset;\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([activeElement], _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.focus);\n }\n }\n else {\n if (this.isSelectCustom && this.inputElement.value.trim() !== '') {\n this.removeFocus();\n if (!this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n }\n }\n return activeElement;\n }\n else {\n return null;\n }\n };\n ComboBox.prototype.setValue = function (e) {\n if ((e && e.type === 'keydown' && e.action === 'enter') || (e && e.type === 'click')) {\n this.removeFillSelection();\n }\n if (this.autofill && this.getModuleName() === 'combobox' && e && e.type === 'keydown' && e.action !== 'enter') {\n this.preventAutoFill = false;\n this.inlineSearch(e);\n return false;\n }\n else {\n return _super.prototype.setValue.call(this, e);\n }\n };\n ComboBox.prototype.checkCustomValue = function () {\n var value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n this.itemData = this.getDataByValue(value);\n var dataItem = this.getItemData();\n var setValue = this.allowObjectBinding ? this.itemData : dataItem.value;\n if (!(this.allowCustom && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem.value) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem.text))) {\n this.setProperties({ 'value': setValue }, !this.allowCustom);\n }\n };\n /**\n * Shows the spinner loader.\n *\n * @returns {void}\n\n */\n ComboBox.prototype.showSpinner = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinnerElement)) {\n this.spinnerElement = (this.getModuleName() === 'autocomplete') ? (this.inputWrapper.buttons[0] ||\n this.inputWrapper.clearButton ||\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.appendSpan('e-input-group-icon ' + SPINNER_CLASS, this.inputWrapper.container, this.createElement)) :\n (this.inputWrapper.buttons[0] || this.inputWrapper.clearButton);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.spinnerElement], _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.disableIcon);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.createSpinner)({\n target: this.spinnerElement,\n width: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? '16px' : '14px'\n }, this.createElement);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.showSpinner)(this.spinnerElement);\n }\n };\n /**\n * Hides the spinner loader.\n *\n * @returns {void}\n\n */\n ComboBox.prototype.hideSpinner = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinnerElement)) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.hideSpinner)(this.spinnerElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.spinnerElement], _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.disableIcon);\n if (this.spinnerElement.classList.contains(SPINNER_CLASS)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.spinnerElement);\n }\n else {\n this.spinnerElement.innerHTML = '';\n }\n this.spinnerElement = null;\n }\n };\n ComboBox.prototype.setAutoFill = function (activeElement, isHover) {\n if (!isHover) {\n this.setHoverList(activeElement);\n }\n if (this.autofill && !this.preventAutoFill) {\n var currentValue = this.getTextByValue(activeElement.getAttribute('data-value')).toString();\n var currentFillValue = this.getFormattedValue(activeElement.getAttribute('data-value'));\n if (this.getModuleName() === 'combobox') {\n if (!this.isSelected && ((!this.allowObjectBinding && this.previousValue !== currentFillValue)) ||\n (this.allowObjectBinding && this.previousValue && currentFillValue &&\n !this.isObjectInArray(this.previousValue, [this.getDataByValue(currentFillValue)]))) {\n this.updateSelectedItem(activeElement, null);\n this.isSelected = true;\n this.previousValue = this.allowObjectBinding ?\n this.getDataByValue(this.getFormattedValue(activeElement.getAttribute('data-value'))) :\n this.getFormattedValue(activeElement.getAttribute('data-value'));\n }\n else {\n this.updateSelectedItem(activeElement, null, true);\n }\n }\n if (!this.isAndroidAutoFill(currentValue)) {\n this.setAutoFillSelection(currentValue, isHover);\n }\n }\n };\n ComboBox.prototype.isAndroidAutoFill = function (value) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isAndroid) {\n var currentPoints = this.getSelectionPoints();\n var prevEnd = this.prevSelectPoints.end;\n var curEnd = currentPoints.end;\n var prevStart = this.prevSelectPoints.start;\n var curStart = currentPoints.start;\n if (prevEnd !== 0 && ((prevEnd === value.length && prevStart === value.length) ||\n (prevStart > curStart && prevEnd > curEnd) || (prevEnd === curEnd && prevStart === curStart))) {\n return true;\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n };\n ComboBox.prototype.clearAll = function (e, property) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(property) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(property) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(property.dataSource))) {\n _super.prototype.clearAll.call(this, e);\n }\n if (this.isFiltering() && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && e.target === this.inputWrapper.clearButton) {\n this.typedString = this.filterInput.value;\n this.searchLists(e);\n }\n };\n ComboBox.prototype.isSelectFocusItem = function (element) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element);\n };\n ComboBox.prototype.inlineSearch = function (e) {\n var isKeyNavigate = (e && (e.action === 'down' || e.action === 'up' ||\n e.action === 'home' || e.action === 'end' || e.action === 'pageUp' || e.action === 'pageDown'));\n var activeElement = isKeyNavigate ? this.liCollections[this.activeIndex] : this.getFocusElement();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeElement)) {\n if (!isKeyNavigate) {\n var value = this.getFormattedValue(activeElement.getAttribute('data-value'));\n this.activeIndex = this.getIndexByValue(value);\n this.activeIndex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex) ? this.activeIndex : null;\n }\n this.preventAutoFill = this.inputElement.value === '' ? false : this.preventAutoFill;\n this.setAutoFill(activeElement, isKeyNavigate);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement) && this.inputElement.value === '') {\n this.activeIndex = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n if (!this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n var focusItem = this.list.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.li);\n this.setHoverList(focusItem);\n }\n }\n else {\n this.activeIndex = null;\n this.removeSelection();\n if (this.liCollections && this.liCollections.length > 0 && !this.isCustomFilter) {\n this.removeFocus();\n }\n }\n };\n ComboBox.prototype.incrementalSearch = function (e) {\n this.showPopup(e);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData)) {\n this.inlineSearch(e);\n e.preventDefault();\n }\n };\n ComboBox.prototype.setAutoFillSelection = function (currentValue, isKeyNavigate) {\n if (isKeyNavigate === void 0) { isKeyNavigate = false; }\n var selection = this.getSelectionPoints();\n var value = this.inputElement.value.substr(0, selection.start);\n if (value && (value.toLowerCase() === currentValue.substr(0, selection.start).toLowerCase())) {\n var inputValue = value + currentValue.substr(value.length, currentValue.length);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(inputValue, this.inputElement, this.floatLabelType, this.showClearButton);\n this.inputElement.setSelectionRange(selection.start, this.inputElement.value.length);\n }\n else if (isKeyNavigate) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(currentValue, this.inputElement, this.floatLabelType, this.showClearButton);\n this.inputElement.setSelectionRange(0, this.inputElement.value.length);\n }\n };\n ComboBox.prototype.getValueByText = function (text) {\n return _super.prototype.getValueByText.call(this, text, true, this.ignoreAccent);\n };\n ComboBox.prototype.unWireEvent = function () {\n if (this.getModuleName() === 'combobox') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.buttons[0], 'mousedown', this.preventBlur);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.container, 'blur', this.onBlurHandler);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0])) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.buttons[0], 'mousedown', this.dropDownClick);\n }\n if (this.inputElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'focus', this.targetFocus);\n if (!this.readonly) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'input', this.onInput);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keyup', this.onFilterUp);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keydown', this.onFilterDown);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'paste', this.pasteHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'resize', this.windowResize);\n }\n }\n this.unBindCommonEvent();\n };\n ComboBox.prototype.setSelection = function (li, e) {\n _super.prototype.setSelection.call(this, li, e);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) && !this.autofill && !this.isDropDownClick) {\n this.removeFocus();\n }\n };\n ComboBox.prototype.selectCurrentItem = function (e) {\n var li;\n if (this.isPopupOpen) {\n if (this.isSelected) {\n li = this.list.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.selected);\n }\n else {\n li = this.list.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.focus);\n }\n if (this.isDisabledElement(li)) {\n return;\n }\n if (li) {\n this.setSelection(li, e);\n this.isTyped = false;\n }\n if (this.isSelected) {\n this.isSelectCustom = false;\n this.onChangeEvent(e);\n }\n }\n if (e.action === 'enter' && this.inputElement.value === '') {\n this.clearAll(e);\n }\n else if (this.isTyped && !this.isSelected && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n this.customValue(e);\n }\n this.hidePopup(e);\n };\n ComboBox.prototype.setHoverList = function (li) {\n this.removeSelection();\n if (this.isValidLI(li) && !li.classList.contains(_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.selected)) {\n this.removeFocus();\n li.classList.add(_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.focus);\n }\n };\n ComboBox.prototype.targetFocus = function (e) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.allowFiltering) {\n this.preventFocus = false;\n }\n this.onFocus(e);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n };\n ComboBox.prototype.dropDownClick = function (e) {\n e.preventDefault();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.isFiltering()) {\n this.preventFocus = true;\n }\n _super.prototype.dropDownClick.call(this, e);\n };\n ComboBox.prototype.customValue = function (e) {\n var _this = this;\n var value = this.getValueByText(this.inputElement.value);\n if (!this.allowCustom && this.inputElement.value !== '') {\n var previousValue = this.previousValue;\n var currentValue = this.value;\n value = this.allowObjectBinding ? this.getDataByValue(value) : value;\n this.setProperties({ value: value });\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue('', this.inputElement, this.floatLabelType, this.showClearButton);\n }\n if (this.autofill && ((!this.allowObjectBinding && previousValue === this.value) ||\n (this.allowObjectBinding && previousValue && this.isObjectInArray(previousValue, [this.value]))) && ((!this.allowObjectBinding && currentValue !== this.value) ||\n (this.allowObjectBinding && currentValue && !this.isObjectInArray(currentValue, [this.value])))) {\n this.onChangeEvent(null);\n }\n }\n else if (this.inputElement.value !== '') {\n var previousValue_1 = this.value;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n var value_1 = this.inputElement.value === '' ? null : this.inputElement.value;\n // eslint-disable-next-line max-len\n var eventArgs = { text: value_1, item: {} };\n this.isObjectCustomValue = true;\n if (!this.initial) {\n this.trigger('customValueSpecifier', eventArgs, function (eventArgs) {\n _this.updateCustomValueCallback(value_1, eventArgs, previousValue_1, e);\n });\n }\n else {\n this.updateCustomValueCallback(value_1, eventArgs, previousValue_1);\n }\n }\n else {\n this.isSelectCustom = false;\n value = this.allowObjectBinding ? this.getDataByValue(value) : value;\n this.setProperties({ value: value });\n if ((!this.allowObjectBinding && previousValue_1 !== this.value) ||\n (this.allowObjectBinding && previousValue_1 && this.value && !this.isObjectInArray(previousValue_1, [this.value]))) {\n this.onChangeEvent(e);\n }\n }\n }\n else if (this.allowCustom && this.isFocused) {\n this.isSelectCustom = true;\n }\n };\n ComboBox.prototype.updateCustomValueCallback = function (value, eventArgs, previousValue, e) {\n var _this = this;\n var fields = this.fields;\n var item = eventArgs.item;\n var dataItem = {};\n if (item && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.text, item) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.value, item)) {\n dataItem = item;\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(fields.text, value, dataItem);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(fields.value, value, dataItem);\n }\n this.itemData = dataItem;\n var emptyObject = {};\n if (this.allowObjectBinding) {\n var keys = this.listData && this.listData.length > 0 ? Object.keys(this.listData[0]) : Object.keys(this.itemData);\n if ((!(this.listData && this.listData.length > 0)) && (this.getModuleName() === 'autocomplete' || (this.getModuleName() === 'combobox' && this.allowFiltering))) {\n keys = this.firstItem ? Object.keys(this.firstItem) : Object.keys(this.itemData);\n }\n // Create an empty object with predefined keys\n keys.forEach(function (key) {\n emptyObject[key] = ((key === fields.value) || (key === fields.text)) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.value, _this.itemData) : null;\n });\n }\n var changeData = {\n text: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.text, this.itemData),\n value: this.allowObjectBinding ? emptyObject : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.value, this.itemData),\n index: null\n };\n this.setProperties(changeData, true);\n this.setSelection(null, null);\n this.isSelectCustom = true;\n this.isObjectCustomValue = false;\n if ((!this.allowObjectBinding && (previousValue !== this.value)) ||\n (this.allowObjectBinding && ((previousValue == null && this.value !== null) ||\n (previousValue && !this.isObjectInArray(previousValue, [this.value]))))) {\n this.onChangeEvent(e, true);\n }\n };\n /**\n * Dynamically change the value of properties.\n *\n * @param {ComboBoxModel} newProp - Returns the dynamic property value of the component.\n * @param {ComboBoxModel} oldProp - Returns the previous property value of the component.\n * @private\n * @returns {void}\n */\n ComboBox.prototype.onPropertyChanged = function (newProp, oldProp) {\n if (this.getModuleName() === 'combobox') {\n this.checkData(newProp);\n this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp, oldProp);\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'readonly':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setReadonly(this.readonly, this.inputElement);\n if (this.readonly) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'input', this.onInput);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keyup', this.onFilterUp);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keydown', this.onFilterDown);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'input', this.onInput, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keyup', this.onFilterUp, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keydown', this.onFilterDown, this);\n }\n this.setReadOnly();\n break;\n case 'allowFiltering':\n this.setSearchBox();\n if (this.isFiltering() && this.getModuleName() === 'combobox' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n _super.prototype.renderList.call(this);\n }\n break;\n case 'allowCustom':\n break;\n default: {\n // eslint-disable-next-line max-len\n var comboProps = this.getPropObject(prop, newProp, oldProp);\n _super.prototype.onPropertyChanged.call(this, comboProps.newProperty, comboProps.oldProperty);\n if (this.isFiltering() && prop === 'dataSource' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) && this.itemTemplate &&\n this.getModuleName() === 'combobox') {\n _super.prototype.renderList.call(this);\n }\n break;\n }\n }\n }\n };\n /**\n * To initialize the control rendering.\n *\n * @private\n * @returns {void}\n */\n ComboBox.prototype.render = function () {\n _super.prototype.render.call(this);\n this.setSearchBox();\n this.renderComplete();\n this.autoFill = this.autofill;\n };\n /**\n * Return the module name of this component.\n *\n * @private\n * @returns {string} Return the module name of this component.\n */\n ComboBox.prototype.getModuleName = function () {\n return 'combobox';\n };\n /**\n * Adds a new item to the combobox popup list. By default, new item appends to the list as the last item,\n * but you can insert based on the index parameter.\n *\n * @param { Object[] } items - Specifies an array of JSON data or a JSON data.\n * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.\n * @returns {void}\n\n */\n ComboBox.prototype.addItem = function (items, itemIndex) {\n _super.prototype.addItem.call(this, items, itemIndex);\n };\n /**\n * To filter the data from given data source by using query\n *\n * @param {Object[] | DataManager } dataSource - Set the data source to filter.\n * @param {Query} query - Specify the query to filter the data.\n * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.\n * @returns {void}\n\n */\n ComboBox.prototype.filter = function (dataSource, query, fields) {\n _super.prototype.filter.call(this, dataSource, query, fields);\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Opens the popup that displays the list of items.\n *\n * @returns {void}\n\n */\n ComboBox.prototype.showPopup = function (e) {\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n _super.prototype.showPopup.call(this, e);\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Hides the popup if it is in open state.\n *\n * @returns {void}\n\n */\n ComboBox.prototype.hidePopup = function (e) {\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n var inputValue = this.inputElement && this.inputElement.value === '' ? null\n : this.inputElement && this.inputElement.value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData)) {\n var isEscape = this.isEscapeKey;\n if (this.isEscapeKey) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.setValue(this.typedString, this.inputElement, this.floatLabelType, this.showClearButton);\n this.isEscapeKey = false;\n }\n if (this.autofill) {\n this.removeFillSelection();\n }\n var dataItem = this.isSelectCustom ? { text: '' } : this.getItemData();\n var text = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem.text) ? dataItem.text.replace(/\\r\\n|\\n|\\r/g, '') : dataItem.text;\n var selected = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) ? this.list.querySelector('.' + _drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.dropDownListClasses.selected) : null;\n if (this.inputElement && text === this.inputElement.value && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selected)) {\n if (this.isSelected) {\n this.onChangeEvent(e);\n this.isSelectCustom = false;\n }\n _super.prototype.hidePopup.call(this, e);\n return;\n }\n if (this.getModuleName() === 'combobox' && this.inputElement.value.trim() !== '') {\n var dataSource = this.sortedData;\n var type = this.typeOfData(dataSource).typeof;\n var searchItem = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_5__.Search)(this.inputElement.value, this.liCollections, 'Equal', true, dataSource, this.fields, type);\n this.selectedLI = searchItem.item;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(searchItem.index)) {\n searchItem.index = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_5__.Search)(this.inputElement.value, this.liCollections, 'StartsWith', true, dataSource, this.fields, type).index;\n }\n this.activeIndex = searchItem.index;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI)) {\n this.updateSelectedItem(this.selectedLI, null, true);\n }\n else if (isEscape) {\n this.isSelectCustom = true;\n this.removeSelection();\n }\n }\n if (!this.isEscapeKey && this.isTyped && !this.isInteracted) {\n this.customValue(e);\n }\n }\n var value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData) && this.allowCustom && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputValue) && inputValue !== value) {\n this.customValue();\n }\n _super.prototype.hidePopup.call(this, e);\n };\n /**\n * Sets the focus to the component for interaction.\n *\n * @returns {void}\n */\n ComboBox.prototype.focusIn = function () {\n if (!this.enabled) {\n return;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.isFiltering()) {\n this.preventFocus = true;\n }\n _super.prototype.focusIn.call(this);\n };\n /**\n * Allows you to clear the selected values from the component.\n *\n * @returns {void}\n\n */\n ComboBox.prototype.clear = function () {\n this.value = null;\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Moves the focus from the component if the component is already focused.\n *\n * @returns {void}\n\n */\n ComboBox.prototype.focusOut = function (e) {\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n _super.prototype.focusOut.call(this, e);\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets all the list items bound on this component.\n *\n * @returns {Element[]}\n\n */\n ComboBox.prototype.getItems = function () {\n return _super.prototype.getItems.call(this);\n };\n /**\n * Gets the data Object that matches the given value.\n *\n * @param { string | number } value - Specifies the value of the list item.\n * @returns {Object}\n\n */\n ComboBox.prototype.getDataByValue = function (value) {\n return _super.prototype.getDataByValue.call(this, value);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n ComboBox.prototype.renderHightSearch = function () {\n // update high light search\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ComboBox.prototype, \"autofill\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], ComboBox.prototype, \"allowCustom\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], ComboBox.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ComboBox.prototype, \"allowFiltering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], ComboBox.prototype, \"isDeviceFullScreen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"query\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"index\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], ComboBox.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ComboBox.prototype, \"enableRtl\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], ComboBox.prototype, \"customValueSpecifier\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], ComboBox.prototype, \"filtering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"valueTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], ComboBox.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"filterBarPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"headerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"footerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], ComboBox.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('300px')\n ], ComboBox.prototype, \"popupHeight\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], ComboBox.prototype, \"popupWidth\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ComboBox.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ComboBox.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ComboBox.prototype, \"allowObjectBinding\", void 0);\n ComboBox = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], ComboBox);\n return ComboBox;\n}(_drop_down_list_drop_down_list__WEBPACK_IMPORTED_MODULE_1__.DropDownList));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/common/highlight-search.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/common/highlight-search.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ highlightSearch: () => (/* binding */ highlightSearch),\n/* harmony export */ revertHighlightSearch: () => (/* binding */ revertHighlightSearch)\n/* harmony export */ });\n/**\n * Function helps to find which highlightSearch is to call based on your data.\n *\n * @param {HTMLElement} element - Specifies an li element.\n * @param {string} query - Specifies the string to be highlighted.\n * @param {boolean} ignoreCase - Specifies the ignoreCase option.\n * @param {HightLightType} type - Specifies the type of highlight.\n * @returns {void}\n */\nfunction highlightSearch(element, query, ignoreCase, type) {\n var isHtmlElement = /<[^>]*>/g.test(element.innerText);\n if (isHtmlElement) {\n element.innerText = element.innerText.replace(/[\\u00A0-\\u9999<>&]/g, function (match) { return \"&#\" + match.charCodeAt(0) + \";\"; });\n }\n if (query === '') {\n return;\n }\n else {\n var ignoreRegex = ignoreCase ? 'gim' : 'gm';\n // eslint-disable-next-line\n query = /^[a-zA-Z0-9- ]*$/.test(query) ? query : query.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n var replaceQuery = type === 'StartsWith' ? '^(' + query + ')' : type === 'EndsWith' ?\n '(' + query + ')$' : '(' + query + ')';\n // eslint-disable-next-line security/detect-non-literal-regexp\n findTextNode(element, new RegExp(replaceQuery, ignoreRegex));\n }\n}\n/* eslint-enable jsdoc/require-param, valid-jsdoc */\n/**\n *\n * @param {HTMLElement} element - Specifies the element.\n * @param {RegExp} pattern - Specifies the regex to match the searched text.\n * @returns {void}\n */\nfunction findTextNode(element, pattern) {\n for (var index = 0; element.childNodes && (index < element.childNodes.length); index++) {\n if (element.childNodes[index].nodeType === 3 && element.childNodes[index].textContent.trim() !== '') {\n var value = element.childNodes[index].nodeValue.trim().replace(pattern, '$1');\n element.childNodes[index].nodeValue = '';\n element.innerHTML = element.innerHTML.trim() + value;\n break;\n }\n else {\n findTextNode(element.childNodes[index], pattern);\n }\n }\n}\n/**\n * Function helps to remove highlighted element based on your data.\n *\n * @param {HTMLElement} content - Specifies an content element.\n * @returns {void}\n */\nfunction revertHighlightSearch(content) {\n var contentElement = content.querySelectorAll('.e-highlight');\n for (var i = contentElement.length - 1; i >= 0; i--) {\n var parent_1 = contentElement[i].parentNode;\n var text = document.createTextNode(contentElement[i].textContent);\n parent_1.replaceChild(text, contentElement[i]);\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/common/highlight-search.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Search: () => (/* binding */ Search),\n/* harmony export */ escapeCharRegExp: () => (/* binding */ escapeCharRegExp),\n/* harmony export */ incrementalSearch: () => (/* binding */ incrementalSearch),\n/* harmony export */ resetIncrementalSearchValues: () => (/* binding */ resetIncrementalSearchValues)\n/* harmony export */ });\n/**\n * IncrementalSearch module file\n */\nvar queryString = '';\nvar prevString = '';\nvar tempQueryString = '';\nvar matches = [];\nvar activeClass = 'e-active';\nvar prevElementId = '';\n/**\n * Search and focus the list item based on key code matches with list text content.\n *\n * @param {number} keyCode - Specifies the key code which pressed on keyboard events.\n * @param {HTMLElement[]} items - Specifies an array of HTMLElement, from which matches find has done.\n * @param {number} selectedIndex - Specifies the selected item in list item, so that search will happen after selected item otherwise it will do from initial.\n * @param {boolean} ignoreCase - Specifies the case consideration when search has done.\n * @param {string} elementId - Specifies the list element ID.\n * @param {boolean} [queryStringUpdated] - Optional parameter.\n * @param {string} [currentValue] - Optional parameter.\n * @param {boolean} [isVirtual] - Optional parameter.\n * @param {boolean} [refresh] - Optional parameter.\n * @returns {Element} Returns list item based on key code matches with list text content.\n */\nfunction incrementalSearch(keyCode, items, selectedIndex, ignoreCase, elementId, queryStringUpdated, currentValue, isVirtual, refresh) {\n if (!queryStringUpdated || queryString === '') {\n if (tempQueryString !== '') {\n queryString = tempQueryString + String.fromCharCode(keyCode);\n tempQueryString = '';\n }\n else {\n queryString += String.fromCharCode(keyCode);\n }\n }\n else if (queryString === prevString) {\n tempQueryString = String.fromCharCode(keyCode);\n }\n if (isVirtual) {\n setTimeout(function () {\n tempQueryString = '';\n }, 700);\n setTimeout(function () {\n queryString = '';\n }, 3000);\n }\n else {\n setTimeout(function () {\n queryString = '';\n }, 1000);\n }\n var index;\n queryString = ignoreCase ? queryString.toLowerCase() : queryString;\n if (prevElementId === elementId && prevString === queryString && !refresh) {\n for (var i = 0; i < matches.length; i++) {\n if (matches[i].classList.contains(activeClass)) {\n index = i;\n break;\n }\n if (currentValue && matches[i].textContent.toLowerCase() === currentValue.toLowerCase()) {\n index = i;\n break;\n }\n }\n index = index + 1;\n if (isVirtual) {\n return matches[index] && matches.length - 1 !== index ? matches[index] : matches[matches.length];\n }\n return matches[index] ? matches[index] : matches[0];\n }\n else {\n var listItems = items;\n var strLength = queryString.length;\n var text = void 0;\n var item = void 0;\n selectedIndex = selectedIndex ? selectedIndex + 1 : 0;\n var i = selectedIndex;\n matches = [];\n do {\n if (i === listItems.length) {\n i = -1;\n }\n if (i === -1) {\n index = 0;\n }\n else {\n index = i;\n }\n item = listItems[index];\n text = ignoreCase ? item.innerText.toLowerCase() : item.innerText;\n if (text.substr(0, strLength) === queryString) {\n matches.push(listItems[index]);\n }\n i++;\n } while (i !== selectedIndex);\n prevString = queryString;\n prevElementId = elementId;\n if (isVirtual) {\n var indexUpdated = false;\n for (var i_1 = 0; i_1 < matches.length; i_1++) {\n if (currentValue && matches[i_1].textContent.toLowerCase() === currentValue.toLowerCase()) {\n index = i_1;\n indexUpdated = true;\n break;\n }\n }\n if (currentValue && indexUpdated) {\n index = index + 1;\n }\n return matches[index] ? matches[index] : matches[0];\n }\n return matches[0];\n }\n}\n// eslint-disable-next-line valid-jsdoc\n/**\n * Search the list item based on given input value matches with search type.\n *\n * @param {string} inputVal - Specifies the given input value.\n * @param {HTMLElement[]} items - Specifies the list items.\n * @param {SearchType} searchType - Specifies the filter type.\n * @param {boolean} [ignoreCase=true] - Specifies the case sensitive option for search operation.\n * @param {(string | number | boolean | { [key: string]: Object })[]} [dataSource] - Specifies the data source.\n * @param {{ text: string, value: string }} [fields] - Specifies the fields.\n * @param {string} [type] - Specifies the type.\n * @returns {{ item: Element | null, index: number | null }} Returns the search matched items.\n */\nfunction Search(inputVal, items, searchType, ignoreCase, dataSource, fields, type, ignoreAccent) {\n var listItems = items;\n ignoreCase = ignoreCase !== undefined && ignoreCase !== null ? ignoreCase : true;\n var itemData = { item: null, index: null };\n if (inputVal && inputVal.length) {\n var strLength = inputVal.length;\n var queryStr = ignoreCase ? inputVal.toLocaleLowerCase() : inputVal;\n queryStr = escapeCharRegExp(queryStr);\n var _loop_1 = function (i, itemsData) {\n var item = itemsData[i];\n var filterValue;\n if (items && dataSource) {\n var checkField_1 = item;\n var fieldValue_1 = fields.text.split('.');\n dataSource.filter(function (data) {\n Array.prototype.slice.call(fieldValue_1).forEach(function (value) {\n /* eslint-disable security/detect-object-injection */\n if ((type === 'object' && !data.isHeader && checkField_1.textContent.toString().indexOf(data[value]) !== -1 && checkField_1.getAttribute('data-value') === data[fields.value].toString()) ||\n (type === 'string' && checkField_1.textContent.toString().indexOf(data) !== -1)) {\n filterValue = type === 'object' ? data[value] : data;\n }\n });\n });\n }\n var text = dataSource && filterValue ? (ignoreCase ? filterValue.toString().toLocaleLowerCase() : filterValue).replace(/^\\s+|\\s+$/g, '') : (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\\s+|\\s+$/g, '');\n /* eslint-disable security/detect-non-literal-regexp */\n if (ignoreAccent && text && queryStr) {\n text = text.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n queryStr = queryStr.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, 'g').test(text))) {\n itemData.item = item;\n itemData.index = i;\n return { value: { item: item, index: i } };\n }\n };\n for (var i = 0, itemsData = listItems; i < itemsData.length; i++) {\n var state_1 = _loop_1(i, itemsData);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return itemData;\n /* eslint-enable security/detect-non-literal-regexp */\n }\n return itemData;\n}\n/**\n * @param {string} value - The value to escape.\n * @returns {string} Returns the escaped string.\n */\nfunction escapeCharRegExp(value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n/**\n * @param {string} elementId - The ID of the list element.\n * @returns {void}\n */\nfunction resetIncrementalSearchValues(elementId) {\n if (prevElementId === elementId) {\n prevElementId = '';\n prevString = '';\n queryString = '';\n matches = [];\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropDownBase: () => (/* binding */ DropDownBase),\n/* harmony export */ FieldSettings: () => (/* binding */ FieldSettings),\n/* harmony export */ dropDownBaseClasses: () => (/* binding */ dropDownBaseClasses)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-lists */ \"./node_modules/@syncfusion/ej2-lists/src/common/list-base.js\");\n/* harmony import */ var _syncfusion_ej2_notifications__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-notifications */ \"./node_modules/@syncfusion/ej2-notifications/src/skeleton/skeleton.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nvar FieldSettings = /** @class */ (function (_super) {\n __extends(FieldSettings, _super);\n function FieldSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FieldSettings.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FieldSettings.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FieldSettings.prototype, \"iconCss\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FieldSettings.prototype, \"groupBy\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FieldSettings.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FieldSettings.prototype, \"disabled\", void 0);\n return FieldSettings;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\nvar dropDownBaseClasses = {\n root: 'e-dropdownbase',\n rtl: 'e-rtl',\n content: 'e-content',\n selected: 'e-active',\n hover: 'e-hover',\n noData: 'e-nodata',\n fixedHead: 'e-fixed-head',\n focus: 'e-item-focus',\n li: 'e-list-item',\n group: 'e-list-group-item',\n disabled: 'e-disabled',\n grouping: 'e-dd-group',\n virtualList: 'e-list-item e-virtual-list'\n};\nvar ITEMTEMPLATE_PROPERTY = 'ItemTemplate';\nvar DISPLAYTEMPLATE_PROPERTY = 'DisplayTemplate';\nvar SPINNERTEMPLATE_PROPERTY = 'SpinnerTemplate';\nvar VALUETEMPLATE_PROPERTY = 'ValueTemplate';\nvar GROUPTEMPLATE_PROPERTY = 'GroupTemplate';\nvar HEADERTEMPLATE_PROPERTY = 'HeaderTemplate';\nvar FOOTERTEMPLATE_PROPERTY = 'FooterTemplate';\nvar NORECORDSTEMPLATE_PROPERTY = 'NoRecordsTemplate';\nvar ACTIONFAILURETEMPLATE_PROPERTY = 'ActionFailureTemplate';\nvar HIDE_GROUPLIST = 'e-hide-group-header';\n/**\n * DropDownBase component will generate the list items based on given data and act as base class to drop-down related components\n */\nvar DropDownBase = /** @class */ (function (_super) {\n __extends(DropDownBase, _super);\n /**\n * * Constructor for DropDownBase class\n *\n * @param {DropDownBaseModel} options - Specifies the DropDownBase model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function DropDownBase(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.preventChange = false;\n _this.isPreventChange = false;\n _this.isDynamicDataChange = false;\n _this.addedNewItem = false;\n _this.isAddNewItemTemplate = false;\n _this.isRequesting = false;\n _this.isVirtualizationEnabled = false;\n _this.isCustomDataUpdated = false;\n _this.isAllowFiltering = false;\n _this.virtualizedItemsCount = 0;\n _this.isCheckBoxSelection = false;\n _this.totalItemCount = 0;\n _this.dataCount = 0;\n _this.remoteDataCount = -1;\n _this.isRemoteDataUpdated = false;\n _this.isIncrementalRequest = false;\n _this.itemCount = 30;\n _this.virtualListHeight = 0;\n _this.isVirtualScrolling = false;\n _this.isPreventScrollAction = false;\n _this.scrollPreStartIndex = 0;\n _this.isScrollActionTriggered = false;\n _this.previousStartIndex = 0;\n _this.isMouseScrollAction = false;\n _this.isKeyBoardAction = false;\n _this.isScrollChanged = false;\n _this.isUpwardScrolling = false;\n _this.startIndex = 0;\n _this.currentPageNumber = 0;\n _this.pageCount = 0;\n _this.isPreventKeyAction = false;\n _this.generatedDataObject = {};\n _this.skeletonCount = 32;\n _this.isVirtualTrackHeight = false;\n _this.virtualSelectAll = false;\n _this.incrementalQueryString = '';\n _this.incrementalEndIndex = 0;\n _this.incrementalStartIndex = 0;\n _this.incrementalPreQueryString = '';\n _this.isObjectCustomValue = false;\n _this.appendUncheckList = false;\n _this.getInitialData = false;\n _this.preventPopupOpen = true;\n _this.virtualSelectAllState = false;\n _this.CurrentEvent = null;\n _this.isDynamicData = false;\n _this.isPrimitiveData = false;\n _this.isCustomFiltering = false;\n _this.virtualListInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: 0\n };\n _this.viewPortInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: 0\n };\n _this.selectedValueInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: 0\n };\n return _this;\n }\n DropDownBase.prototype.getPropObject = function (prop, newProp, oldProp) {\n var newProperty = new Object();\n var oldProperty = new Object();\n var propName = function (prop) {\n return prop;\n };\n newProperty[propName(prop)] = newProp[propName(prop)];\n oldProperty[propName(prop)] = oldProp[propName(prop)];\n var data = new Object();\n data.newProperty = newProperty;\n data.oldProperty = oldProperty;\n return data;\n };\n DropDownBase.prototype.getValueByText = function (text, ignoreCase, ignoreAccent) {\n var value = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData)) {\n if (ignoreCase) {\n value = this.checkValueCase(text, true, ignoreAccent);\n }\n else {\n value = this.checkValueCase(text, false, ignoreAccent);\n }\n }\n return value;\n };\n DropDownBase.prototype.checkValueCase = function (text, ignoreCase, ignoreAccent, isTextByValue) {\n var _this = this;\n var value = null;\n if (isTextByValue) {\n value = text;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData)) {\n var dataSource = this.listData;\n var fields_1 = this.fields;\n var type = this.typeOfData(dataSource).typeof;\n if (type === 'string' || type === 'number' || type === 'boolean') {\n for (var _i = 0, dataSource_1 = dataSource; _i < dataSource_1.length; _i++) {\n var item = dataSource_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item)) {\n if (ignoreAccent) {\n value = this.checkingAccent(String(item), text, ignoreCase);\n }\n else {\n if (ignoreCase) {\n if (this.checkIgnoreCase(String(item), text)) {\n value = this.getItemValue(String(item), text, ignoreCase);\n }\n }\n else {\n if (this.checkNonIgnoreCase(String(item), text)) {\n value = this.getItemValue(String(item), text, ignoreCase, isTextByValue);\n }\n }\n }\n }\n }\n }\n else {\n if (ignoreCase) {\n dataSource.filter(function (item) {\n var itemValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.value, item);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemValue) && _this.checkIgnoreCase((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.text, item).toString(), text)) {\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.value, item);\n }\n });\n }\n else {\n if (isTextByValue) {\n var compareValue_1 = null;\n compareValue_1 = value;\n dataSource.filter(function (item) {\n var itemValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.value, item);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemValue) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) &&\n itemValue.toString() === compareValue_1.toString()) {\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.text, item);\n }\n });\n }\n else {\n dataSource.filter(function (item) {\n if (_this.checkNonIgnoreCase((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.text, item), text)) {\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields_1.value, item);\n }\n });\n }\n }\n }\n }\n return value;\n };\n DropDownBase.prototype.checkingAccent = function (item, text, ignoreCase) {\n var dataItem = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.ignoreDiacritics(String(item));\n var textItem = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.ignoreDiacritics(text.toString());\n var value = null;\n if (ignoreCase) {\n if (this.checkIgnoreCase(dataItem, textItem)) {\n value = this.getItemValue(String(item), text, ignoreCase);\n }\n }\n else {\n if (this.checkNonIgnoreCase(String(item), text)) {\n value = this.getItemValue(String(item), text, ignoreCase);\n }\n }\n return value;\n };\n DropDownBase.prototype.checkIgnoreCase = function (item, text) {\n return String(item).toLowerCase() === text.toString().toLowerCase() ? true : false;\n };\n DropDownBase.prototype.checkNonIgnoreCase = function (item, text) {\n return String(item) === text.toString() ? true : false;\n };\n DropDownBase.prototype.getItemValue = function (dataItem, typedText, ignoreCase, isTextByValue) {\n var value = null;\n var dataSource = this.listData;\n var type = this.typeOfData(dataSource).typeof;\n if (isTextByValue) {\n value = dataItem.toString();\n }\n else {\n if (ignoreCase) {\n value = type === 'string' ? String(dataItem) : this.getFormattedValue(String(dataItem));\n }\n else {\n value = type === 'string' ? typedText : this.getFormattedValue(typedText);\n }\n }\n return value;\n };\n DropDownBase.prototype.templateCompiler = function (baseTemplate) {\n var checkTemplate = false;\n if (typeof baseTemplate !== 'function' && baseTemplate) {\n try {\n checkTemplate = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(baseTemplate, document).length) ? true : false;\n }\n catch (exception) {\n checkTemplate = false;\n }\n }\n return checkTemplate;\n };\n DropDownBase.prototype.l10nUpdate = function (actionFailure) {\n var ele = this.getModuleName() === 'listbox' ? this.ulElement : this.list;\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.noRecordsTemplate) && this.noRecordsTemplate !== 'No records found') || this.actionFailureTemplate !== 'Request failed') {\n var template = actionFailure ? this.actionFailureTemplate : this.noRecordsTemplate;\n var compiledString = void 0;\n var templateId = actionFailure ? this.actionFailureTemplateId : this.noRecordsTemplateId;\n ele.innerHTML = '';\n var tempaltecheck = this.templateCompiler(template);\n if (typeof template !== 'function' && tempaltecheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(template, document).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n var templateName = actionFailure ? 'actionFailureTemplate' : 'noRecordsTemplate';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var noDataElement = void 0;\n if ((this.isReact) && typeof template === 'function') {\n noDataElement = compiledString({}, this, templateName, templateId, this.isStringTemplate, null);\n }\n else {\n noDataElement = compiledString({}, this, templateName, templateId, this.isStringTemplate, null, ele);\n }\n if (noDataElement && noDataElement.length > 0) {\n for (var i = 0; i < noDataElement.length; i++) {\n if (this.getModuleName() === 'listbox' && templateName === 'noRecordsTemplate') {\n if (noDataElement[i].nodeName === '#text') {\n var liElem = this.createElement('li');\n liElem.textContent = noDataElement[i].textContent;\n liElem.classList.add('e-list-nrt');\n liElem.setAttribute('role', 'option');\n ele.appendChild(liElem);\n }\n else {\n noDataElement[i].classList.add('e-list-nr-template');\n ele.appendChild(noDataElement[i]);\n }\n }\n else {\n if (noDataElement[i] instanceof HTMLElement || ((noDataElement[i] instanceof Text) && (noDataElement[i]).textContent !== '')) {\n ele.appendChild(noDataElement[i]);\n }\n }\n }\n }\n this.renderReactTemplates();\n }\n else {\n var l10nLocale = { noRecordsTemplate: 'No records found', actionFailureTemplate: 'Request failed' };\n var componentLocale = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getLocaleName(), {}, this.locale);\n if (componentLocale.getConstant('actionFailureTemplate') !== '' || componentLocale.getConstant('noRecordsTemplate') !== '') {\n this.l10n = componentLocale;\n }\n else {\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getModuleName() === 'listbox' ? 'listbox' :\n this.getModuleName() === 'mention' ? 'mention' : 'dropdowns', l10nLocale, this.locale);\n }\n var content = actionFailure ?\n this.l10n.getConstant('actionFailureTemplate') : this.l10n.getConstant('noRecordsTemplate');\n if (this.getModuleName() === 'listbox') {\n var liElem = this.createElement('li');\n liElem.textContent = content;\n ele.appendChild(liElem);\n liElem.classList.add('e-list-nrt');\n liElem.setAttribute('role', 'option');\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele)) {\n ele.innerHTML = content;\n }\n }\n }\n };\n DropDownBase.prototype.checkAndResetCache = function () {\n if (this.isVirtualizationEnabled) {\n this.generatedDataObject = {};\n this.virtualItemStartIndex = this.virtualItemEndIndex = 0;\n this.viewPortInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: this.itemCount\n };\n this.selectedValueInfo = null;\n }\n };\n DropDownBase.prototype.updateIncrementalInfo = function (startIndex, endIndex) {\n this.viewPortInfo.startIndex = startIndex;\n this.viewPortInfo.endIndex = endIndex;\n this.updateVirtualItemIndex();\n this.isIncrementalRequest = true;\n this.resetList(this.dataSource, this.fields, this.query);\n this.isIncrementalRequest = false;\n };\n DropDownBase.prototype.updateIncrementalView = function (startIndex, endIndex) {\n this.viewPortInfo.startIndex = startIndex;\n this.viewPortInfo.endIndex = endIndex;\n this.updateVirtualItemIndex();\n this.resetList(this.dataSource, this.fields, this.query);\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n };\n DropDownBase.prototype.updateVirtualItemIndex = function () {\n this.virtualItemStartIndex = this.viewPortInfo.startIndex;\n this.virtualItemEndIndex = this.viewPortInfo.endIndex;\n this.virtualListInfo = this.viewPortInfo;\n };\n DropDownBase.prototype.getFilteringSkeletonCount = function () {\n var currentSkeletonCount = this.skeletonCount;\n this.getSkeletonCount(true);\n this.skeletonCount = this.dataCount < this.itemCount * 2 && ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) ||\n ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;\n var skeletonUpdated = true;\n if ((this.getModuleName() === 'autocomplete' || this.getModuleName() === 'multiselect') && (this.totalItemCount < (this.itemCount * 2)) && ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) || ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && (this.totalItemCount <= this.itemCount)))) {\n this.skeletonCount = 0;\n skeletonUpdated = false;\n }\n if (!this.list.classList.contains(dropDownBaseClasses.noData)) {\n if (currentSkeletonCount !== this.skeletonCount && skeletonUpdated) {\n this.UpdateSkeleton(true, Math.abs(currentSkeletonCount - this.skeletonCount));\n }\n else {\n this.UpdateSkeleton();\n }\n this.liCollections = this.list.querySelectorAll('.e-list-item');\n if ((this.list.getElementsByClassName('e-virtual-ddl').length > 0)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n else if (!this.list.querySelector('.e-virtual-ddl') && this.skeletonCount > 0 && this.list.querySelector('.e-dropdownbase')) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()\n });\n this.list.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n if (this.list.getElementsByClassName('e-virtual-ddl-content').length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n }\n };\n DropDownBase.prototype.getSkeletonCount = function (retainSkeleton) {\n this.virtualListHeight = this.listContainerHeight != null ? parseInt(this.listContainerHeight, 10) : this.virtualListHeight;\n var actualCount = this.virtualListHeight > 0 && this.listItemHeight > 0 ?\n Math.floor(this.virtualListHeight / this.listItemHeight) : 0;\n this.skeletonCount = actualCount * 4 < this.itemCount ? this.itemCount : actualCount * 4;\n this.itemCount = retainSkeleton ? this.itemCount : this.skeletonCount;\n this.virtualItemCount = this.itemCount;\n this.skeletonCount = Math.floor(this.skeletonCount / 2);\n };\n DropDownBase.prototype.GetVirtualTrackHeight = function () {\n var height = this.totalItemCount === this.viewPortInfo.endIndex ?\n this.totalItemCount * this.listItemHeight - this.itemCount * this.listItemHeight : this.totalItemCount * this.listItemHeight;\n height = this.isVirtualTrackHeight ? 0 : height;\n var heightDimension = \"height: \" + (height - this.itemCount * this.listItemHeight) + \"px;\";\n if ((this.getModuleName() === 'autocomplete' || this.getModuleName() === 'multiselect') && this.skeletonCount === 0) {\n return 'height: 0px;';\n }\n return heightDimension;\n };\n DropDownBase.prototype.getTransformValues = function () {\n var translateY = this.viewPortInfo.startIndex * this.listItemHeight;\n translateY = translateY - (this.skeletonCount * this.listItemHeight);\n translateY = ((this.viewPortInfo.startIndex === 0 && this.listData && this.listData.length === 0) ||\n this.skeletonCount === 0) ? 0 : translateY;\n var styleText = \"transform: translate(0px, \" + translateY + \"px);\";\n return styleText;\n };\n DropDownBase.prototype.UpdateSkeleton = function (isSkeletonCountChange, skeletonCount) {\n var isContainSkeleton = this.list.querySelector('.e-virtual-ddl-content');\n var isContainVirtualList = this.list.querySelector('.e-virtual-list');\n if (isContainSkeleton && (!isContainVirtualList || isSkeletonCountChange) && this.isVirtualizationEnabled) {\n var totalSkeletonCount = isSkeletonCountChange ? skeletonCount : this.skeletonCount;\n for (var i = 0; i < totalSkeletonCount; i++) {\n var liElement = this.createElement('li', { className: dropDownBaseClasses.virtualList, styles: 'overflow: inherit' });\n if (this.isVirtualizationEnabled && this.itemTemplate) {\n liElement.style.height = (this.listItemHeight - parseInt(window.getComputedStyle(this.getItems()[1]).marginBottom, 10)) + 'px';\n }\n var skeleton = new _syncfusion_ej2_notifications__WEBPACK_IMPORTED_MODULE_3__.Skeleton({\n shape: 'Text',\n height: '10px',\n width: '95%',\n cssClass: 'e-skeleton-text'\n });\n skeleton.appendTo(this.createElement('div'));\n liElement.appendChild(skeleton.element);\n if (isContainSkeleton.firstChild) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isContainSkeleton.firstChild.insertBefore(liElement, isContainSkeleton.firstChild.children[0]);\n }\n }\n }\n };\n DropDownBase.prototype.getLocaleName = function () {\n return 'drop-down-base';\n };\n DropDownBase.prototype.getTextByValue = function (value) {\n var text = this.checkValueCase(value, false, false, true);\n return text;\n };\n DropDownBase.prototype.getFormattedValue = function (value) {\n if (this.listData && this.listData.length) {\n var item = void 0;\n if (this.properties.allowCustomValue &&\n this.properties.value &&\n this.properties.value instanceof Array &&\n this.properties.value.length > 0) {\n item = this.typeOfData(this.properties.value);\n }\n else {\n item = this.typeOfData(this.listData);\n }\n if (typeof (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value : 'value'), item.item) === 'number' ||\n item.typeof === 'number') {\n return parseFloat(value);\n }\n if (typeof (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value : 'value'), item.item) === 'boolean' ||\n item.typeof === 'boolean') {\n return ((value === 'true') || ('' + value === 'true'));\n }\n }\n return value;\n };\n /**\n * Sets RTL to dropdownbase wrapper\n *\n * @returns {void}\n */\n DropDownBase.prototype.setEnableRtl = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.enableRtlElements)) {\n if (this.list) {\n this.enableRtlElements.push(this.list);\n }\n if (this.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(this.enableRtlElements, dropDownBaseClasses.rtl);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(this.enableRtlElements, dropDownBaseClasses.rtl);\n }\n }\n };\n /**\n * Initialize the Component.\n *\n * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - The event object.\n * @returns {void}\n */\n DropDownBase.prototype.initialize = function (e) {\n this.bindEvent = true;\n this.preventPopupOpen = true;\n this.actionFailureTemplateId = \"\" + this.element.id + ACTIONFAILURETEMPLATE_PROPERTY;\n if (this.element.tagName === 'UL') {\n var jsonElement = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.createJsonFromElement(this.element);\n this.setProperties({ fields: { text: 'text', value: 'text' } }, true);\n this.resetList(jsonElement, this.fields);\n }\n else if (this.element.tagName === 'SELECT') {\n var dataSource = this.dataSource instanceof Array ? (this.dataSource.length > 0 ? true : false)\n : !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dataSource) ? true : false;\n if (!dataSource) {\n this.renderItemsBySelect();\n }\n else if (this.isDynamicDataChange) {\n this.setListData(this.dataSource, this.fields, this.query);\n }\n }\n else {\n this.setListData(this.dataSource, this.fields, this.query, e);\n }\n };\n /**\n * Get the properties to be maintained in persisted state.\n *\n * @returns {string} Returns the persisted data of the component.\n */\n DropDownBase.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * Sets the enabled state to DropDownBase.\n *\n * @param {string} value - Specifies the attribute values to add on the input element.\n * @returns {void}\n */\n DropDownBase.prototype.updateDataAttribute = function (value) {\n var invalidAttr = ['class', 'style', 'id', 'type', 'aria-expanded', 'aria-autocomplete', 'aria-readonly'];\n var attr = {};\n for (var a = 0; a < this.element.attributes.length; a++) {\n if (invalidAttr.indexOf(this.element.attributes[a].name) === -1 &&\n !(this.getModuleName() === 'dropdownlist' && this.element.attributes[a].name === 'readonly')) {\n attr[this.element.attributes[a].name] = this.element.getAttribute(this.element.attributes[a].name);\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(attr, value, attr);\n this.setProperties({ htmlAttributes: attr }, true);\n };\n DropDownBase.prototype.renderItemsBySelect = function () {\n var element = this.element;\n var group = element.querySelectorAll('select>optgroup');\n var fields;\n var isSelectGroupCheck = this.getModuleName() === 'multiselect' && this.isGroupChecking && group.length > 0;\n fields = isSelectGroupCheck ? { value: 'value', text: 'text', groupBy: 'categeory' } : fields = { value: 'value', text: 'text' };\n var jsonElement = [];\n var option = element.querySelectorAll('select>option');\n this.getJSONfromOption(jsonElement, option, fields);\n if (group.length) {\n for (var i = 0; i < group.length; i++) {\n var item = group[i];\n var optionGroup = {};\n optionGroup[fields.text] = item.label;\n optionGroup.isHeader = true;\n var child = item.querySelectorAll('option');\n if (isSelectGroupCheck) {\n this.getJSONfromOption(jsonElement, child, fields, item.label);\n }\n else {\n jsonElement.push(optionGroup);\n this.getJSONfromOption(jsonElement, child, fields);\n }\n }\n element.querySelectorAll('select>option');\n }\n this.updateFields(fields.text, fields.value, isSelectGroupCheck ? fields.groupBy : this.fields.groupBy, this.fields.htmlAttributes, this.fields.iconCss, this.fields.disabled);\n this.resetList(jsonElement, fields);\n };\n DropDownBase.prototype.updateFields = function (text, value, groupBy, htmlAttributes, iconCss, disabled) {\n var field = {\n 'fields': {\n text: text,\n value: value,\n groupBy: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(groupBy) ? groupBy : this.fields && this.fields.groupBy,\n htmlAttributes: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(htmlAttributes) ? htmlAttributes : this.fields && this.fields.htmlAttributes,\n iconCss: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(iconCss) ? iconCss : this.fields && this.fields.iconCss,\n disabled: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(disabled) ? disabled : this.fields && this.fields.disabled\n }\n };\n this.setProperties(field, true);\n };\n DropDownBase.prototype.getJSONfromOption = function (items, options, fields, category) {\n if (category === void 0) { category = null; }\n for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {\n var option = options_1[_i];\n var json = {};\n json[fields.text] = option.innerText;\n json[fields.value] = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.getAttribute(fields.value)) ?\n option.getAttribute(fields.value) : option.innerText;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(category)) {\n json[fields.groupBy] = category;\n }\n items.push(json);\n }\n };\n /**\n * Execute before render the list items\n *\n * @private\n * @returns {void}\n */\n DropDownBase.prototype.preRender = function () {\n // there is no event handler\n this.scrollTimer = -1;\n this.enableRtlElements = [];\n this.isRequested = false;\n this.isDataFetched = false;\n this.itemTemplateId = \"\" + this.element.id + ITEMTEMPLATE_PROPERTY;\n this.displayTemplateId = \"\" + this.element.id + DISPLAYTEMPLATE_PROPERTY;\n this.spinnerTemplateId = \"\" + this.element.id + SPINNERTEMPLATE_PROPERTY;\n this.valueTemplateId = \"\" + this.element.id + VALUETEMPLATE_PROPERTY;\n this.groupTemplateId = \"\" + this.element.id + GROUPTEMPLATE_PROPERTY;\n this.headerTemplateId = \"\" + this.element.id + HEADERTEMPLATE_PROPERTY;\n this.footerTemplateId = \"\" + this.element.id + FOOTERTEMPLATE_PROPERTY;\n this.noRecordsTemplateId = \"\" + this.element.id + NORECORDSTEMPLATE_PROPERTY;\n };\n /**\n * Creates the list items of DropDownBase component.\n *\n * @param {Object[] | string[] | number[] | DataManager | boolean[]} dataSource - Specifies the data to generate the list.\n * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.\n * @param {Query} query - Accepts the external Query that execute along with data processing.\n * @param {MouseEvent | KeyboardEventArgs | TouchEvent} event - Specifies the event which is the reason for the invocation of this method.\n * @returns {void}\n */\n DropDownBase.prototype.setListData = function (dataSource, fields, query, event) {\n var _this = this;\n fields = fields ? fields : this.fields;\n var ulElement;\n this.isActive = true;\n var eventArgs = { cancel: false, data: dataSource, query: query };\n this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;\n if (!this.isRequesting) {\n this.trigger('actionBegin', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n _this.isRequesting = true;\n _this.showSpinner();\n if (dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n _this.isRequested = true;\n var isWhereExist_1 = false;\n if (_this.isDataFetched) {\n _this.emptyDataRequest(fields);\n return;\n }\n eventArgs.data.executeQuery(_this.getQuery(eventArgs.query)).then(function (e) {\n _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;\n var isReOrder = true;\n if (!_this.virtualSelectAll) {\n var newQuery = _this.getQuery(eventArgs.query);\n for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {\n if (newQuery.queries[queryElements].fn === 'onWhere') {\n isWhereExist_1 = true;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (_this.isVirtualizationEnabled && (e.count !== 0 && e.count < (_this.itemCount * 2))) {\n if (newQuery) {\n for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {\n if (newQuery.queries[queryElements].fn === 'onTake') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newQuery.queries[queryElements].e.nos = e.count;\n }\n if (_this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !_this.isCustomFiltering) {\n isReOrder = false;\n }\n }\n }\n }\n else {\n _this.isVirtualTrackHeight = false;\n if (newQuery) {\n for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {\n if (_this.getModuleName() === 'multiselect' && ((newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.condition === 'or') || (newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.operator === 'equal'))) {\n isReOrder = false;\n }\n }\n }\n }\n }\n if (isReOrder) {\n // eslint-disable @typescript-eslint/no-explicit-any\n _this.dataCount = _this.totalItemCount = e.count;\n }\n _this.trigger('actionComplete', e, function (e) {\n if (!e.cancel) {\n _this.isRequesting = false;\n _this.isCustomFiltering = false;\n var listItems = e.result;\n if (_this.isIncrementalRequest) {\n ulElement = _this.renderItems(listItems, fields);\n return;\n }\n if ((!_this.isVirtualizationEnabled && listItems.length === 0) ||\n (_this.isVirtualizationEnabled && listItems.length === 0 && !isWhereExist_1)) {\n _this.isDataFetched = true;\n }\n if (!isWhereExist_1) {\n _this.remoteDataCount = e.count;\n }\n _this.dataCount = !_this.virtualSelectAll ? e.count : _this.dataCount;\n _this.totalItemCount = !_this.virtualSelectAll ? e.count : _this.totalItemCount;\n ulElement = _this.renderItems(listItems, fields);\n _this.appendUncheckList = false;\n _this.onActionComplete(ulElement, listItems, e);\n if (_this.groupTemplate) {\n _this.renderGroupTemplate(ulElement);\n }\n _this.isRequested = false;\n _this.bindChildItems(listItems, ulElement, fields, e);\n if (_this.getInitialData) {\n _this.getInitialData = false;\n _this.preventPopupOpen = false;\n return;\n }\n if (_this.isVirtualizationEnabled && _this.setCurrentView) {\n _this.notify('setCurrentViewDataAsync', {\n module: 'VirtualScroll'\n });\n }\n if (_this.keyboardEvent != null) {\n _this.handleVirtualKeyboardActions(_this.keyboardEvent, _this.pageCount);\n }\n if (_this.isVirtualizationEnabled) {\n _this.getFilteringSkeletonCount();\n _this.updatePopupPosition();\n }\n if (_this.virtualSelectAll && _this.virtualSelectAllData) {\n _this.virtualSelectionAll(_this.virtualSelectAllState, _this.liCollections, _this.CurrentEvent);\n _this.virtualSelectAllState = false;\n _this.CurrentEvent = null;\n _this.virtualSelectAll = false;\n }\n }\n });\n }).catch(function (e) {\n _this.isRequested = false;\n _this.isRequesting = false;\n _this.onActionFailure(e);\n _this.hideSpinner();\n });\n }\n else {\n _this.isRequesting = false;\n var isReOrder = true;\n var listItems = void 0;\n if (_this.isVirtualizationEnabled && !_this.virtualGroupDataSource && _this.fields.groupBy) {\n var data = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(_this.dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query().group(_this.fields.groupBy));\n _this.virtualGroupDataSource = data.records;\n }\n var dataManager = _this.isVirtualizationEnabled &&\n _this.virtualGroupDataSource\n && !_this.isCustomDataUpdated ? new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(_this.virtualGroupDataSource) :\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(eventArgs.data);\n listItems = (_this.getQuery(eventArgs.query)).executeLocal(dataManager);\n if (!_this.virtualSelectAll) {\n var newQuery = _this.getQuery(eventArgs.query);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (_this.isVirtualizationEnabled && (listItems.count !== 0 &&\n listItems.count < (_this.itemCount * 2))) {\n if (newQuery) {\n for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {\n if (newQuery.queries[queryElements].fn === 'onTake') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newQuery.queries[queryElements].e.nos = listItems.count;\n listItems = (newQuery).executeLocal(dataManager);\n }\n if (_this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !_this.isCustomFiltering) {\n isReOrder = false;\n }\n }\n if (isReOrder) {\n listItems = (newQuery).executeLocal(dataManager);\n _this.isVirtualTrackHeight = (!(_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) &&\n !_this.isCustomDataUpdated) ? true : false;\n }\n }\n }\n else {\n _this.isVirtualTrackHeight = false;\n if (newQuery) {\n for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {\n if (_this.getModuleName() === 'multiselect' && ((newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.condition === 'or') || (newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.operator === 'equal'))) {\n isReOrder = false;\n }\n }\n }\n }\n }\n if (isReOrder && (!(_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && !_this.isCustomDataUpdated) &&\n !_this.virtualSelectAll) {\n // eslint-disable @typescript-eslint/no-explicit-any\n _this.dataCount = _this.totalItemCount = _this.virtualSelectAll ? listItems.length :\n listItems.count;\n }\n listItems = _this.isVirtualizationEnabled ? listItems.result : listItems;\n // eslint-enable @typescript-eslint/no-explicit-any\n var localDataArgs = { cancel: false, result: listItems };\n _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;\n _this.trigger('actionComplete', localDataArgs, function (localDataArgs) {\n _this.isCustomFiltering = false;\n if (_this.isIncrementalRequest) {\n ulElement = _this.renderItems(localDataArgs.result, fields);\n return;\n }\n if (!localDataArgs.cancel) {\n ulElement = _this.renderItems(localDataArgs.result, fields);\n _this.onActionComplete(ulElement, localDataArgs.result, event);\n if (_this.groupTemplate) {\n _this.renderGroupTemplate(ulElement);\n }\n _this.bindChildItems(localDataArgs.result, ulElement, fields);\n if (_this.getInitialData) {\n _this.getInitialData = false;\n _this.preventPopupOpen = false;\n return;\n }\n setTimeout(function () {\n if (_this.getModuleName() === 'multiselect' && _this.itemTemplate != null && (ulElement.childElementCount > 0 && (ulElement.children[0].childElementCount > 0 || (_this.fields.groupBy && ulElement.children[1] && ulElement.children[1].childElementCount > 0)))) {\n _this.updateDataList();\n }\n });\n }\n });\n }\n }\n });\n }\n };\n DropDownBase.prototype.handleVirtualKeyboardActions = function (e, pageCount) {\n // Used this method in component side.\n };\n DropDownBase.prototype.updatePopupState = function () {\n // Used this method in component side.\n };\n DropDownBase.prototype.updatePopupPosition = function () {\n // Used this method in component side.\n };\n DropDownBase.prototype.virtualSelectionAll = function (state, li, event) {\n // Used this method in component side.\n };\n DropDownBase.prototype.updateRemoteData = function () {\n this.setListData(this.dataSource, this.fields, this.query);\n };\n DropDownBase.prototype.bindChildItems = function (listItems, ulElement, fields, e) {\n var _this = this;\n if (listItems.length >= 100 && this.getModuleName() === 'autocomplete') {\n setTimeout(function () {\n var childNode = _this.remainingItems(_this.sortedData, fields);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(childNode, ulElement);\n _this.liCollections = _this.list.querySelectorAll('.' + dropDownBaseClasses.li);\n _this.updateListValues();\n _this.raiseDataBound(listItems, e);\n }, 0);\n }\n else {\n this.raiseDataBound(listItems, e);\n }\n };\n DropDownBase.prototype.isObjectInArray = function (objectToFind, array) {\n return array.some(function (item) {\n return Object.keys(objectToFind).every(function (key) {\n return Object.prototype.hasOwnProperty.call(item, key) && item[key] === objectToFind[key];\n });\n });\n };\n DropDownBase.prototype.updateListValues = function () {\n // Used this method in component side.\n };\n DropDownBase.prototype.findListElement = function (list, findNode, attribute, value) {\n var liElement = null;\n if (list) {\n var listArr = [].slice.call(list.querySelectorAll(findNode));\n for (var index = 0; index < listArr.length; index++) {\n if (listArr[index].getAttribute(attribute) === (value + '')) {\n liElement = listArr[index];\n break;\n }\n }\n }\n return liElement;\n };\n DropDownBase.prototype.raiseDataBound = function (listItems, e) {\n this.hideSpinner();\n var dataBoundEventArgs = {\n items: listItems,\n e: e\n };\n this.trigger('dataBound', dataBoundEventArgs);\n };\n DropDownBase.prototype.remainingItems = function (dataSource, fields) {\n var spliceData = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query().skip(100));\n if (this.itemTemplate) {\n var listElements = this.templateListItem(spliceData, fields);\n return [].slice.call(listElements.childNodes);\n }\n var type = this.typeOfData(spliceData).typeof;\n if (type === 'string' || type === 'number' || type === 'boolean') {\n return _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.createListItemFromArray(this.createElement, spliceData, true, this.listOption(spliceData, fields), this);\n }\n return _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.createListItemFromJson(this.createElement, spliceData, this.listOption(spliceData, fields), 1, true, this);\n };\n DropDownBase.prototype.emptyDataRequest = function (fields) {\n var listItems = [];\n this.onActionComplete(this.renderItems(listItems, fields), listItems);\n this.isRequested = false;\n this.isRequesting = false;\n this.hideSpinner();\n };\n DropDownBase.prototype.showSpinner = function () {\n // Used this method in component side.\n };\n DropDownBase.prototype.hideSpinner = function () {\n // Used this method in component side.\n };\n DropDownBase.prototype.onActionFailure = function (e) {\n this.liCollections = [];\n this.trigger('actionFailure', e);\n this.l10nUpdate(true);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.list], dropDownBaseClasses.noData);\n }\n };\n /* eslint-disable @typescript-eslint/no-unused-vars */\n DropDownBase.prototype.onActionComplete = function (ulElement, list, e) {\n /* eslint-enable @typescript-eslint/no-unused-vars */\n this.listData = list;\n if (this.isVirtualizationEnabled && !this.isCustomDataUpdated && !this.virtualSelectAll) {\n this.notify('setGeneratedData', {\n module: 'VirtualScroll'\n });\n }\n if (this.getModuleName() !== 'listbox') {\n ulElement.setAttribute('tabindex', '0');\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact) {\n this.clearTemplate(['itemTemplate', 'groupTemplate', 'actionFailureTemplate', 'noRecordsTemplate']);\n }\n if (!this.isVirtualizationEnabled) {\n this.fixedHeaderElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) ? this.fixedHeaderElement : null;\n }\n if (this.getModuleName() === 'multiselect' && this.properties.allowCustomValue && this.fields.groupBy) {\n for (var i = 0; i < ulElement.childElementCount; i++) {\n if (ulElement.children[i].classList.contains('e-list-group-item')) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML === '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ulElement.children[i]], HIDE_GROUPLIST);\n }\n }\n if (ulElement.children[0].classList.contains('e-hide-group-header')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(ulElement.children[1], { zIndex: 11 });\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n if (!this.isVirtualizationEnabled) {\n this.list.innerHTML = '';\n this.list.appendChild(ulElement);\n this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n this.postRender(this.list, list, this.bindEvent);\n }\n }\n };\n /* eslint-disable @typescript-eslint/no-unused-vars */\n DropDownBase.prototype.postRender = function (listElement, list, bindEvent) {\n if (this.fields.disabled) {\n var liCollections = listElement.querySelectorAll('.' + dropDownBaseClasses.li);\n for (var index = 0; index < liCollections.length; index++) {\n if (JSON.parse(JSON.stringify(this.listData[index]))[this.fields.disabled]) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n var item = this.listData[index];\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value : 'value'), item);\n var li = listElement.querySelector('li[data-value=\"' + value + '\"]');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n this.disableListItem(li);\n }\n }\n else {\n this.disableListItem(liCollections[index]);\n }\n }\n }\n }\n /* eslint-enable @typescript-eslint/no-unused-vars */\n var focusItem = this.fields.disabled ? listElement.querySelector('.' + dropDownBaseClasses.li + ':not(.e-disabled') : listElement.querySelector('.' + dropDownBaseClasses.li);\n var selectedItem = listElement.querySelector('.' + dropDownBaseClasses.selected);\n if (focusItem && !selectedItem) {\n if (this.isVirtualizationEnabled && this.viewPortInfo.startIndex !== 0) {\n var elements = this.ulElement.querySelectorAll('li.' + dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)');\n focusItem = elements && elements.length > 0 ? elements[2] : focusItem;\n }\n if (focusItem) {\n focusItem.classList.add(dropDownBaseClasses.focus);\n }\n }\n if (list.length <= 0) {\n this.l10nUpdate();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([listElement], dropDownBaseClasses.noData);\n }\n else {\n listElement.classList.remove(dropDownBaseClasses.noData);\n }\n };\n /**\n * Get the query to do the data operation before list item generation.\n *\n * @param {Query} query - Accepts the external Query that execute along with data processing.\n * @returns {Query} Returns the query to do the data query operation.\n */\n DropDownBase.prototype.getQuery = function (query) {\n return query ? query : this.query ? this.query : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query();\n };\n DropDownBase.prototype.updateVirtualizationProperties = function (itemCount, filtering, isCheckbox) {\n this.isVirtualizationEnabled = true;\n this.virtualizedItemsCount = itemCount;\n this.isAllowFiltering = filtering;\n this.isCheckBoxSelection = isCheckbox;\n };\n /**\n * To render the template content for group header element.\n *\n * @param {HTMLElement} listEle - Specifies the group list elements.\n * @returns {void}\n */\n DropDownBase.prototype.renderGroupTemplate = function (listEle) {\n if (this.fields.groupBy !== null && this.dataSource || this.element.querySelector('.' + dropDownBaseClasses.group)) {\n var dataSource = this.dataSource;\n var option = { groupTemplateID: this.groupTemplateId, isStringTemplate: this.isStringTemplate };\n var headerItems = listEle.querySelectorAll('.' + dropDownBaseClasses.group);\n var groupcheck = this.templateCompiler(this.groupTemplate);\n if (typeof this.groupTemplate !== 'function' && groupcheck) {\n var groupValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.groupTemplate, document).innerHTML.trim();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var tempHeaders = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.renderGroupTemplate(groupValue, dataSource, this.fields.properties, headerItems, option, this);\n //EJ2-55168- Group checkbox is not working with group template\n if (this.isGroupChecking) {\n for (var i = 0; i < tempHeaders.length; i++) {\n this.notify('addItem', { module: 'CheckBoxSelection', item: tempHeaders[i] });\n }\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var tempHeaders = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.renderGroupTemplate(this.groupTemplate, dataSource, this.fields.properties, headerItems, option, this);\n //EJ2-55168- Group checkbox is not working with group template\n if (this.isGroupChecking) {\n for (var i = 0; i < tempHeaders.length; i++) {\n this.notify('addItem', { module: 'CheckBoxSelection', item: tempHeaders[i] });\n }\n }\n }\n this.renderReactTemplates();\n }\n };\n /**\n * To create the ul li list items\n *\n * @param {object []} dataSource - Specifies the data to generate the list.\n * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.\n * @returns {HTMLElement} Return the ul li list items.\n */\n DropDownBase.prototype.createListItems = function (dataSource, fields) {\n if (dataSource) {\n if (fields.groupBy || this.element.querySelector('optgroup')) {\n if (fields.groupBy) {\n if (this.sortOrder !== 'None') {\n dataSource = this.getSortedDataSource(dataSource);\n }\n if (this.element.querySelector('optgroup') && this.isGroupChecking && this.getModuleName() === 'multiselect') {\n dataSource = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.groupDataSource(dataSource, fields, this.sortOrder);\n }\n else {\n dataSource = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.groupDataSource(dataSource, fields.properties, this.sortOrder);\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.list], dropDownBaseClasses.grouping);\n }\n else if (this.getModuleName() !== 'listbox' || (this.getModuleName() === 'listbox' && !this.preventDefActionFilter)) {\n dataSource = this.getSortedDataSource(dataSource);\n }\n var options = this.listOption(dataSource, fields);\n var spliceData = (dataSource.length > 100) ?\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query().take(100))\n : dataSource;\n this.sortedData = dataSource;\n return _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.createList(this.createElement, (this.getModuleName() === 'autocomplete') ? spliceData : dataSource, options, true, this);\n }\n return null;\n };\n DropDownBase.prototype.listOption = function (dataSource, fields) {\n var iconCss = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields.iconCss) ? false : true;\n var fieldValues = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields.properties) ?\n fields.properties : fields;\n var options = (fields.text !== null || fields.value !== null) ? {\n fields: fieldValues,\n showIcon: iconCss, ariaAttributes: { groupItemRole: 'presentation' }\n } : { fields: { value: 'text' } };\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options, fields, true);\n };\n DropDownBase.prototype.setFloatingHeader = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) && !this.list.classList.contains(dropDownBaseClasses.noData)) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement)) {\n this.fixedHeaderElement = this.createElement('div', { className: dropDownBaseClasses.fixedHead });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) && !this.list.querySelector('li').classList.contains(dropDownBaseClasses.group)) {\n this.fixedHeaderElement.style.display = 'none';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.fixedHeaderElement], this.list);\n }\n this.setFixedHeader();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) && this.fixedHeaderElement.style.zIndex === '0') {\n this.setFixedHeader();\n }\n this.scrollStop(e);\n }\n };\n DropDownBase.prototype.scrollStop = function (e, isDownkey) {\n var target = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) ? e.target : this.list;\n var computedHeight = getComputedStyle(this.getValidLi(), null).getPropertyValue('height');\n var computedMarginValue = getComputedStyle(this.getValidLi(), null).getPropertyValue('margin-bottom');\n var marginValue = parseInt(computedMarginValue, 10);\n var liHeight = this.getModuleName() === 'multiselect' ? parseFloat(computedHeight) : parseInt(computedHeight, 10);\n var topIndex = Math.round(target.scrollTop / (liHeight + marginValue));\n var liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');\n var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;\n var count = 0;\n var isCount = false;\n for (var i = topIndex; i > -1; i--) {\n var index = this.isVirtualizationEnabled ? i + virtualListCount : i;\n if (this.isVirtualizationEnabled) {\n if (isCount) {\n count++;\n }\n if (this.fixedHeaderElement && this.updateGroupHeader(index, liCollections, target)) {\n break;\n }\n if (isDownkey) {\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.selected) && this.getModuleName() !== 'autocomplete') || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.focus) && this.getModuleName() === 'autocomplete')) {\n count++;\n isCount = true;\n }\n }\n }\n else {\n if (this.updateGroupHeader(index, liCollections, target)) {\n break;\n }\n }\n }\n };\n DropDownBase.prototype.getPageCount = function (returnExactCount) {\n if (this.list) {\n var liHeight = this.list.classList.contains(dropDownBaseClasses.noData) ? null :\n getComputedStyle(this.getItems()[0], null).getPropertyValue('height');\n var pageCount = Math.round(this.list.getBoundingClientRect().height / parseInt(liHeight, 10));\n return returnExactCount ? pageCount : Math.round(pageCount);\n }\n else {\n return 0;\n }\n };\n DropDownBase.prototype.updateGroupHeader = function (index, liCollections, target) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(liCollections[index]) &&\n liCollections[index].classList.contains(dropDownBaseClasses.group)) {\n this.updateGroupFixedHeader(liCollections[index], target);\n return true;\n }\n else {\n this.fixedHeaderElement.style.display = 'none';\n this.fixedHeaderElement.style.top = 'none';\n return false;\n }\n };\n DropDownBase.prototype.updateGroupFixedHeader = function (element, target) {\n if (this.fixedHeaderElement) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.innerHTML)) {\n this.fixedHeaderElement.innerHTML = element.innerHTML;\n }\n this.fixedHeaderElement.style.position = 'fixed';\n this.fixedHeaderElement.style.top = (this.list.parentElement.offsetTop + this.list.offsetTop) - window.scrollY + 'px';\n this.fixedHeaderElement.style.display = 'block';\n }\n };\n DropDownBase.prototype.getValidLi = function () {\n if (this.isVirtualizationEnabled) {\n return this.liCollections[0].classList.contains('e-virtual-list') ? this.liCollections[this.skeletonCount] : this.liCollections[0];\n }\n return this.liCollections[0];\n };\n /**\n * To render the list items\n *\n * @param {object[]} listData - Specifies the list of array of data.\n * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.\n * @param {boolean} isCheckBoxUpdate - Specifies whether the list item is updated with checkbox.\n * @returns {HTMLElement} Return the list items.\n */\n DropDownBase.prototype.renderItems = function (listData, fields, isCheckBoxUpdate) {\n var ulElement;\n if (this.itemTemplate && listData) {\n if (this.getModuleName() === 'multiselect' && this.virtualSelectAll) {\n this.virtualSelectAllData = listData;\n listData = listData.slice(this.virtualItemStartIndex, this.virtualItemEndIndex);\n }\n var dataSource = listData;\n if (dataSource && fields.groupBy) {\n if (this.sortOrder !== 'None') {\n dataSource = this.getSortedDataSource(dataSource);\n }\n dataSource = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.groupDataSource(dataSource, fields.properties, this.sortOrder);\n }\n else if (this.getModuleName() !== 'listbox' || (this.getModuleName() === 'listbox' && !this.preventDefActionFilter)) {\n dataSource = this.getSortedDataSource(dataSource);\n }\n this.sortedData = dataSource;\n var spliceData = (dataSource.length > 100) ?\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query().take(100))\n : dataSource;\n ulElement = this.templateListItem((this.getModuleName() === 'autocomplete') ? spliceData : dataSource, fields);\n if (this.isIncrementalRequest) {\n this.incrementalLiCollections = ulElement.querySelectorAll('.' + dropDownBaseClasses.li);\n this.incrementalUlElement = ulElement;\n this.incrementalListData = listData;\n return ulElement;\n }\n if (this.isVirtualizationEnabled) {\n var oldUlElement = this.list.querySelector('.e-list-parent');\n var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');\n if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {\n if (this.getModuleName() === 'multiselect' && this.isCheckBoxSelection && this.appendUncheckList && this.list && this.list.querySelector('.e-active')) {\n virtualUlElement.appendChild(ulElement);\n isCheckBoxUpdate = true;\n }\n else {\n virtualUlElement.replaceChild(ulElement, oldUlElement);\n }\n var reOrderList = this.list.querySelectorAll('.e-reorder');\n if (this.list.querySelector('.e-virtual-ddl-content') && reOrderList && reOrderList.length > 0 && !isCheckBoxUpdate) {\n this.list.querySelector('.e-virtual-ddl-content').removeChild(reOrderList[0]);\n }\n this.updateListElements(listData);\n }\n else if (!virtualUlElement) {\n this.list.innerHTML = '';\n this.createVirtualContent();\n this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);\n this.updateListElements(listData);\n }\n }\n }\n else {\n if (this.getModuleName() === 'multiselect' && this.virtualSelectAll) {\n this.virtualSelectAllData = listData;\n listData = listData.slice(this.virtualItemStartIndex, this.virtualItemEndIndex);\n }\n ulElement = this.createListItems(listData, fields);\n if (this.isIncrementalRequest) {\n this.incrementalLiCollections = ulElement.querySelectorAll('.' + dropDownBaseClasses.li);\n this.incrementalUlElement = ulElement;\n this.incrementalListData = listData;\n return ulElement;\n }\n if (this.isVirtualizationEnabled) {\n var oldUlElement = this.list.querySelector('.e-list-parent' + ':not(.e-reorder)');\n var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');\n var isRemovedUlelement = false;\n if (!oldUlElement && this.list.querySelector('.e-list-parent' + '.e-reorder')) {\n oldUlElement = this.list.querySelector('.e-list-parent' + '.e-reorder');\n }\n if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && (this.getModuleName() === 'autocomplete' || this.getModuleName() === 'multiselect')) || isRemovedUlelement) {\n if (!this.appendUncheckList) {\n virtualUlElement.replaceChild(ulElement, oldUlElement);\n }\n else {\n virtualUlElement.appendChild(ulElement);\n }\n this.updateListElements(listData);\n }\n else if ((!virtualUlElement) || (!virtualUlElement.firstChild)) {\n this.list.innerHTML = '';\n this.createVirtualContent();\n this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);\n this.updateListElements(listData);\n }\n }\n }\n return ulElement;\n };\n DropDownBase.prototype.createVirtualContent = function () {\n if (!this.list.querySelector('.e-virtual-ddl-content')) {\n this.list.appendChild(this.createElement('div', {\n className: 'e-virtual-ddl-content'\n }));\n }\n };\n DropDownBase.prototype.updateListElements = function (listData) {\n this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n this.listData = listData;\n this.postRender(this.list, listData, this.bindEvent);\n };\n DropDownBase.prototype.templateListItem = function (dataSource, fields) {\n var option = this.listOption(dataSource, fields);\n option.templateID = this.itemTemplateId;\n option.isStringTemplate = this.isStringTemplate;\n var itemcheck = this.templateCompiler(this.itemTemplate);\n var ulElement;\n if (typeof this.itemTemplate !== 'function' && itemcheck) {\n var itemValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.itemTemplate, document).innerHTML.trim();\n ulElement = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.renderContentTemplate(this.createElement, itemValue, dataSource, fields.properties, option, this);\n if (this.isVirtualizationEnabled && this.isReact) {\n this.renderReactTemplates();\n }\n return ulElement;\n }\n else {\n ulElement = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.renderContentTemplate(this.createElement, this.itemTemplate, dataSource, fields.properties, option, this);\n if (this.isVirtualizationEnabled && this.isReact) {\n this.renderReactTemplates();\n }\n return ulElement;\n }\n };\n DropDownBase.prototype.typeOfData = function (items) {\n var item = { typeof: null, item: null };\n for (var i = 0; (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(items) && i < items.length); i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(items[i])) {\n var listDataType = typeof (items[i]) === 'string' ||\n typeof (items[i]) === 'number' || typeof (items[i]) === 'boolean';\n var isNullData = listDataType ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(items[i]) :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value : 'value'), items[i]));\n if (!isNullData) {\n return item = { typeof: typeof items[i], item: items[i] };\n }\n }\n }\n return item;\n };\n DropDownBase.prototype.setFixedHeader = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n this.list.parentElement.style.display = 'block';\n }\n var borderWidth = 0;\n if (this.list && this.list.parentElement) {\n borderWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-width'), 10);\n /*Shorthand property not working in Firefox for getComputedStyle method.\n Refer bug report https://bugzilla.mozilla.org/show_bug.cgi?id=137688\n Refer alternate solution https://stackoverflow.com/a/41696234/9133493*/\n if (isNaN(borderWidth)) {\n var borderTopWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-top-width'), 10);\n var borderBottomWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-bottom-width'), 10);\n var borderLeftWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-left-width'), 10);\n var borderRightWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-right-width'), 10);\n borderWidth = (borderTopWidth + borderBottomWidth + borderLeftWidth + borderRightWidth);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections)) {\n var liWidth = this.getValidLi().offsetWidth - borderWidth;\n this.fixedHeaderElement.style.width = liWidth.toString() + 'px';\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.fixedHeaderElement, { zIndex: 10 });\n var firstLi = this.ulElement.querySelector('.' + dropDownBaseClasses.group + ':not(.e-hide-listitem)');\n this.fixedHeaderElement.innerHTML = firstLi.innerHTML;\n };\n DropDownBase.prototype.getSortedDataSource = function (dataSource) {\n if (dataSource && this.sortOrder !== 'None') {\n var textField = this.fields.text ? this.fields.text : 'text';\n if (this.typeOfData(dataSource).typeof === 'string' || this.typeOfData(dataSource).typeof === 'number'\n || this.typeOfData(dataSource).typeof === 'boolean') {\n textField = '';\n }\n dataSource = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.getDataSource(dataSource, _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.addSorting(this.sortOrder, textField));\n }\n return dataSource;\n };\n /**\n * Return the index of item which matched with given value in data source\n *\n * @param {string | number | boolean} value - Specifies given value.\n * @returns {number} Returns the index of the item.\n */\n DropDownBase.prototype.getIndexByValue = function (value) {\n var index;\n var listItems = [];\n if (this.fields.disabled && this.getModuleName() === 'multiselect' && this.liCollections) {\n listItems = this.liCollections;\n }\n else {\n listItems = this.getItems();\n }\n for (var i = 0; i < listItems.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && listItems[i].getAttribute('data-value') === value.toString()) {\n index = i;\n break;\n }\n }\n return index;\n };\n /**\n * Return the index of item which matched with given value in data source\n *\n * @param {string | number | boolean} value - Specifies given value.\n * @param {HTMLElement} ulElement - Specifies given value.\n * @returns {number} Returns the index of the item.\n */\n DropDownBase.prototype.getIndexByValueFilter = function (value, ulElement) {\n var index;\n if (!ulElement) {\n return null;\n }\n var listItems = ulElement.querySelectorAll('li' + ':not(.e-list-group-item)');\n if (listItems) {\n for (var i = 0; i < listItems.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && listItems[i].getAttribute('data-value') === value.toString()) {\n index = i;\n break;\n }\n }\n }\n return index;\n };\n /**\n * To dispatch the event manually\n *\n * @param {HTMLElement} element - Specifies the element to dispatch the event.\n * @param {string} type - Specifies the name of the event.\n * @returns {void}\n */\n DropDownBase.prototype.dispatchEvent = function (element, type) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent(type, false, true);\n if (element) {\n element.dispatchEvent(evt);\n }\n };\n /**\n * To set the current fields\n *\n * @returns {void}\n */\n DropDownBase.prototype.setFields = function () {\n if (this.fields.value && !this.fields.text) {\n this.updateFields(this.fields.value, this.fields.value);\n }\n else if (!this.fields.value && this.fields.text) {\n this.updateFields(this.fields.text, this.fields.text);\n }\n else if (!this.fields.value && !this.fields.text) {\n this.isPrimitiveData = true;\n this.updateFields('text', 'text');\n }\n };\n /**\n * reset the items list.\n *\n * @param {Object[] | string[] | number[] | DataManager | boolean[]} dataSource - Specifies the data to generate the list.\n * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.\n * @param {Query} query - Accepts the external Query that execute along with data processing.\n * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - Specifies the event.\n * @returns {void}\n */\n DropDownBase.prototype.resetList = function (dataSource, fields, query, e) {\n if (this.list) {\n if ((this.element.tagName === 'SELECT' && this.element.options.length > 0)\n || (this.element.tagName === 'UL' && this.element.childNodes.length > 0)) {\n var data = dataSource instanceof Array ? (dataSource.length > 0)\n : !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource);\n if (!data && this.selectData && this.selectData.length > 0) {\n dataSource = this.selectData;\n }\n }\n dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length && this.addedNewItem ? this.selectData : dataSource;\n this.addedNewItem = false;\n this.setListData(dataSource, fields, query, e);\n }\n };\n DropDownBase.prototype.updateSelectElementData = function (isFiltering) {\n if ((isFiltering || this.isVirtualizationEnabled) &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectData) && this.listData && this.listData.length > 0) {\n this.selectData = this.listData;\n }\n };\n DropDownBase.prototype.updateSelection = function () {\n // This is for after added the item, need to update the selected index values.\n };\n DropDownBase.prototype.renderList = function () {\n // This is for render the list items.\n this.render();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownBase.prototype.updateDataSource = function (props, oldProps) {\n this.resetList(this.dataSource);\n this.totalItemCount = this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ? this.dataSource.dataSource.json.length : 0;\n };\n DropDownBase.prototype.setUpdateInitial = function (props, newProp, oldProp) {\n this.isDataFetched = false;\n this.isPrimitiveData = false;\n var updateData = {};\n for (var j = 0; props.length > j; j++) {\n if (newProp[props[j]] && props[j] === 'fields') {\n this.setFields();\n updateData[props[j]] = newProp[props[j]];\n }\n else if (newProp[props[j]]) {\n updateData[props[j]] = newProp[props[j]];\n }\n }\n if (Object.keys(updateData).length > 0) {\n if (Object.keys(updateData).indexOf('dataSource') === -1) {\n updateData.dataSource = this.dataSource;\n }\n if (this.getModuleName() === 'listbox') {\n if (!this.isReact || (this.isReact && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.dataSource) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.sortOrder)))) {\n this.updateDataSource(updateData, oldProp);\n }\n }\n else {\n this.isDynamicData = true;\n this.updateDataSource(updateData, oldProp);\n }\n }\n };\n /**\n * When property value changes happened, then onPropertyChanged method will execute the respective changes in this component.\n *\n * @param {DropDownBaseModel} newProp - Returns the dynamic property value of the component.\n * @param {DropDownBaseModel} oldProp - Returns the previous property value of the component.\n * @private\n * @returns {void}\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownBase.prototype.onPropertyChanged = function (newProp, oldProp) {\n if (this.getModuleName() === 'dropdownbase') {\n this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp);\n }\n this.setUpdateInitial(['sortOrder', 'itemTemplate'], newProp);\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'query':\n case 'sortOrder':\n case 'dataSource':\n case 'itemTemplate':\n break;\n case 'enableRtl':\n this.setEnableRtl();\n break;\n case 'groupTemplate':\n this.renderGroupTemplate(this.list);\n if (this.ulElement && this.fixedHeaderElement) {\n var firstLi = this.ulElement.querySelector('.' + dropDownBaseClasses.group);\n this.fixedHeaderElement.innerHTML = firstLi.innerHTML;\n }\n break;\n case 'locale':\n if (this.list && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections) && this.liCollections.length === 0)) {\n this.l10nUpdate();\n }\n break;\n case 'zIndex':\n this.setProperties({ zIndex: newProp.zIndex }, true);\n this.setZIndex();\n break;\n }\n }\n };\n /**\n * Build and render the component\n *\n * @param {MouseEvent | KeyboardEventArgs | TouchEvent} e - Specifies the event.\n * @param {boolean} isEmptyData - Specifies the component to initialize with list data or not.\n * @private\n * @returns {void}\n */\n DropDownBase.prototype.render = function (e, isEmptyData) {\n if (this.getModuleName() === 'listbox') {\n this.list = this.createElement('div', { className: dropDownBaseClasses.content, attrs: { 'tabindex': '0' } });\n }\n else {\n this.list = this.createElement('div', { className: dropDownBaseClasses.content });\n }\n this.list.classList.add(dropDownBaseClasses.root);\n this.setFields();\n var rippleModel = { duration: 300, selector: '.' + dropDownBaseClasses.li };\n this.rippleFun = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(this.list, rippleModel);\n var group = this.element.querySelector('select>optgroup');\n if ((this.fields.groupBy || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(group)) && !this.isGroupChecking) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'scroll', this.setFloatingHeader, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'scroll', this.updateGroupFixedHeader, this);\n }\n if (this.getModuleName() === 'dropdownbase') {\n if (this.element.getAttribute('tabindex')) {\n this.list.setAttribute('tabindex', this.element.getAttribute('tabindex'));\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], dropDownBaseClasses.root);\n this.element.style.display = 'none';\n var wrapperElement = this.createElement('div');\n this.element.parentElement.insertBefore(wrapperElement, this.element);\n wrapperElement.appendChild(this.element);\n wrapperElement.appendChild(this.list);\n }\n this.setEnableRtl();\n if (!isEmptyData) {\n this.initialize(e);\n }\n };\n DropDownBase.prototype.removeScrollEvent = function () {\n if (this.list) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'scroll', this.setFloatingHeader);\n }\n };\n /**\n * Return the module name of this component.\n *\n * @private\n * @returns {string} Return the module name of this component.\n */\n DropDownBase.prototype.getModuleName = function () {\n return 'dropdownbase';\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets all the list items bound on this component.\n *\n * @returns {Element[]}\n */\n DropDownBase.prototype.getItems = function () {\n return this.ulElement.querySelectorAll('.' + dropDownBaseClasses.li);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Adds a new item to the popup list. By default, new item appends to the list as the last item,\n * but you can insert based on the index parameter.\n *\n * @param { Object[] } items - Specifies an array of JSON data or a JSON data.\n * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.\n * @returns {void}\n\n */\n DropDownBase.prototype.addItem = function (items, itemIndex) {\n if (!this.list || (this.list.textContent === this.noRecordsTemplate && this.getModuleName() !== 'listbox')) {\n this.renderList();\n }\n if (this.sortOrder !== 'None' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemIndex)) {\n var newList = [].slice.call(this.listData);\n newList.push(items);\n newList = this.getSortedDataSource(newList);\n if (this.fields.groupBy) {\n newList = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.groupDataSource(newList, this.fields.properties, this.sortOrder);\n itemIndex = newList.indexOf(items);\n }\n else {\n itemIndex = newList.indexOf(items);\n }\n }\n var itemsCount = this.getItems().length;\n var isListboxEmpty = itemsCount === 0;\n var selectedItemValue = this.list.querySelector('.' + dropDownBaseClasses.selected);\n items = (items instanceof Array ? items : [items]);\n var index;\n index = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemIndex) || itemIndex < 0 || itemIndex > itemsCount - 1) ? itemsCount : itemIndex;\n var fields = this.fields;\n if (items && fields.groupBy) {\n items = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_4__.ListBase.groupDataSource(items, fields.properties);\n }\n var liCollections = [];\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n var isHeader = item.isHeader;\n var li = this.createElement('li', { className: isHeader ? dropDownBaseClasses.group : dropDownBaseClasses.li, id: 'option-add-' + i });\n var itemText = item instanceof Object ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.text, item) : item;\n if (isHeader) {\n li.innerText = itemText;\n }\n if (this.itemTemplate && !isHeader) {\n var itemCheck = this.templateCompiler(this.itemTemplate);\n var compiledString = typeof this.itemTemplate !== 'function' &&\n itemCheck ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.itemTemplate, document).innerHTML.trim()) : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.itemTemplate);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var addItemTemplate = compiledString(item, this, 'itemTemplate', this.itemTemplateId, this.isStringTemplate, null, li);\n if (addItemTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(addItemTemplate, li);\n }\n }\n else if (!isHeader) {\n li.appendChild(document.createTextNode(itemText));\n }\n li.setAttribute('data-value', item instanceof Object ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.value, item) : item);\n li.setAttribute('role', 'option');\n this.notify('addItem', { module: 'CheckBoxSelection', item: li });\n liCollections.push(li);\n if (this.getModuleName() === 'listbox') {\n this.listData.splice(isListboxEmpty ?\n this.listData.length : index, 0, item);\n if (this.listData.length !== this.sortedData.length) {\n this.sortedData = this.listData;\n }\n }\n else {\n this.listData.push(item);\n }\n if (this.sortOrder === 'None' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemIndex) && index === 0) {\n index = null;\n }\n if (this.getModuleName() === 'listbox') {\n this.updateActionCompleteData(li, item, isListboxEmpty ? null : index + i);\n }\n else {\n this.updateActionCompleteData(li, item, index);\n }\n //Listbox event\n this.trigger('beforeItemRender', { element: li, item: item });\n }\n if (itemsCount === 0 && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list.querySelector('ul'))) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n this.list.innerHTML = '';\n this.list.classList.remove(dropDownBaseClasses.noData);\n this.isAddNewItemTemplate = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement)) {\n this.list.appendChild(this.ulElement);\n }\n }\n this.liCollections = liCollections;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(liCollections) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(liCollections, this.ulElement);\n }\n this.updateAddItemList(this.list, itemsCount);\n }\n else {\n if (this.getModuleName() === 'listbox' && itemsCount === 0) {\n this.ulElement.innerHTML = '';\n }\n var attr = [];\n for (var i = 0; i < items.length; i++) {\n var listGroupItem = this.ulElement.querySelectorAll('.e-list-group-item');\n for (var j = 0; j < listGroupItem.length; j++) {\n attr[j] = listGroupItem[j].innerText;\n }\n if (attr.indexOf(liCollections[i].innerText) > -1 && fields.groupBy) {\n for (var j = 0; j < listGroupItem.length; j++) {\n if (attr[j] === liCollections[i].innerText) {\n if (this.sortOrder === 'None') {\n this.ulElement.insertBefore(liCollections[i + 1], listGroupItem[j + 1]);\n }\n else {\n this.ulElement.insertBefore(liCollections[i + 1], this.ulElement.childNodes[itemIndex]);\n }\n i = i + 1;\n break;\n }\n }\n }\n else {\n if (this.liCollections[index] && this.liCollections[index].parentNode) {\n this.liCollections[index].parentNode.\n insertBefore(liCollections[i], this.liCollections[index]);\n }\n else {\n if (itemIndex && this.getModuleName() === 'listbox') {\n this.ulElement.insertBefore(liCollections[i], this.ulElement.childNodes[itemIndex + i]);\n }\n else {\n this.ulElement.appendChild(liCollections[i]);\n }\n }\n }\n var tempLi = [].slice.call(this.liCollections);\n tempLi.splice(index, 0, liCollections[i]);\n this.liCollections = tempLi;\n index += 1;\n if (this.getModuleName() === 'multiselect') {\n this.updateDataList();\n }\n }\n }\n if (this.getModuleName() === 'listbox' && this.isReact) {\n this.renderReactTemplates();\n }\n if (selectedItemValue || itemIndex === 0) {\n this.updateSelection();\n }\n this.addedNewItem = true;\n };\n /**\n * Checks if the given HTML element is disabled.\n *\n * @param {HTMLElement} li - The HTML element to check.\n * @returns {boolean} - Returns true if the element is disabled, otherwise false.\n */\n DropDownBase.prototype.isDisabledElement = function (li) {\n if (li && li.classList.contains('e-disabled')) {\n return true;\n }\n return false;\n };\n /**\n * Checks whether the list item at the specified index is disabled.\n *\n * @param {number} index - The index of the list item to check.\n * @returns {boolean} True if the list item is disabled, false otherwise.\n */\n DropDownBase.prototype.isDisabledItemByIndex = function (index) {\n if (this.fields.disabled && this.liCollections) {\n return this.isDisabledElement(this.liCollections[index]);\n }\n return false;\n };\n /**\n * Disables the given list item.\n *\n * @param { HTMLLIElement } li - The list item to disable.\n * @returns {void}\n */\n DropDownBase.prototype.disableListItem = function (li) {\n li.classList.add('e-disabled');\n li.setAttribute('aria-disabled', 'true');\n li.setAttribute('aria-selected', 'false');\n };\n DropDownBase.prototype.validationAttribute = function (target, hidden) {\n var name = target.getAttribute('name') ? target.getAttribute('name') : target.getAttribute('id');\n hidden.setAttribute('name', name);\n target.removeAttribute('name');\n var attributes = ['required', 'aria-required', 'form'];\n for (var i = 0; i < attributes.length; i++) {\n if (!target.getAttribute(attributes[i])) {\n continue;\n }\n var attr = target.getAttribute(attributes[i]);\n hidden.setAttribute(attributes[i], attr);\n target.removeAttribute(attributes[i]);\n }\n };\n DropDownBase.prototype.setZIndex = function () {\n // this is for component wise\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownBase.prototype.updateActionCompleteData = function (li, item, index) {\n // this is for ComboBox custom value\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownBase.prototype.updateAddItemList = function (list, itemCount) {\n // this is for multiselect add item\n };\n DropDownBase.prototype.updateDataList = function () {\n // this is for multiselect update list items\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the data Object that matches the given value.\n *\n * @param { string | number } value - Specifies the value of the list item.\n * @returns {Object}\n */\n DropDownBase.prototype.getDataByValue = function (value) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.listData)) {\n var type = this.typeOfData(this.listData).typeof;\n if (type === 'string' || type === 'number' || type === 'boolean') {\n for (var _i = 0, _a = this.listData; _i < _a.length; _i++) {\n var item = _a[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item) && item === value) {\n return item;\n }\n }\n }\n else {\n for (var _b = 0, _c = this.listData; _b < _c.length; _b++) {\n var item = _c[_b];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value : 'value'), item) === value) {\n return item;\n }\n }\n }\n }\n return null;\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Removes the component from the DOM and detaches all its related event handlers. It also removes the attributes and classes.\n *\n * @method destroy\n * @returns {void}\n */\n DropDownBase.prototype.destroy = function () {\n if (document) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'scroll', this.updateGroupFixedHeader);\n if (document.body.contains(this.list)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'scroll', this.setFloatingHeader);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.rippleFun)) {\n this.rippleFun();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.list);\n }\n }\n this.liCollections = null;\n this.ulElement = null;\n this.list = null;\n this.enableRtlElements = null;\n this.rippleFun = null;\n _super.prototype.destroy.call(this);\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({ text: null, value: null, iconCss: null, groupBy: null, disabled: null }, FieldSettings)\n ], DropDownBase.prototype, \"fields\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownBase.prototype, \"itemTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownBase.prototype, \"groupTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('No records found')\n ], DropDownBase.prototype, \"noRecordsTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Request failed')\n ], DropDownBase.prototype, \"actionFailureTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('None')\n ], DropDownBase.prototype, \"sortOrder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)([])\n ], DropDownBase.prototype, \"dataSource\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownBase.prototype, \"query\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('StartsWith')\n ], DropDownBase.prototype, \"filterType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DropDownBase.prototype, \"ignoreCase\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], DropDownBase.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownBase.prototype, \"ignoreAccent\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], DropDownBase.prototype, \"locale\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"actionBegin\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"actionComplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"actionFailure\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"select\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"dataBound\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownBase.prototype, \"destroyed\", void 0);\n DropDownBase = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], DropDownBase);\n return DropDownBase;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropDownList: () => (/* binding */ DropDownList),\n/* harmony export */ dropDownListClasses: () => (/* binding */ dropDownListClasses)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/collision.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _common_incremental_search__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/incremental-search */ \"./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js\");\n/* harmony import */ var _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../drop-down-base/drop-down-base */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \n\n\n\n\n\n\n\n\n\n// don't use space in classnames\nvar dropDownListClasses = {\n root: 'e-dropdownlist',\n hover: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.hover,\n selected: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected,\n rtl: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.rtl,\n li: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li,\n disable: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.disabled,\n base: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.root,\n focus: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.focus,\n content: _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.content,\n input: 'e-input-group',\n inputFocus: 'e-input-focus',\n icon: 'e-input-group-icon e-ddl-icon',\n iconAnimation: 'e-icon-anim',\n value: 'e-input-value',\n device: 'e-ddl-device',\n backIcon: 'e-input-group-icon e-back-icon e-icons',\n filterBarClearIcon: 'e-input-group-icon e-clear-icon e-icons',\n filterInput: 'e-input-filter',\n resizeIcon: 'e-resizer-right e-icons',\n filterParent: 'e-filter-parent',\n mobileFilter: 'e-ddl-device-filter',\n footer: 'e-ddl-footer',\n header: 'e-ddl-header',\n clearIcon: 'e-clear-icon',\n clearIconHide: 'e-clear-icon-hide',\n popupFullScreen: 'e-popup-full-page',\n disableIcon: 'e-ddl-disable-icon',\n hiddenElement: 'e-ddl-hidden',\n virtualList: 'e-list-item e-virtual-list'\n};\nvar inputObject = {\n container: null,\n buttons: []\n};\n/**\n * The DropDownList component contains a list of predefined values from which you can\n * choose a single value.\n * ```html\n * \n * ```\n * ```typescript\n * let dropDownListObj:DropDownList = new DropDownList();\n * dropDownListObj.appendTo(\"#list\");\n * ```\n */\nvar DropDownList = /** @class */ (function (_super) {\n __extends(DropDownList, _super);\n /**\n * * Constructor for creating the DropDownList component.\n *\n * @param {DropDownListModel} options - Specifies the DropDownList model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function DropDownList(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isListSearched = false;\n _this.preventChange = false;\n _this.isTouched = false;\n _this.isFocused = false;\n _this.autoFill = false;\n _this.isUpdateHeaderHeight = false;\n _this.isUpdateFooterHeight = false;\n _this.isReactTemplateUpdate = false;\n return _this;\n }\n /**\n * Initialize the event handler.\n *\n * @private\n * @returns {void}\n */\n DropDownList.prototype.preRender = function () {\n this.valueTempElement = null;\n this.element.style.opacity = '0';\n this.initializeData();\n _super.prototype.preRender.call(this);\n this.activeIndex = this.index;\n this.queryString = '';\n };\n DropDownList.prototype.initializeData = function () {\n this.isPopupOpen = false;\n this.isDocumentClick = false;\n this.isInteracted = false;\n this.isFilterFocus = false;\n this.beforePopupOpen = false;\n this.initial = true;\n this.initialRemoteRender = false;\n this.isNotSearchList = false;\n this.isTyped = false;\n this.isSelected = false;\n this.preventFocus = false;\n this.preventAutoFill = false;\n this.isValidKey = false;\n this.typedString = '';\n this.isEscapeKey = false;\n this.isPreventBlur = false;\n this.isTabKey = false;\n this.actionCompleteData = { isUpdated: false };\n this.actionData = { isUpdated: false };\n this.prevSelectPoints = {};\n this.isSelectCustom = false;\n this.isDropDownClick = false;\n this.preventAltUp = false;\n this.isCustomFilter = false;\n this.isSecondClick = false;\n this.previousValue = null;\n this.keyConfigure = {\n tab: 'tab',\n enter: '13',\n escape: '27',\n end: '35',\n home: '36',\n down: '40',\n up: '38',\n pageUp: '33',\n pageDown: '34',\n open: 'alt+40',\n close: 'shift+tab',\n hide: 'alt+38',\n space: '32'\n };\n this.viewPortInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: this.itemCount\n };\n };\n DropDownList.prototype.setZIndex = function () {\n if (this.popupObj) {\n this.popupObj.setProperties({ 'zIndex': this.zIndex });\n }\n };\n DropDownList.prototype.requiredModules = function () {\n var modules = [];\n if (this.enableVirtualization) {\n modules.push({ args: [this], member: 'VirtualScroll' });\n }\n return modules;\n };\n DropDownList.prototype.renderList = function (e, isEmptyData) {\n _super.prototype.render.call(this, e, isEmptyData);\n if (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n }\n if (this.enableVirtualization && this.isFiltering() && this.getModuleName() === 'combobox') {\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n }\n this.unWireListEvents();\n this.wireListEvents();\n };\n DropDownList.prototype.floatLabelChange = function () {\n if (this.getModuleName() === 'dropdownlist' && this.floatLabelType === 'Auto') {\n var floatElement = this.inputWrapper.container.querySelector('.e-float-text');\n if (this.inputElement.value !== '' || this.isInteracted) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(floatElement, ['e-label-top'], ['e-label-bottom']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(floatElement, ['e-label-bottom'], ['e-label-top']);\n }\n }\n };\n DropDownList.prototype.resetHandler = function (e) {\n e.preventDefault();\n this.clearAll(e);\n if (this.enableVirtualization) {\n this.list.scrollTop = 0;\n this.virtualListInfo = null;\n this.previousStartIndex = 0;\n this.previousEndIndex = 0;\n }\n };\n DropDownList.prototype.resetFocusElement = function () {\n this.removeHover();\n this.removeSelection();\n this.removeFocus();\n this.list.scrollTop = 0;\n if (this.getModuleName() !== 'autocomplete' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement)) {\n var li = this.fields.disabled ? this.ulElement.querySelector('.' + dropDownListClasses.li + ':not(.e-disabled)') : this.ulElement.querySelector('.' + dropDownListClasses.li);\n if (this.enableVirtualization) {\n li = this.liCollections[this.skeletonCount];\n }\n if (li) {\n li.classList.add(dropDownListClasses.focus);\n }\n }\n };\n DropDownList.prototype.clearAll = function (e, properties) {\n this.previousItemData = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData)) ? this.itemData : null;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(properties) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(properties) &&\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(properties.dataSource) ||\n (!(properties.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && properties.dataSource.length === 0)))) {\n this.isActive = true;\n this.resetSelection(properties);\n }\n var dataItem = this.getItemData();\n if ((!this.allowObjectBinding && (this.previousValue === dataItem.value)) ||\n (this.allowObjectBinding && this.previousValue &&\n this.isObjectInArray(this.previousValue, [this.allowCustom ? this.value ? this.value : dataItem :\n dataItem.value ? this.getDataByValue(dataItem.value) : dataItem]))) {\n this.checkAndResetCache();\n if (this.enableVirtualization && this.list) {\n this.updateInitialData();\n }\n return;\n }\n this.onChangeEvent(e);\n this.checkAndResetCache();\n if (this.enableVirtualization) {\n this.updateInitialData();\n }\n };\n DropDownList.prototype.resetSelection = function (properties) {\n if (this.list) {\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(properties) &&\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(properties.dataSource) ||\n (!(properties.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && properties.dataSource.length === 0)))) {\n this.selectedLI = null;\n this.actionCompleteData.isUpdated = false;\n this.actionCompleteData.ulElement = null;\n this.actionCompleteData.list = null;\n this.resetList(properties.dataSource);\n }\n else {\n if (this.allowFiltering && this.getModuleName() !== 'autocomplete'\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.actionCompleteData.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.actionCompleteData.list) &&\n this.actionCompleteData.list.length > 0) {\n this.onActionComplete(this.actionCompleteData.ulElement.cloneNode(true), this.actionCompleteData.list);\n }\n this.resetFocusElement();\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.hiddenElement)) {\n this.hiddenElement.innerHTML = '';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n this.inputElement.value = '';\n }\n this.value = null;\n this.itemData = null;\n this.text = null;\n this.index = null;\n this.activeIndex = null;\n this.item = null;\n this.queryString = '';\n if (this.valueTempElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.valueTempElement);\n this.inputElement.style.display = 'block';\n this.valueTempElement = null;\n }\n this.setSelection(null, null);\n this.isSelectCustom = false;\n this.updateIconState();\n this.cloneElements();\n };\n DropDownList.prototype.setHTMLAttributes = function () {\n if (Object.keys(this.htmlAttributes).length) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var htmlAttr = _a[_i];\n if (htmlAttr === 'class') {\n var updatedClassValue = (this.htmlAttributes[\"\" + htmlAttr].replace(/\\s+/g, ' ')).trim();\n if (updatedClassValue !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], updatedClassValue.split(' '));\n }\n }\n else if (htmlAttr === 'disabled' && this.htmlAttributes[\"\" + htmlAttr] === 'disabled') {\n this.enabled = false;\n this.setEnable();\n }\n else if (htmlAttr === 'readonly' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes[\"\" + htmlAttr])) {\n this.readonly = true;\n this.dataBind();\n }\n else if (htmlAttr === 'style') {\n this.inputWrapper.container.setAttribute('style', this.htmlAttributes[\"\" + htmlAttr]);\n }\n else if (htmlAttr === 'aria-label') {\n if ((this.getModuleName() === 'autocomplete' || this.getModuleName() === 'combobox') && !this.readonly) {\n this.inputElement.setAttribute('aria-label', this.htmlAttributes[\"\" + htmlAttr]);\n }\n else if (this.getModuleName() === 'dropdownlist') {\n this.inputWrapper.container.setAttribute('aria-label', this.htmlAttributes[\"\" + htmlAttr]);\n }\n }\n else {\n var defaultAttr = ['title', 'id', 'placeholder',\n 'role', 'autocomplete', 'autocapitalize', 'spellcheck', 'minlength', 'maxlength'];\n var validateAttr = ['name', 'required'];\n if (this.getModuleName() === 'autocomplete' || this.getModuleName() === 'combobox') {\n defaultAttr.push('tabindex');\n }\n if (validateAttr.indexOf(htmlAttr) > -1 || htmlAttr.indexOf('data') === 0) {\n this.hiddenElement.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n else if (defaultAttr.indexOf(htmlAttr) > -1) {\n if (htmlAttr === 'placeholder') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setPlaceholder(this.htmlAttributes[\"\" + htmlAttr], this.inputElement);\n }\n else {\n this.inputElement.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n }\n else {\n this.inputWrapper.container.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n }\n }\n }\n if (this.getModuleName() === 'autocomplete' || this.getModuleName() === 'combobox') {\n this.inputWrapper.container.removeAttribute('tabindex');\n }\n };\n DropDownList.prototype.getAriaAttributes = function () {\n return {\n 'aria-disabled': 'false',\n 'role': 'combobox',\n 'aria-expanded': 'false',\n 'aria-live': 'polite',\n 'aria-labelledby': this.hiddenElement.id\n };\n };\n DropDownList.prototype.setEnableRtl = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.parentElement)) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);\n }\n if (this.popupObj) {\n this.popupObj.enableRtl = this.enableRtl;\n this.popupObj.dataBind();\n }\n };\n DropDownList.prototype.setEnable = function () {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setEnabled(this.enabled, this.inputElement);\n if (this.enabled) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], dropDownListClasses.disable);\n this.inputElement.setAttribute('aria-disabled', 'false');\n this.targetElement().setAttribute('tabindex', this.tabIndex);\n if (this.inputWrapper && this.inputWrapper.container) {\n this.inputWrapper.container.setAttribute('aria-disabled', 'false');\n this.inputWrapper.container.removeAttribute('disabled');\n }\n }\n else {\n this.hidePopup();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], dropDownListClasses.disable);\n this.inputElement.setAttribute('aria-disabled', 'true');\n this.targetElement().tabIndex = -1;\n if (this.inputWrapper && this.inputWrapper.container) {\n this.inputWrapper.container.setAttribute('aria-disabled', 'true');\n this.inputWrapper.container.setAttribute('disabled', '');\n }\n }\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} Returns the persisted data of the component.\n */\n DropDownList.prototype.getPersistData = function () {\n return this.addOnPersist(['value']);\n };\n DropDownList.prototype.getLocaleName = function () {\n return 'drop-down-list';\n };\n DropDownList.prototype.preventTabIndex = function (element) {\n if (this.getModuleName() === 'dropdownlist') {\n element.tabIndex = -1;\n }\n };\n DropDownList.prototype.targetElement = function () {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) ? this.inputWrapper.container : null;\n };\n DropDownList.prototype.getNgDirective = function () {\n return 'EJS-DROPDOWNLIST';\n };\n DropDownList.prototype.getElementByText = function (text) {\n return this.getElementByValue(this.getValueByText(text));\n };\n DropDownList.prototype.getElementByValue = function (value) {\n var item;\n var listItems = this.getItems();\n for (var _i = 0, listItems_1 = listItems; _i < listItems_1.length; _i++) {\n var liItem = listItems_1[_i];\n if (this.getFormattedValue(liItem.getAttribute('data-value')) === value) {\n item = liItem;\n break;\n }\n }\n return item;\n };\n DropDownList.prototype.initValue = function () {\n this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;\n this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.itemCount;\n this.renderList();\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n this.initialRemoteRender = true;\n }\n else {\n this.updateValues();\n }\n };\n /**\n * Checks if the given value is disabled.\n *\n * @param { string | number | boolean | object } value - The value to check for disablement. Can be a string, number, boolean, or object.\n * @returns { boolean } A boolean indicating whether the value is disabled.\n */\n DropDownList.prototype.isDisableItemValue = function (value) {\n if (typeof (value) === 'object') {\n var objectValue = JSON.parse(JSON.stringify(value))[this.fields.value];\n return this.isDisabledItemByIndex(this.getIndexByValue(objectValue));\n }\n return this.isDisabledItemByIndex(this.getIndexByValue(value));\n };\n DropDownList.prototype.updateValues = function () {\n if (this.fields.disabled) {\n if (this.value != null) {\n this.value = !this.isDisableItemValue(this.value) ? this.value : null;\n }\n if (this.text != null) {\n this.text = !this.isDisabledItemByIndex(this.getIndexByValue(this.getValueByText(this.text))) ? this.text : null;\n }\n if (this.index != null) {\n this.index = !this.isDisabledItemByIndex(this.index) ? this.index : null;\n this.activeIndex = this.index;\n }\n }\n this.selectedValueInfo = this.viewPortInfo;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value) : this.value;\n this.setSelection(this.getElementByValue(value), null);\n }\n else if (this.text && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var element = this.getElementByText(this.text);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n this.setProperties({ text: null });\n return;\n }\n else {\n this.setSelection(element, null);\n }\n }\n else {\n this.setSelection(this.liCollections[this.activeIndex], null);\n }\n this.setHiddenValue();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);\n };\n DropDownList.prototype.onBlurHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n var target = e.relatedTarget;\n var currentTarget = e.target;\n var isPreventBlur = this.isPreventBlur;\n this.isPreventBlur = false;\n //IE 11 - issue\n if (isPreventBlur && !this.isDocumentClick && this.isPopupOpen && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentTarget) ||\n !this.isFilterLayout() && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target))) {\n if (this.getModuleName() === 'dropdownlist' && this.allowFiltering && this.isPopupOpen) {\n this.filterInput.focus();\n }\n else {\n this.targetElement().focus();\n }\n return;\n }\n if (this.isDocumentClick || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj)\n && document.body.contains(this.popupObj.element) &&\n this.popupObj.element.classList.contains(dropDownListClasses.mobileFilter))) {\n if (!this.beforePopupOpen) {\n this.isDocumentClick = false;\n }\n return;\n }\n if (((this.getModuleName() === 'dropdownlist' && !this.isFilterFocus && target !== this.inputElement)\n && (document.activeElement !== target || (document.activeElement === target &&\n currentTarget.classList.contains(dropDownListClasses.inputFocus)))) ||\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && this.getModuleName() === 'dropdownlist' && this.allowFiltering &&\n currentTarget !== this.inputWrapper.container) || this.getModuleName() !== 'dropdownlist' &&\n !this.inputWrapper.container.contains(target) || this.isTabKey) {\n this.isDocumentClick = this.isPopupOpen ? true : false;\n this.focusOutAction(e);\n this.isTabKey = false;\n }\n if (this.isRequested && !this.isPopupOpen && !this.isPreventBlur) {\n this.isActive = false;\n this.beforePopupOpen = false;\n }\n this.isFocused = false;\n };\n DropDownList.prototype.focusOutAction = function (e) {\n this.isInteracted = false;\n this.focusOut(e);\n this.onFocusOut(e);\n };\n DropDownList.prototype.onFocusOut = function (e) {\n if (!this.enabled) {\n return;\n }\n if (this.isSelected) {\n this.isSelectCustom = false;\n this.onChangeEvent(e);\n }\n this.floatLabelChange();\n this.dispatchEvent(this.hiddenElement, 'change');\n if (this.getModuleName() === 'dropdownlist' && this.element.tagName !== 'INPUT') {\n this.dispatchEvent(this.inputElement, 'blur');\n }\n if (this.inputWrapper.clearButton) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.clearButton], dropDownListClasses.clearIconHide);\n }\n this.trigger('blur');\n };\n DropDownList.prototype.onFocus = function (e) {\n if (!this.isInteracted) {\n this.isInteracted = true;\n var args = { isInteracted: e ? true : false, event: e };\n this.trigger('focus', args);\n }\n this.updateIconState();\n this.isFocused = true;\n };\n DropDownList.prototype.resizingWireEvent = function () {\n // Mouse events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousemove', this.resizePopup, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mouseup', this.stopResizing, this);\n // Touch events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'touchmove', this.resizePopup, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'touchend', this.stopResizing, this);\n };\n DropDownList.prototype.resizingUnWireEvent = function () {\n // Mouse events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousemove', this.resizePopup);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', this.stopResizing);\n // Touch events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'touchmove', this.resizePopup);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'touchend', this.stopResizing);\n };\n DropDownList.prototype.resetValueHandler = function (e) {\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n if (formElement && e.target === formElement) {\n var val = (this.element.tagName === this.getNgDirective()) ? null : this.inputElement.getAttribute('value');\n this.text = val;\n }\n };\n DropDownList.prototype.wireEvent = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.container, 'mousedown', this.dropDownClick, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.container, 'focus', this.focusIn, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.container, 'keypress', this.onSearch, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'resize', this.windowResize, this);\n this.bindCommonEvent();\n };\n DropDownList.prototype.bindCommonEvent = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.targetElement(), 'blur', this.onBlurHandler, this);\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n if (formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(formElement, 'reset', this.resetValueHandler, this);\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.keyboardModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.targetElement(), {\n keyAction: this.keyActionHandler.bind(this), keyConfigs: this.keyConfigure, eventName: 'keydown'\n });\n }\n else {\n this.keyboardModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.targetElement(), {\n keyAction: this.mobileKeyActionHandler.bind(this), keyConfigs: this.keyConfigure, eventName: 'keydown'\n });\n }\n this.bindClearEvent();\n };\n DropDownList.prototype.windowResize = function () {\n if (this.isPopupOpen) {\n this.popupObj.refreshPosition(this.inputWrapper.container);\n }\n };\n DropDownList.prototype.bindClearEvent = function () {\n if (this.showClearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.clearButton, 'mousedown', this.resetHandler, this);\n }\n };\n DropDownList.prototype.unBindCommonEvent = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) && this.targetElement()) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.targetElement(), 'blur', this.onBlurHandler);\n }\n var formElement = this.inputElement && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n if (formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(formElement, 'reset', this.resetValueHandler);\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.keyboardModule.destroy();\n }\n if (this.showClearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.clearButton, 'mousedown', this.resetHandler);\n }\n };\n DropDownList.prototype.updateIconState = function () {\n if (this.showClearButton) {\n if (this.inputElement.value !== '' && !this.readonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.clearButton], dropDownListClasses.clearIconHide);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.clearButton], dropDownListClasses.clearIconHide);\n }\n }\n };\n /**\n * Event binding for list\n *\n * @returns {void}\n */\n DropDownList.prototype.wireListEvents = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'click', this.onMouseClick, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'mouseover', this.onMouseOver, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'mouseout', this.onMouseLeave, this);\n }\n };\n DropDownList.prototype.onSearch = function (e) {\n if (e.charCode !== 32 && e.charCode !== 13) {\n if (this.list === undefined) {\n this.renderList();\n }\n this.searchKeyEvent = e;\n this.onServerIncrementalSearch(e);\n }\n };\n DropDownList.prototype.onServerIncrementalSearch = function (e) {\n if (!this.isRequested && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list.querySelector('li')) && this.enabled && !this.readonly) {\n this.incrementalSearch(e);\n }\n };\n DropDownList.prototype.startResizing = function (event) {\n this.isResizing = true;\n this.trigger('resizeStart', event);\n // Get initial touch or mouse coordinates\n var clientX = (event instanceof MouseEvent) ? event.clientX : event.touches[0].clientX;\n var clientY = (event instanceof MouseEvent) ? event.clientY : event.touches[0].clientY;\n // Store the initial dimensions of the popup\n if (this.list && this.list.parentElement) {\n this.originalWidth = this.list.parentElement.offsetWidth;\n this.originalHeight = this.list.parentElement.offsetHeight;\n this.originalMouseX = clientX;\n this.originalMouseY = clientY;\n }\n // Wire up events for resizing\n this.resizingWireEvent();\n if (event) {\n event.preventDefault(); // Prevent selection behavior if event exists\n }\n };\n DropDownList.prototype.resizePopup = function (event) {\n if (!this.isResizing) {\n return;\n }\n this.trigger('resizing', event);\n // Get the current touch or mouse position\n var clientX = (event instanceof MouseEvent) ? event.clientX : event.touches[0].clientX;\n var clientY = (event instanceof MouseEvent) ? event.clientY : event.touches[0].clientY;\n // Calculate the new width and height based on drag\n var dx = clientX - this.originalMouseX;\n var dy = clientY - this.originalMouseY;\n if (this.list && this.list.parentElement) {\n // Minimum width and height (100px)\n var minWidth = parseInt(window.getComputedStyle(this.list.parentElement).minWidth, 10);\n var minHeight = parseInt(window.getComputedStyle(this.list.parentElement).minHeight, 10);\n minWidth = minWidth || 100;\n minHeight = minHeight || 120;\n // Ensure the new width and height are not less than the minimum\n this.resizeWidth = Math.max(this.originalWidth + dx, minWidth);\n this.resizeHeight = Math.max(this.originalHeight + dy, minHeight);\n this.list.parentElement.style.width = this.resizeWidth + \"px\";\n this.list.parentElement.style.height = this.resizeHeight + \"px\";\n this.list.parentElement.style.maxHeight = this.resizeHeight + \"px\";\n this.list.style.maxHeight = this.resizeHeight + \"px\";\n if (this.fixedHeaderElement && this.ulElement) {\n this.fixedHeaderElement.style.width = this.ulElement.offsetWidth + \"px\";\n }\n }\n if (event) {\n event.preventDefault(); // Prevent selection behavior if event exists\n }\n };\n DropDownList.prototype.stopResizing = function (event) {\n if (this.isResizing) {\n this.isResizing = false;\n this.trigger('resizeStop', event);\n // Unwire the resize event listeners\n this.resizingUnWireEvent();\n }\n if (event) {\n event.preventDefault(); // Prevent selection behavior if event exists\n }\n };\n DropDownList.prototype.onMouseClick = function (e) {\n var target = e.target;\n this.keyboardEvent = null;\n var li = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n if (!this.isValidLI(li) || this.isDisabledElement(li)) {\n return;\n }\n this.setSelection(li, e);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isFilterLayout()) {\n history.back();\n }\n else {\n var delay = 100;\n this.closePopup(delay, e);\n }\n };\n DropDownList.prototype.onMouseOver = function (e) {\n var currentLi = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n this.setHover(currentLi);\n };\n DropDownList.prototype.setHover = function (li) {\n if (this.enabled && this.isValidLI(li) && !li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.hover)) {\n this.removeHover();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.hover);\n }\n };\n DropDownList.prototype.onMouseLeave = function () {\n this.removeHover();\n };\n DropDownList.prototype.removeHover = function () {\n if (this.list) {\n var hoveredItem = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.hover);\n if (hoveredItem && hoveredItem.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(hoveredItem, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.hover);\n }\n }\n };\n DropDownList.prototype.isValidLI = function (li) {\n return (li && li.hasAttribute('role') && li.getAttribute('role') === 'option');\n };\n DropDownList.prototype.updateIncrementalItemIndex = function (startIndex, endIndex) {\n this.incrementalStartIndex = startIndex;\n this.incrementalEndIndex = endIndex;\n };\n DropDownList.prototype.incrementalSearch = function (e) {\n if (this.liCollections.length > 0) {\n if (this.enableVirtualization) {\n var updatingincrementalindex = false;\n var queryStringUpdated = false;\n var activeElement = this.ulElement.getElementsByClassName('e-active')[0];\n var currentValue = activeElement ? activeElement.textContent : null;\n if (this.incrementalQueryString === '') {\n this.incrementalQueryString = String.fromCharCode(e.charCode);\n this.incrementalPreQueryString = this.incrementalQueryString;\n }\n else if (String.fromCharCode(e.charCode).toLocaleLowerCase() === this.incrementalPreQueryString.toLocaleLowerCase()) {\n queryStringUpdated = true;\n }\n else {\n this.incrementalQueryString = String.fromCharCode(e.charCode);\n }\n if ((this.viewPortInfo.endIndex >= this.incrementalEndIndex && this.incrementalEndIndex <= this.totalItemCount) ||\n this.incrementalEndIndex === 0) {\n updatingincrementalindex = true;\n this.incrementalStartIndex = this.incrementalEndIndex;\n if (this.incrementalEndIndex === 0) {\n this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;\n }\n else {\n this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount :\n this.incrementalEndIndex + 100;\n }\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = true;\n }\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n var li = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.incrementalSearch)(e.charCode, this.incrementalLiCollections, this.activeIndex, true, this.element.id, queryStringUpdated, currentValue, true);\n while ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) && this.incrementalEndIndex < this.totalItemCount) {\n this.updateIncrementalItemIndex(this.incrementalEndIndex, this.incrementalEndIndex + 100 > this.totalItemCount ?\n this.totalItemCount : this.incrementalEndIndex + 100);\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = true;\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n li = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.incrementalSearch)(e.charCode, this.incrementalLiCollections, 0, true, this.element.id, queryStringUpdated, currentValue, true, true);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n break;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) && this.incrementalEndIndex >= this.totalItemCount) {\n this.updateIncrementalItemIndex(0, 100 > this.totalItemCount ? this.totalItemCount : 100);\n break;\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) && this.incrementalEndIndex >= this.totalItemCount) {\n this.updateIncrementalItemIndex(0, 100 > this.totalItemCount ? this.totalItemCount : 100);\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = true;\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n li = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.incrementalSearch)(e.charCode, this.incrementalLiCollections, 0, true, this.element.id, queryStringUpdated, currentValue, true, true);\n }\n var index = li && this.getIndexByValue(li.getAttribute('data-value'));\n if (!index) {\n for (var i = 0; i < this.incrementalLiCollections.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li.getAttribute('data-value')) &&\n this.incrementalLiCollections[i].getAttribute('data-value') === li.getAttribute('data-value').toString()) {\n index = i;\n index = this.incrementalStartIndex + index;\n break;\n }\n }\n }\n else {\n index = index - this.skeletonCount;\n }\n if (index) {\n if ((!(this.viewPortInfo.startIndex >= index)) || (!(index >= this.viewPortInfo.endIndex))) {\n var startIndex = index - ((this.itemCount / 2) - 2) > 0 ? index - ((this.itemCount / 2) - 2) : 0;\n var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ?\n this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;\n this.updateIncrementalView(startIndex, endIndex);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n var index_1 = this.getIndexByValue(li.getAttribute('data-value')) - this.skeletonCount;\n if (index_1 > this.itemCount / 2) {\n var startIndex = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount ?\n this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) : this.totalItemCount;\n var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ?\n this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;\n this.updateIncrementalView(startIndex, endIndex);\n }\n li = this.getElementByValue(li.getAttribute('data-value'));\n this.setSelection(li, e);\n this.setScrollPosition();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n if (this.enableVirtualization && !this.fields.groupBy) {\n var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?\n this.selectedLI.offsetTop +\n (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;\n this.list.scrollTop = selectedLiOffsetTop -\n (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);\n }\n this.incrementalPreQueryString = this.incrementalQueryString;\n }\n else {\n this.updateIncrementalView(0, this.itemCount);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n this.list.scrollTop = 0;\n }\n }\n else {\n var li = void 0;\n if (this.fields.disabled) {\n var enableLiCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li + ':not(.e-disabled)');\n li = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.incrementalSearch)(e.charCode, enableLiCollections, this.activeIndex, true, this.element.id);\n }\n else {\n li = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.incrementalSearch)(e.charCode, this.liCollections, this.activeIndex, true, this.element.id);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n this.setSelection(li, e);\n this.setScrollPosition();\n }\n }\n }\n };\n /**\n * Hides the spinner loader.\n *\n * @returns {void}\n */\n DropDownList.prototype.hideSpinner = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinnerElement)) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.hideSpinner)(this.spinnerElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.spinnerElement], dropDownListClasses.disableIcon);\n this.spinnerElement.innerHTML = '';\n this.spinnerElement = null;\n }\n };\n /**\n * Shows the spinner loader.\n *\n * @returns {void}\n */\n DropDownList.prototype.showSpinner = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinnerElement)) {\n this.spinnerElement = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterInputObj) && this.filterInputObj.buttons[1] ||\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterInputObj) && this.filterInputObj.buttons[0] || this.inputWrapper.buttons[0];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.spinnerElement], dropDownListClasses.disableIcon);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.createSpinner)({\n target: this.spinnerElement,\n width: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? '16px' : '14px'\n }, this.createElement);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.showSpinner)(this.spinnerElement);\n }\n };\n DropDownList.prototype.keyActionHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n this.keyboardEvent = e;\n if (this.isPreventKeyAction && this.enableVirtualization) {\n e.preventDefault();\n }\n var preventAction = e.action === 'pageUp' || e.action === 'pageDown';\n var preventHomeEnd = this.getModuleName() !== 'dropdownlist' && (e.action === 'home' || e.action === 'end');\n this.isEscapeKey = e.action === 'escape';\n this.isTabKey = !this.isPopupOpen && e.action === 'tab';\n var isNavigation = (e.action === 'down' || e.action === 'up' || e.action === 'pageUp' || e.action === 'pageDown'\n || e.action === 'home' || e.action === 'end');\n if ((this.isEditTextBox() || preventAction || preventHomeEnd) && !this.isPopupOpen) {\n return;\n }\n if (!this.readonly) {\n var isTabAction = e.action === 'tab' || e.action === 'close';\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) && !this.isRequested && !isTabAction && e.action !== 'escape') {\n this.searchKeyEvent = e;\n if (!this.enableVirtualization || (this.enableVirtualization && this.getModuleName() !== 'autocomplete' && e.type !== 'mousedown' && (e.keyCode === 40 || e.keyCode === 38))) {\n this.renderList(e);\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections) &&\n isNavigation && this.liCollections.length === 0) || this.isRequested) {\n return;\n }\n if ((isTabAction && this.getModuleName() !== 'autocomplete') && this.isPopupOpen\n || e.action === 'escape') {\n e.preventDefault();\n }\n this.isSelected = e.action === 'escape' ? false : this.isSelected;\n this.isTyped = (isNavigation || e.action === 'escape') ? false : this.isTyped;\n switch (e.action) {\n case 'down':\n case 'up':\n this.updateUpDownAction(e);\n break;\n case 'pageUp':\n this.pageUpSelection(this.activeIndex - this.getPageCount(), e);\n e.preventDefault();\n break;\n case 'pageDown':\n this.pageDownSelection(this.activeIndex + this.getPageCount(), e);\n e.preventDefault();\n break;\n case 'home':\n this.isMouseScrollAction = true;\n this.updateHomeEndAction(e);\n break;\n case 'end':\n this.isMouseScrollAction = true;\n this.updateHomeEndAction(e);\n break;\n case 'space':\n if (this.getModuleName() === 'dropdownlist') {\n if (!this.beforePopupOpen) {\n this.showPopup();\n e.preventDefault();\n }\n }\n break;\n case 'open':\n this.showPopup(e);\n break;\n case 'hide':\n this.preventAltUp = this.isPopupOpen;\n this.hidePopup(e);\n this.focusDropDown(e);\n break;\n case 'enter':\n this.selectCurrentItem(e);\n break;\n case 'tab':\n this.selectCurrentValueOnTab(e);\n break;\n case 'escape':\n case 'close':\n if (this.isPopupOpen) {\n this.hidePopup(e);\n this.focusDropDown(e);\n }\n break;\n }\n }\n };\n DropDownList.prototype.updateUpDownAction = function (e, isVirtualKeyAction) {\n if (this.fields.disabled && this.list && this.list.querySelectorAll('.e-list-item:not(.e-disabled)').length === 0) {\n return;\n }\n if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {\n var value = this.getItemData().value;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n value = 'null';\n }\n var filterIndex = this.getIndexByValue(value);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterIndex)) {\n this.activeIndex = filterIndex;\n }\n }\n var focusEle = this.list.querySelector('.' + dropDownListClasses.focus);\n if (this.isSelectFocusItem(focusEle) && !isVirtualKeyAction) {\n this.setSelection(focusEle, e);\n if (this.enableVirtualization) {\n var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop +\n (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;\n if (this.fields.groupBy) {\n selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex === 0 ?\n this.selectedLI.offsetHeight - selectedLiOffsetTop : selectedLiOffsetTop - this.selectedLI.offsetHeight;\n }\n this.list.scrollTop = selectedLiOffsetTop -\n (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections)) {\n var virtualIndex = this.activeIndex;\n var index = e.action === 'down' ? this.activeIndex + 1 : this.activeIndex - 1;\n index = isVirtualKeyAction ? virtualIndex : index;\n var startIndex = 0;\n if (this.getModuleName() === 'autocomplete') {\n startIndex = e.action === 'down' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex) ? 0 : this.liCollections.length - 1;\n index = index < 0 ? this.liCollections.length - 1 : index === this.liCollections.length ? 0 : index;\n }\n var nextItem = void 0;\n if (this.getModuleName() !== 'autocomplete' || this.getModuleName() === 'autocomplete' && this.isPopupOpen) {\n if (!this.enableVirtualization) {\n nextItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex) ? this.liCollections[startIndex]\n : this.liCollections[index];\n }\n else {\n if (!isVirtualKeyAction) {\n nextItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex) ? this.liCollections[this.skeletonCount]\n : this.liCollections[index];\n nextItem = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nextItem) && !nextItem.classList.contains('e-virtual-list') ? nextItem : null;\n }\n else {\n if (this.getModuleName() === 'autocomplete') {\n var value = this.getFormattedValue(this.selectedLI.getAttribute('data-value'));\n nextItem = this.getElementByValue(value);\n }\n else {\n nextItem = this.getElementByValue(this.getItemData().value);\n }\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nextItem)) {\n var focusAtFirstElement = this.liCollections[this.skeletonCount] &&\n this.liCollections[this.skeletonCount].classList.contains('e-item-focus');\n this.setSelection(nextItem, e);\n if (focusAtFirstElement && this.enableVirtualization && this.getModuleName() === 'autocomplete' && !isVirtualKeyAction) {\n var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?\n this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) :\n this.selectedLI.offsetTop;\n selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex === 0 && this.fields.groupBy ?\n this.selectedLI.offsetHeight - selectedLiOffsetTop : selectedLiOffsetTop - this.selectedLI.offsetHeight;\n this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);\n }\n }\n else if (this.enableVirtualization && !this.isPopupOpen && this.getModuleName() !== 'autocomplete' && ((this.viewPortInfo.endIndex !== this.totalItemCount && e.action === 'down') || (this.viewPortInfo.startIndex !== 0 && e.action === 'up'))) {\n if (e.action === 'down') {\n this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex + this.itemCount) <\n (this.totalItemCount - this.itemCount) ? this.viewPortInfo.startIndex + this.itemCount :\n this.totalItemCount - this.itemCount;\n this.viewPortInfo.endIndex = this.viewPortInfo.startIndex + this.itemCount;\n this.updateVirtualItemIndex();\n this.isCustomFilter = this.getModuleName() === 'combobox' ? true : this.isCustomFilter;\n this.resetList(this.dataSource, this.fields, this.query);\n this.isCustomFilter = this.getModuleName() === 'combobox' ? false : this.isCustomFilter;\n var value = this.liCollections[0].getAttribute('data-value') !== 'null' ?\n this.getFormattedValue(this.liCollections[0].getAttribute('data-value')) : null;\n var selectedData = this.getDataByValue(value);\n if (selectedData) {\n this.itemData = selectedData;\n }\n }\n else if (e.action === 'up') {\n this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex - this.itemCount) > 0 ?\n this.viewPortInfo.startIndex - this.itemCount : 0;\n this.viewPortInfo.endIndex = this.viewPortInfo.startIndex + this.itemCount;\n this.updateVirtualItemIndex();\n this.isCustomFilter = this.getModuleName() === 'combobox' ? true : this.isCustomFilter;\n this.resetList(this.dataSource, this.fields, this.query);\n this.isCustomFilter = this.getModuleName() === 'combobox' ? false : this.isCustomFilter;\n var value = this.liCollections[this.liCollections.length - 1].getAttribute('data-value') !== 'null' ? this.getFormattedValue(this.liCollections[this.liCollections.length - 1].getAttribute('data-value')) : null;\n var selectedData = this.getDataByValue(value);\n if (selectedData) {\n this.itemData = selectedData;\n }\n }\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n this.handleVirtualKeyboardActions(e, this.pageCount);\n }\n }\n if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {\n var value = this.getItemData().value;\n var filterIndex = this.getIndexByValueFilter(value, this.actionCompleteData.ulElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterIndex)) {\n this.activeIndex = filterIndex;\n }\n }\n if (this.allowFiltering && this.getModuleName() === 'dropdownlist' && this.filterInput) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-active')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-active')[0].id });\n }\n }\n var itemIndex;\n for (var index = 0; index < this.liCollections.length; index++) {\n if (this.liCollections[index].classList.contains(dropDownListClasses.focus)\n || this.liCollections[index].classList.contains(dropDownListClasses.selected)) {\n itemIndex = index;\n break;\n }\n }\n if (itemIndex != null && this.isDisabledElement(this.liCollections[itemIndex])) {\n if (this.getModuleName() !== 'autocomplete') {\n if (this.liCollections.length - 1 === itemIndex && e.action === 'down') {\n e.action = 'up';\n }\n if (itemIndex === 0 && e.action === 'up') {\n e.action = 'down';\n }\n }\n this.updateUpDownAction(e);\n }\n e.preventDefault();\n };\n DropDownList.prototype.updateHomeEndAction = function (e, isVirtualKeyAction) {\n if (this.getModuleName() === 'dropdownlist') {\n var findLi = 0;\n if (e.action === 'home') {\n findLi = 0;\n if (this.enableVirtualization && this.isPopupOpen) {\n findLi = this.skeletonCount;\n }\n else if (this.enableVirtualization && !this.isPopupOpen && this.viewPortInfo.startIndex !== 0) {\n this.viewPortInfo.startIndex = 0;\n this.viewPortInfo.endIndex = this.itemCount;\n this.updateVirtualItemIndex();\n this.resetList(this.dataSource, this.fields, this.query);\n }\n }\n else {\n if (this.enableVirtualization && !this.isPopupOpen && this.viewPortInfo.endIndex !== this.totalItemCount) {\n this.viewPortInfo.startIndex = this.totalItemCount - this.itemCount;\n this.viewPortInfo.endIndex = this.totalItemCount;\n this.updateVirtualItemIndex();\n this.resetList(this.dataSource, this.fields, this.query);\n }\n findLi = this.getItems().length - 1;\n }\n e.preventDefault();\n if (this.activeIndex === findLi) {\n if (isVirtualKeyAction) {\n this.setSelection(this.liCollections[findLi], e);\n }\n return;\n }\n if (!this.enableVirtualization && this.liCollections[findLi] && this.liCollections[findLi].classList.contains('e-disabled')) {\n return;\n }\n this.setSelection(this.liCollections[findLi], e);\n }\n };\n DropDownList.prototype.selectCurrentValueOnTab = function (e) {\n if (this.getModuleName() === 'autocomplete') {\n this.selectCurrentItem(e);\n }\n else {\n if (this.isPopupOpen) {\n this.hidePopup(e);\n this.focusDropDown(e);\n }\n }\n };\n DropDownList.prototype.mobileKeyActionHandler = function (e) {\n if (!this.enabled) {\n return;\n }\n if ((this.isEditTextBox()) && !this.isPopupOpen) {\n return;\n }\n if (!this.readonly) {\n if (this.list === undefined && !this.isRequested) {\n this.searchKeyEvent = e;\n this.renderList();\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections) &&\n this.liCollections.length === 0) || this.isRequested) {\n return;\n }\n if (e.action === 'enter') {\n this.selectCurrentItem(e);\n }\n }\n };\n DropDownList.prototype.handleVirtualKeyboardActions = function (e, pageCount) {\n switch (e.action) {\n case 'down':\n case 'up':\n if (this.itemData != null || this.getModuleName() === 'autocomplete') {\n this.updateUpDownAction(e, true);\n }\n break;\n case 'pageUp':\n this.activeIndex = this.getModuleName() === 'autocomplete' ?\n this.getIndexByValue(this.selectedLI.getAttribute('data-value')) + this.getPageCount() - 1 :\n this.getIndexByValue(this.previousValue);\n this.pageUpSelection(this.activeIndex - this.getPageCount(), e, true);\n e.preventDefault();\n break;\n case 'pageDown':\n this.activeIndex = this.getModuleName() === 'autocomplete' ?\n this.getIndexByValue(this.selectedLI.getAttribute('data-value')) - this.getPageCount() :\n this.getIndexByValue(this.previousValue);\n this.pageDownSelection(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeIndex) ?\n (this.activeIndex + this.getPageCount()) : (2 * this.getPageCount()), e, true);\n e.preventDefault();\n break;\n case 'home':\n this.isMouseScrollAction = true;\n this.updateHomeEndAction(e, true);\n break;\n case 'end':\n this.isMouseScrollAction = true;\n this.updateHomeEndAction(e, true);\n break;\n }\n this.keyboardEvent = null;\n };\n DropDownList.prototype.selectCurrentItem = function (e) {\n if (this.isPopupOpen) {\n var li = this.list.querySelector('.' + dropDownListClasses.focus);\n if (this.isDisabledElement(li)) {\n return;\n }\n if (li) {\n this.setSelection(li, e);\n this.isTyped = false;\n }\n if (this.isSelected) {\n this.isSelectCustom = false;\n this.onChangeEvent(e);\n }\n this.hidePopup(e);\n this.focusDropDown(e);\n }\n else {\n this.showPopup();\n }\n };\n DropDownList.prototype.isSelectFocusItem = function (element) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element);\n };\n DropDownList.prototype.pageUpSelection = function (steps, event, isVirtualKeyAction) {\n var previousItem = steps >= 0 ? this.liCollections[steps + 1] : this.liCollections[0];\n if (!this.enableVirtualization && previousItem && previousItem.classList.contains('e-disabled')) {\n var validIndex = steps >= 0 ? steps + 1 : 0;\n while (validIndex < this.liCollections.length) {\n previousItem = this.liCollections[validIndex];\n if (previousItem && !previousItem.classList.contains('e-disabled')) {\n break;\n }\n validIndex--;\n if (validIndex < 0) {\n return;\n }\n }\n }\n if ((this.enableVirtualization && this.activeIndex == null)) {\n previousItem = (this.liCollections.length >= steps && steps >= 0) ?\n this.liCollections[steps + this.skeletonCount + 1] : this.liCollections[0];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(previousItem) && previousItem.classList.contains('e-virtual-list')) {\n previousItem = this.liCollections[this.skeletonCount];\n }\n this.PageUpDownSelection(previousItem, event);\n if (this.allowFiltering && this.getModuleName() === 'dropdownlist') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-active')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-active')[0].id });\n }\n }\n };\n DropDownList.prototype.PageUpDownSelection = function (previousItem, event) {\n if (this.enableVirtualization) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(previousItem) && ((this.getModuleName() !== 'autocomplete' &&\n !previousItem.classList.contains('e-active')) || (this.getModuleName() === 'autocomplete' &&\n !previousItem.classList.contains('e-item-focus')))) {\n this.setSelection(previousItem, event);\n }\n }\n else {\n this.setSelection(previousItem, event);\n }\n };\n DropDownList.prototype.pageDownSelection = function (steps, event, isVirtualKeyAction) {\n var list = this.getItems();\n var previousItem = steps <= list.length ? this.liCollections[steps - 1] : this.liCollections[list.length - 1];\n if (!this.enableVirtualization && previousItem && previousItem.classList.contains('e-disabled')) {\n while (steps >= 0 && steps < this.liCollections.length) {\n previousItem = steps <= list.length ? this.liCollections[steps - 1] : this.liCollections[list.length - 1];\n if (previousItem && !previousItem.classList.contains('e-disabled')) {\n break;\n }\n steps++;\n }\n }\n if (this.enableVirtualization && this.skeletonCount > 0) {\n steps = this.getModuleName() === 'dropdownlist' && this.allowFiltering ? steps + 1 : steps;\n previousItem = steps < list.length ? this.liCollections[steps] : this.liCollections[list.length - 1];\n }\n if ((this.enableVirtualization && this.activeIndex == null)) {\n previousItem = steps <= list.length ? this.liCollections[steps + this.skeletonCount - 1] : this.liCollections[list.length - 1];\n }\n this.PageUpDownSelection(previousItem, event);\n if (this.allowFiltering && this.getModuleName() === 'dropdownlist') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-active')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-active')[0].id });\n }\n }\n };\n DropDownList.prototype.unWireEvent = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.container, 'mousedown', this.dropDownClick);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.container, 'keypress', this.onSearch);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputWrapper.container, 'focus', this.focusIn);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'resize', this.windowResize);\n }\n this.unBindCommonEvent();\n };\n /**\n * Event un binding for list items.\n *\n * @returns {void}\n */\n DropDownList.prototype.unWireListEvents = function () {\n if (this.list) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'click', this.onMouseClick);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'mouseover', this.onMouseOver);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'mouseout', this.onMouseLeave);\n }\n };\n DropDownList.prototype.checkSelector = function (id) {\n return '[id=\"' + id.replace(/(:|\\.|\\[|\\]|,|=|@|\\\\|\\/|#)/g, '\\\\$1') + '\"]';\n };\n DropDownList.prototype.onDocumentClick = function (e) {\n var target = e.target;\n if (!(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, this.checkSelector(this.popupObj.element.id))) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper) && !this.inputWrapper.container.contains(e.target)) {\n if (this.inputWrapper.container.classList.contains(dropDownListClasses.inputFocus) || this.isPopupOpen) {\n this.isDocumentClick = true;\n var isActive = this.isRequested;\n if (this.getModuleName() === 'combobox' && this.isTyped) {\n this.isInteracted = false;\n }\n this.hidePopup(e);\n this.isInteracted = false;\n if (!isActive) {\n this.onFocusOut(e);\n this.inputWrapper.container.classList.remove(dropDownListClasses.inputFocus);\n }\n }\n }\n else if (target !== this.inputElement && !(this.allowFiltering && target === this.filterInput)\n && !(this.getModuleName() === 'combobox' &&\n !this.allowFiltering && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && target === this.inputWrapper.buttons[0])) {\n this.isPreventBlur = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge') && (document.activeElement === this.targetElement() ||\n document.activeElement === this.filterInput);\n e.preventDefault();\n }\n };\n DropDownList.prototype.activeStateChange = function () {\n if (this.isDocumentClick) {\n this.hidePopup();\n this.onFocusOut();\n this.inputWrapper.container.classList.remove(dropDownListClasses.inputFocus);\n }\n };\n DropDownList.prototype.focusDropDown = function (e) {\n if (!this.initial && this.isFilterLayout()) {\n this.focusIn(e);\n }\n };\n DropDownList.prototype.dropDownClick = function (e) {\n if (e.which === 3 || e.button === 2) {\n return;\n }\n this.keyboardEvent = null;\n if (this.targetElement().classList.contains(dropDownListClasses.disable) || this.inputWrapper.clearButton === e.target) {\n return;\n }\n var target = e.target;\n if (target !== this.inputElement && !(this.allowFiltering && target === this.filterInput) && this.getModuleName() !== 'combobox') {\n e.preventDefault();\n }\n if (!this.readonly) {\n if (this.isPopupOpen) {\n this.hidePopup(e);\n if (this.isFilterLayout()) {\n this.focusDropDown(e);\n }\n }\n else {\n this.focusIn(e);\n this.floatLabelChange();\n this.queryString = this.inputElement.value.trim() === '' ? null : this.inputElement.value;\n this.isDropDownClick = true;\n this.showPopup(e);\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var proxy_1 = this;\n // eslint-disable-next-line max-len\n var duration = (this.element.tagName === this.getNgDirective() && this.itemTemplate) ? 500 : 100;\n if (!this.isSecondClick) {\n setTimeout(function () {\n proxy_1.cloneElements();\n proxy_1.isSecondClick = true;\n proxy_1.isSecondClick = proxy_1.isReact && proxy_1.isFiltering() && proxy_1.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && !proxy_1.list.querySelector('ul') ? false : true;\n }, duration);\n }\n }\n else {\n this.focusIn(e);\n }\n };\n DropDownList.prototype.cloneElements = function () {\n if (this.list) {\n var ulElement = this.list.querySelector('ul');\n if (ulElement) {\n ulElement = ulElement.cloneNode ? ulElement.cloneNode(true) : ulElement;\n this.actionCompleteData.ulElement = ulElement;\n }\n }\n };\n DropDownList.prototype.updateSelectedItem = function (li, e, preventSelect, isSelection) {\n var _this = this;\n this.removeSelection();\n li.classList.add(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected);\n this.removeHover();\n var value = li.getAttribute('data-value') !== null ?\n this.getFormattedValue(li.getAttribute('data-value')) : null;\n var selectedData = this.getDataByValue(value);\n if (!this.initial && !preventSelect && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)) {\n var items = this.detachChanges(selectedData);\n this.isSelected = true;\n var eventArgs = {\n e: e,\n item: li,\n itemData: items,\n isInteracted: e ? true : false,\n cancel: false\n };\n this.trigger('select', eventArgs, function (eventArgs) {\n if (eventArgs.cancel) {\n li.classList.remove(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected);\n }\n else {\n _this.selectEventCallback(li, e, preventSelect, selectedData, value);\n if (isSelection) {\n _this.setSelectOptions(li, e);\n }\n }\n });\n }\n else {\n this.selectEventCallback(li, e, preventSelect, selectedData, value);\n if (isSelection) {\n this.setSelectOptions(li, e);\n }\n }\n };\n DropDownList.prototype.selectEventCallback = function (li, e, preventSelect, selectedData, value) {\n this.previousItemData = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData)) ? this.itemData : null;\n if (this.itemData !== selectedData) {\n this.previousValue = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData)) ? typeof this.itemData == 'object' &&\n !this.allowObjectBinding ? this.checkFieldValue(this.itemData, this.fields.value.split('.')) : this.itemData : null;\n }\n this.item = li;\n this.itemData = selectedData;\n var focusedItem = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.focus);\n if (focusedItem) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([focusedItem], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.focus);\n }\n li.setAttribute('aria-selected', 'true');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n value = 'null';\n }\n if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {\n var filterIndex = this.getIndexByValueFilter(value, this.actionCompleteData.ulElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterIndex)) {\n this.activeIndex = filterIndex;\n }\n else {\n this.activeIndex = this.getIndexByValue(value);\n }\n }\n else {\n if (this.enableVirtualization && this.activeIndex == null && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n this.ulElement = this.list.querySelector('ul');\n }\n this.activeIndex = this.getIndexByValue(value);\n }\n };\n DropDownList.prototype.activeItem = function (li) {\n if (this.isValidLI(li) && !li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected)) {\n this.removeSelection();\n li.classList.add(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected);\n this.removeHover();\n li.setAttribute('aria-selected', 'true');\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownList.prototype.setValue = function (e) {\n var dataItem = this.getItemData();\n this.isTouched = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e);\n if (dataItem.value === null) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setValue(null, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n else {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setValue(dataItem.text, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n if (this.valueTemplate && this.itemData !== null) {\n this.setValueTemplate();\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.valueTempElement) && this.inputElement.previousSibling === this.valueTempElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.valueTempElement);\n this.inputElement.style.display = 'block';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem.value) && !this.enableVirtualization && this.allowFiltering) {\n this.activeIndex = this.getIndexByValueFilter(dataItem.value, this.actionCompleteData.ulElement);\n }\n var clearIcon = dropDownListClasses.clearIcon;\n var isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');\n var clearElement = isFilterElement && this.filterInput.parentElement.querySelector('.' + clearIcon);\n if (this.isFiltering() && clearElement) {\n clearElement.style.removeProperty('visibility');\n }\n if ((!this.allowObjectBinding && (this.previousValue === dataItem.value)) || (this.allowObjectBinding &&\n (this.previousValue != null && this.isObjectInArray(this.previousValue, [this.allowCustom &&\n this.isObjectCustomValue ? this.value ? this.value : dataItem : dataItem.value ?\n this.getDataByValue(dataItem.value) : dataItem])))) {\n this.isSelected = false;\n return true;\n }\n else {\n this.isSelected = !this.initial ? true : false;\n this.isSelectCustom = false;\n if (this.getModuleName() === 'dropdownlist') {\n this.updateIconState();\n }\n return false;\n }\n };\n DropDownList.prototype.setSelection = function (li, e) {\n if (this.isValidLI(li) && (!li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected) || (this.isPopupOpen && this.isSelected\n && li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected)))) {\n this.updateSelectedItem(li, e, false, true);\n }\n else {\n this.setSelectOptions(li, e);\n if (this.enableVirtualization && this.value) {\n var fields = !this.isPrimitiveData ? this.fields.value : '';\n var currentValue = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n var getItem = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(this.virtualGroupDataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query().where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Predicate(fields, 'equal', currentValue)));\n if (getItem && getItem.length > 0) {\n this.itemData = getItem[0];\n var dataItem = this.getItemData();\n var value = this.allowObjectBinding ?\n this.getDataByValue(dataItem.value) : dataItem.value;\n if ((this.value === dataItem.value && this.text !== dataItem.text) ||\n (this.value !== dataItem.value && this.text === dataItem.text)) {\n this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });\n }\n }\n }\n else {\n var getItem = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(this.dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query().where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Predicate(fields, 'equal', currentValue)));\n if (getItem && getItem.length > 0) {\n this.itemData = getItem[0];\n var dataItem = this.getItemData();\n var value = this.allowObjectBinding ?\n this.getDataByValue(dataItem.value) : dataItem.value;\n if ((this.value === dataItem.value && this.text !== dataItem.text) ||\n (this.value !== dataItem.value && this.text === dataItem.text)) {\n this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) {\n this.previousValue = this.value;\n }\n }\n }\n }\n }\n }\n };\n DropDownList.prototype.setSelectOptions = function (li, e) {\n if (this.list) {\n this.removeHover();\n }\n this.previousSelectedLI = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI)) ? this.selectedLI : null;\n this.selectedLI = li;\n if (this.setValue(e)) {\n return;\n }\n if ((!this.isPopupOpen && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li)) || (this.isPopupOpen && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) &&\n (e.type !== 'keydown' || e.type === 'keydown' && e.action === 'enter'))) {\n this.isSelectCustom = false;\n this.onChangeEvent(e);\n }\n if (this.isPopupOpen && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI) && this.itemData !== null && (!e || e.type !== 'click')) {\n this.setScrollPosition(e);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name !== 'mozilla') {\n if (this.targetElement()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), { 'aria-describedby': this.inputElement.id !== '' ? this.inputElement.id : this.element.id });\n this.targetElement().removeAttribute('aria-live');\n }\n }\n if (this.isPopupOpen && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n else if (this.isPopupOpen && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-active')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-active')[0].id });\n }\n };\n DropDownList.prototype.dropdownCompiler = function (dropdownTemplate) {\n var checkTemplate = false;\n if (typeof dropdownTemplate !== 'function' && dropdownTemplate) {\n try {\n checkTemplate = (document.querySelectorAll(dropdownTemplate).length) ? true : false;\n }\n catch (exception) {\n checkTemplate = false;\n }\n }\n return checkTemplate;\n };\n DropDownList.prototype.setValueTemplate = function () {\n var compiledString;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact) {\n this.clearTemplate(['valueTemplate']);\n if (this.valueTempElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.valueTempElement);\n this.inputElement.style.display = 'block';\n this.valueTempElement = null;\n }\n }\n if (!this.valueTempElement) {\n this.valueTempElement = this.createElement('span', { className: dropDownListClasses.value });\n this.inputElement.parentElement.insertBefore(this.valueTempElement, this.inputElement);\n this.inputElement.style.display = 'none';\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!this.isReact) {\n this.valueTempElement.innerHTML = '';\n }\n var valuecheck = this.dropdownCompiler(this.valueTemplate);\n if (typeof this.valueTemplate !== 'function' && valuecheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(document.querySelector(this.valueTemplate).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.valueTemplate);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var valueCompTemp = compiledString(this.itemData, this, 'valueTemplate', this.valueTemplateId, this.isStringTemplate, null, this.valueTempElement);\n if (valueCompTemp && valueCompTemp.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(valueCompTemp, this.valueTempElement);\n }\n this.renderReactTemplates();\n };\n DropDownList.prototype.removeSelection = function () {\n if (this.list) {\n var selectedItems = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected);\n if (selectedItems.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(selectedItems, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected);\n selectedItems[0].removeAttribute('aria-selected');\n }\n }\n };\n DropDownList.prototype.getItemData = function () {\n var fields = this.fields;\n var dataItem = null;\n dataItem = this.itemData;\n var dataValue;\n var dataText;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem)) {\n dataValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.value, dataItem);\n dataText = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.text, dataItem);\n }\n var value = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(dataValue) ? dataValue : dataItem);\n var text = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(dataValue) ? dataText : dataItem);\n return { value: value, text: text };\n };\n /**\n * To trigger the change event for list.\n *\n * @param {MouseEvent | KeyboardEvent | TouchEvent} eve - Specifies the event arguments.\n * @param {boolean} isCustomValue - Specifies whether the value is custom value or not.\n * @returns {void}\n */\n DropDownList.prototype.onChangeEvent = function (eve, isCustomValue) {\n var _this = this;\n var dataItem = this.getItemData();\n var index = this.isSelectCustom ? null : this.activeIndex;\n if (this.enableVirtualization) {\n var datas = this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ? this.virtualGroupDataSource : this.dataSource;\n if (dataItem.value && datas && datas.length > 0) {\n var foundIndex = datas.findIndex(function (data) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem.value) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(_this.fields.value, data) === dataItem.value;\n });\n if (foundIndex !== -1) {\n index = foundIndex;\n }\n }\n }\n var value = this.allowObjectBinding ? isCustomValue ?\n this.value : this.getDataByValue(dataItem.value) : dataItem.value;\n this.setProperties({ 'index': index, 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value }, true);\n this.detachChangeEvent(eve);\n };\n DropDownList.prototype.detachChanges = function (value) {\n var items;\n if (typeof value === 'string' ||\n typeof value === 'boolean' ||\n typeof value === 'number') {\n items = Object.defineProperties({}, {\n value: {\n value: value,\n enumerable: true\n },\n text: {\n value: value,\n enumerable: true\n }\n });\n }\n else {\n items = value;\n }\n return items;\n };\n DropDownList.prototype.detachChangeEvent = function (eve) {\n this.isSelected = false;\n this.previousValue = this.value;\n this.activeIndex = this.enableVirtualization ? this.getIndexByValue(this.value) : this.index;\n this.typedString = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) ? this.text : '';\n if (!this.initial) {\n var items = this.detachChanges(this.itemData);\n var preItems = void 0;\n if (typeof this.previousItemData === 'string' ||\n typeof this.previousItemData === 'boolean' ||\n typeof this.previousItemData === 'number') {\n preItems = Object.defineProperties({}, {\n value: {\n value: this.previousItemData,\n enumerable: true\n },\n text: {\n value: this.previousItemData,\n enumerable: true\n }\n });\n }\n else {\n preItems = this.previousItemData;\n }\n this.setHiddenValue();\n var eventArgs = {\n e: eve,\n item: this.item,\n itemData: items,\n previousItem: this.previousSelectedLI,\n previousItemData: preItems,\n isInteracted: eve ? true : false,\n value: this.value,\n element: this.element,\n event: eve\n };\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n else {\n this.trigger('change', eventArgs);\n }\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value === '') && this.floatLabelType !== 'Always') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], 'e-valid-input');\n }\n };\n DropDownList.prototype.setHiddenValue = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n if (this.hiddenElement.querySelector('option')) {\n var selectedElement = this.hiddenElement.querySelector('option');\n selectedElement.textContent = this.text;\n selectedElement.setAttribute('value', value.toString());\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.hiddenElement)) {\n var option = document.createElement('option');\n option.text = this.text;\n option.setAttribute('selected', '');\n this.hiddenElement.appendChild(option);\n var selectedElement = this.hiddenElement.querySelector('option');\n selectedElement.setAttribute('value', value.toString());\n }\n }\n }\n else {\n this.hiddenElement.innerHTML = '';\n }\n };\n /**\n * Filter bar implementation\n *\n * @param {KeyboardEventArgs} e - Specifies the event arguments.\n * @returns {void}\n */\n DropDownList.prototype.onFilterUp = function (e) {\n if (!(e.ctrlKey && e.keyCode === 86) && (this.isValidKey || e.keyCode === 40 || e.keyCode === 38)) {\n this.isValidKey = false;\n this.filterArgs = e;\n this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;\n switch (e.keyCode) {\n case 38: //up arrow\n case 40: //down arrow\n if (this.getModuleName() === 'autocomplete' && !this.isPopupOpen && !this.preventAltUp && !this.isRequested) {\n this.preventAutoFill = true;\n this.searchLists(e);\n }\n else {\n this.preventAutoFill = false;\n }\n this.preventAltUp = false;\n if (this.getModuleName() === 'autocomplete' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n e.preventDefault();\n break;\n case 46: //delete\n case 8: //backspace\n this.typedString = this.filterInput.value;\n if (!this.isPopupOpen && this.typedString !== '' || this.isPopupOpen && this.queryString.length > 0) {\n this.preventAutoFill = true;\n this.searchLists(e);\n }\n else if (this.typedString === '' && this.queryString === '' && this.getModuleName() !== 'autocomplete') {\n this.preventAutoFill = true;\n this.searchLists(e);\n }\n else if (this.typedString === '') {\n if (this.list) {\n this.resetFocusElement();\n }\n this.activeIndex = null;\n if (this.getModuleName() !== 'dropdownlist') {\n this.preventAutoFill = true;\n this.searchLists(e);\n if (this.getModuleName() === 'autocomplete') {\n this.hidePopup();\n }\n }\n }\n e.preventDefault();\n break;\n default:\n if (this.isFiltering() && this.getModuleName() === 'combobox' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n this.getInitialData = true;\n this.renderList();\n if (!this.isSecondClick && !this.isDropDownClick) {\n this.executeCloneElements();\n }\n }\n this.typedString = this.filterInput.value;\n this.preventAutoFill = false;\n if (!this.getInitialData) {\n this.searchLists(e);\n }\n if ((this.enableVirtualization && this.getModuleName() !== 'autocomplete') || (this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && this.totalItemCount !== 0)) {\n this.getFilteringSkeletonCount();\n }\n break;\n }\n }\n else {\n this.isValidKey = false;\n }\n };\n DropDownList.prototype.onFilterDown = function (e) {\n switch (e.keyCode) {\n case 13: //enter\n break;\n case 40: //down arrow\n case 38: //up arrow\n this.queryString = this.filterInput.value;\n e.preventDefault();\n break;\n case 9: //tab\n if (this.isPopupOpen && this.getModuleName() !== 'autocomplete') {\n e.preventDefault();\n }\n break;\n default:\n this.prevSelectPoints = this.getSelectionPoints();\n this.queryString = this.filterInput.value;\n break;\n }\n };\n DropDownList.prototype.removeFillSelection = function () {\n if (this.isInteracted) {\n var selection = this.getSelectionPoints();\n this.inputElement.setSelectionRange(selection.end, selection.end);\n }\n };\n DropDownList.prototype.getQuery = function (query) {\n var filterQuery;\n if (!this.isCustomFilter && this.allowFiltering && this.filterInput) {\n filterQuery = query ? query.clone() : this.query ? this.query.clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query();\n var filterType = this.typedString === '' ? 'contains' : this.filterType;\n var dataType = this.typeOfData(this.dataSource).typeof;\n if (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && dataType === 'string' || dataType === 'number') {\n filterQuery.where('', filterType, this.typedString, this.ignoreCase, this.ignoreAccent);\n }\n else if (((this.getModuleName() !== 'combobox')) || (this.isFiltering() && this.getModuleName() === 'combobox' && this.typedString !== '')) {\n var fields = (this.fields.text) ? this.fields.text : '';\n filterQuery.where(fields, filterType, this.typedString, this.ignoreCase, this.ignoreAccent);\n }\n }\n else {\n filterQuery = (this.enableVirtualization && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customFilterQuery)) ?\n this.customFilterQuery.clone() : query ? query.clone() : this.query ? this.query.clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query();\n }\n if (this.enableVirtualization && this.viewPortInfo.endIndex !== 0) {\n var takeValue = this.getTakeValue();\n var alreadySkipAdded = false;\n if (filterQuery) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onSkip') {\n alreadySkipAdded = true;\n break;\n }\n }\n }\n var queryTakeValue = 0;\n var querySkipValue = 0;\n if (filterQuery && filterQuery.queries.length > 0) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onSkip') {\n querySkipValue = filterQuery.queries[queryElements].e.nos;\n }\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n queryTakeValue = takeValue <= filterQuery.queries[queryElements].e.nos ?\n filterQuery.queries[queryElements].e.nos : takeValue;\n }\n }\n }\n if (queryTakeValue <= 0 && this.query && this.query.queries.length > 0) {\n for (var queryElements = 0; queryElements < this.query.queries.length; queryElements++) {\n if (this.query.queries[queryElements].fn === 'onTake') {\n queryTakeValue = takeValue <= this.query.queries[queryElements].e.nos ?\n this.query.queries[queryElements].e.nos : takeValue;\n }\n }\n }\n var skipExists = false;\n if (filterQuery && filterQuery.queries.length > 0) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onSkip') {\n querySkipValue = filterQuery.queries[queryElements].e.nos;\n filterQuery.queries.splice(queryElements, 1);\n alreadySkipAdded = false;\n --queryElements;\n continue;\n }\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n queryTakeValue = filterQuery.queries[queryElements].e.nos <= queryTakeValue ?\n queryTakeValue : filterQuery.queries[queryElements].e.nos;\n filterQuery.queries.splice(queryElements, 1);\n --queryElements;\n }\n }\n }\n if (!skipExists && (this.allowFiltering || !this.isPopupOpen || !alreadySkipAdded)) {\n if (querySkipValue > 0) {\n filterQuery.skip(querySkipValue);\n }\n else {\n filterQuery.skip(this.virtualItemStartIndex);\n }\n }\n if (this.isIncrementalRequest) {\n filterQuery.take(this.incrementalEndIndex);\n }\n else {\n if (queryTakeValue > 0) {\n filterQuery.take(queryTakeValue);\n }\n else {\n filterQuery.take(takeValue);\n }\n }\n filterQuery.requiresCount();\n }\n return filterQuery;\n };\n DropDownList.prototype.getSelectionPoints = function () {\n var input = this.inputElement;\n return { start: Math.abs(input.selectionStart), end: Math.abs(input.selectionEnd) };\n };\n DropDownList.prototype.searchLists = function (e) {\n var _this = this;\n this.isTyped = true;\n this.activeIndex = null;\n this.isListSearched = true;\n if (this.filterInput.parentElement.querySelector('.' + dropDownListClasses.clearIcon)) {\n var clearElement = this.filterInput.parentElement.querySelector('.' + dropDownListClasses.clearIcon);\n clearElement.style.visibility = this.filterInput.value === '' ? 'hidden' : 'visible';\n }\n this.isDataFetched = false;\n if (this.isFiltering()) {\n this.checkAndResetCache();\n this.isRequesting = false;\n var eventArgs_1 = {\n preventDefaultAction: false,\n text: this.filterInput.value,\n updateData: function (dataSource, query, fields) {\n if (eventArgs_1.cancel) {\n return;\n }\n _this.isCustomFilter = true;\n _this.customFilterQuery = query ? query.clone() : query;\n _this.filteringAction(dataSource, query, fields);\n },\n baseEventArgs: e,\n cancel: false\n };\n this.trigger('filtering', eventArgs_1, function (eventArgs) {\n if (!eventArgs.cancel && !_this.isCustomFilter && !eventArgs.preventDefaultAction) {\n _this.filteringAction(_this.dataSource, null, _this.fields);\n }\n });\n }\n };\n /**\n * To filter the data from given data source by using query\n *\n * @param {Object[] | DataManager } dataSource - Set the data source to filter.\n * @param {Query} query - Specify the query to filter the data.\n * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.\n * @returns {void}\n\n */\n DropDownList.prototype.filter = function (dataSource, query, fields) {\n this.isCustomFilter = true;\n this.filteringAction(dataSource, query, fields);\n };\n DropDownList.prototype.filteringAction = function (dataSource, query, fields) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterInput)) {\n this.beforePopupOpen = ((!this.isPopupOpen && this.getModuleName() === 'combobox' && this.filterInput.value === '') ||\n this.getInitialData) ? false : true;\n var isNoData = this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData);\n if (this.filterInput.value.trim() === '' && !this.itemTemplate) {\n this.actionCompleteData.isUpdated = false;\n this.isTyped = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.actionCompleteData.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.actionCompleteData.list)) {\n if (this.enableVirtualization) {\n if (this.isFiltering()) {\n this.isPreventScrollAction = true;\n this.list.scrollTop = 0;\n this.previousStartIndex = 0;\n this.virtualListInfo = null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n this.resetList(dataSource, fields, query);\n if (isNoData && !this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData)) {\n if (!this.list.querySelector('.e-virtual-ddl-content')) {\n var virtualContentElement = this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n virtualContentElement.style.cssText = this.getTransformValues();\n this.list.appendChild(virtualContentElement).appendChild(this.list.querySelector('.e-list-parent'));\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virtualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virtualElement.style.cssText = this.GetVirtualTrackHeight();\n this.list.parentElement.querySelector('.e-dropdownbase').appendChild(virtualElement);\n }\n }\n }\n this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list);\n }\n this.isTyped = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData) && this.getModuleName() === 'dropdownlist') {\n this.focusIndexItem();\n this.setScrollPosition();\n }\n this.isNotSearchList = true;\n }\n else {\n this.isNotSearchList = false;\n query = (this.filterInput.value.trim() === '') ? null : query;\n if (this.enableVirtualization && this.isFiltering() && this.isTyped) {\n this.isPreventScrollAction = true;\n this.list.scrollTop = 0;\n this.previousStartIndex = 0;\n this.virtualListInfo = null;\n }\n this.resetList(dataSource, fields, query);\n if (this.getModuleName() === 'dropdownlist' && this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData)) {\n this.popupContentElement.setAttribute('role', 'status');\n this.popupContentElement.setAttribute('id', 'no-record');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInputObj.container, { 'aria-activedescendant': 'no-record' });\n }\n if (this.enableVirtualization && isNoData && !this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData)) {\n if (!this.list.querySelector('.e-virtual-ddl-content')) {\n var virtualContentElement = this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n virtualContentElement.style.cssText = this.getTransformValues();\n this.list.appendChild(virtualContentElement).appendChild(this.list.querySelector('.e-list-parent'));\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virtualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virtualElement.style.cssText = this.GetVirtualTrackHeight();\n this.list.parentElement.querySelector('.e-dropdownbase').appendChild(virtualElement);\n }\n }\n }\n if (this.enableVirtualization) {\n this.getFilteringSkeletonCount();\n }\n this.renderReactTemplates();\n if (this.filterInput && this.filterInput.value === '' && this.getModuleName() === 'combobox') {\n this.executeCloneElements();\n }\n }\n };\n DropDownList.prototype.setSearchBox = function (popupElement) {\n if (this.isFiltering()) {\n var parentElement = popupElement.querySelector('.' + dropDownListClasses.filterParent) ?\n popupElement.querySelector('.' + dropDownListClasses.filterParent) : this.createElement('span', {\n className: dropDownListClasses.filterParent\n });\n this.filterInput = this.createElement('input', {\n attrs: { type: 'text' },\n className: dropDownListClasses.filterInput\n });\n this.element.parentNode.insertBefore(this.filterInput, this.element);\n var backIcon = false;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isDeviceFullScreen) {\n backIcon = true;\n }\n this.filterInputObj = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.createInput({\n element: this.filterInput,\n buttons: backIcon ?\n [dropDownListClasses.backIcon, dropDownListClasses.filterBarClearIcon] : [dropDownListClasses.filterBarClearIcon],\n properties: { placeholder: this.filterBarPlaceholder }\n }, this.createElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass)) {\n if (this.cssClass.split(' ').indexOf('e-outline') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.filterInputObj.container], 'e-outline');\n }\n else if (this.cssClass.split(' ').indexOf('e-filled') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.filterInputObj.container], 'e-filled');\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.filterInputObj.container], parentElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([parentElement], popupElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, {\n 'aria-disabled': 'false',\n 'role': 'combobox',\n 'autocomplete': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false'\n });\n this.clearIconElement = this.filterInput.parentElement.querySelector('.' + dropDownListClasses.clearIcon);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.clearIconElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.clearIconElement, 'click', this.clearText, this);\n this.clearIconElement.style.visibility = 'hidden';\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.searchKeyModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.filterInput, {\n keyAction: this.keyActionHandler.bind(this),\n keyConfigs: this.keyConfigure,\n eventName: 'keydown'\n });\n }\n else {\n this.searchKeyModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.filterInput, {\n keyAction: this.mobileKeyActionHandler.bind(this),\n keyConfigs: this.keyConfigure,\n eventName: 'keydown'\n });\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'input', this.onInput, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'keyup', this.onFilterUp, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'keydown', this.onFilterDown, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'blur', this.onBlurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'paste', this.pasteHandler, this);\n return this.filterInputObj;\n }\n else {\n return inputObject;\n }\n };\n DropDownList.prototype.onInput = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.data) && e.data.length > 1 && this.autoFill && (this.getModuleName() === 'combobox' || this.getModuleName() === 'autocomplete')) {\n this.inputElement.value = e.data;\n }\n this.isValidKey = true;\n if (this.getModuleName() === 'combobox') {\n this.updateIconState();\n }\n // For filtering works in mobile firefox.\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'mozilla') {\n this.typedString = this.filterInput.value;\n this.preventAutoFill = true;\n this.searchLists(e);\n }\n };\n DropDownList.prototype.pasteHandler = function (e) {\n var _this = this;\n setTimeout(function () {\n _this.typedString = _this.filterInput.value;\n if (_this.getModuleName() === 'combobox' && _this.isFiltering() && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.list)) {\n _this.renderList();\n }\n _this.searchLists(e);\n });\n };\n DropDownList.prototype.onActionFailure = function (e) {\n _super.prototype.onActionFailure.call(this, e);\n if (this.beforePopupOpen) {\n this.renderPopup();\n }\n };\n DropDownList.prototype.getTakeValue = function () {\n return this.allowFiltering && this.getModuleName() === 'dropdownlist' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? Math.round(window.outerHeight / this.listItemHeight) : this.itemCount;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownList.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {\n var _this = this;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && !this.virtualGroupDataSource) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = e.count;\n }\n if (this.isNotSearchList && !this.enableVirtualization) {\n this.isNotSearchList = false;\n return;\n }\n if (this.getInitialData) {\n this.updateActionCompleteDataValues(ulElement, list);\n this.getInitialData = false;\n this.isReactTemplateUpdate = true;\n this.searchLists(this.filterArgs);\n return;\n }\n var tempItemCount = this.itemCount;\n if (this.isActive || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ulElement)) {\n var selectedItem = this.selectedLI ? this.selectedLI.cloneNode(true) : null;\n _super.prototype.onActionComplete.call(this, ulElement, list, e);\n this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&\n ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) ||\n ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;\n this.updateSelectElementData(this.allowFiltering);\n if (this.isRequested && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.searchKeyEvent) && this.searchKeyEvent.type === 'keydown') {\n this.isRequested = false;\n this.keyActionHandler(this.searchKeyEvent);\n this.searchKeyEvent = null;\n }\n if (this.isRequested && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.searchKeyEvent)) {\n this.incrementalSearch(this.searchKeyEvent);\n this.searchKeyEvent = null;\n }\n if (!this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ulElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(ulElement, { 'id': this.element.id + '_options', 'role': 'listbox', 'aria-hidden': 'false', 'aria-label': 'listbox' });\n }\n if (this.initialRemoteRender) {\n this.initial = true;\n this.activeIndex = this.index;\n this.initialRemoteRender = false;\n if (this.value && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n var checkField_1 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.value) ? this.fields.text : this.fields.value;\n var value_1 = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(checkField_1, this.value) : this.value;\n var fieldValue_1 = this.fields.value.split('.');\n var checkVal = list.some(function (x) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(x[checkField_1]) && fieldValue_1.length > 1 ?\n _this.checkFieldValue(x, fieldValue_1) === value_1 : x[checkField_1] === value_1;\n });\n if (this.enableVirtualization && this.virtualGroupDataSource) {\n checkVal = this.virtualGroupDataSource.some(function (x) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(x[checkField_1]) && fieldValue_1.length > 1 ?\n _this.checkFieldValue(x, fieldValue_1) === value_1 : x[checkField_1] === value_1;\n });\n }\n if (!checkVal) {\n this.dataSource.executeQuery(this.getQuery(this.query).where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Predicate(checkField_1, 'equal', value_1)))\n .then(function (e) {\n if (e.result.length > 0) {\n _this.addItem(e.result, list.length);\n _this.updateValues();\n }\n else {\n _this.updateValues();\n }\n });\n }\n else {\n this.updateValues();\n }\n }\n else {\n this.updateValues();\n }\n this.initial = false;\n }\n else if (this.getModuleName() === 'autocomplete' && this.value) {\n this.setInputValue();\n }\n if (this.getModuleName() !== 'autocomplete' && this.isFiltering() && !this.isTyped) {\n if (!this.actionCompleteData.isUpdated || ((!this.isCustomFilter\n && !this.isFilterFocus) || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData) && this.allowFiltering)\n && ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dataSource) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dataSource.length) &&\n this.dataSource.length !== 0)))) {\n if (this.itemTemplate && (this.element.tagName === 'EJS-COMBOBOX' || this.isReact) && this.allowFiltering) {\n setTimeout(function () {\n _this.updateActionCompleteDataValues(ulElement, list);\n }, 0);\n }\n else {\n this.updateActionCompleteDataValues(ulElement, list);\n }\n }\n if (this.isDynamicData) {\n var currentValue = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n this.itemData = this.getDataByValue(currentValue);\n this.selectedLI = this.getElementByValue(currentValue);\n this.isDynamicData = false;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((this.allowCustom || (this.allowFiltering && !this.isValueInList(list, this.value) &&\n this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) && !this.enableVirtualization) {\n this.addNewItem(list, selectedItem);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n else if ((this.allowCustom || (this.allowFiltering && this.isValueInList(list, this.value))) &&\n !this.enableVirtualization) {\n var value = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n var isValidAddition = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && selectedItem && selectedItem.getAttribute('data-value') === value.toString();\n if (isValidAddition) {\n this.addNewItem(list, selectedItem);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData) || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData) && this.enableVirtualization)) {\n this.getSkeletonCount();\n this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&\n ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) ||\n ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;\n this.UpdateSkeleton();\n this.focusIndexItem();\n }\n if (this.enableVirtualization) {\n this.updateActionCompleteDataValues(ulElement, list);\n }\n }\n else if (this.enableVirtualization && this.getModuleName() !== 'autocomplete' && !this.isFiltering()) {\n var value = this.getItemData().value;\n this.activeIndex = this.getIndexByValue(value);\n var element = this.findListElement(this.list, 'li', 'data-value', value);\n this.selectedLI = element;\n }\n else if (this.enableVirtualization && this.getModuleName() === 'autocomplete') {\n this.activeIndex = this.skeletonCount;\n }\n if (this.beforePopupOpen) {\n this.renderPopup(e);\n if (this.enableVirtualization) {\n if (!this.list.querySelector('.e-virtual-list')) {\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.e-list-item');\n }\n }\n if (this.enableVirtualization && tempItemCount !== this.itemCount) {\n this.resetList(this.dataSource, this.fields);\n }\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n DropDownList.prototype.isValueInList = function (list, valueToFind) {\n if (Array.isArray(list)) {\n for (var i = 0; i < list.length; i++) {\n if (list[i] === valueToFind) {\n return true;\n }\n }\n }\n else if (typeof list === 'object' && list !== null) {\n for (var key in list) {\n if (Object.prototype.hasOwnProperty.call(list, key) && list[key] === valueToFind) {\n return true;\n }\n }\n }\n return false;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n DropDownList.prototype.checkFieldValue = function (list, fieldValue) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var checkField = list;\n fieldValue.forEach(function (value) {\n checkField = checkField[value];\n });\n return checkField;\n };\n DropDownList.prototype.updateActionCompleteDataValues = function (ulElement, list) {\n this.actionCompleteData = { ulElement: ulElement.cloneNode(true), list: list, isUpdated: true };\n if (this.actionData.list !== this.actionCompleteData.list && this.actionCompleteData.ulElement && this.actionCompleteData.list) {\n this.actionData = this.actionCompleteData;\n }\n };\n DropDownList.prototype.addNewItem = function (listData, newElement) {\n var _this = this;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.itemData) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newElement)) {\n var value_2 = this.getItemData().value;\n var isExist = listData.some(function (data) {\n return (((typeof data === 'string' || typeof data === 'number' || typeof data === 'boolean') && data === value_2) ||\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(_this.fields.value, data) === value_2));\n });\n if (!isExist) {\n this.addItem(this.itemData);\n }\n }\n };\n DropDownList.prototype.updateActionCompleteData = function (li, item, index) {\n var _this = this;\n if (this.getModuleName() !== 'autocomplete' && this.actionCompleteData.ulElement) {\n if (this.itemTemplate && this.element.tagName === 'EJS-COMBOBOX' && this.allowFiltering) {\n setTimeout(function () {\n _this.actionCompleteDataUpdate(li, item, index);\n }, 0);\n }\n else {\n this.actionCompleteDataUpdate(li, item, index);\n }\n }\n };\n DropDownList.prototype.actionCompleteDataUpdate = function (li, item, index) {\n if (index !== null) {\n this.actionCompleteData.ulElement.\n insertBefore(li.cloneNode(true), this.actionCompleteData.ulElement.childNodes[index]);\n }\n else {\n this.actionCompleteData.ulElement.appendChild(li.cloneNode(true));\n }\n if (this.isFiltering() && this.actionCompleteData.list && this.actionCompleteData.list.indexOf(item) < 0) {\n this.actionCompleteData.list.push(item);\n }\n };\n DropDownList.prototype.focusIndexItem = function () {\n var value = this.getItemData().value;\n this.activeIndex = ((this.enableVirtualization && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) || !this.enableVirtualization) ?\n this.getIndexByValue(value) : this.activeIndex;\n var element = this.findListElement(this.list, 'li', 'data-value', value);\n this.selectedLI = element;\n this.activeItem(element);\n if (!(this.enableVirtualization && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element))) {\n this.removeFocus();\n }\n };\n DropDownList.prototype.updateSelection = function () {\n var selectedItem = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.selected);\n if (selectedItem) {\n this.setProperties({ 'index': this.getIndexByValue(selectedItem.getAttribute('data-value')) });\n this.activeIndex = this.index;\n }\n else {\n this.removeFocus();\n this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li).classList.add(dropDownListClasses.focus);\n }\n };\n DropDownList.prototype.updateSelectionList = function () {\n var selectedItem = this.list && this.list.querySelector('.' + 'e-active');\n if (!selectedItem && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.getModuleName() !== 'autocomplete') {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n var findEle = this.findListElement(this.list, 'li', 'data-value', value);\n if (findEle) {\n findEle.classList.add('e-active');\n }\n }\n };\n DropDownList.prototype.removeFocus = function () {\n var highlightedItem = this.list.querySelectorAll('.' + dropDownListClasses.focus);\n if (highlightedItem && highlightedItem.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(highlightedItem, dropDownListClasses.focus);\n }\n };\n DropDownList.prototype.renderPopup = function (e) {\n var _this = this;\n if (this.popupObj && document.body.contains(this.popupObj.element)) {\n this.refreshPopup();\n return;\n }\n var args = { cancel: false };\n this.trigger('beforeOpen', args, function (args) {\n var initialPopupHeight;\n if (!args.cancel) {\n var popupEle = _this.createElement('div', {\n id: _this.element.id + '_popup', className: 'e-ddl e-popup ' + (_this.cssClass !== null ? _this.cssClass : '')\n });\n popupEle.setAttribute('aria-label', _this.element.id);\n popupEle.setAttribute('role', 'dialog');\n var searchBox = _this.setSearchBox(popupEle);\n _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(Math.round(window.outerHeight).toString() + 'px') : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(_this.popupHeight);\n if (_this.headerTemplate) {\n _this.setHeaderTemplate(popupEle);\n _this.isUpdateHeaderHeight = _this.header.offsetHeight !== 0;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([_this.list], popupEle);\n if (_this.footerTemplate) {\n _this.setFooterTemplate(popupEle);\n _this.isUpdateFooterHeight = _this.footer.offsetHeight !== 0;\n }\n document.body.appendChild(popupEle);\n popupEle.style.top = '0px';\n initialPopupHeight = popupEle.clientHeight;\n if (_this.enableVirtualization && _this.itemTemplate) {\n var listitems = popupEle.querySelectorAll('li.e-list-item:not(.e-virtual-list)');\n _this.listItemHeight = listitems.length > 0 ? Math.ceil(listitems[0].getBoundingClientRect().height) +\n parseInt(window.getComputedStyle(listitems[0]).marginBottom, 10) : 0;\n }\n if (_this.enableVirtualization && !_this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData)) {\n _this.getSkeletonCount();\n _this.skeletonCount = _this.totalItemCount < (_this.itemCount * 2) && ((!(_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager)) ||\n ((_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && (_this.totalItemCount <= _this.itemCount))) ? 0 : _this.skeletonCount;\n if (!_this.list.querySelector('.e-virtual-ddl-content')) {\n var virtualContentElement = _this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n virtualContentElement.style.cssText = _this.getTransformValues();\n _this.list.appendChild(virtualContentElement).appendChild(_this.list.querySelector('.e-list-parent'));\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = _this.getTransformValues();\n }\n _this.UpdateSkeleton();\n _this.liCollections = _this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n _this.virtualItemCount = _this.itemCount;\n if (!_this.list.querySelector('.e-virtual-ddl')) {\n var virtualElement = _this.createElement('div', {\n id: _this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virtualElement.style.cssText = _this.GetVirtualTrackHeight();\n popupEle.querySelector('.e-dropdownbase').appendChild(virtualElement);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.list.getElementsByClassName('e-virtual-ddl')[0].style = _this.GetVirtualTrackHeight();\n }\n }\n popupEle.style.visibility = 'hidden';\n if (_this.popupHeight !== 'auto') {\n _this.searchBoxHeight = 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(searchBox.container) &&\n _this.getModuleName() !== 'combobox' && _this.getModuleName() !== 'autocomplete') {\n _this.searchBoxHeight = (searchBox.container.parentElement).getBoundingClientRect().height;\n _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (_this.searchBoxHeight)).toString() + 'px';\n }\n if (_this.headerTemplate) {\n _this.header = _this.header ? _this.header : popupEle.querySelector('.e-ddl-header');\n var height = Math.round(_this.header.getBoundingClientRect().height);\n _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -\n (height + _this.searchBoxHeight)).toString() + 'px';\n }\n if (_this.footerTemplate) {\n _this.footer = _this.footer ? _this.footer : popupEle.querySelector('.e-ddl-footer');\n var height = Math.round(_this.footer.getBoundingClientRect().height);\n _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -\n (height + _this.searchBoxHeight)).toString() + 'px';\n }\n _this.list.style.maxHeight = (parseInt(_this.listContainerHeight, 10) - 2).toString() + 'px'; // due to box-sizing property\n popupEle.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(_this.popupHeight);\n }\n else {\n popupEle.style.height = 'auto';\n }\n var offsetValue = 0;\n var left = void 0;\n _this.isPreventScrollAction = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.selectedLI) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.activeIndex) && _this.activeIndex >= 0)) {\n _this.setScrollPosition();\n }\n else if (_this.enableVirtualization) {\n _this.setScrollPosition();\n }\n else {\n _this.list.scrollTop = 0;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.isDeviceFullScreen && (!_this.allowFiltering && (_this.getModuleName() === 'dropdownlist' ||\n (_this.isDropDownClick && _this.getModuleName() === 'combobox')))) {\n offsetValue = _this.getOffsetValue(popupEle);\n var firstItem = _this.isEmptyList() ? _this.list : _this.liCollections[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.inputElement)) {\n left = -(parseInt(getComputedStyle(firstItem).textIndent, 10) -\n parseInt(getComputedStyle(_this.inputElement).paddingLeft, 10) +\n parseInt(getComputedStyle(_this.inputElement.parentElement).borderLeftWidth, 10));\n }\n }\n _this.createPopup(popupEle, offsetValue, left);\n _this.popupContentElement = _this.popupObj.element.querySelector('.e-content');\n _this.getFocusElement();\n _this.checkCollision(popupEle);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if ((parseInt(_this.popupWidth.toString(), 10) > window.outerWidth) &&\n !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {\n _this.popupObj.element.classList.add('e-wide-popup');\n }\n _this.popupObj.element.classList.add(dropDownListClasses.device);\n if (_this.getModuleName() === 'dropdownlist' || (_this.getModuleName() === 'combobox'\n && !_this.allowFiltering && _this.isDropDownClick)) {\n _this.popupObj.collision = { X: 'fit', Y: 'fit' };\n }\n if (_this.isFilterLayout() && _this.isDeviceFullScreen) {\n _this.popupObj.element.classList.add(dropDownListClasses.mobileFilter);\n _this.popupObj.position = { X: 0, Y: 0 };\n _this.popupObj.dataBind();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.popupObj.element, { style: 'left:0px;right:0px;top:0px;bottom:0px;' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([document.body, _this.popupObj.element], dropDownListClasses.popupFullScreen);\n _this.setSearchBoxPosition();\n _this.backIconElement = searchBox.container.querySelector('.e-back-icon');\n _this.clearIconElement = searchBox.container.querySelector('.' + dropDownListClasses.clearIcon);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(_this.backIconElement, 'click', _this.clickOnBackIcon, _this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(_this.clearIconElement, 'click', _this.clearText, _this);\n }\n }\n popupEle.style.visibility = 'visible';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([popupEle], 'e-popup-close');\n var scrollParentElements = _this.popupObj.getScrollableParent(_this.inputWrapper.container);\n for (var _i = 0, scrollParentElements_1 = scrollParentElements; _i < scrollParentElements_1.length; _i++) {\n var element = scrollParentElements_1[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(element, 'scroll', _this.scrollHandler, _this);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.list)) {\n _this.unWireListEvents();\n _this.wireListEvents();\n }\n _this.selectedElementID = _this.selectedLI ? _this.selectedLI.id : null;\n if (_this.enableVirtualization) {\n _this.notify('bindScrollEvent', {\n module: 'VirtualScroll',\n component: _this.getModuleName(),\n enable: _this.enableVirtualization\n });\n setTimeout(function () {\n if (_this.value || _this.list.querySelector('.e-active')) {\n _this.updateSelectionList();\n if (_this.selectedValueInfo && _this.viewPortInfo && _this.viewPortInfo.offsets.top) {\n _this.list.scrollTop = _this.viewPortInfo.offsets.top;\n }\n else {\n _this.scrollBottom(true, true);\n }\n }\n }, 5);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.targetElement(), { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id });\n if (_this.getModuleName() !== 'dropdownlist' && _this.list.classList.contains('e-nodata')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.targetElement(), { 'aria-activedescendant': 'no-record' });\n _this.popupContentElement.setAttribute('role', 'status');\n _this.popupContentElement.setAttribute('id', 'no-record');\n }\n _this.inputElement.setAttribute('aria-expanded', 'true');\n _this.inputElement.setAttribute('aria-controls', _this.element.id + '_popup');\n var inputParent = _this.isFiltering() ? _this.filterInput.parentElement : _this.inputWrapper.container;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([inputParent], [dropDownListClasses.inputFocus]);\n var animModel = { name: 'FadeIn', duration: 100 };\n _this.beforePopupOpen = true;\n var popupInstance = _this.popupObj;\n var eventArgs = { popup: popupInstance, event: e, cancel: false, animation: animModel };\n _this.trigger('open', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.inputWrapper)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.inputWrapper.container], [dropDownListClasses.iconAnimation]);\n }\n _this.renderReactTemplates();\n if (_this.isReact && _this.isFiltering() && _this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && _this.list.querySelector('ul') && !_this.isSecondClick) {\n _this.executeCloneElements();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.popupObj)) {\n _this.popupObj.show(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(eventArgs.animation), (_this.zIndex === 1000) ? _this.element : null);\n }\n if (_this.isReact) {\n setTimeout(function () {\n if (_this.popupHeight && _this.list && _this.popupHeight !== 'auto' && !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {\n var popupHeightValue = typeof _this.popupHeight === 'string' ? parseInt(_this.popupHeight, 10) : _this.popupHeight;\n if (!_this.isUpdateHeaderHeight && _this.headerTemplate && _this.header) {\n var listHeight = _this.list.style.maxHeight === '' ? popupHeightValue : parseInt(_this.list.style.maxHeight, 10);\n _this.list.style.maxHeight = (listHeight - _this.header.offsetHeight).toString() + 'px';\n _this.isUpdateHeaderHeight = true;\n }\n if (!_this.isUpdateFooterHeight && _this.footerTemplate && _this.footer) {\n var listHeight = _this.list.style.maxHeight === '' ? popupHeightValue : parseInt(_this.list.style.maxHeight, 10);\n _this.list.style.maxHeight = (listHeight - _this.footer.offsetHeight).toString() + 'px';\n _this.isUpdateFooterHeight = true;\n }\n }\n }, 15);\n }\n }\n else {\n _this.beforePopupOpen = false;\n _this.destroyPopup();\n }\n });\n if (_this.allowResize && (_this.getModuleName() !== 'dropdownlist' || !(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.isDeviceFullScreen && _this.allowFiltering))) {\n var resizePaddingBottom = 16;\n // Create the resizer div\n _this.resizer = _this.createElement('div', {\n id: _this.element.id + '_resize-popup',\n className: dropDownListClasses.resizeIcon // Adding class for styling\n });\n // Add the resizer div to the popup\n if (_this.list && _this.list.parentElement) {\n _this.list.parentElement.classList.add('e-resize');\n if (_this.popupHeight.toString().toLowerCase() !== 'auto' && initialPopupHeight >= (parseInt(_this.popupHeight.toString(), 10) - 2)) {\n _this.list.parentElement.style.height = '100%';\n }\n _this.list.parentElement.style.paddingBottom = (_this.getModuleName() === 'dropdownlist' && _this.allowFiltering && _this.searchBoxHeight) ? (_this.searchBoxHeight + resizePaddingBottom).toString() + 'px' : resizePaddingBottom.toString() + 'px';\n if (_this.header || _this.footer || _this.itemTemplate) {\n _this.list.parentElement.style.paddingBottom = ((parseInt(_this.list.parentElement.style.maxHeight, 10) - parseInt(_this.list.style.maxHeight, 10)) + resizePaddingBottom).toString() + 'px';\n }\n _this.list.parentElement.appendChild(_this.resizer);\n //hold the popup resize\n _this.list.parentElement.style.width = _this.resizeWidth + \"px\";\n _this.list.parentElement.style.height = _this.resizeHeight + \"px\";\n _this.list.parentElement.style.maxHeight = _this.resizeHeight + \"px\";\n _this.list.style.maxHeight = _this.resizeHeight + \"px\";\n }\n // Attach mouse and touch events to the resizer\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(_this.resizer, 'mousedown', _this.startResizing, _this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(_this.resizer, 'touchstart', _this.startResizing, _this);\n }\n }\n else {\n _this.beforePopupOpen = false;\n }\n });\n };\n DropDownList.prototype.checkCollision = function (popupEle) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !(this.getModuleName() === 'dropdownlist' || this.isDropDownClick))) {\n var collision = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_7__.isCollide)(popupEle);\n if (collision.length > 0) {\n popupEle.style.marginTop = -parseInt(getComputedStyle(popupEle).marginTop, 10) + 'px';\n }\n this.popupObj.resolveCollision();\n }\n };\n DropDownList.prototype.getOffsetValue = function (popupEle) {\n var popupStyles = getComputedStyle(popupEle);\n var borderTop = parseInt(popupStyles.borderTopWidth, 10);\n var borderBottom = parseInt(popupStyles.borderBottomWidth, 10);\n return this.setPopupPosition(borderTop + borderBottom);\n };\n DropDownList.prototype.createPopup = function (element, offsetValue, left) {\n var _this = this;\n this.popupObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__.Popup(element, {\n width: this.setWidth(), targetType: 'relative',\n relateTo: this.inputWrapper.container,\n collision: this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }, offsetY: offsetValue,\n enableRtl: this.enableRtl, offsetX: left,\n position: this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' },\n zIndex: this.zIndex,\n close: function () {\n if (!_this.isDocumentClick) {\n _this.focusDropDown();\n }\n // eslint-disable-next-line\n if (_this.isReact) {\n _this.clearTemplate(['headerTemplate', 'footerTemplate']);\n }\n _this.isNotSearchList = false;\n _this.isDocumentClick = false;\n _this.destroyPopup();\n if (_this.isFiltering() && _this.actionCompleteData.list && _this.actionCompleteData.list.length > 0) {\n _this.isActive = true;\n if (_this.isReactTemplateUpdate && _this.isReact && _this.itemTemplate && !_this.enableVirtualization) {\n _this.actionCompleteData.ulElement = _this.renderItems(_this.actionCompleteData.list, _this.fields);\n _this.isReactTemplateUpdate = false;\n }\n if (_this.enableVirtualization) {\n _this.onActionComplete(_this.ulElement, _this.listData, null, true);\n }\n else {\n _this.onActionComplete(_this.actionCompleteData.ulElement, _this.actionCompleteData.list, null, true);\n }\n }\n else if (_this.enableVirtualization) {\n _this.focusIndexItem();\n }\n },\n open: function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown', _this.onDocumentClick, _this);\n _this.isPopupOpen = true;\n var actionList = _this.actionCompleteData && _this.actionCompleteData.ulElement &&\n _this.actionCompleteData.ulElement.querySelector('li');\n var ulElement = _this.list.querySelector('ul li');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.targetElement(), { 'aria-activedescendant': _this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.ulElement.getElementsByClassName('e-active')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.targetElement(), { 'aria-activedescendant': _this.ulElement.getElementsByClassName('e-active')[0].id });\n }\n if (_this.isFiltering() && _this.itemTemplate && (_this.element.tagName === _this.getNgDirective()) &&\n (actionList && ulElement && actionList.textContent !== ulElement.textContent) &&\n _this.element.tagName !== 'EJS-COMBOBOX') {\n _this.cloneElements();\n }\n if (_this.isFilterLayout()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.inputWrapper.container], [dropDownListClasses.inputFocus]);\n _this.isFilterFocus = true;\n _this.filterInput.focus();\n if (_this.inputWrapper.clearButton) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.inputWrapper.clearButton], dropDownListClasses.clearIconHide);\n }\n }\n _this.activeStateChange();\n },\n targetExitViewport: function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.hidePopup();\n }\n }\n });\n };\n DropDownList.prototype.isEmptyList = function () {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections) && this.liCollections.length === 0;\n };\n DropDownList.prototype.getFocusElement = function () {\n // combo-box used this method\n };\n DropDownList.prototype.isFilterLayout = function () {\n return this.getModuleName() === 'dropdownlist' && this.allowFiltering;\n };\n DropDownList.prototype.scrollHandler = function () {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && ((this.getModuleName() === 'dropdownlist' &&\n !this.isFilterLayout()) || (this.getModuleName() === 'combobox' && !this.allowFiltering && this.isDropDownClick))) {\n if (this.element && !(this.isElementInViewport(this.element))) {\n this.hidePopup();\n }\n }\n };\n DropDownList.prototype.isElementInViewport = function (element) {\n var elementRect = element.getBoundingClientRect();\n return (elementRect.top >= 0 && elementRect.left >= 0 && elementRect.bottom <= window.innerHeight &&\n elementRect.right <= window.innerWidth);\n };\n DropDownList.prototype.setSearchBoxPosition = function () {\n var searchBoxHeight = this.filterInput.parentElement.getBoundingClientRect().height;\n this.popupObj.element.style.maxHeight = '100%';\n this.popupObj.element.style.width = '100%';\n this.list.style.maxHeight = (window.innerHeight - searchBoxHeight) + 'px';\n this.list.style.height = (window.innerHeight - searchBoxHeight) + 'px';\n var clearElement = this.filterInput.parentElement.querySelector('.' + dropDownListClasses.clearIcon);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.filterInput);\n clearElement.parentElement.insertBefore(this.filterInput, clearElement);\n };\n DropDownList.prototype.setPopupPosition = function (border) {\n var offsetValue;\n var popupOffset = border;\n var selectedLI = this.list.querySelector('.' + dropDownListClasses.focus) || this.selectedLI;\n var firstItem = this.isEmptyList() ? this.list : this.liCollections[0];\n var lastItem = this.isEmptyList() ? this.list : this.liCollections[this.getItems().length - 1];\n var liHeight = firstItem.getBoundingClientRect().height;\n this.listItemHeight = liHeight + parseInt(window.getComputedStyle(firstItem).marginBottom, 10);\n var listHeight = this.list.offsetHeight / 2;\n var height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedLI) ? firstItem.offsetTop : selectedLI.offsetTop;\n var lastItemOffsetValue = lastItem.offsetTop;\n if (lastItemOffsetValue - listHeight < height && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections) &&\n this.liCollections.length > 0 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedLI)) {\n var count = this.list.offsetHeight / liHeight;\n var paddingBottom = parseInt(getComputedStyle(this.list).paddingBottom, 10);\n offsetValue = (count - (this.liCollections.length - this.activeIndex)) * liHeight - popupOffset + paddingBottom;\n this.list.scrollTop = selectedLI.offsetTop;\n }\n else if (height > listHeight && !this.enableVirtualization) {\n offsetValue = listHeight - liHeight / 2;\n this.list.scrollTop = height - listHeight + liHeight / 2;\n }\n else {\n offsetValue = height;\n }\n var inputHeight = this.inputWrapper.container.offsetHeight;\n offsetValue = offsetValue + liHeight + popupOffset - ((liHeight - inputHeight) / 2);\n return -offsetValue;\n };\n DropDownList.prototype.setWidth = function () {\n var width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupWidth);\n if (width.indexOf('%') > -1) {\n var inputWidth = this.inputWrapper.container.offsetWidth * parseFloat(width) / 100;\n width = inputWidth.toString() + 'px';\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && (width.indexOf('px') > -1) && (!this.allowFiltering && (this.getModuleName() === 'dropdownlist' ||\n (this.isDropDownClick && this.getModuleName() === 'combobox')))) {\n var firstItem = this.isEmptyList() ? this.list : this.liCollections[0];\n width = (parseInt(width, 10) + (parseInt(getComputedStyle(firstItem).textIndent, 10) -\n parseInt(getComputedStyle(this.inputElement).paddingLeft, 10) +\n parseInt(getComputedStyle(this.inputElement.parentElement).borderLeftWidth, 10)) * 2) + 'px';\n }\n return width;\n };\n DropDownList.prototype.scrollBottom = function (isInitial, isInitialSelection, keyAction) {\n var _this = this;\n if (isInitialSelection === void 0) { isInitialSelection = false; }\n if (keyAction === void 0) { keyAction = null; }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI) && this.enableVirtualization) {\n this.selectedLI = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI) && this.selectedLI.classList.contains('e-virtual-list')) {\n this.selectedLI = this.liCollections[this.skeletonCount];\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI)) {\n var selectedListMargin = this.selectedLI &&\n !isNaN(parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10)) ?\n parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10) : 0;\n this.isUpwardScrolling = false;\n var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;\n var lastElementValue = this.list.querySelector('li:last-of-type') ?\n this.list.querySelector('li:last-of-type').getAttribute('data-value') : null;\n var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?\n this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * (this.selectedLI.offsetHeight +\n selectedListMargin)) : this.selectedLI.offsetTop;\n var currentOffset = this.list.offsetHeight;\n var nextBottom = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +\n (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;\n var nextOffset = this.list.scrollTop + nextBottom - currentOffset;\n var isScrollerCHanged = false;\n var isScrollTopChanged = false;\n nextOffset = isInitial ? nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10) * 2 :\n nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10);\n var boxRange = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +\n (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;\n boxRange = this.fields.groupBy && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) ?\n boxRange - this.fixedHeaderElement.offsetHeight : boxRange;\n if (this.activeIndex === 0 && !this.enableVirtualization) {\n this.list.scrollTop = 0;\n isScrollerCHanged = this.isKeyBoardAction;\n }\n else if (nextBottom > currentOffset || !(boxRange > 0 && this.list.offsetHeight > boxRange)) {\n var currentElementValue = this.selectedLI ? this.selectedLI.getAttribute('data-value') : null;\n var liCount = keyAction === 'pageDown' ? this.getPageCount() - 2 : 1;\n if (!this.enableVirtualization || this.isKeyBoardAction || isInitialSelection) {\n if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue &&\n currentElementValue === lastElementValue && keyAction !== 'end' && !this.isVirtualScrolling) {\n this.isPreventKeyAction = true;\n if (this.enableVirtualization && this.itemTemplate) {\n this.list.scrollTop += nextOffset;\n }\n else {\n if (this.enableVirtualization) {\n liCount = keyAction === 'pageDown' ? this.getPageCount() + 1 : liCount;\n }\n this.list.scrollTop += (this.selectedLI.offsetHeight + selectedListMargin) * liCount;\n }\n this.isPreventKeyAction = this.IsScrollerAtEnd() ? false : this.isPreventKeyAction;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n else if (this.enableVirtualization && keyAction === 'end') {\n this.isPreventKeyAction = false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n this.list.scrollTop = this.list.scrollHeight;\n }\n else {\n if (keyAction === 'pageDown' && this.enableVirtualization && !this.isVirtualScrolling) {\n this.isPreventKeyAction = false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n this.list.scrollTop = nextOffset;\n }\n }\n else {\n this.list.scrollTop = this.virtualListInfo && this.virtualListInfo.startIndex ?\n isInitial && this.virtualListInfo.startIndex ? this.virtualListInfo.startIndex * this.listItemHeight +\n (this.listItemHeight * 2) : this.virtualListInfo.startIndex * this.listItemHeight : 0;\n }\n isScrollerCHanged = this.isKeyBoardAction;\n isScrollTopChanged = true;\n }\n this.isKeyBoardAction = isScrollerCHanged;\n if (this.enableVirtualization && this.fields.groupBy && this.fixedHeaderElement && (keyAction === 'down')) {\n setTimeout(function () {\n _this.scrollStop(null, true);\n }, 100);\n }\n }\n };\n DropDownList.prototype.scrollTop = function (keyAction) {\n if (keyAction === void 0) { keyAction = null; }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI)) {\n var selectedListMargin = this.selectedLI &&\n !isNaN(parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10)) ?\n parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10) : 0;\n var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;\n var selectedLiOffsetTop = (this.virtualListInfo && this.virtualListInfo.startIndex) ?\n this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * (this.selectedLI.offsetHeight +\n selectedListMargin)) : this.selectedLI.offsetTop;\n var nextOffset = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight +\n selectedListMargin)) - this.list.scrollTop;\n var firstElementValue = this.list.querySelector('li.e-list-item:not(.e-virtual-list)') ?\n this.list.querySelector('li.e-list-item:not(.e-virtual-list)').getAttribute('data-value') : null;\n nextOffset = this.fields.groupBy && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) ?\n nextOffset - this.fixedHeaderElement.offsetHeight : nextOffset;\n var boxRange = (selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +\n (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop);\n var isPageUpKeyAction = this.enableVirtualization && this.getModuleName() === 'autocomplete' && nextOffset <= 0;\n if (this.activeIndex === 0 && !this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n else if (nextOffset < 0 || isPageUpKeyAction) {\n var currentElementValue = this.selectedLI ? this.selectedLI.getAttribute('data-value') : null;\n var liCount = keyAction === 'pageUp' ? this.getPageCount() - 2 : 1;\n if (this.enableVirtualization) {\n liCount = keyAction === 'pageUp' ? this.getPageCount() : liCount;\n }\n if (this.enableVirtualization && this.isKeyBoardAction && firstElementValue &&\n currentElementValue === firstElementValue && keyAction !== 'home' && !this.isVirtualScrolling) {\n this.isUpwardScrolling = true;\n this.isPreventKeyAction = true;\n this.list.scrollTop -= (this.selectedLI.offsetHeight + selectedListMargin) * liCount;\n this.isPreventKeyAction = this.list.scrollTop !== 0 ? this.isPreventKeyAction : false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n else if (this.enableVirtualization && keyAction === 'home') {\n this.isPreventScrollAction = false;\n this.isPreventKeyAction = true;\n this.isKeyBoardAction = false;\n this.list.scrollTo(0, 0);\n }\n else {\n if (keyAction === 'pageUp' && this.enableVirtualization && !this.isVirtualScrolling) {\n this.isPreventKeyAction = false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n this.list.scrollTop = this.list.scrollTop + nextOffset;\n }\n }\n else if (!(boxRange > 0 && this.list.offsetHeight > boxRange)) {\n this.list.scrollTop = this.selectedLI.offsetTop - (this.fields.groupBy && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) ?\n this.fixedHeaderElement.offsetHeight : 0);\n }\n }\n };\n DropDownList.prototype.IsScrollerAtEnd = function () {\n return this.list && this.list.scrollTop + this.list.clientHeight >= this.list.scrollHeight;\n };\n DropDownList.prototype.isEditTextBox = function () {\n return false;\n };\n DropDownList.prototype.isFiltering = function () {\n return this.allowFiltering;\n };\n DropDownList.prototype.isPopupButton = function () {\n return true;\n };\n DropDownList.prototype.setScrollPosition = function (e) {\n this.isPreventScrollAction = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)) {\n switch (e.action) {\n case 'pageDown':\n case 'down':\n case 'end':\n this.isKeyBoardAction = true;\n this.scrollBottom(false, false, e.action);\n break;\n default:\n this.isKeyBoardAction = e.action === 'up' || e.action === 'pageUp' || e.action === 'open';\n this.scrollTop(e.action);\n break;\n }\n }\n else {\n this.scrollBottom(true);\n }\n this.isKeyBoardAction = false;\n };\n DropDownList.prototype.clearText = function () {\n this.filterInput.value = this.typedString = '';\n this.searchLists(null);\n if (this.enableVirtualization) {\n this.list.scrollTop = 0;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ?\n this.dataSource.length : 0;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n this.getSkeletonCount();\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.e-list-item');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl-content')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n }\n };\n DropDownList.prototype.setEleWidth = function (width) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(width)) {\n if (typeof width === 'number') {\n this.inputWrapper.container.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n this.inputWrapper.container.style.width = (width.match(/px|%|em/)) ? (width) : ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width));\n }\n }\n };\n DropDownList.prototype.closePopup = function (delay, e) {\n var _this = this;\n var isFilterValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterInput) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterInput.value) && this.filterInput.value !== '';\n var typedString = this.getModuleName() === 'combobox' ? this.typedString : null;\n this.isTyped = false;\n this.isVirtualTrackHeight = false;\n if (!(this.popupObj && document.body.contains(this.popupObj.element) && this.beforePopupOpen)) {\n return;\n }\n this.keyboardEvent = null;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown', this.onDocumentClick);\n this.isActive = false;\n this.isDropDownClick = false;\n this.preventAutoFill = false;\n var scrollableParentElements = this.popupObj.getScrollableParent(this.inputWrapper.container);\n for (var _i = 0, scrollableParentElements_1 = scrollableParentElements; _i < scrollableParentElements_1.length; _i++) {\n var element = scrollableParentElements_1[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(element, 'scroll', this.scrollHandler);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isFilterLayout() && this.isDeviceFullScreen) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body, this.popupObj.element], dropDownListClasses.popupFullScreen);\n }\n if (this.isFilterLayout()) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.searchKeyModule.destroy();\n if (this.clearIconElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.clearIconElement, 'click', this.clearText);\n }\n }\n if (this.backIconElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.backIconElement, 'click', this.clickOnBackIcon);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.clearIconElement, 'click', this.clearText);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterInput)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.filterInput, 'input', this.onInput);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.filterInput, 'keyup', this.onFilterUp);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.filterInput, 'keydown', this.onFilterDown);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.filterInput, 'blur', this.onBlurHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.filterInput, 'paste', this.pasteHandler);\n }\n if (this.allowFiltering && this.getModuleName() === 'dropdownlist') {\n this.filterInput.removeAttribute('aria-activedescendant');\n this.filterInput.removeAttribute('aria-disabled');\n this.filterInput.removeAttribute('role');\n this.filterInput.removeAttribute('autocomplete');\n this.filterInput.removeAttribute('autocapitalize');\n this.filterInput.removeAttribute('spellcheck');\n }\n this.filterInput = null;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), { 'aria-expanded': 'false' });\n this.inputElement.setAttribute('aria-expanded', 'false');\n this.targetElement().removeAttribute('aria-owns');\n this.targetElement().removeAttribute('aria-activedescendant');\n this.inputWrapper.container.classList.remove(dropDownListClasses.iconAnimation);\n if (this.isFiltering()) {\n this.actionCompleteData.isUpdated = false;\n }\n if (this.enableVirtualization) {\n if ((this.value == null || this.isTyped)) {\n this.viewPortInfo.endIndex = this.viewPortInfo && this.viewPortInfo.endIndex > 0 ?\n this.viewPortInfo.endIndex : this.itemCount;\n if (this.getModuleName() === 'autocomplete' || (this.getModuleName() === 'dropdownlist' &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.typedString) && this.typedString !== '') || (this.getModuleName() === 'combobox' &&\n this.allowFiltering && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.typedString) && this.typedString !== '')) {\n this.checkAndResetCache();\n }\n }\n else if (this.getModuleName() === 'autocomplete') {\n this.checkAndResetCache();\n }\n if ((this.getModuleName() === 'dropdownlist' || this.getModuleName() === 'combobox') && !(this.skeletonCount === 0)) {\n this.getSkeletonCount(true);\n }\n }\n this.beforePopupOpen = false;\n var animModel = {\n name: 'FadeOut',\n duration: 100,\n delay: delay ? delay : 0\n };\n var popupInstance = this.popupObj;\n var eventArgs = { popup: popupInstance, cancel: false, animation: animModel, event: e || null };\n this.trigger('close', eventArgs, function (eventArgs) {\n if (_this.getModuleName() === 'dropdownlist') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.destroy({\n element: _this.filterInput,\n floatLabelType: _this.floatLabelType,\n properties: { placeholder: _this.filterBarPlaceholder },\n buttons: _this.clearIconElement\n }, _this.clearIconElement);\n }\n _this.filterInputObj = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.popupObj) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.popupObj.element.querySelector('.e-fixed-head'))) {\n var fixedHeader = _this.popupObj.element.querySelector('.e-fixed-head');\n fixedHeader.parentNode.removeChild(fixedHeader);\n _this.fixedHeaderElement = null;\n }\n if (!eventArgs.cancel) {\n if (_this.getModuleName() === 'autocomplete') {\n _this.rippleFun();\n }\n if (_this.isPopupOpen) {\n _this.popupObj.hide(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(eventArgs.animation));\n }\n else {\n _this.destroyPopup();\n }\n }\n });\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !eventArgs.cancel && this.popupObj.element.classList.contains('e-wide-popup')) {\n this.popupObj.element.classList.remove('e-wide-popup');\n }\n var dataSourceCount;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ?\n this.virtualGroupDataSource.length : 0;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataSourceCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n }\n if (this.enableVirtualization && this.isFiltering() && isFilterValue && this.totalItemCount !== dataSourceCount) {\n this.updateInitialData();\n this.checkAndResetCache();\n }\n };\n DropDownList.prototype.updateInitialData = function () {\n var currentData = this.selectData;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentData)) {\n return;\n }\n var ulElement = this.renderItems(currentData, this.fields);\n this.list.scrollTop = 0;\n this.virtualListInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: this.itemCount\n };\n if (this.getModuleName() === 'combobox') {\n this.typedString = '';\n }\n this.previousStartIndex = 0;\n this.previousEndIndex = 0;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n if (this.remoteDataCount >= 0) {\n this.totalItemCount = this.dataCount = this.remoteDataCount;\n }\n else {\n this.resetList(this.dataSource);\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n else if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n this.list.parentElement.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n if (this.getModuleName() !== 'autocomplete' && this.totalItemCount !== 0 && this.totalItemCount > (this.itemCount * 2)) {\n this.getSkeletonCount();\n }\n this.UpdateSkeleton();\n this.listData = currentData;\n this.updateActionCompleteDataValues(ulElement, currentData);\n this.liCollections = this.list.querySelectorAll('.e-list-item');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl-content')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n };\n DropDownList.prototype.destroyPopup = function () {\n this.isPopupOpen = false;\n this.isFilterFocus = false;\n this.inputElement.removeAttribute('aria-controls');\n if (this.popupObj) {\n if (this.resizer) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.resizer, 'mousedown', this.startResizing);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.resizer, 'touchstart', this.startResizing);\n }\n this.popupObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.popupObj.element);\n }\n };\n DropDownList.prototype.clickOnBackIcon = function () {\n this.hidePopup();\n this.focusIn();\n };\n /**\n * To Initialize the control rendering\n *\n * @private\n * @returns {void}\n */\n DropDownList.prototype.render = function () {\n this.preselectedIndex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.index) ? this.index : null;\n if (this.element.tagName === 'INPUT') {\n this.inputElement = this.element;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.getAttribute('role'))) {\n this.inputElement.setAttribute('role', 'combobox');\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.getAttribute('type'))) {\n this.inputElement.setAttribute('type', 'text');\n }\n this.inputElement.setAttribute('aria-expanded', 'false');\n }\n else {\n this.inputElement = this.createElement('input', { attrs: { role: 'combobox', type: 'text' } });\n if (this.element.tagName !== this.getNgDirective()) {\n this.element.style.display = 'none';\n }\n this.element.parentElement.insertBefore(this.inputElement, this.element);\n this.preventTabIndex(this.inputElement);\n }\n var updatedCssClassValues = this.cssClass;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n updatedCssClassValues = (this.cssClass.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n this.inputWrapper = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.createInput({\n element: this.inputElement,\n buttons: this.isPopupButton() ? [dropDownListClasses.icon] : null,\n floatLabelType: this.floatLabelType,\n properties: {\n readonly: this.getModuleName() === 'dropdownlist' ? true : this.readonly,\n placeholder: this.placeholder,\n cssClass: updatedCssClassValues,\n enabled: this.enabled,\n enableRtl: this.enableRtl,\n showClearButton: this.showClearButton\n }\n }, this.createElement);\n if (this.element.tagName === this.getNgDirective()) {\n this.element.appendChild(this.inputWrapper.container);\n }\n else {\n this.inputElement.parentElement.insertBefore(this.element, this.inputElement);\n }\n this.hiddenElement = this.createElement('select', {\n attrs: {\n 'aria-hidden': 'true',\n 'tabindex': '-1',\n 'class': dropDownListClasses.hiddenElement\n }\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.hiddenElement], this.inputWrapper.container);\n if (!this.hiddenElement.hasAttribute('aria-label')) {\n this.hiddenElement.setAttribute('aria-label', this.getModuleName());\n }\n this.validationAttribute(this.element, this.hiddenElement);\n this.setReadOnly();\n this.setFields();\n this.inputWrapper.container.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n this.inputWrapper.container.classList.add('e-ddl');\n if (this.floatLabelType !== 'Never') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputWrapper.buttons[0]) &&\n this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never') {\n this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');\n }\n this.wireEvent();\n this.tabIndex = this.element.hasAttribute('tabindex') ? this.element.getAttribute('tabindex') : '0';\n this.element.removeAttribute('tabindex');\n var id = this.element.getAttribute('id') ? this.element.getAttribute('id') : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2_dropdownlist');\n this.element.id = id;\n this.hiddenElement.id = id + '_hidden';\n this.targetElement().setAttribute('tabindex', this.tabIndex);\n if ((this.getModuleName() === 'autocomplete' || this.getModuleName() === 'combobox') && !this.readonly) {\n if (!this.inputElement.hasAttribute('aria-label')) {\n this.inputElement.setAttribute('aria-label', this.getModuleName());\n }\n }\n else if (this.getModuleName() === 'dropdownlist') {\n if (!this.targetElement().hasAttribute('aria-label')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), { 'aria-label': this.getModuleName() });\n }\n if (!this.inputElement.hasAttribute('aria-label')) {\n this.inputElement.setAttribute('aria-label', this.getModuleName());\n }\n this.inputElement.setAttribute('aria-expanded', 'false');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.targetElement(), this.getAriaAttributes());\n this.updateDataAttribute(this.htmlAttributes);\n this.setHTMLAttributes();\n if (this.targetElement() === this.inputElement) {\n this.inputElement.removeAttribute('aria-labelledby');\n }\n if (this.value !== null || this.activeIndex !== null || this.text !== null) {\n if (this.enableVirtualization) {\n this.listItemHeight = this.getListHeight();\n this.getSkeletonCount();\n this.updateVirtualizationProperties(this.itemCount, this.allowFiltering);\n if (this.index !== null) {\n this.activeIndex = this.index + this.skeletonCount;\n }\n }\n this.initValue();\n this.selectedValueInfo = this.viewPortInfo;\n if (this.enableVirtualization) {\n this.activeIndex = this.activeIndex + this.skeletonCount;\n }\n }\n else if (this.element.tagName === 'SELECT' && this.element.options[0]) {\n var selectElement = this.element;\n this.value = this.allowObjectBinding ? this.getDataByValue(selectElement.options[selectElement.selectedIndex].value) :\n selectElement.options[selectElement.selectedIndex].value;\n this.text = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ? null : selectElement.options[selectElement.selectedIndex].textContent;\n this.initValue();\n }\n this.setEnabled();\n this.preventTabIndex(this.element);\n if (!this.enabled) {\n this.targetElement().tabIndex = -1;\n }\n this.initial = false;\n this.element.style.opacity = '';\n this.inputElement.onselect = function (e) {\n e.stopImmediatePropagation();\n };\n this.inputElement.onchange = function (e) {\n e.stopImmediatePropagation();\n };\n if (this.element.hasAttribute('autofocus')) {\n this.focusIn();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text)) {\n this.inputElement.setAttribute('value', this.text);\n }\n if (this.element.hasAttribute('data-val')) {\n this.element.setAttribute('data-val', 'false');\n }\n var floatLabelElement = this.inputWrapper.container.getElementsByClassName('e-float-text')[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.id) && this.element.id !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(floatLabelElement)) {\n floatLabelElement.id = 'label_' + this.element.id.replace(/ /g, '_');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-labelledby': floatLabelElement.id });\n }\n this.renderComplete();\n this.listItemHeight = this.getListHeight();\n this.getSkeletonCount();\n if (this.enableVirtualization) {\n this.updateVirtualizationProperties(this.itemCount, this.allowFiltering);\n }\n this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;\n this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.viewPortInfo.startIndex > 0 ?\n this.viewPortInfo.endIndex : this.itemCount;\n };\n DropDownList.prototype.getListHeight = function () {\n var listParent = this.createElement('div', {\n className: 'e-dropdownbase'\n });\n var item = this.createElement('li', {\n className: 'e-list-item'\n });\n var listParentHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n listParent.style.height = (parseInt(listParentHeight, 10)).toString() + 'px';\n listParent.appendChild(item);\n document.body.appendChild(listParent);\n this.virtualListHeight = listParent.getBoundingClientRect().height;\n var listItemHeight = Math.ceil(item.getBoundingClientRect().height) +\n parseInt(window.getComputedStyle(item).marginBottom, 10);\n listParent.remove();\n return listItemHeight;\n };\n DropDownList.prototype.setFooterTemplate = function (popupEle) {\n var compiledString;\n if (this.footer) {\n if (this.isReact && typeof this.footerTemplate === 'function') {\n this.clearTemplate(['footerTemplate']);\n }\n else {\n this.footer.innerHTML = '';\n }\n }\n else {\n this.footer = this.createElement('div');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.footer], dropDownListClasses.footer);\n }\n var footercheck = this.dropdownCompiler(this.footerTemplate);\n if (typeof this.footerTemplate !== 'function' && footercheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.footerTemplate, document).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.footerTemplate);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var footerCompTemp = compiledString({}, this, 'footerTemplate', this.footerTemplateId, this.isStringTemplate, null, this.footer);\n if (footerCompTemp && footerCompTemp.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(footerCompTemp, this.footer);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.footer], popupEle);\n };\n DropDownList.prototype.setHeaderTemplate = function (popupEle) {\n var compiledString;\n if (this.header) {\n this.header.innerHTML = '';\n }\n else {\n this.header = this.createElement('div');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.header], dropDownListClasses.header);\n }\n var headercheck = this.dropdownCompiler(this.headerTemplate);\n if (typeof this.headerTemplate !== 'function' && headercheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.headerTemplate, document).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.headerTemplate);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var headerCompTemp = compiledString({}, this, 'headerTemplate', this.headerTemplateId, this.isStringTemplate, null, this.header);\n if (headerCompTemp && headerCompTemp.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(headerCompTemp, this.header);\n }\n var contentEle = popupEle.querySelector('div.e-content');\n popupEle.insertBefore(this.header, contentEle);\n };\n /**\n * Sets the enabled state to DropDownBase.\n *\n * @returns {void}\n */\n DropDownList.prototype.setEnabled = function () {\n this.element.setAttribute('aria-disabled', (this.enabled) ? 'false' : 'true');\n };\n DropDownList.prototype.setOldText = function (text) {\n this.text = text;\n };\n DropDownList.prototype.setOldValue = function (value) {\n this.value = value;\n };\n DropDownList.prototype.refreshPopup = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj) && document.body.contains(this.popupObj.element) &&\n ((this.allowFiltering && !(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isFilterLayout())) || this.getModuleName() === 'autocomplete')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.popupObj.element], 'e-popup-close');\n this.popupObj.refreshPosition(this.inputWrapper.container);\n this.popupObj.resolveCollision();\n }\n };\n DropDownList.prototype.checkData = function (newProp) {\n if (newProp.dataSource && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(Object.keys(newProp.dataSource)) && this.itemTemplate && this.allowFiltering &&\n !(this.isListSearched && (newProp.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager))) {\n if (this.list && !(this.isReact)) {\n this.list.innerHTML = '';\n }\n else {\n this.list = null;\n }\n this.actionCompleteData = { ulElement: null, list: null, isUpdated: false };\n }\n this.isListSearched = false;\n var isChangeValue = Object.keys(newProp).indexOf('value') !== -1 && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value);\n var isChangeText = Object.keys(newProp).indexOf('text') !== -1 && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.text);\n if (this.getModuleName() !== 'autocomplete' && this.allowFiltering && (isChangeValue || isChangeText)) {\n this.itemData = null;\n }\n if (this.allowFiltering && newProp.dataSource && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(Object.keys(newProp.dataSource))) {\n this.actionCompleteData = { ulElement: null, list: null, isUpdated: false };\n this.actionData = this.actionCompleteData;\n }\n else if (this.allowFiltering && newProp.query && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(Object.keys(newProp.query))) {\n this.actionCompleteData = this.getModuleName() === 'combobox' ?\n { ulElement: null, list: null, isUpdated: false } : this.actionCompleteData;\n this.actionData = this.actionCompleteData;\n }\n };\n DropDownList.prototype.updateDataSource = function (props, oldProps) {\n if (this.inputElement.value !== '' || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(props) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(props.dataSource)\n || (!(props.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && props.dataSource.length === 0)))) {\n this.clearAll(null, props);\n }\n if ((this.fields.groupBy && props.fields) && !this.isGroupChecking && this.list) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'scroll', this.setFloatingHeader);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'scroll', this.setFloatingHeader, this);\n }\n if (!(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(props) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(props.dataSource)\n || (!(props.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) && props.dataSource.length === 0))) ||\n ((props.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(props) && Array.isArray(props.dataSource) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldProps) && Array.isArray(oldProps.dataSource) && props.dataSource.length !== oldProps.dataSource.length))) {\n this.typedString = '';\n this.resetList(this.dataSource);\n }\n if (!this.isCustomFilter && !this.isFilterFocus && document.activeElement !== this.filterInput) {\n this.checkCustomValue();\n }\n };\n DropDownList.prototype.checkCustomValue = function () {\n var currentValue = this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n this.itemData = this.getDataByValue(currentValue);\n var dataItem = this.getItemData();\n var value = this.allowObjectBinding ? this.itemData : dataItem.value;\n var index = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? null : this.index;\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) && (currentValue === value)) || this.isAngular) {\n this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });\n }\n else {\n this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'index': index, 'value': value });\n }\n };\n DropDownList.prototype.updateInputFields = function () {\n if (this.getModuleName() === 'dropdownlist') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n };\n /**\n * Dynamically change the value of properties.\n *\n * @private\n * @param {DropDownListModel} newProp - Returns the dynamic property value of the component.\n * @param {DropDownListModel} oldProp - Returns the previous previous value of the component.\n * @returns {void}\n */\n DropDownList.prototype.onPropertyChanged = function (newProp, oldProp) {\n var _this = this;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.dataSource) && !this.isTouched && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value) &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.index)) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.preselectedIndex) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.index)) {\n newProp.index = this.index;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.index)) {\n this.isTouched = true;\n }\n if (this.getModuleName() === 'dropdownlist') {\n this.checkData(newProp);\n this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp);\n }\n var _loop_1 = function (prop) {\n switch (prop) {\n case 'query':\n case 'dataSource':\n this_1.getSkeletonCount();\n this_1.checkAndResetCache();\n break;\n case 'htmlAttributes':\n this_1.setHTMLAttributes();\n break;\n case 'width':\n this_1.setEleWidth(newProp.width);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.calculateWidth(this_1.inputElement, this_1.inputWrapper.container);\n break;\n case 'placeholder':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setPlaceholder(newProp.placeholder, this_1.inputElement);\n break;\n case 'filterBarPlaceholder':\n if (this_1.filterInput) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setPlaceholder(newProp.filterBarPlaceholder, this_1.filterInput);\n }\n break;\n case 'readonly':\n if (this_1.getModuleName() !== 'dropdownlist') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setReadonly(newProp.readonly, this_1.inputElement);\n }\n this_1.setReadOnly();\n break;\n case 'cssClass':\n this_1.setCssClass(newProp.cssClass, oldProp.cssClass);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.calculateWidth(this_1.inputElement, this_1.inputWrapper.container);\n break;\n case 'enableRtl':\n this_1.setEnableRtl();\n break;\n case 'enabled':\n this_1.setEnable();\n break;\n case 'text':\n if (this_1.fields.disabled) {\n newProp.text = newProp.text && !this_1.isDisabledItemByIndex(this_1.getIndexByValue(this_1.getValueByText(newProp.text)))\n ? newProp.text : null;\n }\n if (newProp.text === null) {\n this_1.clearAll();\n break;\n }\n if (this_1.enableVirtualization) {\n this_1.updateValues();\n this_1.updateInputFields();\n this_1.notify('setCurrentViewDataAsync', {\n module: 'VirtualScroll'\n });\n break;\n }\n if (!this_1.list) {\n if (this_1.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n this_1.initialRemoteRender = true;\n }\n this_1.renderList();\n }\n if (!this_1.initialRemoteRender) {\n var li = this_1.getElementByText(newProp.text);\n if (!this_1.checkValidLi(li)) {\n if (this_1.liCollections && this_1.liCollections.length === 100 &&\n this_1.getModuleName() === 'autocomplete' && this_1.listData.length > 100) {\n this_1.setSelectionData(newProp.text, oldProp.text, 'text');\n }\n else if (newProp.text && this_1.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n var listLength_1 = this_1.getItems().length;\n var checkField = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.fields.text) ? this_1.fields.value : this_1.fields.text;\n this_1.typedString = '';\n this_1.dataSource.executeQuery(this_1.getQuery(this_1.query).where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Predicate(checkField, 'equal', newProp.text)))\n .then(function (e) {\n if (e.result.length > 0) {\n _this.addItem(e.result, listLength_1);\n _this.updateValues();\n }\n else {\n _this.setOldText(oldProp.text);\n }\n });\n }\n else if (this_1.getModuleName() === 'autocomplete') {\n this_1.setInputValue(newProp, oldProp);\n }\n else {\n this_1.setOldText(oldProp.text);\n }\n }\n this_1.updateInputFields();\n }\n break;\n case 'value':\n if (this_1.fields.disabled) {\n newProp.value = newProp.value != null && !this_1.isDisableItemValue(newProp.value) ? newProp.value : null;\n }\n if (newProp.value === null) {\n this_1.clearAll();\n break;\n }\n if (this_1.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldProp.value) &&\n this_1.isObjectInArray(newProp.value, [oldProp.value])) {\n return { value: void 0 };\n }\n if (this_1.enableVirtualization) {\n this_1.updateValues();\n this_1.updateInputFields();\n this_1.notify('setCurrentViewDataAsync', {\n module: 'VirtualScroll'\n });\n this_1.preventChange = this_1.isAngular && this_1.preventChange ? !this_1.preventChange : this_1.preventChange;\n break;\n }\n this_1.notify('beforeValueChange', { newProp: newProp }); // gird component value type change\n if (!this_1.list) {\n if (this_1.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n this_1.initialRemoteRender = true;\n }\n this_1.renderList();\n }\n if (!this_1.initialRemoteRender) {\n var value = this_1.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this_1.fields.value) ? this_1.fields.value : '', newProp.value) : newProp.value;\n var item = this_1.getElementByValue(value);\n if (!this_1.checkValidLi(item)) {\n if (this_1.liCollections && this_1.liCollections.length === 100 &&\n this_1.getModuleName() === 'autocomplete' && this_1.listData.length > 100) {\n this_1.setSelectionData(newProp.value, oldProp.value, 'value');\n }\n else if (newProp.value && this_1.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n var listLength_2 = this_1.getItems().length;\n var checkField = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.fields.value) ? this_1.fields.text : this_1.fields.value;\n this_1.typedString = '';\n var value_3 = this_1.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp.value) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(checkField, newProp.value) : newProp.value;\n this_1.dataSource.executeQuery(this_1.getQuery(this_1.query).where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Predicate(checkField, 'equal', value_3)))\n .then(function (e) {\n if (e.result.length > 0) {\n _this.addItem(e.result, listLength_2);\n _this.updateValues();\n }\n else {\n _this.setOldValue(oldProp.value);\n }\n });\n }\n else if (this_1.getModuleName() === 'autocomplete') {\n this_1.setInputValue(newProp, oldProp);\n }\n else {\n this_1.setOldValue(oldProp.value);\n }\n }\n this_1.updateInputFields();\n this_1.preventChange = this_1.isAngular && this_1.preventChange ? !this_1.preventChange : this_1.preventChange;\n }\n break;\n case 'index':\n if (this_1.fields.disabled) {\n newProp.index = newProp.index != null && !this_1.isDisabledItemByIndex(newProp.index) ? newProp.index : null;\n }\n if (newProp.index === null) {\n this_1.clearAll();\n break;\n }\n if (!this_1.list) {\n if (this_1.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n this_1.initialRemoteRender = true;\n }\n this_1.renderList();\n }\n if (!this_1.initialRemoteRender && this_1.liCollections) {\n var element = this_1.liCollections[newProp.index];\n if (!this_1.checkValidLi(element)) {\n if (this_1.liCollections && this_1.liCollections.length === 100 &&\n this_1.getModuleName() === 'autocomplete' && this_1.listData.length > 100) {\n this_1.setSelectionData(newProp.index, oldProp.index, 'index');\n }\n else {\n this_1.index = oldProp.index;\n }\n }\n this_1.updateInputFields();\n }\n break;\n case 'footerTemplate':\n if (this_1.popupObj) {\n this_1.setFooterTemplate(this_1.popupObj.element);\n }\n break;\n case 'headerTemplate':\n if (this_1.popupObj) {\n this_1.setHeaderTemplate(this_1.popupObj.element);\n }\n break;\n case 'valueTemplate':\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.itemData) && this_1.valueTemplate !== null) {\n this_1.setValueTemplate();\n }\n break;\n case 'allowFiltering':\n if (this_1.allowFiltering) {\n this_1.actionCompleteData = {\n ulElement: this_1.ulElement,\n list: this_1.listData, isUpdated: true\n };\n this_1.actionData = this_1.actionCompleteData;\n this_1.updateSelectElementData(this_1.allowFiltering);\n }\n break;\n case 'floatLabelType':\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.removeFloating(this_1.inputWrapper);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.addFloating(this_1.inputElement, newProp.floatLabelType, this_1.placeholder, this_1.createElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.inputWrapper.buttons[0]) &&\n this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0] && this_1.floatLabelType !== 'Never') {\n this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n break;\n case 'showClearButton':\n if (!this_1.inputWrapper.clearButton) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setClearButton(newProp.showClearButton, this_1.inputElement, this_1.inputWrapper, null, this_1.createElement);\n this_1.bindClearEvent();\n }\n break;\n default:\n {\n // eslint-disable-next-line max-len\n var ddlProps = this_1.getPropObject(prop, newProp, oldProp);\n _super.prototype.onPropertyChanged.call(this_1, ddlProps.newProperty, ddlProps.oldProperty);\n }\n break;\n }\n };\n var this_1 = this;\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n var state_1 = _loop_1(prop);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n };\n DropDownList.prototype.checkValidLi = function (element) {\n if (this.isValidLI(element)) {\n this.setSelection(element, null);\n return true;\n }\n return false;\n };\n DropDownList.prototype.setSelectionData = function (newProp, oldProp, prop) {\n var _this = this;\n var li;\n this.updateListValues = function () {\n if (prop === 'text') {\n li = _this.getElementByText(newProp);\n if (!_this.checkValidLi(li)) {\n _this.setOldText(oldProp);\n }\n }\n else if (prop === 'value') {\n var fields = (_this.fields.value) ? _this.fields.value : '';\n var value = _this.allowObjectBinding && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newProp) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields, newProp) : newProp;\n li = _this.getElementByValue(newProp);\n if (!_this.checkValidLi(li)) {\n _this.setOldValue(oldProp);\n }\n }\n else if (prop === 'index') {\n li = _this.liCollections[newProp];\n if (!_this.checkValidLi(li)) {\n _this.index = oldProp;\n }\n }\n };\n };\n DropDownList.prototype.updatePopupState = function () {\n if (this.beforePopupOpen) {\n this.beforePopupOpen = false;\n this.showPopup();\n }\n };\n DropDownList.prototype.setReadOnly = function () {\n if (this.readonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], ['e-readonly']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], ['e-readonly']);\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function\n DropDownList.prototype.setInputValue = function (newProp, oldProp) {\n };\n DropDownList.prototype.setCssClass = function (newClass, oldClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldClass)) {\n oldClass = (oldClass.replace(/\\s+/g, ' ')).trim();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newClass)) {\n newClass = (newClass.replace(/\\s+/g, ' ')).trim();\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setCssClass(newClass, [this.inputWrapper.container], oldClass);\n if (this.popupObj) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setCssClass(newClass, [this.popupObj.element], oldClass);\n }\n };\n /**\n * Return the module name of this component.\n *\n * @private\n * @returns {string} Return the module name of this component.\n */\n DropDownList.prototype.getModuleName = function () {\n return 'dropdownlist';\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Opens the popup that displays the list of items.\n *\n * @returns {void}\n */\n DropDownList.prototype.showPopup = function (e) {\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n if (!this.enabled) {\n return;\n }\n this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;\n if (this.isReact && this.getModuleName() === 'combobox' && this.itemTemplate && this.isCustomFilter && this.isAddNewItemTemplate) {\n this.renderList();\n this.isAddNewItemTemplate = false;\n }\n if (this.isFiltering() && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && (this.actionData.list !== this.actionCompleteData.list) &&\n this.actionData.list && this.actionData.ulElement) {\n this.actionCompleteData = this.actionData;\n this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list, null, true);\n }\n if (this.beforePopupOpen) {\n this.refreshPopup();\n return;\n }\n this.beforePopupOpen = true;\n if (this.isFiltering() && !this.isActive && this.actionCompleteData.list && this.actionCompleteData.list[0]) {\n this.isActive = true;\n this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list, null, true);\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.list) && (this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData) ||\n this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.li).length <= 0)) {\n if (this.isReact && this.isFiltering() && this.itemTemplate != null) {\n this.isSecondClick = false;\n }\n this.renderList(e);\n }\n if (this.enableVirtualization && this.listData && this.listData.length) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && (this.getModuleName() === 'dropdownlist' || this.getModuleName() === 'combobox')) {\n this.removeHover();\n }\n if (!this.beforePopupOpen) {\n this.notify('setCurrentViewDataAsync', {\n module: 'VirtualScroll'\n });\n }\n }\n if (this.beforePopupOpen) {\n this.invokeRenderPopup(e);\n }\n if (this.enableVirtualization && !this.allowFiltering && this.selectedValueInfo != null &&\n this.selectedValueInfo.startIndex > 0 && this.value != null) {\n this.notify('dataProcessAsync', {\n module: 'VirtualScroll',\n isOpen: true\n });\n }\n if (!this.isSecondClick && !this.isDropDownClick) {\n this.executeCloneElements();\n }\n };\n DropDownList.prototype.executeCloneElements = function () {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var proxy = this;\n var duration = (this.element.tagName === this.getNgDirective() && this.itemTemplate) ? 500 : 100;\n if (this.isReact && this.isFiltering() && this.itemTemplate != null) {\n setTimeout(function () {\n proxy.cloneElements();\n proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && !proxy.list.querySelector('ul') ? false : true;\n }, duration);\n }\n };\n DropDownList.prototype.invokeRenderPopup = function (e) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isFilterLayout()) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var proxy_2 = this;\n window.onpopstate = function () {\n proxy_2.hidePopup();\n };\n history.pushState({}, '');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list.children[0]) ||\n this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.dropDownBaseClasses.noData))) {\n this.renderPopup(e);\n }\n };\n DropDownList.prototype.renderHightSearch = function () {\n // update high light search\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Hides the popup if it is in an open state.\n *\n * @returns {void}\n */\n DropDownList.prototype.hidePopup = function (e) {\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n if (this.isEscapeKey && this.getModuleName() === 'dropdownlist') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);\n }\n this.isEscapeKey = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.index)) {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value) : this.value;\n var element = this.findListElement(this.ulElement, 'li', 'data-value', value);\n this.selectedLI = this.liCollections[this.index] || element;\n if (this.selectedLI) {\n this.updateSelectedItem(this.selectedLI, null, true);\n if (this.valueTemplate && this.itemData !== null) {\n this.setValueTemplate();\n }\n }\n }\n else {\n this.resetSelection();\n }\n }\n this.isVirtualTrackHeight = false;\n this.customFilterQuery = null;\n this.closePopup(0, e);\n var dataItem = this.getItemData();\n var isSelectVal = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedLI);\n if (isSelectVal && this.enableVirtualization && this.selectedLI.classList) {\n isSelectVal = this.selectedLI.classList.contains('e-active');\n }\n if (this.inputElement && this.inputElement.value === '' && !this.isInteracted && (this.isSelectCustom ||\n isSelectVal && this.inputElement.value !== dataItem.text)) {\n this.isSelectCustom = false;\n this.clearAll(e);\n }\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-param */\n /**\n * Sets the focus on the component for interaction.\n *\n * @returns {void}\n */\n DropDownList.prototype.focusIn = function (e) {\n if (!this.enabled) {\n return;\n }\n if (this.targetElement().classList.contains(dropDownListClasses.disable)) {\n return;\n }\n var isFocused = false;\n if (this.preventFocus && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.inputWrapper.container.tabIndex = 1;\n this.inputWrapper.container.focus();\n this.preventFocus = false;\n isFocused = true;\n }\n if (!isFocused) {\n this.targetElement().focus();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputWrapper.container], [dropDownListClasses.inputFocus]);\n this.onFocus(e);\n if (this.floatLabelType !== 'Never') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n }\n };\n /**\n * Moves the focus from the component if the component is already focused.\n *\n * @returns {void}\n */\n DropDownList.prototype.focusOut = function (e) {\n /* eslint-enable valid-jsdoc, jsdoc/require-param */\n if (!this.enabled) {\n return;\n }\n if (!this.enableVirtualization && (this.getModuleName() === 'combobox' || this.getModuleName() === 'autocomplete')) {\n this.isTyped = true;\n }\n this.hidePopup(e);\n if (this.targetElement()) {\n this.targetElement().blur();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputWrapper.container], [dropDownListClasses.inputFocus]);\n if (this.floatLabelType !== 'Never') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.calculateWidth(this.inputElement, this.inputWrapper.container);\n }\n };\n /**\n * Method to disable specific item in the popup.\n *\n * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.\n * @returns {void}\n\n */\n DropDownList.prototype.disableItem = function (item) {\n if (this.fields.disabled) {\n if (!this.list) {\n this.renderList();\n }\n var itemIndex = -1;\n if (this.liCollections && this.liCollections.length > 0 && this.listData && this.fields.disabled) {\n if (typeof (item) === 'string') {\n itemIndex = this.getIndexByValue(item);\n }\n else if (typeof item === 'object') {\n if (item instanceof HTMLLIElement) {\n for (var index = 0; index < this.liCollections.length; index++) {\n if (this.liCollections[index] === item) {\n itemIndex = this.getIndexByValue(item.getAttribute('data-value'));\n break;\n }\n }\n }\n else {\n var value = JSON.parse(JSON.stringify(item))[this.fields.value];\n for (var index = 0; index < this.listData.length; index++) {\n if (JSON.parse(JSON.stringify(this.listData[index]))[this.fields.value] === value) {\n itemIndex = this.getIndexByValue(value);\n break;\n }\n }\n }\n }\n else {\n itemIndex = item;\n }\n var isValidIndex = itemIndex < this.liCollections.length && itemIndex > -1;\n if (isValidIndex && !(JSON.parse(JSON.stringify(this.listData[itemIndex]))[this.fields.disabled])) {\n var li = this.liCollections[itemIndex];\n if (li) {\n this.disableListItem(li);\n var parsedData = JSON.parse(JSON.stringify(this.listData[itemIndex]));\n parsedData[this.fields.disabled] = true;\n this.listData[itemIndex] = parsedData;\n this.dataSource = this.listData;\n if (li.classList.contains(dropDownListClasses.focus)) {\n this.removeFocus();\n }\n if (li.classList.contains(dropDownListClasses.selected)) {\n this.clear();\n }\n }\n }\n }\n }\n };\n /**\n * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.\n *\n * @method destroy\n * @returns {void}\n */\n DropDownList.prototype.destroy = function () {\n this.isActive = false;\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_4__.resetIncrementalSearchValues)(this.element.id);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact) {\n this.clearTemplate();\n }\n this.hidePopup();\n if (this.popupObj) {\n this.popupObj.hide();\n }\n this.unWireEvent();\n if (this.list) {\n this.unWireListEvents();\n }\n if (this.element && !this.element.classList.contains('e-' + this.getModuleName())) {\n return;\n }\n if (this.inputElement) {\n var attrArray = ['readonly', 'aria-disabled', 'placeholder', 'aria-labelledby',\n 'aria-expanded', 'autocomplete', 'aria-readonly', 'autocapitalize',\n 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-describedby', 'aria-label'];\n for (var i = 0; i < attrArray.length; i++) {\n this.inputElement.removeAttribute(attrArray[i]);\n }\n this.inputElement.setAttribute('tabindex', this.tabIndex);\n this.inputElement.classList.remove('e-input');\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.setValue('', this.inputElement, this.floatLabelType, this.showClearButton);\n }\n this.element.style.display = 'block';\n if (this.inputWrapper.container && this.inputWrapper.container.parentElement) {\n if (this.inputWrapper.container.parentElement.tagName === this.getNgDirective()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.inputWrapper.container);\n }\n else {\n this.inputWrapper.container.parentElement.insertBefore(this.element, this.inputWrapper.container);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.inputWrapper.container);\n }\n }\n delete this.hiddenElement;\n this.filterInput = null;\n this.keyboardModule = null;\n this.ulElement = null;\n this.list = null;\n this.clearIconElement = null;\n this.popupObj = null;\n this.popupContentElement = null;\n this.rippleFun = null;\n this.selectedLI = null;\n this.liCollections = null;\n this.item = null;\n this.footer = null;\n this.header = null;\n this.previousSelectedLI = null;\n this.valueTempElement = null;\n this.actionData.ulElement = null;\n if (this.inputElement && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.onchange)) {\n this.inputElement.onchange = null;\n }\n if (this.inputElement && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement.onselect)) {\n this.inputElement.onselect = null;\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_3__.Input.destroy({\n element: this.inputElement,\n floatLabelType: this.floatLabelType,\n properties: this.properties,\n buttons: this.inputWrapper.container.querySelectorAll('.e-input-group-icon')[0]\n }, this.clearButton);\n this.clearButton = null;\n this.inputElement = null;\n this.inputWrapper = null;\n _super.prototype.destroy.call(this);\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets all the list items bound on this component.\n *\n * @returns {Element[]}\n */\n DropDownList.prototype.getItems = function () {\n if (!this.list) {\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) {\n this.initialRemoteRender = true;\n }\n this.renderList();\n }\n return this.ulElement ? _super.prototype.getItems.call(this) : [];\n };\n /**\n * Gets the data Object that matches the given value.\n *\n * @param { string | number } value - Specifies the value of the list item.\n * @returns {Object}\n */\n DropDownList.prototype.getDataByValue = function (value) {\n return _super.prototype.getDataByValue.call(this, value);\n };\n /* eslint-enable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Allows you to clear the selected values from the component.\n *\n * @returns {void}\n */\n DropDownList.prototype.clear = function () {\n this.value = null;\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], DropDownList.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DropDownList.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('300px')\n ], DropDownList.prototype, \"popupHeight\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], DropDownList.prototype, \"popupWidth\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"filterBarPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], DropDownList.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"query\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"valueTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"headerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"footerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"allowFiltering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], DropDownList.prototype, \"isDeviceFullScreen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"enableVirtualization\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"allowResize\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"allowObjectBinding\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], DropDownList.prototype, \"index\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], DropDownList.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], DropDownList.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"filtering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"beforeOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"blur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"resizeStop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"resizing\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], DropDownList.prototype, \"resizeStart\", void 0);\n DropDownList = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], DropDownList);\n return DropDownList;\n}(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_1__.DropDownBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CheckBoxSelection: () => (/* binding */ CheckBoxSelection)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../drop-down-base/drop-down-base */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js\");\n\n\n\n\n\nvar ICON = 'e-icons';\nvar CHECKBOXFRAME = 'e-frame';\nvar CHECK = 'e-check';\nvar CHECKBOXWRAP = 'e-checkbox-wrapper';\nvar INDETERMINATE = 'e-stop';\nvar checkAllParent = 'e-selectall-parent';\nvar searchBackIcon = 'e-input-group-icon e-back-icon e-icons';\nvar filterBarClearIcon = 'e-input-group-icon e-clear-icon e-icons';\nvar filterInput = 'e-input-filter';\nvar filterParent = 'e-filter-parent';\nvar mobileFilter = 'e-ddl-device-filter';\nvar clearIcon = 'e-clear-icon';\nvar popupFullScreen = 'e-popup-full-page';\nvar device = 'e-ddl-device';\nvar FOCUS = 'e-input-focus';\n/**\n * The Multiselect enable CheckBoxSelection call this inject module.\n */\nvar CheckBoxSelection = /** @class */ (function () {\n function CheckBoxSelection(parent) {\n this.activeLi = [];\n this.activeEle = [];\n this.parent = parent;\n this.removeEventListener();\n this.addEventListener();\n }\n CheckBoxSelection.prototype.getModuleName = function () {\n return 'CheckBoxSelection';\n };\n CheckBoxSelection.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on('updatelist', this.listSelection, this);\n this.parent.on('listoption', this.listOption, this);\n this.parent.on('selectAll', this.setSelectAll, this);\n this.parent.on('checkSelectAll', this.checkSelectAll, this);\n this.parent.on('searchBox', this.setSearchBox, this);\n this.parent.on('blur', this.onBlurHandler, this);\n this.parent.on('targetElement', this.targetElement, this);\n this.parent.on('deviceSearchBox', this.setDeviceSearchBox, this);\n this.parent.on('inputFocus', this.getFocus, this);\n this.parent.on('reOrder', this.setReorder, this);\n this.parent.on('activeList', this.getActiveList, this);\n this.parent.on('selectAllText', this.setLocale, this);\n this.parent.on('filterBarPlaceholder', this.setPlaceholder, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown', this.onDocumentClick, this);\n this.parent.on('addItem', this.checboxCreate, this);\n this.parent.on('popupFullScreen', this.setPopupFullScreen, this);\n };\n CheckBoxSelection.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off('updatelist', this.listSelection);\n this.parent.off('listoption', this.listOption);\n this.parent.off('selectAll', this.setSelectAll);\n this.parent.off('checkSelectAll', this.checkSelectAll);\n this.parent.off('searchBox', this.setSearchBox);\n this.parent.off('blur', this.onBlurHandler);\n this.parent.off('targetElement', this.targetElement);\n this.parent.off('deviceSearchBox', this.setDeviceSearchBox);\n this.parent.off('inputFocus', this.getFocus);\n this.parent.off('reOrder', this.setReorder);\n this.parent.off('activeList', this.getActiveList);\n this.parent.off('selectAllText', this.setLocale);\n this.parent.off('filterBarPlaceholder', this.setPlaceholder);\n this.parent.off('addItem', this.checboxCreate);\n this.parent.off('popupFullScreen', this.setPopupFullScreen);\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CheckBoxSelection.prototype.listOption = function (args) {\n var _this = this;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.listCurrentOptions.itemCreated)) {\n this.parent.listCurrentOptions.itemCreated = function (e) {\n _this.checboxCreate(e);\n };\n }\n else {\n var itemCreated_1 = this.parent.listCurrentOptions.itemCreated;\n this.parent.listCurrentOptions.itemCreated = function (e) {\n _this.checboxCreate(e);\n itemCreated_1.apply(_this, [e]);\n };\n }\n };\n CheckBoxSelection.prototype.setPlaceholder = function (props) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(props.filterBarPlaceholder, this.filterInput);\n };\n CheckBoxSelection.prototype.checboxCreate = function (e) {\n var item;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.item)) {\n item = e.item;\n }\n else {\n item = e;\n }\n if (this.parent.enableGroupCheckBox || (item.className !== 'e-list-group-item '\n && item.className !== 'e-list-group-item')) {\n var checkboxEle = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_2__.createCheckBox)(this.parent.createElement, true);\n var icon = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('div.' + ICON, item);\n item.insertBefore(checkboxEle, item.childNodes[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(icon) ? 0 : 1]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + CHECKBOXFRAME, checkboxEle);\n if (this.parent.enableGroupCheckBox) {\n this.parent.popupWrapper.classList.add('e-multiselect-group');\n }\n return item;\n }\n else {\n return item;\n }\n };\n CheckBoxSelection.prototype.setSelectAll = function () {\n if (this.parent.showSelectAll) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkAllParent)) {\n this.checkAllParent = this.parent.createElement('div', {\n className: checkAllParent\n });\n this.selectAllSpan = this.parent.createElement('span', {\n className: 'e-all-text'\n });\n this.selectAllSpan.textContent = '';\n this.checkAllParent.appendChild(this.selectAllSpan);\n this.setLocale();\n this.checboxCreate(this.checkAllParent);\n if (this.parent.headerTemplate) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.filterParent)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.checkAllParent], this.parent.filterParent);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.checkAllParent], this.parent.popupWrapper);\n }\n }\n if (!this.parent.headerTemplate) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.filterParent)) {\n this.parent.filterParent.parentNode.insertBefore(this.checkAllParent, this.parent.filterParent.nextSibling);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.checkAllParent], this.parent.popupWrapper);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.checkAllParent, 'mousedown', this.clickHandler, this);\n }\n if (this.parent.list.classList.contains('e-nodata') || (this.parent.listData && this.parent.listData.length <= 1 && !this.parent.enableVirtualization &&\n !(this.parent.isDynamicDataChange)) || (this.parent.isDynamicDataChange &&\n this.parent.listData && this.parent.listData.length <= 1)) {\n this.checkAllParent.style.display = 'none';\n }\n else {\n this.checkAllParent.style.display = 'block';\n }\n this.parent.selectAllHeight = this.checkAllParent.getBoundingClientRect().height;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkAllParent)) {\n this.checkAllParent.parentElement.removeChild(this.checkAllParent);\n this.checkAllParent = null;\n }\n };\n CheckBoxSelection.prototype.destroy = function () {\n this.removeEventListener();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown', this.onDocumentClick);\n this.checkAllParent = null;\n this.clearIconElement = null;\n this.filterInput = null;\n this.filterInputObj = null;\n this.checkWrapper = null;\n this.selectAllSpan = null;\n };\n CheckBoxSelection.prototype.listSelection = function (args) {\n var target;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.e)) {\n var frameElm = args.li.querySelector('.e-checkbox-wrapper .e-frame');\n target = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.e.target) ?\n (args.e.target.classList.contains('e-frame')\n && (!this.parent.showSelectAll\n || (this.checkAllParent && !this.checkAllParent.contains(args.e.target)))) ?\n args.e.target : args.li.querySelector('.e-checkbox-wrapper').childNodes[1]\n : args.li.querySelector('.e-checkbox-wrapper').childNodes[1];\n }\n else {\n var checkboxWrapper = args.li.querySelector('.e-checkbox-wrapper');\n target = checkboxWrapper ? checkboxWrapper.childNodes[1] : args.li.lastElementChild.childNodes[1];\n }\n if (this.parent.itemTemplate || this.parent.enableGroupCheckBox) {\n target = args.li.firstElementChild.childNodes[1];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target)) {\n this.checkWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + CHECKBOXWRAP);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkWrapper)) {\n var checkElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + CHECKBOXFRAME, this.checkWrapper);\n var selectAll = false;\n this.validateCheckNode(this.checkWrapper, checkElement.classList.contains(CHECK), args.li, args.e, selectAll);\n }\n };\n CheckBoxSelection.prototype.validateCheckNode = function (checkWrap, isCheck, li, e, selectAll) {\n this.changeState(checkWrap, isCheck ? 'uncheck' : 'check', e, true, selectAll);\n };\n CheckBoxSelection.prototype.clickHandler = function (e) {\n var target;\n if (e.currentTarget.classList.contains(this.checkAllParent.className) ||\n (e.currentTarget.classList.value === this.checkAllParent.className)) {\n target = e.currentTarget.firstElementChild.lastElementChild;\n }\n else {\n target = e.currentTarget;\n }\n this.checkWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + CHECKBOXWRAP);\n var selectAll = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkWrapper)) {\n var checkElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + CHECKBOXFRAME, this.checkWrapper);\n this.validateCheckNode(this.checkWrapper, checkElement.classList.contains(CHECK), null, e, selectAll);\n }\n e.preventDefault();\n };\n CheckBoxSelection.prototype.changeState = function (wrapper, state, e, isPrevent, selectAll) {\n var ariaState;\n var frameSpan = wrapper.getElementsByClassName(CHECKBOXFRAME)[0];\n if (state === 'check' && !frameSpan.classList.contains(CHECK)) {\n frameSpan.classList.remove(INDETERMINATE);\n frameSpan.classList.add(CHECK);\n ariaState = 'true';\n if (selectAll) {\n this.parent.selectAllItems(true, e);\n this.setLocale(true);\n }\n }\n else if (state === 'uncheck' && (frameSpan.classList.contains(CHECK) || frameSpan.classList.contains(INDETERMINATE))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([frameSpan], [CHECK, INDETERMINATE]);\n ariaState = 'false';\n if (selectAll) {\n this.parent.selectAllItems(false, e);\n this.setLocale();\n }\n }\n else if (state === 'indeterminate' && !(frameSpan.classList.contains(INDETERMINATE))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([frameSpan], [CHECK]);\n frameSpan.classList.add(INDETERMINATE);\n ariaState = 'false';\n if (selectAll) {\n this.parent.selectAllItems(false, e);\n this.setLocale();\n }\n }\n };\n CheckBoxSelection.prototype.setSearchBox = function (args) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.filterParent)) {\n this.parent.filterParent = this.parent.createElement('span', {\n className: filterParent\n });\n this.filterInput = this.parent.createElement('input', {\n attrs: { type: 'text' },\n className: filterInput\n });\n this.parent.element.parentNode.insertBefore(this.filterInput, this.parent.element);\n var backIcon = false;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.parent.isDeviceFullScreen) {\n backIcon = true;\n this.parent.mobFilter = false;\n }\n this.filterInputObj = _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.Input.createInput({\n element: this.filterInput,\n buttons: backIcon ? [searchBackIcon, filterBarClearIcon] : [filterBarClearIcon],\n properties: { placeholder: this.parent.filterBarPlaceholder }\n }, this.parent.createElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.cssClass)) {\n if (this.parent.cssClass.split(' ').indexOf('e-outline') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.filterInputObj.container], 'e-outline');\n }\n else if (this.parent.cssClass.split(' ').indexOf('e-filled') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.filterInputObj.container], 'e-filled');\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.filterInputObj.container], this.parent.filterParent);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.parent.filterParent], args.popupElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.filterInput, {\n 'aria-disabled': 'false',\n 'role': 'combobox',\n 'autocomplete': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false',\n 'aria-label': 'multiselect',\n 'aria-expanded': 'true',\n 'aria-controls': args.popupElement.id\n });\n this.clearIconElement = this.filterInput.parentElement.querySelector('.' + clearIcon);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.clearIconElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.clearIconElement, 'mousedown', this.clearText, this);\n this.clearIconElement.style.visibility = 'hidden';\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'input', this.parent.onInput, this.parent);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'keyup', this.parent.keyUp, this.parent);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'keydown', this.parent.onKeyDown, this.parent);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'blur', this.onBlurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.filterInput, 'paste', this.parent.pasteHandler, this.parent);\n this.parent.searchBoxHeight = (this.filterInputObj.container.parentElement).getBoundingClientRect().height;\n return this.filterInputObj;\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CheckBoxSelection.prototype.clickOnBackIcon = function (e) {\n this.parent.hidePopup();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body, this.parent.popupObj.element], popupFullScreen);\n this.parent.inputElement.focus();\n };\n CheckBoxSelection.prototype.clearText = function (e) {\n this.parent.targetInputElement.value = '';\n if (this.parent.allowFiltering && this.parent.targetInputElement.value === '') {\n this.parent.search(null);\n }\n this.parent.refreshListItems(null);\n this.parent.refreshPopup();\n this.clearIconElement.style.visibility = 'hidden';\n this.filterInput.focus();\n if (!this.parent.enableVirtualization || (this.parent.enableVirtualization && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.value)\n || (this.parent.value && this.parent.value.length === 0)))) {\n this.setReorder(e);\n }\n this.boundPreventListSelection = this.preventListSelection.bind(this);\n this.parent.popupWrapper.addEventListener('mouseup', this.boundPreventListSelection, true);\n e.preventDefault();\n };\n CheckBoxSelection.prototype.preventListSelection = function (e) {\n e.stopPropagation();\n this.parent.popupWrapper.removeEventListener('mouseup', this.boundPreventListSelection, true);\n this.boundPreventListSelection = null;\n };\n CheckBoxSelection.prototype.setDeviceSearchBox = function () {\n this.parent.popupObj.element.classList.add(device);\n this.parent.popupObj.element.classList.add(mobileFilter);\n this.parent.popupObj.position = { X: 0, Y: 0 };\n this.parent.popupObj.dataBind();\n this.setSearchBoxPosition();\n this.backIconElement = this.filterInputObj.container.querySelector('.e-back-icon');\n this.clearIconElement = this.filterInputObj.container.querySelector('.' + clearIcon);\n this.clearIconElement.style.visibility = 'hidden';\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.backIconElement, 'click', this.clickOnBackIcon, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.clearIconElement, 'click', this.clearText, this);\n };\n CheckBoxSelection.prototype.setSearchBoxPosition = function () {\n var searchBoxHeight = this.filterInput.parentElement.getBoundingClientRect().height;\n var selectAllHeight = 0;\n var footerHeight = 0;\n var headerHeight = 0;\n if (this.checkAllParent) {\n selectAllHeight = this.checkAllParent.getBoundingClientRect().height;\n }\n if (this.parent.header) {\n headerHeight = this.parent.header.getBoundingClientRect().height;\n }\n if (this.parent.footer) {\n footerHeight = this.parent.footer.getBoundingClientRect().height;\n }\n this.parent.popupObj.element.style.maxHeight = '100%';\n this.parent.popupObj.element.style.width = '100%';\n this.parent.list.style.maxHeight = (window.innerHeight - searchBoxHeight - selectAllHeight - headerHeight - footerHeight) + 'px';\n this.parent.list.style.height = (window.innerHeight - searchBoxHeight - selectAllHeight - headerHeight - footerHeight) + 'px';\n var clearElement = this.filterInput.parentElement.querySelector('.' + clearIcon);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.filterInput);\n clearElement.parentElement.insertBefore(this.filterInput, clearElement);\n };\n CheckBoxSelection.prototype.setPopupFullScreen = function () {\n if (this.parent && this.parent.popupObj) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.parent.popupObj.element, { style: 'left:0px;right:0px;top:0px;bottom:0px;' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([document.body, this.parent.popupObj.element], popupFullScreen);\n this.parent.popupObj.element.style.maxHeight = '100%';\n this.parent.popupObj.element.style.width = '100%';\n }\n };\n CheckBoxSelection.prototype.targetElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.clearIconElement)) {\n this.parent.targetInputElement = this.filterInput;\n this.clearIconElement.style.visibility = this.parent.targetInputElement.value === '' ? 'hidden' : 'visible';\n }\n return this.parent.targetInputElement.value;\n };\n CheckBoxSelection.prototype.onBlurHandler = function (e) {\n if (!this.parent.element.classList.contains('e-listbox')) {\n var target = void 0;\n if (this.parent.keyAction) {\n return;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE) {\n target = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && e.target;\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE) {\n target = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && e.relatedTarget;\n }\n // eslint-disable-next-line max-len\n if (this.parent.popupObj && document.body.contains(this.parent.popupObj.element) && this.parent.popupObj.element.contains(target)\n && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE && this.filterInput) {\n this.filterInput.focus();\n return;\n }\n if (this.parent.scrollFocusStatus && this.filterInput) {\n e.preventDefault();\n this.filterInput.focus();\n this.parent.scrollFocusStatus = false;\n return;\n }\n if (this.parent.popupObj && document.body.contains(this.parent.popupObj.element)\n && !this.parent.popupObj.element.classList.contains('e-popup-close')) {\n this.parent.inputFocus = false;\n this.parent.updateValueState(e, this.parent.value, this.parent.tempValues);\n this.parent.dispatchEvent(this.parent.hiddenElement, 'change');\n }\n if (this.parent.popupObj && document.body.contains(this.parent.popupObj.element) &&\n !this.parent.popupObj.element.classList.contains('e-popup-close')) {\n this.parent.inputFocus = false;\n this.parent.overAllWrapper.classList.remove(FOCUS);\n this.parent.trigger('blur');\n this.parent.focused = true;\n }\n if (this.parent.popupObj && document.body.contains(this.parent.popupObj.element) &&\n !this.parent.popupObj.element.classList.contains('e-popup-close') && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.parent.hidePopup();\n }\n }\n };\n CheckBoxSelection.prototype.onDocumentClick = function (e) {\n if (this.parent.getLocaleName() !== 'listbox') {\n var target = e.target;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.popupObj) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '[id=\"' + this.parent.popupObj.element.id + '\"]')) {\n if (!(this.filterInput && this.filterInput.value !== '')) {\n e.preventDefault();\n }\n }\n if (!(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.popupObj) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '[id=\"' + this.parent.popupObj.element.id + '\"]'))\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.overAllWrapper) && !this.parent.overAllWrapper.contains(e.target)) {\n if (this.parent.overAllWrapper.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_3__.dropDownBaseClasses.focus) || this.parent.isPopupOpen()) {\n this.parent.inputFocus = false;\n this.parent.scrollFocusStatus = false;\n this.parent.hidePopup();\n this.parent.onBlurHandler(e, true);\n this.parent.focused = true;\n }\n }\n else {\n this.parent.scrollFocusStatus = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge') &&\n (document.activeElement === this.filterInput);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.overAllWrapper) && !this.parent.overAllWrapper.contains(e.target) && this.parent.overAllWrapper.classList.contains('e-input-focus') &&\n !this.parent.isPopupOpen()) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE) {\n this.parent.onBlurHandler();\n }\n else {\n this.parent.onBlurHandler(e);\n }\n }\n if (this.filterInput === target) {\n this.filterInput.focus();\n }\n }\n };\n CheckBoxSelection.prototype.getFocus = function (e) {\n this.parent.overAllWrapper.classList.remove(FOCUS);\n if (this.parent.keyAction && e.value !== 'clear' && e.value !== 'focus') {\n this.parent.keyAction = false;\n return;\n }\n if (e.value === 'focus') {\n this.filterInput.focus();\n this.parent.removeFocus();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.list, 'keydown', this.parent.onKeyDown);\n }\n if (e.value === 'clear') {\n this.filterInput.value = '';\n this.clearIconElement.style.visibility = 'hidden';\n }\n };\n CheckBoxSelection.prototype.checkSelectAll = function (e) {\n if (e.value === 'check') {\n this.changeState(this.checkAllParent, e.value, null, null, false);\n this.setLocale(true);\n }\n if (e.value === 'uncheck') {\n this.changeState(this.checkAllParent, e.value, null, null, false);\n this.setLocale();\n }\n if (e.value === 'indeterminate') {\n this.changeState(this.checkAllParent, e.value, null, null, false);\n this.setLocale();\n }\n };\n CheckBoxSelection.prototype.setLocale = function (unSelect) {\n if (this.parent.selectAllText !== 'Select All' || this.parent.unSelectAllText !== 'Unselect All') {\n var template = unSelect ? this.parent.unSelectAllText : this.parent.selectAllText;\n this.selectAllSpan.textContent = '';\n var compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n var templateName = unSelect ? 'unSelectAllText' : 'selectAllText';\n for (var _i = 0, _a = compiledString({}, this.parent, templateName, null, !this.parent.isStringTemplate); _i < _a.length; _i++) {\n var item = _a[_i];\n this.selectAllSpan.textContent = item.textContent;\n }\n }\n else {\n var l10nLocale = { selectAllText: 'Select All', unSelectAllText: 'Unselect All' };\n var l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.parent.getLocaleName(), {}, this.parent.locale);\n if (l10n.getConstant('selectAllText') === '') {\n l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('dropdowns', l10nLocale, this.parent.locale);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectAllSpan)) {\n this.selectAllSpan.textContent = unSelect ? l10n.getConstant('unSelectAllText') : l10n.getConstant('selectAllText');\n }\n }\n };\n CheckBoxSelection.prototype.getActiveList = function (args) {\n if (args.li.classList.contains('e-active')) {\n this.activeLi.push(args.li.cloneNode(true));\n }\n else {\n this.activeLi.splice(args.index, 1);\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CheckBoxSelection.prototype.setReorder = function (args) {\n if (this.parent.enableSelectionOrder && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.value)) {\n var activeLiCount = this.parent.ulElement.querySelectorAll('li.e-active').length;\n var remLi = void 0;\n var ulEle_1 = this.parent.createElement('ul', {\n className: 'e-list-parent e-ul e-reorder'\n });\n if (activeLiCount > 0) {\n var activeListItems = this.parent.ulElement.querySelectorAll('li.e-active');\n activeListItems.forEach(function (item) {\n ulEle_1.appendChild(item);\n });\n remLi = this.parent.ulElement.querySelectorAll('li.e-active');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(remLi, 'e-reorder-hide');\n if (this.parent.enableVirtualization) {\n var virtualUlElement = this.parent.list.querySelector('.e-virtual-ddl-content');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([ulEle_1], virtualUlElement);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([ulEle_1], this.parent.list);\n }\n }\n this.parent.focusAtFirstListItem();\n }\n };\n return CheckBoxSelection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/float-label.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/float-label.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createFloatLabel: () => (/* binding */ createFloatLabel),\n/* harmony export */ encodePlaceholder: () => (/* binding */ encodePlaceholder),\n/* harmony export */ floatLabelBlur: () => (/* binding */ floatLabelBlur),\n/* harmony export */ floatLabelFocus: () => (/* binding */ floatLabelFocus),\n/* harmony export */ removeFloating: () => (/* binding */ removeFloating),\n/* harmony export */ setPlaceHolder: () => (/* binding */ setPlaceHolder),\n/* harmony export */ updateFloatLabelState: () => (/* binding */ updateFloatLabelState)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/**\n * FloatLable Moduel\n * Specifies whether to display the floating label above the input element.\n */\n\n\nvar FLOATLINE = 'e-float-line';\nvar FLOATTEXT = 'e-float-text';\nvar LABELTOP = 'e-label-top';\nvar LABELBOTTOM = 'e-label-bottom';\n/* eslint-disable valid-jsdoc */\n/**\n * Function to create Float Label element.\n *\n * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.\n * @param {HTMLElement} searchWrapper - Search wrapper of multiselect.\n * @param {HTMLElement} element - The given html element.\n * @param {HTMLInputElement} inputElement - Specify the input wrapper.\n * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.\n * @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.\n * @param {string} placeholder - Specify the PlaceHolder text.\n */\nfunction createFloatLabel(overAllWrapper, searchWrapper, element, inputElement, value, floatLabelType, placeholder) {\n var floatLinelement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('span', { className: FLOATLINE });\n var floatLabelElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('label', { className: FLOATTEXT });\n var id = element.getAttribute('id') ? element.getAttribute('id') : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2_multiselect');\n element.id = id;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.id) && element.id !== '') {\n floatLabelElement.id = 'label_' + element.id.replace(/ /g, '_');\n floatLabelElement.setAttribute('for', element.id);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(inputElement, { 'aria-labelledby': floatLabelElement.id });\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputElement.placeholder) && inputElement.placeholder !== '') {\n floatLabelElement.innerText = encodePlaceholder(inputElement.placeholder);\n inputElement.removeAttribute('placeholder');\n }\n floatLabelElement.innerText = encodePlaceholder(placeholder);\n searchWrapper.appendChild(floatLinelement);\n searchWrapper.appendChild(floatLabelElement);\n overAllWrapper.classList.add('e-float-input');\n updateFloatLabelState(value, floatLabelElement);\n if (floatLabelType === 'Always') {\n if (floatLabelElement.classList.contains(LABELBOTTOM)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([floatLabelElement], LABELBOTTOM);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([floatLabelElement], LABELTOP);\n }\n}\n/**\n * Function to update status of the Float Label element.\n *\n * @param {string[] | number[] | boolean[]} value - Value of the MultiSelect.\n * @param {HTMLElement} label - Float label element.\n */\nfunction updateFloatLabelState(value, label) {\n if (value && value.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], LABELTOP);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], LABELBOTTOM);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], LABELTOP);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], LABELBOTTOM);\n }\n}\n/**\n * Function to remove Float Label element.\n *\n * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.\n * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.\n * @param {HTMLElement} searchWrapper - Search wrapper of multiselect.\n * @param {HTMLInputElement} inputElement - Specify the input wrapper.\n * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.\n * @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.\n * @param {string} placeholder - Specify the PlaceHolder text.\n */\nfunction removeFloating(overAllWrapper, componentWrapper, searchWrapper, inputElement, value, floatLabelType, placeholder) {\n var placeholderElement = componentWrapper.querySelector('.' + FLOATTEXT);\n var floatLine = componentWrapper.querySelector('.' + FLOATLINE);\n var placeholderText;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(placeholderElement)) {\n placeholderText = placeholderElement.innerText;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(searchWrapper.querySelector('.' + FLOATTEXT));\n setPlaceHolder(value, inputElement, placeholderText);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(floatLine)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(searchWrapper.querySelector('.' + FLOATLINE));\n }\n }\n else {\n placeholderText = (placeholder !== null) ? placeholder : '';\n setPlaceHolder(value, inputElement, placeholderText);\n }\n overAllWrapper.classList.remove('e-float-input');\n}\n/**\n * Function to set the placeholder to the element.\n *\n * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.\n * @param {HTMLInputElement} inputElement - Specify the input wrapper.\n * @param {string} placeholder - Specify the PlaceHolder text.\n */\nfunction setPlaceHolder(value, inputElement, placeholder) {\n if (value && value.length) {\n inputElement.placeholder = '';\n }\n else {\n inputElement.placeholder = placeholder;\n }\n}\n/**\n * Function for focusing the Float Element.\n *\n * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.\n * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.\n */\nfunction floatLabelFocus(overAllWrapper, componentWrapper) {\n overAllWrapper.classList.add('e-input-focus');\n var label = componentWrapper.querySelector('.' + FLOATTEXT);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(label)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], LABELTOP);\n if (label.classList.contains(LABELBOTTOM)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], LABELBOTTOM);\n }\n }\n}\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * Function to focus the Float Label element.\n *\n * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.\n * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.\n * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.\n * @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.\n * @param {string} placeholder - Specify the PlaceHolder text.\n */\nfunction floatLabelBlur(overAllWrapper, componentWrapper, value, floatLabelType, placeholder) {\n /* eslint-enable @typescript-eslint/no-unused-vars */\n overAllWrapper.classList.remove('e-input-focus');\n var label = componentWrapper.querySelector('.' + FLOATTEXT);\n if (value && value.length <= 0 && floatLabelType === 'Auto' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(label)) {\n if (label.classList.contains(LABELTOP)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], LABELTOP);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], LABELBOTTOM);\n }\n}\nfunction encodePlaceholder(placeholder) {\n var result = '';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(placeholder) && placeholder !== '') {\n var spanElement = document.createElement('span');\n spanElement.innerHTML = '';\n var hiddenInput = (spanElement.children[0]);\n result = hiddenInput.placeholder;\n }\n return result;\n}\n/* eslint-enable valid-jsdoc */\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/float-label.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MultiSelect: () => (/* binding */ MultiSelect)\n/* harmony export */ });\n/* harmony import */ var _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../drop-down-base/drop-down-base */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/collision.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _common_incremental_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/incremental-search */ \"./node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/adaptors.js\");\n/* harmony import */ var _float_label__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./float-label */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/float-label.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \n\n\n\n\n\n\n\n\n\n\n\n\n\nvar FOCUS = 'e-input-focus';\nvar DISABLED = 'e-disabled';\nvar OVER_ALL_WRAPPER = 'e-multiselect e-input-group e-control-wrapper';\nvar ELEMENT_WRAPPER = 'e-multi-select-wrapper';\nvar ELEMENT_MOBILE_WRAPPER = 'e-mob-wrapper';\nvar HIDE_LIST = 'e-hide-listitem';\nvar DELIMITER_VIEW = 'e-delim-view';\nvar CHIP_WRAPPER = 'e-chips-collection';\nvar CHIP = 'e-chips';\nvar CHIP_CONTENT = 'e-chipcontent';\nvar CHIP_CLOSE = 'e-chips-close';\nvar CHIP_SELECTED = 'e-chip-selected';\nvar SEARCHBOX_WRAPPER = 'e-searcher';\nvar DELIMITER_VIEW_WRAPPER = 'e-delimiter';\nvar ZERO_SIZE = 'e-zero-size';\nvar REMAIN_WRAPPER = 'e-remain';\nvar CLOSEICON_CLASS = 'e-chips-close e-close-hooker';\nvar DELIMITER_WRAPPER = 'e-delim-values';\nvar POPUP_WRAPPER = 'e-ddl e-popup e-multi-select-list-wrapper';\nvar INPUT_ELEMENT = 'e-dropdownbase';\nvar RTL_CLASS = 'e-rtl';\nvar CLOSE_ICON_HIDE = 'e-close-icon-hide';\nvar MOBILE_CHIP = 'e-mob-chip';\nvar FOOTER = 'e-ddl-footer';\nvar HEADER = 'e-ddl-header';\nvar DISABLE_ICON = 'e-ddl-disable-icon';\nvar SPINNER_CLASS = 'e-ms-spinner-icon';\nvar HIDDEN_ELEMENT = 'e-multi-hidden';\nvar destroy = 'destroy';\nvar dropdownIcon = 'e-input-group-icon e-ddl-icon';\nvar iconAnimation = 'e-icon-anim';\nvar TOTAL_COUNT_WRAPPER = 'e-delim-total';\nvar BOX_ELEMENT = 'e-multiselect-box';\nvar FILTERPARENT = 'e-filter-parent';\nvar CUSTOM_WIDTH = 'e-search-custom-width';\nvar FILTERINPUT = 'e-input-filter';\nvar RESIZE_ICON = 'e-resizer-right e-icons';\n/**\n * The Multiselect allows the user to pick a more than one value from list of predefined values.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar MultiSelect = /** @class */ (function (_super) {\n __extends(MultiSelect, _super);\n /**\n * Constructor for creating the DropDownList widget.\n *\n * @param {MultiSelectModel} option - Specifies the MultiSelect model.\n * @param {string | HTMLElement} element - Specifies the element to render as component.\n * @private\n */\n function MultiSelect(option, element) {\n var _this = _super.call(this, option, element) || this;\n _this.clearIconWidth = 0;\n _this.previousFilterText = '';\n _this.storedSelectAllHeight = 0;\n _this.isUpdateHeaderHeight = false;\n _this.isUpdateFooterHeight = false;\n _this.isBlurDispatching = false;\n _this.isFilterPrevented = false;\n _this.isFilteringAction = false;\n _this.isVirtualReorder = false;\n _this.isValidKey = false;\n _this.selectAllEventData = [];\n _this.selectAllEventEle = [];\n _this.preventSetCurrentData = false;\n _this.isSelectAllLoop = false;\n _this.scrollFocusStatus = false;\n _this.keyDownStatus = false;\n return _this;\n }\n MultiSelect.prototype.enableRTL = function (state) {\n if (state) {\n this.overAllWrapper.classList.add(RTL_CLASS);\n }\n else {\n this.overAllWrapper.classList.remove(RTL_CLASS);\n }\n if (this.popupObj) {\n this.popupObj.enableRtl = state;\n this.popupObj.dataBind();\n }\n };\n MultiSelect.prototype.requiredModules = function () {\n var modules = [];\n if (this.enableVirtualization) {\n modules.push({ args: [this], member: 'VirtualScroll' });\n }\n if (this.mode === 'CheckBox') {\n this.isGroupChecking = this.enableGroupCheckBox;\n if (this.enableGroupCheckBox) {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n this.enableSelectionOrder = false;\n this.isProtectedOnChange = prevOnChange;\n }\n this.allowCustomValue = false;\n this.hideSelectedItem = false;\n this.closePopupOnSelect = false;\n modules.push({\n member: 'CheckBoxSelection',\n args: [this]\n });\n }\n return modules;\n };\n MultiSelect.prototype.updateHTMLAttribute = function () {\n if (Object.keys(this.htmlAttributes).length) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var htmlAttr = _a[_i];\n switch (htmlAttr) {\n case 'class': {\n var updatedClassValue = (this.htmlAttributes[\"\" + htmlAttr].replace(/\\s+/g, ' ')).trim();\n if (updatedClassValue !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.overAllWrapper], updatedClassValue.split(' '));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.popupWrapper], updatedClassValue.split(' '));\n }\n break;\n }\n case 'disabled':\n this.enable(false);\n break;\n case 'placeholder':\n if (!this.placeholder) {\n this.inputElement.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n this.setProperties({ placeholder: this.inputElement.placeholder }, true);\n this.refreshPlaceHolder();\n }\n break;\n default: {\n var defaultAttr = ['id'];\n var validateAttr = ['name', 'required', 'aria-required', 'form'];\n var containerAttr = ['title', 'role', 'style', 'class'];\n if (defaultAttr.indexOf(htmlAttr) > -1) {\n this.element.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n else if (htmlAttr.indexOf('data') === 0 || validateAttr.indexOf(htmlAttr) > -1) {\n this.hiddenElement.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n else if (containerAttr.indexOf(htmlAttr) > -1) {\n this.overAllWrapper.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n else if (htmlAttr !== 'size' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n this.inputElement.setAttribute(htmlAttr, this.htmlAttributes[\"\" + htmlAttr]);\n }\n break;\n }\n }\n }\n }\n };\n MultiSelect.prototype.updateReadonly = function (state) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n if (state || this.mode === 'CheckBox') {\n this.inputElement.setAttribute('readonly', 'true');\n }\n else {\n this.inputElement.removeAttribute('readonly');\n }\n }\n };\n MultiSelect.prototype.updateClearButton = function (state) {\n if (state) {\n if (this.overAllClear.parentNode) {\n this.overAllClear.style.display = '';\n }\n else {\n this.componentWrapper.appendChild(this.overAllClear);\n }\n this.componentWrapper.classList.remove(CLOSE_ICON_HIDE);\n }\n else {\n this.overAllClear.style.display = 'none';\n this.componentWrapper.classList.add(CLOSE_ICON_HIDE);\n }\n };\n MultiSelect.prototype.updateCssClass = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n var updatedCssClassValues = this.cssClass;\n updatedCssClassValues = (this.cssClass.replace(/\\s+/g, ' ')).trim();\n if (updatedCssClassValues !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.overAllWrapper], updatedCssClassValues.split(' '));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.popupWrapper], updatedCssClassValues.split(' '));\n }\n }\n };\n MultiSelect.prototype.updateOldPropCssClass = function (oldClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldClass) && oldClass !== '') {\n oldClass = (oldClass.replace(/\\s+/g, ' ')).trim();\n if (oldClass !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.overAllWrapper], oldClass.split(' '));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.popupWrapper], oldClass.split(' '));\n }\n }\n };\n MultiSelect.prototype.onPopupShown = function (e) {\n var _this = this;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && (this.mode === 'CheckBox' && this.allowFiltering)) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var proxy_1 = this;\n window.onpopstate = function () {\n proxy_1.hidePopup();\n proxy_1.inputElement.focus();\n };\n history.pushState({}, '');\n }\n var animModel = { name: 'FadeIn', duration: 100 };\n var eventArgs = { popup: this.popupObj, event: e, cancel: false, animation: animModel };\n this.trigger('open', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n _this.focusAtFirstListItem(true);\n if (_this.popupObj) {\n document.body.appendChild(_this.popupObj.element);\n }\n if (_this.mode === 'CheckBox' && _this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.fields.groupBy)) {\n _this.updateListItems(_this.list.querySelectorAll('li.e-list-item'), _this.mainList.querySelectorAll('li.e-list-item'));\n }\n if (_this.mode === 'CheckBox' || _this.showDropDownIcon) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.overAllWrapper], [iconAnimation]);\n }\n _this.refreshPopup();\n _this.renderReactTemplates();\n if (_this.popupObj) {\n _this.popupObj.show(eventArgs.animation, (_this.zIndex === 1000) ? _this.element : null);\n }\n if (_this.isReact) {\n setTimeout(function () {\n if (_this.popupHeight && _this.list && _this.popupHeight !== 'auto') {\n var popupHeightValue = typeof _this.popupHeight === 'string' ? parseInt(_this.popupHeight, 10) : _this.popupHeight;\n if (!_this.isUpdateHeaderHeight && _this.headerTemplate && _this.header) {\n var listHeight = _this.list.style.maxHeight === '' ? popupHeightValue : parseInt(_this.list.style.maxHeight, 10);\n _this.list.style.maxHeight = (listHeight - _this.header.offsetHeight).toString() + 'px';\n _this.isUpdateHeaderHeight = true;\n }\n if (!_this.isUpdateFooterHeight && _this.footerTemplate && _this.footer) {\n var listHeight = _this.list.style.maxHeight === '' ? popupHeightValue : parseInt(_this.list.style.maxHeight, 10);\n _this.list.style.maxHeight = (listHeight - _this.footer.offsetHeight).toString() + 'px';\n _this.isUpdateFooterHeight = true;\n }\n }\n }, 15);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, {\n 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id\n });\n _this.updateAriaActiveDescendant();\n if (_this.isFirstClick) {\n if (!_this.enableVirtualization) {\n _this.loadTemplate();\n }\n }\n if (_this.mode === 'CheckBox' && _this.showSelectAll) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(_this.popupObj.element, 'click', _this.clickHandler, _this);\n }\n }\n });\n };\n MultiSelect.prototype.updateVirtualReOrderList = function (isCheckBoxUpdate) {\n var query = this.getForQuery(this.value, true).clone();\n this.isVirtualReorder = true;\n if (this.enableVirtualization && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) {\n this.resetList(this.selectedListData, this.fields, query);\n }\n else {\n this.resetList(this.dataSource, this.fields, query);\n }\n this.isVirtualReorder = false;\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n this.virtualItemCount = this.itemCount;\n if (this.mode !== 'CheckBox') {\n this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length : this.totalItemCount;\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n this.popupWrapper.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n if (this.list.querySelector('.e-virtual-ddl-content')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n if (isCheckBoxUpdate) {\n this.loadTemplate();\n }\n };\n MultiSelect.prototype.updateListItems = function (listItems, mainListItems) {\n for (var i = 0; i < listItems.length; i++) {\n this.findGroupStart(listItems[i]);\n this.findGroupStart(mainListItems[i]);\n }\n this.deselectHeader();\n };\n MultiSelect.prototype.loadTemplate = function () {\n this.refreshListItems(null);\n if (this.enableVirtualization && this.list && this.mode === 'CheckBox') {\n var reOrderList = this.list.querySelectorAll('.e-reorder')[0];\n if (this.list.querySelector('.e-virtual-ddl-content') && reOrderList) {\n this.list.querySelector('.e-virtual-ddl-content').removeChild(reOrderList);\n }\n }\n if (this.mode === 'CheckBox') {\n this.removeFocus();\n }\n this.notify('reOrder', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', e: this });\n this.isPreventScrollAction = true;\n };\n MultiSelect.prototype.setScrollPosition = function () {\n if (((!this.hideSelectedItem && this.mode !== 'CheckBox') || (this.mode === 'CheckBox' && !this.enableSelectionOrder)) &&\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && (this.value.length > 0))) {\n var value = this.allowObjectBinding\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value[this.value.length - 1])\n : this.value[this.value.length - 1];\n var valueEle = this.findListElement((this.hideSelectedItem ? this.ulElement : this.list), 'li', 'data-value', value);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valueEle)) {\n this.scrollBottom(valueEle, undefined, false, null, true);\n }\n }\n if (this.enableVirtualization) {\n var focusedItem = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n this.isKeyBoardAction = false;\n this.scrollBottom(focusedItem, undefined, false, null, true);\n }\n };\n MultiSelect.prototype.focusAtFirstListItem = function (isOpen) {\n if (this.ulElement && this.ulElement.querySelector('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li)) {\n var element = void 0;\n if (this.mode === 'CheckBox') {\n this.removeFocus();\n return;\n }\n else {\n if (this.enableVirtualization) {\n if (this.fields.disabled) {\n element = this.ulElement.querySelector('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)' + ':not(.' + DISABLED + ')');\n if (isOpen && this.viewPortInfo && this.viewPortInfo.startIndex !== 0) {\n var elements = this.ulElement.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)');\n element = elements && elements.length > 0 ? elements[2] : element;\n }\n }\n else {\n element = this.ulElement.querySelector('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)');\n if (isOpen && this.viewPortInfo && this.viewPortInfo.startIndex !== 0) {\n var elements = this.ulElement.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)');\n element = elements && elements.length > 0 ? elements[2] : element;\n }\n }\n }\n else {\n if (this.fields.disabled) {\n element = this.ulElement.querySelector('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.'\n + HIDE_LIST + ')' + ':not(.' + DISABLED + ')');\n }\n else {\n element = this.ulElement.querySelector('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.'\n + HIDE_LIST + ')');\n }\n }\n }\n if (element !== null) {\n this.removeFocus();\n this.addListFocus(element);\n }\n }\n };\n MultiSelect.prototype.focusAtLastListItem = function (data) {\n var activeElement;\n if (data) {\n activeElement = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_3__.Search)(data, this.liCollections, 'StartsWith', this.ignoreCase);\n }\n else {\n if (this.value && this.value.length) {\n var value = this.allowObjectBinding\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value[this.value.length - 1])\n : this.value[this.value.length - 1];\n (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_3__.Search)(value, this.liCollections, 'StartsWith', this.ignoreCase);\n }\n else {\n activeElement = null;\n }\n }\n if (activeElement && activeElement.item !== null) {\n this.addListFocus(activeElement.item);\n if (((this.allowCustomValue || this.allowFiltering) && this.isPopupOpen() &&\n this.closePopupOnSelect && !this.enableVirtualization) || this.closePopupOnSelect && !this.enableVirtualization) {\n this.scrollBottom(activeElement.item, activeElement.index);\n }\n }\n };\n MultiSelect.prototype.getAriaAttributes = function () {\n var ariaAttributes = {\n 'aria-disabled': 'false',\n 'role': 'combobox',\n 'aria-expanded': 'false'\n };\n return ariaAttributes;\n };\n MultiSelect.prototype.updateListARIA = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.ulElement, {\n 'id': this.element.id + '_options',\n 'role': 'listbox',\n 'aria-hidden': 'false',\n 'aria-label': 'list'\n });\n }\n var disableStatus = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement) && (this.inputElement.disabled) ? true : false;\n if (!this.isPopupOpen() && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, this.getAriaAttributes());\n }\n if (disableStatus) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-disabled': 'true' });\n }\n this.ensureAriaDisabled((disableStatus) ? 'true' : 'false');\n };\n MultiSelect.prototype.ensureAriaDisabled = function (status) {\n if (this.htmlAttributes && this.htmlAttributes['aria-disabled']) {\n var attr = this.htmlAttributes;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(attr, { 'aria-disabled': status }, attr);\n this.setProperties({ htmlAttributes: attr }, true);\n }\n };\n MultiSelect.prototype.removelastSelection = function (e) {\n var selectedElem = this.chipCollectionWrapper.querySelector('span.' + CHIP_SELECTED);\n if (selectedElem !== null) {\n this.removeSelectedChip(e);\n return;\n }\n var elements = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP);\n var value = elements[elements.length - 1].getAttribute('data-value');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.tempValues = this.allowObjectBinding ? this.value.slice() : this.value.slice();\n }\n var customValue = this.allowObjectBinding ?\n this.getDataByValue(this.getFormattedValue(value)) : this.getFormattedValue(value);\n if (this.allowCustomValue && (value !== 'false' && customValue === false || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(customValue) &&\n customValue.toString() === 'NaN'))) {\n customValue = value;\n }\n this.removeValue(customValue, e);\n this.removeChipSelection();\n this.updateDelimeter(this.delimiterChar, e);\n this.makeTextBoxEmpty();\n if (this.mainList && this.listData) {\n this.refreshSelection();\n }\n this.checkPlaceholderSize();\n };\n MultiSelect.prototype.onActionFailure = function (e) {\n _super.prototype.onActionFailure.call(this, e);\n this.renderPopup();\n this.onPopupShown();\n };\n MultiSelect.prototype.targetElement = function () {\n this.targetInputElement = this.inputElement;\n if (this.mode === 'CheckBox' && this.allowFiltering) {\n this.notify('targetElement', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox' });\n }\n return this.targetInputElement.value;\n };\n MultiSelect.prototype.getForQuery = function (valuecheck, isCheckbox) {\n var predicate;\n var field = this.isPrimitiveData ? '' : this.fields.value;\n if (this.enableVirtualization && valuecheck) {\n if (isCheckbox) {\n var startindex = this.viewPortInfo.startIndex;\n var endindex = (((startindex + this.viewPortInfo.endIndex) <= (valuecheck.length)) &&\n valuecheck[(startindex + this.viewPortInfo.endIndex)]) ? (startindex + this.viewPortInfo.endIndex)\n : (valuecheck.length);\n for (var i = startindex; i < endindex; i++) {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', valuecheck[i]) : valuecheck[i];\n if (i === startindex) {\n predicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(field, 'equal', (value));\n }\n else {\n predicate = predicate.or(field, 'equal', (value));\n }\n }\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(predicate);\n }\n else {\n for (var i = 0; i < valuecheck.length; i++) {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', valuecheck[i]) : valuecheck[i];\n if (this.isaddNonPresentItems) {\n predicate = i === 0 ? new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(field, 'equal', valuecheck[i])\n : predicate.or(field, 'equal', valuecheck[i]);\n }\n else {\n predicate = i === 0 ? predicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(field, 'notequal', (value))\n : predicate.and(field, 'notequal', (value));\n }\n }\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(predicate);\n }\n }\n else {\n for (var i = 0; i < valuecheck.length; i++) {\n if (i === 0) {\n predicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(field, 'equal', valuecheck[i]);\n }\n else {\n predicate = predicate.or(field, 'equal', valuecheck[i]);\n }\n }\n }\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && this.dataSource.adaptor instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.JsonAdaptor) {\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(predicate);\n }\n else {\n return this.getQuery(this.query).clone().where(predicate);\n }\n };\n /* eslint-disable @typescript-eslint/no-unused-vars */\n MultiSelect.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {\n var _this = this;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && !this.virtualGroupDataSource) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = e.count;\n }\n if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue && this.isFilteringAction) {\n var allItemsInValue = list.every(function (item) {\n var itemValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((_this.fields.value) ? _this.fields.value : '', item);\n return _this.value.some(function (val) {\n var value = _this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((_this.fields.value) ? _this.fields.value : '', val) : val;\n return itemValue === value;\n });\n });\n if (allItemsInValue) {\n ulElement.innerHTML = '';\n list = [];\n }\n }\n /* eslint-enable @typescript-eslint/no-unused-vars */\n _super.prototype.onActionComplete.call(this, ulElement, list, e);\n this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&\n ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) ||\n ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;\n this.updateSelectElementData(this.allowFiltering);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var proxy = this;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && !this.allowCustomValue && !this.enableVirtualization &&\n this.listData && this.listData.length > 0) {\n for (var i = 0; i < this.value.length; i++) {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', proxy.value[i]) : proxy.value[i];\n var checkEle = this.findListElement(((this.allowFiltering && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', value);\n if (!checkEle && !(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) {\n this.value.splice(i, 1);\n i -= 1;\n }\n }\n }\n var valuecheck = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n valuecheck = this.presentItemValue(this.ulElement);\n }\n if (valuecheck.length > 0 && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)\n && this.listData != null) {\n this.isaddNonPresentItems = true;\n this.addNonPresentItems(valuecheck, this.ulElement, this.listData);\n this.isaddNonPresentItems = false;\n }\n else {\n this.updateActionList(ulElement, list, e);\n }\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && this.allowCustomValue && !this.isCustomRendered &&\n this.inputElement.value && this.inputElement.value !== '') {\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query();\n query = this.allowFiltering ? query.where(this.fields.text, 'startswith', this.inputElement.value, this.ignoreCase, this.ignoreAccent) : query;\n this.checkForCustomValue(query, this.fields);\n this.isCustomRendered = true;\n this.remoteCustomValue = this.enableVirtualization ? false : this.remoteCustomValue;\n }\n if (this.mode === 'CheckBox' && this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.disabled)) {\n this.disableGroupHeader();\n }\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && this.mode === 'CheckBox' && this.allowFiltering) {\n this.removeFocus();\n }\n };\n /* eslint-disable @typescript-eslint/no-unused-vars */\n MultiSelect.prototype.updateActionList = function (ulElement, list, e, isUpdated) {\n /* eslint-enable @typescript-eslint/no-unused-vars */\n if (this.mode === 'CheckBox' && this.showSelectAll) {\n this.notify('selectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox' });\n }\n if (!this.mainList && !this.mainData) {\n this.mainList = ulElement.cloneNode ? ulElement.cloneNode(true) : ulElement;\n this.mainData = list;\n this.mainListCollection = this.liCollections;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mainData) || this.mainData.length === 0) {\n this.mainData = list;\n }\n if ((this.remoteCustomValue || list.length <= 0) && this.allowCustomValue && this.inputFocus && this.allowFiltering &&\n this.inputElement.value && this.inputElement.value !== '') {\n this.checkForCustomValue(this.tempQuery, this.fields);\n if (this.isCustomRendered) {\n return;\n }\n }\n if (this.value && this.value.length && ((this.mode !== 'CheckBox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement) &&\n this.inputElement.value.trim() !== '') ||\n this.mode === 'CheckBox' || ((this.keyCode === 8 || this.keyCode === 46) && this.allowFiltering &&\n this.allowCustomValue && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && this.inputElement.value === ''))) {\n this.refreshSelection();\n }\n this.updateListARIA();\n this.unwireListEvents();\n this.wireListEvents();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.setInitialValue)) {\n this.setInitialValue();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectAllAction)) {\n this.selectAllAction();\n }\n if (this.setDynValue) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value.length === 0)) {\n this.initialTextUpdate();\n }\n if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)))) {\n this.initialValueUpdate();\n }\n else if (!this.isRemoveSelection) {\n this.initialValueUpdate(this.listData, true);\n }\n this.initialUpdate();\n this.refreshPlaceHolder();\n if (this.mode !== 'CheckBox' && this.changeOnBlur) {\n this.updateValueState(null, this.value, null);\n }\n }\n this.renderPopup();\n if (this.beforePopupOpen) {\n this.beforePopupOpen = false;\n this.onPopupShown(e);\n }\n };\n MultiSelect.prototype.refreshSelection = function () {\n var value;\n var element;\n var className = this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n for (var index = 0; !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value[index]); index++) {\n value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value[index]) :\n this.value[index];\n element = this.findListElement(this.list, 'li', 'data-value', value);\n if (element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], className);\n if (this.hideSelectedItem && element.previousSibling\n && element.previousElementSibling.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group)\n && (!element.nextElementSibling ||\n element.nextElementSibling.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element.previousElementSibling], className);\n }\n if (this.hideSelectedItem && this.fields.groupBy && !element.previousElementSibling.classList.contains(HIDE_LIST)) {\n this.hideGroupItem(value);\n }\n if (this.hideSelectedItem && element.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n var listEle = element.parentElement.querySelectorAll('.' +\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')' + ':not(.' + DISABLED + ')');\n if (listEle.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([listEle[0]], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n this.updateAriaActiveDescendant();\n }\n else {\n //EJ2-57588 - for this task, we prevent the ul element cloning ( this.ulElement = this.ulElement.cloneNode ? this.ulElement.cloneNode(true) : this.ulElement;)\n if (!(this.list && this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li).length > 0)) {\n this.l10nUpdate();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.list], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData);\n }\n }\n }\n element.setAttribute('aria-selected', 'true');\n if (this.mode === 'CheckBox' && element.classList.contains('e-active')) {\n var ariaValue = element.getElementsByClassName('e-check').length;\n if (ariaValue === 0) {\n var args = {\n module: 'CheckBoxSelection',\n enable: this.mode === 'CheckBox',\n li: element,\n e: null\n };\n this.notify('updatelist', args);\n }\n }\n }\n }\n }\n this.checkSelectAll();\n this.checkMaxSelection();\n };\n MultiSelect.prototype.hideGroupItem = function (value) {\n var element;\n var element1;\n var className = this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n element1 = element = this.findListElement(this.ulElement, 'li', 'data-value', value);\n var i = 0;\n var j = 0;\n var temp = true;\n var temp1 = true;\n do {\n if (element && element.previousElementSibling\n && (!element.previousElementSibling.classList.contains(HIDE_LIST) &&\n element.previousElementSibling.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li))) {\n temp = false;\n }\n if (!temp || !element || (element.previousElementSibling\n && element.previousElementSibling.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group))) {\n i = 10;\n }\n else {\n element = element.previousElementSibling;\n }\n if (element1 && element1.nextElementSibling\n && (!element1.nextElementSibling.classList.contains(HIDE_LIST) &&\n element1.nextElementSibling.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li))) {\n temp1 = false;\n }\n if (!temp1 || !element1 || (element1.nextElementSibling\n && element1.nextElementSibling.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group))) {\n j = 10;\n }\n else {\n element1 = element1.nextElementSibling;\n }\n } while (i < 10 || j < 10);\n if (temp && temp1 && !element.previousElementSibling.classList.contains(HIDE_LIST)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element.previousElementSibling], className);\n }\n else if (temp && temp1 && element.previousElementSibling.classList.contains(HIDE_LIST)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element.previousElementSibling], className);\n }\n };\n MultiSelect.prototype.getValidLi = function () {\n var liElement = this.ulElement.querySelector('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')');\n return (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(liElement) ? liElement : this.liCollections[0]);\n };\n MultiSelect.prototype.checkSelectAll = function () {\n var groupItemLength = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.disabled) ? this.list.querySelectorAll('li.e-list-group-item.e-active:not(.e-disabled)').length : this.list.querySelectorAll('li.e-list-group-item.e-active').length;\n var listItem = this.list.querySelectorAll('li.e-list-item');\n var searchCount = this.enableVirtualization ? this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-virtual-list)').length : !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.disabled) ? this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-disabled)').length : this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li).length;\n var searchActiveCount = this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected).length;\n if (this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n searchActiveCount = searchActiveCount - groupItemLength;\n }\n if ((!this.enableVirtualization && ((searchCount === searchActiveCount || searchActiveCount === this.maximumSelectionLength)\n && (this.mode === 'CheckBox' && this.showSelectAll))) || (this.enableVirtualization && this.mode === 'CheckBox' &&\n this.showSelectAll && this.virtualSelectAll && this.value && this.value.length === this.totalItemCount)) {\n this.notify('checkSelectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', value: 'check' });\n }\n else if ((searchCount !== searchActiveCount) && (this.mode === 'CheckBox' && this.showSelectAll) &&\n ((!this.enableVirtualization) || (this.enableVirtualization && !this.virtualSelectAll))) {\n this.notify('checkSelectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', value: 'uncheck' });\n }\n if (this.enableGroupCheckBox && this.fields.groupBy && !this.enableSelectionOrder) {\n for (var i = 0; i < listItem.length; i++) {\n this.findGroupStart(listItem[i]);\n }\n this.deselectHeader();\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n MultiSelect.prototype.openClick = function (e) {\n if (!this.openOnClick && this.mode !== 'CheckBox' && !this.isPopupOpen()) {\n if (this.targetElement() !== '') {\n this.showPopup();\n }\n else {\n this.hidePopup(e);\n }\n }\n else if (!this.openOnClick && this.mode === 'CheckBox' && !this.isPopupOpen()) {\n this.showPopup();\n }\n };\n MultiSelect.prototype.keyUp = function (e) {\n if (this.mode === 'CheckBox' && !this.openOnClick) {\n var char = String.fromCharCode(e.keyCode);\n var isWordCharacter = char.match(/\\w/);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isWordCharacter)) {\n this.isValidKey = true;\n }\n }\n this.isValidKey = (this.isPopupOpen() && e.keyCode === 8) || this.isValidKey;\n this.isValidKey = e.ctrlKey && e.keyCode === 86 ? false : this.isValidKey;\n if (this.isValidKey && this.inputElement) {\n this.isValidKey = false;\n this.expandTextbox();\n this.showOverAllClear();\n switch (e.keyCode) {\n default:\n // For filtering works in mobile firefox\n this.search(e);\n }\n }\n };\n /**\n * To filter the multiselect data from given data source by using query\n *\n * @param {Object[] | DataManager } dataSource - Set the data source to filter.\n * @param {Query} query - Specify the query to filter the data.\n * @param {FieldSettingsModel} fields - Specify the fields to map the column in the data table.\n * @returns {void}\n */\n MultiSelect.prototype.filter = function (dataSource, query, fields) {\n this.isFiltered = true;\n this.remoteFilterAction = true;\n this.dataUpdater(dataSource, query, fields);\n };\n MultiSelect.prototype.getQuery = function (query) {\n var filterQuery = query ? query.clone() : this.query ? this.query.clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query();\n if (this.isFiltered) {\n if ((this.enableVirtualization && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customFilterQuery))) {\n filterQuery = this.customFilterQuery.clone();\n return this.virtualFilterQuery(filterQuery);\n }\n else if (!this.enableVirtualization) {\n return filterQuery;\n }\n }\n if (this.filterAction) {\n if ((this.targetElement() !== null && !this.enableVirtualization) || (this.enableVirtualization &&\n this.targetElement() !== null && this.targetElement().trim() !== '')) {\n var dataType = this.typeOfData(this.dataSource).typeof;\n if (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) && dataType === 'string' || dataType === 'number') {\n filterQuery.where('', this.filterType, this.targetElement(), this.ignoreCase, this.ignoreAccent);\n }\n else if ((this.enableVirtualization && this.targetElement() !== '' && !this.isClearAllAction) || !this.enableVirtualization) {\n var fields = this.fields;\n filterQuery.where(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields.text) ? fields.text : '', this.filterType, this.targetElement(), this.ignoreCase, this.ignoreAccent);\n }\n }\n if (this.enableVirtualization && (this.viewPortInfo.endIndex !== 0) && !this.virtualSelectAll) {\n return this.virtualFilterQuery(filterQuery);\n }\n if (this.virtualSelectAll) {\n return query ? query.take(this.maximumSelectionLength).requiresCount() : this.query ?\n this.query.take(this.maximumSelectionLength).requiresCount() :\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().take(this.maximumSelectionLength).requiresCount();\n }\n return filterQuery;\n }\n else {\n if (this.enableVirtualization && (this.viewPortInfo.endIndex !== 0) && !this.virtualSelectAll) {\n return this.virtualFilterQuery(filterQuery);\n }\n if (this.virtualSelectAll) {\n return query ? query.take(this.maximumSelectionLength).requiresCount() : this.query ?\n this.query.take(this.maximumSelectionLength).requiresCount() :\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().take(this.maximumSelectionLength).requiresCount();\n }\n return query ? query : this.query ? this.query : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query();\n }\n };\n MultiSelect.prototype.virtualFilterQuery = function (filterQuery) {\n var takeValue = this.getTakeValue();\n var isReOrder = true;\n var isSkip = true;\n var isTake = true;\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (this.getModuleName() === 'multiselect' && ((filterQuery.queries[queryElements].e &&\n filterQuery.queries[queryElements].e.condition === 'or') || (filterQuery.queries[queryElements].e &&\n filterQuery.queries[queryElements].e.operator === 'equal'))) {\n isReOrder = false;\n }\n if (filterQuery.queries[queryElements].fn === 'onSkip') {\n isSkip = false;\n }\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n isTake = false;\n }\n }\n var queryTakeValue = 0;\n if (filterQuery && filterQuery.queries.length > 0) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n queryTakeValue = takeValue <= filterQuery.queries[queryElements].e.nos ?\n filterQuery.queries[queryElements].e.nos : takeValue;\n }\n }\n }\n if (queryTakeValue <= 0 && this.query && this.query.queries.length > 0) {\n for (var queryElements = 0; queryElements < this.query.queries.length; queryElements++) {\n if (this.query.queries[queryElements].fn === 'onTake') {\n queryTakeValue = takeValue <= this.query.queries[queryElements].e.nos ?\n this.query.queries[queryElements].e.nos : takeValue;\n }\n }\n }\n if (filterQuery && filterQuery.queries.length > 0) {\n for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {\n if (filterQuery.queries[queryElements].fn === 'onTake') {\n queryTakeValue = filterQuery.queries[queryElements].e.nos <= queryTakeValue ?\n queryTakeValue : filterQuery.queries[queryElements].e.nos;\n filterQuery.queries.splice(queryElements, 1);\n --queryElements;\n }\n }\n }\n if ((this.allowFiltering && isSkip) || !isReOrder || (!this.allowFiltering && isSkip) && !this.isVirtualReorder) {\n if (!isReOrder) {\n filterQuery.skip(this.viewPortInfo.startIndex);\n }\n else {\n filterQuery.skip(this.virtualItemStartIndex);\n }\n }\n if (this.isIncrementalRequest) {\n filterQuery.take(this.incrementalEndIndex);\n }\n else if (queryTakeValue > 0) {\n filterQuery.take(queryTakeValue);\n }\n else {\n filterQuery.take(takeValue);\n }\n filterQuery.requiresCount();\n this.customFilterQuery = null;\n return filterQuery;\n };\n MultiSelect.prototype.getTakeValue = function () {\n return this.allowFiltering && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? Math.round(window.outerHeight / this.listItemHeight) : this.itemCount;\n };\n MultiSelect.prototype.dataUpdater = function (dataSource, query, fields) {\n this.isDataFetched = false;\n var isNoData = this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData);\n if (this.targetElement().trim() === '') {\n var list = this.enableVirtualization ? this.list.cloneNode(true) : this.mainList.cloneNode ?\n this.mainList.cloneNode(true) : this.mainList;\n if (this.backCommand || (this.enableVirtualization && this.mode === 'CheckBox' && this.value && this.value.length > 0)) {\n this.remoteCustomValue = false;\n var isReordered = false;\n if (this.allowCustomValue && list.querySelectorAll('li').length === 0 && this.mainData.length > 0) {\n this.mainData = [];\n }\n if (this.enableVirtualization) {\n if (this.allowFiltering) {\n this.isPreventScrollAction = true;\n this.list.scrollTop = 0;\n this.previousStartIndex = 0;\n this.virtualListInfo = null;\n }\n if (this.value && this.value.length > 0 && this.mode === 'CheckBox') {\n this.notify('setCurrentViewDataAsync', {\n component: this.getModuleName(),\n module: 'VirtualScroll'\n });\n isReordered = true;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n this.resetList(dataSource, fields, query);\n if (this.mode !== 'CheckBox') {\n this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length :\n this.totalItemCount;\n }\n this.UpdateSkeleton();\n if ((isNoData || this.allowCustomValue) && !this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData)) {\n if (!this.list.querySelector('.e-virtual-ddl-content')) {\n var contentElement = this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n contentElement.style.cssText = this.getTransformValues();\n this.list.appendChild(contentElement).appendChild(this.list.querySelector('.e-list-parent'));\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n document.getElementsByClassName('e-multi-select-list-wrapper')[0].querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n }\n }\n }\n this.onActionComplete(list, this.mainData);\n if (this.value && this.value.length) {\n this.refreshSelection();\n }\n if (this.keyCode !== 8) {\n this.focusAtFirstListItem();\n }\n if (!isReordered) {\n this.notify('reOrder', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', e: this });\n }\n }\n }\n else {\n if (this.enableVirtualization && this.allowFiltering) {\n this.isPreventScrollAction = true;\n this.list.scrollTop = 0;\n this.previousStartIndex = 0;\n this.virtualListInfo = null;\n if (this.list.querySelector('.e-list-parent' + '.e-reorder')) {\n this.list.querySelector('.e-list-parent' + '.e-reorder').remove();\n }\n }\n this.resetList(dataSource, fields, query);\n if (this.enableVirtualization && (isNoData || this.allowCustomValue) &&\n !this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData)) {\n if (!this.list.querySelector('.e-virtual-ddl-content')) {\n var contentElement = this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n contentElement.style.cssText = this.getTransformValues();\n this.list.appendChild(contentElement).appendChild(this.list.querySelector('.e-list-parent'));\n }\n if (this.mode !== 'CheckBox') {\n this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length : this.totalItemCount;\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n document.getElementsByClassName('e-multi-select-list-wrapper')[0].querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n }\n if (this.allowCustomValue) {\n if (!(dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) {\n this.checkForCustomValue(query, fields);\n }\n else {\n this.remoteCustomValue = true;\n this.tempQuery = query;\n }\n }\n }\n if (this.enableVirtualization && this.allowFiltering) {\n this.getFilteringSkeletonCount();\n }\n this.refreshPopup();\n if (this.allowResize) {\n this.setResize();\n }\n if (this.mode === 'CheckBox') {\n this.removeFocus();\n }\n };\n MultiSelect.prototype.checkForCustomValue = function (query, fields) {\n var dataChecks = !this.getValueByText(this.inputElement.value, this.ignoreCase);\n var field = fields ? fields : this.fields;\n if (this.allowCustomValue && dataChecks) {\n var value = this.inputElement.value;\n var customData = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mainData) && this.mainData.length > 0) ?\n this.mainData[0] : this.mainData;\n if (customData && typeof (customData) !== 'string' && typeof (customData) !== 'number' && typeof (customData) !== 'boolean') {\n var dataItem_1 = {};\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(field.text, value, dataItem_1);\n if (typeof (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value : 'value'), customData)\n === 'number' && this.fields.value !== this.fields.text) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(field.value, Math.random(), dataItem_1);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(field.value, value, dataItem_1);\n }\n var emptyObject_1 = {};\n if (this.allowObjectBinding) {\n var keys = this.listData && this.listData.length > 0 ? Object.keys(this.listData[0]) : this.firstItem ?\n Object.keys(this.firstItem) : Object.keys(dataItem_1);\n // Create an empty object with predefined keys\n keys.forEach(function (key) {\n emptyObject_1[key] = ((key === fields.value) || (key === fields.text)) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fields.value, dataItem_1) : null;\n });\n }\n dataItem_1 = this.allowObjectBinding ? emptyObject_1 : dataItem_1;\n if (this.enableVirtualization) {\n this.virtualCustomData = dataItem_1;\n var tempData = this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager ?\n JSON.parse(JSON.stringify(this.listData)) : JSON.parse(JSON.stringify(this.dataSource));\n var totalData = [];\n if (this.virtualCustomSelectData && this.virtualCustomSelectData.length > 0) {\n totalData = tempData.concat(this.virtualCustomSelectData);\n }\n tempData.splice(0, 0, dataItem_1);\n this.isCustomDataUpdated = true;\n var tempCount = this.totalItemCount;\n this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;\n this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.itemCount;\n this.resetList(tempData, field, query);\n this.isCustomDataUpdated = false;\n this.totalItemCount = this.enableVirtualization && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager ?\n tempCount : this.totalItemCount;\n }\n else {\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && this.allowCustomValue && this.allowFiltering) {\n this.remoteCustomValue = false;\n }\n var tempData = JSON.parse(JSON.stringify(this.listData));\n tempData.splice(0, 0, dataItem_1);\n this.resetList(tempData, field, query);\n }\n }\n else if (this.listData) {\n var tempData = JSON.parse(JSON.stringify(this.listData));\n tempData.splice(0, 0, this.inputElement.value);\n tempData[0] = (typeof customData === 'number' && !isNaN(parseFloat(tempData[0]))) ?\n parseFloat(tempData[0]) : tempData[0];\n tempData[0] = (typeof customData === 'boolean') ?\n (tempData[0] === 'true' ? true : (tempData[0] === 'false' ? false : tempData[0])) : tempData[0];\n this.resetList(tempData, field);\n }\n }\n else if (this.listData && this.mainData && !dataChecks && this.allowCustomValue) {\n if (this.allowFiltering && this.isRemoteSelection && this.remoteCustomValue) {\n this.isRemoteSelection = false;\n if (!this.enableVirtualization) {\n this.resetList(this.listData, field, query);\n }\n }\n else if (!this.allowFiltering && this.list) {\n var liCollections = this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-hide-listitem)');\n var activeElement = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_3__.Search)(this.targetElement(), liCollections, 'StartsWith', this.ignoreCase);\n if (activeElement && activeElement.item !== null) {\n this.addListFocus(activeElement.item);\n }\n }\n }\n if (this.value && this.value.length) {\n this.refreshSelection();\n }\n };\n MultiSelect.prototype.getNgDirective = function () {\n return 'EJS-MULTISELECT';\n };\n MultiSelect.prototype.wrapperClick = function (e) {\n this.setDynValue = false;\n this.keyboardEvent = null;\n this.isKeyBoardAction = false;\n if (!this.enabled) {\n return;\n }\n if (e.target === this.overAllClear) {\n e.preventDefault();\n return;\n }\n if (!this.inputFocus) {\n this.inputElement.focus();\n }\n if (!this.readonly) {\n if (e.target && e.target.classList.toString().indexOf(CHIP_CLOSE) !== -1) {\n if (this.isPopupOpen()) {\n this.refreshPopup();\n }\n return;\n }\n if (!this.isPopupOpen() &&\n (this.openOnClick || (this.showDropDownIcon && e.target && e.target.className === dropdownIcon))) {\n this.showPopup(e);\n }\n else {\n this.hidePopup(e);\n if (this.mode === 'CheckBox') {\n this.showOverAllClear();\n this.inputFocus = true;\n if (!this.overAllWrapper.classList.contains(FOCUS)) {\n this.overAllWrapper.classList.add(FOCUS);\n }\n }\n }\n }\n if (!(this.targetElement() && this.targetElement() !== '')) {\n e.preventDefault();\n }\n };\n MultiSelect.prototype.enable = function (state) {\n if (state) {\n this.overAllWrapper.classList.remove(DISABLED);\n this.inputElement.removeAttribute('disabled');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-disabled': 'false' });\n this.ensureAriaDisabled('false');\n }\n else {\n this.overAllWrapper.classList.add(DISABLED);\n this.inputElement.setAttribute('disabled', 'true');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-disabled': 'true' });\n this.ensureAriaDisabled('true');\n }\n if (this.enabled !== state) {\n this.enabled = state;\n }\n this.hidePopup();\n };\n MultiSelect.prototype.onBlurHandler = function (eve, isDocClickFromCheck) {\n var target;\n if (this.isBlurDispatching && this.isAngular) {\n this.isBlurDispatching = false;\n return;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eve)) {\n target = eve.relatedTarget;\n }\n if (this.popupObj && document.body.contains(this.popupObj.element) && this.popupObj.element.contains(target)) {\n if (this.mode !== 'CheckBox') {\n this.inputElement.focus();\n }\n else if ((this.floatLabelType === 'Auto' &&\n ((this.overAllWrapper.classList.contains('e-outline')) || (this.overAllWrapper.classList.contains('e-filled'))))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.overAllWrapper], 'e-valid-input');\n }\n return;\n }\n if (this.floatLabelType === 'Auto' && (this.overAllWrapper.classList.contains('e-outline')) && this.mode === 'CheckBox' &&\n (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) || this.value.length === 0)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.overAllWrapper], 'e-valid-input');\n }\n if (this.mode === 'CheckBox' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eve) && !isDocClickFromCheck) {\n this.inputFocus = false;\n this.overAllWrapper.classList.remove(FOCUS);\n return;\n }\n if (this.scrollFocusStatus) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eve)) {\n eve.preventDefault();\n }\n this.inputElement.focus();\n this.scrollFocusStatus = false;\n return;\n }\n this.inputFocus = false;\n this.overAllWrapper.classList.remove(FOCUS);\n if (this.addTagOnBlur) {\n var dataChecks = this.getValueByText(this.inputElement.value, this.ignoreCase, this.ignoreAccent);\n var listLiElement = this.findListElement(this.list, 'li', 'data-value', dataChecks);\n var className = this.hideSelectedItem ? HIDE_LIST : _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n var allowChipAddition = (listLiElement && !listLiElement.classList.contains(className)) ? true : false;\n if (allowChipAddition) {\n this.updateListSelection(listLiElement, eve);\n if (this.mode === 'Delimiter') {\n this.updateDelimeter(this.delimiterChar);\n }\n }\n }\n this.updateDataList();\n this.refreshListItems(null);\n if (this.mode !== 'Box' && this.mode !== 'CheckBox') {\n this.updateDelimView();\n }\n if (this.changeOnBlur) {\n this.updateValueState(eve, this.value, this.tempValues);\n this.dispatchEvent(this.hiddenElement, 'change');\n }\n this.overAllClear.style.display = 'none';\n if (this.isPopupOpen()) {\n this.hidePopup(eve);\n }\n this.makeTextBoxEmpty();\n this.trigger('blur');\n this.focused = true;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.mode !== 'Delimiter' && this.mode !== 'CheckBox') {\n this.removeChipFocus();\n }\n this.removeChipSelection();\n this.refreshInputHight();\n (0,_float_label__WEBPACK_IMPORTED_MODULE_6__.floatLabelBlur)(this.overAllWrapper, this.componentWrapper, this.value, this.floatLabelType, this.placeholder);\n this.refreshPlaceHolder();\n if ((this.allowFiltering || (this.enableSelectionOrder === true && this.mode === 'CheckBox'))\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mainList)) {\n this.ulElement = this.mainList;\n }\n this.checkPlaceholderSize();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_7__.Input.createSpanElement(this.overAllWrapper, this.createElement);\n this.calculateWidth();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');\n }\n this.isBlurDispatching = true;\n if (this.isAngular) {\n this.dispatchEvent(this.inputElement, 'blur');\n }\n };\n MultiSelect.prototype.calculateWidth = function () {\n var elementWidth;\n if (this.overAllWrapper) {\n if (!this.showDropDownIcon || this.overAllWrapper.querySelector('.' + 'e-label-top')) {\n elementWidth = this.overAllWrapper.clientWidth - 2 * (parseInt(getComputedStyle(this.inputElement).paddingRight, 10));\n }\n else {\n var downIconWidth = this.dropIcon.offsetWidth +\n parseInt(getComputedStyle(this.dropIcon).marginRight, 10);\n elementWidth = this.overAllWrapper.clientWidth -\n (downIconWidth + 2 * (parseInt(getComputedStyle(this.inputElement).paddingRight, 10)));\n }\n if (this.floatLabelType !== 'Never') {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_7__.Input.calculateWidth(elementWidth, this.overAllWrapper, this.getModuleName());\n }\n }\n };\n MultiSelect.prototype.checkPlaceholderSize = function () {\n if (this.showDropDownIcon) {\n var downIconWidth = this.dropIcon.offsetWidth +\n parseInt(window.getComputedStyle(this.dropIcon).marginRight, 10);\n this.setPlaceholderSize(downIconWidth);\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dropIcon)) {\n this.setPlaceholderSize(this.showDropDownIcon ? this.dropIcon.offsetWidth : 0);\n }\n }\n };\n MultiSelect.prototype.setPlaceholderSize = function (downIconWidth) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value.length === 0) {\n if (this.dropIcon.offsetWidth !== 0) {\n this.searchWrapper.style.width = ('calc(100% - ' + (downIconWidth + 10)) + 'px';\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.searchWrapper], CUSTOM_WIDTH);\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.searchWrapper.removeAttribute('style');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.searchWrapper], CUSTOM_WIDTH);\n }\n };\n MultiSelect.prototype.refreshInputHight = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.searchWrapper)) {\n if ((!this.value || !this.value.length) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) || this.text === '')) {\n this.searchWrapper.classList.remove(ZERO_SIZE);\n }\n else {\n this.searchWrapper.classList.add(ZERO_SIZE);\n }\n }\n };\n MultiSelect.prototype.validateValues = function (newValue, oldValue) {\n return JSON.stringify(newValue.slice().sort()) !== JSON.stringify(oldValue.slice().sort());\n };\n MultiSelect.prototype.updateValueState = function (event, newVal, oldVal) {\n var newValue = newVal ? newVal : [];\n var oldValue = oldVal ? oldVal : [];\n if (this.initStatus && this.validateValues(newValue, oldValue)) {\n var eventArgs = {\n e: event,\n oldValue: this.allowObjectBinding ? oldVal : oldVal,\n value: this.allowObjectBinding ? newVal : newVal,\n isInteracted: event ? true : false,\n element: this.element,\n event: event\n };\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n else {\n this.trigger('change', eventArgs);\n }\n this.updateTempValue();\n if (!this.changeOnBlur) {\n this.dispatchEvent(this.hiddenElement, 'change');\n }\n }\n this.selectedValueInfo = this.viewPortInfo;\n };\n MultiSelect.prototype.updateTempValue = function () {\n if (!this.value) {\n this.tempValues = this.value;\n }\n else {\n this.tempValues = this.allowObjectBinding ? this.value.slice() : this.value.slice();\n }\n };\n MultiSelect.prototype.updateAriaActiveDescendant = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ulElement.getElementsByClassName('e-item-focus')[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-activedescendant': this.ulElement.getElementsByClassName('e-item-focus')[0].id });\n }\n };\n MultiSelect.prototype.pageUpSelection = function (steps, isVirtualKeyAction) {\n var collection = this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li +\n ':not(.' + HIDE_LIST + ')' +\n ':not(.e-reorder-hide)');\n var previousItem = steps >= 0 ? collection[steps + 1] : collection[0];\n if (this.fields.disabled && previousItem && !this.enableVirtualization) {\n while (previousItem && (previousItem.classList.contains('e-disabled') || previousItem.classList.contains(HIDE_LIST) ||\n previousItem.classList.contains('.e-reorder-hide') || previousItem.classList.contains('e-list-group-item'))) {\n previousItem = previousItem.previousElementSibling;\n }\n if (!previousItem) {\n return;\n }\n }\n if (this.enableVirtualization && isVirtualKeyAction) {\n previousItem = (this.liCollections.length >= steps && steps >= 0)\n ? this.liCollections[steps]\n : this.liCollections[this.skeletonCount];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(previousItem) && previousItem.classList.contains('e-virtual-list')) {\n previousItem = this.liCollections[this.skeletonCount];\n }\n if (this.enableVirtualization) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(previousItem) && !previousItem.classList.contains('e-item-focus')) {\n this.isKeyBoardAction = true;\n this.addListFocus(previousItem);\n this.scrollTop(previousItem, this.getIndexByValue(previousItem.getAttribute('data-value')), this.keyboardEvent.keyCode);\n }\n else if (this.viewPortInfo.startIndex === 0) {\n this.isKeyBoardAction = true;\n this.scrollTop(previousItem, this.getIndexByValue(previousItem.getAttribute('data-value')), this.keyboardEvent.keyCode);\n }\n this.previousFocusItem = previousItem;\n }\n else {\n this.isKeyBoardAction = true;\n this.addListFocus(previousItem);\n this.scrollTop(previousItem, this.getIndexByValue(previousItem.getAttribute('data-value')), this.keyboardEvent.keyCode);\n }\n };\n MultiSelect.prototype.pageDownSelection = function (steps, isVirtualKeyAction) {\n var list = this.getItems();\n var collection = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)');\n var previousItem = steps <= collection.length ? collection[steps - 1] : collection[collection.length - 1];\n if (this.fields.disabled && previousItem && !this.enableVirtualization) {\n while (previousItem && (previousItem.classList.contains('e-disabled') || previousItem.classList.contains(HIDE_LIST) ||\n previousItem.classList.contains('.e-reorder-hide') || previousItem.classList.contains('e-list-group-item'))) {\n previousItem = previousItem.nextElementSibling;\n }\n if (!previousItem) {\n return;\n }\n }\n if (this.enableVirtualization && this.skeletonCount > 0) {\n previousItem = steps < list.length ? this.liCollections[steps] : this.liCollections[list.length - 1];\n }\n if (this.enableVirtualization && isVirtualKeyAction) {\n previousItem = steps <= list.length ? this.liCollections[steps] : this.liCollections[list.length - 1];\n }\n this.isKeyBoardAction = true;\n this.addListFocus(previousItem);\n this.previousFocusItem = previousItem;\n this.scrollBottom(previousItem, this.getIndexByValue(previousItem.getAttribute('data-value')), false, this.keyboardEvent.keyCode);\n };\n MultiSelect.prototype.getItems = function () {\n if (!this.list) {\n _super.prototype.render.call(this);\n }\n return this.ulElement && this.ulElement.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li).length > 0 ?\n this.ulElement.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li\n + ':not(.' + HIDE_LIST + ')') : [];\n };\n MultiSelect.prototype.focusInHandler = function (e) {\n var _this = this;\n if (this.enabled) {\n this.showOverAllClear();\n this.inputFocus = true;\n if (this.value && this.value.length) {\n if (this.mode !== 'Delimiter' && this.mode !== 'CheckBox') {\n this.chipCollectionWrapper.style.display = '';\n }\n else {\n this.showDelimWrapper();\n }\n if (this.mode !== 'CheckBox') {\n this.viewWrapper.style.display = 'none';\n }\n }\n if (this.mode !== 'CheckBox') {\n this.searchWrapper.classList.remove(ZERO_SIZE);\n }\n this.checkPlaceholderSize();\n if (this.focused) {\n var args = { isInteracted: e ? true : false, event: e };\n this.trigger('focus', args);\n this.focused = false;\n }\n if (!this.overAllWrapper.classList.contains(FOCUS)) {\n this.overAllWrapper.classList.add(FOCUS);\n }\n (0,_float_label__WEBPACK_IMPORTED_MODULE_6__.floatLabelFocus)(this.overAllWrapper, this.componentWrapper);\n if (this.isPopupOpen()) {\n this.refreshPopup();\n }\n if (this.allowResize) {\n this.setResize();\n }\n setTimeout(function () {\n _this.calculateWidth();\n }, 150);\n return true;\n }\n else {\n return false;\n }\n };\n MultiSelect.prototype.showDelimWrapper = function () {\n if (this.mode === 'CheckBox') {\n this.viewWrapper.style.display = '';\n }\n else {\n this.delimiterWrapper.style.display = '';\n }\n this.componentWrapper.classList.add(DELIMITER_VIEW_WRAPPER);\n };\n MultiSelect.prototype.hideDelimWrapper = function () {\n this.delimiterWrapper.style.display = 'none';\n this.componentWrapper.classList.remove(DELIMITER_VIEW_WRAPPER);\n };\n MultiSelect.prototype.expandTextbox = function () {\n var size = 5;\n if (this.placeholder) {\n var codePoint = this.placeholder.charCodeAt(0);\n var sizeMultiplier = (0xAC00 <= codePoint && codePoint <= 0xD7AF) ? 1.5\n : (0x4E00 <= codePoint && codePoint <= 0x9FFF) ? 2 : 1;\n size = size > this.inputElement.placeholder.length ? size : this.inputElement.placeholder.length * sizeMultiplier;\n }\n if (this.inputElement.value.length > size) {\n this.inputElement.size = this.inputElement.value.length;\n }\n else {\n this.inputElement.size = size;\n }\n };\n MultiSelect.prototype.isPopupOpen = function () {\n return ((this.popupWrapper !== null) && (this.popupWrapper.parentElement !== null));\n };\n MultiSelect.prototype.refreshPopup = function () {\n if (this.popupObj && this.mobFilter) {\n this.popupObj.setProperties({ width: this.calcPopupWidth() });\n this.popupObj.refreshPosition(this.overAllWrapper);\n this.popupObj.resolveCollision();\n }\n };\n MultiSelect.prototype.checkTextLength = function () {\n return this.targetElement().length < 1;\n };\n MultiSelect.prototype.popupKeyActions = function (e) {\n switch (e.keyCode) {\n case 38:\n this.hidePopup(e);\n if (this.mode === 'CheckBox') {\n this.inputElement.focus();\n }\n e.preventDefault();\n break;\n case 40:\n if (!this.isPopupOpen()) {\n this.showPopup(e);\n e.preventDefault();\n }\n break;\n }\n };\n MultiSelect.prototype.updatePopupPosition = function () {\n this.refreshPopup();\n };\n MultiSelect.prototype.updateAriaAttribute = function () {\n var focusedItem = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedItem)) {\n this.inputElement.setAttribute('aria-activedescendant', focusedItem.id);\n if (this.allowFiltering) {\n var filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);\n if (filterInput) {\n filterInput.setAttribute('aria-activedescendant', focusedItem.id);\n }\n }\n else if (this.mode === 'CheckBox') {\n this.overAllWrapper.setAttribute('aria-activedescendant', focusedItem.id);\n }\n }\n };\n MultiSelect.prototype.homeNavigation = function (isHome, isVirtualKeyAction) {\n this.removeFocus();\n if (this.enableVirtualization) {\n if (isHome) {\n if (this.enableVirtualization && this.viewPortInfo.startIndex !== 0) {\n this.viewPortInfo.startIndex = 0;\n this.viewPortInfo.endIndex = this.itemCount;\n this.updateVirtualItemIndex();\n this.resetList(this.dataSource, this.fields, this.query);\n }\n }\n else {\n if (this.enableVirtualization && ((!this.value && this.viewPortInfo.endIndex !== this.totalItemCount) ||\n (this.value && this.value.length > 0 && this.viewPortInfo.endIndex !== this.totalItemCount + this.value.length))) {\n this.viewPortInfo.startIndex = this.totalItemCount - this.itemCount;\n this.viewPortInfo.endIndex = this.totalItemCount;\n this.updateVirtualItemIndex();\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().clone();\n if (this.value && this.value.length > 0) {\n query = this.getForQuery(this.value).clone();\n query = query.skip(this.totalItemCount - this.itemCount);\n }\n this.resetList(this.dataSource, this.fields, query);\n }\n }\n }\n this.UpdateSkeleton();\n var scrollEle = this.ulElement.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)');\n if (scrollEle.length > 0) {\n var element = scrollEle[(isHome) ? 0 : (scrollEle.length - 1)];\n if (this.enableVirtualization && isHome) {\n element = scrollEle[this.skeletonCount];\n }\n this.removeFocus();\n element.classList.add(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n if (this.enableVirtualization && isHome) {\n this.scrollTop(element, undefined, this.keyboardEvent.keyCode);\n }\n else if (!isVirtualKeyAction) {\n this.scrollBottom(element, undefined, false, this.keyboardEvent.keyCode);\n }\n this.updateAriaActiveDescendant();\n }\n };\n MultiSelect.prototype.updateSelectionList = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value.length) {\n for (var index = 0; index < this.value.length; index++) {\n var value = this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value[index]) : this.value[index];\n var selectedItem = this.getElementByValue(value);\n if (selectedItem && !selectedItem.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected)) {\n selectedItem.classList.add('e-active');\n }\n }\n }\n };\n MultiSelect.prototype.handleVirtualKeyboardActions = function (e, pageCount) {\n var focusedItem = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n var activeIndex;\n this.isKeyBoardAction = true;\n switch (e.keyCode) {\n case 40:\n this.arrowDown(e, true);\n break;\n case 38:\n this.arrowUp(e, true);\n break;\n case 33:\n e.preventDefault();\n if (focusedItem) {\n activeIndex = this.getIndexByValue(this.previousFocusItem.getAttribute('data-value')) - 1;\n this.pageUpSelection(activeIndex, true);\n this.updateAriaAttribute();\n }\n break;\n case 34:\n e.preventDefault();\n if (focusedItem) {\n activeIndex = this.getIndexByValue(this.previousFocusItem.getAttribute('data-value'));\n this.pageDownSelection(activeIndex, true);\n this.updateAriaAttribute();\n }\n break;\n case 35:\n case 36:\n this.isMouseScrollAction = true;\n this.homeNavigation((e.keyCode === 36) ? true : false, true);\n this.isPreventScrollAction = true;\n break;\n }\n this.keyboardEvent = null;\n this.isScrollChanged = true;\n this.isKeyBoardAction = false;\n };\n MultiSelect.prototype.onKeyDown = function (e) {\n if (this.readonly || !this.enabled && this.mode !== 'CheckBox') {\n return;\n }\n this.preventSetCurrentData = false;\n this.keyboardEvent = e;\n if (this.isPreventKeyAction && this.enableVirtualization) {\n e.preventDefault();\n }\n this.keyCode = e.keyCode;\n this.keyDownStatus = true;\n if (e.keyCode > 111 && e.keyCode < 124) {\n return;\n }\n if (e.altKey) {\n this.popupKeyActions(e);\n return;\n }\n else if (this.isPopupOpen()) {\n var focusedItem = this.list.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n var activeIndex = void 0;\n switch (e.keyCode) {\n case 36:\n case 35:\n this.isMouseScrollAction = true;\n this.isKeyBoardAction = true;\n this.homeNavigation((e.keyCode === 36) ? true : false);\n break;\n case 33:\n e.preventDefault();\n if (focusedItem) {\n activeIndex = this.getIndexByValue(focusedItem.getAttribute('data-value'));\n this.pageUpSelection(activeIndex - this.getPageCount() - 1);\n this.updateAriaAttribute();\n }\n return;\n case 34:\n e.preventDefault();\n if (focusedItem) {\n activeIndex = this.getIndexByValue(focusedItem.getAttribute('data-value'));\n this.pageDownSelection(activeIndex + this.getPageCount());\n this.updateAriaAttribute();\n }\n return;\n case 38:\n this.isKeyBoardAction = true;\n this.arrowUp(e);\n break;\n case 40:\n this.isKeyBoardAction = true;\n this.arrowDown(e);\n break;\n case 27:\n e.preventDefault();\n this.isKeyBoardAction = true;\n this.hidePopup(e);\n if (this.mode === 'CheckBox') {\n this.inputElement.focus();\n }\n this.isKeyBoardAction = false;\n return;\n case 13:\n e.preventDefault();\n this.isKeyBoardAction = true;\n if (this.mode !== 'CheckBox') {\n this.selectByKey(e);\n }\n this.checkPlaceholderSize();\n this.isKeyBoardAction = false;\n return;\n case 32:\n this.isKeyBoardAction = true;\n this.spaceKeySelection(e);\n this.isKeyBoardAction = false;\n return;\n case 9:\n e.preventDefault();\n this.isKeyBoardAction = true;\n this.hidePopup(e);\n this.inputElement.focus();\n this.overAllWrapper.classList.add(FOCUS);\n }\n }\n else {\n switch (e.keyCode) {\n case 13:\n case 9:\n case 16:\n case 17:\n case 20:\n return;\n case 40:\n if (this.openOnClick) {\n this.showPopup();\n }\n break;\n case 27:\n e.preventDefault();\n this.escapeAction();\n return;\n }\n }\n if (this.checkTextLength()) {\n this.keyNavigation(e);\n }\n if (this.mode === 'CheckBox' && this.enableSelectionOrder) {\n if (this.allowFiltering) {\n this.previousFilterText = this.targetElement();\n }\n this.checkBackCommand(e);\n }\n this.expandTextbox();\n if (!(this.mode === 'CheckBox' && this.showSelectAll)) {\n this.refreshPopup();\n }\n if (this.allowResize) {\n this.setResize();\n }\n this.isKeyBoardAction = false;\n };\n MultiSelect.prototype.arrowDown = function (e, isVirtualKeyAction) {\n e.preventDefault();\n this.moveByList(1, isVirtualKeyAction);\n this.keyAction = true;\n if (document.activeElement.classList.contains(FILTERINPUT)\n || (this.mode === 'CheckBox' && !this.allowFiltering && document.activeElement !== this.list)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'keydown', this.onKeyDown, this);\n }\n this.updateAriaAttribute();\n };\n MultiSelect.prototype.arrowUp = function (e, isVirtualKeyAction) {\n e.preventDefault();\n this.keyAction = true;\n var list = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)');\n if (this.enableGroupCheckBox && this.mode === 'CheckBox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n list = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ',li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)');\n }\n var focuseElem = this.list.querySelector('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n this.focusFirstListItem = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.liCollections[0]) ? this.liCollections[0].classList.contains('e-item-focus') :\n false;\n var index = Array.prototype.slice.call(list).indexOf(focuseElem);\n if (index <= 0 && (this.mode === 'CheckBox' && this.allowFiltering)) {\n this.keyAction = false;\n this.notify('inputFocus', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', value: 'focus' });\n }\n this.moveByList(-1, isVirtualKeyAction);\n this.updateAriaAttribute();\n };\n MultiSelect.prototype.spaceKeySelection = function (e) {\n if (this.mode === 'CheckBox') {\n var li = this.list.querySelector('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) || (selectAllParent && selectAllParent.classList.contains('e-item-focus'))) {\n e.preventDefault();\n this.keyAction = true;\n }\n this.selectByKey(e);\n if (this.keyAction) {\n var li_1 = this.list.querySelector('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li_1) && selectAllParent && selectAllParent.classList.contains('e-item-focus')) {\n li_1.classList.remove('e-item-focus');\n }\n }\n }\n this.checkPlaceholderSize();\n };\n MultiSelect.prototype.checkBackCommand = function (e) {\n if (e.keyCode === 8 && this.allowFiltering ? this.targetElement() !== this.previousFilterText : this.targetElement() === '') {\n this.backCommand = false;\n }\n else {\n this.backCommand = true;\n }\n };\n MultiSelect.prototype.keyNavigation = function (e) {\n if ((this.mode !== 'Delimiter' && this.mode !== 'CheckBox') && this.value && this.value.length) {\n switch (e.keyCode) {\n case 37: //left arrow\n e.preventDefault();\n this.moveBy(-1, e);\n break;\n case 39: //right arrow\n e.preventDefault();\n this.moveBy(1, e);\n break;\n case 8:\n this.removelastSelection(e);\n break;\n case 46: //del\n this.removeSelectedChip(e);\n break;\n }\n }\n else if (e.keyCode === 8 && this.mode === 'Delimiter') {\n if (this.value && this.value.length) {\n e.preventDefault();\n var temp = this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value[this.value.length - 1]) :\n this.value[this.value.length - 1];\n this.removeValue(this.value[this.value.length - 1], e);\n this.updateDelimeter(this.delimiterChar, e);\n this.focusAtLastListItem(temp);\n }\n }\n };\n MultiSelect.prototype.selectByKey = function (e) {\n this.removeChipSelection();\n this.selectListByKey(e);\n if (this.hideSelectedItem) {\n this.focusAtFirstListItem();\n }\n };\n MultiSelect.prototype.escapeAction = function () {\n var temp = this.tempValues ? this.tempValues.slice() : [];\n if (this.allowObjectBinding) {\n temp = this.tempValues ? this.tempValues.slice() : [];\n }\n if (this.value && this.validateValues(this.value, temp)) {\n if (this.mode !== 'CheckBox') {\n this.value = temp;\n this.initialValueUpdate();\n }\n if (this.mode !== 'Delimiter' && this.mode !== 'CheckBox') {\n this.chipCollectionWrapper.style.display = '';\n }\n else {\n this.showDelimWrapper();\n }\n this.refreshPlaceHolder();\n if (this.value.length) {\n this.showOverAllClear();\n }\n else {\n this.hideOverAllClear();\n }\n }\n this.makeTextBoxEmpty();\n };\n MultiSelect.prototype.scrollBottom = function (selectedLI, activeIndex, isInitialSelection, keyCode, isInitial) {\n if (isInitialSelection === void 0) { isInitialSelection = false; }\n if (keyCode === void 0) { keyCode = null; }\n if (isInitial === void 0) { isInitial = false; }\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedLI) && selectedLI.classList.contains('e-virtual-list')) ||\n (this.enableVirtualization && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedLI))) {\n selectedLI = this.liCollections[this.skeletonCount];\n }\n var selectedListMargin = selectedLI && !isNaN(parseInt(window.getComputedStyle(selectedLI).marginBottom, 10)) ?\n parseInt(window.getComputedStyle(selectedLI).marginBottom, 10) : 0;\n this.isUpwardScrolling = false;\n var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;\n var lastElementValue = this.list.querySelector('li:last-of-type') ?\n this.list.querySelector('li:last-of-type').getAttribute('data-value') : null;\n var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?\n selectedLI.offsetTop + (this.virtualListInfo.startIndex * (selectedLI.offsetHeight + selectedListMargin))\n : selectedLI.offsetTop;\n var currentOffset = this.list.offsetHeight;\n var nextBottom = selectedLiOffsetTop - (virtualListCount * (selectedLI.offsetHeight + selectedListMargin)) +\n (selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;\n var nextOffset = this.list.scrollTop + nextBottom - currentOffset;\n var isScrollerCHanged = false;\n var isScrollTopChanged = false;\n var boxRange = selectedLiOffsetTop - (virtualListCount * (selectedLI.offsetHeight + selectedListMargin)) +\n (selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;\n boxRange = this.fields.groupBy && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) ?\n boxRange - this.fixedHeaderElement.offsetHeight : boxRange;\n if (activeIndex === 0 && !this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n else if (nextBottom > currentOffset || !(boxRange > 0 && this.list.offsetHeight > boxRange)) {\n var currentElementValue = selectedLI ? selectedLI.getAttribute('data-value') : null;\n var liCount = keyCode === 34 ? this.getPageCount() - 1 : 1;\n if (!this.enableVirtualization || this.isKeyBoardAction || isInitialSelection) {\n if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue &&\n currentElementValue === lastElementValue && keyCode !== 35 && !this.isVirtualScrolling) {\n this.isPreventKeyAction = true;\n this.list.scrollTop += (selectedLI.offsetHeight + selectedListMargin) * liCount;\n this.isPreventKeyAction = this.isScrollerAtEnd() ? false : this.isPreventKeyAction;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n else if (this.enableVirtualization && keyCode === 35) {\n this.isPreventKeyAction = false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n this.list.scrollTop = this.list.scrollHeight;\n }\n else {\n if (keyCode === 34 && this.enableVirtualization && !this.isVirtualScrolling) {\n this.isPreventKeyAction = false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n this.list.scrollTop = nextOffset;\n }\n }\n else {\n this.list.scrollTop = this.virtualListInfo && this.virtualListInfo.startIndex ?\n isInitial && this.virtualListInfo.startIndex ? this.virtualListInfo.startIndex * this.listItemHeight +\n (this.listItemHeight * 2) : this.virtualListInfo.startIndex * this.listItemHeight : 0;\n }\n isScrollerCHanged = this.isKeyBoardAction;\n isScrollTopChanged = true;\n }\n this.isKeyBoardAction = isScrollerCHanged;\n };\n MultiSelect.prototype.scrollTop = function (selectedLI, activeIndex, keyCode) {\n if (keyCode === void 0) { keyCode = null; }\n var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;\n var selectedListMargin = selectedLI && !isNaN(parseInt(window.getComputedStyle(selectedLI).marginBottom, 10)) ?\n parseInt(window.getComputedStyle(selectedLI).marginBottom, 10) : 0;\n var selectedLiOffsetTop = (this.virtualListInfo && this.virtualListInfo.startIndex) ?\n selectedLI.offsetTop + (this.virtualListInfo.startIndex * (selectedLI.offsetHeight + selectedListMargin)) :\n selectedLI.offsetTop;\n var nextOffset = selectedLiOffsetTop - (virtualListCount * (selectedLI.offsetHeight +\n selectedListMargin)) - this.list.scrollTop;\n var firstElementValue = this.list.querySelector('li.e-list-item:not(.e-virtual-list)') ?\n this.list.querySelector('li.e-list-item:not(.e-virtual-list)').getAttribute('data-value') : null;\n nextOffset = this.fields.groupBy && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.fixedHeaderElement) ?\n nextOffset - this.fixedHeaderElement.offsetHeight : nextOffset;\n var boxRange = (selectedLiOffsetTop - (virtualListCount * (selectedLI.offsetHeight + selectedListMargin)) +\n (selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop);\n var isPageUpKeyAction = this.enableVirtualization && this.getModuleName() === 'autocomplete' && nextOffset <= 0;\n if (activeIndex === 0 && !this.enableVirtualization) {\n this.list.scrollTop = 0;\n }\n else if (nextOffset < 0 || isPageUpKeyAction) {\n var currentElementValue = selectedLI ? selectedLI.getAttribute('data-value') : null;\n var liCount = keyCode === 33 ? this.getPageCount() - 2 : 1;\n if (this.enableVirtualization && this.isKeyBoardAction && firstElementValue &&\n currentElementValue === firstElementValue && keyCode !== 36 && !this.isVirtualScrolling) {\n this.isUpwardScrolling = true;\n this.isPreventKeyAction = true;\n this.isKeyBoardAction = false;\n this.list.scrollTop -= (selectedLI.offsetHeight + selectedListMargin) * liCount;\n this.isPreventKeyAction = this.list.scrollTop !== 0 ? this.isPreventKeyAction : false;\n this.isPreventScrollAction = false;\n }\n else if (this.enableVirtualization && keyCode === 36) {\n this.isPreventScrollAction = false;\n this.isPreventKeyAction = true;\n this.isKeyBoardAction = false;\n this.list.scrollTo(0, 0);\n }\n else {\n if (keyCode === 33 && this.enableVirtualization && !this.isVirtualScrolling) {\n this.isPreventKeyAction = false;\n this.isKeyBoardAction = false;\n this.isPreventScrollAction = false;\n }\n this.list.scrollTop = this.list.scrollTop + nextOffset;\n }\n }\n else if (!(boxRange > 0 && this.list.offsetHeight > boxRange)) {\n this.list.scrollTop = selectedLI.offsetTop - (this.fields.groupBy && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fixedHeaderElement) ?\n this.fixedHeaderElement.offsetHeight : 0);\n }\n };\n MultiSelect.prototype.isScrollerAtEnd = function () {\n return this.list && this.list.scrollTop + this.list.clientHeight >= this.list.scrollHeight;\n };\n MultiSelect.prototype.selectListByKey = function (e) {\n var li = this.list.querySelector('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n var limit = this.value && this.value.length ? this.value.length : 0;\n var target;\n if (li !== null) {\n e.preventDefault();\n if (li.classList.contains('e-active')) {\n limit = limit - 1;\n }\n if (this.isValidLI(li) && limit < this.maximumSelectionLength) {\n this.updateListSelection(li, e);\n this.addListFocus(li);\n if (this.mode === 'CheckBox') {\n this.updateDelimView();\n this.updateDelimeter(this.delimiterChar, e);\n this.refreshInputHight();\n this.checkPlaceholderSize();\n if (this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n target = li.firstElementChild.lastElementChild;\n this.findGroupStart(target);\n this.deselectHeader();\n }\n }\n else {\n this.updateDelimeter(this.delimiterChar, e);\n }\n var isFilterData = this.targetElement().trim() !== '' ? true : false;\n this.makeTextBoxEmpty();\n if (this.mode !== 'CheckBox') {\n this.refreshListItems(li.textContent, isFilterData);\n }\n if (!this.changeOnBlur) {\n this.updateValueState(e, this.value, this.tempValues);\n }\n this.refreshPopup();\n }\n else {\n if (!this.isValidLI(li) && limit < this.maximumSelectionLength) {\n target = li.firstElementChild.lastElementChild;\n if (target.classList.contains('e-check')) {\n this.selectAllItem(false, e, li);\n }\n else {\n this.selectAllItem(true, e, li);\n }\n }\n }\n this.refreshSelection();\n if (this.closePopupOnSelect) {\n this.hidePopup(e);\n }\n }\n var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];\n if (selectAllParent && selectAllParent.classList.contains('e-item-focus')) {\n var selectAllCheckBox = selectAllParent.childNodes[0];\n if (!selectAllCheckBox.classList.contains('e-check')) {\n selectAllCheckBox.classList.add('e-check');\n var args = {\n module: 'CheckBoxSelection',\n enable: this.mode === 'CheckBox',\n value: 'check',\n name: 'checkSelectAll'\n };\n this.notify('checkSelectAll', args);\n this.selectAllItem(true, e, li);\n }\n else {\n selectAllCheckBox.classList.remove('e-check');\n var args = {\n module: 'CheckBoxSelection',\n enable: this.mode === 'CheckBox',\n value: 'check',\n name: 'checkSelectAll'\n };\n this.notify('checkSelectAll', args);\n this.selectAllItem(false, e, li);\n }\n }\n this.refreshPlaceHolder();\n };\n MultiSelect.prototype.refreshListItems = function (data, isFilterData) {\n if ((this.allowFiltering || (this.mode === 'CheckBox' && this.enableSelectionOrder === true)\n || this.allowCustomValue) && this.mainList && this.listData) {\n var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;\n if (this.enableVirtualization) {\n if (this.allowCustomValue && this.virtualCustomData && data == null && this.virtualCustomData &&\n this.viewPortInfo && this.viewPortInfo.startIndex === 0 && this.viewPortInfo.endIndex === this.itemCount) {\n this.virtualCustomData = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.renderItems(this.mainData, this.fields);\n }\n else {\n if (this.allowFiltering && isFilterData) {\n this.updateInitialData();\n this.onActionComplete(list, this.mainData);\n this.isVirtualTrackHeight = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n else if (!this.list.querySelector('.e-virtual-ddl') && this.skeletonCount > 0) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n this.popupWrapper.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n }\n else {\n this.onActionComplete(this.list, this.listData);\n }\n }\n }\n else {\n this.onActionComplete(list, this.mainData);\n }\n this.focusAtLastListItem(data);\n if (this.value && this.value.length) {\n this.refreshSelection();\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy) && this.value && this.value.length) {\n this.refreshSelection();\n }\n };\n MultiSelect.prototype.removeSelectedChip = function (e) {\n var selectedElem = this.chipCollectionWrapper.querySelector('span.' + CHIP_SELECTED);\n var temp;\n if (selectedElem !== null) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.tempValues = this.allowObjectBinding ? this.value.slice() : this.value.slice();\n }\n temp = selectedElem.nextElementSibling;\n if (temp !== null) {\n this.removeChipSelection();\n this.addChipSelection(temp, e);\n }\n var currentChip = this.allowObjectBinding ?\n this.getDataByValue(this.getFormattedValue(selectedElem.getAttribute('data-value'))) :\n selectedElem.getAttribute('data-value');\n this.removeValue(currentChip, e);\n this.updateDelimeter(this.delimiterChar, e);\n this.makeTextBoxEmpty();\n }\n if (this.closePopupOnSelect) {\n this.hidePopup(e);\n }\n this.checkPlaceholderSize();\n };\n MultiSelect.prototype.moveByTop = function (state) {\n var elements = this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n var index;\n if (elements.length > 1) {\n this.removeFocus();\n index = state ? 0 : (elements.length - 1);\n this.addListFocus(elements[index]);\n this.scrollBottom(elements[index], index);\n }\n this.updateAriaAttribute();\n };\n MultiSelect.prototype.clickHandler = function (e) {\n var targetElement = e.target;\n var filterInputClassName = targetElement.className;\n var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];\n if ((filterInputClassName === 'e-input-filter e-input' ||\n filterInputClassName === 'e-input-group e-control-wrapper e-input-focus') &&\n selectAllParent.classList.contains('e-item-focus')) {\n selectAllParent.classList.remove('e-item-focus');\n }\n };\n MultiSelect.prototype.moveByList = function (position, isVirtualKeyAction) {\n if (this.list) {\n var elements = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)');\n if (this.mode === 'CheckBox' && this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n elements = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ',li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)');\n }\n var selectedElem = this.list.querySelector('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n if (this.enableVirtualization && isVirtualKeyAction && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.currentFocuedListElement)) {\n selectedElem = this.getElementByValue(this.getFormattedValue(this.currentFocuedListElement.getAttribute('data-value')));\n }\n var temp = -1;\n var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];\n if (this.mode === 'CheckBox' && this.showSelectAll && position === 1 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectAllParent) &&\n !selectAllParent.classList.contains('e-item-focus') && this.list.getElementsByClassName('e-item-focus').length === 0 &&\n this.liCollections.length > 1) {\n if (!this.focusFirstListItem && selectAllParent.classList.contains('e-item-focus')) {\n selectAllParent.classList.remove('e-item-focus');\n }\n else if (!selectAllParent.classList.contains('e-item-focus')) {\n selectAllParent.classList.add('e-item-focus');\n }\n }\n else if (elements.length) {\n if (this.mode === 'CheckBox' && this.showSelectAll && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectAllParent && position === -1)) {\n if (!this.focusFirstListItem && selectAllParent.classList.contains('e-item-focus')) {\n selectAllParent.classList.remove('e-item-focus');\n }\n else if (this.focusFirstListItem && !selectAllParent.classList.contains('e-item-focus')) {\n selectAllParent.classList.add('e-item-focus');\n }\n }\n for (var index = 0; index < elements.length; index++) {\n if (elements[index] === selectedElem) {\n temp = index;\n break;\n }\n }\n if (position > 0) {\n if (temp < (elements.length - 1)) {\n this.removeFocus();\n if (this.enableVirtualization && isVirtualKeyAction) {\n this.addListFocus(elements[temp]);\n }\n else {\n if (this.enableVirtualization && elements[temp + 1].classList.contains('e-virtual-list')) {\n this.addListFocus(elements[this.skeletonCount]);\n }\n else {\n this.addListFocus(elements[++temp]);\n }\n }\n if (temp > -1) {\n this.updateCheck(elements[temp]);\n this.scrollBottom(elements[temp], temp);\n this.currentFocuedListElement = elements[temp];\n }\n }\n }\n else {\n if (temp > 0) {\n if (this.enableVirtualization) {\n var isVirtualElement = elements[temp - 1].classList.contains('e-virtual-list');\n var elementIndex = isVirtualKeyAction ? temp : temp - 1;\n if (isVirtualKeyAction || !isVirtualElement) {\n this.removeFocus();\n }\n if (isVirtualKeyAction || !isVirtualElement) {\n this.addListFocus(elements[elementIndex]);\n this.updateCheck(elements[elementIndex]);\n this.scrollTop(elements[elementIndex], temp);\n this.currentFocuedListElement = elements[elementIndex];\n }\n }\n else {\n this.removeFocus();\n this.addListFocus(elements[--temp]);\n this.updateCheck(elements[temp]);\n this.scrollTop(elements[temp], temp);\n }\n }\n }\n }\n }\n var focusedLi = this.list ? this.list.querySelector('.e-item-focus') : null;\n if (this.isDisabledElement(focusedLi)) {\n if (this.list.querySelectorAll('.e-list-item:not(.e-hide-listitem):not(.e-disabled)').length === 0 || (this.keyCode === 38 && this.mode === 'CheckBox' && this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy) && focusedLi === this.list.querySelector('li.e-list-group-item'))) {\n this.removeFocus();\n return;\n }\n var index = this.getIndexByValue(focusedLi.getAttribute('data-value'));\n if (index === 0) {\n position = 1;\n }\n if (index === (this.list.querySelectorAll('.e-list-item:not(.e-hide-listitem)').length - 1)) {\n position = -1;\n }\n this.moveByList(position);\n }\n };\n MultiSelect.prototype.getElementByValue = function (value) {\n var item;\n var listItems = this.getItems();\n for (var _i = 0, listItems_1 = listItems; _i < listItems_1.length; _i++) {\n var liItem = listItems_1[_i];\n if (this.getFormattedValue(liItem.getAttribute('data-value')) === value) {\n item = liItem;\n break;\n }\n }\n return item;\n };\n MultiSelect.prototype.updateCheck = function (element) {\n if (this.mode === 'CheckBox' && this.enableGroupCheckBox &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n var checkElement = element.firstElementChild.lastElementChild;\n if (checkElement.classList.contains('e-check')) {\n element.classList.add('e-active');\n }\n else {\n element.classList.remove('e-active');\n }\n }\n };\n MultiSelect.prototype.moveBy = function (position, e) {\n var temp;\n var elements = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP);\n var selectedElem = this.chipCollectionWrapper.querySelector('span.' + CHIP_SELECTED);\n if (selectedElem === null) {\n if (position < 0) {\n this.addChipSelection(elements[elements.length - 1], e);\n }\n }\n else {\n if (position < 0) {\n temp = selectedElem.previousElementSibling;\n if (temp !== null) {\n this.removeChipSelection();\n this.addChipSelection(temp, e);\n }\n }\n else {\n temp = selectedElem.nextElementSibling;\n this.removeChipSelection();\n if (temp !== null) {\n this.addChipSelection(temp, e);\n }\n }\n }\n };\n MultiSelect.prototype.chipClick = function (e) {\n if (this.enabled) {\n var elem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + CHIP);\n this.removeChipSelection();\n this.addChipSelection(elem, e);\n }\n };\n MultiSelect.prototype.removeChipSelection = function () {\n if (this.chipCollectionWrapper) {\n this.removeChipFocus();\n }\n };\n MultiSelect.prototype.addChipSelection = function (element, e) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], CHIP_SELECTED);\n this.trigger('chipSelection', e);\n };\n MultiSelect.prototype.onChipRemove = function (e) {\n if (e.which === 3 || e.button === 2) {\n return;\n }\n if (this.enabled && !this.readonly) {\n var element = e.target.parentElement;\n var customVal = element.getAttribute('data-value');\n var value = this.allowObjectBinding ?\n this.getDataByValue(this.getFormattedValue(customVal)) : this.getFormattedValue(customVal);\n if (this.allowCustomValue && ((customVal !== 'false' && value === false) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && value.toString() === 'NaN'))) {\n value = customVal;\n }\n if (this.isPopupOpen() && this.mode !== 'CheckBox') {\n this.hidePopup(e);\n }\n if (!this.inputFocus) {\n this.inputElement.focus();\n }\n this.removeValue(value, e);\n value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', value) : value;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.findListElement(this.list, 'li', 'data-value', value)) &&\n this.mainList && this.listData) {\n var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;\n this.onActionComplete(list, this.mainData);\n }\n this.updateDelimeter(this.delimiterChar, e);\n if (this.placeholder && this.floatLabelType === 'Never') {\n this.makeTextBoxEmpty();\n this.checkPlaceholderSize();\n }\n else {\n this.inputElement.value = '';\n }\n e.preventDefault();\n }\n };\n MultiSelect.prototype.makeTextBoxEmpty = function () {\n this.inputElement.value = '';\n this.refreshPlaceHolder();\n };\n MultiSelect.prototype.refreshPlaceHolder = function () {\n if (this.placeholder && this.floatLabelType === 'Never') {\n if ((this.value && this.value.length) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) && this.text !== '')) {\n this.inputElement.placeholder = '';\n }\n else {\n this.inputElement.placeholder = (0,_float_label__WEBPACK_IMPORTED_MODULE_6__.encodePlaceholder)(this.placeholder);\n }\n }\n else {\n this.setFloatLabelType();\n }\n this.expandTextbox();\n };\n MultiSelect.prototype.removeAllItems = function (value, eve, isClearAll, element, mainElement) {\n var index = this.allowObjectBinding ? this.indexOfObjectInArray(value, this.value) :\n this.value.indexOf(value);\n var removeVal = this.value.slice(0);\n removeVal.splice(index, 1);\n this.setProperties({ value: [].concat([], removeVal) }, true);\n element.setAttribute('aria-selected', 'false');\n var className = this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element], className);\n this.notify('activeList', {\n module: 'CheckBoxSelection',\n enable: this.mode === 'CheckBox', li: element,\n e: this, index: index\n });\n this.invokeCheckboxSelection(element, eve, isClearAll);\n var currentValue = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ?\n this.fields.value : ''), value) : value;\n this.updateMainList(true, currentValue, mainElement);\n this.updateChipStatus();\n };\n MultiSelect.prototype.invokeCheckboxSelection = function (element, eve, isClearAll) {\n this.notify('updatelist', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', li: element, e: eve });\n this.updateAriaActiveDescendant();\n if ((this.value && this.value.length !== this.mainData.length)\n && (this.mode === 'CheckBox' && this.showSelectAll && !(this.isSelectAll || isClearAll))) {\n this.notify('checkSelectAll', {\n module: 'CheckBoxSelection',\n enable: this.mode === 'CheckBox',\n value: 'uncheck'\n });\n }\n };\n MultiSelect.prototype.removeValue = function (value, eve, length, isClearAll) {\n var _this = this;\n var index = this.allowObjectBinding ? this.indexOfObjectInArray(value, this.value) :\n this.value.indexOf(this.getFormattedValue(value));\n if (index === -1 && this.allowCustomValue && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n index = this.allowObjectBinding ? this.indexOfObjectInArray(value, this.value) :\n this.value.indexOf(value.toString());\n }\n var targetEle = eve && eve.target;\n isClearAll = (isClearAll || targetEle && targetEle.classList.contains('e-close-hooker')) ? true : null;\n var className = this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n if (index !== -1) {\n var currentValue = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ?\n this.fields.value : ''), value) : value;\n var element_1 = this.virtualSelectAll ? null : this.findListElement(this.list, 'li', 'data-value', currentValue);\n var val_1 = this.allowObjectBinding ? value : this.getDataByValue(value);\n var eventArgs = {\n e: eve,\n item: element_1,\n itemData: val_1,\n isInteracted: eve ? true : false,\n cancel: false\n };\n this.trigger('removing', eventArgs, function (eventArgs) {\n if (eventArgs.cancel) {\n _this.removeIndex++;\n }\n else {\n _this.isRemoveSelection = _this.enableVirtualization ? true : _this.isRemoveSelection;\n _this.currentRemoveValue = _this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((_this.fields.value) ?\n _this.fields.value : ''), value) : value;\n _this.virtualSelectAll = false;\n var removeVal = _this.value.slice(0);\n removeVal.splice(index, 1);\n if (_this.enableVirtualization && _this.mode === 'CheckBox') {\n _this.selectedListData.splice(index, 1);\n }\n _this.setProperties({ value: [].concat([], removeVal) }, true);\n if (_this.enableVirtualization) {\n var currentText = index === 0 && _this.text.split(_this.delimiterChar) &&\n _this.text.split(_this.delimiterChar).length === 1 ?\n _this.text.replace(_this.text.split(_this.delimiterChar)[index], '') :\n index === 0 ? _this.text.replace(_this.text.split(_this.delimiterChar)[index] +\n _this.delimiterChar, '') :\n _this.text.replace(_this.delimiterChar + _this.text.split(_this.delimiterChar)[index], '');\n _this.setProperties({ text: currentText.toString() }, true);\n }\n if (element_1 !== null) {\n var currentValue_1 = _this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((_this.fields.value) ?\n _this.fields.value : ''), value) : value;\n var hideElement = _this.findListElement(_this.mainList, 'li', 'data-value', currentValue_1);\n element_1.setAttribute('aria-selected', 'false');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element_1], className);\n if (hideElement) {\n hideElement.setAttribute('aria-selected', 'false');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element_1, hideElement], className);\n }\n _this.notify('activeList', {\n module: 'CheckBoxSelection',\n enable: _this.mode === 'CheckBox', li: element_1,\n e: _this, index: index\n });\n _this.invokeCheckboxSelection(element_1, eve, isClearAll);\n }\n var currentValue_2 = _this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((_this.fields.value) ?\n _this.fields.value : ''), value) : value;\n if (_this.hideSelectedItem && _this.fields.groupBy && element_1) {\n _this.hideGroupItem(currentValue_2);\n }\n if (_this.hideSelectedItem && _this.fixedHeaderElement && _this.fields.groupBy && _this.mode !== 'CheckBox' &&\n _this.isPopupOpen()) {\n _super.prototype.scrollStop.call(_this);\n }\n _this.updateMainList(true, currentValue_2);\n _this.removeChip(currentValue_2, isClearAll);\n _this.updateChipStatus();\n var limit = _this.value && _this.value.length ? _this.value.length : 0;\n if (limit < _this.maximumSelectionLength) {\n var collection = _this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-active)');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(collection, 'e-disable');\n }\n _this.trigger('removed', eventArgs);\n var targetEle_1 = eve && eve.currentTarget;\n var isSelectAll = (targetEle_1 && targetEle_1.classList.contains('e-selectall-parent')) ? true : null;\n if (!_this.changeOnBlur && !isClearAll && (eve && length && !isSelectAll && _this.isSelectAllTarget)) {\n _this.updateValueState(eve, _this.value, _this.tempValues);\n }\n if (length) {\n _this.selectAllEventData.push(val_1);\n _this.selectAllEventEle.push(element_1);\n }\n if (length === 1) {\n if (!_this.changeOnBlur) {\n _this.updateValueState(eve, _this.value, _this.tempValues);\n }\n var args = {\n event: eve,\n items: _this.selectAllEventEle,\n itemData: _this.selectAllEventData,\n isInteracted: eve ? true : false,\n isChecked: false\n };\n _this.trigger('selectedAll', args);\n _this.selectAllEventData = [];\n _this.selectAllEventEle = [];\n }\n if (isClearAll && (length === 1 || length === null)) {\n _this.clearAllCallback(eve, isClearAll);\n }\n if (_this.isPopupOpen() && element_1 && element_1.parentElement.classList.contains('e-reorder')) {\n if (_this.hideSelectedItem && _this.value && Array.isArray(_this.value) && _this.value.length > 0) {\n _this.totalItemsCount();\n }\n _this.notify('setCurrentViewDataAsync', {\n module: 'VirtualScroll'\n });\n }\n }\n });\n }\n };\n MultiSelect.prototype.updateMainList = function (state, value, mainElement) {\n if (this.allowFiltering || this.mode === 'CheckBox') {\n var element2 = mainElement ? mainElement :\n this.findListElement(this.mainList, 'li', 'data-value', value);\n if (element2) {\n if (state) {\n element2.setAttribute('aria-selected', 'false');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element2], this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected);\n if (this.mode === 'CheckBox') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element2.firstElementChild.lastElementChild], 'e-check');\n }\n }\n else {\n element2.setAttribute('aria-selected', 'true');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element2], this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected);\n if (this.mode === 'CheckBox') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element2.firstElementChild.lastElementChild], 'e-check');\n }\n }\n }\n }\n };\n MultiSelect.prototype.removeChip = function (value, isClearAll) {\n if (this.chipCollectionWrapper) {\n if (!(this.enableVirtualization && isClearAll)) {\n var element = this.findListElement(this.chipCollectionWrapper, 'span', 'data-value', value);\n if (element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(element);\n }\n }\n }\n };\n MultiSelect.prototype.setWidth = function (width) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(width)) {\n if (typeof width === 'number') {\n this.overAllWrapper.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n this.overAllWrapper.style.width = (width.match(/px|%|em/)) ? (width) : ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width));\n }\n }\n };\n MultiSelect.prototype.updateChipStatus = function () {\n if (this.value && this.value.length) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.chipCollectionWrapper)) {\n (this.chipCollectionWrapper.style.display = '');\n }\n if (this.mode === 'Delimiter' || this.mode === 'CheckBox') {\n this.showDelimWrapper();\n }\n this.showOverAllClear();\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.chipCollectionWrapper)) {\n this.chipCollectionWrapper.style.display = 'none';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.delimiterWrapper)) {\n (this.delimiterWrapper.style.display = 'none');\n }\n this.hideOverAllClear();\n }\n };\n MultiSelect.prototype.indexOfObjectInArray = function (objectToFind, array) {\n var _loop_1 = function (i) {\n var item = array[i];\n // eslint-disable-next-line no-prototype-builtins\n if (Object.keys(objectToFind).every(function (key) { return item.hasOwnProperty(key) &&\n item[key] === objectToFind[key]; })) {\n return { value: i };\n }\n };\n for (var i = 0; i < array.length; i++) {\n var state_1 = _loop_1(i);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return -1; // Return -1 if the object is not found\n };\n MultiSelect.prototype.addValue = function (value, text, eve) {\n if (!this.value) {\n this.value = [];\n }\n var currentValue = this.allowObjectBinding ? this.getDataByValue(value) : value;\n if ((this.allowObjectBinding && !this.isObjectInArray(this.getDataByValue(value), this.value)) || (!this.allowObjectBinding &&\n this.value.indexOf(currentValue) < 0)) {\n this.setProperties({ value: [].concat([], this.value, [currentValue]) }, true);\n if (this.enableVirtualization && !this.isSelectAllLoop) {\n var data = this.viewWrapper.innerHTML;\n var temp = void 0;\n data += (this.value.length === 1) ? '' : this.delimiterChar + ' ';\n temp = this.getOverflowVal(this.value.length - 1);\n data += temp;\n temp = this.viewWrapper.innerHTML;\n this.updateWrapperText(this.viewWrapper, data);\n }\n if (this.enableVirtualization && this.mode === 'CheckBox') {\n var currentText = [];\n var value_1 = this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value[this.value.length - 1]) :\n this.value[this.value.length - 1];\n var temp = text;\n var textValues = this.text != null && this.text !== '' ? this.text + this.delimiterChar + temp : temp;\n currentText.push(textValues);\n this.setProperties({ text: currentText.toString() }, true);\n }\n }\n var element = this.findListElement(this.list, 'li', 'data-value', value);\n this.removeFocus();\n if (element) {\n this.addListFocus(element);\n this.addListSelection(element);\n }\n if (this.mode !== 'Delimiter' && this.mode !== 'CheckBox') {\n this.addChip(text, value, eve);\n }\n if (this.hideSelectedItem && this.fields.groupBy) {\n this.hideGroupItem(value);\n }\n this.updateChipStatus();\n this.checkMaxSelection();\n };\n MultiSelect.prototype.checkMaxSelection = function () {\n var limit = this.value && this.value.length ? this.value.length : 0;\n if (limit === this.maximumSelectionLength) {\n var activeItems = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + '.e-active');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(activeItems, 'e-disable');\n var inactiveItems = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-active)');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(inactiveItems, 'e-disable');\n }\n if (limit < this.maximumSelectionLength) {\n var collection = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(collection, 'e-disable');\n }\n };\n MultiSelect.prototype.dispatchSelect = function (value, eve, element, isNotTrigger, length, dataValue, text) {\n var _this = this;\n var list = this.listData;\n if (this.initStatus && !isNotTrigger) {\n value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), value) : value;\n var val_2 = dataValue ? dataValue : this.getDataByValue(value);\n var eventArgs = {\n e: eve,\n item: element,\n itemData: val_2,\n isInteracted: eve ? true : false,\n cancel: false\n };\n this.trigger('select', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n if (length) {\n _this.selectAllEventData.push(val_2);\n _this.selectAllEventEle.push(element);\n }\n if (length === 1) {\n var args = {\n event: eve,\n items: _this.selectAllEventEle,\n itemData: _this.selectAllEventData,\n isInteracted: eve ? true : false,\n isChecked: true\n };\n _this.trigger('selectedAll', args);\n _this.selectAllEventData = [];\n }\n if (_this.allowCustomValue && _this.isServerRendered && _this.listData !== list) {\n _this.listData = list;\n }\n value = _this.allowObjectBinding ? _this.getDataByValue(value) : value;\n if (_this.enableVirtualization) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.selectedListData)) {\n _this.selectedListData = [(_this.getDataByValue(value))];\n }\n else {\n if (dataValue) {\n if (Array.isArray(_this.selectedListData)) {\n _this.selectedListData.push(dataValue);\n }\n else {\n _this.selectedListData = [_this.selectedListData, dataValue];\n }\n }\n else {\n if (Array.isArray(_this.selectedListData)) {\n _this.selectedListData.push((_this.getDataByValue(value)));\n }\n else {\n _this.selectedListData = [_this.selectedListData, (_this.getDataByValue(value))];\n }\n }\n }\n }\n if ((_this.enableVirtualization && value) || !_this.enableVirtualization) {\n _this.updateListSelectEventCallback(value, element, eve, text);\n }\n if (_this.hideSelectedItem && _this.fixedHeaderElement && _this.fields.groupBy && _this.mode !== 'CheckBox') {\n _super.prototype.scrollStop.call(_this);\n }\n }\n });\n }\n };\n MultiSelect.prototype.addChip = function (text, value, e) {\n if (this.chipCollectionWrapper) {\n this.getChip(text, value, e);\n }\n };\n MultiSelect.prototype.removeChipFocus = function () {\n var elements = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP + '.' + CHIP_SELECTED);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(elements, CHIP_SELECTED);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n var closeElements = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP_CLOSE.split(' ')[0]);\n for (var index = 0; index < closeElements.length; index++) {\n closeElements[index].style.display = 'none';\n }\n }\n };\n MultiSelect.prototype.onMobileChipInteraction = function (e) {\n var chipElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + CHIP);\n var chipClose = chipElem.querySelector('span.' + CHIP_CLOSE.split(' ')[0]);\n if (this.enabled && !this.readonly) {\n if (!chipElem.classList.contains(CHIP_SELECTED)) {\n this.removeChipFocus();\n chipClose.style.display = '';\n chipElem.classList.add(CHIP_SELECTED);\n }\n this.refreshPopup();\n e.preventDefault();\n }\n };\n MultiSelect.prototype.multiCompiler = function (multiselectTemplate) {\n var checkTemplate = false;\n if (typeof multiselectTemplate !== 'function' && multiselectTemplate) {\n try {\n checkTemplate = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(multiselectTemplate, document).length) ? true : false;\n }\n catch (exception) {\n checkTemplate = false;\n }\n }\n return checkTemplate;\n };\n MultiSelect.prototype.encodeHtmlEntities = function (input) {\n return input.replace(/[\\u00A0-\\u9999<>&]/g, function (match) {\n return \"&#\" + match.charCodeAt(0) + \";\";\n });\n };\n MultiSelect.prototype.getChip = function (data, value, e) {\n var _this = this;\n var itemData = { text: value, value: value };\n var chip = this.createElement('span', {\n className: CHIP,\n attrs: { 'data-value': value, 'title': data }\n });\n var compiledString;\n var chipContent = this.createElement('span', { className: CHIP_CONTENT });\n var chipClose = this.createElement('span', { className: CHIP_CLOSE });\n if (this.mainData) {\n itemData = this.getDataByValue(value);\n }\n if (this.valueTemplate && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemData)) {\n var valuecheck = this.multiCompiler(this.valueTemplate);\n if (typeof this.valueTemplate !== 'function' && valuecheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.valueTemplate, document).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.valueTemplate);\n }\n var valueCompTemp = compiledString(itemData, this, 'valueTemplate', this.valueTemplateId, this.isStringTemplate, null, chipContent);\n if (valueCompTemp && valueCompTemp.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(valueCompTemp, chipContent);\n }\n this.renderReactTemplates();\n }\n else if (this.enableHtmlSanitizer) {\n chipContent.innerText = data;\n }\n else {\n chipContent.innerHTML = this.encodeHtmlEntities(data.toString());\n }\n chip.appendChild(chipContent);\n var eventArgs = {\n isInteracted: e ? true : false,\n itemData: itemData,\n e: e,\n setClass: function (classes) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([chip], classes);\n },\n cancel: false\n };\n this.isPreventChange = this.isAngular && this.preventChange;\n this.trigger('tagging', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n chip.classList.add(MOBILE_CHIP);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([chipClose], chip);\n chipClose.style.display = 'none';\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(chip, 'click', _this.onMobileChipInteraction, _this);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(chip, 'mousedown', _this.chipClick, _this);\n if (_this.showClearButton) {\n chip.appendChild(chipClose);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(chipClose, 'mousedown', _this.onChipRemove, _this);\n _this.chipCollectionWrapper.appendChild(chip);\n if (!_this.changeOnBlur && e) {\n _this.updateValueState(e, _this.value, _this.tempValues);\n }\n }\n });\n };\n MultiSelect.prototype.calcPopupWidth = function () {\n var width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupWidth);\n if (width.indexOf('%') > -1) {\n var inputWidth = (this.componentWrapper.offsetWidth) * parseFloat(width) / 100;\n width = inputWidth.toString() + 'px';\n }\n return width;\n };\n MultiSelect.prototype.mouseIn = function () {\n if (this.enabled && !this.readonly) {\n this.showOverAllClear();\n }\n };\n MultiSelect.prototype.mouseOut = function () {\n if (!this.inputFocus) {\n this.overAllClear.style.display = 'none';\n }\n };\n MultiSelect.prototype.listOption = function (dataSource, fields) {\n var iconCss = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields.iconCss) ? false : true;\n var fieldProperty = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields.properties) ? fields :\n fields.properties;\n this.listCurrentOptions = (fields.text !== null || fields.value !== null) ? {\n fields: fieldProperty, showIcon: iconCss, ariaAttributes: { groupItemRole: 'presentation' }\n } : { fields: { value: 'text' } };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.listCurrentOptions, this.listCurrentOptions, fields, true);\n if (this.mode === 'CheckBox') {\n this.notify('listoption', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', dataSource: dataSource, fieldProperty: fieldProperty });\n }\n return this.listCurrentOptions;\n };\n MultiSelect.prototype.renderPopup = function () {\n var _this = this;\n if (!this.list) {\n _super.prototype.render.call(this);\n }\n if (this.popupObj && document.body.contains(this.popupObj.element) && this.allowFiltering) {\n this.refreshPopup();\n return;\n }\n if (!this.popupObj) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupWrapper)) {\n document.body.appendChild(this.popupWrapper);\n var checkboxFilter = this.popupWrapper.querySelector('.' + FILTERPARENT);\n if (this.mode === 'CheckBox' && !this.allowFiltering && checkboxFilter && this.filterParent) {\n checkboxFilter.remove();\n this.filterParent = null;\n }\n var overAllHeight = parseInt(this.popupHeight, 10);\n this.popupWrapper.style.visibility = 'hidden';\n if (this.headerTemplate) {\n this.setHeaderTemplate();\n overAllHeight -= this.header.offsetHeight;\n this.isUpdateHeaderHeight = this.header.offsetHeight !== 0;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.list], this.popupWrapper);\n if (!this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData) && this.getItems()[1]) {\n this.listItemHeight = this.getItems()[1].offsetHeight +\n parseInt(window.getComputedStyle(this.getItems()[1]).marginBottom, 10);\n }\n if (this.enableVirtualization && !this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData)) {\n if (!this.list.querySelector('.e-virtual-ddl-content') && this.list.querySelector('.e-list-parent')) {\n var contentElement = this.createElement('div', {\n className: 'e-virtual-ddl-content'\n });\n contentElement.style.cssText = this.getTransformValues();\n this.list.appendChild(contentElement).appendChild(this.list.querySelector('.e-list-parent'));\n }\n else if (this.list.querySelector('.e-virtual-ddl-content')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n this.virtualItemCount = this.itemCount;\n if (this.mode !== 'CheckBox') {\n this.totalItemsCount();\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n this.popupWrapper.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n }\n if (this.footerTemplate) {\n this.setFooterTemplate();\n overAllHeight -= this.footer.offsetHeight;\n this.isUpdateFooterHeight = this.footer.offsetHeight !== 0;\n }\n if (this.mode === 'CheckBox' && this.showSelectAll) {\n this.notify('selectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox' });\n overAllHeight -= this.selectAllHeight;\n }\n else if (this.mode === 'CheckBox' && !this.showSelectAll && (!this.headerTemplate && !this.footerTemplate)) {\n this.notify('selectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox' });\n overAllHeight = parseInt(this.popupHeight, 10);\n }\n else if (this.mode === 'CheckBox' && !this.showSelectAll) {\n this.notify('selectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox' });\n overAllHeight = parseInt(this.popupHeight, 10);\n if (this.headerTemplate && this.header) {\n overAllHeight -= this.header.offsetHeight;\n }\n if (this.footerTemplate && this.footer) {\n overAllHeight -= this.footer.offsetHeight;\n }\n }\n if (this.mode === 'CheckBox') {\n var args = {\n module: 'CheckBoxSelection',\n enable: this.mode === 'CheckBox',\n popupElement: this.popupWrapper\n };\n if (this.allowFiltering) {\n this.notify('searchBox', args);\n overAllHeight -= this.searchBoxHeight;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.popupWrapper], 'e-checkbox');\n }\n if (this.popupHeight !== 'auto') {\n this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(overAllHeight);\n this.popupWrapper.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n }\n else {\n this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n }\n this.popupObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__.Popup(this.popupWrapper, {\n width: this.calcPopupWidth(), targetType: 'relative',\n position: this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' },\n relateTo: this.overAllWrapper,\n collision: this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }, offsetY: 1,\n enableRtl: this.enableRtl, zIndex: this.zIndex,\n close: function () {\n if (_this.popupObj.element.parentElement) {\n _this.popupObj.unwireScrollEvents();\n // For restrict the page scrolling in safari browser\n var checkboxFilterInput = _this.popupWrapper.querySelector('.' + FILTERINPUT);\n if (_this.mode === 'CheckBox' && checkboxFilterInput && document.activeElement === checkboxFilterInput) {\n checkboxFilterInput.blur();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(_this.popupObj.element);\n }\n },\n open: function () {\n _this.popupObj.resolveCollision();\n if (!_this.isFirstClick) {\n var ulElement = _this.list.querySelector('ul');\n if (ulElement) {\n if (!(_this.mode !== 'CheckBox' && (_this.allowFiltering || _this.allowCustomValue) &&\n _this.targetElement().trim() !== '')) {\n _this.mainList = ulElement.cloneNode ? ulElement.cloneNode(true) : ulElement;\n }\n }\n _this.isFirstClick = true;\n }\n _this.popupObj.wireScrollEvents();\n if (!(_this.mode !== 'CheckBox' && (_this.allowFiltering || _this.allowCustomValue) &&\n _this.targetElement().trim() !== '') && !_this.enableVirtualization) {\n _this.loadTemplate();\n if (_this.enableVirtualization && _this.mode === 'CheckBox') {\n _this.UpdateSkeleton();\n }\n }\n _this.isPreventScrollAction = true;\n _this.setScrollPosition();\n if (!_this.list.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData) && _this.getItems()[1] &&\n _this.getItems()[1].offsetHeight !== 0) {\n _this.listItemHeight = _this.getItems()[1].offsetHeight +\n parseInt(window.getComputedStyle(_this.getItems()[1]).marginBottom, 10);\n if (_this.list.getElementsByClassName('e-virtual-ddl-content')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = _this.getTransformValues();\n }\n }\n if (_this.allowFiltering) {\n _this.notify('inputFocus', {\n module: 'CheckBoxSelection', enable: _this.mode === 'CheckBox', value: 'focus'\n });\n }\n if (_this.enableVirtualization) {\n _this.notify('bindScrollEvent', {\n module: 'VirtualScroll',\n component: _this.getModuleName(),\n enable: _this.enableVirtualization\n });\n setTimeout(function () {\n if (_this.value) {\n _this.updateSelectionList();\n }\n else if (_this.viewPortInfo && _this.viewPortInfo.offsets.top) {\n _this.list.scrollTop = _this.viewPortInfo.offsets.top;\n }\n }, 5);\n }\n }, targetExitViewport: function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.hidePopup();\n }\n }\n });\n this.checkCollision(this.popupWrapper);\n this.popupContentElement = this.popupObj.element.querySelector('.e-content');\n if (this.mode === 'CheckBox' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowFiltering && this.isDeviceFullScreen) {\n this.notify('deviceSearchBox', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox' });\n }\n if (this.allowResize) {\n this.setResize();\n }\n this.popupObj.close();\n this.popupWrapper.style.visibility = '';\n }\n }\n };\n MultiSelect.prototype.checkCollision = function (popupEle) {\n if (!(this.mode === 'CheckBox' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.allowFiltering && this.isDeviceFullScreen)) {\n var collision = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.isCollide)(popupEle);\n if (collision.length > 0) {\n popupEle.style.marginTop = -parseInt(getComputedStyle(popupEle).marginTop, 10) + 'px';\n }\n this.popupObj.resolveCollision();\n }\n };\n MultiSelect.prototype.setHeaderTemplate = function () {\n var compiledString;\n if (this.header) {\n this.header.remove();\n }\n this.header = this.createElement('div');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.header], HEADER);\n var headercheck = this.multiCompiler(this.headerTemplate);\n if (typeof this.headerTemplate !== 'function' && headercheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.headerTemplate, document).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.headerTemplate);\n }\n // eslint-disable-next-line\n var elements = compiledString({}, this, 'headerTemplate', this.headerTemplateId, this.isStringTemplate, null, this.header);\n if (elements && elements.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(elements, this.header);\n }\n if (this.mode === 'CheckBox' && this.showSelectAll) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.header], this.popupWrapper);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.header], this.popupWrapper);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'mousedown', this.onListMouseDown, this);\n };\n MultiSelect.prototype.setFooterTemplate = function () {\n var compiledString;\n if (this.footer) {\n this.footer.remove();\n }\n this.footer = this.createElement('div');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.footer], FOOTER);\n var footercheck = this.multiCompiler(this.footerTemplate);\n if (typeof this.footerTemplate !== 'function' && footercheck) {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.footerTemplate, document).innerHTML.trim());\n }\n else {\n compiledString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.footerTemplate);\n }\n // eslint-disable-next-line\n var elements = compiledString({}, this, 'footerTemplate', this.footerTemplateId, this.isStringTemplate, null, this.footer);\n if (elements && elements.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(elements, this.footer);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.footer], this.popupWrapper);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.footer, 'mousedown', this.onListMouseDown, this);\n };\n MultiSelect.prototype.updateInitialData = function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var currentData = this.selectData;\n var ulElement = this.renderItems(currentData, this.fields);\n this.list.scrollTop = 0;\n this.virtualListInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: this.itemCount\n };\n this.previousStartIndex = 0;\n this.previousEndIndex = this.itemCount;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) {\n if (this.remoteDataCount >= 0) {\n this.totalItemCount = this.dataCount = this.remoteDataCount;\n }\n else {\n this.resetList(this.dataSource);\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n }\n if (this.mode !== 'CheckBox') {\n this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length : this.totalItemCount;\n }\n this.getSkeletonCount();\n this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < this.itemCount * 2 &&\n ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) || ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) &&\n (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;\n this.UpdateSkeleton();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n else if (!this.list.querySelector('.e-virtual-ddl') && this.skeletonCount > 0) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n this.popupWrapper.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n this.listData = currentData;\n this.liCollections = this.list.querySelectorAll('.e-list-item');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.list.getElementsByClassName('e-virtual-ddl-content')[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n if (this.enableVirtualization) {\n this.notify('setGeneratedData', {\n module: 'VirtualScroll'\n });\n }\n };\n MultiSelect.prototype.clearAll = function (e) {\n if (this.enabled && !this.readonly) {\n var temp = void 0;\n this.setDynValue = false;\n this.isClearAllAction = true;\n if (this.value && this.value.length > 0) {\n if (this.allowFiltering) {\n this.refreshListItems(null);\n if (this.mode === 'CheckBox' && this.targetInputElement) {\n this.targetInputElement.value = '';\n }\n }\n var liElement = this.list && this.list.querySelectorAll('li.e-list-item');\n if (liElement && liElement.length > 0) {\n this.selectAllItems(false, e);\n }\n else {\n this.removeIndex = 0;\n for (temp = this.value[this.removeIndex]; this.removeIndex < this.value.length; temp = this.value[this.removeIndex]) {\n this.removeValue(temp, e, null, true);\n }\n }\n this.selectedElementID = null;\n this.inputElement.removeAttribute('aria-activedescendant');\n }\n else {\n this.clearAllCallback(e);\n }\n this.checkAndResetCache();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_7__.Input.createSpanElement(this.overAllWrapper, this.createElement);\n this.calculateWidth();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] && this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');\n }\n if (this.enableVirtualization) {\n this.updateInitialData();\n if (this.chipCollectionWrapper) {\n this.chipCollectionWrapper.innerHTML = '';\n }\n if (!this.isCustomDataUpdated) {\n this.notify('setGeneratedData', {\n module: 'VirtualScroll'\n });\n }\n }\n if (this.enableVirtualization) {\n this.list.scrollTop = 0;\n this.virtualListInfo = null;\n this.previousStartIndex = 0;\n this.previousEndIndex = this.itemCount;\n }\n this.isClearAllAction = false;\n }\n this.isClearAllItem = true;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mouseup', this.preventSelection, this);\n };\n MultiSelect.prototype.preventSelection = function (e) {\n if (this.isClearAllItem) {\n e.stopPropagation();\n }\n this.isClearAllItem = false;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', this.preventSelection);\n };\n MultiSelect.prototype.clearAllCallback = function (e, isClearAll) {\n var tempValues = this.value ? this.value.slice() : [];\n if (this.mainList && this.listData && ((this.allowFiltering && this.mode !== 'CheckBox') || this.allowCustomValue)) {\n var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;\n this.onActionComplete(list, this.mainData);\n }\n this.focusAtFirstListItem();\n this.updateDelimeter(this.delimiterChar, e);\n if (this.mode !== 'Box' && (!this.inputFocus || this.mode === 'CheckBox')) {\n this.updateDelimView();\n }\n if (this.inputElement.value !== '') {\n this.makeTextBoxEmpty();\n this.search(null);\n }\n this.checkPlaceholderSize();\n if (this.isPopupOpen()) {\n this.refreshPopup();\n }\n if (this.allowResize) {\n this.setResize();\n }\n if (!this.inputFocus) {\n if (this.changeOnBlur) {\n this.updateValueState(e, this.value, tempValues);\n }\n if (this.mode !== 'CheckBox') {\n this.inputElement.focus();\n }\n }\n if (this.mode === 'CheckBox') {\n this.refreshPlaceHolder();\n this.refreshInputHight();\n if (this.changeOnBlur && isClearAll && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value.length === 0)) {\n this.updateValueState(e, this.value, this.tempValues);\n }\n }\n if (!this.changeOnBlur && isClearAll && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value.length === 0)) {\n this.updateValueState(e, this.value, this.tempValues);\n }\n if (this.mode === 'CheckBox' && this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n this.updateListItems(this.list.querySelectorAll('li.e-list-item'), this.mainList.querySelectorAll('li.e-list-item'));\n }\n e.preventDefault();\n };\n MultiSelect.prototype.windowResize = function () {\n this.refreshPopup();\n if ((!this.inputFocus || this.mode === 'CheckBox') && this.viewWrapper && this.viewWrapper.parentElement) {\n this.updateDelimView();\n }\n };\n MultiSelect.prototype.resetValueHandler = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n if (formElement && e.target === formElement) {\n var textVal = (this.element.tagName === this.getNgDirective()) ?\n null : this.element.getAttribute('data-initial-value');\n this.text = textVal;\n }\n }\n };\n MultiSelect.prototype.wireEvent = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.componentWrapper, 'mousedown', this.wrapperClick, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'resize', this.windowResize, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'focus', this.focusInHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keydown', this.onKeyDown, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'keyup', this.keyUp, this);\n if (this.mode !== 'CheckBox') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'input', this.onInput, this);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'blur', this.onBlurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.componentWrapper, 'mouseover', this.mouseIn, this);\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n if (formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(formElement, 'reset', this.resetValueHandler, this);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.componentWrapper, 'mouseout', this.mouseOut, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.overAllClear, 'mousedown', this.clearAll, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputElement, 'paste', this.pasteHandler, this);\n };\n MultiSelect.prototype.onInput = function (e) {\n if (this.keyDownStatus) {\n this.isValidKey = true;\n }\n else {\n this.isValidKey = false;\n }\n this.keyDownStatus = false;\n // For Filtering works in mobile firefox\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'mozilla') {\n this.search(e);\n }\n };\n MultiSelect.prototype.pasteHandler = function (event) {\n var _this = this;\n setTimeout(function () {\n _this.expandTextbox();\n _this.search(event);\n });\n };\n MultiSelect.prototype.search = function (e) {\n var _this = this;\n this.preventSetCurrentData = false;\n this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)) {\n this.keyCode = e.keyCode;\n }\n if (!this.isPopupOpen() && this.openOnClick) {\n this.showPopup(e);\n }\n this.openClick(e);\n if (this.checkTextLength() && !this.allowFiltering && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && (e.keyCode !== 8)) {\n this.focusAtFirstListItem();\n }\n else {\n var text = this.targetElement();\n if (this.allowFiltering) {\n if (this.allowCustomValue) {\n this.isRemoteSelection = true;\n }\n this.checkAndResetCache();\n this.isRequesting = false;\n var eventArgs_1 = {\n preventDefaultAction: false,\n text: this.targetElement(),\n updateData: function (dataSource, query, fields) {\n if (eventArgs_1.cancel) {\n return;\n }\n _this.isFiltered = true;\n _this.customFilterQuery = query;\n _this.remoteFilterAction = true;\n _this.isCustomFiltering = true;\n _this.dataUpdater(dataSource, query, fields);\n },\n event: e,\n cancel: false\n };\n this.trigger('filtering', eventArgs_1, function (eventArgs) {\n _this.isFilterPrevented = eventArgs.cancel;\n if (!eventArgs.cancel) {\n if (!_this.isFiltered && !eventArgs.preventDefaultAction) {\n _this.filterAction = true;\n _this.isFilteringAction = true;\n if (_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && _this.allowCustomValue) {\n _this.isCustomRendered = false;\n }\n _this.dataUpdater(_this.dataSource, null, _this.fields);\n _this.isFilteringAction = false;\n }\n }\n });\n }\n else if (this.allowCustomValue) {\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query();\n query = this.allowFiltering && (text !== '') ? query.where(this.fields.text, 'startswith', text, this.ignoreCase, this.ignoreAccent) : query;\n if (this.enableVirtualization) {\n this.dataUpdater(this.dataSource, query, this.fields);\n }\n else {\n this.dataUpdater(this.mainData, query, this.fields);\n }\n this.UpdateSkeleton();\n }\n else {\n var liCollections = this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-hide-listitem)');\n var type = this.typeOfData(this.listData).typeof;\n var activeElement = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_3__.Search)(this.targetElement(), liCollections, 'StartsWith', this.ignoreCase);\n if (this.enableVirtualization && this.targetElement().trim() !== '' && !this.allowFiltering) {\n var updatingincrementalindex = false;\n if ((this.viewPortInfo.endIndex >= this.incrementalEndIndex && this.incrementalEndIndex <= this.totalItemCount) ||\n this.incrementalEndIndex === 0) {\n updatingincrementalindex = true;\n this.incrementalStartIndex = 0;\n this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = false;\n }\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n activeElement = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_3__.Search)(this.targetElement(), this.incrementalLiCollections, this.filterType, true, this.listData, this.fields, type);\n while ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeElement) && this.incrementalEndIndex < this.totalItemCount) {\n this.incrementalStartIndex = this.incrementalEndIndex;\n this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount :\n this.incrementalEndIndex + 100;\n this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);\n updatingincrementalindex = true;\n if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {\n this.updateIncrementalView(0, this.itemCount);\n }\n activeElement = (0,_common_incremental_search__WEBPACK_IMPORTED_MODULE_3__.Search)(this.targetElement(), this.incrementalLiCollections, this.filterType, true, this.listData, this.fields, type);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeElement)) {\n break;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeElement) && this.incrementalEndIndex >= this.totalItemCount) {\n this.incrementalStartIndex = 0;\n this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;\n break;\n }\n }\n if (activeElement.index) {\n if (!(this.viewPortInfo.startIndex >= activeElement.index) ||\n !(activeElement.index >= this.viewPortInfo.endIndex)) {\n var startIndex = activeElement.index - ((this.itemCount / 2) - 2) > 0\n ? activeElement.index - ((this.itemCount / 2) - 2)\n : 0;\n var endIndex = startIndex + this.itemCount > this.totalItemCount\n ? this.totalItemCount\n : startIndex + this.itemCount;\n if (startIndex !== this.viewPortInfo.startIndex) {\n this.updateIncrementalView(startIndex, endIndex);\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeElement.item)) {\n var index1 = this.getIndexByValue(activeElement.item.getAttribute('data-value')) - this.skeletonCount;\n if (index1 > this.itemCount / 2) {\n var startIndex = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount\n ? this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2)\n : this.totalItemCount;\n var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount\n ? this.totalItemCount\n : this.viewPortInfo.startIndex + this.itemCount;\n this.updateIncrementalView(startIndex, endIndex);\n }\n activeElement.item = this.getElementByValue(activeElement.item.getAttribute('data-value'));\n }\n else {\n this.updateIncrementalView(0, this.itemCount);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n this.list.scrollTop = 0;\n }\n if (activeElement && activeElement.item) {\n activeElement.item = this.getElementByValue(activeElement.item.getAttribute('data-value'));\n }\n }\n if (activeElement && activeElement.item) {\n this.addListFocus(activeElement.item);\n this.list.scrollTop =\n activeElement.item.offsetHeight * activeElement.index;\n }\n else if (this.targetElement() !== '') {\n this.removeFocus();\n }\n else {\n this.focusAtFirstListItem();\n }\n }\n }\n if (this.enableVirtualization && this.allowFiltering) {\n this.getFilteringSkeletonCount();\n }\n };\n MultiSelect.prototype.preRender = function () {\n if (this.allowFiltering === null) {\n this.allowFiltering = (this.mode === 'CheckBox') ? true : false;\n }\n this.preventSetCurrentData = false;\n this.initializeData();\n this.updateDataAttribute(this.htmlAttributes);\n _super.prototype.preRender.call(this);\n };\n MultiSelect.prototype.getLocaleName = function () {\n return 'multi-select';\n };\n MultiSelect.prototype.initializeData = function () {\n this.mainListCollection = [];\n this.beforePopupOpen = false;\n this.filterAction = false;\n this.remoteFilterAction = false;\n this.isFirstClick = false;\n this.mobFilter = true;\n this.isFiltered = false;\n this.focused = true;\n this.initial = true;\n this.backCommand = true;\n this.isCustomRendered = false;\n this.isRemoteSelection = false;\n this.isSelectAllTarget = true;\n this.isaddNonPresentItems = false;\n this.viewPortInfo = {\n currentPageNumber: null,\n direction: null,\n sentinelInfo: {},\n offsets: {},\n startIndex: 0,\n endIndex: this.itemCount\n };\n };\n MultiSelect.prototype.updateData = function (delimiterChar, e, isInitialVirtualData) {\n var data = '';\n var delim = this.mode === 'Delimiter' || this.mode === 'CheckBox';\n var text = [];\n var temp;\n var tempData = this.listData;\n if (!this.enableVirtualization) {\n this.listData = this.mainData;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.hiddenElement) && !this.enableVirtualization) {\n this.hiddenElement.innerHTML = '';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n var valueLength = this.value.length;\n var hiddenElementContent = '';\n var _loop_2 = function (index) {\n var valueItem = this_1.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this_1.fields.value) ? this_1.fields.value : '', this_1.value[index]) : this_1.value[index];\n var listValue = this_1.findListElement((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.mainList) ? this_1.mainList : this_1.ulElement), 'li', 'data-value', valueItem);\n if (this_1.enableVirtualization) {\n listValue = this_1.findListElement((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.list) ? this_1.list : this_1.ulElement), 'li', 'data-value', valueItem);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(listValue) && !this_1.allowCustomValue && !this_1.enableVirtualization &&\n this_1.listData && this_1.listData.length > 0) {\n this_1.value.splice(index, 1);\n index -= 1;\n valueLength -= 1;\n }\n else {\n if (this_1.listData) {\n if (this_1.enableVirtualization) {\n if (delim && !this_1.isDynamicRemoteVirtualData) {\n data = this_1.delimiterWrapper && this_1.delimiterWrapper.innerHTML === '' ? data :\n this_1.delimiterWrapper.innerHTML;\n }\n var value = this_1.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this_1.fields.value) ? this_1.fields.value : ''), this_1.value[this_1.value.length - 1]) :\n this_1.value[this_1.value.length - 1];\n if (this_1.isRemoveSelection) {\n data = this_1.text.replace(/,/g, delimiterChar + ' ') + delimiterChar + ' ';\n text = this_1.text.split(delimiterChar);\n }\n else {\n temp = isInitialVirtualData && delim ? this_1.text : this_1.getTextByValue(value);\n var textValues = this_1.isDynamicRemoteVirtualData && value != null && value !== '' && !isInitialVirtualData ?\n this_1.getTextByValue(value) : isInitialVirtualData ? this_1.text : (this_1.text && this_1.text !== '' ? this_1.text + this_1.delimiterChar + temp : temp);\n data += temp + delimiterChar + ' ';\n text.push(textValues);\n hiddenElementContent = this_1.hiddenElement.innerHTML;\n }\n if ((e && e.currentTarget && e.currentTarget.classList.contains('e-chips-close')) ||\n (e && (e.key === 'Backspace'))) {\n var item_1 = e.target.parentElement.getAttribute('data-value');\n if (e.key === 'Backspace') {\n var lastChild = this_1.hiddenElement.lastChild;\n if (lastChild) {\n this_1.hiddenElement.removeChild(lastChild);\n }\n }\n else {\n this_1.hiddenElement.childNodes.forEach(function (option) {\n if (option.value === item_1) {\n option.parentNode.removeChild(option);\n }\n });\n }\n hiddenElementContent = this_1.hiddenElement.innerHTML;\n }\n else {\n hiddenElementContent += '';\n }\n return out_index_1 = index, \"break\";\n }\n else {\n temp = this_1.getTextByValue(valueItem);\n }\n }\n else {\n temp = valueItem;\n }\n data += temp + delimiterChar + ' ';\n text.push(temp);\n }\n hiddenElementContent += \"\";\n out_index_1 = index;\n };\n var this_1 = this, out_index_1;\n for (var index = 0; index < valueLength; index++) {\n var state_2 = _loop_2(index);\n index = out_index_1;\n if (state_2 === \"break\")\n break;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.hiddenElement)) {\n if (this.isRemoveSelection) {\n if (this.findListElement(this.hiddenElement, 'option', 'value', this.currentRemoveValue)) {\n this.hiddenElement.removeChild(this.findListElement(this.hiddenElement, 'option', 'value', this.currentRemoveValue));\n }\n this.isRemoveSelection = false;\n }\n else {\n this.hiddenElement.innerHTML = hiddenElementContent;\n }\n }\n }\n var isChipRemove = e && e.target && e.target.classList.contains('e-chips-close');\n if (!this.enableVirtualization || (this.enableVirtualization && this.mode !== 'CheckBox' && !isChipRemove)) {\n this.setProperties({ text: text.toString() }, true);\n }\n if (delim) {\n this.updateWrapperText(this.delimiterWrapper, data);\n this.delimiterWrapper.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('delim_val'));\n this.inputElement.setAttribute('aria-describedby', this.delimiterWrapper.id);\n }\n var targetEle = e && e.target;\n var isClearAll = (targetEle && targetEle.classList.contains('e-close-hooker')) ? true : null;\n if (!this.changeOnBlur && ((e && !isClearAll)) || this.isSelectAll) {\n this.isSelectAll = false;\n this.updateValueState(e, this.value, this.tempValues);\n }\n this.listData = tempData;\n this.addValidInputClass();\n };\n MultiSelect.prototype.initialTextUpdate = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text)) {\n var textArr = this.text.split(this.delimiterChar);\n var textVal = [];\n for (var index = 0; textArr.length > index; index++) {\n var val = this.getValueByText(textArr[index]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val)) {\n textVal.push(val);\n }\n else if (this.allowCustomValue) {\n textVal.push(textArr[index]);\n }\n }\n if (textVal && textVal.length) {\n var value = this.allowObjectBinding ? this.getDataByValue(textVal) : textVal;\n this.setProperties({ value: value }, true);\n }\n }\n else {\n this.setProperties({ value: null }, true);\n }\n };\n MultiSelect.prototype.renderList = function (isEmptyData) {\n if (!isEmptyData && this.allowCustomValue && this.list && (this.list.textContent === this.noRecordsTemplate\n || this.list.querySelector('.e-ul') && this.list.querySelector('.e-ul').childElementCount === 0)) {\n isEmptyData = true;\n }\n _super.prototype.render.call(this, null, isEmptyData);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.totalItemCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n this.unwireListEvents();\n this.wireListEvents();\n };\n MultiSelect.prototype.initialValueUpdate = function (listItems, isInitialVirtualData) {\n if (this.list) {\n var text = void 0;\n var element = void 0;\n var value = void 0;\n if (this.chipCollectionWrapper) {\n this.chipCollectionWrapper.innerHTML = '';\n }\n this.removeListSelection();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n for (var index = 0; !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value[index]); index++) {\n value = this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value[index]) :\n this.value[index];\n element = this.findListElement(this.hideSelectedItem ? this.ulElement : this.list, 'li', 'data-value', value);\n var isCustomData = false;\n if (this.enableVirtualization) {\n text = null;\n if (listItems != null && listItems.length > 0) {\n for (var i = 0; i < listItems.length; i++) {\n if ((this.isPrimitiveData && listItems[i] === value) || (!this.isPrimitiveData\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value ? this.fields.value :\n 'value'), listItems[i]) === value)) {\n text = this.isPrimitiveData ? listItems[i] :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(this.fields.text, listItems[i]);\n if (this.enableVirtualization) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedListData)) {\n this.selectedListData = [listItems[i]];\n }\n else {\n if (Array.isArray(this.selectedListData)) {\n this.selectedListData.push((listItems[i]));\n }\n else {\n this.selectedListData = [this.selectedListData, (listItems[i])];\n }\n }\n }\n break;\n }\n }\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(text) && this.allowCustomValue) &&\n ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) ||\n (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && isInitialVirtualData))) {\n text = this.getTextByValue(value);\n isCustomData = true;\n }\n }\n else {\n text = this.getTextByValue(value);\n }\n if (((element && (element.getAttribute('aria-selected') !== 'true')) ||\n (element && (element.getAttribute('aria-selected') === 'true' && this.hideSelectedItem) &&\n (this.mode === 'Box' || this.mode === 'Default'))) ||\n (this.enableVirtualization && value != null && text != null && !isCustomData)) {\n var currentText = [];\n var textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' && index === 0 ? text : this.text != null && this.text !== '' && !this.text.includes(text) ? this.text + this.delimiterChar + text : text;\n currentText.push(textValues);\n this.setProperties({ text: currentText.toString() }, true);\n this.addChip(text, value);\n this.addListSelection(element);\n }\n else if ((!this.enableVirtualization && value && this.allowCustomValue) ||\n (this.enableVirtualization &&\n value &&\n this.allowCustomValue &&\n ((!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) ||\n (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && isInitialVirtualData)))) {\n var indexItem = this.listData.length;\n var newValue = {};\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(this.fields.text, value, newValue);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(this.fields.value, value, newValue);\n var noDataEle = this.popupWrapper.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData);\n if (!this.enableVirtualization) {\n this.addItem(newValue, indexItem);\n }\n if (this.enableVirtualization) {\n if (this.virtualCustomSelectData && this.virtualCustomSelectData.length >= 0) {\n this.virtualCustomSelectData.push(newValue);\n }\n else {\n this.virtualCustomSelectData = [newValue];\n }\n }\n element = element ? element : this.findListElement(this.hideSelectedItem ?\n this.ulElement : this.list, 'li', 'data-value', value);\n if (this.popupWrapper.contains(noDataEle)) {\n this.list.setAttribute('style', noDataEle.getAttribute('style'));\n this.popupWrapper.replaceChild(this.list, noDataEle);\n this.wireListEvents();\n }\n var currentText = [];\n var textValues = this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;\n currentText.push(textValues);\n this.setProperties({ text: currentText.toString() }, true);\n this.addChip(text, value);\n this.addListSelection(element);\n }\n }\n }\n if (this.mode === 'CheckBox') {\n this.updateDelimView();\n if (this.changeOnBlur) {\n this.updateValueState(null, this.value, this.tempValues);\n }\n this.updateDelimeter(this.delimiterChar);\n this.refreshInputHight();\n }\n else {\n this.updateDelimeter(this.delimiterChar, null, isInitialVirtualData);\n }\n if (this.mode === 'CheckBox' && this.showSelectAll && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || !this.value.length)) {\n this.notify('checkSelectAll', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', value: 'uncheck' });\n }\n if (this.mode === 'Box' || (this.mode === 'Default' && this.inputFocus)) {\n this.chipCollectionWrapper.style.display = '';\n }\n else if (this.mode === 'Delimiter' || this.mode === 'CheckBox') {\n this.showDelimWrapper();\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n MultiSelect.prototype.updateActionCompleteData = function (li, item) {\n if (this.value && ((!this.allowObjectBinding && this.value.indexOf(li.getAttribute('data-value')) > -1) ||\n (this.allowObjectBinding && this.isObjectInArray(this.getDataByValue(li.getAttribute('data-value')), this.value)))) {\n this.mainList = this.ulElement;\n if (this.hideSelectedItem) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], HIDE_LIST);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n MultiSelect.prototype.updateAddItemList = function (list, itemCount) {\n if (this.popupObj && this.popupObj.element && this.popupObj.element.querySelector('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.noData) && list) {\n this.list = list;\n this.mainList = this.ulElement = list.querySelector('ul');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.popupWrapper.querySelector('.e-content'));\n this.popupObj = null;\n this.renderPopup();\n }\n else if (this.allowCustomValue) {\n this.list = list;\n this.mainList = this.ulElement = list.querySelector('ul');\n }\n };\n MultiSelect.prototype.updateDataList = function () {\n if (this.mainList && this.ulElement && !(this.isFiltered || this.filterAction || this.targetElement().trim())) {\n var isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;\n var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 &&\n this.ulElement.children[0].childElementCount > 0) &&\n (this.mainList.children[0] && (this.mainList.children[0].childElementCount <\n this.ulElement.children[0].childElementCount)));\n var isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0 &&\n !(this.ulElement.childElementCount < this.mainList.childElementCount) &&\n (this.ulElement.children[0].childElementCount > 0 ||\n (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));\n if (isDynamicGroupItemUpdate || isReactTemplateUpdate || isAngularTemplateUpdate) {\n //EJ2-57748 - for this task, we prevent the ul element cloning ( this.mainList = this.ulElement.cloneNode ? this.ulElement.cloneNode(true) : this.ulElement;)\n this.mainList = this.ulElement;\n }\n }\n };\n MultiSelect.prototype.isValidLI = function (li) {\n return (li && !li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.disabled) && !li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group) &&\n li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li));\n };\n MultiSelect.prototype.updateListSelection = function (li, e, length) {\n var customVal = li.getAttribute('data-value');\n var value = this.allowObjectBinding ?\n this.getDataByValue(this.getFormattedValue(customVal)) : this.getFormattedValue(customVal);\n if (this.allowCustomValue && ((customVal !== 'false' && value === false) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && value.toString() === 'NaN'))) {\n value = customVal;\n }\n this.removeHover();\n if (!this.value || ((!this.allowObjectBinding && this.value.indexOf(value) === -1) ||\n (this.allowObjectBinding && this.indexOfObjectInArray(value, this.value) === -1))) {\n this.dispatchSelect(value, e, li, (li.getAttribute('aria-selected') === 'true'), length);\n }\n else {\n this.removeValue(value, e, length);\n }\n };\n MultiSelect.prototype.updateListSelectEventCallback = function (value, li, e, currentText) {\n var _this = this;\n value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), value) : value;\n var text = currentText ? currentText : this.getTextByValue(value);\n if ((this.allowCustomValue || this.allowFiltering) &&\n !this.findListElement(this.mainList, 'li', 'data-value', value) &&\n (!this.enableVirtualization || (this.enableVirtualization && this.virtualCustomData))) {\n var temp_1 = li ? li.cloneNode(true) : li;\n var fieldValue = this.fields.value ? this.fields.value : 'value';\n if (this.allowCustomValue && this.mainData.length && typeof (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(fieldValue, this.mainData[0]) === 'number') {\n value = !isNaN(parseFloat(value.toString())) ? parseFloat(value.toString()) : value;\n }\n var data_1 = this.getDataByValue(value);\n var eventArgs = {\n newData: data_1,\n cancel: false\n };\n this.trigger('customValueSelection', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n if (_this.enableVirtualization && _this.virtualCustomData) {\n if (_this.virtualCustomSelectData && _this.virtualCustomSelectData.length >= 0) {\n _this.virtualCustomSelectData.push(data_1);\n }\n else {\n _this.virtualCustomSelectData = [data_1];\n }\n _this.remoteCustomValue = false;\n _this.addValue(value, text, e);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([temp_1], _this.mainList);\n _this.mainData.push(data_1);\n _this.remoteCustomValue = false;\n _this.addValue(value, text, e);\n }\n }\n });\n }\n else {\n this.remoteCustomValue = false;\n this.addValue(value, text, e);\n }\n };\n MultiSelect.prototype.removeListSelection = function () {\n var className = this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n var selectedItems = this.list.querySelectorAll('.' + className);\n var temp = selectedItems.length;\n if (selectedItems && selectedItems.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(selectedItems, className);\n while (temp > 0) {\n selectedItems[temp - 1].setAttribute('aria-selected', 'false');\n temp--;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mainList)) {\n var selectItems = this.mainList.querySelectorAll('.' + className);\n var temp1 = selectItems.length;\n if (selectItems && selectItems.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(selectItems, className);\n while (temp1 > 0) {\n selectItems[temp1 - 1].setAttribute('aria-selected', 'false');\n if (this.mode === 'CheckBox') {\n if (selectedItems && (selectedItems.length > (temp1 - 1))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([selectedItems[temp1 - 1].firstElementChild.lastElementChild], 'e-check');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([selectItems[temp1 - 1].firstElementChild.lastElementChild], 'e-check');\n }\n temp1--;\n }\n }\n }\n };\n MultiSelect.prototype.removeHover = function () {\n var hoveredItem = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.hover);\n if (hoveredItem && hoveredItem.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(hoveredItem, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.hover);\n }\n };\n MultiSelect.prototype.removeFocus = function () {\n if (this.list && this.mainList) {\n var hoveredItem = this.list.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n var mainlist = this.mainList.querySelectorAll('.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n if (hoveredItem && hoveredItem.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(hoveredItem, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(mainlist, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n }\n }\n };\n MultiSelect.prototype.addListHover = function (li) {\n if (this.enabled && this.isValidLI(li)) {\n this.removeHover();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.hover);\n }\n else {\n if ((li !== null && li.classList.contains('e-list-group-item')) && this.enableGroupCheckBox && this.mode === 'CheckBox'\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n this.removeHover();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.hover);\n }\n }\n };\n MultiSelect.prototype.addListFocus = function (element) {\n if (this.enabled && (this.isValidLI(element) || (this.fields.disabled && this.isDisabledElement(element)))) {\n this.removeFocus();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n this.updateAriaActiveDescendant();\n }\n else {\n if (this.enableGroupCheckBox && this.mode === 'CheckBox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus);\n this.updateAriaActiveDescendant();\n }\n }\n };\n MultiSelect.prototype.addListSelection = function (element, mainElement) {\n var className = this.hideSelectedItem ?\n HIDE_LIST :\n _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected;\n if (this.isValidLI(element) && !element.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.hover)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], className);\n this.updateMainList(false, element.getAttribute('data-value'), mainElement);\n element.setAttribute('aria-selected', 'true');\n if (this.mode === 'CheckBox' && element.classList.contains('e-active')) {\n var ariaCheck = element.getElementsByClassName('e-check').length;\n if (ariaCheck === 0) {\n this.notify('updatelist', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', li: element, e: this });\n }\n }\n this.notify('activeList', { module: 'CheckBoxSelection', enable: this.mode === 'CheckBox', li: element, e: this });\n if (this.chipCollectionWrapper) {\n this.removeChipSelection();\n }\n this.selectedElementID = element.id;\n }\n };\n MultiSelect.prototype.updateDelimeter = function (delimChar, e, isInitialVirtualData) {\n this.updateData(delimChar, e, isInitialVirtualData);\n };\n MultiSelect.prototype.onMouseClick = function (e) {\n var _this = this;\n if (!this.isClearAllItem) {\n this.keyCode = null;\n this.scrollFocusStatus = false;\n this.keyboardEvent = null;\n var target = e.target;\n var li = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n if (this.enableVirtualization && li && li.classList.contains('e-virtual-list')) {\n return;\n }\n var headerLi = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group);\n if (headerLi && this.enableGroupCheckBox && this.mode === 'CheckBox' && this.fields.groupBy) {\n target = target.classList.contains('e-list-group-item') ? target.firstElementChild.lastElementChild\n : e.target;\n if (target.classList.contains('e-check')) {\n this.selectAllItem(false, e);\n target.classList.remove('e-check');\n target.classList.remove('e-stop');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + 'e-list-group-item').classList.remove('e-active');\n target.setAttribute('aria-selected', 'false');\n }\n else {\n this.selectAllItem(true, e);\n target.classList.remove('e-stop');\n target.classList.add('e-check');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + 'e-list-group-item').classList.add('e-active');\n target.setAttribute('aria-selected', 'true');\n }\n this.refreshSelection();\n this.checkSelectAll();\n }\n else {\n if (this.isValidLI(li)) {\n var limit = this.value && this.value.length ? this.value.length : 0;\n if (li.classList.contains('e-active')) {\n limit = limit - 1;\n }\n if (limit < this.maximumSelectionLength) {\n this.updateListSelection(li, e);\n this.checkPlaceholderSize();\n this.addListFocus(li);\n if ((this.allowCustomValue || this.allowFiltering) && this.mainList && this.listData) {\n if (this.mode !== 'CheckBox') {\n this.focusAtLastListItem(li.getAttribute('data-value'));\n this.refreshSelection();\n }\n }\n else {\n this.makeTextBoxEmpty();\n }\n }\n if (this.mode === 'CheckBox') {\n this.updateDelimView();\n if (this.value && this.value.length > 50) {\n setTimeout(function () {\n _this.updateDelimeter(_this.delimiterChar, e);\n }, 0);\n }\n else {\n this.updateDelimeter(this.delimiterChar, e);\n }\n this.refreshInputHight();\n }\n else {\n this.updateDelimeter(this.delimiterChar, e);\n }\n this.checkSelectAll();\n this.refreshPopup();\n if (this.allowResize) {\n this.setResize();\n }\n if (this.hideSelectedItem) {\n this.focusAtFirstListItem();\n }\n if (this.closePopupOnSelect) {\n this.hidePopup(e);\n }\n else {\n e.preventDefault();\n }\n var isFilterData = this.targetElement().trim() !== '' ? true : false;\n this.makeTextBoxEmpty();\n this.findGroupStart(target);\n if (this.mode !== 'CheckBox') {\n this.refreshListItems((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(li) ? null : li.textContent, isFilterData);\n }\n }\n else {\n e.preventDefault();\n }\n if (this.enableVirtualization && this.hideSelectedItem) {\n var visibleListElements = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)' + ':not(.e-virtual-list)');\n if (visibleListElements.length) {\n var actualCount = this.virtualListHeight > 0 ?\n Math.floor(this.virtualListHeight / this.listItemHeight) : 0;\n if (visibleListElements.length < (actualCount + 2)) {\n var query = this.getForQuery(this.value).clone();\n query = query.skip(this.virtualItemStartIndex);\n this.resetList(this.dataSource, this.fields, query);\n this.UpdateSkeleton();\n this.liCollections = this.list.querySelectorAll('.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n this.virtualItemCount = this.itemCount;\n if (this.mode !== 'CheckBox') {\n this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length :\n this.totalItemCount;\n }\n if (!this.list.querySelector('.e-virtual-ddl')) {\n var virualElement = this.createElement('div', {\n id: this.element.id + '_popup',\n className: 'e-virtual-ddl'\n });\n virualElement.style.cssText = this.GetVirtualTrackHeight();\n this.popupWrapper.querySelector('.e-dropdownbase').appendChild(virualElement);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();\n }\n if (this.list.querySelector('.e-virtual-ddl-content')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();\n }\n }\n }\n }\n this.refreshPlaceHolder();\n this.deselectHeader();\n }\n }\n };\n MultiSelect.prototype.findGroupStart = function (target) {\n if (this.enableGroupCheckBox && this.mode === 'CheckBox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n var count = 0;\n var liChecked = 0;\n var liUnchecked = 0;\n var groupValues = void 0;\n if (this.itemTemplate && !target.getElementsByClassName('e-frame').length) {\n while (!target.getElementsByClassName('e-frame').length) {\n target = target.parentElement;\n }\n }\n if (target.classList.contains('e-frame')) {\n target = target.parentElement.parentElement;\n }\n groupValues = this.findGroupAttrtibutes(target, liChecked, liUnchecked, count, 0);\n groupValues = this.findGroupAttrtibutes(target, groupValues[0], groupValues[1], groupValues[2], 1);\n while (!target.classList.contains('e-list-group-item')) {\n if (target.classList.contains('e-list-icon')) {\n target = target.parentElement;\n }\n target = target.previousElementSibling;\n if (target == null) {\n break;\n }\n }\n this.updateCheckBox(target, groupValues[0], groupValues[1], groupValues[2]);\n }\n };\n MultiSelect.prototype.findGroupAttrtibutes = function (listElement, checked, unChecked, count, position) {\n while (!listElement.classList.contains('e-list-group-item')) {\n if (!(this.fields.disabled && this.isDisabledElement(listElement))) {\n if (listElement.classList.contains('e-list-icon')) {\n listElement = listElement.parentElement;\n }\n if (listElement.getElementsByClassName('e-frame')[0].classList.contains('e-check') &&\n listElement.classList.contains('e-list-item')) {\n checked++;\n }\n else if (listElement.classList.contains('e-list-item')) {\n unChecked++;\n }\n count++;\n }\n listElement = position ? listElement.nextElementSibling : listElement.previousElementSibling;\n if (listElement == null) {\n break;\n }\n }\n return [checked, unChecked, count];\n };\n MultiSelect.prototype.updateCheckBox = function (groupHeader, checked, unChecked, count) {\n if (groupHeader === null || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.disabled) && count === 0)) {\n return;\n }\n var checkBoxElement = groupHeader.getElementsByClassName('e-frame')[0];\n if (count === checked) {\n checkBoxElement.classList.remove('e-stop');\n checkBoxElement.classList.add('e-check');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(checkBoxElement, '.' + 'e-list-group-item').classList.add('e-active');\n groupHeader.setAttribute('aria-selected', 'true');\n }\n else if (count === unChecked) {\n checkBoxElement.classList.remove('e-check');\n checkBoxElement.classList.remove('e-stop');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(checkBoxElement, '.' + 'e-list-group-item').classList.remove('e-active');\n groupHeader.setAttribute('aria-selected', 'false');\n }\n else if (this.maximumSelectionLength === checked - 1) {\n checkBoxElement.classList.remove('e-stop');\n groupHeader.setAttribute('aria-selected', 'true');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(checkBoxElement, '.' + 'e-list-group-item').classList.add('e-active');\n checkBoxElement.classList.add('e-check');\n }\n else {\n checkBoxElement.classList.remove('e-check');\n checkBoxElement.classList.add('e-stop');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(checkBoxElement, '.' + 'e-list-group-item').classList.add('e-active');\n groupHeader.setAttribute('aria-selected', 'false');\n }\n };\n MultiSelect.prototype.disableGroupHeader = function () {\n var collection = this.list.querySelectorAll('li.e-list-group-item');\n if (collection) {\n for (var index = 0; index < collection.length; index++) {\n var isDisabled = true;\n var target = collection[index].nextElementSibling;\n while (!target.classList.contains('e-list-group-item')) {\n if (!this.isDisabledElement(target)) {\n isDisabled = false;\n break;\n }\n target = target.nextElementSibling;\n if (target == null) {\n break;\n }\n }\n if (isDisabled) {\n this.disableListItem(collection[index]);\n }\n }\n }\n };\n MultiSelect.prototype.deselectHeader = function () {\n var limit = this.value && this.value.length ? this.value.length : 0;\n var collection = this.list.querySelectorAll('li.e-list-group-item:not(.e-active)');\n if (limit < this.maximumSelectionLength) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(collection, 'e-disable');\n }\n if (limit === this.maximumSelectionLength) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(collection, 'e-disable');\n }\n };\n MultiSelect.prototype.onMouseOver = function (e) {\n var currentLi = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li);\n if (currentLi === null && this.mode === 'CheckBox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)\n && this.enableGroupCheckBox) {\n currentLi = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.group);\n }\n this.addListHover(currentLi);\n };\n MultiSelect.prototype.onMouseLeave = function () {\n this.removeHover();\n };\n MultiSelect.prototype.onListMouseDown = function (e) {\n e.preventDefault();\n this.scrollFocusStatus = true;\n };\n MultiSelect.prototype.onDocumentClick = function (e) {\n if (this.mode !== 'CheckBox') {\n var target = e.target;\n if (!(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '[id=\"' + this.popupObj.element.id + '\"]')) &&\n !this.overAllWrapper.contains(e.target)) {\n this.scrollFocusStatus = false;\n }\n else {\n this.scrollFocusStatus = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge') && (document.activeElement === this.inputElement);\n }\n }\n };\n MultiSelect.prototype.wireListEvents = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown', this.onDocumentClick, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'mousedown', this.onListMouseDown, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'mouseup', this.onMouseClick, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'mouseover', this.onMouseOver, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.list, 'mouseout', this.onMouseLeave, this);\n }\n };\n MultiSelect.prototype.unwireListEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown', this.onDocumentClick);\n if (this.list) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'mousedown', this.onListMouseDown);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'mouseup', this.onMouseClick);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'mouseover', this.onMouseOver);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.list, 'mouseout', this.onMouseLeave);\n }\n };\n MultiSelect.prototype.hideOverAllClear = function () {\n if (!this.value || !this.value.length || this.inputElement.value === '') {\n this.overAllClear.style.display = 'none';\n }\n };\n MultiSelect.prototype.showOverAllClear = function () {\n if (((this.value && this.value.length) || this.inputElement.value !== '') && this.showClearButton && this.readonly !== true) {\n this.overAllClear.style.display = '';\n }\n else {\n this.overAllClear.style.display = 'none';\n }\n };\n /**\n * Sets the focus to widget for interaction.\n *\n * @returns {void}\n */\n MultiSelect.prototype.focusIn = function () {\n if (document.activeElement !== this.inputElement && this.enabled) {\n this.inputElement.focus();\n }\n };\n /**\n * Remove the focus from widget, if the widget is in focus state.\n *\n * @returns {void}\n */\n MultiSelect.prototype.focusOut = function () {\n if (document.activeElement === this.inputElement && this.enabled) {\n this.inputElement.blur();\n }\n };\n /**\n * Shows the spinner loader.\n *\n * @returns {void}\n */\n MultiSelect.prototype.showSpinner = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinnerElement)) {\n var filterClear = this.filterParent && this.filterParent.querySelector('.e-clear-icon.e-icons');\n if (this.overAllClear.style.display !== 'none' || filterClear) {\n this.spinnerElement = filterClear ? filterClear : this.overAllClear;\n }\n else {\n this.spinnerElement = this.createElement('span', { className: CLOSEICON_CLASS + ' ' + SPINNER_CLASS });\n this.componentWrapper.appendChild(this.spinnerElement);\n }\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_10__.createSpinner)({ target: this.spinnerElement, width: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? '16px' : '14px' }, this.createElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.spinnerElement], DISABLE_ICON);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_10__.showSpinner)(this.spinnerElement);\n }\n };\n /**\n * Hides the spinner loader.\n *\n * @returns {void}\n */\n MultiSelect.prototype.hideSpinner = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinnerElement)) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_10__.hideSpinner)(this.spinnerElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.spinnerElement], DISABLE_ICON);\n if (this.spinnerElement.classList.contains(SPINNER_CLASS)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.spinnerElement);\n }\n else {\n this.spinnerElement.innerHTML = '';\n }\n this.spinnerElement = null;\n }\n };\n MultiSelect.prototype.updateWrapperText = function (wrapperType, wrapperData) {\n if (this.valueTemplate || !this.enableHtmlSanitizer) {\n wrapperType.innerHTML = this.encodeHtmlEntities(wrapperData);\n }\n else {\n wrapperType.innerText = wrapperData;\n }\n };\n MultiSelect.prototype.updateDelimView = function () {\n if (this.delimiterWrapper) {\n this.hideDelimWrapper();\n }\n if (this.chipCollectionWrapper) {\n this.chipCollectionWrapper.style.display = 'none';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.viewWrapper)) {\n this.viewWrapper.style.display = '';\n this.viewWrapper.style.width = '';\n this.viewWrapper.classList.remove(TOTAL_COUNT_WRAPPER);\n }\n if (this.value && this.value.length) {\n var data = '';\n var temp = void 0;\n var tempData = void 0;\n var tempIndex = 1;\n var wrapperleng = void 0;\n var remaining = void 0;\n var downIconWidth = 0;\n var overAllContainer = void 0;\n if (!this.enableVirtualization) {\n this.updateWrapperText(this.viewWrapper, data);\n }\n var l10nLocale = {\n noRecordsTemplate: 'No records found',\n actionFailureTemplate: 'Request failed',\n overflowCountTemplate: '+${count} more..',\n totalCountTemplate: '${count} selected'\n };\n var l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getLocaleName(), l10nLocale, this.locale);\n if (l10n.getConstant('actionFailureTemplate') === '') {\n l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('dropdowns', l10nLocale, this.locale);\n }\n if (l10n.getConstant('noRecordsTemplate') === '') {\n l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('dropdowns', l10nLocale, this.locale);\n }\n var remainContent = l10n.getConstant('overflowCountTemplate');\n var totalContent = l10n.getConstant('totalCountTemplate');\n var raminElement = this.createElement('span', {\n className: REMAIN_WRAPPER\n });\n var remainCompildTemp = remainContent.replace('${count}', this.value.length.toString());\n raminElement.innerText = remainCompildTemp;\n this.viewWrapper.appendChild(raminElement);\n this.renderReactTemplates();\n var remainSize = raminElement.offsetWidth;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(raminElement);\n if (this.showDropDownIcon) {\n downIconWidth = this.dropIcon.offsetWidth + parseInt(window.getComputedStyle(this.dropIcon).marginRight, 10);\n }\n this.checkClearIconWidth();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && (this.allowCustomValue || (this.listData && this.listData.length > 0))) {\n for (var index = 0; !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value[index]); index++) {\n var items = this.text && this.text.split(this.delimiterChar);\n if (!this.enableVirtualization) {\n data += (index === 0) ? '' : this.delimiterChar + ' ';\n temp = this.getOverflowVal(index);\n data += temp;\n temp = this.viewWrapper.innerHTML;\n this.updateWrapperText(this.viewWrapper, data);\n }\n else if (items) {\n data += (index === 0) ? '' : this.delimiterChar + ' ';\n temp = items[index];\n data += temp;\n temp = this.viewWrapper.innerHTML;\n this.updateWrapperText(this.viewWrapper, data);\n }\n wrapperleng = this.viewWrapper.offsetWidth +\n parseInt(window.getComputedStyle(this.viewWrapper).paddingRight, 10);\n overAllContainer = this.componentWrapper.offsetWidth -\n parseInt(window.getComputedStyle(this.componentWrapper).paddingLeft, 10) -\n parseInt(window.getComputedStyle(this.componentWrapper).paddingRight, 10);\n if ((wrapperleng + downIconWidth + this.clearIconWidth) > overAllContainer) {\n if (tempData !== undefined && tempData !== '') {\n temp = tempData;\n index = tempIndex + 1;\n }\n this.updateWrapperText(this.viewWrapper, temp);\n remaining = this.value.length - index;\n wrapperleng = this.viewWrapper.offsetWidth +\n parseInt(window.getComputedStyle(this.viewWrapper).paddingRight, 10);\n while (((wrapperleng + remainSize + downIconWidth + this.clearIconWidth) > overAllContainer) && wrapperleng !== 0\n && this.viewWrapper.innerHTML !== '') {\n var textArr = [];\n this.viewWrapper.innerHTML = textArr.join(this.delimiterChar);\n remaining = this.value.length;\n wrapperleng = this.viewWrapper.offsetWidth +\n parseInt(window.getComputedStyle(this.viewWrapper).paddingRight, 10);\n }\n break;\n }\n else if ((wrapperleng + remainSize + downIconWidth + this.clearIconWidth) <= overAllContainer) {\n tempData = data;\n tempIndex = index;\n }\n else if (index === 0) {\n tempData = '';\n tempIndex = -1;\n }\n }\n }\n if (remaining > 0) {\n var totalWidth = overAllContainer - downIconWidth - this.clearIconWidth;\n this.viewWrapper.appendChild(this.updateRemainTemplate(raminElement, this.viewWrapper, remaining, remainContent, totalContent, totalWidth));\n this.updateRemainWidth(this.viewWrapper, totalWidth);\n this.updateRemainingText(raminElement, downIconWidth, remaining, remainContent, totalContent);\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.viewWrapper)) {\n this.viewWrapper.innerHTML = '';\n this.viewWrapper.style.display = 'none';\n }\n }\n };\n MultiSelect.prototype.checkClearIconWidth = function () {\n if (this.showClearButton) {\n this.clearIconWidth = this.overAllClear.offsetWidth;\n }\n };\n MultiSelect.prototype.updateRemainWidth = function (viewWrapper, totalWidth) {\n if (viewWrapper.classList.contains(TOTAL_COUNT_WRAPPER) && totalWidth < (viewWrapper.offsetWidth +\n parseInt(window.getComputedStyle(viewWrapper).paddingLeft, 10)\n + parseInt(window.getComputedStyle(viewWrapper).paddingLeft, 10))) {\n viewWrapper.style.width = totalWidth + 'px';\n }\n };\n MultiSelect.prototype.updateRemainTemplate = function (raminElement, viewWrapper, remaining, remainContent, totalContent, totalWidth) {\n if (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3 && viewWrapper.firstChild.nodeValue === '') {\n viewWrapper.removeChild(viewWrapper.firstChild);\n }\n raminElement.innerHTML = '';\n var remainTemp = remainContent.replace('${count}', remaining.toString());\n var totalTemp = totalContent.replace('${count}', remaining.toString());\n raminElement.innerText = (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) ? remainTemp : totalTemp;\n if (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) {\n viewWrapper.classList.remove(TOTAL_COUNT_WRAPPER);\n }\n else {\n viewWrapper.classList.add(TOTAL_COUNT_WRAPPER);\n this.updateRemainWidth(viewWrapper, totalWidth);\n }\n return raminElement;\n };\n MultiSelect.prototype.updateRemainingText = function (raminElement, downIconWidth, remaining, remainContent, totalContent) {\n var overAllContainer = this.componentWrapper.offsetWidth -\n parseInt(window.getComputedStyle(this.componentWrapper).paddingLeft, 10) -\n parseInt(window.getComputedStyle(this.componentWrapper).paddingRight, 10);\n var wrapperleng = this.viewWrapper.offsetWidth + parseInt(window.getComputedStyle(this.viewWrapper).paddingRight, 10);\n if (((wrapperleng + downIconWidth) >= overAllContainer) && wrapperleng !== 0 && this.viewWrapper.firstChild &&\n this.viewWrapper.firstChild.nodeType === 3) {\n while (((wrapperleng + downIconWidth) > overAllContainer) && wrapperleng !== 0 && this.viewWrapper.firstChild &&\n this.viewWrapper.firstChild.nodeType === 3) {\n var textArr = this.viewWrapper.firstChild.nodeValue.split(this.delimiterChar);\n textArr.pop();\n this.viewWrapper.firstChild.nodeValue = textArr.join(this.delimiterChar);\n if (this.viewWrapper.firstChild.nodeValue === '') {\n this.viewWrapper.removeChild(this.viewWrapper.firstChild);\n }\n remaining++;\n wrapperleng = this.viewWrapper.offsetWidth;\n }\n var totalWidth = overAllContainer - downIconWidth;\n this.updateRemainTemplate(raminElement, this.viewWrapper, remaining, remainContent, totalContent, totalWidth);\n }\n };\n MultiSelect.prototype.getOverflowVal = function (index) {\n var temp;\n if (this.mainData && this.mainData.length) {\n var value = this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value[index]) : this.value[index];\n if (this.mode === 'CheckBox') {\n var newTemp = this.listData;\n this.listData = this.mainData;\n temp = this.getTextByValue(value);\n this.listData = newTemp;\n }\n else {\n temp = this.getTextByValue(value);\n }\n }\n else {\n temp = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(((this.fields.value) ? this.fields.value : ''), this.value[index]) :\n this.value[index];\n }\n return temp;\n };\n MultiSelect.prototype.unWireEvent = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.componentWrapper)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.componentWrapper, 'mousedown', this.wrapperClick);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'resize', this.windowResize);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'focus', this.focusInHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keydown', this.onKeyDown);\n if (this.mode !== 'CheckBox') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'input', this.onInput);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'keyup', this.keyUp);\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.inputElement, 'form');\n if (formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(formElement, 'reset', this.resetValueHandler);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'blur', this.onBlurHandler);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.componentWrapper)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.componentWrapper, 'mouseover', this.mouseIn);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.componentWrapper, 'mouseout', this.mouseOut);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllClear)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.overAllClear, 'mousedown', this.clearAll);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.inputElement, 'paste', this.pasteHandler);\n }\n };\n MultiSelect.prototype.resizingWireEvent = function () {\n // Mouse events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousemove', this.resizePopup, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mouseup', this.stopResizing, this);\n // Touch events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'touchmove', this.resizePopup, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'touchend', this.stopResizing, this);\n };\n MultiSelect.prototype.resizingUnWireEvent = function () {\n // Mouse events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousemove', this.resizePopup);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', this.stopResizing);\n // Touch events\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'touchmove', this.resizePopup);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'touchend', this.stopResizing);\n };\n MultiSelect.prototype.selectAllItem = function (state, event, list) {\n var li;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n li = this.list.querySelectorAll(state ?\n 'li.e-list-item:not([aria-selected=\"true\"]):not(.e-reorder-hide):not(.e-disabled):not(.e-virtual-list)' :\n 'li.e-list-item[aria-selected=\"true\"]:not(.e-reorder-hide):not(.e-disabled):not(.e-virtual-list)');\n }\n if (this.value && this.value.length && event && event.target\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.e-close-hooker') && this.allowFiltering) {\n li = this.mainList.querySelectorAll(state ?\n 'li.e-list-item:not([aria-selected=\"true\"]):not(.e-reorder-hide):not(.e-disabled):not(.e-virtual-list)' :\n 'li.e-list-item[aria-selected=\"true\"]:not(.e-reorder-hide):not(.e-disabled):not(.e-virtual-list)');\n }\n if (this.enableGroupCheckBox && this.mode === 'CheckBox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n var target = (event ? (this.groupTemplate ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.e-list-group-item') : event.target) : null);\n target = (event && event.keyCode === 32) ? list : target;\n target = (target && target.classList.contains('e-frame')) ? target.parentElement.parentElement : target;\n if (target && target.classList.contains('e-list-group-item')) {\n var listElement = target.nextElementSibling;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(listElement)) {\n return;\n }\n while (listElement.classList.contains('e-list-item')) {\n if (!(this.fields.disabled && this.isDisabledElement(listElement))) {\n if (state) {\n if (!listElement.firstElementChild.lastElementChild.classList.contains('e-check')) {\n var selectionLimit = this.value && this.value.length ? this.value.length : 0;\n if (listElement.classList.contains('e-active')) {\n selectionLimit -= 1;\n }\n if (selectionLimit < this.maximumSelectionLength) {\n this.updateListSelection(listElement, event);\n }\n }\n }\n else {\n if (listElement.firstElementChild.lastElementChild.classList.contains('e-check')) {\n this.updateListSelection(listElement, event);\n }\n }\n }\n listElement = listElement.nextElementSibling;\n if (listElement == null) {\n break;\n }\n }\n if (target.classList.contains('e-list-group-item')) {\n var focusedElement = this.list.getElementsByClassName('e-item-focus')[0];\n if (focusedElement) {\n focusedElement.classList.remove('e-item-focus');\n }\n if (state) {\n target.classList.add('e-active');\n }\n else {\n target.classList.remove('e-active');\n }\n target.classList.add('e-item-focus');\n this.updateAriaActiveDescendant();\n }\n this.textboxValueUpdate();\n this.checkPlaceholderSize();\n if (!this.changeOnBlur && event) {\n this.updateValueState(event, this.value, this.tempValues);\n }\n }\n else {\n this.updateValue(event, li, state);\n }\n }\n else {\n this.updateValue(event, li, state);\n }\n this.addValidInputClass();\n };\n MultiSelect.prototype.virtualSelectionAll = function (state, li, event) {\n var _this = this;\n var index = 0;\n var length = li.length;\n var count = this.maximumSelectionLength;\n if (state) {\n this.virtualSelectAll = true;\n length = this.virtualSelectAllData && this.virtualSelectAllData.length !== 0 ? this.virtualSelectAllData.length : length;\n this.listData = this.virtualSelectAllData;\n var ulElement = this.createListItems(this.virtualSelectAllData.slice(0, 30), this.fields);\n var firstItems = ulElement.querySelectorAll('li');\n var fragment_1 = document.createDocumentFragment();\n firstItems.forEach(function (node) {\n fragment_1.appendChild(node.cloneNode(true));\n });\n li.forEach(function (node) {\n fragment_1.appendChild(node.cloneNode(true));\n });\n var concatenatedNodeList = fragment_1.childNodes;\n if (this.virtualSelectAllData instanceof Array) {\n while (index < length && index <= 50 && index < count) {\n this.isSelectAllTarget = (length === index + 1);\n if (concatenatedNodeList[index]) {\n var value = this.allowObjectBinding\n ? this.getDataByValue(concatenatedNodeList[index].getAttribute('data-value'))\n : this.getFormattedValue(concatenatedNodeList[index].getAttribute('data-value'));\n if (((!this.allowObjectBinding && this.value && this.value.indexOf(value) >= 0) ||\n (this.allowObjectBinding && this.indexOfObjectInArray(value, this.value) >= 0))) {\n index++;\n continue;\n }\n this.updateListSelection(concatenatedNodeList[index], event, length - index);\n }\n else {\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(this.fields.value ? this.fields.value : '', this.virtualSelectAllData[index]);\n value = this.allowObjectBinding ? this.getDataByValue(value) : value;\n if (((!this.allowObjectBinding && this.value && this.value.indexOf(value) >= 0) ||\n (this.allowObjectBinding && this.indexOfObjectInArray(value, this.value) >= 0))) {\n index++;\n continue;\n }\n if (this.value && value != null && Array.isArray(this.value) &&\n ((!this.allowObjectBinding && this.value.indexOf(value) < 0) ||\n (this.allowObjectBinding && !this.isObjectInArray(value, this.value)))) {\n this.dispatchSelect(value, event, null, false, length);\n }\n }\n index++;\n }\n if (length > 50) {\n setTimeout(function () {\n if (_this.virtualSelectAllData && _this.virtualSelectAllData.length > 0) {\n _this.virtualSelectAllData.map(function (obj) {\n if (_this.value && obj[_this.fields.value] != null && Array.isArray(_this.value) &&\n ((!_this.allowObjectBinding && _this.value.indexOf(obj[_this.fields.value]) < 0) ||\n (_this.allowObjectBinding && !_this.isObjectInArray(obj[_this.fields.value], _this.value)))) {\n var value = obj[_this.fields.value];\n var text = (obj[_this.fields.text]).toString();\n _this.dispatchSelect(value, event, null, false, length, obj, text);\n }\n });\n }\n _this.updatedataValueItems(event);\n _this.isSelectAllLoop = false;\n if (!_this.changeOnBlur) {\n _this.updateValueState(event, _this.value, _this.tempValues);\n _this.isSelectAll = _this.isSelectAll ? !_this.isSelectAll : _this.isSelectAll;\n }\n _this.updateHiddenElement(true);\n if (_this.popupWrapper && li[index - 1] && li[index - 1].classList.contains('e-item-focus')) {\n var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];\n if (selectAllParent && selectAllParent.classList.contains('e-item-focus')) {\n li[index - 1].classList.remove('e-item-focus');\n }\n }\n }, 0);\n }\n }\n }\n else {\n if (this.virtualSelectAllData && this.virtualSelectAllData.length > 0) {\n this.virtualSelectAllData.map(function (obj) {\n _this.virtualSelectAll = true;\n _this.removeValue(_this.value[index], event, _this.value.length - index);\n });\n }\n this.updatedataValueItems(event);\n if (!this.changeOnBlur) {\n this.updateValueState(event, this.value, this.tempValues);\n this.isSelectAll = this.isSelectAll ? !this.isSelectAll : this.isSelectAll;\n }\n this.updateHiddenElement();\n this.setProperties({ value: [] }, true);\n this.virtualSelectAll = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.viewPortInfo.startIndex) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.viewPortInfo.endIndex)) {\n this.notify('setCurrentViewDataAsync', {\n component: this.getModuleName(),\n module: 'VirtualScroll'\n });\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var virtualTrackElement = this.list.getElementsByClassName('e-virtual-ddl')[0];\n if (virtualTrackElement) {\n virtualTrackElement.style = this.GetVirtualTrackHeight();\n }\n this.UpdateSkeleton();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var virtualContentElement = this.list.getElementsByClassName('e-virtual-ddl-content')[0];\n if (virtualContentElement) {\n virtualContentElement.style = this.getTransformValues();\n }\n };\n MultiSelect.prototype.updateValue = function (event, li, state) {\n var _this = this;\n var length = li.length;\n var beforeSelectArgs = {\n event: event,\n items: state ? li : [],\n itemData: state ? this.listData : [],\n isInteracted: event ? true : false,\n isChecked: state,\n preventSelectEvent: false\n };\n this.trigger('beforeSelectAll', beforeSelectArgs);\n if ((li && li.length) || (this.enableVirtualization && !state)) {\n var index_1 = 0;\n var count_1 = 0;\n if (this.enableGroupCheckBox) {\n count_1 = state ? this.maximumSelectionLength - (this.value ? this.value.length : 0) : li.length;\n }\n else {\n count_1 = state ? this.maximumSelectionLength - (this.value ? this.value.length : 0) : this.maximumSelectionLength;\n }\n if (!beforeSelectArgs.preventSelectEvent) {\n if (this.enableVirtualization) {\n this.virtualSelectAllState = state;\n this.virtualSelectAll = true;\n this.CurrentEvent = event;\n if (!this.virtualSelectAllData) {\n this.resetList(this.dataSource, this.fields, new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query());\n }\n if (this.virtualSelectAllData) {\n this.virtualSelectionAll(state, li, event);\n }\n }\n else {\n while (index_1 < length && index_1 <= 50 && index_1 < count_1) {\n this.isSelectAllTarget = (length === index_1 + 1);\n this.updateListSelection(li[index_1], event, length - index_1);\n if (this.enableGroupCheckBox) {\n this.findGroupStart(li[index_1]);\n }\n index_1++;\n }\n if (length > 50) {\n setTimeout(function () {\n while (index_1 < length && index_1 < count_1) {\n _this.isSelectAllTarget = (length === index_1 + 1);\n _this.updateListSelection(li[index_1], event, length - index_1);\n if (_this.enableGroupCheckBox) {\n _this.findGroupStart(li[index_1]);\n }\n index_1++;\n }\n _this.updatedataValueItems(event);\n if (!_this.changeOnBlur) {\n _this.updateValueState(event, _this.value, _this.tempValues);\n _this.isSelectAll = _this.isSelectAll ? !_this.isSelectAll : _this.isSelectAll;\n }\n _this.updateHiddenElement();\n if (_this.popupWrapper && li[index_1 - 1].classList.contains('e-item-focus')) {\n var selectAllParent = document.getElementsByClassName('e-selectall-parent')[0];\n if (selectAllParent && selectAllParent.classList.contains('e-item-focus')) {\n li[index_1 - 1].classList.remove('e-item-focus');\n }\n }\n }, 0);\n }\n }\n }\n else {\n for (var i = 0; i < li.length && i < count_1; i++) {\n this.removeHover();\n var customVal = li[i].getAttribute('data-value');\n var value = this.getFormattedValue(customVal);\n value = this.allowObjectBinding ? this.getDataByValue(value) : value;\n var mainElement = this.mainList ? this.mainList.querySelectorAll(state ?\n 'li.e-list-item:not([aria-selected=\"true\"]):not(.e-reorder-hide)' :\n 'li.e-list-item[aria-selected=\"true\"]:not(.e-reorder-hide)')[i] : null;\n if (state) {\n this.value = !this.value ? [] : this.value;\n if ((!this.allowObjectBinding && this.value.indexOf(value) < 0) ||\n (this.allowObjectBinding && !this.isObjectInArray(value, this.value))) {\n this.setProperties({ value: [].concat([], this.value, [value]) }, true);\n }\n this.removeFocus();\n this.addListSelection(li[i], mainElement);\n this.updateChipStatus();\n this.checkMaxSelection();\n }\n else {\n this.removeAllItems(value, event, false, li[i], mainElement);\n }\n if (this.enableGroupCheckBox) {\n this.findGroupStart(li[i]);\n }\n }\n if (!state) {\n var limit = this.value && this.value.length ? this.value.length : 0;\n if (limit < this.maximumSelectionLength) {\n var collection = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + ':not(.e-active)');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(collection, 'e-disable');\n }\n }\n var args = {\n event: event,\n items: state ? li : [],\n itemData: state ? this.listData : [],\n isInteracted: event ? true : false,\n isChecked: state\n };\n this.trigger('selectedAll', args);\n }\n }\n this.updatedataValueItems(event);\n this.checkPlaceholderSize();\n if (length <= 50 && !beforeSelectArgs.preventSelectEvent) {\n if (!this.changeOnBlur) {\n this.updateValueState(event, this.value, this.tempValues);\n this.isSelectAll = this.isSelectAll ? !this.isSelectAll : this.isSelectAll;\n }\n if ((this.enableVirtualization && this.value && this.value.length > 0) || !this.enableVirtualization) {\n this.updateHiddenElement();\n }\n }\n };\n MultiSelect.prototype.updateHiddenElement = function (isVirtualSelectAll) {\n var _this = this;\n var hiddenValue = '';\n var wrapperText = '';\n var data = '';\n var text = [];\n if (this.mode === 'CheckBox') {\n this.value.map(function (value, index) {\n hiddenValue += '';\n if (!isVirtualSelectAll) {\n if (_this.listData) {\n data = _this.getTextByValue(value);\n }\n else {\n data = value;\n }\n wrapperText += data + _this.delimiterChar + ' ';\n text.push(data);\n }\n });\n this.hiddenElement.innerHTML = hiddenValue;\n if (!isVirtualSelectAll) {\n this.updateWrapperText(this.delimiterWrapper, wrapperText);\n this.setProperties({ text: text.toString() }, true);\n }\n this.delimiterWrapper.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('delim_val'));\n this.inputElement.setAttribute('aria-describedby', this.delimiterWrapper.id);\n this.refreshInputHight();\n this.refreshPlaceHolder();\n }\n };\n MultiSelect.prototype.updatedataValueItems = function (event) {\n this.deselectHeader();\n this.textboxValueUpdate(event);\n };\n MultiSelect.prototype.textboxValueUpdate = function (event) {\n var isRemoveAll = event && event.target && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.e-selectall-parent')\n || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(event.target, '.e-close-hooker'));\n if (this.mode !== 'Box' && !this.isPopupOpen() && !(this.mode === 'CheckBox' && (this.isSelectAll || isRemoveAll))) {\n this.updateDelimView();\n }\n else {\n this.searchWrapper.classList.remove(ZERO_SIZE);\n }\n if (this.mode === 'CheckBox') {\n this.updateDelimView();\n if ((!(isRemoveAll || this.isSelectAll) && this.isSelectAllTarget) || (this.isSelectAll && this.isSelectAllTarget)) {\n this.updateDelimeter(this.delimiterChar, event);\n }\n this.refreshInputHight();\n }\n else {\n this.updateDelimeter(this.delimiterChar, event);\n }\n this.refreshPlaceHolder();\n };\n MultiSelect.prototype.setZIndex = function () {\n if (this.popupObj) {\n this.popupObj.setProperties({ 'zIndex': this.zIndex });\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n MultiSelect.prototype.updateDataSource = function (prop) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n this.renderPopup();\n }\n else {\n this.resetList(this.dataSource);\n }\n if (this.value && this.value.length) {\n this.setProperties({ 'value': this.value });\n this.refreshSelection();\n }\n };\n MultiSelect.prototype.onLoadSelect = function () {\n this.setDynValue = true;\n this.renderPopup();\n };\n MultiSelect.prototype.selectAllItems = function (state, event) {\n var _this = this;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list)) {\n this.selectAllAction = function () {\n if (_this.mode === 'CheckBox' && _this.showSelectAll) {\n var args = {\n module: 'CheckBoxSelection',\n enable: _this.mode === 'CheckBox',\n value: state ? 'check' : 'uncheck'\n };\n _this.notify('checkSelectAll', args);\n }\n _this.selectAllItem(state, event);\n _this.selectAllAction = null;\n };\n _super.prototype.render.call(this);\n }\n else {\n this.selectAllAction = null;\n if (this.mode === 'CheckBox' && this.showSelectAll) {\n var args = {\n value: state ? 'check' : 'uncheck',\n enable: this.mode === 'CheckBox',\n module: 'CheckBoxSelection'\n };\n this.notify('checkSelectAll', args);\n }\n this.selectAllItem(state, event);\n }\n if (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) || (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && this.virtualSelectAllData)) {\n this.virtualSelectAll = false;\n }\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} Returns the persisted data of the component.\n */\n MultiSelect.prototype.getPersistData = function () {\n return this.addOnPersist(['value']);\n };\n /**\n * Dynamically change the value of properties.\n *\n * @param {MultiSelectModel} newProp - Returns the dynamic property value of the component.\n * @param {MultiSelectModel} oldProp - Returns the previous property value of the component.\n * @private\n * @returns {void}\n */\n MultiSelect.prototype.onPropertyChanged = function (newProp, oldProp) {\n if (newProp.dataSource && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(Object.keys(newProp.dataSource))\n || newProp.query && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(Object.keys(newProp.query))) {\n this.mainList = null;\n this.mainData = null;\n this.isFirstClick = false;\n this.isDynamicDataChange = true;\n }\n if (this.getModuleName() === 'multiselect') {\n this.filterAction = false;\n this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp);\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'query':\n case 'dataSource':\n if (this.mode === 'CheckBox' && this.showSelectAll) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj)) {\n this.popupObj.destroy();\n this.popupObj = null;\n }\n this.renderPopup();\n }\n break;\n case 'htmlAttributes':\n this.updateHTMLAttribute();\n break;\n case 'showClearButton':\n this.updateClearButton(newProp.showClearButton);\n break;\n case 'text':\n if (this.fields.disabled) {\n this.text =\n this.text && !this.isDisabledItemByIndex(this.getIndexByValue(this.getValueByText(this.text))) ? this.text : null;\n }\n this.updateVal(this.value, this.value, 'text');\n break;\n case 'value':\n if (this.fields.disabled) {\n this.removeDisabledItemsValue(this.value);\n }\n this.updateVal(this.value, oldProp.value, 'value');\n this.addValidInputClass();\n if (!this.closePopupOnSelect && this.isPopupOpen()) {\n this.refreshPopup();\n }\n if (this.isPopupOpen() && this.mode === 'CheckBox' && this.list && this.list.querySelector('.e-active.e-disable')) {\n var activeItems = this.list.querySelectorAll('li.' + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + '.e-active' + '.e-disable');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(activeItems, 'e-disable');\n }\n this.preventChange = this.isAngular && this.preventChange ? !this.preventChange : this.preventChange;\n break;\n case 'width':\n this.setWidth(newProp.width);\n this.popupObj.setProperties({ width: this.calcPopupWidth() });\n break;\n case 'placeholder':\n this.refreshPlaceHolder();\n break;\n case 'filterBarPlaceholder':\n if (this.allowFiltering) {\n this.notify('filterBarPlaceholder', { filterBarPlaceholder: newProp.filterBarPlaceholder });\n }\n break;\n case 'delimiterChar':\n if (this.mode !== 'Box') {\n this.updateDelimView();\n }\n this.updateData(newProp.delimiterChar);\n break;\n case 'cssClass':\n this.updateOldPropCssClass(oldProp.cssClass);\n this.updateCssClass();\n this.calculateWidth();\n break;\n case 'enableRtl':\n this.enableRTL(newProp.enableRtl);\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n break;\n case 'allowResize':\n this.allowResize = newProp.allowResize;\n if (!this.allowResize && this.popupObj) {\n var overAllHeight = parseInt(this.popupHeight, 10);\n if (this.popupHeight !== 'auto') {\n this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(overAllHeight);\n this.popupWrapper.style.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n this.popupWrapper.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n }\n else {\n this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n }\n }\n break;\n case 'readonly':\n this.updateReadonly(newProp.readonly);\n this.hidePopup();\n break;\n case 'enabled':\n this.hidePopup();\n this.enable(newProp.enabled);\n break;\n case 'showSelectAll':\n if (this.popupObj) {\n this.popupObj.destroy();\n this.popupObj = null;\n }\n this.renderPopup();\n break;\n case 'showDropDownIcon':\n this.dropDownIcon();\n break;\n case 'floatLabelType':\n this.setFloatLabelType();\n this.addValidInputClass();\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_7__.Input.createSpanElement(this.overAllWrapper, this.createElement);\n this.calculateWidth();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');\n }\n break;\n case 'enableSelectionOrder':\n break;\n case 'selectAllText':\n this.notify('selectAllText', false);\n break;\n case 'popupHeight':\n if (this.popupObj) {\n var overAllHeight = parseInt(this.popupHeight, 10);\n if (this.popupHeight !== 'auto') {\n this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(overAllHeight);\n this.popupWrapper.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n }\n else {\n this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n }\n }\n break;\n case 'headerTemplate':\n case 'footerTemplate':\n this.reInitializePoup();\n break;\n case 'allowFiltering':\n if (this.mode === 'CheckBox' && this.popupObj) {\n this.reInitializePoup();\n }\n this.updateSelectElementData(this.allowFiltering);\n break;\n case 'fields':\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n this.removeScrollEvent();\n }\n break;\n default:\n {\n var msProps = this.getPropObject(prop, newProp, oldProp);\n _super.prototype.onPropertyChanged.call(this, msProps.newProperty, msProps.oldProperty);\n }\n break;\n }\n }\n };\n MultiSelect.prototype.reInitializePoup = function () {\n if (this.popupObj) {\n this.popupObj.destroy();\n this.popupObj = null;\n }\n this.renderPopup();\n };\n MultiSelect.prototype.totalItemsCount = function () {\n var dataSourceCount;\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) {\n if (this.remoteDataCount >= 0) {\n dataSourceCount = this.totalItemCount = this.dataCount = this.remoteDataCount;\n }\n else {\n this.resetList(this.dataSource);\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataSourceCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;\n }\n if (this.mode === 'CheckBox') {\n this.totalItemCount = dataSourceCount !== 0 ? dataSourceCount : this.totalItemCount;\n }\n else {\n if (this.hideSelectedItem) {\n this.totalItemCount = dataSourceCount !== 0 && this.value ? dataSourceCount - this.value.length : this.totalItemCount;\n if (this.allowCustomValue && this.virtualCustomSelectData && this.virtualCustomSelectData.length > 0) {\n for (var i = 0; i < this.virtualCustomSelectData.length; i++) {\n for (var j = 0; j < this.value.length; j++) {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', this.value[j]) : this.value[j];\n var customValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', this.virtualCustomSelectData[i]);\n if (value === customValue) {\n this.totalItemCount += 1;\n }\n }\n }\n }\n }\n else {\n this.totalItemCount = dataSourceCount !== 0 ? dataSourceCount : this.totalItemCount;\n if (this.allowCustomValue && this.virtualCustomSelectData && this.virtualCustomSelectData.length > 0) {\n this.totalItemCount += this.virtualCustomSelectData.length;\n }\n }\n }\n };\n MultiSelect.prototype.presentItemValue = function (ulElement) {\n var valuecheck = [];\n for (var i = 0; i < this.value.length; i++) {\n var value = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', this.value[i]) : this.value[i];\n var checkEle = this.findListElement(((this.allowFiltering && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', value);\n if (!checkEle) {\n var checkvalue = this.allowObjectBinding ?\n this.getDataByValue(this.value[i]) : this.value[i];\n valuecheck.push(checkvalue);\n }\n }\n return valuecheck;\n };\n MultiSelect.prototype.addNonPresentItems = function (valuecheck, ulElement, list, event) {\n var _this = this;\n this.dataSource.executeQuery(this.getForQuery(valuecheck)).then(function (e) {\n if (e.result.length > 0) {\n _this.addItem(e.result, list.length);\n }\n _this.updateActionList(ulElement, list, event);\n });\n };\n MultiSelect.prototype.updateVal = function (newProp, oldProp, prop) {\n if (!this.list) {\n this.onLoadSelect();\n }\n else if ((this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) && (!this.listData || !(this.mainList && this.mainData))) {\n this.onLoadSelect();\n }\n else {\n var valuecheck = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && !this.allowCustomValue) {\n valuecheck = this.presentItemValue(this.ulElement);\n }\n if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)\n && this.listData != null) {\n this.mainData = null;\n this.setDynValue = true;\n this.isaddNonPresentItems = true;\n this.addNonPresentItems(valuecheck, this.ulElement, this.listData);\n this.isaddNonPresentItems = false;\n }\n else {\n if (prop === 'text') {\n this.initialTextUpdate();\n newProp = this.value;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value.length === 0) {\n this.tempValues = oldProp;\n }\n // eslint-disable-next-line\n if (this.allowCustomValue && (this.mode === 'Default' || this.mode === 'Box') && this.isReact && this.inputFocus\n && this.isPopupOpen() && this.mainData !== this.listData) {\n var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;\n this.onActionComplete(list, this.mainData);\n }\n if (!this.enableVirtualization) {\n this.initialValueUpdate();\n }\n else if (this.enableVirtualization && (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager))) {\n this.initialValueUpdate(this.dataSource, true);\n }\n else if (!this.isInitRemoteVirtualData) {\n this.isDynamicRemoteVirtualData = true;\n this.initialValueUpdate(this.listData, true);\n this.isDynamicRemoteVirtualData = false;\n this.initialUpdate();\n }\n if (this.mode !== 'Box' && !this.inputFocus) {\n this.updateDelimView();\n }\n if (!this.inputFocus) {\n this.refreshInputHight();\n }\n this.refreshPlaceHolder();\n if (this.mode !== 'CheckBox' && this.changeOnBlur) {\n this.updateValueState(null, newProp, oldProp);\n }\n this.checkPlaceholderSize();\n }\n }\n if (!this.changeOnBlur) {\n this.updateValueState(null, newProp, oldProp);\n }\n };\n /**\n * Adds a new item to the multiselect popup list. By default, new item appends to the list as the last item,\n * but you can insert based on the index parameter.\n *\n * @param { Object[] } items - Specifies an array of JSON data or a JSON data.\n * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.\n * @returns {void}\n */\n MultiSelect.prototype.addItem = function (items, itemIndex) {\n _super.prototype.addItem.call(this, items, itemIndex);\n };\n /**\n * Hides the popup, if the popup in a open state.\n *\n * @param {MouseEvent | KeyboardEventArgs} e - Specifies the mouse event or keyboard event.\n * @returns {void}\n */\n MultiSelect.prototype.hidePopup = function (e) {\n var _this = this;\n var delay = 100;\n if (this.isPopupOpen()) {\n var animModel = {\n name: 'FadeOut',\n duration: 100,\n delay: delay ? delay : 0\n };\n this.customFilterQuery = null;\n var eventArgs = { popup: this.popupObj, cancel: false, animation: animModel, event: e || null };\n this.trigger('close', eventArgs, function (eventArgs) {\n if (!eventArgs.cancel) {\n if (_this.fields.groupBy && _this.mode !== 'CheckBox' && _this.fixedHeaderElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(_this.fixedHeaderElement);\n _this.fixedHeaderElement = null;\n }\n _this.beforePopupOpen = false;\n _this.overAllWrapper.classList.remove(iconAnimation);\n var typedValue = _this.mode === 'CheckBox' ? _this.targetElement() : null;\n _this.popupObj.hide(new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(eventArgs.animation));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(_this.inputElement, { 'aria-expanded': 'false' });\n _this.inputElement.removeAttribute('aria-owns');\n _this.inputElement.removeAttribute('aria-activedescendant');\n if (_this.allowFiltering) {\n _this.notify('inputFocus', { module: 'CheckBoxSelection', enable: _this.mode === 'CheckBox', value: 'clear' });\n }\n _this.popupObj.hide();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body, _this.popupObj.element], 'e-popup-full-page');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(_this.list, 'keydown', _this.onKeyDown);\n if (_this.mode === 'CheckBox' && _this.showSelectAll) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(_this.popupObj.element, 'click', _this.clickHandler);\n }\n if (_this.list && _this.list.parentElement && _this.allowResize) {\n if (_this.resizer && _this.list.parentElement.contains(_this.resizer)) {\n _this.list.parentElement.removeChild(_this.resizer);\n }\n if (_this.list.parentElement.classList.contains('e-resize')) {\n _this.list.parentElement.classList.remove('e-resize');\n }\n _this.list.parentElement.style.boxSizing = '';\n _this.list.parentElement.style.paddingBottom = '';\n var overAllHeight = parseInt(_this.popupHeight, 10);\n _this.list.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(overAllHeight);\n _this.list.parentElement.style.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(_this.popupHeight);\n _this.list.parentElement.style.maxHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(_this.popupHeight);\n }\n if (_this.resizer) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(_this.resizer, 'mousedown', _this.startResizing);\n _this.resizer.remove();\n }\n if (_this.enableVirtualization && _this.mode === 'CheckBox' && _this.value && _this.value.length > 0 &&\n _this.enableSelectionOrder) {\n _this.viewPortInfo.startIndex = _this.virtualItemStartIndex = 0;\n _this.viewPortInfo.endIndex = _this.virtualItemEndIndex = _this.viewPortInfo.startIndex > 0 ?\n _this.viewPortInfo.endIndex : _this.itemCount;\n _this.virtualListInfo = _this.viewPortInfo;\n _this.previousStartIndex = 0;\n _this.previousEndIndex = _this.itemCount;\n }\n var dataSourceCount = void 0;\n if (_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) {\n if (_this.remoteDataCount >= 0) {\n _this.totalItemCount = _this.dataCount = _this.remoteDataCount;\n }\n else {\n _this.resetList(_this.dataSource);\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataSourceCount = _this.dataSource && _this.dataSource.length ? _this.dataSource.length : 0;\n }\n if (_this.enableVirtualization && (_this.allowFiltering || _this.allowCustomValue) &&\n (_this.targetElement() || typedValue) && _this.totalItemCount !== dataSourceCount) {\n _this.checkAndResetCache();\n _this.updateInitialData();\n }\n if (_this.virtualCustomData && _this.viewPortInfo && _this.viewPortInfo.startIndex === 0 &&\n _this.viewPortInfo.endIndex === _this.itemCount) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.renderItems(_this.mainData, _this.fields);\n }\n _this.virtualCustomData = null;\n _this.isVirtualTrackHeight = false;\n }\n });\n }\n };\n /**\n * Shows the popup, if the popup in a closed state.\n *\n * @param {MouseEvent | KeyboardEventArgs} e - Specifies the mouse event or keyboard event.\n * @returns {void}\n */\n MultiSelect.prototype.showPopup = function (e) {\n var _this = this;\n if (!this.enabled) {\n return;\n }\n this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;\n var args = { cancel: false };\n this.trigger('beforeOpen', args, function (args) {\n if (!args.cancel) {\n if (!_this.ulElement) {\n _this.beforePopupOpen = true;\n if (_this.mode === 'CheckBox' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.allowFiltering && _this.isDeviceFullScreen) {\n _this.notify('popupFullScreen', { module: 'CheckBoxSelection', enable: _this.mode === 'CheckBox' });\n }\n _super.prototype.render.call(_this, e);\n return;\n }\n if (_this.mode === 'CheckBox' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _this.allowFiltering && _this.isDeviceFullScreen) {\n _this.notify('popupFullScreen', { module: 'CheckBoxSelection', enable: _this.mode === 'CheckBox' });\n }\n var mainLiLength = _this.ulElement.querySelectorAll('li.' + 'e-list-item').length;\n var liLength = _this.ulElement.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li + '.' + HIDE_LIST).length;\n if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === _this.mainData.length) &&\n !(_this.targetElement() !== '' && _this.allowCustomValue)) {\n _this.beforePopupOpen = false;\n return;\n }\n _this.onPopupShown(e);\n if (_this.enableVirtualization && _this.listData && _this.listData.length) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.value) && (_this.getModuleName() === 'dropdownlist' ||\n _this.getModuleName() === 'combobox')) {\n _this.removeHover();\n }\n if (!_this.beforePopupOpen) {\n if (_this.hideSelectedItem && _this.value && Array.isArray(_this.value) && _this.value.length > 0) {\n _this.totalItemsCount();\n }\n if (!_this.preventSetCurrentData && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.viewPortInfo.startIndex) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.viewPortInfo.endIndex)) {\n _this.notify('setCurrentViewDataAsync', {\n component: _this.getModuleName(),\n module: 'VirtualScroll'\n });\n }\n }\n }\n if (_this.enableVirtualization && !_this.allowFiltering && _this.selectedValueInfo != null &&\n _this.selectedValueInfo.startIndex > 0 && _this.value != null) {\n _this.notify('dataProcessAsync', {\n module: 'VirtualScroll',\n isOpen: true\n });\n }\n if (_this.enableVirtualization) {\n _this.updatevirtualizationList();\n }\n else {\n if (_this.value && _this.value.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var element = void 0;\n var listItems = _this.getItems();\n for (var _i = 0, _a = _this.value; _i < _a.length; _i++) {\n var value = _a[_i];\n var checkValue = _this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((_this.fields.value) ? _this.fields.value : '', value) : value;\n element = _this.getElementByValue(checkValue);\n if (element) {\n _this.addListSelection(element);\n }\n }\n }\n }\n if (_this.allowResize) {\n _this.setResize();\n }\n _this.preventSetCurrentData = true;\n }\n });\n };\n /**\n * Based on the state parameter, entire list item will be selected/deselected.\n * parameter\n * `true` - Selects entire list items.\n * `false` - Un Selects entire list items.\n *\n * @param {boolean} state - if it’s true then Selects the entire list items. If it’s false the Unselects entire list items.\n * @returns {void}\n */\n MultiSelect.prototype.selectAll = function (state) {\n this.isSelectAll = true;\n this.selectAllItems(state);\n };\n /**\n * Return the module name of this component.\n *\n * @private\n * @returns {string} Return the module name of this component.\n */\n MultiSelect.prototype.getModuleName = function () {\n return 'multiselect';\n };\n /**\n * Allows you to clear the selected values from the Multiselect component.\n *\n * @returns {void}\n */\n MultiSelect.prototype.clear = function () {\n var _this = this;\n this.selectAll(false);\n if (this.value && this.value.length) {\n setTimeout(function () {\n _this.setProperties({ value: null }, true);\n }, 0);\n }\n else {\n this.setProperties({ value: null }, true);\n }\n };\n /**\n * To Initialize the control rendering\n *\n * @private\n * @returns {void}\n */\n MultiSelect.prototype.render = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value.length > 0) {\n // eslint-disable-next-line\n this.value = this.value.slice();\n }\n this.setDynValue = this.initStatus = false;\n this.isSelectAll = false;\n this.selectAllEventEle = [];\n this.searchWrapper = this.createElement('span', {\n className: SEARCHBOX_WRAPPER + ' ' + ((this.mode === 'Box') ?\n BOX_ELEMENT : '')\n });\n this.viewWrapper = this.createElement('span', {\n className: DELIMITER_VIEW + ' ' + DELIMITER_WRAPPER\n });\n this.viewWrapper.style.display = 'none';\n this.overAllClear = this.createElement('span', {\n className: CLOSEICON_CLASS\n });\n this.overAllClear.style.display = 'none';\n this.componentWrapper = this.createElement('div', { className: ELEMENT_WRAPPER });\n this.overAllWrapper = this.createElement('div', { className: OVER_ALL_WRAPPER });\n if (this.mode === 'CheckBox') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.overAllWrapper], 'e-checkbox');\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.componentWrapper.classList.add(ELEMENT_MOBILE_WRAPPER);\n }\n this.setWidth(this.width);\n this.overAllWrapper.appendChild(this.componentWrapper);\n this.popupWrapper = this.createElement('div', { id: this.element.id + '_popup', className: POPUP_WRAPPER });\n this.popupWrapper.setAttribute('aria-label', this.element.id);\n this.popupWrapper.setAttribute('role', 'dialog');\n if (this.mode === 'Delimiter' || this.mode === 'CheckBox') {\n this.delimiterWrapper = this.createElement('span', { className: DELIMITER_WRAPPER });\n this.delimiterWrapper.style.display = 'none';\n this.componentWrapper.appendChild(this.delimiterWrapper);\n }\n else {\n this.chipCollectionWrapper = this.createElement('span', {\n className: CHIP_WRAPPER\n });\n this.chipCollectionWrapper.style.display = 'none';\n if (this.mode === 'Default') {\n this.chipCollectionWrapper.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('chip_default'));\n }\n else if (this.mode === 'Box') {\n this.chipCollectionWrapper.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('chip_box'));\n }\n this.componentWrapper.appendChild(this.chipCollectionWrapper);\n }\n if (this.mode !== 'Box') {\n this.componentWrapper.appendChild(this.viewWrapper);\n }\n this.componentWrapper.appendChild(this.searchWrapper);\n if (this.showClearButton && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.componentWrapper.appendChild(this.overAllClear);\n }\n else {\n this.componentWrapper.classList.add(CLOSE_ICON_HIDE);\n }\n this.dropDownIcon();\n this.inputElement = this.createElement('input', {\n className: INPUT_ELEMENT,\n attrs: {\n spellcheck: 'false',\n type: 'text',\n autocomplete: 'off',\n tabindex: '0',\n role: 'combobox'\n }\n });\n if (this.mode === 'Default' || this.mode === 'Box') {\n this.inputElement.setAttribute('aria-describedby', this.chipCollectionWrapper.id);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.inputElement, { 'aria-expanded': 'false' });\n if (!this.inputElement.hasAttribute('aria-label')) {\n this.inputElement.setAttribute('aria-label', this.getModuleName());\n }\n }\n if (this.element.tagName !== this.getNgDirective()) {\n this.element.style.display = 'none';\n }\n if (this.element.tagName === this.getNgDirective()) {\n this.element.appendChild(this.overAllWrapper);\n this.searchWrapper.appendChild(this.inputElement);\n }\n else {\n this.element.parentElement.insertBefore(this.overAllWrapper, this.element);\n this.searchWrapper.appendChild(this.inputElement);\n this.searchWrapper.appendChild(this.element);\n this.element.removeAttribute('tabindex');\n }\n if (this.floatLabelType !== 'Never') {\n (0,_float_label__WEBPACK_IMPORTED_MODULE_6__.createFloatLabel)(this.overAllWrapper, this.searchWrapper, this.element, this.inputElement, this.value, this.floatLabelType, this.placeholder);\n }\n else if (this.floatLabelType === 'Never') {\n this.refreshPlaceHolder();\n }\n this.addValidInputClass();\n this.element.style.opacity = '';\n var id = this.element.getAttribute('id') ? this.element.getAttribute('id') : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2_dropdownlist');\n this.element.id = id;\n this.hiddenElement = this.createElement('select', {\n attrs: { 'aria-hidden': 'true', 'class': HIDDEN_ELEMENT, 'tabindex': '-1', 'multiple': '' }\n });\n this.componentWrapper.appendChild(this.hiddenElement);\n this.validationAttribute(this.element, this.hiddenElement);\n if (this.mode !== 'CheckBox') {\n this.hideOverAllClear();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n this.wireEvent();\n this.enable(this.enabled);\n this.enableRTL(this.enableRtl);\n if (this.enableVirtualization) {\n this.updateVirtualizationProperties(this.itemCount, this.allowFiltering, this.mode === 'CheckBox');\n }\n this.listItemHeight = this.getListHeight();\n this.getSkeletonCount();\n this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;\n this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.viewPortInfo.startIndex > 0 ?\n this.viewPortInfo.endIndex : this.itemCount;\n this.checkInitialValue();\n if (this.element.hasAttribute('data-val')) {\n this.element.setAttribute('data-val', 'false');\n }\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_7__.Input.createSpanElement(this.overAllWrapper, this.createElement);\n this.calculateWidth();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {\n this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');\n }\n this.renderComplete();\n };\n MultiSelect.prototype.setResize = function () {\n var resizePaddingBottom = 16;\n if (this.list && this.list.parentElement && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.list.parentElement.querySelector('.e-resizer-right.e-icons'))) {\n this.resizer = this.createElement('div', {\n id: this.element.id + '_resize-popup',\n className: RESIZE_ICON\n });\n }\n if (this.mode === 'CheckBox' && this.showSelectAll && this.selectAllHeight && this.selectAllHeight !== 0) {\n this.storedSelectAllHeight = this.selectAllHeight;\n }\n if (this.list && this.list.parentElement) {\n this.list.parentElement.classList.add('e-resize');\n if (this.popupHeight.toString().toLowerCase() !== 'auto') {\n this.list.parentElement.style.height = '100%';\n }\n this.list.parentElement.style.boxSizing = 'border-box'; // Ensures padding doesn't affect element size\n var paddingBottom = this.mode === 'CheckBox' && this.searchBoxHeight ? this.searchBoxHeight + resizePaddingBottom + (this.showSelectAll ? this.storedSelectAllHeight : 0) : resizePaddingBottom;\n this.list.parentElement.style.paddingBottom = paddingBottom + \"px\";\n this.list.parentElement.appendChild(this.resizer);\n this.list.parentElement.style.width = this.resizeWidth + 'px';\n this.list.parentElement.style.height = this.resizeHeight + 'px';\n this.list.parentElement.style.maxHeight = this.resizeHeight + 'px';\n this.list.style.maxHeight = this.resizeHeight + \"px\";\n }\n if (this.resizer) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.resizer, 'mousedown', this.startResizing, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.resizer, 'touchstart', this.startResizing, this);\n }\n };\n MultiSelect.prototype.startResizing = function (event) {\n this.isResizing = true;\n this.trigger('resizeStart', event);\n // Get initial touch or mouse coordinates\n var clientX = (event instanceof MouseEvent) ? event.clientX : event.touches[0].clientX;\n var clientY = (event instanceof MouseEvent) ? event.clientY : event.touches[0].clientY;\n if (this.list && this.list.parentElement) {\n this.originalWidth = this.list.parentElement.offsetWidth;\n this.originalHeight = this.list.parentElement.offsetHeight;\n this.originalMouseX = clientX;\n this.originalMouseY = clientY;\n }\n this.resizingWireEvent();\n // Prevent default behavior like text selection\n if (event) {\n event.preventDefault();\n }\n };\n MultiSelect.prototype.resizePopup = function (event) {\n if (!this.isResizing) {\n return;\n }\n this.trigger('resizing', event);\n // Get the current touch or mouse position\n var clientX = (event instanceof MouseEvent) ? event.clientX : event.touches[0].clientX;\n var clientY = (event instanceof MouseEvent) ? event.clientY : event.touches[0].clientY;\n // Calculate the new width and height based on drag\n var dx = clientX - this.originalMouseX;\n var dy = clientY - this.originalMouseY;\n // Set minimum width and height (100px)\n var minWidth = 100;\n var minHeight = 130;\n // Ensure the new width and height are not smaller than the minimum\n this.resizeWidth = Math.max(this.originalWidth + dx, minWidth);\n this.resizeHeight = Math.max(this.originalHeight + dy, minHeight);\n if (this.list && this.list.parentElement) {\n // Set minimum width and height (100px)\n var minWidth_1 = parseInt(window.getComputedStyle(this.list.parentElement).minWidth, 10);\n var minHeight_1 = parseInt(window.getComputedStyle(this.list.parentElement).minHeight, 10);\n minWidth_1 = minWidth_1 || 100;\n minHeight_1 = minHeight_1 || 120;\n // Ensure the new width and height are not smaller than the minimum\n this.resizeWidth = Math.max(this.originalWidth + dx, minWidth_1);\n this.resizeHeight = Math.max(this.originalHeight + dy, minHeight_1);\n this.list.parentElement.style.width = this.resizeWidth + \"px\";\n this.list.parentElement.style.height = this.resizeHeight + \"px\";\n this.list.parentElement.style.maxHeight = this.resizeHeight + \"px\";\n this.list.style.maxHeight = this.resizeHeight + \"px\";\n if (this.fixedHeaderElement && this.ulElement) {\n this.fixedHeaderElement.style.width = this.ulElement.offsetWidth + \"px\";\n }\n }\n if (event) {\n event.preventDefault();\n }\n };\n MultiSelect.prototype.stopResizing = function (event) {\n if (this.isResizing) {\n this.isResizing = false;\n this.trigger('resizeStop', event);\n this.resizingUnWireEvent();\n }\n if (event) {\n event.preventDefault();\n }\n };\n MultiSelect.prototype.getListHeight = function () {\n var listParent = this.createElement('div', {\n className: 'e-dropdownbase'\n });\n var item = this.createElement('li', {\n className: 'e-list-item'\n });\n var listParentHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.popupHeight);\n listParent.style.height = (parseInt(listParentHeight, 10)).toString() + 'px';\n listParent.appendChild(item);\n document.body.appendChild(listParent);\n this.virtualListHeight = listParent.getBoundingClientRect().height;\n var listItemHeight = Math.ceil(item.getBoundingClientRect().height) +\n parseInt(window.getComputedStyle(item).marginBottom, 10);\n listParent.remove();\n return listItemHeight;\n };\n /**\n * Removes disabled values from the given array.\n *\n * @param { number[] | string[] | boolean[] | object[] } value - The array to check.\n * @returns {void}\n */\n MultiSelect.prototype.removeDisabledItemsValue = function (value) {\n if (value) {\n var data = [];\n var dataIndex = 0;\n for (var index = 0; index < value.length; index++) {\n var indexValue = value[index];\n if (typeof (indexValue) === 'object') {\n indexValue = JSON.parse(JSON.stringify(indexValue))[this.fields.value];\n }\n if ((indexValue != null) && !(this.isDisabledItemByIndex(this.getIndexByValue(indexValue)))) {\n data[dataIndex++] = value[index];\n }\n }\n this.value = data.length > 0 ? data : null;\n }\n };\n MultiSelect.prototype.checkInitialValue = function () {\n var _this = this;\n if (this.fields.disabled) {\n this.removeDisabledItemsValue(this.value);\n }\n var isData = this.dataSource instanceof Array ? (this.dataSource.length > 0)\n : !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dataSource);\n if (!(this.value && this.value.length) &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) &&\n !isData &&\n this.element.tagName === 'SELECT' &&\n this.element.options.length > 0) {\n var optionsElement = this.element.options;\n var valueCol = [];\n var textCol = '';\n for (var index = 0, optionsLen = optionsElement.length; index < optionsLen; index++) {\n var opt = optionsElement[index];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(opt.getAttribute('selected'))) {\n if (opt.getAttribute('value')) {\n var value = this.allowObjectBinding ? this.getDataByValue(opt.getAttribute('value')) : opt.getAttribute('value');\n valueCol.push(value);\n }\n else {\n textCol += (opt.text + this.delimiterChar);\n }\n }\n }\n if (valueCol.length > 0) {\n this.setProperties({ value: valueCol }, true);\n }\n else if (textCol !== '') {\n this.setProperties({ text: textCol }, true);\n }\n if (valueCol.length > 0 || textCol !== '') {\n this.refreshInputHight();\n this.refreshPlaceHolder();\n }\n }\n if ((this.value && this.value.length) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text)) {\n if (!this.list) {\n _super.prototype.render.call(this);\n }\n }\n if (this.fields.disabled) {\n this.text = this.text && !this.isDisabledItemByIndex(this.getIndexByValue(this.getValueByText(this.text))) ? this.text : null;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value.length === 0)) {\n this.initialTextUpdate();\n }\n if (this.value && this.value.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var listItems_2;\n if (this.enableVirtualization) {\n var fields = !this.isPrimitiveData ? this.fields.value : '';\n var predicate = void 0;\n for (var i = 0; i < this.value.length; i++) {\n var value = this.allowObjectBinding ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ? this.fields.value : '', this.value[i]) :\n this.value[i];\n if (i === 0) {\n predicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Predicate(fields, 'equal', value);\n }\n else {\n predicate = predicate.or(fields, 'equal', value);\n }\n }\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager) {\n this.dataSource.executeQuery(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(predicate))\n .then(function (e) {\n if (e.result.length > 0) {\n listItems_2 = e.result;\n _this.initStatus = false;\n _this.isInitRemoteVirtualData = true;\n setTimeout(function () {\n _this.initialValueUpdate(listItems_2, true);\n _this.initialUpdate();\n _this.isInitRemoteVirtualData = false;\n }, 100);\n _this.initStatus = true;\n }\n });\n }\n else {\n listItems_2 = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager(this.dataSource).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.Query().where(predicate));\n }\n }\n if (!(this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)) {\n this.initialValueUpdate(listItems_2, true);\n this.initialUpdate();\n }\n else {\n this.setInitialValue = function () {\n _this.initStatus = false;\n if (!_this.enableVirtualization || (_this.enableVirtualization && (!(_this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataManager)))) {\n _this.initialValueUpdate(listItems_2);\n }\n _this.initialUpdate();\n _this.setInitialValue = null;\n _this.initStatus = true;\n };\n }\n this.updateTempValue();\n }\n else {\n this.initialUpdate();\n }\n this.initStatus = true;\n this.checkAutoFocus();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.text)) {\n this.element.setAttribute('data-initial-value', this.text);\n }\n };\n MultiSelect.prototype.checkAutoFocus = function () {\n if (this.element.hasAttribute('autofocus')) {\n this.inputElement.focus();\n }\n };\n MultiSelect.prototype.updatevirtualizationList = function () {\n if (this.value && this.value.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var element = void 0;\n for (var _i = 0, _a = this.value; _i < _a.length; _i++) {\n var value = _a[_i];\n var checkValue = this.allowObjectBinding ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((this.fields.value) ?\n this.fields.value : '', value) : value;\n element = this.getElementByValue(checkValue);\n if (element) {\n this.addListSelection(element);\n }\n }\n if (this.enableVirtualization && this.hideSelectedItem) {\n var visibleListElements = this.list.querySelectorAll('li.'\n + _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.li\n + ':not(.' + HIDE_LIST + ')' + ':not(.e-reorder-hide)' + ':not(.e-virtual-list)');\n if (visibleListElements.length) {\n var actualCount = this.virtualListHeight > 0 ? Math.floor(this.virtualListHeight / this.listItemHeight) : 0;\n if (visibleListElements.length < (actualCount + 2)) {\n var query = this.getForQuery(this.value).clone();\n query = query.skip(this.viewPortInfo.startIndex);\n this.resetList(this.dataSource, this.fields, query);\n }\n }\n }\n }\n };\n MultiSelect.prototype.setFloatLabelType = function () {\n (0,_float_label__WEBPACK_IMPORTED_MODULE_6__.removeFloating)(this.overAllWrapper, this.componentWrapper, this.searchWrapper, this.inputElement, this.value, this.floatLabelType, this.placeholder);\n if (this.floatLabelType !== 'Never') {\n (0,_float_label__WEBPACK_IMPORTED_MODULE_6__.createFloatLabel)(this.overAllWrapper, this.searchWrapper, this.element, this.inputElement, this.value, this.floatLabelType, this.placeholder);\n }\n };\n MultiSelect.prototype.addValidInputClass = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.overAllWrapper)) {\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && this.value.length) || this.floatLabelType === 'Always') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.overAllWrapper], 'e-valid-input');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.overAllWrapper], 'e-valid-input');\n }\n }\n };\n MultiSelect.prototype.dropDownIcon = function () {\n if (this.showDropDownIcon) {\n this.dropIcon = this.createElement('span', { className: dropdownIcon });\n this.componentWrapper.appendChild(this.dropIcon);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.componentWrapper], ['e-down-icon']);\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dropIcon)) {\n this.dropIcon.parentElement.removeChild(this.dropIcon);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.componentWrapper], ['e-down-icon']);\n }\n }\n };\n MultiSelect.prototype.initialUpdate = function () {\n if (this.mode !== 'Box' && !(this.setDynValue && this.mode === 'Default' && this.inputFocus)) {\n this.updateDelimView();\n }\n this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;\n this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.itemCount;\n this.updateCssClass();\n this.updateHTMLAttribute();\n this.updateReadonly(this.readonly);\n this.refreshInputHight();\n this.checkPlaceholderSize();\n };\n /**\n * Method to disable specific item in the popup.\n *\n * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.\n * @returns {void}\n\n */\n MultiSelect.prototype.disableItem = function (item) {\n if (this.fields.disabled) {\n if (!this.list) {\n this.renderList();\n }\n var itemIndex = -1;\n if (this.liCollections && this.liCollections.length > 0 && this.listData && this.fields.disabled) {\n if (typeof (item) === 'string') {\n itemIndex = this.getIndexByValue(item);\n }\n else if (typeof item === 'object') {\n if (item instanceof HTMLLIElement) {\n for (var index = 0; index < this.liCollections.length; index++) {\n if (this.liCollections[index] === item) {\n itemIndex = this.getIndexByValue(item.getAttribute('data-value'));\n break;\n }\n }\n }\n else {\n var value = JSON.parse(JSON.stringify(item))[this.fields.value];\n for (var index = 0; index < this.listData.length; index++) {\n if (JSON.parse(JSON.stringify(this.listData[index]))[this.fields.value] === value) {\n itemIndex = this.getIndexByValue(value);\n break;\n }\n }\n }\n }\n else {\n itemIndex = item;\n }\n var isValidIndex = itemIndex < this.liCollections.length && itemIndex > -1;\n if (isValidIndex && !(JSON.parse(JSON.stringify(this.listData[itemIndex]))[this.fields.disabled])) {\n var li = this.liCollections[itemIndex];\n if (li) {\n this.disableListItem(li);\n var parsedData = JSON.parse(JSON.stringify(this.listData[itemIndex]));\n parsedData[this.fields.disabled] = true;\n this.listData[itemIndex] = parsedData;\n if (li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.focus)) {\n this.removeFocus();\n }\n if (li.classList.contains(HIDE_LIST) || li.classList.contains(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.dropDownBaseClasses.selected)) {\n var oldValue = this.value;\n this.removeDisabledItemsValue(this.value);\n this.updateVal(this.value, oldValue, 'value');\n }\n if (this.mode === 'CheckBox' && this.enableGroupCheckBox && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.fields.groupBy)) {\n this.disableGroupHeader();\n }\n }\n }\n }\n }\n };\n /**\n * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.\n *\n * @method destroy\n * @returns {void}\n */\n MultiSelect.prototype.destroy = function () {\n // eslint-disable-next-line\n if (this.isReact) {\n this.clearTemplate();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj)) {\n this.popupObj.hide();\n this.popupObj.destroy();\n }\n this.notify(destroy, {});\n this.unwireListEvents();\n this.unWireEvent();\n var temp = ['readonly', 'aria-disabled', 'placeholder', 'aria-label', 'aria-expanded'];\n var length = temp.length;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputElement)) {\n while (length > 0) {\n this.inputElement.removeAttribute(temp[length - 1]);\n length--;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element)) {\n this.element.removeAttribute('data-initial-value');\n this.element.style.display = 'block';\n }\n if (this.overAllWrapper && this.overAllWrapper.parentElement) {\n if (this.overAllWrapper.parentElement.tagName === this.getNgDirective()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.overAllWrapper);\n }\n else {\n this.overAllWrapper.parentElement.insertBefore(this.element, this.overAllWrapper);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.overAllWrapper);\n }\n }\n if (this.popupWrapper && this.popupWrapper.parentElement) {\n this.popupWrapper.parentElement.remove();\n }\n while (this.searchWrapper && this.searchWrapper.firstChild) {\n this.searchWrapper.removeChild(this.searchWrapper.firstChild);\n }\n if (this.searchWrapper && this.searchWrapper.parentElement) {\n this.searchWrapper.parentElement.remove();\n }\n if (this.viewWrapper && this.viewWrapper.parentElement) {\n this.viewWrapper.parentElement.remove();\n }\n if (this.overAllClear && this.overAllClear.parentElement) {\n this.overAllClear.parentElement.remove();\n }\n if (this.delimiterWrapper && this.delimiterWrapper.parentElement) {\n this.delimiterWrapper.parentElement.remove();\n }\n // Remove the select element if it exists\n var selectElement = this.overAllWrapper.querySelector('select.e-multi-hidden');\n if (selectElement && selectElement.parentElement) {\n selectElement.parentElement.remove();\n }\n while (this.componentWrapper && this.componentWrapper.firstChild) {\n this.componentWrapper.removeChild(this.componentWrapper.firstChild);\n }\n if (this.componentWrapper && this.componentWrapper.parentElement) {\n this.componentWrapper.removeAttribute('class');\n this.componentWrapper.parentElement.remove();\n }\n while (this.popupWrapper && this.popupWrapper.firstChild) {\n this.popupWrapper.removeChild(this.popupWrapper.firstChild);\n }\n if (this.inputElement) {\n var attrArray = ['readonly', 'aria-disabled', 'placeholder', 'aria-labelledby',\n 'aria-expanded', 'autocomplete', 'aria-readonly', 'autocapitalize',\n 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-label', 'aria-hidden', 'tabindex', 'aria-controls',\n 'aria-describedby', 'size', 'role', 'type', 'class'];\n for (var i = 0; i < attrArray.length; i++) {\n this.inputElement.removeAttribute(attrArray[i]);\n }\n }\n if (this.inputElement) {\n this.inputElement.remove();\n }\n this.list = null;\n this.popupObj = null;\n this.mainData = null;\n this.filterParent = null;\n this.ulElement = null;\n this.componentWrapper = null;\n this.overAllClear = null;\n this.overAllWrapper = null;\n this.hiddenElement = null;\n this.searchWrapper = null;\n this.viewWrapper = null;\n this.chipCollectionWrapper = null;\n this.targetInputElement = null;\n this.popupWrapper = null;\n this.inputElement = null;\n this.delimiterWrapper = null;\n this.liCollections = null;\n this.popupContentElement = null;\n this.header = null;\n this.mainList = null;\n this.mainListCollection = null;\n this.footer = null;\n this.selectAllEventEle = null;\n _super.prototype.destroy.call(this);\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({ text: null, value: null, iconCss: null, groupBy: null, disabled: null }, _drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.FieldSettings)\n ], MultiSelect.prototype, \"fields\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"groupTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('No records found')\n ], MultiSelect.prototype, \"noRecordsTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Request failed')\n ], MultiSelect.prototype, \"actionFailureTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('None')\n ], MultiSelect.prototype, \"sortOrder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"enableVirtualization\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)([])\n ], MultiSelect.prototype, \"dataSource\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"query\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('StartsWith')\n ], MultiSelect.prototype, \"filterType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], MultiSelect.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"ignoreAccent\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], MultiSelect.prototype, \"locale\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"enableGroupCheckBox\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], MultiSelect.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('300px')\n ], MultiSelect.prototype, \"popupHeight\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], MultiSelect.prototype, \"popupWidth\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"filterBarPlaceholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], MultiSelect.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"valueTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"headerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"footerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"itemTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"allowFiltering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"isDeviceFullScreen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"changeOnBlur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"allowCustomValue\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], MultiSelect.prototype, \"maximumSelectionLength\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"allowResize\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MultiSelect.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"allowObjectBinding\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"hideSelectedItem\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"closePopupOnSelect\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Default')\n ], MultiSelect.prototype, \"mode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(',')\n ], MultiSelect.prototype, \"delimiterChar\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"ignoreCase\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"showDropDownIcon\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], MultiSelect.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"showSelectAll\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Select All')\n ], MultiSelect.prototype, \"selectAllText\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Unselect All')\n ], MultiSelect.prototype, \"unSelectAllText\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"enableSelectionOrder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MultiSelect.prototype, \"openOnClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MultiSelect.prototype, \"addTagOnBlur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"removing\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"removed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"beforeSelectAll\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"selectedAll\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"beforeOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"blur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"chipSelection\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"resizeStop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"resizing\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"resizeStart\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"filtering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"tagging\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MultiSelect.prototype, \"customValueSelection\", void 0);\n MultiSelect = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], MultiSelect);\n return MultiSelect;\n}(_drop_down_base_drop_down_base__WEBPACK_IMPORTED_MODULE_2__.DropDownBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/auto-filters.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/auto-filters.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AutoFilters: () => (/* binding */ AutoFilters)\n/* harmony export */ });\n/**\n * AutoFilters class\n * @private\n */\n/* eslint-disable */\nvar AutoFilters = /** @class */ (function () {\n function AutoFilters() {\n }\n return AutoFilters;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/auto-filters.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/blob-helper.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/blob-helper.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BlobHelper: () => (/* binding */ BlobHelper)\n/* harmony export */ });\n/**\n * BlobHelper class\n * @private\n */\n/* eslint-disable */\nvar BlobHelper = /** @class */ (function () {\n function BlobHelper() {\n /* tslint:disable:no-any */\n this.parts = [];\n }\n /* tslint:disable:no-any */\n BlobHelper.prototype.append = function (part) {\n this.parts.push(part);\n this.blob = undefined; // Invalidate the blob\n };\n BlobHelper.prototype.getBlob = function () {\n return new Blob(this.parts, { type: 'text/plain' });\n };\n return BlobHelper;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/blob-helper.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/cell-style.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/cell-style.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Alignment: () => (/* binding */ Alignment),\n/* harmony export */ Border: () => (/* binding */ Border),\n/* harmony export */ Borders: () => (/* binding */ Borders),\n/* harmony export */ CellStyle: () => (/* binding */ CellStyle),\n/* harmony export */ CellStyleXfs: () => (/* binding */ CellStyleXfs),\n/* harmony export */ CellStyles: () => (/* binding */ CellStyles),\n/* harmony export */ CellXfs: () => (/* binding */ CellXfs),\n/* harmony export */ Font: () => (/* binding */ Font),\n/* harmony export */ NumFmt: () => (/* binding */ NumFmt)\n/* harmony export */ });\n/**\n * CellStyle class\n * @private\n */\n/* eslint-disable */\nvar CellStyle = /** @class */ (function () {\n function CellStyle() {\n this.numFmtId = 0;\n this.backColor = 'none';\n this.fontName = 'Calibri';\n this.fontSize = 10.5;\n this.fontColor = '#000000';\n this.italic = false;\n this.bold = false;\n this.underline = false;\n this.strikeThrough = false;\n this.wrapText = false;\n this.hAlign = 'general';\n this.vAlign = 'bottom';\n this.indent = 0;\n this.rotation = 0;\n this.numberFormat = 'GENERAL';\n this.type = 'datetime';\n this.borders = new Borders();\n this.isGlobalStyle = false;\n }\n return CellStyle;\n}());\n\n/**\n * Font Class\n * @private\n */\nvar Font = /** @class */ (function () {\n function Font() {\n this.sz = 10.5;\n this.name = 'Calibri';\n this.u = false;\n this.b = false;\n this.i = false;\n this.color = 'FF000000';\n this.strike = false;\n }\n return Font;\n}());\n\n/**\n * CellXfs class\n * @private\n */\nvar CellXfs = /** @class */ (function () {\n function CellXfs() {\n }\n return CellXfs;\n}());\n\n/**\n * Alignment class\n * @private\n */\nvar Alignment = /** @class */ (function () {\n function Alignment() {\n }\n return Alignment;\n}());\n\n/**\n * CellStyleXfs class\n * @private\n */\nvar CellStyleXfs = /** @class */ (function () {\n function CellStyleXfs() {\n }\n return CellStyleXfs;\n}());\n\n/**\n * CellStyles class\n * @private\n */\nvar CellStyles = /** @class */ (function () {\n function CellStyles() {\n this.name = 'Normal';\n this.xfId = 0;\n }\n return CellStyles;\n}());\n\n/**\n * NumFmt class\n * @private\n */\nvar NumFmt = /** @class */ (function () {\n function NumFmt(id, code) {\n this.numFmtId = id;\n this.formatCode = code;\n }\n return NumFmt;\n}());\n\n/**\n * Border class\n * @private\n */\nvar Border = /** @class */ (function () {\n function Border(mLine, mColor) {\n this.lineStyle = mLine;\n this.color = mColor;\n }\n return Border;\n}());\n\n/**\n * Borders class\n * @private\n */\nvar Borders = /** @class */ (function () {\n function Borders() {\n this.left = new Border('none', '#FFFFFF');\n this.right = new Border('none', '#FFFFFF');\n this.top = new Border('none', '#FFFFFF');\n this.bottom = new Border('none', '#FFFFFF');\n this.all = new Border('none', '#FFFFFF');\n }\n return Borders;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/cell-style.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/cell.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/cell.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Cell: () => (/* binding */ Cell),\n/* harmony export */ Cells: () => (/* binding */ Cells)\n/* harmony export */ });\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Worksheet class\n * @private\n */\n/* eslint-disable */\nvar Cell = /** @class */ (function () {\n function Cell() {\n }\n return Cell;\n}());\n\n/**\n * Cells class\n * @private\n */\nvar Cells = /** @class */ (function (_super) {\n __extends(Cells, _super);\n function Cells() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.add = function (cell) {\n var inserted = false;\n var count = 0;\n for (var _i = 0, _a = _this; _i < _a.length; _i++) {\n var c = _a[_i];\n if (c.index === cell.index) {\n _this[count] = cell;\n inserted = true;\n }\n count++;\n }\n if (!inserted) {\n _this.push(cell);\n }\n };\n return _this;\n }\n return Cells;\n}(Array));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/column.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/column.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Column: () => (/* binding */ Column)\n/* harmony export */ });\n/**\n * Column class\n * @private\n */\n/* eslint-disable */\nvar Column = /** @class */ (function () {\n function Column() {\n }\n return Column;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/column.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/csv-helper.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/csv-helper.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CsvHelper: () => (/* binding */ CsvHelper)\n/* harmony export */ });\n/* harmony import */ var _value_formatter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./value-formatter */ \"./node_modules/@syncfusion/ej2-excel-export/src/value-formatter.js\");\n/* harmony import */ var _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-file-utils */ \"./node_modules/@syncfusion/ej2-file-utils/src/encoding.js\");\n\n\n/**\n * CsvHelper class\n * @private\n */\n/* eslint-disable */\nvar CsvHelper = /** @class */ (function () {\n /* tslint:disable:no-any */\n function CsvHelper(json, separator) {\n this.csvStr = '';\n if (separator === null || separator === undefined) {\n this.separator = ',';\n }\n else {\n this.separator = separator;\n }\n this.formatter = new _value_formatter__WEBPACK_IMPORTED_MODULE_0__.ValueFormatter();\n this.isMicrosoftBrowser = !(!navigator.msSaveBlob);\n if (json.isServerRendered !== null && json.isServerRendered !== undefined) {\n this.isServerRendered = json.isServerRendered;\n }\n if (json.styles !== null && json.styles !== undefined) {\n this.globalStyles = new Map();\n for (var i = 0; i < json.styles.length; i++) {\n if (json.styles[i].name !== undefined && json.styles[i].numberFormat !== undefined) {\n this.globalStyles.set(json.styles[i].name, json.styles[i].numberFormat);\n }\n }\n }\n // Parses Worksheets data to DOM. \n if (json.worksheets !== null && json.worksheets !== undefined) {\n this.parseWorksheet(json.worksheets[0]);\n }\n //this.csvStr = 'a1,a2,a3\\nb1,b2,b3';\n }\n CsvHelper.prototype.parseWorksheet = function (json) {\n //Rows\n if (json.rows !== null && json.rows !== undefined) {\n this.parseRows(json.rows);\n }\n };\n /* tslint:disable:no-any */\n CsvHelper.prototype.parseRows = function (rows) {\n var count = 1;\n for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {\n var row = rows_1[_i];\n //Row index\n if (row.index !== null && row.index !== undefined) {\n while (count < row.index) {\n this.csvStr += '\\r\\n';\n count++;\n }\n this.parseRow(row);\n }\n else {\n throw Error('Row index is missing.');\n }\n }\n this.csvStr += '\\r\\n';\n };\n /* tslint:disable:no-any */\n CsvHelper.prototype.parseRow = function (row) {\n if (row.cells !== null && row.cells !== undefined) {\n var count = 1;\n for (var _i = 0, _a = row.cells; _i < _a.length; _i++) {\n var cell = _a[_i];\n //cell index\n if (cell.index !== null && cell.index !== undefined) {\n while (count < cell.index) {\n this.csvStr += this.separator;\n count++;\n }\n this.parseCell(cell);\n }\n else {\n throw Error('Cell index is missing.');\n }\n }\n }\n };\n /* tslint:disable:no-any */\n CsvHelper.prototype.parseCell = function (cell) {\n var csv = this.csvStr;\n if (cell.value !== undefined) {\n if (cell.value instanceof Date) {\n if (cell.style !== undefined && cell.style.numberFormat !== undefined) {\n /* tslint:disable-next-line:max-line-length */\n try {\n csv += this.parseCellValue(this.formatter.displayText(cell.value, { type: 'dateTime', skeleton: cell.style.numberFormat }, this.isServerRendered));\n }\n catch (error) {\n /* tslint:disable-next-line:max-line-length */\n csv += this.parseCellValue(this.formatter.displayText(cell.value, { type: 'dateTime', format: cell.style.numberFormat }, this.isServerRendered));\n }\n }\n else if (cell.style !== undefined && cell.style.name !== undefined && this.globalStyles.has(cell.style.name)) {\n /* tslint:disable-next-line:max-line-length */\n try {\n csv += this.parseCellValue(this.formatter.displayText(cell.value, { type: 'dateTime', skeleton: this.globalStyles.get(cell.style.name) }, this.isServerRendered));\n }\n catch (error) {\n /* tslint:disable-next-line:max-line-length */\n csv += this.parseCellValue(this.formatter.displayText(cell.value, { type: 'dateTime', format: this.globalStyles.get(cell.style.name) }, this.isServerRendered));\n }\n }\n else {\n csv += cell.value;\n }\n }\n else if (typeof (cell.value) === 'boolean') {\n csv += cell.value ? 'TRUE' : 'FALSE';\n }\n else if (typeof (cell.value) === 'number') {\n if (cell.style !== undefined && cell.style.numberFormat !== undefined) {\n /* tslint:disable-next-line:max-line-length */\n csv += this.parseCellValue(this.formatter.displayText(cell.value, { format: cell.style.numberFormat, ignoreCurrency: true }, this.isServerRendered));\n }\n else if (cell.style !== undefined && cell.style.name !== undefined && this.globalStyles.has(cell.style.name)) {\n /* tslint:disable-next-line:max-line-length */\n csv += this.parseCellValue(this.formatter.displayText(cell.value, { format: this.globalStyles.get(cell.style.name), ignoreCurrency: true }, this.isServerRendered));\n }\n else {\n csv += cell.value;\n }\n }\n else {\n csv += this.parseCellValue(cell.value);\n }\n }\n this.csvStr = csv;\n };\n CsvHelper.prototype.parseCellValue = function (value) {\n var val = '';\n var length = value.length;\n for (var start = 0; start < length; start++) {\n if (value[start] === '\\\"') {\n val += value[start].replace('\\\"', '\\\"\\\"');\n }\n else {\n val += value[start];\n }\n }\n value = val;\n if (value.indexOf(this.separator) !== -1 || value.indexOf('\\n') !== -1 || value.indexOf('\\\"') !== -1) {\n return value = '\\\"' + value + '\\\"';\n }\n else {\n return value;\n }\n };\n /**\n * Saves the file with specified name and sends the file to client browser\n * @param {string} fileName- file name to save.\n * @param {Blob} buffer- the content to write in file\n */\n CsvHelper.prototype.save = function (fileName) {\n this.buffer = new Blob(['\\ufeff' + this.csvStr], { type: 'text/csv;charset=UTF-8' });\n if (this.isMicrosoftBrowser) {\n navigator.msSaveBlob(this.buffer, fileName);\n }\n else {\n var dataUrl_1 = window.URL.createObjectURL(this.buffer);\n var dwlLink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\n dwlLink.download = fileName;\n dwlLink.href = dataUrl_1;\n var event_1 = document.createEvent('MouseEvent');\n event_1.initEvent('click', true, true);\n dwlLink.dispatchEvent(event_1);\n setTimeout(function () {\n window.URL.revokeObjectURL(dataUrl_1);\n });\n }\n };\n /**\n * Returns a Blob object containing CSV data with optional encoding.\n * @param {string} [encodingType] - The supported encoding types are \"ansi\", \"unicode\" and \"utf8\".\n */\n /* tslint:disable:no-any */\n CsvHelper.prototype.saveAsBlob = function (encodingType) {\n if (encodingType != undefined) {\n var encoding = new _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_1__.Encoding();\n var encodeString = 'UTF-8';\n if (encodingType.toUpperCase() == \"ANSI\") {\n encoding.type = 'Ansi';\n encodeString = 'ANSI';\n }\n else if (encodingType.toUpperCase() == \"UNICODE\") {\n encoding.type = 'Unicode';\n encodeString = 'UNICODE';\n }\n else {\n encoding.type = 'Utf8';\n encodeString = 'UTF-8';\n }\n var buffer = encoding.getBytes(this.csvStr, 0, this.csvStr.length);\n return new Blob([buffer], { type: 'text/csv;charset=' + encodeString });\n }\n else\n return new Blob(['\\ufeff' + this.csvStr], { type: 'text/csv;charset=UTF-8' });\n };\n return CsvHelper;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/csv-helper.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/image.js": +/*!****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/image.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Image: () => (/* binding */ Image)\n/* harmony export */ });\n/**\n * Image class\n * @private\n */\n/* eslint-disable */\nvar Image = /** @class */ (function () {\n function Image() {\n }\n return Image;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/image.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/row.js": +/*!**************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/row.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Row: () => (/* binding */ Row),\n/* harmony export */ Rows: () => (/* binding */ Rows)\n/* harmony export */ });\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Row class\n * @private\n */\n/* eslint-disable */\nvar Row = /** @class */ (function () {\n function Row() {\n }\n return Row;\n}());\n\n/**\n * Rows class\n * @private\n */\nvar Rows = /** @class */ (function (_super) {\n __extends(Rows, _super);\n function Rows() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.add = function (row) {\n _this.push(row);\n };\n return _this;\n }\n return Rows;\n}(Array));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/row.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/value-formatter.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/value-formatter.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ValueFormatter: () => (/* binding */ ValueFormatter)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n\n// import { IValueFormatter } from '../base/interface';\n/**\n * ValueFormatter class to globalize the value.\n * @private\n */\n/* eslint-disable */\nvar ValueFormatter = /** @class */ (function () {\n function ValueFormatter(cultureName) {\n this.intl = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization();\n // if (!isNullOrUndefined(cultureName)) {\n // this.intl.culture = cultureName;\n // }\n }\n ValueFormatter.prototype.getFormatFunction = function (format, isServerRendered) {\n if (format.type) {\n if (isServerRendered) {\n format.isServerRendered = true;\n }\n return this.intl.getDateFormat(format);\n }\n else {\n return this.intl.getNumberFormat(format);\n }\n };\n // public getParserFunction(format: NumberFormatOptions | DateFormatOptions): Function {\n // if ((format).type) {\n // return this.intl.getDateParser(format);\n // } else {\n // return this.intl.getNumberParser(format);\n // }\n // }\n // public fromView(value: string, format: Function, type?: string): string | number | Date {\n // if (type === 'date' || type === 'datetime' || type === 'number') {\n // return format(value);\n // } else {\n // return value;\n // }\n // }\n ValueFormatter.prototype.toView = function (value, format) {\n var result = value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n result = format(value);\n }\n return result;\n };\n // public setCulture(cultureName: string): void {\n // if (!isNullOrUndefined(cultureName)) {\n // setCulture(cultureName);\n // }\n // }\n /* tslint:disable:no-any */\n ValueFormatter.prototype.displayText = function (value, format, isServerRendered) {\n return this.toView(value, this.getFormatFunction(format, isServerRendered));\n };\n return ValueFormatter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/value-formatter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/workbook.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/workbook.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BuiltInProperties: () => (/* binding */ BuiltInProperties),\n/* harmony export */ Workbook: () => (/* binding */ Workbook)\n/* harmony export */ });\n/* harmony import */ var _worksheets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./worksheets */ \"./node_modules/@syncfusion/ej2-excel-export/src/worksheets.js\");\n/* harmony import */ var _worksheet__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./worksheet */ \"./node_modules/@syncfusion/ej2-excel-export/src/worksheet.js\");\n/* harmony import */ var _cell_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cell-style */ \"./node_modules/@syncfusion/ej2-excel-export/src/cell-style.js\");\n/* harmony import */ var _column__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./column */ \"./node_modules/@syncfusion/ej2-excel-export/src/column.js\");\n/* harmony import */ var _row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./row */ \"./node_modules/@syncfusion/ej2-excel-export/src/row.js\");\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./image */ \"./node_modules/@syncfusion/ej2-excel-export/src/image.js\");\n/* harmony import */ var _cell__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./cell */ \"./node_modules/@syncfusion/ej2-excel-export/src/cell.js\");\n/* harmony import */ var _syncfusion_ej2_compression__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-compression */ \"./node_modules/@syncfusion/ej2-compression/src/zip-archive.js\");\n/* harmony import */ var _csv_helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./csv-helper */ \"./node_modules/@syncfusion/ej2-excel-export/src/csv-helper.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _blob_helper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./blob-helper */ \"./node_modules/@syncfusion/ej2-excel-export/src/blob-helper.js\");\n/* harmony import */ var _auto_filters__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./auto-filters */ \"./node_modules/@syncfusion/ej2-excel-export/src/auto-filters.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Workbook class\n */\n/* eslint-disable */\nvar Workbook = /** @class */ (function () {\n /* tslint:disable:no-any */\n function Workbook(json, saveType, culture, currencyString, separator) {\n this.sharedStringCount = 0;\n this.unitsProportions = [\n 96 / 75.0,\n 96 / 300.0,\n 96,\n 96 / 25.4,\n 96 / 2.54,\n 1,\n 96 / 72.0,\n 96 / 72.0 / 12700,\n ];\n /* tslint:disable:no-any */\n this.hyperlinkStyle = { fontColor: '#0000FF', underline: true };\n if (culture !== undefined) {\n this.culture = culture;\n }\n else {\n this.culture = 'en-US';\n }\n if (currencyString !== undefined) {\n this.currency = currencyString;\n }\n else {\n this.currency = 'USD';\n }\n this.intl = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.culture);\n this.mSaveType = saveType;\n if (saveType === 'xlsx') {\n this.mArchive = new _syncfusion_ej2_compression__WEBPACK_IMPORTED_MODULE_1__.ZipArchive();\n this.sharedString = [];\n this.mFonts = [];\n this.mBorders = [];\n this.mStyles = [];\n this.printTitles = new Map();\n this.cellStyles = new Map();\n this.mNumFmt = new Map();\n this.mFills = new Map();\n this.mStyles.push(new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle());\n this.mFonts.push(new _cell_style__WEBPACK_IMPORTED_MODULE_2__.Font());\n /* tslint:disable */\n this.cellStyles.set('Normal', new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyles());\n /* tslint:enable */\n this.mCellXfs = [];\n this.mCellStyleXfs = [];\n this.drawingCount = 0;\n this.imageCount = 0;\n if (json.styles !== null && json.styles !== undefined) {\n /* tslint:disable-next-line:no-any */\n this.globalStyles = new Map();\n for (var i = 0; i < json.styles.length; i++) {\n if (json.styles[i].name !== undefined) {\n if (!this.cellStyles.has(json.styles[i].name)) {\n var cellStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n cellStyle.isGlobalStyle = true;\n this.parserCellStyle(json.styles[i], cellStyle, 'none');\n var cellStylesIn = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyles();\n cellStylesIn.name = cellStyle.name;\n cellStylesIn.xfId = (cellStyle.index - 1);\n this.cellStyles.set(cellStylesIn.name, cellStylesIn);\n /* tslint:disable-next-line:no-any */\n var tFormat = {};\n if (json.styles[i].numberFormat !== undefined) {\n tFormat.format = json.styles[i].numberFormat;\n }\n if (json.styles[i].type !== undefined) {\n tFormat.type = json.styles[i].type;\n }\n else {\n tFormat.type = 'datetime';\n }\n if (tFormat.format !== undefined) {\n this.globalStyles.set(json.styles[i].name, tFormat);\n }\n }\n else {\n throw Error('Style name ' + json.styles[i].name + ' is already existed');\n }\n }\n }\n }\n // Parses Worksheets data to DOM. \n if (json.worksheets !== null && json.worksheets !== undefined) {\n this.parserWorksheets(json.worksheets);\n }\n else {\n throw Error('Worksheet is expected.');\n }\n // Parses the BuiltInProperties data to DOM. \n if (json.builtInProperties !== null && json.builtInProperties !== undefined) {\n this.builtInProperties = new BuiltInProperties();\n this.parserBuiltInProperties(json.builtInProperties, this.builtInProperties);\n }\n }\n else {\n this.csvHelper = new _csv_helper__WEBPACK_IMPORTED_MODULE_3__.CsvHelper(json, separator);\n }\n }\n /* tslint:disable:no-any */\n Workbook.prototype.parserBuiltInProperties = function (jsonBuiltInProperties, builtInProperties) {\n //Author\n if (jsonBuiltInProperties.author !== null && jsonBuiltInProperties.author !== undefined) {\n builtInProperties.author = jsonBuiltInProperties.author;\n }\n //Comments\n if (jsonBuiltInProperties.comments !== null && jsonBuiltInProperties.comments !== undefined) {\n builtInProperties.comments = jsonBuiltInProperties.comments;\n }\n //Category\n if (jsonBuiltInProperties.category !== null && jsonBuiltInProperties.category !== undefined) {\n builtInProperties.category = jsonBuiltInProperties.category;\n }\n //Company\n if (jsonBuiltInProperties.company !== null && jsonBuiltInProperties.company !== undefined) {\n builtInProperties.company = jsonBuiltInProperties.company;\n }\n //Manager\n if (jsonBuiltInProperties.manager !== null && jsonBuiltInProperties.manager !== undefined) {\n builtInProperties.manager = jsonBuiltInProperties.manager;\n }\n //Subject\n if (jsonBuiltInProperties.subject !== null && jsonBuiltInProperties.subject !== undefined) {\n builtInProperties.subject = jsonBuiltInProperties.subject;\n }\n //Title\n if (jsonBuiltInProperties.title !== null && jsonBuiltInProperties.title !== undefined) {\n builtInProperties.title = jsonBuiltInProperties.title;\n }\n //Creation date\n if (jsonBuiltInProperties.createdDate !== null && jsonBuiltInProperties.createdDate !== undefined) {\n builtInProperties.createdDate = jsonBuiltInProperties.createdDate;\n }\n //Modified date\n if (jsonBuiltInProperties.modifiedDate !== null && jsonBuiltInProperties.modifiedDate !== undefined) {\n builtInProperties.modifiedDate = jsonBuiltInProperties.modifiedDate;\n }\n //Tags\n if (jsonBuiltInProperties.tags !== null && jsonBuiltInProperties.tags !== undefined) {\n builtInProperties.tags = jsonBuiltInProperties.tags;\n }\n //Status\n if (jsonBuiltInProperties.status !== null && jsonBuiltInProperties.status !== undefined) {\n builtInProperties.status = jsonBuiltInProperties.status;\n }\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserWorksheets = function (json) {\n this.worksheets = new _worksheets__WEBPACK_IMPORTED_MODULE_4__.Worksheets();\n var length = json.length;\n for (var i = 0; i < length; i++) {\n var jsonSheet = json[i];\n var sheet = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.Worksheet();\n this.mergeCells = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.MergeCells();\n this.mergedCellsStyle = new Map();\n this.mHyperLinks = [];\n //Name\n if (jsonSheet.name !== null && jsonSheet.name !== undefined) {\n sheet.name = jsonSheet.name;\n }\n else {\n sheet.name = 'Sheet' + (i + 1).toString();\n }\n if (jsonSheet.enableRtl !== null && jsonSheet.enableRtl !== undefined) {\n sheet.enableRtl = jsonSheet.enableRtl;\n }\n sheet.index = (i + 1);\n //Columns\n if (jsonSheet.columns !== null && jsonSheet.columns !== undefined) {\n this.parserColumns(jsonSheet.columns, sheet);\n }\n //Rows\n if (jsonSheet.rows !== null && jsonSheet.rows !== undefined) {\n this.parserRows(jsonSheet.rows, sheet);\n }\n //showGridLines\n if (jsonSheet.showGridLines !== null && jsonSheet.showGridLines !== undefined) {\n sheet.showGridLines = jsonSheet.showGridLines;\n }\n //FreezePanes\n if (jsonSheet.freeze !== null && jsonSheet.freeze !== undefined) {\n this.parserFreezePanes(jsonSheet.freeze, sheet);\n }\n //Print Title\n if (jsonSheet.printTitle !== null && jsonSheet.printTitle !== undefined) {\n this.parserPrintTitle(jsonSheet.printTitle, sheet);\n }\n if (jsonSheet.pageSetup !== undefined) {\n if (jsonSheet.pageSetup.isSummaryRowBelow !== undefined) {\n sheet.isSummaryRowBelow = jsonSheet.pageSetup.isSummaryRowBelow;\n }\n }\n if (jsonSheet.images !== undefined) {\n this.parserImages(jsonSheet.images, sheet);\n }\n if (jsonSheet.autoFilters !== null && jsonSheet.autoFilters !== undefined) {\n this.parseFilters(jsonSheet.autoFilters, sheet);\n }\n sheet.index = (i + 1);\n sheet.mergeCells = this.mergeCells;\n sheet.hyperLinks = this.mHyperLinks;\n this.worksheets.push(sheet);\n }\n };\n /* tslint:disable:no-any */\n Workbook.prototype.mergeOptions = function (fromJson, toJson) {\n /* tslint:disable:no-any */\n var result = {};\n this.applyProperties(fromJson, result);\n this.applyProperties(toJson, result);\n return result;\n };\n /* tslint:disable:no-any */\n Workbook.prototype.applyProperties = function (sourceJson, destJson) {\n var keys = Object.keys(sourceJson);\n for (var index = 0; index < keys.length; index++) {\n if (keys[index] !== 'name') {\n destJson[keys[index]] = sourceJson[keys[index]];\n }\n }\n };\n Workbook.prototype.getCellName = function (row, column) {\n return this.getColumnName(column) + row.toString();\n };\n Workbook.prototype.getColumnName = function (col) {\n col--;\n var strColumnName = '';\n do {\n var iCurrentDigit = col % 26;\n col = col / 26 - 1;\n strColumnName = String.fromCharCode(65 + iCurrentDigit) + strColumnName;\n } while (col >= 0);\n return strColumnName;\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserPrintTitle = function (json, sheet) {\n var printTitleName = '';\n var titleRowName;\n if (json.fromRow !== null && json.fromRow !== undefined) {\n var fromRow = json.fromRow;\n var toRow = void 0;\n if (json.toRow !== null && json.toRow !== undefined) {\n toRow = json.toRow;\n }\n else {\n toRow = json.fromRow;\n }\n titleRowName = '$' + fromRow + ':$' + toRow;\n }\n var titleColName;\n if (json.fromColumn !== null && json.fromColumn !== undefined) {\n var fromColumn = json.fromColumn;\n var toColumn = void 0;\n if (json.toColumn !== null && json.toColumn !== undefined) {\n toColumn = json.toColumn;\n }\n else {\n toColumn = json.fromColumn;\n }\n titleColName = '$' + this.getColumnName(fromColumn) + ':$' + this.getColumnName(toColumn);\n }\n if (titleRowName !== undefined) {\n printTitleName += (sheet.name + '!' + titleRowName);\n }\n if (titleColName !== undefined && titleRowName !== undefined) {\n printTitleName += ',' + (sheet.name + '!' + titleColName);\n }\n else if (titleColName !== undefined) {\n printTitleName += (sheet.name + '!' + titleColName);\n }\n if (printTitleName !== '') {\n this.printTitles.set(sheet.index - 1, printTitleName);\n }\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserFreezePanes = function (json, sheet) {\n sheet.freezePanes = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.FreezePane();\n if (json.row !== null && json.row !== undefined) {\n sheet.freezePanes.row = json.row;\n }\n else {\n sheet.freezePanes.row = 0;\n }\n if (json.column !== null && json.column !== undefined) {\n sheet.freezePanes.column = json.column;\n }\n else {\n sheet.freezePanes.column = 0;\n }\n sheet.freezePanes.leftCell = this.getCellName(sheet.freezePanes.row + 1, sheet.freezePanes.column + 1);\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserColumns = function (json, sheet) {\n var columnsLength = json.length;\n sheet.columns = [];\n for (var column = 0; column < columnsLength; column++) {\n var col = new _column__WEBPACK_IMPORTED_MODULE_6__.Column();\n if (json[column].index !== null && json[column].index !== undefined) {\n col.index = json[column].index;\n }\n else {\n throw Error('Column index is missing.');\n }\n if (json[column].width !== null && json[column].width !== undefined) {\n col.width = json[column].width;\n }\n sheet.columns.push(col);\n }\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserRows = function (json, sheet) {\n var rowsLength = json.length;\n sheet.rows = new _row__WEBPACK_IMPORTED_MODULE_7__.Rows();\n var rowId = 0;\n for (var r = 0; r < rowsLength; r++) {\n var row = this.parserRow(json[r], rowId);\n rowId = row.index;\n sheet.rows.add(row);\n }\n this.insertMergedCellsStyle(sheet);\n };\n Workbook.prototype.insertMergedCellsStyle = function (sheet) {\n var _this = this;\n if (this.mergeCells.length > 0) {\n this.mergedCellsStyle.forEach(function (value, key) {\n var row = sheet.rows.filter(function (item) {\n return item.index === value.y;\n })[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row)) {\n var cell = row.cells.filter(function (item) {\n return item.index === value.x;\n })[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell)) {\n cell.styleIndex = value.styleIndex;\n }\n else {\n var cells = row.cells.filter(function (item) {\n return item.index <= value.x;\n });\n var insertIndex = 0;\n if (cells.length > 0) {\n insertIndex = row.cells.indexOf(cells[cells.length - 1]) + 1;\n }\n row.cells.splice(insertIndex, 0, _this.createCell(value, key));\n }\n }\n else {\n var rows = sheet.rows.filter(function (item) {\n return item.index <= value.y;\n });\n var rowToInsert = new _row__WEBPACK_IMPORTED_MODULE_7__.Row();\n rowToInsert.index = value.y;\n rowToInsert.cells = new _cell__WEBPACK_IMPORTED_MODULE_8__.Cells();\n rowToInsert.cells.add(_this.createCell(value, key));\n var insertIndex = 0;\n if (rows.length > 0) {\n insertIndex = sheet.rows.indexOf(rows[rows.length - 1]) + 1;\n }\n sheet.rows.splice(insertIndex, 0, rowToInsert);\n }\n });\n }\n };\n Workbook.prototype.createCell = function (value, key) {\n var cellToInsert = new _cell__WEBPACK_IMPORTED_MODULE_8__.Cell();\n cellToInsert.refName = key;\n cellToInsert.index = value.x;\n cellToInsert.cellStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n cellToInsert.styleIndex = value.styleIndex;\n return cellToInsert;\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserRow = function (json, rowIndex) {\n var row = new _row__WEBPACK_IMPORTED_MODULE_7__.Row();\n //Row Height\n if (json.height !== null && json.height !== undefined) {\n row.height = json.height;\n }\n //Row index\n if (json.index !== null && json.index !== undefined) {\n row.index = json.index;\n }\n else {\n throw Error('Row index is missing.');\n }\n if (json.grouping !== null && json.grouping !== undefined) {\n this.parseGrouping(json.grouping, row);\n }\n this.parseCells(json.cells, row);\n return row;\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parseGrouping = function (json, row) {\n row.grouping = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.Grouping();\n if (json.outlineLevel !== undefined) {\n row.grouping.outlineLevel = json.outlineLevel;\n }\n if (json.isCollapsed !== undefined) {\n row.grouping.isCollapsed = json.isCollapsed;\n }\n if (json.isHidden !== undefined) {\n row.grouping.isHidden = json.isHidden;\n }\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parseCells = function (json, row) {\n row.cells = new _cell__WEBPACK_IMPORTED_MODULE_8__.Cells();\n var cellsLength = json !== undefined ? json.length : 0;\n var spanMin = 1;\n var spanMax = 1;\n var curCellIndex = 0;\n for (var cellId = 0; cellId < cellsLength; cellId++) {\n /* tslint:disable:no-any */\n var jsonCell = json[cellId];\n var cell = new _cell__WEBPACK_IMPORTED_MODULE_8__.Cell();\n //cell index\n if (jsonCell.index !== null && jsonCell.index !== undefined) {\n cell.index = jsonCell.index;\n }\n else {\n throw Error('Cell index is missing.');\n }\n if (cell.index < spanMin) {\n spanMin = cell.index;\n }\n else if (cell.index > spanMax) {\n spanMax = cell.index;\n }\n //Update the Cell name\n cell.refName = this.getCellName(row.index, cell.index);\n //Row span\n if (jsonCell.rowSpan !== null && jsonCell.rowSpan !== undefined) {\n cell.rowSpan = jsonCell.rowSpan - 1;\n }\n else {\n cell.rowSpan = 0;\n }\n //Column span\n if (jsonCell.colSpan !== null && jsonCell.colSpan !== undefined) {\n cell.colSpan = jsonCell.colSpan - 1;\n }\n else {\n cell.colSpan = 0;\n }\n //Hyperlink\n if (jsonCell.hyperlink !== null && jsonCell.hyperlink !== undefined) {\n var hyperLink = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.HyperLink();\n if (jsonCell.hyperlink.target !== undefined) {\n hyperLink.target = jsonCell.hyperlink.target;\n if (jsonCell.hyperlink.displayText !== undefined) {\n cell.value = jsonCell.hyperlink.displayText;\n }\n else {\n cell.value = jsonCell.hyperlink.target;\n }\n cell.type = this.getCellValueType(cell.value);\n hyperLink.ref = cell.refName;\n hyperLink.rId = (this.mHyperLinks.length + 1);\n this.mHyperLinks.push(hyperLink);\n cell.cellStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n /* tslint:disable-next-line:max-line-length */\n this.parserCellStyle((jsonCell.style !== undefined ? this.mergeOptions(jsonCell.style, this.hyperlinkStyle) : this.hyperlinkStyle), cell.cellStyle, 'string');\n cell.styleIndex = cell.cellStyle.index;\n }\n }\n // formulas\n if (jsonCell.formula !== null && jsonCell.formula !== undefined) {\n cell.formula = jsonCell.formula;\n cell.type = 'formula';\n }\n //Cell value\n if (jsonCell.value !== null && jsonCell.value !== undefined) {\n if (cell.formula !== undefined) {\n cell.value = 0;\n }\n else {\n cell.value = jsonCell.value;\n cell.type = this.getCellValueType(cell.value);\n }\n }\n if (jsonCell.style !== null && jsonCell.style !== undefined && cell.styleIndex === undefined) {\n cell.cellStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n if (cell.value instanceof Date) {\n this.parserCellStyle(jsonCell.style, cell.cellStyle, cell.type, 14);\n }\n else {\n this.parserCellStyle(jsonCell.style, cell.cellStyle, cell.type);\n }\n cell.styleIndex = cell.cellStyle.index;\n }\n else if (cell.value instanceof Date) {\n cell.cellStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n this.parserCellStyle({}, cell.cellStyle, cell.type, 14);\n cell.styleIndex = cell.cellStyle.index;\n }\n this.parseCellType(cell);\n this.mergeCells = this.processMergeCells(cell, row.index, this.mergeCells);\n row.cells.add(cell);\n curCellIndex = (cell.index + 1);\n }\n row.spans = (spanMin) + ':' + (spanMax);\n };\n Workbook.prototype.GetColors = function () {\n var colors;\n colors = new Map();\n /* tslint:disable */\n colors.set('WHITE', 'FFFFFFFF');\n /* tslint:disable */\n colors.set('SILVER', 'FFC0C0C0');\n /* tslint:disable */\n colors.set('GRAY', 'FF808080');\n /* tslint:disable */\n colors.set('BLACK', 'FF000000');\n /* tslint:disable */\n colors.set('RED', 'FFFF0000');\n /* tslint:disable */\n colors.set('MAROON', 'FF800000');\n /* tslint:disable */\n colors.set('YELLOW', 'FFFFFF00');\n /* tslint:disable */\n colors.set('OLIVE', 'FF808000');\n /* tslint:disable */\n colors.set('LIME', 'FF00FF00');\n /* tslint:disable */\n colors.set('GREEN', 'FF008000');\n /* tslint:disable */\n colors.set('AQUA', 'FF00FFFF');\n /* tslint:disable */\n colors.set('TEAL', 'FF008080');\n /* tslint:disable */\n colors.set('BLUE', 'FF0000FF');\n /* tslint:disable */\n colors.set('NAVY', 'FF000080');\n /* tslint:disable */\n colors.set('FUCHSIA', 'FFFF00FF');\n /* tslint:disable */\n colors.set('PURPLE', 'FF800080');\n return colors;\n };\n Workbook.prototype.processColor = function (colorVal) {\n if (colorVal.indexOf('#') === 0) {\n return colorVal.replace('#', 'FF');\n }\n colorVal = colorVal.toUpperCase();\n this.rgbColors = this.GetColors();\n if (this.rgbColors.has(colorVal)) {\n colorVal = this.rgbColors.get(colorVal);\n }\n else {\n colorVal = 'FF000000';\n }\n return colorVal;\n };\n Workbook.prototype.processCellValue = function (value, cell) {\n var cellValue = value;\n if (value.indexOf(\"\") !== -1 ||\n value.indexOf(\"\") !== -1 || value.indexOf(\"\") !== -1) {\n var processedVal = '';\n var startindex = value.indexOf('<', 0);\n var endIndex = value.indexOf('>', startindex + 1);\n if (startindex >= 0 && endIndex >= 0) {\n if (startindex !== 0) {\n processedVal += '' + this.processString(value.substring(0, startindex)) + '';\n }\n while (startindex >= 0 && endIndex >= 0) {\n endIndex = value.indexOf('>', startindex + 1);\n if (endIndex >= 0) {\n var subString = value.substring(startindex + 1, endIndex);\n startindex = value.indexOf('<', endIndex + 1);\n if (startindex < 0) {\n startindex = cellValue.length;\n }\n var text = cellValue.substring(endIndex + 1, startindex);\n if (text.length !== 0) {\n var subSplit = subString.split(' ');\n if (subSplit.length > 0) {\n processedVal += '';\n }\n if (subSplit.length > 1) {\n for (var _i = 0, subSplit_1 = subSplit; _i < subSplit_1.length; _i++) {\n var element = subSplit_1[_i];\n var start = element.trim().substring(0, 5);\n switch (start) {\n case 'size=':\n processedVal += '';\n break;\n case 'face=':\n processedVal += '';\n break;\n case 'color':\n processedVal += '';\n break;\n case 'href=':\n var hyperLink = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.HyperLink();\n hyperLink.target = element.substring(6, element.length - 1).trim();\n hyperLink.ref = cell.refName;\n hyperLink.rId = (this.mHyperLinks.length + 1);\n this.mHyperLinks.push(hyperLink);\n processedVal += '';\n break;\n }\n }\n }\n else if (subSplit.length === 1) {\n var style = subSplit[0].trim();\n switch (style) {\n case 'b':\n processedVal += '';\n break;\n case 'i':\n processedVal += '';\n break;\n case 'u':\n processedVal += '';\n break;\n }\n }\n processedVal += '' + this.processString(text) + '';\n }\n }\n }\n if (processedVal === '') {\n return cellValue;\n }\n return processedVal;\n }\n else {\n return cellValue;\n }\n }\n else {\n return cellValue;\n }\n };\n Workbook.prototype.applyGlobalStyle = function (json, cellStyle) {\n var index = 0;\n if (this.cellStyles.has(json.name)) {\n cellStyle.index = this.mStyles.filter(function (a) { return (a.name === json.name); })[0].index;\n cellStyle.name = json.name;\n }\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserCellStyle = function (json, cellStyle, cellType, defStyleIndex) {\n //name\n if (json.name !== null && json.name !== undefined) {\n if (cellStyle.isGlobalStyle) {\n cellStyle.name = json.name;\n }\n else {\n this.applyGlobalStyle(json, cellStyle);\n return;\n }\n }\n //background color\n if (json.backColor !== null && json.backColor !== undefined) {\n cellStyle.backColor = json.backColor;\n }\n //borders\n //leftBorder\n cellStyle.borders = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.Borders();\n //AllBorder\n if (json.borders !== null && json.borders !== undefined) {\n this.parserBorder(json.borders, cellStyle.borders.all);\n }\n //leftborder\n if (json.leftBorder !== null && json.leftBorder !== undefined) {\n this.parserBorder(json.leftBorder, cellStyle.borders.left);\n }\n //rightBorder\n if (json.rightBorder !== null && json.rightBorder !== undefined) {\n this.parserBorder(json.rightBorder, cellStyle.borders.right);\n }\n //topBorder\n if (json.topBorder !== null && json.topBorder !== undefined) {\n this.parserBorder(json.topBorder, cellStyle.borders.top);\n }\n //bottomBorder\n if (json.bottomBorder !== null && json.bottomBorder !== undefined) {\n this.parserBorder(json.bottomBorder, cellStyle.borders.bottom);\n }\n //fontName\n if (json.fontName !== null && json.fontName !== undefined) {\n cellStyle.fontName = json.fontName;\n }\n //fontSize\n if (json.fontSize !== null && json.fontSize !== undefined) {\n cellStyle.fontSize = json.fontSize;\n }\n //fontColor\n if (json.fontColor !== null && json.fontColor !== undefined) {\n cellStyle.fontColor = json.fontColor;\n }\n //italic\n if (json.italic !== null && json.italic !== undefined) {\n cellStyle.italic = json.italic;\n }\n //bold\n if (json.bold !== null && json.bold !== undefined) {\n cellStyle.bold = json.bold;\n }\n //hAlign\n if (json.hAlign !== null && json.hAlign !== undefined) {\n cellStyle.hAlign = json.hAlign.toLowerCase();\n }\n //indent\n if (json.indent !== null && json.indent !== undefined) {\n cellStyle.indent = json.indent;\n if (!(cellStyle.hAlign === 'left' || cellStyle.hAlign === 'right')) {\n cellStyle.hAlign = 'left';\n }\n }\n if (json.rotation !== null && json.rotation !== undefined) {\n cellStyle.rotation = json.rotation;\n }\n //vAlign\n if (json.vAlign !== null && json.vAlign !== undefined) {\n cellStyle.vAlign = json.vAlign.toLowerCase();\n }\n //underline\n if (json.underline !== null && json.underline !== undefined) {\n cellStyle.underline = json.underline;\n }\n //strikeThrough\n if (json.strikeThrough !== null && json.strikeThrough !== undefined) {\n cellStyle.strikeThrough = json.strikeThrough;\n }\n //wrapText\n if (json.wrapText !== null && json.wrapText !== undefined) {\n cellStyle.wrapText = json.wrapText;\n }\n //numberFormat\n if (json.numberFormat !== null && json.numberFormat !== undefined) {\n if (json.type !== null && json.type !== undefined) {\n cellStyle.numberFormat = this.getNumberFormat(json.numberFormat, json.type);\n }\n else {\n cellStyle.numberFormat = this.getNumberFormat(json.numberFormat, cellType);\n }\n }\n else if (defStyleIndex !== undefined) {\n cellStyle.numFmtId = 14;\n cellStyle.numberFormat = 'GENERAL';\n }\n else {\n cellStyle.numberFormat = 'GENERAL';\n }\n cellStyle.index = this.processCellStyle(cellStyle);\n };\n Workbook.prototype.switchNumberFormat = function (numberFormat, type) {\n var format = this.getNumberFormat(numberFormat, type);\n if (format !== numberFormat) {\n var numFmt = this.mNumFmt.get(numberFormat);\n if (numFmt !== undefined) {\n numFmt.formatCode = format;\n if (this.mNumFmt.has(format)) {\n for (var _i = 0, _a = this.mCellStyleXfs; _i < _a.length; _i++) {\n var cellStyleXfs = _a[_i];\n if (cellStyleXfs.numFmtId === numFmt.numFmtId) {\n cellStyleXfs.numFmtId = this.mNumFmt.get(format).numFmtId;\n }\n }\n for (var _b = 0, _c = this.mCellXfs; _b < _c.length; _b++) {\n var cellXfs = _c[_b];\n if (cellXfs.numFmtId === numFmt.numFmtId) {\n cellXfs.numFmtId = this.mNumFmt.get(format).numFmtId;\n }\n }\n }\n }\n }\n };\n Workbook.prototype.changeNumberFormats = function (value) {\n if (typeof value == \"string\") {\n var regex = new RegExp(this.currency, 'g');\n value = value.replace(regex, '[$' + this.currency + ']');\n }\n else if (typeof value == \"object\") {\n for (var i = 0; i < value.length; i++) {\n value[i] = value[i].replace(this.currency, '[$' + this.currency + ']');\n }\n }\n return value;\n };\n Workbook.prototype.getNumberFormat = function (numberFormat, type) {\n var returnFormat;\n switch (type) {\n case 'number':\n try {\n returnFormat = this.intl.getNumberPattern({ format: numberFormat, currency: this.currency, useGrouping: true }, true);\n if (this.currency.length > 1) {\n returnFormat = this.changeNumberFormats(returnFormat);\n }\n }\n catch (error) {\n returnFormat = numberFormat;\n }\n break;\n case 'datetime':\n try {\n returnFormat = this.intl.getDatePattern({ skeleton: numberFormat, type: 'dateTime' }, true);\n }\n catch (error) {\n try {\n returnFormat = this.intl.getDatePattern({ format: numberFormat, type: 'dateTime' }, true);\n }\n catch (error) {\n returnFormat = numberFormat;\n }\n }\n break;\n case 'date':\n try {\n returnFormat = this.intl.getDatePattern({ skeleton: numberFormat, type: 'date' }, true);\n }\n catch (error) {\n try {\n returnFormat = this.intl.getDatePattern({ format: numberFormat, type: 'date' }, true);\n }\n catch (error) {\n returnFormat = numberFormat;\n }\n }\n break;\n case 'time':\n try {\n returnFormat = this.intl.getDatePattern({ skeleton: numberFormat, type: 'time' }, true);\n }\n catch (error) {\n try {\n returnFormat = this.intl.getDatePattern({ format: numberFormat, type: 'time' }, true);\n }\n catch (error) {\n returnFormat = numberFormat;\n }\n }\n break;\n default:\n returnFormat = numberFormat;\n break;\n }\n return returnFormat;\n };\n /* tslint:disable:no-any */\n Workbook.prototype.parserBorder = function (json, border) {\n if (json.color !== null && json.color !== undefined) {\n border.color = json.color;\n }\n else {\n border.color = '#000000';\n }\n if (json.lineStyle !== null && json.lineStyle !== undefined) {\n border.lineStyle = json.lineStyle;\n }\n else {\n border.lineStyle = 'thin';\n }\n };\n Workbook.prototype.processCellStyle = function (style) {\n if (style.isGlobalStyle) {\n this.processNumFormatId(style);\n this.mStyles.push(style);\n return this.mStyles.length;\n }\n else {\n var compareResult = this.compareStyle(style);\n if (!compareResult.result) {\n this.processNumFormatId(style);\n this.mStyles.push(style);\n return this.mStyles.length;\n }\n else {\n //Return the index of the already existing style.\n return compareResult.index;\n }\n }\n };\n Workbook.prototype.processNumFormatId = function (style) {\n if (style.numberFormat !== 'GENERAL' && !this.mNumFmt.has(style.numberFormat)) {\n var id = this.mNumFmt.size + 164;\n this.mNumFmt.set(style.numberFormat, new _cell_style__WEBPACK_IMPORTED_MODULE_2__.NumFmt(id, style.numberFormat));\n }\n };\n Workbook.prototype.isNewFont = function (toCompareStyle) {\n var result = false;\n var index = 0;\n for (var _i = 0, _a = this.mFonts; _i < _a.length; _i++) {\n var font = _a[_i];\n index++;\n var fontColor = undefined;\n if (toCompareStyle.fontColor !== undefined) {\n fontColor = ('FF' + toCompareStyle.fontColor.replace('#', ''));\n }\n result = font.color === fontColor &&\n font.b === toCompareStyle.bold &&\n font.i === toCompareStyle.italic &&\n font.u === toCompareStyle.underline &&\n font.strike === toCompareStyle.strikeThrough &&\n font.name === toCompareStyle.fontName &&\n font.sz === toCompareStyle.fontSize;\n if (result) {\n break;\n }\n }\n index = index - 1;\n return { index: index, result: result };\n };\n Workbook.prototype.isNewBorder = function (toCompareStyle) {\n var bStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n if (this.isAllBorder(toCompareStyle.borders)) {\n return (bStyle.borders.all.color === toCompareStyle.borders.all.color &&\n bStyle.borders.all.lineStyle === toCompareStyle.borders.all.lineStyle);\n }\n else {\n return (bStyle.borders.left.color === toCompareStyle.borders.left.color &&\n bStyle.borders.left.lineStyle === toCompareStyle.borders.left.lineStyle &&\n bStyle.borders.right.color === toCompareStyle.borders.right.color &&\n bStyle.borders.right.lineStyle === toCompareStyle.borders.right.lineStyle &&\n bStyle.borders.top.color === toCompareStyle.borders.top.color &&\n bStyle.borders.top.lineStyle === toCompareStyle.borders.top.lineStyle &&\n bStyle.borders.bottom.color === toCompareStyle.borders.bottom.color &&\n bStyle.borders.bottom.lineStyle === toCompareStyle.borders.bottom.lineStyle);\n }\n };\n Workbook.prototype.isAllBorder = function (toCompareBorder) {\n var allBorderStyle = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyle();\n return allBorderStyle.borders.all.color !== toCompareBorder.all.color &&\n allBorderStyle.borders.all.lineStyle !== toCompareBorder.all.lineStyle;\n };\n Workbook.prototype.compareStyle = function (toCompareStyle) {\n var result = true;\n var index = 0;\n var globalStyleIndex = 0;\n for (var _i = 0, _a = this.mStyles; _i < _a.length; _i++) {\n var baseStyle = _a[_i];\n result = baseStyle.isGlobalStyle ? false : (baseStyle.backColor === toCompareStyle.backColor &&\n baseStyle.bold === toCompareStyle.bold &&\n baseStyle.numFmtId === toCompareStyle.numFmtId &&\n baseStyle.numberFormat === toCompareStyle.numberFormat &&\n baseStyle.type === toCompareStyle.type &&\n baseStyle.fontColor === toCompareStyle.fontColor &&\n baseStyle.fontName === toCompareStyle.fontName &&\n baseStyle.fontSize === toCompareStyle.fontSize &&\n baseStyle.hAlign === toCompareStyle.hAlign &&\n baseStyle.italic === toCompareStyle.italic &&\n baseStyle.underline === toCompareStyle.underline &&\n baseStyle.strikeThrough === toCompareStyle.strikeThrough &&\n baseStyle.vAlign === toCompareStyle.vAlign &&\n baseStyle.indent === toCompareStyle.indent &&\n baseStyle.rotation === toCompareStyle.rotation &&\n baseStyle.wrapText === toCompareStyle.wrapText &&\n (baseStyle.borders.all.color === toCompareStyle.borders.all.color &&\n baseStyle.borders.all.lineStyle === toCompareStyle.borders.all.lineStyle) &&\n (baseStyle.borders.left.color === toCompareStyle.borders.left.color &&\n baseStyle.borders.left.lineStyle === toCompareStyle.borders.left.lineStyle &&\n baseStyle.borders.right.color === toCompareStyle.borders.right.color &&\n baseStyle.borders.right.lineStyle === toCompareStyle.borders.right.lineStyle &&\n baseStyle.borders.top.color === toCompareStyle.borders.top.color &&\n baseStyle.borders.top.lineStyle === toCompareStyle.borders.top.lineStyle &&\n baseStyle.borders.bottom.color === toCompareStyle.borders.bottom.color &&\n baseStyle.borders.bottom.lineStyle === toCompareStyle.borders.bottom.lineStyle));\n if (result) {\n index = baseStyle.index;\n break;\n }\n }\n return { index: index, result: result };\n };\n Workbook.prototype.contains = function (array, item) {\n var index = array.indexOf(item);\n return index > -1 && index < array.length;\n };\n Workbook.prototype.getCellValueType = function (value) {\n if (value instanceof Date) {\n return 'datetime';\n }\n else if (typeof (value) === 'boolean') {\n return 'boolean';\n }\n else if (typeof (value) === 'number') {\n return 'number';\n }\n else {\n return 'string';\n }\n };\n Workbook.prototype.parseCellType = function (cell) {\n var type = cell.type;\n var saveType;\n var value = cell.value;\n switch (type) {\n case 'datetime':\n value = this.toOADate(value);\n if (cell.cellStyle !== undefined && cell.cellStyle.name !== undefined) {\n if (this.globalStyles.has(cell.cellStyle.name)) {\n var value_1 = this.globalStyles.get(cell.cellStyle.name);\n this.switchNumberFormat(value_1.format, value_1.type);\n }\n }\n saveType = 'n';\n break;\n //TODO: Update the number format index and style\n case 'boolean':\n value = value ? 1 : 0;\n saveType = 'b';\n break;\n case 'number':\n saveType = 'n';\n if (cell.cellStyle !== undefined && cell.cellStyle.name !== undefined) {\n if (this.globalStyles.has(cell.cellStyle.name)) {\n this.switchNumberFormat(this.globalStyles.get(cell.cellStyle.name).format, 'number');\n }\n }\n break;\n case 'string':\n this.sharedStringCount++;\n saveType = 's';\n var sstvalue = this.processCellValue(value, cell);\n if (!this.contains(this.sharedString, sstvalue)) {\n this.sharedString.push(sstvalue);\n }\n value = this.sharedString.indexOf(sstvalue);\n break;\n default:\n break;\n }\n cell.saveType = saveType;\n cell.value = value;\n };\n Workbook.prototype.parserImages = function (json, sheet) {\n var imagesLength = json.length;\n sheet.images = [];\n var imageId = 0;\n for (var p = 0; p < imagesLength; p++) {\n var image = this.parserImage(json[p]);\n sheet.images.push(image);\n }\n };\n Workbook.prototype.parseFilters = function (json, sheet) {\n sheet.autoFilters = new _auto_filters__WEBPACK_IMPORTED_MODULE_9__.AutoFilters();\n if (json.row !== null && json.row !== undefined)\n sheet.autoFilters.row = json.row;\n else\n throw new Error('Argument Null Exception: row null or empty');\n if (json.lastRow !== null && json.lastRow !== undefined)\n sheet.autoFilters.lastRow = json.lastRow;\n else\n throw new Error('Argument Null Exception: lastRow cannot be null or empty');\n if (json.column !== null && json.column !== undefined)\n sheet.autoFilters.column = json.column;\n else\n throw new Error('Argument Null Exception: column cannot be null or empty');\n if (json.lastColumn !== null && json.row !== undefined)\n sheet.autoFilters.lastColumn = json.lastColumn;\n else\n throw new Error('Argument Null Exception: lastColumn cannot be null or empty');\n };\n Workbook.prototype.parserImage = function (json) {\n var image = new _image__WEBPACK_IMPORTED_MODULE_10__.Image();\n if (json.image !== null && json.image !== undefined) {\n image.image = json.image;\n }\n if (json.row !== null && json.row !== undefined) {\n image.row = json.row;\n }\n if (json.column !== null && json.column !== undefined) {\n image.column = json.column;\n }\n if (json.lastRow !== null && json.lastRow !== undefined) {\n image.lastRow = json.lastRow;\n }\n if (json.lastColumn !== null && json.lastColumn !== undefined) {\n image.lastColumn = json.lastColumn;\n }\n if (json.width !== null && json.width !== undefined) {\n image.width = json.width;\n }\n if (json.height !== null && json.height !== undefined) {\n image.height = json.height;\n }\n if (json.horizontalFlip !== null && json.horizontalFlip !== undefined) {\n image.horizontalFlip = json.horizontalFlip;\n }\n if (json.verticalFlip !== null && json.verticalFlip !== undefined) {\n image.verticalFlip = json.verticalFlip;\n }\n if (json.rotation !== null && json.rotation !== undefined) {\n image.rotation = json.rotation;\n }\n return image;\n };\n /**\n * Returns a Promise with a Blob based on the specified BlobSaveType and optional encoding.\n * @param {BlobSaveType} blobSaveType - A string indicating the type of Blob to generate ('text/csv' or other).\n * @param {string} [encodingType] - The supported encoding types are \"ansi\", \"unicode\" and \"utf8\".\n */\n /* tslint:disable:no-any */\n Workbook.prototype.saveAsBlob = function (blobSaveType, encodingType) {\n var _this = this;\n switch (blobSaveType) {\n case 'text/csv':\n return new Promise(function (resolve, reject) {\n var obj = {};\n obj.blobData = _this.csvHelper.saveAsBlob(encodingType);\n resolve(obj);\n });\n default:\n return new Promise(function (resolve, reject) {\n _this.saveInternal();\n _this.mArchive.saveAsBlob().then(function (blob) {\n var obj = {};\n obj.blobData = new Blob([blob], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n resolve(obj);\n });\n });\n }\n };\n Workbook.prototype.save = function (fileName, proxyUrl) {\n var _this = this;\n if (fileName === null || fileName === undefined || fileName === '') {\n throw new Error('Argument Null Exception: fileName cannot be null or empty');\n }\n var xlsxMatch = fileName.match('.xlsx$');\n var csvMatch = fileName.match('.csv$');\n if (xlsxMatch !== null && xlsxMatch[0] === ('.' + this.mSaveType)) {\n this.saveInternal();\n this.mArchive.save(fileName).then(function () {\n _this.mArchive.destroy();\n });\n }\n else if (csvMatch !== null && csvMatch[0] === ('.' + this.mSaveType)) {\n this.csvHelper.save(fileName);\n }\n else {\n throw Error('Save type and file extension is different.');\n }\n };\n Workbook.prototype.saveInternal = function () {\n this.saveWorkbook();\n this.saveWorksheets();\n this.saveSharedString();\n this.saveStyles();\n this.saveApp(this.builtInProperties);\n this.saveCore(this.builtInProperties);\n this.saveContentType();\n this.saveTopLevelRelation();\n this.saveWorkbookRelation();\n };\n Workbook.prototype.saveWorkbook = function () {\n /* tslint:disable-next-line:max-line-length */\n var workbookTemp = '';\n var sheets = '';\n var length = this.worksheets.length;\n for (var i = 0; i < length; i++) {\n /* tslint:disable-next-line:max-line-length */\n var sheetName = this.worksheets[i].name;\n sheetName = sheetName.replace(\"&\", \"&\");\n sheetName = sheetName.replace(\"<\", \"<\");\n sheetName = sheetName.replace(\">\", \">\");\n sheetName = sheetName.replace(\"\\\"\", \""\");\n sheets += '';\n }\n sheets += '';\n workbookTemp += sheets;\n if (this.printTitles.size > 0) {\n var printTitle_1 = '';\n this.printTitles.forEach(function (value, key) {\n printTitle_1 += '' + value + '';\n });\n printTitle_1 += '';\n workbookTemp += printTitle_1;\n }\n this.addToArchive(workbookTemp + '', 'xl/workbook.xml');\n };\n Workbook.prototype.saveWorksheets = function () {\n var length = this.worksheets.length;\n for (var i = 0; i < length; i++) {\n this.saveWorksheet(this.worksheets[i], i);\n }\n };\n Workbook.prototype.saveWorksheet = function (sheet, index) {\n var sheetBlob = new _blob_helper__WEBPACK_IMPORTED_MODULE_11__.BlobHelper();\n /* tslint:disable-next-line:max-line-length */\n var sheetString = '';\n if (!sheet.isSummaryRowBelow) {\n sheetString += ('' + '' + '' + '');\n }\n else {\n sheetString += ('');\n }\n sheetString += this.saveSheetView(sheet);\n if (sheet.columns !== undefined) {\n var colString = '';\n for (var _i = 0, _a = sheet.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n /* tslint:disable-next-line:max-line-length */\n if (column.width !== undefined) {\n colString += '';\n }\n else {\n colString += '';\n }\n }\n sheetString += (colString + '');\n }\n sheetString += ('');\n sheetBlob.append(sheetString);\n sheetString = '';\n if (sheet.rows !== undefined) {\n for (var _b = 0, _c = sheet.rows; _b < _c.length; _b++) {\n var row = _c[_b];\n var rowString = '');\n for (var _d = 0, _e = row.cells; _d < _e.length; _d++) {\n var cell = _e[_d];\n if (cell !== undefined && (cell.value !== undefined || cell.cellStyle !== undefined)) {\n rowString += ('');\n if (cell.formula !== undefined) {\n rowString += ('' + cell.formula + '');\n }\n if (cell.value !== undefined) {\n rowString += ('' + cell.value + '');\n }\n else {\n rowString += ('');\n }\n }\n }\n rowString += ('');\n sheetBlob.append(rowString);\n }\n }\n sheetString += ('');\n /* tslint:disable-next-line:max-line-length */\n if (sheet.autoFilters !== null && sheet.autoFilters !== undefined)\n sheetString += ('');\n if (sheet.mergeCells.length > 0) {\n sheetString += ('');\n for (var _f = 0, _g = sheet.mergeCells; _f < _g.length; _f++) {\n var mCell = _g[_f];\n sheetString += ('');\n }\n sheetString += ('');\n }\n if (sheet.hyperLinks.length > 0) {\n sheetString += ('');\n for (var _h = 0, _j = sheet.hyperLinks; _h < _j.length; _h++) {\n var hLink = _j[_h];\n sheetString += ('');\n }\n sheetString += ('');\n }\n /* tslint:disable-next-line:max-line-length */\n sheetString += ('');\n if (sheet.images != undefined && sheet.images.length > 0) {\n this.drawingCount++;\n this.saveDrawings(sheet, sheet.index);\n sheetString += '';\n }\n this.addToArchive(this.saveSheetRelations(sheet), ('xl/worksheets/_rels/sheet' + sheet.index + '.xml.rels'));\n sheetBlob.append(sheetString + '');\n this.addToArchive(sheetBlob.getBlob(), 'xl/worksheets' + '/sheet' + (index + 1) + '.xml');\n };\n Workbook.prototype.saveDrawings = function (sheet, index) {\n var drawings = new _blob_helper__WEBPACK_IMPORTED_MODULE_11__.BlobHelper();\n /* tslint:disable-next-line:max-line-length */\n var sheetDrawingString = '';\n if (sheet.images !== undefined) {\n var imgId = 0;\n for (var _i = 0, _a = sheet.images; _i < _a.length; _i++) {\n var pic = _a[_i];\n if (pic.height !== undefined && pic.width !== undefined) {\n this.updatelastRowOffset(sheet, pic);\n this.updatelastColumnOffSet(sheet, pic);\n pic.lastRow -= 1;\n pic.lastColumn -= 1;\n }\n else if (pic.lastRow !== undefined && pic.lastColumn !== undefined) {\n pic.lastRowOffset = 0;\n pic.lastColOffset = 0;\n }\n imgId++;\n sheetDrawingString += '';\n sheetDrawingString += '';\n //col\n sheetDrawingString += pic.column - 1;\n sheetDrawingString += '';\n //colOff\n sheetDrawingString += 0;\n sheetDrawingString += '';\n //row\n sheetDrawingString += pic.row - 1;\n sheetDrawingString += '';\n //rowOff\n sheetDrawingString += 0;\n sheetDrawingString += '';\n sheetDrawingString += '';\n //col\n sheetDrawingString += pic.lastColumn;\n sheetDrawingString += '';\n //colOff\n sheetDrawingString += pic.lastColOffset;\n sheetDrawingString += '';\n //row\n sheetDrawingString += pic.lastRow;\n sheetDrawingString += '';\n //rowOff\n sheetDrawingString += pic.lastRowOffset;\n sheetDrawingString += '';\n sheetDrawingString += '';\n sheetDrawingString += '';\n sheetDrawingString += ' ';\n sheetDrawingString += ' ';\n sheetDrawingString += '';\n /* tslint:disable-next-line:max-line-length */\n sheetDrawingString += '';\n sheetDrawingString += '';\n sheetDrawingString += '';\n sheetDrawingString += '= -3600) {\n sheetDrawingString += ' rot=\"' + (pic.rotation * 60000) + '\"';\n }\n if (pic.verticalFlip != undefined && pic.verticalFlip != false) {\n sheetDrawingString += ' flipV=\"1\"';\n }\n if (pic.horizontalFlip != undefined && pic.horizontalFlip != false) {\n sheetDrawingString += ' flipH=\"1\"';\n }\n sheetDrawingString += '/>';\n sheetDrawingString += '';\n sheetDrawingString += '';\n var imageFile = new _blob_helper__WEBPACK_IMPORTED_MODULE_11__.BlobHelper();\n var imageData = this.convertBase64toImage(pic.image);\n this.imageCount += 1;\n this.addToArchive(imageData, 'xl/media/image' + this.imageCount + '.png');\n }\n drawings.append(sheetDrawingString);\n drawings.append('');\n this.saveDrawingRelations(sheet);\n this.addToArchive(drawings.getBlob(), 'xl/drawings/drawing' + this.drawingCount + '.xml');\n }\n };\n Workbook.prototype.updatelastRowOffset = function (sheet, picture) {\n var iCurHeight = picture.height;\n var iCurRow = picture.row;\n var iCurOffset = 0;\n while (iCurHeight >= 0) {\n var iRowHeight = 0;\n if (sheet.rows !== undefined && sheet.rows[iCurRow - 1] !== undefined)\n iRowHeight = this.convertToPixels(sheet.rows[iCurRow - 1].height === undefined ? 15 : sheet.rows[iCurRow - 1].height);\n else\n iRowHeight = this.convertToPixels(15);\n var iSpaceInCell = iRowHeight - (iCurOffset * iRowHeight / 256);\n if (iSpaceInCell > iCurHeight) {\n picture.lastRow = iCurRow;\n picture.lastRowOffset = iCurOffset + (iCurHeight * 256 / iRowHeight);\n var rowHiddenHeight = 0;\n if (sheet.rows !== undefined && sheet.rows[iCurRow - 1] !== undefined)\n rowHiddenHeight = this.convertToPixels(sheet.rows[iCurRow - 1].height === undefined ? 15 : sheet.rows[iCurRow - 1].height);\n else\n rowHiddenHeight = this.convertToPixels(15);\n picture.lastRowOffset = (rowHiddenHeight * picture.lastRowOffset) / 256;\n picture.lastRowOffset = Math.round(picture.lastRowOffset / this.unitsProportions[7]);\n break;\n }\n else {\n iCurHeight -= iSpaceInCell;\n iCurRow++;\n iCurOffset = 0;\n }\n }\n };\n Workbook.prototype.updatelastColumnOffSet = function (sheet, picture) {\n var iCurWidth = picture.width;\n var iCurCol = picture.column;\n var iCurOffset = 0;\n while (iCurWidth >= 0) {\n var iColWidth = 0;\n if (sheet.columns !== undefined && sheet.columns[iCurCol - 1] !== undefined)\n iColWidth = this.ColumnWidthToPixels(sheet.columns[iCurCol - 1].width === undefined ? 8.43 : sheet.columns[iCurCol - 1].width);\n else\n iColWidth = this.ColumnWidthToPixels(8.43);\n var iSpaceInCell = iColWidth - (iCurOffset * iColWidth / 1024);\n if (iSpaceInCell > iCurWidth) {\n picture.lastColumn = iCurCol;\n picture.lastColOffset = iCurOffset + (iCurWidth * 1024 / iColWidth);\n var colHiddenWidth = 0;\n if (sheet.columns !== undefined && sheet.columns[iCurCol - 1] !== undefined)\n colHiddenWidth = this.ColumnWidthToPixels(sheet.columns[iCurCol - 1].width === undefined ? 8.43 : sheet.columns[iCurCol - 1].width);\n else\n colHiddenWidth = this.ColumnWidthToPixels(8.43);\n picture.lastColOffset = (colHiddenWidth * picture.lastColOffset) / 1024;\n picture.lastColOffset = Math.round(picture.lastColOffset / this.unitsProportions[7]);\n break;\n }\n else {\n iCurWidth -= iSpaceInCell;\n iCurCol++;\n iCurOffset = 0;\n }\n }\n };\n Workbook.prototype.convertToPixels = function (value) {\n return value * this.unitsProportions[6];\n };\n Workbook.prototype.convertBase64toImage = function (img) {\n var byteStr = window.atob(img);\n var buffer = new ArrayBuffer(byteStr.length);\n var data = new Uint8Array(buffer);\n for (var i = 0; i < byteStr.length; i++) {\n data[i] = byteStr.charCodeAt(i);\n }\n var blob = new Blob([data], { type: 'image/png' });\n return blob;\n };\n Workbook.prototype.saveDrawingRelations = function (sheet) {\n /* tslint:disable-next-line:max-line-length */\n var drawingRelation = '';\n var length = sheet.images.length;\n var id = this.imageCount - sheet.images.length;\n for (var i = 1; i <= length; i++) {\n id++;\n /* tslint:disable-next-line:max-line-length */\n drawingRelation += '';\n }\n this.addToArchive((drawingRelation + ''), 'xl/drawings/_rels/drawing' + this.drawingCount + '.xml.rels');\n };\n Workbook.prototype.pixelsToColumnWidth = function (pixels) {\n var dDigitWidth = 7;\n var val = (pixels > dDigitWidth + 5) ?\n this.trunc((pixels - 5) / dDigitWidth * 100 + 0.5) / 100 :\n pixels / (dDigitWidth + 5);\n return (val > 1) ?\n ((val * dDigitWidth + 5) / dDigitWidth * 256.0) / 256.0 :\n (val * (dDigitWidth + 5) / dDigitWidth * 256.0) / 256.0;\n };\n Workbook.prototype.ColumnWidthToPixels = function (val) {\n var dDigitWidth = 7;\n var fileWidth = (val > 1) ?\n ((val * dDigitWidth + 5) / dDigitWidth * 256.0) / 256.0 :\n (val * (dDigitWidth + 5) / dDigitWidth * 256.0) / 256.0;\n return this.trunc(((256 * fileWidth + this.trunc(128 / dDigitWidth)) / 256) * dDigitWidth);\n };\n Workbook.prototype.trunc = function (x) {\n var n = x - x % 1;\n return n === 0 && (x < 0 || (x === 0 && (1 / x !== 1 / 0))) ? -0 : n;\n };\n Workbook.prototype.pixelsToRowHeight = function (pixels) {\n return (pixels * this.unitsProportions[5] / this.unitsProportions[6]);\n };\n Workbook.prototype.saveSheetRelations = function (sheet) {\n /* tslint:disable-next-line:max-line-length */\n var relStr = '';\n for (var _i = 0, _a = sheet.hyperLinks; _i < _a.length; _i++) {\n var hLink = _a[_i];\n /* tslint:disable-next-line:max-line-length */\n relStr += '';\n }\n if (sheet.images != undefined && sheet.images.length > 0) {\n /* tslint:disable-next-line:max-line-length */\n relStr += '';\n }\n relStr += '';\n return relStr;\n };\n Workbook.prototype.saveSheetView = function (sheet) {\n var paneString = ' 0) {\n /* tslint:disable-next-line:max-line-length */\n var sstStart = '';\n var si = '';\n for (var i = 0; i < length; i++) {\n if (this.sharedString[i].indexOf('') !== 0) {\n si += '';\n si += this.processString(this.sharedString[i]);\n si += '';\n }\n else {\n si += '';\n si += this.sharedString[i];\n si += '';\n }\n }\n si += '';\n this.addToArchive(sstStart + si, 'xl/sharedStrings.xml');\n }\n };\n Workbook.prototype.processString = function (value) {\n if (typeof value == \"string\") {\n if (value.indexOf('&') !== -1) {\n value = value.replace(/&/g, '&');\n }\n if (value.indexOf('<') !== -1) {\n value = value.replace(/') !== -1) {\n value = value.replace(/>/g, '>');\n }\n if (value.indexOf('\\v') !== -1) {\n value = value.replace(/\\v/g, '_x000B_');\n }\n }\n else if (typeof value == \"object\") {\n for (var i = 0; i < value.length; i++) {\n if (value[i].indexOf('&') !== -1) {\n value[i] = value[i].replace(/&/g, '&');\n }\n if (value[i].indexOf('<') !== -1) {\n value[i] = value[i].replace(/') !== -1) {\n value[i] = value[i].replace(/>/g, '>');\n }\n if (value[i].indexOf('\\v') !== -1) {\n value[i] = value[i].replace(/\\v/g, '_x000B_');\n }\n }\n }\n return value;\n };\n Workbook.prototype.saveStyles = function () {\n this.updateCellXfsStyleXfs();\n /* tslint:disable-next-line:max-line-length */\n var styleTemp = '';\n styleTemp += this.saveNumberFormats();\n styleTemp += this.saveFonts();\n styleTemp += this.saveFills();\n styleTemp += this.saveBorders();\n styleTemp += this.saveCellStyleXfs();\n styleTemp += this.saveCellXfs();\n styleTemp += this.saveCellStyles();\n this.addToArchive(styleTemp + '', 'xl/styles.xml');\n };\n Workbook.prototype.updateCellXfsStyleXfs = function () {\n for (var _i = 0, _a = this.mStyles; _i < _a.length; _i++) {\n var style = _a[_i];\n var cellXfs = undefined;\n if (style.isGlobalStyle) {\n cellXfs = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellStyleXfs();\n cellXfs.xfId = (style.index - 1);\n }\n else {\n cellXfs = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.CellXfs();\n cellXfs.xfId = 0;\n }\n //Add font\n var compareFontResult = this.isNewFont(style);\n if (!compareFontResult.result) {\n var font = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.Font();\n font.b = style.bold;\n font.i = style.italic;\n font.name = style.fontName;\n font.sz = style.fontSize;\n font.u = style.underline;\n font.strike = style.strikeThrough;\n font.color = ('FF' + style.fontColor.replace('#', ''));\n this.mFonts.push(font);\n cellXfs.fontId = this.mFonts.length - 1;\n }\n else {\n cellXfs.fontId = compareFontResult.index;\n }\n //Add fill\n if (style.backColor !== 'none') {\n var backColor = 'FF' + style.backColor.replace('#', '');\n if (this.mFills.has(backColor)) {\n var fillId = this.mFills.get(backColor);\n cellXfs.fillId = fillId;\n }\n else {\n var fillId = this.mFills.size + 2;\n this.mFills.set(backColor, fillId);\n cellXfs.fillId = (fillId);\n }\n }\n else {\n cellXfs.fillId = 0;\n }\n //Add border \n if (!this.isNewBorder(style)) {\n this.mBorders.push(style.borders);\n cellXfs.borderId = this.mBorders.length;\n }\n else {\n cellXfs.borderId = 0;\n }\n //Add Number Format \n if (style.numberFormat !== 'GENERAL') {\n if (this.mNumFmt.has(style.numberFormat)) {\n var numFmt = this.mNumFmt.get(style.numberFormat);\n cellXfs.numFmtId = numFmt.numFmtId;\n }\n else {\n var id = this.mNumFmt.size + 164;\n this.mNumFmt.set(style.numberFormat, new _cell_style__WEBPACK_IMPORTED_MODULE_2__.NumFmt(id, style.numberFormat));\n cellXfs.numFmtId = id;\n }\n }\n else {\n if (style.numberFormat === 'GENERAL' && style.numFmtId === 14) {\n cellXfs.numFmtId = 14;\n }\n else {\n cellXfs.numFmtId = 0;\n }\n }\n //Add alignment \n if (!style.isGlobalStyle) {\n cellXfs.applyAlignment = 1;\n }\n cellXfs.alignment = new _cell_style__WEBPACK_IMPORTED_MODULE_2__.Alignment();\n cellXfs.alignment.indent = style.indent;\n cellXfs.alignment.horizontal = style.hAlign;\n cellXfs.alignment.vertical = style.vAlign;\n cellXfs.alignment.wrapText = style.wrapText ? 1 : 0;\n cellXfs.alignment.rotation = style.rotation;\n if (style.isGlobalStyle) {\n this.mCellStyleXfs.push(cellXfs);\n this.mCellXfs.push(cellXfs);\n }\n else {\n //Add cellxfs\n this.mCellXfs.push(cellXfs);\n }\n }\n };\n Workbook.prototype.saveNumberFormats = function () {\n if (this.mNumFmt.size >= 1) {\n var numFmtStyle_1 = '';\n this.mNumFmt.forEach(function (value, key) {\n numFmtStyle_1 += '';\n });\n return (numFmtStyle_1 += '');\n }\n else {\n return '';\n }\n };\n Workbook.prototype.saveFonts = function () {\n /* tslint:disable-next-line:max-line-length */\n var fontStyle = '';\n if (this.mFonts.length >= 1) {\n for (var _i = 0, _a = this.mFonts; _i < _a.length; _i++) {\n var font = _a[_i];\n fontStyle += '';\n if (font.b) {\n fontStyle += '';\n }\n if (font.i) {\n fontStyle += '';\n }\n if (font.u) {\n fontStyle += '';\n }\n if (font.strike) {\n fontStyle += '';\n }\n fontStyle += '';\n fontStyle += '';\n fontStyle += '';\n }\n }\n return fontStyle + '';\n };\n Workbook.prototype.saveFills = function () {\n /* tslint:disable-next-line:max-line-length */\n var fillsStyle = '';\n if (this.mFills.size >= 1) {\n this.mFills.forEach(function (value, key) {\n /* tslint:disable-next-line:max-line-length */\n fillsStyle += '';\n });\n }\n return fillsStyle + '';\n };\n Workbook.prototype.saveBorders = function () {\n /* tslint:disable-next-line:max-line-length */\n var bordersStyle = '';\n if (this.mBorders.length >= 1) {\n for (var _i = 0, _a = this.mBorders; _i < _a.length; _i++) {\n var borders = _a[_i];\n if (this.isAllBorder(borders)) {\n var color = borders.all.color.replace('#', '');\n var lineStyle = borders.all.lineStyle;\n /* tslint:disable-next-line:max-line-length */\n bordersStyle += '';\n }\n else {\n /* tslint:disable-next-line:max-line-length */\n bordersStyle += '';\n }\n }\n }\n return bordersStyle + '';\n };\n Workbook.prototype.saveCellStyles = function () {\n var _this = this;\n var cellStyleString = '';\n this.cellStyles.forEach(function (value, key) {\n cellStyleString += '';\n if (this.mCellStyleXfs.length >= 1) {\n for (var _i = 0, _a = this.mCellStyleXfs; _i < _a.length; _i++) {\n var cellStyleXf = _a[_i];\n /* tslint:disable-next-line:max-line-length */\n cellXfsStyle += '';\n }\n else {\n cellXfsStyle += ' />';\n }\n }\n }\n return cellXfsStyle + '';\n };\n Workbook.prototype.saveCellXfs = function () {\n /* tslint:disable-next-line:max-line-length */\n var cellXfsStyle = '';\n if (this.mCellXfs.length >= 1) {\n for (var _i = 0, _a = this.mCellXfs; _i < _a.length; _i++) {\n var cellXf = _a[_i];\n /* tslint:disable-next-line:max-line-length */\n cellXfsStyle += '';\n }\n }\n return cellXfsStyle + '';\n };\n Workbook.prototype.saveAlignment = function (cellXf) {\n var alignString = '';\n return alignString;\n };\n Workbook.prototype.saveApp = function (builtInProperties) {\n /* tslint:disable-next-line:max-line-length */\n var appString = 'Essential XlsIO';\n if (builtInProperties !== undefined) {\n if (builtInProperties.manager !== undefined) {\n appString += '' + builtInProperties.manager + '';\n }\n if (builtInProperties.company !== undefined) {\n appString += '' + builtInProperties.company + '';\n }\n }\n this.addToArchive((appString + ''), 'docProps/app.xml');\n };\n Workbook.prototype.saveCore = function (builtInProperties) {\n var createdDate = new Date();\n /* tslint:disable-next-line:max-line-length */\n var coreString = '';\n if (this.builtInProperties !== undefined) {\n if (builtInProperties.author !== undefined) {\n coreString += '' + builtInProperties.author + '';\n }\n if (builtInProperties.subject !== undefined) {\n coreString += '' + builtInProperties.subject + '';\n }\n if (builtInProperties.category !== undefined) {\n coreString += '' + builtInProperties.category + '';\n }\n if (builtInProperties.comments !== undefined) {\n coreString += '' + builtInProperties.comments + '';\n }\n if (builtInProperties.title !== undefined) {\n coreString += '' + builtInProperties.title + '';\n }\n if (builtInProperties.tags !== undefined) {\n coreString += '' + builtInProperties.tags + '';\n }\n if (builtInProperties.status !== undefined) {\n coreString += '' + builtInProperties.status + '';\n }\n if (builtInProperties.createdDate !== undefined) {\n /* tslint:disable-next-line:max-line-length */\n coreString += '' + builtInProperties.createdDate.toISOString() + '';\n }\n else {\n coreString += '' + createdDate.toISOString() + '';\n }\n if (builtInProperties.modifiedDate !== undefined) {\n /* tslint:disable-next-line:max-line-length */\n coreString += '' + builtInProperties.modifiedDate.toISOString() + '';\n }\n else {\n coreString += '' + createdDate.toISOString() + '';\n }\n }\n else {\n coreString += '' + createdDate.toISOString() + '';\n coreString += '' + createdDate.toISOString() + '';\n }\n /* tslint:disable-next-line:max-line-length */\n coreString += '';\n this.addToArchive(coreString, 'docProps/core.xml');\n };\n Workbook.prototype.saveTopLevelRelation = function () {\n /* tslint:disable-next-line:max-line-length */\n var topRelation = '';\n this.addToArchive(topRelation, '_rels/.rels');\n };\n Workbook.prototype.saveWorkbookRelation = function () {\n /* tslint:disable-next-line:max-line-length */\n var wbRelation = '';\n var length = this.worksheets.length;\n var count = 0;\n for (var i = 0; i < length; i++, count++) {\n /* tslint:disable-next-line:max-line-length */\n wbRelation += '';\n }\n /* tslint:disable-next-line:max-line-length */\n wbRelation += '';\n if (this.sharedStringCount > 0) {\n /* tslint:disable-next-line:max-line-length */\n wbRelation += '';\n }\n this.addToArchive((wbRelation + ''), 'xl/_rels/workbook.xml.rels');\n };\n Workbook.prototype.saveContentType = function () {\n /* tslint:disable-next-line:max-line-length */\n var contentTypeString = '';\n var sheetsOverride = '';\n var length = this.worksheets.length;\n var drawingIndex = 0;\n for (var i = 0; i < length; i++) {\n /* tslint:disable-next-line:max-line-length */\n sheetsOverride += '';\n if (this.worksheets[i].images != undefined && this.worksheets[i].images.length > 0) {\n drawingIndex++;\n /* tslint:disable-next-line:max-line-length */\n sheetsOverride += '';\n }\n }\n if (this.imageCount > 0)\n sheetsOverride += '';\n if (this.sharedStringCount > 0) {\n /* tslint:disable-next-line:max-line-length */\n contentTypeString += '';\n }\n this.addToArchive((contentTypeString + sheetsOverride + ''), '[Content_Types].xml');\n };\n Workbook.prototype.addToArchive = function (xmlString, itemName) {\n if (typeof (xmlString) === 'string') {\n var blob = new Blob([xmlString], { type: 'text/plain' });\n var archiveItem = new _syncfusion_ej2_compression__WEBPACK_IMPORTED_MODULE_1__.ZipArchiveItem(blob, itemName);\n this.mArchive.addItem(archiveItem);\n }\n else {\n var archiveItem = new _syncfusion_ej2_compression__WEBPACK_IMPORTED_MODULE_1__.ZipArchiveItem(xmlString, itemName);\n this.mArchive.addItem(archiveItem);\n }\n };\n Workbook.prototype.processMergeCells = function (cell, rowIndex, mergeCells) {\n if (cell.rowSpan !== 0 || cell.colSpan !== 0) {\n var mCell = new _worksheet__WEBPACK_IMPORTED_MODULE_5__.MergeCell();\n mCell.x = cell.index;\n mCell.width = cell.colSpan;\n mCell.y = rowIndex;\n mCell.height = cell.rowSpan;\n var startCell = this.getCellName(mCell.y, mCell.x);\n var endCell = this.getCellName(rowIndex + mCell.height, cell.index + mCell.width);\n mCell.ref = startCell + ':' + endCell;\n var mergedCell = mergeCells.add(mCell);\n var start = { x: mCell.x, y: mCell.y };\n var end = {\n x: (cell.index + mCell.width), y: (rowIndex + mCell.height)\n };\n this.updatedMergedCellStyles(start, end, cell);\n }\n return mergeCells;\n };\n Workbook.prototype.updatedMergedCellStyles = function (sCell, eCell, cell) {\n for (var x = sCell.x; x <= eCell.x; x++) {\n for (var y = sCell.y; y <= eCell.y; y++) {\n this.mergedCellsStyle.set(this.getCellName(y, x), { x: x, y: y, styleIndex: cell.styleIndex });\n }\n }\n };\n /**\n * Returns the tick count corresponding to the given year, month, and day.\n * @param year number value of year\n * @param month number value of month\n * @param day number value of day\n */\n Workbook.prototype.dateToTicks = function (year, month, day) {\n var ticksPerDay = 10000 * 1000 * 60 * 60 * 24;\n var daysToMonth365 = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];\n var daysToMonth366 = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366];\n if (year >= 1 && year <= 9999 && month >= 1 && month <= 12) {\n var days = this.isLeapYear(year) ? daysToMonth366 : daysToMonth365;\n var y = year - 1;\n var n = y * 365 + ((y / 4) | 0) - ((y / 100) | 0) + ((y / 400) | 0) + days[month - 1] + day - 1;\n return n * ticksPerDay;\n }\n throw new Error('Not a valid date');\n };\n /**\n * Return the tick count corresponding to the given hour, minute, second.\n * @param hour number value of hour\n * @param minute number value if minute\n * @param second number value of second\n */\n Workbook.prototype.timeToTicks = function (hour, minute, second) {\n if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0 && second < 60) {\n var totalSeconds = hour * 3600 + minute * 60 + second;\n return totalSeconds * 10000 * 1000;\n }\n throw new Error('Not valid time');\n };\n /**\n * Checks if given year is a leap year.\n * @param year Year value.\n */\n Workbook.prototype.isLeapYear = function (year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n };\n /**\n * Converts `DateTime` to the equivalent OLE Automation date.\n */\n Workbook.prototype.toOADate = function (date) {\n var ticks = 0;\n /* tslint:disable-next-line:max-line-length */\n ticks = this.dateToTicks(date.getFullYear(), (date.getMonth() + 1), date.getDate()) + this.timeToTicks(date.getHours(), date.getMinutes(), date.getSeconds());\n if (ticks === 0) {\n return 0.0;\n }\n var ticksPerDay = 10000 * 1000 * 60 * 60 * 24;\n var daysTo1899 = (((365 * 4 + 1) * 25 - 1) * 4 + 1) * 4 + ((365 * 4 + 1) * 25 - 1) * 3 - 367;\n var doubleDateOffset = daysTo1899 * ticksPerDay;\n var oaDateMinAsTicks = (((365 * 4 + 1) * 25 - 1) - 365) * ticksPerDay;\n if (ticks < oaDateMinAsTicks) {\n throw new Error('Arg_OleAutDateInvalid');\n }\n var millisPerDay = 1000 * 60 * 60 * 24;\n return ((ticks - doubleDateOffset) / 10000) / millisPerDay;\n };\n return Workbook;\n}());\n\n/**\n * BuiltInProperties Class\n * @private\n */\nvar BuiltInProperties = /** @class */ (function () {\n function BuiltInProperties() {\n }\n return BuiltInProperties;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/workbook.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/worksheet.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/worksheet.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FreezePane: () => (/* binding */ FreezePane),\n/* harmony export */ Grouping: () => (/* binding */ Grouping),\n/* harmony export */ HyperLink: () => (/* binding */ HyperLink),\n/* harmony export */ MergeCell: () => (/* binding */ MergeCell),\n/* harmony export */ MergeCells: () => (/* binding */ MergeCells),\n/* harmony export */ Worksheet: () => (/* binding */ Worksheet)\n/* harmony export */ });\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Worksheet class\n * @private\n */\n/* eslint-disable */\nvar Worksheet = /** @class */ (function () {\n function Worksheet() {\n this.isSummaryRowBelow = true;\n this.showGridLines = true;\n this.enableRtl = false;\n }\n return Worksheet;\n}());\n\n/**\n * Hyperlink class\n * @private\n */\nvar HyperLink = /** @class */ (function () {\n function HyperLink() {\n }\n return HyperLink;\n}());\n\n/**\n * Grouping class\n * @private\n */\nvar Grouping = /** @class */ (function () {\n function Grouping() {\n }\n return Grouping;\n}());\n\n/**\n * FreezePane class\n * @private\n */\nvar FreezePane = /** @class */ (function () {\n function FreezePane() {\n }\n return FreezePane;\n}());\n\n/**\n * MergeCell\n * @private\n */\nvar MergeCell = /** @class */ (function () {\n function MergeCell() {\n }\n return MergeCell;\n}());\n\n/**\n * MergeCells class\n * @private\n */\nvar MergeCells = /** @class */ (function (_super) {\n __extends(MergeCells, _super);\n function MergeCells() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.add = function (mergeCell) {\n var inserted = false;\n var count = 0;\n for (var _i = 0, _a = _this; _i < _a.length; _i++) {\n var mCell = _a[_i];\n if (MergeCells.isIntersecting(mCell, mergeCell)) {\n var intersectingCell = new MergeCell();\n intersectingCell.x = Math.min(mCell.x, mergeCell.x);\n intersectingCell.y = Math.min(mCell.Y, mergeCell.y);\n intersectingCell.width = Math.max(mCell.Width + mCell.X, mergeCell.width + mergeCell.x);\n intersectingCell.height = Math.max(mCell.Height + mCell.Y, mergeCell.height + mergeCell.y);\n intersectingCell.ref = (_this[count].ref.split(':')[0]) + ':' + (mergeCell.ref.split(':')[1]);\n _this[count] = intersectingCell;\n mergeCell = intersectingCell;\n inserted = true;\n }\n count++;\n }\n if (!inserted) {\n _this.push(mergeCell);\n }\n return mergeCell;\n };\n return _this;\n }\n MergeCells.isIntersecting = function (base, compare) {\n return (base.x <= compare.x + compare.width)\n && (compare.x <= base.x + base.width)\n && (base.y <= compare.y + compare.height)\n && (compare.y <= base.y + base.height);\n };\n return MergeCells;\n}(Array));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/worksheet.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-excel-export/src/worksheets.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-excel-export/src/worksheets.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Worksheets: () => (/* binding */ Worksheets)\n/* harmony export */ });\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Worksheets class\n * @private\n */\n/* eslint-disable */\nvar Worksheets = /** @class */ (function (_super) {\n __extends(Worksheets, _super);\n function Worksheets() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Worksheets;\n}(Array));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-excel-export/src/worksheets.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-file-utils/src/encoding.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-file-utils/src/encoding.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Encoding: () => (/* binding */ Encoding),\n/* harmony export */ validateNullOrUndefined: () => (/* binding */ validateNullOrUndefined)\n/* harmony export */ });\n/**\n * Encoding class: Contains the details about encoding type, whether to write a Unicode byte order mark (BOM).\n * ```typescript\n * let encoding : Encoding = new Encoding();\n * encoding.type = 'Utf8';\n * encoding.getBytes('Encoding', 0, 5);\n * ```\n */\nvar Encoding = /** @class */ (function () {\n /**\n * Initializes a new instance of the Encoding class. A parameter specifies whether to write a Unicode byte order mark\n * @param {boolean} includeBom?-true to specify that a Unicode byte order mark is written; otherwise, false.\n */\n function Encoding(includeBom) {\n this.emitBOM = true;\n this.encodingType = 'Ansi';\n this.initBOM(includeBom);\n }\n Object.defineProperty(Encoding.prototype, \"includeBom\", {\n /**\n * Gets a value indicating whether to write a Unicode byte order mark\n * @returns boolean- true to specify that a Unicode byte order mark is written; otherwise, false\n */\n get: function () {\n return this.emitBOM;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Encoding.prototype, \"type\", {\n /**\n * Gets the encoding type.\n * @returns EncodingType\n */\n get: function () {\n return this.encodingType;\n },\n /**\n * Sets the encoding type.\n * @param {EncodingType} value\n */\n set: function (value) {\n this.encodingType = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Initialize the includeBom to emit BOM or Not\n * @param {boolean} includeBom\n */\n Encoding.prototype.initBOM = function (includeBom) {\n if (includeBom === undefined || includeBom === null) {\n this.emitBOM = true;\n }\n else {\n this.emitBOM = includeBom;\n }\n };\n /**\n * Calculates the number of bytes produced by encoding the characters in the specified string\n * @param {string} chars - The string containing the set of characters to encode\n * @returns {number} - The number of bytes produced by encoding the specified characters\n */\n Encoding.prototype.getByteCount = function (chars) {\n var byteCount = 0;\n validateNullOrUndefined(chars, 'string');\n if (chars === '') {\n var byte = this.utf8Len(chars.charCodeAt(0));\n return byte;\n }\n if (this.type === null || this.type === undefined) {\n this.type = 'Ansi';\n }\n return this.getByteCountInternal(chars, 0, chars.length);\n };\n /**\n * Return the Byte of character\n * @param {number} codePoint\n * @returns {number}\n */\n Encoding.prototype.utf8Len = function (codePoint) {\n var bytes = codePoint <= 0x7F ? 1 :\n codePoint <= 0x7FF ? 2 :\n codePoint <= 0xFFFF ? 3 :\n codePoint <= 0x1FFFFF ? 4 : 0;\n return bytes;\n };\n /**\n * for 4 byte character return surrogate pair true, otherwise false\n * @param {number} codeUnit\n * @returns {boolean}\n */\n Encoding.prototype.isHighSurrogate = function (codeUnit) {\n return codeUnit >= 0xD800 && codeUnit <= 0xDBFF;\n };\n /**\n * for 4byte character generate the surrogate pair\n * @param {number} highCodeUnit\n * @param {number} lowCodeUnit\n */\n Encoding.prototype.toCodepoint = function (highCodeUnit, lowCodeUnit) {\n highCodeUnit = (0x3FF & highCodeUnit) << 10;\n var u = highCodeUnit | (0x3FF & lowCodeUnit);\n return u + 0x10000;\n };\n /**\n * private method to get the byte count for specific charindex and count\n * @param {string} chars\n * @param {number} charIndex\n * @param {number} charCount\n */\n Encoding.prototype.getByteCountInternal = function (chars, charIndex, charCount) {\n var byteCount = 0;\n if (this.encodingType === 'Utf8' || this.encodingType === 'Unicode') {\n var isUtf8 = this.encodingType === 'Utf8';\n for (var i = 0; i < charCount; i++) {\n var charCode = chars.charCodeAt(isUtf8 ? charIndex : charIndex++);\n if (this.isHighSurrogate(charCode)) {\n if (isUtf8) {\n var high = charCode;\n var low = chars.charCodeAt(++charIndex);\n byteCount += this.utf8Len(this.toCodepoint(high, low));\n }\n else {\n byteCount += 4;\n ++i;\n }\n }\n else {\n if (isUtf8) {\n byteCount += this.utf8Len(charCode);\n }\n else {\n byteCount += 2;\n }\n }\n if (isUtf8) {\n charIndex++;\n }\n }\n return byteCount;\n }\n else {\n byteCount = charCount;\n return byteCount;\n }\n };\n /**\n * Encodes a set of characters from the specified string into the ArrayBuffer.\n * @param {string} s- The string containing the set of characters to encode\n * @param {number} charIndex-The index of the first character to encode.\n * @param {number} charCount- The number of characters to encode.\n * @returns {ArrayBuffer} - The ArrayBuffer that contains the resulting sequence of bytes.\n */\n Encoding.prototype.getBytes = function (s, charIndex, charCount) {\n validateNullOrUndefined(s, 'string');\n validateNullOrUndefined(charIndex, 'charIndex');\n validateNullOrUndefined(charCount, 'charCount');\n if (charIndex < 0 || charCount < 0) {\n throw new RangeError('Argument Out Of Range Exception: charIndex or charCount is less than zero');\n }\n if (s.length - charIndex < charCount) {\n throw new RangeError('Argument Out Of Range Exception: charIndex and charCount do not denote a valid range in string');\n }\n var bytes;\n if (s === '') {\n bytes = new ArrayBuffer(0);\n return bytes;\n }\n if (this.type === null || this.type === undefined) {\n this.type = 'Ansi';\n }\n var byteCount = this.getByteCountInternal(s, charIndex, charCount);\n switch (this.type) {\n case 'Utf8':\n bytes = this.getBytesOfUtf8Encoding(byteCount, s, charIndex, charCount);\n return bytes;\n case 'Unicode':\n bytes = this.getBytesOfUnicodeEncoding(byteCount, s, charIndex, charCount);\n return bytes;\n default:\n bytes = this.getBytesOfAnsiEncoding(byteCount, s, charIndex, charCount);\n return bytes;\n }\n };\n /**\n * Decodes a sequence of bytes from the specified ArrayBuffer into the string.\n * @param {ArrayBuffer} bytes- The ArrayBuffer containing the sequence of bytes to decode.\n * @param {number} index- The index of the first byte to decode.\n * @param {number} count- The number of bytes to decode.\n * @returns {string} - The string that contains the resulting set of characters.\n */\n Encoding.prototype.getString = function (bytes, index, count) {\n validateNullOrUndefined(bytes, 'bytes');\n validateNullOrUndefined(index, 'index');\n validateNullOrUndefined(count, 'count');\n if (index < 0 || count < 0) {\n throw new RangeError('Argument Out Of Range Exception: index or count is less than zero');\n }\n if (bytes.byteLength - index < count) {\n throw new RangeError('Argument Out Of Range Exception: index and count do not denote a valid range in bytes');\n }\n if (bytes.byteLength === 0 || count === 0) {\n return '';\n }\n if (this.type === null || this.type === undefined) {\n this.type = 'Ansi';\n }\n var out = '';\n var byteCal = new Uint8Array(bytes);\n switch (this.type) {\n case 'Utf8':\n var s = this.getStringOfUtf8Encoding(byteCal, index, count);\n return s;\n case 'Unicode':\n var byteUnicode = new Uint16Array(bytes);\n out = this.getStringofUnicodeEncoding(byteUnicode, index, count);\n return out;\n default:\n var j = index;\n for (var i = 0; i < count; i++) {\n var c = byteCal[j];\n out += String.fromCharCode(c); // 1 byte(ASCII) character \n j++;\n }\n return out;\n }\n };\n Encoding.prototype.getBytesOfAnsiEncoding = function (byteCount, s, charIndex, charCount) {\n var bytes = new ArrayBuffer(byteCount);\n var bufview = new Uint8Array(bytes);\n var k = 0;\n for (var i = 0; i < charCount; i++) {\n var charcode = s.charCodeAt(charIndex++);\n if (charcode < 0x800) {\n bufview[k] = charcode;\n }\n else {\n bufview[k] = 63; //replacement character '?'\n }\n k++;\n }\n return bytes;\n };\n Encoding.prototype.getBytesOfUtf8Encoding = function (byteCount, s, charIndex, charCount) {\n var bytes = new ArrayBuffer(byteCount);\n var uint = new Uint8Array(bytes);\n var index = charIndex;\n var j = 0;\n for (var i = 0; i < charCount; i++) {\n var charcode = s.charCodeAt(index);\n if (charcode <= 0x7F) { // 1 byte character 2^7\n uint[j] = charcode;\n }\n else if (charcode < 0x800) { // 2 byte character 2^11\n uint[j] = 0xc0 | (charcode >> 6);\n uint[++j] = 0x80 | (charcode & 0x3f);\n }\n else if ((charcode < 0xd800 || charcode >= 0xe000)) { // 3 byte character 2^16 \n uint[j] = 0xe0 | (charcode >> 12);\n uint[++j] = 0x80 | ((charcode >> 6) & 0x3f);\n uint[++j] = 0x80 | (charcode & 0x3f);\n }\n else {\n uint[j] = 0xef;\n uint[++j] = 0xbf;\n uint[++j] = 0xbd; // U+FFFE \"replacement character\"\n }\n ++j;\n ++index;\n }\n return bytes;\n };\n Encoding.prototype.getBytesOfUnicodeEncoding = function (byteCount, s, charIndex, charCount) {\n var bytes = new ArrayBuffer(byteCount);\n var uint16 = new Uint16Array(bytes);\n for (var i = 0; i < charCount; i++) {\n var charcode = s.charCodeAt(i);\n uint16[i] = charcode;\n }\n return bytes;\n };\n Encoding.prototype.getStringOfUtf8Encoding = function (byteCal, index, count) {\n var j = 0;\n var i = index;\n var s = '';\n for (j; j < count; j++) {\n var c = byteCal[i++];\n while (i > byteCal.length) {\n return s;\n }\n if (c > 127) {\n if (c > 191 && c < 224 && i < count) {\n c = (c & 31) << 6 | byteCal[i] & 63;\n }\n else if (c > 223 && c < 240 && i < byteCal.byteLength) {\n c = (c & 15) << 12 | (byteCal[i] & 63) << 6 | byteCal[++i] & 63;\n }\n else if (c > 239 && c < 248 && i < byteCal.byteLength) {\n c = (c & 7) << 18 | (byteCal[i] & 63) << 12 | (byteCal[++i] & 63) << 6 | byteCal[++i] & 63;\n }\n ++i;\n }\n s += String.fromCharCode(c); // 1 byte(ASCII) character \n }\n return s;\n };\n Encoding.prototype.getStringofUnicodeEncoding = function (byteUni, index, count) {\n if (count > byteUni.length) {\n throw new RangeError('ArgumentOutOfRange_Count');\n }\n var byte16 = new Uint16Array(count);\n var out = '';\n for (var i = 0; i < count && i < byteUni.length; i++) {\n byte16[i] = byteUni[index++];\n }\n out = String.fromCharCode.apply(null, byte16);\n return out;\n };\n /**\n * To clear the encoding instance\n * @return {void}\n */\n Encoding.prototype.destroy = function () {\n this.emitBOM = undefined;\n this.encodingType = undefined;\n };\n return Encoding;\n}());\n\n/**\n * To check the object is null or undefined and throw error if it is null or undefined\n * @param {Object} value - object to check is null or undefined\n * @return {boolean}\n * @throws {ArgumentException} - if the value is null or undefined\n * @private\n */\nfunction validateNullOrUndefined(value, message) {\n if (value === null || value === undefined) {\n throw new Error('ArgumentException: ' + message + ' cannot be null or undefined');\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-file-utils/src/encoding.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-file-utils/src/save.js": +/*!*************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-file-utils/src/save.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Save: () => (/* binding */ Save)\n/* harmony export */ });\n/**\n * Save class provide method to save file\n * ```typescript\n * let blob : Blob = new Blob([''], { type: 'text/plain' });\n * Save.save('fileName.txt',blob);\n */\nvar Save = /** @class */ (function () {\n /**\n * Initialize new instance of {save}\n */\n function Save() {\n // tslint:disable\n }\n /**\n * Saves the file with specified name and sends the file to client browser\n * @param {string} fileName- file name to save.\n * @param {Blob} buffer- the content to write in file\n * @param {boolean} isMicrosoftBrowser- specify whether microsoft browser or not\n * @returns {void}\n */\n Save.save = function (fileName, buffer) {\n if (fileName === null || fileName === undefined || fileName === '') {\n throw new Error('ArgumentException: fileName cannot be undefined, null or empty');\n }\n var extension = fileName.substring(fileName.lastIndexOf('.') + 1, fileName.length);\n var mimeType = this.getMimeType(extension);\n if (mimeType !== '') {\n buffer = new Blob([buffer], { type: mimeType });\n }\n if (this.isMicrosoftBrowser) {\n navigator.msSaveBlob(buffer, fileName);\n }\n else {\n var downloadLink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\n this.saveInternal(fileName, extension, buffer, downloadLink, 'download' in downloadLink);\n }\n };\n Save.saveInternal = function (fileName, extension, buffer, downloadLink, hasDownloadAttribute) {\n if (hasDownloadAttribute) {\n downloadLink.download = fileName;\n var dataUrl_1 = window.URL.createObjectURL(buffer);\n downloadLink.href = dataUrl_1;\n var event_1 = document.createEvent('MouseEvent');\n event_1.initEvent('click', true, true);\n downloadLink.dispatchEvent(event_1);\n setTimeout(function () {\n window.URL.revokeObjectURL(dataUrl_1);\n dataUrl_1 = undefined;\n });\n }\n else {\n if (extension !== 'docx' && extension !== 'xlsx') {\n var url = window.URL.createObjectURL(buffer);\n var isPopupBlocked = window.open(url, '_blank');\n if (!isPopupBlocked) {\n window.location.href = url;\n }\n }\n else {\n var reader_1 = new FileReader();\n reader_1.onloadend = function () {\n var isPopupBlocked = window.open(reader_1.result, '_blank');\n if (!isPopupBlocked) {\n window.location.href = reader_1.result;\n }\n };\n reader_1.readAsDataURL(buffer);\n }\n }\n };\n /**\n *\n * @param {string} extension - get mime type of the specified extension\n * @private\n */\n Save.getMimeType = function (extension) {\n var mimeType = '';\n switch (extension) {\n case 'html':\n mimeType = 'text/html';\n break;\n case 'pdf':\n mimeType = 'application/pdf';\n break;\n case 'docx':\n mimeType = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n break;\n case 'xlsx':\n mimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n break;\n case 'txt':\n mimeType = 'text/plain';\n break;\n }\n return mimeType;\n };\n return Save;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-file-utils/src/save.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-file-utils/src/stream-writer.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-file-utils/src/stream-writer.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StreamWriter: () => (/* binding */ StreamWriter)\n/* harmony export */ });\n/* harmony import */ var _encoding__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encoding */ \"./node_modules/@syncfusion/ej2-file-utils/src/encoding.js\");\n/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./save */ \"./node_modules/@syncfusion/ej2-file-utils/src/save.js\");\n\n\n/**\n * StreamWriter class contains the implementation for writing characters to a file in a particular encoding\n * ```typescript\n * let writer = new StreamWriter();\n * writer.write('Hello World');\n * writer.save('Sample.txt');\n * writer.dispose();\n * ```\n */\nvar StreamWriter = /** @class */ (function () {\n /**\n * Initializes a new instance of the StreamWriter class by using the specified encoding.\n * @param {Encoding} encoding?- The character encoding to use.\n */\n function StreamWriter(encoding) {\n this.bufferBlob = new Blob(['']);\n this.bufferText = '';\n this.init(encoding);\n _save__WEBPACK_IMPORTED_MODULE_0__.Save.isMicrosoftBrowser = !(!navigator.msSaveBlob);\n }\n Object.defineProperty(StreamWriter.prototype, \"buffer\", {\n /**\n * Gets the content written to the StreamWriter as Blob.\n * @returns Blob\n */\n get: function () {\n this.flush();\n return this.bufferBlob;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(StreamWriter.prototype, \"encoding\", {\n /**\n * Gets the encoding.\n * @returns Encoding\n */\n get: function () {\n return this.enc;\n },\n enumerable: true,\n configurable: true\n });\n StreamWriter.prototype.init = function (encoding) {\n if (encoding === null || encoding === undefined) {\n this.enc = new _encoding__WEBPACK_IMPORTED_MODULE_1__.Encoding(false);\n this.enc.type = 'Utf8';\n }\n else {\n this.enc = encoding;\n this.setBomByte();\n }\n };\n /**\n * Private method to set Byte Order Mark(BOM) value based on EncodingType\n */\n StreamWriter.prototype.setBomByte = function () {\n if (this.encoding.includeBom) {\n switch (this.encoding.type) {\n case 'Unicode':\n var arrayUnicode = new ArrayBuffer(2);\n var uint8 = new Uint8Array(arrayUnicode);\n uint8[0] = 255;\n uint8[1] = 254;\n this.bufferBlob = new Blob([arrayUnicode]);\n break;\n case 'Utf8':\n var arrayUtf8 = new ArrayBuffer(3);\n var utf8 = new Uint8Array(arrayUtf8);\n utf8[0] = 239;\n utf8[1] = 187;\n utf8[2] = 191;\n this.bufferBlob = new Blob([arrayUtf8]);\n break;\n default:\n this.bufferBlob = new Blob(['']);\n break;\n }\n }\n };\n /**\n * Saves the file with specified name and sends the file to client browser\n * @param {string} fileName - The file name to save\n * @returns {void}\n */\n StreamWriter.prototype.save = function (fileName) {\n if (this.bufferText !== '') {\n this.flush();\n }\n _save__WEBPACK_IMPORTED_MODULE_0__.Save.save(fileName, this.buffer);\n };\n /**\n * Writes the specified string.\n * @param {string} value - The string to write. If value is null or undefined, nothing is written.\n * @returns {void}\n */\n StreamWriter.prototype.write = function (value) {\n if (this.encoding === undefined) {\n throw new Error('Object Disposed Exception: current writer is disposed');\n }\n (0,_encoding__WEBPACK_IMPORTED_MODULE_1__.validateNullOrUndefined)(value, 'string');\n this.bufferText += value;\n if (this.bufferText.length >= 10240) {\n this.flush();\n }\n };\n StreamWriter.prototype.flush = function () {\n if (this.bufferText === undefined || this.bufferText === null || this.bufferText.length === 0) {\n return;\n }\n var bufferArray = this.encoding.getBytes(this.bufferText, 0, this.bufferText.length);\n this.bufferText = '';\n this.bufferBlob = new Blob([this.bufferBlob, bufferArray]);\n };\n /**\n * Writes the specified string followed by a line terminator\n * @param {string} value - The string to write. If value is null or undefined, nothing is written\n * @returns {void}\n */\n StreamWriter.prototype.writeLine = function (value) {\n if (this.encoding === undefined) {\n throw new Error('Object Disposed Exception: current writer is disposed');\n }\n (0,_encoding__WEBPACK_IMPORTED_MODULE_1__.validateNullOrUndefined)(value, 'string');\n this.bufferText = this.bufferText + value + '\\r\\n';\n if (this.bufferText.length >= 10240) {\n this.flush();\n }\n };\n /**\n * Releases the resources used by the StreamWriter\n * @returns {void}\n */\n StreamWriter.prototype.destroy = function () {\n this.bufferBlob = undefined;\n this.bufferText = undefined;\n if (this.enc instanceof _encoding__WEBPACK_IMPORTED_MODULE_1__.Encoding) {\n this.enc.destroy();\n }\n this.enc = undefined;\n };\n return StreamWriter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-file-utils/src/stream-writer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/index.js": +/*!*****************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/index.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Aggregate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Aggregate),\n/* harmony export */ AutoCompleteEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.AutoCompleteEditCell),\n/* harmony export */ BatchEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.BatchEdit),\n/* harmony export */ BatchEditRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.BatchEditRender),\n/* harmony export */ BooleanEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.BooleanEditCell),\n/* harmony export */ BooleanFilterUI: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.BooleanFilterUI),\n/* harmony export */ Cell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Cell),\n/* harmony export */ CellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CellRenderer),\n/* harmony export */ CellRendererFactory: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CellRendererFactory),\n/* harmony export */ CellType: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CellType),\n/* harmony export */ CheckBoxFilter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilter),\n/* harmony export */ CheckBoxFilterBase: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilterBase),\n/* harmony export */ Clipboard: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Clipboard),\n/* harmony export */ Column: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Column),\n/* harmony export */ ColumnChooser: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ColumnChooser),\n/* harmony export */ ColumnMenu: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ColumnMenu),\n/* harmony export */ ComboboxEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ComboboxEditCell),\n/* harmony export */ CommandColumn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CommandColumn),\n/* harmony export */ CommandColumnModel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CommandColumnModel),\n/* harmony export */ CommandColumnRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.CommandColumnRenderer),\n/* harmony export */ ContentRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ContentRender),\n/* harmony export */ ContextMenu: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ContextMenu),\n/* harmony export */ Data: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Data),\n/* harmony export */ DateFilterUI: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DateFilterUI),\n/* harmony export */ DatePickerEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DatePickerEditCell),\n/* harmony export */ DefaultEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DefaultEditCell),\n/* harmony export */ DetailRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DetailRow),\n/* harmony export */ DialogEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DialogEdit),\n/* harmony export */ DialogEditRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DialogEditRender),\n/* harmony export */ DropDownEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.DropDownEditCell),\n/* harmony export */ Edit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Edit),\n/* harmony export */ EditCellBase: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.EditCellBase),\n/* harmony export */ EditRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.EditRender),\n/* harmony export */ EditSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.EditSettings),\n/* harmony export */ ExcelExport: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ExcelExport),\n/* harmony export */ ExcelFilter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ExcelFilter),\n/* harmony export */ ExcelFilterBase: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ExcelFilterBase),\n/* harmony export */ ExportHelper: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ExportHelper),\n/* harmony export */ ExportValueFormatter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ExportValueFormatter),\n/* harmony export */ ExternalMessage: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ExternalMessage),\n/* harmony export */ Filter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Filter),\n/* harmony export */ FilterCellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.FilterCellRenderer),\n/* harmony export */ FilterSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.FilterSettings),\n/* harmony export */ FlMenuOptrUI: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.FlMenuOptrUI),\n/* harmony export */ ForeignKey: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ForeignKey),\n/* harmony export */ Freeze: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Freeze),\n/* harmony export */ Global: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Global),\n/* harmony export */ Grid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Grid),\n/* harmony export */ GridColumn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GridColumn),\n/* harmony export */ Group: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Group),\n/* harmony export */ GroupCaptionCellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GroupCaptionCellRenderer),\n/* harmony export */ GroupCaptionEmptyCellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GroupCaptionEmptyCellRenderer),\n/* harmony export */ GroupLazyLoadRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GroupLazyLoadRenderer),\n/* harmony export */ GroupModelGenerator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GroupModelGenerator),\n/* harmony export */ GroupSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.GroupSettings),\n/* harmony export */ HeaderCellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.HeaderCellRenderer),\n/* harmony export */ HeaderRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.HeaderRender),\n/* harmony export */ IndentCellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.IndentCellRenderer),\n/* harmony export */ InfiniteScroll: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.InfiniteScroll),\n/* harmony export */ InfiniteScrollSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.InfiniteScrollSettings),\n/* harmony export */ InlineEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.InlineEdit),\n/* harmony export */ InlineEditRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.InlineEditRender),\n/* harmony export */ InterSectionObserver: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.InterSectionObserver),\n/* harmony export */ LazyLoadGroup: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.LazyLoadGroup),\n/* harmony export */ LoadingIndicator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.LoadingIndicator),\n/* harmony export */ Logger: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Logger),\n/* harmony export */ MaskedTextBoxCellEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.MaskedTextBoxCellEdit),\n/* harmony export */ MultiSelectEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.MultiSelectEditCell),\n/* harmony export */ NormalEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.NormalEdit),\n/* harmony export */ NumberFilterUI: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.NumberFilterUI),\n/* harmony export */ NumericContainer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.NumericContainer),\n/* harmony export */ NumericEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.NumericEditCell),\n/* harmony export */ Page: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Page),\n/* harmony export */ Pager: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Pager),\n/* harmony export */ PagerDropDown: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.PagerDropDown),\n/* harmony export */ PagerMessage: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.PagerMessage),\n/* harmony export */ PdfExport: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.PdfExport),\n/* harmony export */ Predicate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Predicate),\n/* harmony export */ Print: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Print),\n/* harmony export */ Render: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Render),\n/* harmony export */ RenderType: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.RenderType),\n/* harmony export */ Reorder: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Reorder),\n/* harmony export */ Resize: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Resize),\n/* harmony export */ ResizeSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ResizeSettings),\n/* harmony export */ ResponsiveDialogAction: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ResponsiveDialogAction),\n/* harmony export */ ResponsiveDialogRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ResponsiveDialogRenderer),\n/* harmony export */ ResponsiveToolbarAction: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ResponsiveToolbarAction),\n/* harmony export */ Row: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Row),\n/* harmony export */ RowDD: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.RowDD),\n/* harmony export */ RowDropSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.RowDropSettings),\n/* harmony export */ RowModelGenerator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.RowModelGenerator),\n/* harmony export */ RowRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.RowRenderer),\n/* harmony export */ Scroll: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Scroll),\n/* harmony export */ Search: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Search),\n/* harmony export */ SearchSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.SearchSettings),\n/* harmony export */ Selection: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Selection),\n/* harmony export */ SelectionSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.SelectionSettings),\n/* harmony export */ ServiceLocator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ServiceLocator),\n/* harmony export */ Sort: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Sort),\n/* harmony export */ SortDescriptor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.SortDescriptor),\n/* harmony export */ SortSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.SortSettings),\n/* harmony export */ StackedColumn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.StackedColumn),\n/* harmony export */ StackedHeaderCellRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.StackedHeaderCellRenderer),\n/* harmony export */ StringFilterUI: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.StringFilterUI),\n/* harmony export */ TextWrapSettings: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.TextWrapSettings),\n/* harmony export */ TimePickerEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.TimePickerEditCell),\n/* harmony export */ ToggleEditCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ToggleEditCell),\n/* harmony export */ Toolbar: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.Toolbar),\n/* harmony export */ ToolbarItem: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ToolbarItem),\n/* harmony export */ ValueFormatter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ValueFormatter),\n/* harmony export */ VirtualContentRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.VirtualContentRenderer),\n/* harmony export */ VirtualElementHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.VirtualElementHandler),\n/* harmony export */ VirtualHeaderRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.VirtualHeaderRenderer),\n/* harmony export */ VirtualRowModelGenerator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.VirtualRowModelGenerator),\n/* harmony export */ VirtualScroll: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.VirtualScroll),\n/* harmony export */ accessPredicate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.accessPredicate),\n/* harmony export */ actionBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.actionBegin),\n/* harmony export */ actionComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.actionComplete),\n/* harmony export */ actionFailure: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.actionFailure),\n/* harmony export */ addBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addBegin),\n/* harmony export */ addBiggerDialog: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addBiggerDialog),\n/* harmony export */ addComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addComplete),\n/* harmony export */ addDeleteAction: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addDeleteAction),\n/* harmony export */ addFixedColumnBorder: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addFixedColumnBorder),\n/* harmony export */ addRemoveActiveClasses: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addRemoveActiveClasses),\n/* harmony export */ addRemoveEventListener: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addRemoveEventListener),\n/* harmony export */ addStickyColumnPosition: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addStickyColumnPosition),\n/* harmony export */ addedRecords: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addedRecords),\n/* harmony export */ addedRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.addedRow),\n/* harmony export */ afterContentRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.afterContentRender),\n/* harmony export */ afterFilterColumnMenuClose: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.afterFilterColumnMenuClose),\n/* harmony export */ appendChildren: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.appendChildren),\n/* harmony export */ appendInfiniteContent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.appendInfiniteContent),\n/* harmony export */ applyBiggerTheme: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.applyBiggerTheme),\n/* harmony export */ applyStickyLeftRightPosition: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.applyStickyLeftRightPosition),\n/* harmony export */ ariaColIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ariaColIndex),\n/* harmony export */ ariaRowIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ariaRowIndex),\n/* harmony export */ autoCol: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.autoCol),\n/* harmony export */ batchAdd: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.batchAdd),\n/* harmony export */ batchCancel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.batchCancel),\n/* harmony export */ batchCnfrmDlgCancel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.batchCnfrmDlgCancel),\n/* harmony export */ batchDelete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.batchDelete),\n/* harmony export */ batchEditFormRendered: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.batchEditFormRendered),\n/* harmony export */ batchForm: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.batchForm),\n/* harmony export */ beforeAutoFill: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeAutoFill),\n/* harmony export */ beforeBatchAdd: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchAdd),\n/* harmony export */ beforeBatchCancel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchCancel),\n/* harmony export */ beforeBatchDelete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchDelete),\n/* harmony export */ beforeBatchSave: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchSave),\n/* harmony export */ beforeCellFocused: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeCellFocused),\n/* harmony export */ beforeCheckboxRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeCheckboxRenderer),\n/* harmony export */ beforeCheckboxRendererQuery: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeCheckboxRendererQuery),\n/* harmony export */ beforeCheckboxfilterRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeCheckboxfilterRenderer),\n/* harmony export */ beforeCopy: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeCopy),\n/* harmony export */ beforeCustomFilterOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeCustomFilterOpen),\n/* harmony export */ beforeDataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeDataBound),\n/* harmony export */ beforeDetailTemplateDetach: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeDetailTemplateDetach),\n/* harmony export */ beforeExcelExport: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeExcelExport),\n/* harmony export */ beforeFltrcMenuOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeFltrcMenuOpen),\n/* harmony export */ beforeFragAppend: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeFragAppend),\n/* harmony export */ beforeOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeOpen),\n/* harmony export */ beforeOpenAdaptiveDialog: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeOpenAdaptiveDialog),\n/* harmony export */ beforeOpenColumnChooser: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeOpenColumnChooser),\n/* harmony export */ beforePaste: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforePaste),\n/* harmony export */ beforePdfExport: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforePdfExport),\n/* harmony export */ beforePrint: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforePrint),\n/* harmony export */ beforeRefreshOnDataChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeRefreshOnDataChange),\n/* harmony export */ beforeStartEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beforeStartEdit),\n/* harmony export */ beginEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.beginEdit),\n/* harmony export */ bulkSave: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.bulkSave),\n/* harmony export */ cBoxFltrBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cBoxFltrBegin),\n/* harmony export */ cBoxFltrComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cBoxFltrComplete),\n/* harmony export */ calculateAggregate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.calculateAggregate),\n/* harmony export */ cancelBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cancelBegin),\n/* harmony export */ capitalizeFirstLetter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.capitalizeFirstLetter),\n/* harmony export */ captionActionComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.captionActionComplete),\n/* harmony export */ cellDeselected: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellDeselected),\n/* harmony export */ cellDeselecting: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellDeselecting),\n/* harmony export */ cellEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellEdit),\n/* harmony export */ cellFocused: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellFocused),\n/* harmony export */ cellSave: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellSave),\n/* harmony export */ cellSaved: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellSaved),\n/* harmony export */ cellSelected: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellSelected),\n/* harmony export */ cellSelecting: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellSelecting),\n/* harmony export */ cellSelectionBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellSelectionBegin),\n/* harmony export */ cellSelectionComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.cellSelectionComplete),\n/* harmony export */ change: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.change),\n/* harmony export */ changedRecords: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.changedRecords),\n/* harmony export */ checkBoxChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.checkBoxChange),\n/* harmony export */ checkDepth: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.checkDepth),\n/* harmony export */ checkIsVirtual: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.checkIsVirtual),\n/* harmony export */ checkScrollReset: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.checkScrollReset),\n/* harmony export */ clearReactVueTemplates: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.clearReactVueTemplates),\n/* harmony export */ click: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.click),\n/* harmony export */ closeBatch: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.closeBatch),\n/* harmony export */ closeEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.closeEdit),\n/* harmony export */ closeFilterDialog: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.closeFilterDialog),\n/* harmony export */ closeInline: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.closeInline),\n/* harmony export */ colGroup: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.colGroup),\n/* harmony export */ colGroupRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.colGroupRefresh),\n/* harmony export */ columnChooserCancelBtnClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserCancelBtnClick),\n/* harmony export */ columnChooserClose: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserClose),\n/* harmony export */ columnChooserOpened: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserOpened),\n/* harmony export */ columnChooserSearch: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserSearch),\n/* harmony export */ columnChooserUpdate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserUpdate),\n/* harmony export */ columnDataStateChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDataStateChange),\n/* harmony export */ columnDeselected: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDeselected),\n/* harmony export */ columnDeselecting: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDeselecting),\n/* harmony export */ columnDrag: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDrag),\n/* harmony export */ columnDragStart: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDragStart),\n/* harmony export */ columnDragStop: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDragStop),\n/* harmony export */ columnDrop: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnDrop),\n/* harmony export */ columnMenuClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnMenuClick),\n/* harmony export */ columnMenuOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnMenuOpen),\n/* harmony export */ columnPositionChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnPositionChanged),\n/* harmony export */ columnSelected: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnSelected),\n/* harmony export */ columnSelecting: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnSelecting),\n/* harmony export */ columnSelectionBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnSelectionBegin),\n/* harmony export */ columnSelectionComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnSelectionComplete),\n/* harmony export */ columnVisibilityChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnVisibilityChanged),\n/* harmony export */ columnWidthChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnWidthChanged),\n/* harmony export */ columnsPrepared: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.columnsPrepared),\n/* harmony export */ commandClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.commandClick),\n/* harmony export */ commandColumnDestroy: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.commandColumnDestroy),\n/* harmony export */ compareChanges: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.compareChanges),\n/* harmony export */ componentRendered: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.componentRendered),\n/* harmony export */ content: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.content),\n/* harmony export */ contentReady: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.contentReady),\n/* harmony export */ contextMenuClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.contextMenuClick),\n/* harmony export */ contextMenuOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.contextMenuOpen),\n/* harmony export */ create: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.create),\n/* harmony export */ createCboxWithWrap: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.createCboxWithWrap),\n/* harmony export */ createEditElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.createEditElement),\n/* harmony export */ createVirtualValidationForm: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.createVirtualValidationForm),\n/* harmony export */ created: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.created),\n/* harmony export */ crudAction: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.crudAction),\n/* harmony export */ customFilterClose: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.customFilterClose),\n/* harmony export */ dataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dataBound),\n/* harmony export */ dataReady: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dataReady),\n/* harmony export */ dataSourceChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dataSourceChanged),\n/* harmony export */ dataSourceModified: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dataSourceModified),\n/* harmony export */ dataStateChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dataStateChange),\n/* harmony export */ dblclick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dblclick),\n/* harmony export */ deleteBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.deleteBegin),\n/* harmony export */ deleteComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.deleteComplete),\n/* harmony export */ deletedRecords: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.deletedRecords),\n/* harmony export */ destroy: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.destroy),\n/* harmony export */ destroyAutoFillElements: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.destroyAutoFillElements),\n/* harmony export */ destroyChildGrid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.destroyChildGrid),\n/* harmony export */ destroyEditForm: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.destroyEditForm),\n/* harmony export */ destroyForm: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.destroyForm),\n/* harmony export */ destroyed: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.destroyed),\n/* harmony export */ detachDetailTemplate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.detachDetailTemplate),\n/* harmony export */ detailDataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.detailDataBound),\n/* harmony export */ detailIndentCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.detailIndentCellInfo),\n/* harmony export */ detailLists: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.detailLists),\n/* harmony export */ detailStateChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.detailStateChange),\n/* harmony export */ dialogDestroy: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.dialogDestroy),\n/* harmony export */ distinctStringValues: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.distinctStringValues),\n/* harmony export */ doesImplementInterface: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.doesImplementInterface),\n/* harmony export */ doubleTap: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.doubleTap),\n/* harmony export */ downArrow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.downArrow),\n/* harmony export */ editBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.editBegin),\n/* harmony export */ editComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.editComplete),\n/* harmony export */ editNextValCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.editNextValCell),\n/* harmony export */ editReset: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.editReset),\n/* harmony export */ editedRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.editedRow),\n/* harmony export */ endAdd: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.endAdd),\n/* harmony export */ endDelete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.endDelete),\n/* harmony export */ endEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.endEdit),\n/* harmony export */ ensureFirstRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ensureFirstRow),\n/* harmony export */ ensureLastRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ensureLastRow),\n/* harmony export */ enter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.enter),\n/* harmony export */ enterKeyHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.enterKeyHandler),\n/* harmony export */ eventPromise: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.eventPromise),\n/* harmony export */ excelAggregateQueryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.excelAggregateQueryCellInfo),\n/* harmony export */ excelExportComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.excelExportComplete),\n/* harmony export */ excelHeaderQueryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.excelHeaderQueryCellInfo),\n/* harmony export */ excelQueryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.excelQueryCellInfo),\n/* harmony export */ expandChildGrid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.expandChildGrid),\n/* harmony export */ exportDataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.exportDataBound),\n/* harmony export */ exportDetailDataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.exportDetailDataBound),\n/* harmony export */ exportDetailTemplate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.exportDetailTemplate),\n/* harmony export */ exportGroupCaption: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.exportGroupCaption),\n/* harmony export */ exportRowDataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.exportRowDataBound),\n/* harmony export */ extend: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.extend),\n/* harmony export */ extendObjWithFn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.extendObjWithFn),\n/* harmony export */ filterAfterOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterAfterOpen),\n/* harmony export */ filterBeforeOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterBeforeOpen),\n/* harmony export */ filterBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterBegin),\n/* harmony export */ filterCboxValue: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterCboxValue),\n/* harmony export */ filterChoiceRequest: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterChoiceRequest),\n/* harmony export */ filterCmenuSelect: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterCmenuSelect),\n/* harmony export */ filterComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterComplete),\n/* harmony export */ filterDialogClose: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterDialogClose),\n/* harmony export */ filterDialogCreated: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterDialogCreated),\n/* harmony export */ filterMenuClose: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterMenuClose),\n/* harmony export */ filterOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterOpen),\n/* harmony export */ filterSearchBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.filterSearchBegin),\n/* harmony export */ findCellIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.findCellIndex),\n/* harmony export */ fltrPrevent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.fltrPrevent),\n/* harmony export */ focus: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.focus),\n/* harmony export */ foreignKeyData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.foreignKeyData),\n/* harmony export */ freezeRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.freezeRefresh),\n/* harmony export */ freezeRender: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.freezeRender),\n/* harmony export */ frozenContent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.frozenContent),\n/* harmony export */ frozenDirection: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.frozenDirection),\n/* harmony export */ frozenHeader: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.frozenHeader),\n/* harmony export */ frozenHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.frozenHeight),\n/* harmony export */ frozenLeft: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.frozenLeft),\n/* harmony export */ frozenRight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.frozenRight),\n/* harmony export */ generateExpandPredicates: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.generateExpandPredicates),\n/* harmony export */ generateQuery: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.generateQuery),\n/* harmony export */ getActualPropFromColl: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getActualPropFromColl),\n/* harmony export */ getActualProperties: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getActualProperties),\n/* harmony export */ getActualRowHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getActualRowHeight),\n/* harmony export */ getAggregateQuery: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getAggregateQuery),\n/* harmony export */ getCellByColAndRowIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getCellByColAndRowIndex),\n/* harmony export */ getCellFromRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getCellFromRow),\n/* harmony export */ getCellsByTableName: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getCellsByTableName),\n/* harmony export */ getCloneProperties: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getCloneProperties),\n/* harmony export */ getCollapsedRowsCount: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getCollapsedRowsCount),\n/* harmony export */ getColumnByForeignKeyValue: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getColumnByForeignKeyValue),\n/* harmony export */ getColumnModelByFieldName: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getColumnModelByFieldName),\n/* harmony export */ getColumnModelByUid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getColumnModelByUid),\n/* harmony export */ getComplexFieldID: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getComplexFieldID),\n/* harmony export */ getCustomDateFormat: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getCustomDateFormat),\n/* harmony export */ getDatePredicate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getDatePredicate),\n/* harmony export */ getEditedDataIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getEditedDataIndex),\n/* harmony export */ getElementIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getElementIndex),\n/* harmony export */ getExpandedState: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getExpandedState),\n/* harmony export */ getFilterBarOperator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getFilterBarOperator),\n/* harmony export */ getFilterMenuPostion: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getFilterMenuPostion),\n/* harmony export */ getForeignData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getForeignData),\n/* harmony export */ getForeignKeyData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getForeignKeyData),\n/* harmony export */ getGroupKeysAndFields: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getGroupKeysAndFields),\n/* harmony export */ getListHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getListHeight),\n/* harmony export */ getNumberFormat: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getNumberFormat),\n/* harmony export */ getObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getObject),\n/* harmony export */ getParentIns: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getParentIns),\n/* harmony export */ getParsedFieldID: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getParsedFieldID),\n/* harmony export */ getPosition: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getPosition),\n/* harmony export */ getPredicates: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getPredicates),\n/* harmony export */ getPrintGridModel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getPrintGridModel),\n/* harmony export */ getPrototypesOfObj: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getPrototypesOfObj),\n/* harmony export */ getRowHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getRowHeight),\n/* harmony export */ getRowIndexFromElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getRowIndexFromElement),\n/* harmony export */ getScrollBarWidth: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getScrollBarWidth),\n/* harmony export */ getScrollWidth: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getScrollWidth),\n/* harmony export */ getStateEventArgument: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getStateEventArgument),\n/* harmony export */ getTransformValues: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getTransformValues),\n/* harmony export */ getUid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getUid),\n/* harmony export */ getUpdateUsingRaf: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getUpdateUsingRaf),\n/* harmony export */ getVirtualData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getVirtualData),\n/* harmony export */ getVisiblePage: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getVisiblePage),\n/* harmony export */ getZIndexCalcualtion: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.getZIndexCalcualtion),\n/* harmony export */ gridChkBox: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.gridChkBox),\n/* harmony export */ gridContent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.gridContent),\n/* harmony export */ gridFooter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.gridFooter),\n/* harmony export */ gridHeader: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.gridHeader),\n/* harmony export */ groupAggregates: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupAggregates),\n/* harmony export */ groupBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupBegin),\n/* harmony export */ groupCaptionRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupCaptionRow),\n/* harmony export */ groupCaptionRowLeftRightPos: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupCaptionRowLeftRightPos),\n/* harmony export */ groupCollapse: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupCollapse),\n/* harmony export */ groupComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupComplete),\n/* harmony export */ groupReorderRowObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.groupReorderRowObject),\n/* harmony export */ headerCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.headerCellInfo),\n/* harmony export */ headerContent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.headerContent),\n/* harmony export */ headerDrop: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.headerDrop),\n/* harmony export */ headerRefreshed: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.headerRefreshed),\n/* harmony export */ headerValueAccessor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.headerValueAccessor),\n/* harmony export */ hierarchyPrint: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.hierarchyPrint),\n/* harmony export */ immutableBatchCancel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.immutableBatchCancel),\n/* harmony export */ inArray: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.inArray),\n/* harmony export */ inBoundModelChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.inBoundModelChanged),\n/* harmony export */ infiniteAppendElements: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteAppendElements),\n/* harmony export */ infiniteCrudCancel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteCrudCancel),\n/* harmony export */ infiniteEditHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteEditHandler),\n/* harmony export */ infinitePageQuery: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infinitePageQuery),\n/* harmony export */ infiniteRemoveElements: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteRemoveElements),\n/* harmony export */ infiniteScrollComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteScrollComplete),\n/* harmony export */ infiniteScrollHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteScrollHandler),\n/* harmony export */ infiniteShowHide: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.infiniteShowHide),\n/* harmony export */ initForeignKeyColumn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.initForeignKeyColumn),\n/* harmony export */ initialCollapse: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.initialCollapse),\n/* harmony export */ initialEnd: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.initialEnd),\n/* harmony export */ initialFrozenColumnIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.initialFrozenColumnIndex),\n/* harmony export */ initialLoad: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.initialLoad),\n/* harmony export */ isActionPrevent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isActionPrevent),\n/* harmony export */ isCellHaveWidth: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isCellHaveWidth),\n/* harmony export */ isChildColumn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isChildColumn),\n/* harmony export */ isComplexField: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isComplexField),\n/* harmony export */ isEditable: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isEditable),\n/* harmony export */ isExportColumns: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isExportColumns),\n/* harmony export */ isGroupAdaptive: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isGroupAdaptive),\n/* harmony export */ isRowEnteredInGrid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.isRowEnteredInGrid),\n/* harmony export */ ispercentageWidth: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ispercentageWidth),\n/* harmony export */ iterateArrayOrObject: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.iterateArrayOrObject),\n/* harmony export */ iterateExtend: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.iterateExtend),\n/* harmony export */ keyPressed: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.keyPressed),\n/* harmony export */ lastRowCellBorderUpdated: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.lastRowCellBorderUpdated),\n/* harmony export */ lazyLoadGroupCollapse: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.lazyLoadGroupCollapse),\n/* harmony export */ lazyLoadGroupExpand: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.lazyLoadGroupExpand),\n/* harmony export */ lazyLoadScrollHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.lazyLoadScrollHandler),\n/* harmony export */ leftRight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.leftRight),\n/* harmony export */ load: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.load),\n/* harmony export */ measureColumnDepth: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.measureColumnDepth),\n/* harmony export */ menuClass: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.menuClass),\n/* harmony export */ modelChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.modelChanged),\n/* harmony export */ movableContent: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.movableContent),\n/* harmony export */ movableHeader: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.movableHeader),\n/* harmony export */ nextCellIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.nextCellIndex),\n/* harmony export */ onEmpty: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.onEmpty),\n/* harmony export */ onResize: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.onResize),\n/* harmony export */ open: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.open),\n/* harmony export */ padZero: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.padZero),\n/* harmony export */ pageBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pageBegin),\n/* harmony export */ pageComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pageComplete),\n/* harmony export */ pageDown: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pageDown),\n/* harmony export */ pageUp: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pageUp),\n/* harmony export */ pagerRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pagerRefresh),\n/* harmony export */ parents: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.parents),\n/* harmony export */ parentsUntil: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.parentsUntil),\n/* harmony export */ partialRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.partialRefresh),\n/* harmony export */ pdfAggregateQueryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pdfAggregateQueryCellInfo),\n/* harmony export */ pdfExportComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pdfExportComplete),\n/* harmony export */ pdfHeaderQueryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pdfHeaderQueryCellInfo),\n/* harmony export */ pdfQueryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pdfQueryCellInfo),\n/* harmony export */ performComplexDataOperation: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.performComplexDataOperation),\n/* harmony export */ prepareColumns: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.prepareColumns),\n/* harmony export */ preventBatch: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.preventBatch),\n/* harmony export */ preventFrozenScrollRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.preventFrozenScrollRefresh),\n/* harmony export */ printComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.printComplete),\n/* harmony export */ printGridInit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.printGridInit),\n/* harmony export */ pushuid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.pushuid),\n/* harmony export */ queryCellInfo: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.queryCellInfo),\n/* harmony export */ recordAdded: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.recordAdded),\n/* harmony export */ recordClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.recordClick),\n/* harmony export */ recordDoubleClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.recordDoubleClick),\n/* harmony export */ recursive: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.recursive),\n/* harmony export */ refreshAggregateCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshAggregateCell),\n/* harmony export */ refreshAggregates: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshAggregates),\n/* harmony export */ refreshComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshComplete),\n/* harmony export */ refreshCustomFilterClearBtn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshCustomFilterClearBtn),\n/* harmony export */ refreshCustomFilterOkBtn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshCustomFilterOkBtn),\n/* harmony export */ refreshExpandandCollapse: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshExpandandCollapse),\n/* harmony export */ refreshFilteredColsUid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshFilteredColsUid),\n/* harmony export */ refreshFooterRenderer: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshFooterRenderer),\n/* harmony export */ refreshForeignData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshForeignData),\n/* harmony export */ refreshFrozenColumns: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshFrozenColumns),\n/* harmony export */ refreshFrozenHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshFrozenHeight),\n/* harmony export */ refreshFrozenPosition: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshFrozenPosition),\n/* harmony export */ refreshHandlers: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshHandlers),\n/* harmony export */ refreshInfiniteCurrentViewData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfiniteCurrentViewData),\n/* harmony export */ refreshInfiniteEditrowindex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfiniteEditrowindex),\n/* harmony export */ refreshInfiniteModeBlocks: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfiniteModeBlocks),\n/* harmony export */ refreshInfinitePersistSelection: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfinitePersistSelection),\n/* harmony export */ refreshResizePosition: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshResizePosition),\n/* harmony export */ refreshSplitFrozenColumn: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshSplitFrozenColumn),\n/* harmony export */ refreshVirtualBlock: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualBlock),\n/* harmony export */ refreshVirtualCache: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualCache),\n/* harmony export */ refreshVirtualEditFormCells: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualEditFormCells),\n/* harmony export */ refreshVirtualFrozenHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualFrozenHeight),\n/* harmony export */ refreshVirtualFrozenRows: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualFrozenRows),\n/* harmony export */ refreshVirtualLazyLoadCache: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualLazyLoadCache),\n/* harmony export */ refreshVirtualMaxPage: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualMaxPage),\n/* harmony export */ registerEventHandlers: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.registerEventHandlers),\n/* harmony export */ removeAddCboxClasses: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.removeAddCboxClasses),\n/* harmony export */ removeElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.removeElement),\n/* harmony export */ removeEventHandlers: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.removeEventHandlers),\n/* harmony export */ removeInfiniteRows: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.removeInfiniteRows),\n/* harmony export */ renderResponsiveChangeAction: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.renderResponsiveChangeAction),\n/* harmony export */ renderResponsiveCmenu: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.renderResponsiveCmenu),\n/* harmony export */ renderResponsiveColumnChooserDiv: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.renderResponsiveColumnChooserDiv),\n/* harmony export */ reorderBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.reorderBegin),\n/* harmony export */ reorderComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.reorderComplete),\n/* harmony export */ resetCachedRowIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetCachedRowIndex),\n/* harmony export */ resetColandRowSpanStickyPosition: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetColandRowSpanStickyPosition),\n/* harmony export */ resetColspanGroupCaption: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetColspanGroupCaption),\n/* harmony export */ resetColumns: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetColumns),\n/* harmony export */ resetDialogAppend: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetDialogAppend),\n/* harmony export */ resetInfiniteBlocks: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetInfiniteBlocks),\n/* harmony export */ resetRowIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetRowIndex),\n/* harmony export */ resetVirtualFocus: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resetVirtualFocus),\n/* harmony export */ resizeClassList: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resizeClassList),\n/* harmony export */ resizeStart: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resizeStart),\n/* harmony export */ resizeStop: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.resizeStop),\n/* harmony export */ restoreFocus: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.restoreFocus),\n/* harmony export */ row: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.row),\n/* harmony export */ rowCell: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowCell),\n/* harmony export */ rowDataBound: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDataBound),\n/* harmony export */ rowDeselected: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDeselected),\n/* harmony export */ rowDeselecting: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDeselecting),\n/* harmony export */ rowDrag: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDrag),\n/* harmony export */ rowDragAndDrop: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDragAndDrop),\n/* harmony export */ rowDragAndDropBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDragAndDropBegin),\n/* harmony export */ rowDragAndDropComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDragAndDropComplete),\n/* harmony export */ rowDragStart: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDragStart),\n/* harmony export */ rowDragStartHelper: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDragStartHelper),\n/* harmony export */ rowDrop: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowDrop),\n/* harmony export */ rowModeChange: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowModeChange),\n/* harmony export */ rowPositionChanged: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowPositionChanged),\n/* harmony export */ rowSelected: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowSelected),\n/* harmony export */ rowSelecting: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowSelecting),\n/* harmony export */ rowSelectionBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowSelectionBegin),\n/* harmony export */ rowSelectionComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowSelectionComplete),\n/* harmony export */ rowsAdded: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowsAdded),\n/* harmony export */ rowsRemoved: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rowsRemoved),\n/* harmony export */ rtlUpdated: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.rtlUpdated),\n/* harmony export */ saveComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.saveComplete),\n/* harmony export */ scroll: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.scroll),\n/* harmony export */ scrollToEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.scrollToEdit),\n/* harmony export */ searchBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.searchBegin),\n/* harmony export */ searchComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.searchComplete),\n/* harmony export */ selectRowOnContextOpen: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.selectRowOnContextOpen),\n/* harmony export */ selectVirtualRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.selectVirtualRow),\n/* harmony export */ setChecked: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setChecked),\n/* harmony export */ setColumnIndex: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setColumnIndex),\n/* harmony export */ setComplexFieldID: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setComplexFieldID),\n/* harmony export */ setCssInGridPopUp: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setCssInGridPopUp),\n/* harmony export */ setDisplayValue: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setDisplayValue),\n/* harmony export */ setFormatter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setFormatter),\n/* harmony export */ setFreezeSelection: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setFreezeSelection),\n/* harmony export */ setFullScreenDialog: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setFullScreenDialog),\n/* harmony export */ setGroupCache: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setGroupCache),\n/* harmony export */ setHeightToFrozenElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setHeightToFrozenElement),\n/* harmony export */ setInfiniteCache: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setInfiniteCache),\n/* harmony export */ setInfiniteColFrozenHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setInfiniteColFrozenHeight),\n/* harmony export */ setInfiniteFrozenHeight: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setInfiniteFrozenHeight),\n/* harmony export */ setReorderDestinationElement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setReorderDestinationElement),\n/* harmony export */ setRowElements: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setRowElements),\n/* harmony export */ setStyleAndAttributes: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setStyleAndAttributes),\n/* harmony export */ setValidationRuels: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setValidationRuels),\n/* harmony export */ setVirtualPageQuery: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.setVirtualPageQuery),\n/* harmony export */ shiftEnter: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.shiftEnter),\n/* harmony export */ shiftTab: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.shiftTab),\n/* harmony export */ showAddNewRowFocus: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.showAddNewRowFocus),\n/* harmony export */ showEmptyGrid: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.showEmptyGrid),\n/* harmony export */ sliceElements: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.sliceElements),\n/* harmony export */ sortBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.sortBegin),\n/* harmony export */ sortComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.sortComplete),\n/* harmony export */ stickyScrollComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.stickyScrollComplete),\n/* harmony export */ summaryIterator: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.summaryIterator),\n/* harmony export */ tab: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.tab),\n/* harmony export */ table: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.table),\n/* harmony export */ tbody: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.tbody),\n/* harmony export */ templateCompiler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.templateCompiler),\n/* harmony export */ textWrapRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.textWrapRefresh),\n/* harmony export */ toggleFilterUI: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.toggleFilterUI),\n/* harmony export */ toogleCheckbox: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.toogleCheckbox),\n/* harmony export */ toolbarClick: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.toolbarClick),\n/* harmony export */ toolbarRefresh: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.toolbarRefresh),\n/* harmony export */ tooltipDestroy: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.tooltipDestroy),\n/* harmony export */ uiUpdate: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.uiUpdate),\n/* harmony export */ ungroupBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ungroupBegin),\n/* harmony export */ ungroupComplete: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.ungroupComplete),\n/* harmony export */ upArrow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.upArrow),\n/* harmony export */ updateColumnTypeForExportColumns: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.updateColumnTypeForExportColumns),\n/* harmony export */ updateData: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.updateData),\n/* harmony export */ updatecloneRow: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.updatecloneRow),\n/* harmony export */ valCustomPlacement: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.valCustomPlacement),\n/* harmony export */ validateVirtualForm: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.validateVirtualForm),\n/* harmony export */ valueAccessor: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.valueAccessor),\n/* harmony export */ virtaulCellFocus: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtaulCellFocus),\n/* harmony export */ virtaulKeyHandler: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtaulKeyHandler),\n/* harmony export */ virtualScrollAddActionBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollAddActionBegin),\n/* harmony export */ virtualScrollEdit: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEdit),\n/* harmony export */ virtualScrollEditActionBegin: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEditActionBegin),\n/* harmony export */ virtualScrollEditCancel: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEditCancel),\n/* harmony export */ virtualScrollEditSuccess: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEditSuccess),\n/* harmony export */ wrap: () => (/* reexport safe */ _src_index__WEBPACK_IMPORTED_MODULE_0__.wrap)\n/* harmony export */ });\n/* harmony import */ var _src_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/index */ \"./node_modules/@syncfusion/ej2-grids/src/index.js\");\n/**\n * index\n */\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions.js": +/*!****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Aggregate: () => (/* reexport safe */ _actions_aggregate__WEBPACK_IMPORTED_MODULE_14__.Aggregate),\n/* harmony export */ BatchEdit: () => (/* reexport safe */ _actions_batch_edit__WEBPACK_IMPORTED_MODULE_17__.BatchEdit),\n/* harmony export */ CheckBoxFilter: () => (/* reexport safe */ _actions_checkbox_filter__WEBPACK_IMPORTED_MODULE_27__.CheckBoxFilter),\n/* harmony export */ Clipboard: () => (/* reexport safe */ _actions_clipboard__WEBPACK_IMPORTED_MODULE_25__.Clipboard),\n/* harmony export */ ColumnChooser: () => (/* reexport safe */ _actions_column_chooser__WEBPACK_IMPORTED_MODULE_21__.ColumnChooser),\n/* harmony export */ ColumnMenu: () => (/* reexport safe */ _actions_column_menu__WEBPACK_IMPORTED_MODULE_30__.ColumnMenu),\n/* harmony export */ CommandColumn: () => (/* reexport safe */ _actions_command_column__WEBPACK_IMPORTED_MODULE_26__.CommandColumn),\n/* harmony export */ ContextMenu: () => (/* reexport safe */ _actions_context_menu__WEBPACK_IMPORTED_MODULE_28__.ContextMenu),\n/* harmony export */ Data: () => (/* reexport safe */ _actions_data__WEBPACK_IMPORTED_MODULE_0__.Data),\n/* harmony export */ DetailRow: () => (/* reexport safe */ _actions_detail_row__WEBPACK_IMPORTED_MODULE_12__.DetailRow),\n/* harmony export */ DialogEdit: () => (/* reexport safe */ _actions_dialog_edit__WEBPACK_IMPORTED_MODULE_20__.DialogEdit),\n/* harmony export */ Edit: () => (/* reexport safe */ _actions_edit__WEBPACK_IMPORTED_MODULE_16__.Edit),\n/* harmony export */ ExcelExport: () => (/* reexport safe */ _actions_excel_export__WEBPACK_IMPORTED_MODULE_22__.ExcelExport),\n/* harmony export */ ExcelFilter: () => (/* reexport safe */ _actions_excel_filter__WEBPACK_IMPORTED_MODULE_31__.ExcelFilter),\n/* harmony export */ ExportHelper: () => (/* reexport safe */ _actions_export_helper__WEBPACK_IMPORTED_MODULE_24__.ExportHelper),\n/* harmony export */ ExportValueFormatter: () => (/* reexport safe */ _actions_export_helper__WEBPACK_IMPORTED_MODULE_24__.ExportValueFormatter),\n/* harmony export */ Filter: () => (/* reexport safe */ _actions_filter__WEBPACK_IMPORTED_MODULE_4__.Filter),\n/* harmony export */ ForeignKey: () => (/* reexport safe */ _actions_foreign_key__WEBPACK_IMPORTED_MODULE_32__.ForeignKey),\n/* harmony export */ Freeze: () => (/* reexport safe */ _actions_freeze__WEBPACK_IMPORTED_MODULE_29__.Freeze),\n/* harmony export */ Group: () => (/* reexport safe */ _actions_group__WEBPACK_IMPORTED_MODULE_10__.Group),\n/* harmony export */ InfiniteScroll: () => (/* reexport safe */ _actions_infinite_scroll__WEBPACK_IMPORTED_MODULE_34__.InfiniteScroll),\n/* harmony export */ InlineEdit: () => (/* reexport safe */ _actions_inline_edit__WEBPACK_IMPORTED_MODULE_18__.InlineEdit),\n/* harmony export */ LazyLoadGroup: () => (/* reexport safe */ _actions_lazy_load_group__WEBPACK_IMPORTED_MODULE_35__.LazyLoadGroup),\n/* harmony export */ Logger: () => (/* reexport safe */ _actions_logger__WEBPACK_IMPORTED_MODULE_33__.Logger),\n/* harmony export */ NormalEdit: () => (/* reexport safe */ _actions_normal_edit__WEBPACK_IMPORTED_MODULE_19__.NormalEdit),\n/* harmony export */ Page: () => (/* reexport safe */ _actions_page__WEBPACK_IMPORTED_MODULE_2__.Page),\n/* harmony export */ PdfExport: () => (/* reexport safe */ _actions_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfExport),\n/* harmony export */ Print: () => (/* reexport safe */ _actions_print__WEBPACK_IMPORTED_MODULE_11__.Print),\n/* harmony export */ Reorder: () => (/* reexport safe */ _actions_reorder__WEBPACK_IMPORTED_MODULE_8__.Reorder),\n/* harmony export */ Resize: () => (/* reexport safe */ _actions_resize__WEBPACK_IMPORTED_MODULE_7__.Resize),\n/* harmony export */ RowDD: () => (/* reexport safe */ _actions_row_reorder__WEBPACK_IMPORTED_MODULE_9__.RowDD),\n/* harmony export */ Scroll: () => (/* reexport safe */ _actions_scroll__WEBPACK_IMPORTED_MODULE_6__.Scroll),\n/* harmony export */ Search: () => (/* reexport safe */ _actions_search__WEBPACK_IMPORTED_MODULE_5__.Search),\n/* harmony export */ Selection: () => (/* reexport safe */ _actions_selection__WEBPACK_IMPORTED_MODULE_3__.Selection),\n/* harmony export */ Sort: () => (/* reexport safe */ _actions_sort__WEBPACK_IMPORTED_MODULE_1__.Sort),\n/* harmony export */ Toolbar: () => (/* reexport safe */ _actions_toolbar__WEBPACK_IMPORTED_MODULE_13__.Toolbar),\n/* harmony export */ VirtualScroll: () => (/* reexport safe */ _actions_virtual_scroll__WEBPACK_IMPORTED_MODULE_15__.VirtualScroll),\n/* harmony export */ detailLists: () => (/* reexport safe */ _actions_logger__WEBPACK_IMPORTED_MODULE_33__.detailLists),\n/* harmony export */ getCloneProperties: () => (/* reexport safe */ _actions_print__WEBPACK_IMPORTED_MODULE_11__.getCloneProperties),\n/* harmony export */ menuClass: () => (/* reexport safe */ _actions_context_menu__WEBPACK_IMPORTED_MODULE_28__.menuClass),\n/* harmony export */ resizeClassList: () => (/* reexport safe */ _actions_resize__WEBPACK_IMPORTED_MODULE_7__.resizeClassList),\n/* harmony export */ summaryIterator: () => (/* reexport safe */ _actions_aggregate__WEBPACK_IMPORTED_MODULE_14__.summaryIterator)\n/* harmony export */ });\n/* harmony import */ var _actions_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions/data */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js\");\n/* harmony import */ var _actions_sort__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions/sort */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.js\");\n/* harmony import */ var _actions_page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions/page */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/page.js\");\n/* harmony import */ var _actions_selection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions/selection */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/selection.js\");\n/* harmony import */ var _actions_filter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./actions/filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.js\");\n/* harmony import */ var _actions_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./actions/search */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/search.js\");\n/* harmony import */ var _actions_scroll__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/scroll */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.js\");\n/* harmony import */ var _actions_resize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actions/resize */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.js\");\n/* harmony import */ var _actions_reorder__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/reorder */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/reorder.js\");\n/* harmony import */ var _actions_row_reorder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./actions/row-reorder */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/row-reorder.js\");\n/* harmony import */ var _actions_group__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./actions/group */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js\");\n/* harmony import */ var _actions_print__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./actions/print */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/print.js\");\n/* harmony import */ var _actions_detail_row__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./actions/detail-row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/detail-row.js\");\n/* harmony import */ var _actions_toolbar__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./actions/toolbar */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/toolbar.js\");\n/* harmony import */ var _actions_aggregate__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./actions/aggregate */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/aggregate.js\");\n/* harmony import */ var _actions_virtual_scroll__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./actions/virtual-scroll */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/virtual-scroll.js\");\n/* harmony import */ var _actions_edit__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./actions/edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/edit.js\");\n/* harmony import */ var _actions_batch_edit__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./actions/batch-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.js\");\n/* harmony import */ var _actions_inline_edit__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./actions/inline-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/inline-edit.js\");\n/* harmony import */ var _actions_normal_edit__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./actions/normal-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.js\");\n/* harmony import */ var _actions_dialog_edit__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./actions/dialog-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/dialog-edit.js\");\n/* harmony import */ var _actions_column_chooser__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./actions/column-chooser */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-chooser.js\");\n/* harmony import */ var _actions_excel_export__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./actions/excel-export */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-export.js\");\n/* harmony import */ var _actions_pdf_export__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./actions/pdf-export */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.js\");\n/* harmony import */ var _actions_export_helper__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./actions/export-helper */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.js\");\n/* harmony import */ var _actions_clipboard__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./actions/clipboard */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/clipboard.js\");\n/* harmony import */ var _actions_command_column__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./actions/command-column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/command-column.js\");\n/* harmony import */ var _actions_checkbox_filter__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./actions/checkbox-filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.js\");\n/* harmony import */ var _actions_context_menu__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./actions/context-menu */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/context-menu.js\");\n/* harmony import */ var _actions_freeze__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./actions/freeze */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/freeze.js\");\n/* harmony import */ var _actions_column_menu__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./actions/column-menu */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-menu.js\");\n/* harmony import */ var _actions_excel_filter__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./actions/excel-filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.js\");\n/* harmony import */ var _actions_foreign_key__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./actions/foreign-key */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/foreign-key.js\");\n/* harmony import */ var _actions_logger__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./actions/logger */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/logger.js\");\n/* harmony import */ var _actions_infinite_scroll__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./actions/infinite-scroll */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/infinite-scroll.js\");\n/* harmony import */ var _actions_lazy_load_group__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./actions/lazy-load-group */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/lazy-load-group.js\");\n/**\n * Action export\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/aggregate.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/aggregate.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Aggregate: () => (/* binding */ Aggregate),\n/* harmony export */ summaryIterator: () => (/* binding */ summaryIterator)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _renderer_footer_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../renderer/footer-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/footer-renderer.js\");\n/* harmony import */ var _renderer_summary_cell_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../renderer/summary-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/summary-cell-renderer.js\");\n/* harmony import */ var _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/summary-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Summary Action controller.\n */\nvar Aggregate = /** @class */ (function () {\n function Aggregate(parent, locator) {\n this.parent = parent;\n this.locator = locator;\n this.addEventListener();\n }\n Aggregate.prototype.getModuleName = function () {\n return 'aggregate';\n };\n Aggregate.prototype.initiateRender = function () {\n var _this = this;\n var cellFac = this.locator.getService('cellRendererFactory');\n var instance = new _renderer_summary_cell_renderer__WEBPACK_IMPORTED_MODULE_1__.SummaryCellRenderer(this.parent, this.locator);\n var type = [_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Summary, _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.CaptionSummary, _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupSummary];\n for (var i = 0; i < type.length; i++) {\n cellFac.addCellRenderer(type[parseInt(i.toString(), 10)], instance);\n }\n this.footerRenderer = new _renderer_footer_renderer__WEBPACK_IMPORTED_MODULE_3__.FooterRenderer(this.parent, this.locator);\n this.footerRenderer.renderPanel();\n this.footerRenderer.renderTable();\n var footerContent = this.footerRenderer.getPanel();\n if (this.parent.element.scrollHeight >= this.parent.getHeight(this.parent.height)\n && footerContent) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([footerContent], ['e-footerpadding']);\n }\n this.locator.register('footerRenderer', this.footerRenderer);\n var fn = function () {\n _this.prepareSummaryInfo();\n _this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.dataReady, fn);\n };\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.dataReady, fn, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.dataReady, this.footerRenderer.refresh, this.footerRenderer);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Aggregate.prototype.prepareSummaryInfo = function () {\n var _this = this;\n summaryIterator(this.parent.aggregates, function (column) {\n var cFormat = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('customFormat', column);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cFormat)) {\n column.setPropertiesSilent({ format: cFormat });\n }\n if (typeof (column.format) === 'object') {\n var valueFormatter = new _services_value_formatter__WEBPACK_IMPORTED_MODULE_5__.ValueFormatter();\n column.setFormatter(valueFormatter.getFormatFunction((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, column.format)));\n }\n else if (typeof (column.format) === 'string') {\n var fmtr = _this.locator.getService('valueFormatter');\n column.setFormatter(fmtr.getFormatFunction({ format: column.format }));\n }\n column.setPropertiesSilent({ columnName: column.columnName || column.field });\n });\n };\n Aggregate.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.footerRenderer)) {\n this.initiateRender();\n }\n this.prepareSummaryInfo();\n this.footerRenderer.refresh();\n var cModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_6__.CaptionSummaryModelGenerator(this.parent);\n var gModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_6__.GroupSummaryModelGenerator(this.parent);\n if (gModel.getData().length !== 0 || !cModel.isEmpty()) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.modelChanged, {});\n }\n };\n Aggregate.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.initiateRender, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.uiUpdate, this.onPropertyChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshAggregates, this.refresh, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.destroy, this.destroy, this);\n };\n Aggregate.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.footerRenderer.removeEventListener();\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.initiateRender);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.dataReady, this.footerRenderer.refresh);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.uiUpdate, this.onPropertyChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshAggregates, this.refresh);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.destroy, this.destroy);\n if (this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_7__.gridFooter)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_7__.gridFooter));\n }\n };\n Aggregate.prototype.destroy = function () {\n this.removeEventListener();\n };\n Aggregate.prototype.refresh = function (data, element) {\n var editedData = data instanceof Array ? data : [data];\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshFooterRenderer, editedData);\n if (element) {\n editedData.row = element;\n }\n if (this.parent.groupSettings.columns.length > 0) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.groupAggregates, editedData);\n }\n };\n return Aggregate;\n}());\n\n/**\n * @param {AggregateRowModel[]} aggregates - specifies the AggregateRowModel\n * @param {Function} callback - specifies the Function\n * @returns {void}\n * @private\n */\nfunction summaryIterator(aggregates, callback) {\n for (var i = 0; i < aggregates.length; i++) {\n for (var j = 0; j < aggregates[parseInt(i.toString(), 10)].columns.length; j++) {\n callback(aggregates[parseInt(i.toString(), 10)].columns[parseInt(j.toString(), 10)], aggregates[parseInt(i.toString(), 10)]);\n }\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/aggregate.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BatchEdit: () => (/* binding */ BatchEdit)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _renderer_cell_renderer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../renderer/cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `BatchEdit` module is used to handle batch editing actions.\n *\n * @hidden\n */\nvar BatchEdit = /** @class */ (function () {\n function BatchEdit(parent, serviceLocator, renderer) {\n this.cellDetails = {};\n this.originalCell = {};\n this.cloneCell = {};\n this.editNext = false;\n this.preventSaveCell = false;\n this.initialRender = true;\n this.validationColObj = [];\n /** @hidden */\n this.addBatchRow = false;\n this.prevEditedBatchCell = false;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.renderer = renderer;\n this.focus = serviceLocator.getService('focus');\n this.addEventListener();\n }\n /**\n * @returns {void}\n * @hidden\n */\n BatchEdit.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.click, handler: this.clickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.dblclick, handler: this.dblClickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeCellFocused, handler: this.onBeforeCellFocused },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.cellFocused, handler: this.onCellFocused },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.doubleTap, handler: this.dblClickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.keyPressed, handler: this.keyDownHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.editNextValCell, handler: this.editNextValCell },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, handler: this.destroy }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'mousedown', this.mouseDownHandler, this);\n this.dataBoundFunction = this.dataBound.bind(this);\n this.batchCancelFunction = this.batchCancel.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataBound, this.dataBoundFunction);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchCancel, this.batchCancelFunction);\n };\n /**\n * @returns {void}\n * @hidden\n */\n BatchEdit.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'mousedown', this.mouseDownHandler);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataBound, this.dataBoundFunction);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchCancel, this.batchCancelFunction);\n };\n BatchEdit.prototype.batchCancel = function () {\n this.parent.focusModule.restoreFocus({ requestType: 'batchCancel' });\n };\n BatchEdit.prototype.dataBound = function () {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh, {});\n };\n /**\n * @returns {void}\n * @hidden\n */\n BatchEdit.prototype.destroy = function () {\n this.removeEventListener();\n };\n BatchEdit.prototype.mouseDownHandler = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.element.querySelector('.e-gridform'))) {\n this.mouseDownElement = e.target;\n }\n else {\n this.mouseDownElement = undefined;\n }\n };\n BatchEdit.prototype.clickHandler = function (e) {\n if (!(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, this.parent.element.id + '_add', true)) {\n if ((this.parent.isEdit && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.form, 'td') !== (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'td'))\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.mouseDownElement) || this.mouseDownElement === e.target) {\n this.saveCell();\n this.editNextValCell();\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell) && !this.parent.isEdit) {\n this.setCellIdx(e.target);\n }\n }\n };\n BatchEdit.prototype.dblClickHandler = function (e) {\n var target = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell);\n var tr = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.row);\n var rowIndex = tr && parseInt(tr.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n var colIndex = target && parseInt(target.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaColIndex), 10) - 1;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowIndex) && !isNaN(colIndex)\n && !target.parentElement.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.editedRow) &&\n this.parent.getColumns()[parseInt(colIndex.toString(), 10)].allowEditing) {\n this.editCell(rowIndex, this.parent.getColumns()[parseInt(colIndex.toString(), 10)].field, this.isAddRow(rowIndex));\n }\n };\n BatchEdit.prototype.onBeforeCellFocused = function (e) {\n if (this.parent.isEdit && this.validateFormObj() &&\n (e.byClick || (['tab', 'shiftTab', 'enter', 'shiftEnter'].indexOf(e.keyArgs.action) > -1))) {\n e.cancel = true;\n if (e.byClick) {\n e.clickArgs.preventDefault();\n }\n else {\n e.keyArgs.preventDefault();\n }\n }\n };\n BatchEdit.prototype.onCellFocused = function (e) {\n var clear = (!e.container.isContent || !e.container.isDataCell) && !(this.parent.frozenRows && e.container.isHeader);\n if (this.parent.focusModule.active) {\n this.prevEditedBatchCell = this.parent.focusModule.active.matrix.current.toString() === this.prevEditedBatchCellMatrix()\n .toString();\n this.crtRowIndex = [].slice.call(this.parent.focusModule.active.getTable().rows).indexOf((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.element, 'tr'));\n }\n if (!e.byKey || clear) {\n if ((this.parent.isEdit && clear)) {\n this.saveCell();\n }\n return;\n }\n var _a = e.container.indexes, rowIndex = _a[0], cellIndex = _a[1];\n var actualIndex = e.element.getAttribute('aria-colindex') ? parseInt(e.element.getAttribute('aria-colindex'), 10) - 1 : cellIndex;\n if (actualIndex !== cellIndex) {\n cellIndex = actualIndex;\n }\n if (this.parent.frozenRows && e.container.isContent) {\n rowIndex += ((this.parent.getContent().querySelector('.e-hiddenrow') ? 0 : this.parent.frozenRows) +\n this.parent.getHeaderContent().querySelectorAll('.e-insertedrow').length);\n }\n var isEdit = this.parent.isEdit;\n if (!this.parent.element.getElementsByClassName('e-popup-open').length) {\n isEdit = isEdit && !this.validateFormObj();\n switch (e.keyArgs.action) {\n case 'tab':\n case 'shiftTab':\n // eslint-disable-next-line no-case-declarations\n var indent = this.parent.isRowDragable() && this.parent.isDetail() ? 2 :\n this.parent.isRowDragable() || this.parent.isDetail() ? 1 : 0;\n // eslint-disable-next-line no-case-declarations\n var col = this.parent.getColumns()[cellIndex - indent];\n if (col && !this.parent.isEdit) {\n this.editCell(rowIndex, col.field);\n }\n if (isEdit || this.parent.isLastCellPrimaryKey) {\n this.editCellFromIndex(rowIndex, cellIndex);\n }\n break;\n case 'enter':\n case 'shiftEnter':\n e.keyArgs.preventDefault();\n // eslint-disable-next-line no-case-declarations\n var args = { cancel: false, keyArgs: e.keyArgs };\n this.parent.notify('beforeFocusCellEdit', args);\n if (!args.cancel && isEdit) {\n this.editCell(rowIndex, this.cellDetails.column.field);\n }\n break;\n case 'f2':\n this.editCellFromIndex(rowIndex, cellIndex);\n this.focus.focus();\n break;\n }\n }\n };\n BatchEdit.prototype.isAddRow = function (index) {\n return this.parent.getDataRows()[parseInt(index.toString(), 10)].classList.contains('e-insertedrow');\n };\n BatchEdit.prototype.editCellFromIndex = function (rowIdx, cellIdx) {\n this.cellDetails.rowIndex = rowIdx;\n this.cellDetails.cellIndex = cellIdx;\n this.editCell(rowIdx, this.parent.getColumns()[parseInt(cellIdx.toString(), 10)].field, this.isAddRow(rowIdx));\n };\n BatchEdit.prototype.closeEdit = function () {\n var gObj = this.parent;\n var rows = this.parent.getRowsObject();\n var argument = { cancel: false, batchChanges: this.getBatchChanges() };\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeBatchCancel, argument);\n if (argument.cancel) {\n return;\n }\n if (gObj.isEdit) {\n this.saveCell(true);\n }\n this.isAdded = false;\n var selectedIndexes = [];\n if (gObj.selectionModule) {\n selectedIndexes = gObj.selectionModule.selectedRowIndexes;\n }\n gObj.clearSelection();\n for (var i = 0; i < rows.length; i++) {\n var isInsert = false;\n var isDirty = rows[parseInt(i.toString(), 10)].isDirty;\n isInsert = this.removeBatchElementChanges(rows[parseInt(i.toString(), 10)], isDirty);\n if (isInsert) {\n rows.splice(i, 1);\n }\n if (isInsert) {\n i--;\n }\n }\n if (!gObj.getContentTable().querySelector('tr.e-row')) {\n gObj.renderModule.renderEmptyRow();\n }\n var args = {\n requestType: 'batchCancel', rows: this.parent.getRowsObject()\n };\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchCancel, {\n rows: this.parent.getRowsObject().length ? this.parent.getRowsObject() :\n [new _models_row__WEBPACK_IMPORTED_MODULE_4__.Row({ isDataRow: true, cells: [new _models_cell__WEBPACK_IMPORTED_MODULE_5__.Cell({ isDataCell: true, visible: true })] })]\n });\n if (gObj.isCheckBoxSelection && (gObj.selectionSettings.checkboxOnly || gObj.selectionSettings.persistSelection)) {\n gObj.selectRows(selectedIndexes);\n }\n else {\n gObj.selectRow(this.cellDetails.rowIndex);\n }\n this.refreshRowIdx();\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh, {});\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.tooltipDestroy, {});\n args = { requestType: 'batchCancel', rows: this.parent.getRowsObject() };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchCancel, args);\n };\n BatchEdit.prototype.removeBatchElementChanges = function (row, isDirty) {\n var gObj = this.parent;\n var rowRenderer = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_6__.RowRenderer(this.serviceLocator, null, this.parent);\n var isInstertedRemoved = false;\n if (isDirty) {\n row.isDirty = isDirty;\n var tr = gObj.getRowElementByUID(row.uid);\n if (tr) {\n if (tr.classList.contains('e-insertedrow')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(tr);\n isInstertedRemoved = true;\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.refreshForeignData)(row, this.parent.getForeignKeyColumns(), row.data);\n delete row.changes;\n delete row.edit;\n row.isDirty = false;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(tr, [], ['e-hiddenrow', 'e-updatedtd']);\n rowRenderer.refresh(row, gObj.getColumns(), false);\n }\n if (this.parent.aggregates.length > 0) {\n var type = 'type';\n var editType = [];\n editType[\"\" + type] = 'cancel';\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer, editType);\n if (this.parent.groupSettings.columns.length > 0) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.groupAggregates, editType);\n }\n }\n }\n }\n return isInstertedRemoved;\n };\n BatchEdit.prototype.deleteRecord = function (fieldname, data) {\n this.saveCell();\n if (this.validateFormObj()) {\n this.saveCell(true);\n }\n this.isAdded = false;\n this.bulkDelete(fieldname, data);\n if (this.parent.aggregates.length > 0) {\n if (!(this.parent.isReact || this.parent.isVue)) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer, {});\n }\n if (this.parent.groupSettings.columns.length > 0) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.groupAggregates, {});\n }\n if (this.parent.isReact || this.parent.isVue) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer, {});\n }\n }\n };\n BatchEdit.prototype.addRecord = function (data) {\n this.bulkAddRow(data);\n };\n BatchEdit.prototype.endEdit = function () {\n if (this.parent.isEdit && this.validateFormObj()) {\n return;\n }\n this.batchSave();\n };\n BatchEdit.prototype.validateFormObj = function () {\n return this.parent.editModule.formObj && !this.parent.editModule.formObj.validate();\n };\n BatchEdit.prototype.batchSave = function () {\n var gObj = this.parent;\n var deletedRecords = 'deletedRecords';\n if (gObj.isCheckBoxSelection) {\n var checkAllBox = gObj.element.querySelector('.e-checkselectall').parentElement;\n if (checkAllBox.classList.contains('e-checkbox-disabled') &&\n gObj.pageSettings.totalRecordsCount > gObj.currentViewData.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([checkAllBox], ['e-checkbox-disabled']);\n }\n }\n this.saveCell();\n if (gObj.isEdit || this.editNextValCell() || gObj.isEdit) {\n return;\n }\n var changes = this.getBatchChanges();\n if (this.parent.selectionSettings.type === 'Multiple' && changes[\"\" + deletedRecords].length &&\n this.parent.selectionSettings.persistSelection) {\n changes[\"\" + deletedRecords] = this.removeSelectedData;\n this.removeSelectedData = [];\n }\n var original = {\n changedRecords: this.parent.getRowsObject()\n .filter(function (row) { return row.isDirty && ['add', 'delete'].indexOf(row.edit) === -1; })\n .map(function (row) { return row.data; })\n };\n var args = { batchChanges: changes, cancel: false };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeBatchSave, args, function (beforeBatchSaveArgs) {\n if (beforeBatchSaveArgs.cancel) {\n return;\n }\n gObj.showSpinner();\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.bulkSave, { changes: changes, original: original });\n });\n };\n BatchEdit.prototype.getBatchChanges = function () {\n var changes = {\n addedRecords: [],\n deletedRecords: [],\n changedRecords: []\n };\n var rows = this.parent.getRowsObject();\n for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {\n var row = rows_1[_i];\n if (row.isDirty) {\n switch (row.edit) {\n case 'add':\n changes.addedRecords.push(row.changes);\n break;\n case 'delete':\n changes.deletedRecords.push(row.data);\n break;\n default:\n changes.changedRecords.push(row.changes);\n }\n }\n }\n return changes;\n };\n /**\n * @param {string} uid - specifes the uid\n * @returns {void}\n * @hidden\n */\n BatchEdit.prototype.removeRowObjectFromUID = function (uid) {\n var rows = this.parent.getRowsObject();\n var i = 0;\n for (var len = rows.length; i < len; i++) {\n if (rows[parseInt(i.toString(), 10)].uid === uid) {\n break;\n }\n }\n rows.splice(i, 1);\n };\n /**\n * @param {Row} row - specifies the row object\n * @returns {void}\n * @hidden\n */\n BatchEdit.prototype.addRowObject = function (row) {\n var gObj = this.parent;\n var isTop = gObj.editSettings.newRowPosition === 'Top';\n var rowClone = row.clone();\n if (isTop) {\n gObj.getRowsObject().unshift(rowClone);\n }\n else {\n gObj.getRowsObject().push(rowClone);\n }\n };\n // tslint:disable-next-line:max-func-body-length\n BatchEdit.prototype.bulkDelete = function (fieldname, data) {\n var _this = this;\n this.removeSelectedData = [];\n var gObj = this.parent;\n var index = gObj.selectedRowIndex;\n var selectedRows = gObj.getSelectedRows();\n var args = {\n primaryKey: this.parent.getPrimaryKeyFieldNames(),\n rowIndex: index,\n rowData: data ? data : gObj.getSelectedRecords(),\n cancel: false\n };\n if (data) {\n args.row = gObj.editModule.deleteRowUid ? gObj.getRowElementByUID(gObj.editModule.deleteRowUid)\n : gObj.getRows()[gObj.getCurrentViewRecords().indexOf(data)];\n }\n else {\n args.row = selectedRows;\n }\n if (!args.row) {\n return;\n }\n // tslint:disable-next-line:max-func-body-length\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeBatchDelete, args, function (beforeBatchDeleteArgs) {\n if (beforeBatchDeleteArgs.cancel) {\n return;\n }\n _this.removeSelectedData = gObj.getSelectedRecords();\n gObj.clearSelection();\n beforeBatchDeleteArgs.row = beforeBatchDeleteArgs.row ?\n beforeBatchDeleteArgs.row : data ? gObj.getRows()[parseInt(index.toString(), 10)] :\n selectedRows;\n if (selectedRows.length === 1 || data) {\n if (Array.isArray(beforeBatchDeleteArgs.row)) {\n beforeBatchDeleteArgs.row = beforeBatchDeleteArgs.row[0];\n }\n var uid = beforeBatchDeleteArgs.row.getAttribute('data-uid');\n uid = data && _this.parent.editModule.deleteRowUid ? uid = _this.parent.editModule.deleteRowUid : uid;\n if (beforeBatchDeleteArgs.row.classList.contains('e-insertedrow')) {\n _this.removeRowObjectFromUID(uid);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(beforeBatchDeleteArgs.row);\n }\n else {\n var rowObj = gObj.getRowObjectFromUID(uid);\n rowObj.isDirty = true;\n rowObj.edit = 'delete';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(beforeBatchDeleteArgs.row, ['e-hiddenrow', 'e-updatedtd'], []);\n if (gObj.frozenRows && index < gObj.frozenRows && gObj.getDataRows().length >= gObj.frozenRows) {\n gObj.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).appendChild(gObj.getRowByIndex(gObj.frozenRows - 1));\n }\n }\n delete beforeBatchDeleteArgs.row;\n }\n else {\n if (data) {\n index = parseInt(beforeBatchDeleteArgs.row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n }\n for (var i = 0; i < selectedRows.length; i++) {\n var uniqueid = selectedRows[parseInt(i.toString(), 10)].getAttribute('data-uid');\n if (selectedRows[parseInt(i.toString(), 10)].classList.contains('e-insertedrow')) {\n _this.removeRowObjectFromUID(uniqueid);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(selectedRows[parseInt(i.toString(), 10)]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(selectedRows[parseInt(i.toString(), 10)], ['e-hiddenrow', 'e-updatedtd'], []);\n var selectedRow = gObj.getRowObjectFromUID(uniqueid);\n selectedRow.isDirty = true;\n selectedRow.edit = 'delete';\n if (gObj.frozenRows && index < gObj.frozenRows && gObj.getDataRows().length >= gObj.frozenRows) {\n gObj.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).appendChild(gObj.getRowByIndex(gObj.frozenRows - 1));\n }\n }\n }\n delete beforeBatchDeleteArgs.row;\n }\n _this.refreshRowIdx();\n if (data) {\n gObj.editModule.deleteRowUid = undefined;\n }\n if (!gObj.isCheckBoxSelection) {\n gObj.selectRow(index);\n }\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchDelete, beforeBatchDeleteArgs);\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchDelete, { rows: _this.parent.getRowsObject() });\n gObj.focusModule.restoreFocus({ requestType: 'batchDelete' });\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh, {});\n if (!gObj.getContentTable().querySelector('tr.e-row')) {\n gObj.renderModule.renderEmptyRow();\n }\n });\n };\n BatchEdit.prototype.refreshRowIdx = function () {\n var gObj = this.parent;\n var rows = gObj.getAllDataRows(true);\n var dataObjects = gObj.getRowsObject().filter(function (row) { return !row.isDetailRow; });\n for (var i = 0, j = 0, len = rows.length; i < len; i++) {\n if (rows[parseInt(i.toString(), 10)].classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.row) && !rows[parseInt(i.toString(), 10)].classList.contains('e-hiddenrow')) {\n rows[parseInt(i.toString(), 10)].setAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex, (j + 1).toString());\n dataObjects[parseInt(i.toString(), 10)].index = j;\n j++;\n }\n else {\n rows[parseInt(i.toString(), 10)].removeAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex);\n dataObjects[parseInt(i.toString(), 10)].index = -1;\n }\n }\n };\n BatchEdit.prototype.bulkAddRow = function (data) {\n var _this = this;\n var gObj = this.parent;\n if (!gObj.editSettings.allowAdding) {\n if (gObj.isEdit) {\n this.saveCell();\n }\n return;\n }\n if (gObj.isEdit) {\n this.saveCell();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.editNextValCell, {});\n }\n if (this.validateFormObj()) {\n return;\n }\n if (this.initialRender) {\n var visibleColumns = gObj.getVisibleColumns();\n for (var i = 0; i < visibleColumns.length; i++) {\n if (visibleColumns[parseInt(i.toString(), 10)].validationRules &&\n visibleColumns[parseInt(i.toString(), 10)].validationRules['required']) {\n var obj = { field: (visibleColumns[parseInt(i.toString(), 10)]['field']).slice(), cellIdx: i };\n this.validationColObj.push(obj);\n }\n }\n this.initialRender = false;\n }\n this.parent.element.classList.add('e-editing');\n var defaultData = data ? data : this.getDefaultData();\n var args = {\n defaultData: defaultData,\n primaryKey: gObj.getPrimaryKeyFieldNames(),\n cancel: false\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeBatchAdd, args, function (beforeBatchAddArgs) {\n if (beforeBatchAddArgs.cancel) {\n return;\n }\n _this.isAdded = true;\n gObj.clearSelection();\n var row = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_6__.RowRenderer(_this.serviceLocator, null, _this.parent);\n var model = new _services_row_model_generator__WEBPACK_IMPORTED_MODULE_7__.RowModelGenerator(_this.parent);\n var modelData = model.generateRows([beforeBatchAddArgs.defaultData]);\n var tr = row.render(modelData[0], gObj.getColumns());\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addFixedColumnBorder)(tr);\n var col;\n var index;\n for (var i = 0; i < _this.parent.groupSettings.columns.length; i++) {\n tr.insertBefore(_this.parent.createElement('td', { className: 'e-indentcell' }), tr.firstChild);\n modelData[0].cells.unshift(new _models_cell__WEBPACK_IMPORTED_MODULE_5__.Cell({ cellType: _base_enum__WEBPACK_IMPORTED_MODULE_8__.CellType.Indent }));\n }\n var tbody = gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody);\n tr.classList.add('e-insertedrow');\n if (tbody.querySelector('.e-emptyrow')) {\n var emptyRow = tbody.querySelector('.e-emptyrow');\n emptyRow.parentNode.removeChild(emptyRow);\n if (gObj.frozenRows && gObj.element.querySelector('.e-frozenrow-empty')) {\n gObj.element.querySelector('.e-frozenrow-empty').classList.remove('e-frozenrow-empty');\n }\n }\n if (gObj.frozenRows && gObj.editSettings.newRowPosition === 'Top') {\n tbody = gObj.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody);\n }\n else {\n tbody = gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody);\n }\n if (_this.parent.editSettings.newRowPosition === 'Top') {\n tbody.insertBefore(tr, tbody.firstChild);\n }\n else {\n tbody.appendChild(tr);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([].slice.call(tr.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell)), ['e-updatedtd']);\n modelData[0].isDirty = true;\n modelData[0].changes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, modelData[0].data, true);\n modelData[0].edit = 'add';\n _this.addRowObject(modelData[0]);\n _this.refreshRowIdx();\n _this.focus.forgetPrevious();\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchAdd, { rows: _this.parent.getRowsObject() });\n var changes = _this.getBatchChanges();\n var btmIdx = _this.getBottomIndex();\n if (_this.parent.editSettings.newRowPosition === 'Top') {\n gObj.selectRow(0);\n }\n else {\n gObj.selectRow(btmIdx);\n }\n if (!data) {\n index = _this.findNextEditableCell(0, true);\n col = gObj.getColumns()[parseInt(index.toString(), 10)];\n if (_this.parent.editSettings.newRowPosition === 'Top') {\n _this.editCell(0, col.field, true);\n }\n else {\n _this.editCell(btmIdx, col.field, true);\n }\n }\n if (_this.parent.aggregates.length > 0 && (data || changes[_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.addedRecords].length)) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer, {});\n }\n var args1 = {\n defaultData: beforeBatchAddArgs.defaultData, row: tr,\n columnObject: col, columnIndex: index, primaryKey: beforeBatchAddArgs.primaryKey,\n cell: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? tr.cells[parseInt(index.toString(), 10)] : undefined\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchAdd, args1);\n });\n };\n BatchEdit.prototype.findNextEditableCell = function (columnIndex, isAdd, isValOnly) {\n var cols = this.parent.getColumns();\n var endIndex = cols.length;\n var validation;\n for (var i = columnIndex; i < endIndex; i++) {\n validation = isValOnly ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cols[parseInt(i.toString(), 10)].validationRules) : false;\n // if (!isAdd && this.checkNPCell(cols[parseInt(i.toString(), 10)])) {\n // return i;\n // } else\n if (isAdd && (!cols[parseInt(i.toString(), 10)].template || cols[parseInt(i.toString(), 10)].field)\n && cols[parseInt(i.toString(), 10)].allowEditing && cols[parseInt(i.toString(), 10)].visible &&\n !(cols[parseInt(i.toString(), 10)].isIdentity && cols[parseInt(i.toString(), 10)].isPrimaryKey) && !validation) {\n return i;\n }\n }\n return -1;\n };\n BatchEdit.prototype.getDefaultData = function () {\n var gObj = this.parent;\n var data = {};\n var dValues = { 'number': 0, 'string': null, 'boolean': false, 'date': null, 'datetime': null, 'dateonly': null };\n for (var _i = 0, _a = (gObj.columnModel); _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.field) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(col.field, Object.keys(col).indexOf('defaultValue') >= 0 ? col.defaultValue : dValues[col.type], data);\n }\n }\n return data;\n };\n BatchEdit.prototype.setCellIdx = function (target) {\n var gLen = 0;\n if (this.parent.allowGrouping) {\n gLen = this.parent.groupSettings.columns.length;\n }\n this.cellDetails.cellIndex = target.cellIndex - gLen;\n this.cellDetails.rowIndex = parseInt(target.getAttribute('index'), 10);\n };\n BatchEdit.prototype.editCell = function (index, field, isAdd) {\n var gObj = this.parent;\n var col = gObj.getColumnByField(field);\n this.index = index;\n this.field = field;\n this.isAdd = isAdd;\n var visibleRows = gObj.getDataRows();\n visibleRows = visibleRows.filter(function (row) { return row.style.display !== 'none' && !row.classList.contains('e-childrow-hidden'); });\n var lastRowIndex = parseInt(visibleRows[visibleRows.length - 1].getAttribute('aria-rowindex'), 10) - 1;\n var checkEdit = gObj.isEdit && !(this.cellDetails.column.field === field\n && (this.cellDetails.rowIndex === index && lastRowIndex !== index && this.prevEditedBatchCell));\n if (gObj.editSettings.allowEditing) {\n if (!checkEdit && (col.allowEditing || (!col.allowEditing && gObj.focusModule.active\n && gObj.focusModule.active.getTable().rows[this.crtRowIndex]\n && gObj.focusModule.active.getTable().rows[this.crtRowIndex].classList.contains('e-insertedrow')))) {\n this.editCellExtend(index, field, isAdd);\n }\n else if (checkEdit) {\n this.editNext = true;\n this.saveCell();\n }\n }\n };\n BatchEdit.prototype.editCellExtend = function (index, field, isAdd) {\n var _this = this;\n var gObj = this.parent;\n var col = gObj.getColumnByField(field);\n var keys = gObj.getPrimaryKeyFieldNames();\n if (gObj.isEdit) {\n return;\n }\n var rowData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, this.getDataByIndex(index), true);\n var row = gObj.getDataRows()[parseInt(index.toString(), 10)];\n rowData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, this.getDataByIndex(index), true);\n if ((keys[0] === col.field && !row.classList.contains('e-insertedrow')) || col.columns ||\n (col.isPrimaryKey && col.isIdentity) || col.commands) {\n this.parent.isLastCellPrimaryKey = true;\n return;\n }\n this.parent.isLastCellPrimaryKey = false;\n this.parent.element.classList.add('e-editing');\n var rowObj = gObj.getRowObjectFromUID(row.getAttribute('data-uid'));\n var cells = [].slice.apply(row.cells);\n var args = {\n columnName: col.field, isForeignKey: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.foreignKeyValue),\n primaryKey: keys, rowData: rowData,\n validationRules: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, col.validationRules ? col.validationRules : {}),\n value: (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(col.field, rowData),\n type: !isAdd ? 'edit' : 'add', cancel: false,\n foreignKeyData: rowObj && rowObj.foreignKeyData\n };\n args.cell = cells[this.getColIndex(cells, this.getCellIdx(col.uid))];\n args.row = row;\n args.columnObject = col;\n if (!args.cell) {\n return;\n }\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cellEdit, args, function (cellEditArgs) {\n if (cellEditArgs.cancel) {\n return;\n }\n cellEditArgs.cell = cellEditArgs.cell ? cellEditArgs.cell : cells[_this.getColIndex(cells, _this.getCellIdx(col.uid))];\n cellEditArgs.row = cellEditArgs.row ? cellEditArgs.row : row;\n cellEditArgs.columnObject = cellEditArgs.columnObject ? cellEditArgs.columnObject : col;\n // cellEditArgs.columnObject.index = isNullOrUndefined(cellEditArgs.columnObject.index) ? 0 : cellEditArgs.columnObject.index;\n _this.cellDetails = {\n rowData: rowData, column: col, value: cellEditArgs.value, isForeignKey: cellEditArgs.isForeignKey, rowIndex: index,\n cellIndex: parseInt(cellEditArgs.cell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaColIndex), 10) - 1,\n foreignKeyData: cellEditArgs.foreignKeyData\n };\n if (cellEditArgs.cell.classList.contains('e-updatedtd')) {\n _this.isColored = true;\n cellEditArgs.cell.classList.remove('e-updatedtd');\n }\n gObj.isEdit = true;\n var checkSelect = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellEditArgs.row.querySelector('.e-selectionbackground')) ? true : false;\n gObj.clearSelection();\n if ((!gObj.isCheckBoxSelection || !gObj.isPersistSelection) && (checkSelect || !gObj.selectionSettings.checkboxOnly)) {\n gObj.selectRow(_this.cellDetails.rowIndex, true);\n }\n _this.renderer.update(cellEditArgs);\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchEditFormRendered, cellEditArgs);\n _this.form = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + gObj.element.id + 'EditForm', gObj.element);\n gObj.editModule.applyFormValidation([col]);\n _this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n });\n };\n BatchEdit.prototype.updateCell = function (rowIndex, field, value) {\n var gObj = this.parent;\n var col = gObj.getColumnByField(field);\n var index = gObj.getColumnIndexByField(field);\n var isInsertedBatchRow = gObj.getRowByIndex(rowIndex).classList.contains('e-insertedrow') &&\n gObj.getRowByIndex(rowIndex).classList.contains('e-batchrow');\n if (col && (!col.isPrimaryKey || isInsertedBatchRow) && col.allowEditing) {\n var td_1 = this.parent.isSpan ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getCellFromRow)(gObj, rowIndex, index) :\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getCellByColAndRowIndex)(this.parent, col, rowIndex, index);\n if (this.parent.isSpan && !td_1) {\n return;\n }\n var rowObj_1 = gObj.getRowObjectFromUID(td_1.parentElement.getAttribute('data-uid'));\n if (gObj.isEdit ||\n (!rowObj_1.changes && ((!(value instanceof Date) && rowObj_1.data['' + field] !== value) ||\n ((value instanceof Date) && new Date(rowObj_1.data['' + field]).toString() !== new Date(value).toString()))) ||\n (rowObj_1.changes && ((!(value instanceof Date) && rowObj_1.changes['' + field] !== value) ||\n ((value instanceof Date) && new Date(rowObj_1.changes['' + field]).toString() !== new Date(value).toString())))) {\n this.refreshTD(td_1, col, rowObj_1, value);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if (((this.parent.isReact && this.parent.requireTemplateRef) || (isReactChild &&\n this.parent.parentDetails.parentInstObj.requireTemplateRef)) && col.template) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef_1 = this;\n var newReactTd_1 = this.newReactTd;\n thisRef_1.parent.renderTemplates(function () {\n thisRef_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.queryCellInfo, {\n cell: newReactTd_1 || td_1, column: col, data: rowObj_1.changes\n });\n });\n }\n else if ((this.parent.isReact || isReactChild) && col.template) {\n this.parent.renderTemplates();\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.queryCellInfo, {\n cell: this.newReactTd || td_1, column: col, data: rowObj_1.changes\n });\n }\n else {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.queryCellInfo, {\n cell: this.newReactTd || td_1, column: col, data: rowObj_1.changes\n });\n }\n }\n }\n };\n BatchEdit.prototype.setChanges = function (rowObj, field, value) {\n if (!rowObj.changes) {\n rowObj.changes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, rowObj.data, true);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(field)) {\n if (typeof value === 'string') {\n value = this.parent.sanitize(value);\n }\n _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.setValue(field, value, rowObj.changes);\n }\n if (rowObj.data[\"\" + field] !== value) {\n var type = this.parent.getColumnByField(field).type;\n if ((type === 'date' || type === 'datetime')) {\n if (new Date(rowObj.data[\"\" + field]).toString() !== new Date(value).toString()) {\n rowObj.isDirty = true;\n }\n }\n else {\n rowObj.isDirty = true;\n }\n }\n };\n BatchEdit.prototype.updateRow = function (index, data) {\n var keys = Object.keys(data);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var col = keys_1[_i];\n this.updateCell(index, col, data[\"\" + col]);\n }\n };\n BatchEdit.prototype.getCellIdx = function (uid) {\n var cIdx = this.parent.getColumnIndexByUid(uid) + this.parent.groupSettings.columns.length;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.detailTemplate) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.childGrid)) {\n cIdx++;\n }\n if (this.parent.isRowDragable()) {\n cIdx++;\n }\n return cIdx;\n };\n BatchEdit.prototype.refreshTD = function (td, column, rowObj, value) {\n var cell = new _renderer_cell_renderer__WEBPACK_IMPORTED_MODULE_10__.CellRenderer(this.parent, this.serviceLocator);\n value = column.type === 'number' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? parseFloat(value) : value;\n if (rowObj) {\n this.setChanges(rowObj, column.field, value);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.refreshForeignData)(rowObj, this.parent.getForeignKeyColumns(), rowObj.changes);\n }\n var rowcell = rowObj ? rowObj.cells : undefined;\n var parentElement;\n var cellIndex;\n if (this.parent.isReact) {\n parentElement = td.parentElement;\n cellIndex = td.cellIndex;\n }\n var index = 0;\n if (rowObj) {\n cell.refreshTD(td, rowcell[this.getCellIdx(column.uid) - index], rowObj.changes, { 'index': this.getCellIdx(column.uid) });\n }\n if (this.parent.isReact) {\n this.newReactTd = parentElement.cells[parseInt(cellIndex.toString(), 10)];\n parentElement.cells[parseInt(cellIndex.toString(), 10)].classList.add('e-updatedtd');\n }\n else {\n td.classList.add('e-updatedtd');\n }\n td.classList.add('e-updatedtd');\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh, {});\n };\n BatchEdit.prototype.getColIndex = function (cells, index) {\n var cIdx = 0;\n if (this.parent.allowGrouping && this.parent.groupSettings.columns) {\n cIdx = this.parent.groupSettings.columns.length;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.detailTemplate) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.childGrid)) {\n cIdx++;\n }\n if (this.parent.isRowDragable()) {\n cIdx++;\n }\n for (var m = 0; m < cells.length; m++) {\n var colIndex = parseInt(cells[parseInt(m.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaColIndex), 10) - 1;\n if (colIndex === index - cIdx) {\n return m;\n }\n }\n return -1;\n };\n BatchEdit.prototype.editNextValCell = function () {\n var gObj = this.parent;\n var insertedRows = gObj.element.querySelectorAll('.e-insertedrow');\n var isSingleInsert = insertedRows.length === 1 ? true : false;\n if (isSingleInsert && this.isAdded && !gObj.isEdit) {\n var btmIdx = this.getBottomIndex();\n for (var i = this.cellDetails.cellIndex; i < gObj.getColumns().length; i++) {\n if (gObj.isEdit) {\n return;\n }\n var index = this.findNextEditableCell(this.cellDetails.cellIndex + 1, true, true);\n var col = gObj.getColumns()[parseInt(index.toString(), 10)];\n if (col) {\n if (this.parent.editSettings.newRowPosition === 'Bottom') {\n this.editCell(btmIdx, col.field, true);\n }\n else {\n var args = { index: 0, column: col };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.nextCellIndex, args);\n this.editCell(args.index, col.field, true);\n }\n this.saveCell();\n }\n }\n if (!gObj.isEdit) {\n this.isAdded = false;\n }\n }\n else if (!isSingleInsert && this.isAdded && !gObj.isEdit) {\n for (var i = 0; i < insertedRows.length; i++) {\n if (!gObj.isEdit) {\n for (var j = 0; j < this.validationColObj.length; j++) {\n if (gObj.isEdit) {\n break;\n }\n else if (insertedRows[parseInt(i.toString(), 10)].querySelectorAll('td:not(.e-hide)')[this.validationColObj[parseInt(j.toString(), 10)].cellIdx].innerHTML === '') {\n this.editCell(parseInt(insertedRows[parseInt(i.toString(), 10)].getAttribute('aria-rowindex'), 10) - 1, this.validationColObj[parseInt(j.toString(), 10)].field);\n if (this.validateFormObj()) {\n this.saveCell();\n }\n }\n }\n }\n else {\n break;\n }\n }\n if (!gObj.isEdit) {\n this.isAdded = false;\n }\n }\n };\n BatchEdit.prototype.escapeCellEdit = function () {\n var args = this.generateCellArgs();\n args.value = args.previousValue;\n if (args.value || !this.cellDetails.column.validationRules) {\n this.successCallBack(args, args.cell.parentElement, args.column, true)(args);\n }\n };\n BatchEdit.prototype.generateCellArgs = function () {\n var gObj = this.parent;\n this.parent.element.classList.remove('e-editing');\n var column = this.cellDetails.column;\n var obj = {};\n obj[column.field] = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(column.field, this.cellDetails.rowData);\n var editedData = gObj.editModule.getCurrentEditedData(this.form, obj);\n var cloneEditedData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, editedData);\n editedData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, editedData, this.cellDetails.rowData);\n var value = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(column.field, cloneEditedData);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.field) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(value)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(column.field, value, editedData);\n }\n var args = {\n columnName: column.field,\n value: (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(column.field, editedData),\n rowData: this.cellDetails.rowData,\n column: column,\n previousValue: this.cellDetails.value,\n isForeignKey: this.cellDetails.isForeignKey,\n cancel: false\n };\n args.cell = this.form.parentElement;\n args.columnObject = column;\n return args;\n };\n BatchEdit.prototype.saveCell = function (isForceSave) {\n if (this.preventSaveCell || !this.form) {\n return;\n }\n var gObj = this.parent;\n if (!isForceSave && (!gObj.isEdit || this.validateFormObj())) {\n return;\n }\n this.preventSaveCell = true;\n var args = this.generateCellArgs();\n var tr = args.cell.parentElement;\n var col = args.column;\n args.cell.removeAttribute('aria-label');\n if (!isForceSave) {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cellSave, args, this.successCallBack(args, tr, col));\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.batchForm, { formObj: this.form });\n }\n else {\n this.successCallBack(args, tr, col)(args);\n }\n };\n BatchEdit.prototype.successCallBack = function (cellSaveArgs, tr, column, isEscapeCellEdit) {\n var _this = this;\n return function (cellSaveArgs) {\n var gObj = _this.parent;\n cellSaveArgs.cell = cellSaveArgs.cell ? cellSaveArgs.cell : _this.form.parentElement;\n cellSaveArgs.columnObject = cellSaveArgs.columnObject ? cellSaveArgs.columnObject : column;\n // cellSaveArgs.columnObject.index = isNullOrUndefined(cellSaveArgs.columnObject.index) ? 0 : cellSaveArgs.columnObject.index;\n if (cellSaveArgs.cancel) {\n _this.preventSaveCell = false;\n if (_this.editNext) {\n _this.editNext = false;\n if (_this.cellDetails.rowIndex === _this.index && _this.cellDetails.column.field === _this.field) {\n return;\n }\n _this.editCellExtend(_this.index, _this.field, _this.isAdd);\n }\n return;\n }\n gObj.editModule.destroyWidgets([column]);\n gObj.isEdit = false;\n gObj.editModule.destroyForm();\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.tooltipDestroy, {});\n var rowObj = gObj.getRowObjectFromUID(tr.getAttribute('data-uid'));\n _this.refreshTD(cellSaveArgs.cell, column, rowObj, cellSaveArgs.value);\n if (_this.parent.isReact) {\n cellSaveArgs.cell = _this.newReactTd;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tr], [_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.editedRow, 'e-batchrow']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([cellSaveArgs.cell], ['e-editedbatchcell', 'e-boolcell']);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellSaveArgs.value) && cellSaveArgs.value.toString() ===\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.cellDetails.value) ? _this.cellDetails.value : '').toString() && !_this.isColored\n || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellSaveArgs.value) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowObj.data[column.field]) &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.cellDetails.value) && !cellSaveArgs.cell.parentElement.classList.contains('e-insertedrow'))) {\n cellSaveArgs.cell.classList.remove('e-updatedtd');\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isEscapeCellEdit)) {\n var isReactCompiler = gObj.isReact && column.template && typeof (column.template) !== 'string';\n var isReactChild = gObj.parentDetails && gObj.parentDetails.parentInstObj\n && gObj.parentDetails.parentInstObj.isReact;\n if (isReactCompiler || isReactChild) {\n if (gObj.requireTemplateRef) {\n gObj.renderTemplates(function () {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cellSaved, cellSaveArgs);\n });\n }\n else {\n gObj.renderTemplates();\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cellSaved, cellSaveArgs);\n }\n }\n else {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cellSaved, cellSaveArgs);\n }\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh, {});\n _this.isColored = false;\n if (_this.parent.aggregates.length > 0) {\n if (!(_this.parent.isReact || _this.parent.isVue)) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer, {});\n }\n if (_this.parent.groupSettings.columns.length > 0 && !_this.isAddRow(_this.cellDetails.rowIndex)) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.groupAggregates, {});\n }\n if (_this.parent.isReact || _this.parent.isVue) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer, {});\n }\n }\n _this.preventSaveCell = false;\n if (_this.editNext) {\n _this.editNext = false;\n if (_this.cellDetails.rowIndex === _this.index && _this.cellDetails.column.field === _this.field && _this.prevEditedBatchCell) {\n return;\n }\n var col = gObj.getColumnByField(_this.field);\n if (col && (col.allowEditing || (!col.allowEditing && gObj.focusModule.active\n && gObj.focusModule.active.getTable().rows[_this.crtRowIndex]\n && gObj.focusModule.active.getTable().rows[_this.crtRowIndex].classList.contains('e-insertedrow')))) {\n _this.editCellExtend(_this.index, _this.field, _this.isAdd);\n }\n }\n if (isEscapeCellEdit) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.restoreFocus, {});\n }\n };\n };\n BatchEdit.prototype.prevEditedBatchCellMatrix = function () {\n var editedBatchCellMatrix = [];\n var gObj = this.parent;\n var editedBatchCell = gObj.focusModule.active.getTable().querySelector('.e-editedbatchcell');\n if (editedBatchCell) {\n var tr = editedBatchCell.parentElement;\n var rowIndex = [].slice.call(this.parent.focusModule.active.getTable().rows).indexOf(tr);\n var cellIndex = [].slice.call(tr.cells).indexOf(editedBatchCell);\n editedBatchCellMatrix = [rowIndex, cellIndex];\n }\n return editedBatchCellMatrix;\n };\n BatchEdit.prototype.getDataByIndex = function (index) {\n var row = this.parent.getRowObjectFromUID(this.parent.getDataRows()[parseInt(index.toString(), 10)].getAttribute('data-uid'));\n return row.changes ? row.changes : row.data;\n };\n BatchEdit.prototype.keyDownHandler = function (e) {\n if (this.addBatchRow || ((e.action === 'tab' || e.action === 'shiftTab') && this.parent.isEdit)) {\n var gObj = this.parent;\n var btmIdx = this.getBottomIndex();\n var rowcell = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell);\n if (this.addBatchRow || (rowcell && !this.parent.isReact)) {\n var cell = void 0;\n if (rowcell) {\n cell = rowcell.querySelector('.e-field');\n }\n if (this.addBatchRow || cell) {\n var visibleColumns = this.parent.getVisibleColumns();\n var columnIndex = e.action === 'tab' ? visibleColumns.length - 1 : 0;\n if (this.addBatchRow\n || visibleColumns[parseInt(columnIndex.toString(), 10)].field === cell.getAttribute('id').slice(this.parent.element.id.length)) {\n if (this.cellDetails.rowIndex === btmIdx && e.action === 'tab') {\n if (gObj.editSettings.newRowPosition === 'Top') {\n gObj.editSettings.newRowPosition = 'Bottom';\n this.addRecord();\n gObj.editSettings.newRowPosition = 'Top';\n }\n else {\n this.addRecord();\n }\n this.addBatchRow = false;\n }\n else {\n this.saveCell();\n }\n }\n }\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n BatchEdit.prototype.addCancelWhilePaging = function () {\n if (this.validateFormObj()) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroyForm, {});\n this.parent.isEdit = false;\n this.editNext = false;\n this.mouseDownElement = undefined;\n this.isColored = false;\n }\n };\n BatchEdit.prototype.getBottomIndex = function () {\n var changes = this.getBatchChanges();\n return this.parent.getCurrentViewRecords().length + changes[_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.addedRecords].length -\n changes[_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.deletedRecords].length - 1;\n };\n return BatchEdit;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CheckBoxFilter: () => (/* binding */ CheckBoxFilter)\n/* harmony export */ });\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n\n\n\n/**\n * @hidden\n * `CheckBoxFilter` module is used to handle filtering action.\n */\nvar CheckBoxFilter = /** @class */ (function () {\n /**\n * Constructor for checkbox filtering module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {FilterSettings} filterSettings - specifies the filtersettings\n * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator\n * @hidden\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function CheckBoxFilter(parent, filterSettings, serviceLocator) {\n this.parent = parent;\n this.isresetFocus = true;\n this.checkBoxBase = new _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilterBase(parent);\n this.addEventListener();\n }\n /**\n * To destroy the check box filter.\n *\n * @returns {void}\n * @hidden\n */\n CheckBoxFilter.prototype.destroy = function () {\n this.removeEventListener();\n this.checkBoxBase.closeDialog();\n };\n CheckBoxFilter.prototype.openDialog = function (options) {\n this.checkBoxBase.openDialog(options);\n this.parent.log('column_type_missing', { column: options.column });\n };\n CheckBoxFilter.prototype.closeDialog = function () {\n this.destroy();\n if (this.isresetFocus) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.restoreFocus, {});\n }\n };\n CheckBoxFilter.prototype.closeResponsiveDialog = function () {\n this.checkBoxBase.closeDialog();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the module name\n * @private\n */\n CheckBoxFilter.prototype.getModuleName = function () {\n return 'checkboxFilter';\n };\n CheckBoxFilter.prototype.actionBegin = function (args) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionBegin, args);\n };\n CheckBoxFilter.prototype.actionComplete = function (args) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete, args);\n };\n CheckBoxFilter.prototype.actionPrevent = function (args) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isActionPrevent)(this.parent)) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.preventBatch, args);\n args.cancel = true;\n }\n };\n CheckBoxFilter.prototype.clearCustomFilter = function (col) {\n this.checkBoxBase.clearFilter(col);\n };\n CheckBoxFilter.prototype.applyCustomFilter = function () {\n this.checkBoxBase.fltrBtnHandler();\n this.checkBoxBase.closeDialog();\n };\n CheckBoxFilter.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cBoxFltrBegin, this.actionBegin, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cBoxFltrComplete, this.actionComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.fltrPrevent, this.actionPrevent, this);\n };\n CheckBoxFilter.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cBoxFltrBegin, this.actionBegin);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.cBoxFltrComplete, this.actionComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.fltrPrevent, this.actionPrevent);\n };\n return CheckBoxFilter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/clipboard.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/clipboard.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Clipboard: () => (/* binding */ Clipboard)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n/**\n * The `Clipboard` module is used to handle clipboard copy action.\n */\nvar Clipboard = /** @class */ (function () {\n /**\n * Constructor for the Grid clipboard module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n * @hidden\n */\n function Clipboard(parent, serviceLocator) {\n this.copyContent = '';\n this.isSelect = false;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n }\n /**\n * @returns {void}\n * @hidden\n */\n Clipboard.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.contentReady, this.initialEnd, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.keyPressed, this.keyDownHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.click, this.clickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.onEmpty, this.initialEnd, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'keydown', this.pasteHandler, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Clipboard.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.keyPressed, this.keyDownHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.contentReady, this.initialEnd);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.click, this.clickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.onEmpty, this.initialEnd);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'keydown', this.pasteHandler);\n };\n Clipboard.prototype.clickHandler = function (e) {\n var target = e.target;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n target = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-rowcell');\n };\n Clipboard.prototype.pasteHandler = function (e) {\n var _this = this;\n var grid = this.parent;\n var isMacLike = /(Mac)/i.test(navigator.platform);\n var selectedRowCellIndexes = this.parent.getSelectedRowCellIndexes();\n if (!grid.isEdit && e.keyCode === 67 && isMacLike && e.metaKey) {\n this.copy();\n }\n if (selectedRowCellIndexes.length && e.keyCode === 86 && ((!isMacLike && e.ctrlKey) || (isMacLike && e.metaKey)) && !grid.isEdit) {\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell);\n if (!this.clipBoardTextArea || !target || !grid.editSettings.allowEditing || grid.editSettings.mode !== 'Batch' ||\n grid.selectionSettings.mode !== 'Cell' || grid.selectionSettings.cellSelectionMode === 'Flow') {\n return;\n }\n this.activeElement = document.activeElement;\n var x_1 = window.scrollX;\n var y_1 = window.scrollY;\n this.clipBoardTextArea.focus();\n setTimeout(function () {\n _this.activeElement.focus();\n window.scrollTo(x_1, y_1);\n _this.paste(_this.clipBoardTextArea.value, selectedRowCellIndexes[0].rowIndex, selectedRowCellIndexes[0].cellIndexes[0]);\n }, isMacLike ? 100 : 10);\n }\n };\n /**\n * Paste data from clipboard to selected cells.\n *\n * @param {boolean} data - Specifies the date for paste.\n * @param {boolean} rowIndex - Specifies the row index.\n * @param {boolean} colIndex - Specifies the column index.\n * @returns {void}\n */\n Clipboard.prototype.paste = function (data, rowIndex, colIndex) {\n var grid = this.parent;\n var cIdx = colIndex;\n var rIdx = rowIndex;\n var col;\n var value;\n var isAvail;\n var rows = data.split('\\n');\n var cols;\n for (var r = 0; r < rows.length; r++) {\n cols = rows[parseInt(r.toString(), 10)].split('\\t');\n cIdx = colIndex;\n if ((r === rows.length - 1 && rows[parseInt(r.toString(), 10)] === '') || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(grid.getRowByIndex(rIdx))) {\n cIdx++;\n break;\n }\n for (var c = 0; c < cols.length; c++) {\n isAvail = grid.getCellFromIndex(rIdx, cIdx);\n if (!isAvail) {\n cIdx++;\n break;\n }\n col = grid.getColumnByIndex(cIdx);\n value = col.getParser() ? col.getParser()(cols[parseInt(c.toString(), 10)]) : cols[parseInt(c.toString(), 10)];\n if (col.allowEditing && !col.isPrimaryKey) {\n var args = {\n column: col,\n data: value,\n rowIndex: rIdx\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforePaste, args);\n rIdx = args.rowIndex;\n if (!args.cancel) {\n if (grid.editModule) {\n if (col.type === 'number') {\n this.parent.editModule.updateCell(rIdx, col.field, parseFloat(args.data));\n }\n else {\n grid.editModule.updateCell(rIdx, col.field, args.data);\n }\n }\n }\n }\n cIdx++;\n }\n rIdx++;\n }\n grid.selectionModule.selectCellsByRange({ rowIndex: rowIndex, cellIndex: colIndex }, { rowIndex: rIdx - 1, cellIndex: cIdx - 1 });\n var cell = this.parent.getCellFromIndex(rIdx - 1, cIdx - 1);\n if (cell) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cell, ['e-focus', 'e-focused'], []);\n }\n this.clipBoardTextArea.value = '';\n };\n Clipboard.prototype.initialEnd = function () {\n this.l10n = this.serviceLocator.getService('localization');\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.contentReady, this.initialEnd);\n this.clipBoardTextArea = this.parent.createElement('textarea', {\n className: 'e-clipboard',\n attrs: { tabindex: '-1', 'aria-label': this.l10n.getConstant('ClipBoard') }\n });\n this.clipBoardTextArea.style.opacity = '0';\n this.parent.element.appendChild(this.clipBoardTextArea);\n };\n Clipboard.prototype.keyDownHandler = function (e) {\n if (e.action === 'ctrlPlusC') {\n this.copy();\n }\n else if (e.action === 'ctrlShiftPlusH') {\n this.copy(true);\n }\n };\n Clipboard.prototype.setCopyData = function (withHeader) {\n if (window.getSelection().toString() === '') {\n this.clipBoardTextArea.value = this.copyContent = '';\n var rows = this.parent.getDataRows();\n if (this.parent.selectionSettings && this.parent.selectionSettings.allowColumnSelection && this.parent.selectionModule &&\n this.parent.selectionModule.selectedColumnsIndexes.length) {\n if (withHeader) {\n var selectedColumns = this.parent.selectionModule.selectedColumnsIndexes;\n var headerColumns = [];\n for (var i = 0; i < selectedColumns.length; i++) {\n var colIndex = selectedColumns[parseInt(i.toString(), 10)];\n var headerCell = this.parent.getColumnHeaderByIndex(colIndex);\n if (headerCell && !headerCell.classList.contains('e-hide')) {\n headerColumns.push(headerCell);\n }\n }\n this.getCopyData(headerColumns, false, '\\t', withHeader);\n this.copyContent += '\\n';\n }\n for (var j = 0; j < rows.length; j++) {\n var columnCells = [];\n if (j > 0) {\n this.copyContent += '\\n';\n }\n columnCells.push.apply(columnCells, [].slice.call(rows[parseInt(j.toString(), 10)].querySelectorAll('.e-columnselection:not(.e-hide)')));\n this.getCopyData(columnCells, false, '\\t', withHeader);\n }\n }\n else {\n if (this.parent.selectionSettings.mode !== 'Cell') {\n var selectedIndexes = this.parent.getSelectedRowIndexes().sort(function (a, b) { return a - b; });\n if (withHeader) {\n var headerTextArray = [];\n for (var i = 0; i < this.parent.getVisibleColumns().length; i++) {\n headerTextArray[parseInt(i.toString(), 10)] = this.parent\n .getVisibleColumns()[parseInt(i.toString(), 10)].headerText;\n }\n this.getCopyData(headerTextArray, false, '\\t', withHeader);\n this.copyContent += '\\n';\n }\n if ((this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) && selectedIndexes.length > rows.length) {\n selectedIndexes = [];\n for (var i = 0; i < rows.length; i++) {\n var row = rows[parseInt(i.toString(), 10)];\n if (row.getAttribute('aria-selected') === 'true') {\n selectedIndexes.push(parseInt(row.getAttribute('data-rowindex'), 10));\n }\n }\n }\n for (var i = 0; i < selectedIndexes.length; i++) {\n if (i > 0) {\n this.copyContent += '\\n';\n }\n var leftCols = [];\n var idx = selectedIndexes[parseInt(i.toString(), 10)];\n if (!(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isGroupAdaptive)(this.parent) && (this.parent.enableVirtualization ||\n (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache) ||\n (this.parent.groupSettings.columns.length && this.parent.groupSettings.enableLazyLoading))) {\n idx = rows.map(function (m) { return m.getAttribute('data-rowindex'); }).indexOf(selectedIndexes[parseInt(i.toString(), 10)].toString());\n }\n var currentRow = rows[parseInt(idx.toString(), 10)];\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentRow))) {\n leftCols.push.apply(leftCols, [].slice.call(currentRow.querySelectorAll('.e-rowcell:not(.e-hide)')));\n this.getCopyData(leftCols, false, '\\t', withHeader);\n }\n }\n }\n else if (this.parent.selectionModule && this.parent.selectionModule.selectedRowCellIndexes.length) {\n var obj = this.checkBoxSelection();\n if (obj.status) {\n if (withHeader) {\n var headers = [];\n for (var i = 0; i < obj.colIndexes.length; i++) {\n var colHeader = this.parent\n .getColumnHeaderByIndex(obj.colIndexes[parseInt(i.toString(), 10)]);\n if (!colHeader.classList.contains('e-hide')) {\n headers.push(colHeader);\n }\n }\n this.getCopyData(headers, false, '\\t', withHeader);\n this.copyContent += '\\n';\n }\n for (var i = 0; i < obj.rowIndexes.length; i++) {\n if (i > 0) {\n this.copyContent += '\\n';\n }\n var cells = [].slice.call(rows[obj.rowIndexes[parseInt(i.toString(), 10)]].\n querySelectorAll('.e-cellselectionbackground:not(.e-hide)'));\n this.getCopyData(cells, false, '\\t', withHeader);\n }\n }\n else {\n this.getCopyData([].slice.call(this.parent.element.getElementsByClassName('e-cellselectionbackground')), true, '\\n', withHeader);\n }\n }\n }\n var args = {\n data: this.copyContent,\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeCopy, args);\n if (args.cancel) {\n return;\n }\n this.clipBoardTextArea.value = this.copyContent = args.data;\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.userAgent.match(/ipad|ipod|iphone/i)) {\n this.clipBoardTextArea.select();\n }\n else {\n this.clipBoardTextArea.setSelectionRange(0, this.clipBoardTextArea.value.length);\n }\n this.isSelect = true;\n }\n };\n Clipboard.prototype.getCopyData = function (cells, isCell, splitKey, withHeader) {\n var isElement = typeof cells[0] !== 'string';\n for (var j = 0; j < cells.length; j++) {\n if (withHeader && isCell) {\n var colIdx = parseInt(cells[parseInt(j.toString(), 10)].\n getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaColIndex), 10) - 1;\n this.copyContent += this.parent.getColumns()[parseInt(colIdx.toString(), 10)].headerText + '\\n';\n }\n if (isElement) {\n if (!cells[parseInt(j.toString(), 10)].classList.contains('e-hide')) {\n this.copyContent += cells[parseInt(j.toString(), 10)].innerText;\n }\n }\n else {\n this.copyContent += cells[parseInt(j.toString(), 10)];\n }\n if (j < cells.length - 1) {\n this.copyContent += splitKey;\n }\n }\n };\n /**\n * Copy selected rows or cells data into clipboard.\n *\n * @returns {void}\n * @param {boolean} withHeader - Specifies whether the column header data need to be copied or not.\n */\n Clipboard.prototype.copy = function (withHeader) {\n if (document.queryCommandSupported('copy') && this.clipBoardTextArea) {\n this.setCopyData(withHeader);\n document.execCommand('copy');\n this.clipBoardTextArea.blur();\n }\n if (this.isSelect) {\n window.getSelection().removeAllRanges();\n this.isSelect = false;\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Clipboard.prototype.getModuleName = function () {\n return 'clipboard';\n };\n /**\n * To destroy the clipboard\n *\n * @returns {void}\n * @hidden\n */\n Clipboard.prototype.destroy = function () {\n this.removeEventListener();\n if (this.clipBoardTextArea) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.clipBoardTextArea);\n this.clipBoardTextArea = null;\n }\n };\n Clipboard.prototype.checkBoxSelection = function () {\n var gridObj = this.parent;\n var obj = { status: false };\n if (gridObj.selectionSettings.mode === 'Cell') {\n var rowCellIndxes = gridObj.getSelectedRowCellIndexes();\n var str = void 0;\n var rowIndexes = [];\n var i = void 0;\n for (i = 0; i < rowCellIndxes.length; i++) {\n if (rowCellIndxes[parseInt(i.toString(), 10)].cellIndexes.length) {\n rowIndexes.push(rowCellIndxes[parseInt(i.toString(), 10)].rowIndex);\n }\n if (rowCellIndxes[parseInt(i.toString(), 10)].cellIndexes.length) {\n if (!str) {\n str = JSON.stringify(rowCellIndxes[parseInt(i.toString(), 10)].cellIndexes.sort());\n }\n if (str !== JSON.stringify(rowCellIndxes[parseInt(i.toString(), 10)].cellIndexes.sort())) {\n break;\n }\n }\n }\n rowIndexes.sort(function (a, b) { return a - b; });\n if (i === rowCellIndxes.length) {\n obj = { status: true, rowIndexes: rowIndexes, colIndexes: rowCellIndxes[0].cellIndexes };\n }\n }\n return obj;\n };\n return Clipboard;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/clipboard.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-chooser.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-chooser.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColumnChooser: () => (/* binding */ ColumnChooser)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\n/* harmony import */ var _services_focus_strategy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/focus-strategy */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * The `ColumnChooser` module is used to show or hide columns dynamically.\n */\nvar ColumnChooser = /** @class */ (function () {\n /**\n * Constructor for the Grid ColumnChooser module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n * @hidden\n */\n function ColumnChooser(parent, serviceLocator) {\n this.filterColumns = [];\n this.showColumn = [];\n this.hideColumn = [];\n this.changedColumns = [];\n this.unchangedColumns = [];\n this.infiniteLoadedElement = [];\n this.isDlgOpen = false;\n this.isColumnChooserOpen = false;\n this.initialOpenDlg = true;\n this.stateChangeColumns = [];\n this.changedStateColumns = [];\n this.isInitialOpen = false;\n this.isCustomizeOpenCC = false;\n this.searchOperator = 'startswith';\n this.itemsCount = 50;\n this.infiniteSkipCount = 0;\n this.infiniteColumns = [];\n this.infiniteInitialLoad = false;\n this.prevInfiniteScrollDirection = '';\n this.prevShowedCols = [];\n this.hideDialogFunction = this.hideDialog.bind(this);\n this.infiniteRenderMode = false;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.infiniteRenderMode = this.parent.enableColumnVirtualization ? true : false;\n this.addEventListener();\n this.cBoxTrue = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_1__.createCheckBox)(this.parent.createElement, false, { checked: true, label: ' ' });\n this.cBoxFalse = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_1__.createCheckBox)(this.parent.createElement, false, { checked: false, label: ' ' });\n this.cBoxTrue.insertBefore(this.parent.createElement('input', {\n className: 'e-chk-hidden e-cc e-cc-chbox', attrs: { type: 'checkbox' }\n }), this.cBoxTrue.firstChild);\n this.cBoxFalse.insertBefore(this.parent.createElement('input', {\n className: 'e-chk-hidden e-cc e-cc-chbox', attrs: { 'type': 'checkbox' }\n }), this.cBoxFalse.firstChild);\n this.cBoxFalse.querySelector('.e-frame').classList.add('e-uncheck');\n if (this.parent.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], ['e-rtl']);\n }\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], this.parent.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], [this.parent.cssClass]);\n }\n }\n if (this.parent.enableAdaptiveUI) {\n this.setFullScreenDialog();\n }\n }\n ColumnChooser.prototype.destroy = function () {\n var _this = this;\n var gridElement = this.parent.element;\n if (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent) && (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader)) || !gridElement) {\n return;\n }\n this.removeEventListener();\n this.unWireEvents();\n this.infiniteLoadedElement = null;\n this.infiniteDiv = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgObj) && this.dlgObj.element && !this.dlgObj.isDestroyed) {\n if (this.parent.isReact && this.parent.columnChooserSettings.template) {\n if (!_base_util__WEBPACK_IMPORTED_MODULE_3__.Global.timer) {\n _base_util__WEBPACK_IMPORTED_MODULE_3__.Global.timer = (setTimeout(function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.dlgObj) && _this.dlgObj.element && !_this.dlgObj.isDestroyed) {\n _this.dlgObj.destroy();\n }\n }, 0));\n }\n else {\n clearTimeout(_base_util__WEBPACK_IMPORTED_MODULE_3__.Global.timer);\n _base_util__WEBPACK_IMPORTED_MODULE_3__.Global.timer = null;\n }\n }\n else {\n this.dlgObj.destroy();\n }\n var gridPopup = document.getElementById(this.parent.element.id + '_e-popup');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridPopup)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(gridPopup);\n gridPopup = null;\n }\n }\n };\n ColumnChooser.prototype.setFullScreenDialog = function () {\n if (this.serviceLocator) {\n this.serviceLocator.registerAdaptiveService(this, this.parent.enableAdaptiveUI, _base_enum__WEBPACK_IMPORTED_MODULE_4__.ResponsiveDialogAction.isColumnChooser);\n }\n if (this.parent.enableAdaptiveUI) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.renderResponsiveColumnChooserDiv, this.renderResponsiveColumnChooserDiv, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.renderResponsiveChangeAction, this.renderResponsiveChangeAction, this);\n }\n };\n ColumnChooser.prototype.rtlUpdate = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.innerDiv)) {\n if (this.parent.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([].slice.call(this.innerDiv.getElementsByClassName('e-checkbox-wrapper')), ['e-rtl']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([].slice.call(this.innerDiv.getElementsByClassName('e-checkbox-wrapper')), ['e-rtl']);\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n ColumnChooser.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'click', this.clickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.uiUpdate, this.enableAfterRenderEle, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.initialEnd, this.render, this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_5__.dataBound, this.hideDialogFunction);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.destroy, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.rtlUpdated, this.rtlUpdate, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.resetColumns, this.onResetColumns, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.setFullScreenDialog, this.setFullScreenDialog, this);\n if (this.parent.enableAdaptiveUI) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.renderResponsiveChangeAction, this.renderResponsiveChangeAction, this);\n }\n if (this.infiniteRenderMode || this.parent.enableAdaptiveUI) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.renderResponsiveColumnChooserDiv, this.renderResponsiveColumnChooserDiv, this);\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n ColumnChooser.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'click', this.clickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.initialEnd, this.render);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.destroy, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.uiUpdate, this.enableAfterRenderEle);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.rtlUpdated, this.rtlUpdate);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.resetColumns, this.onResetColumns);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_5__.dataBound, this.hideDialogFunction);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.setFullScreenDialog, this.setFullScreenDialog);\n if (this.infiniteDiv) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.infiniteDiv, 'scroll', this.infiniteScrollHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.infiniteDiv, 'mouseup', this.infiniteScrollMouseKeyUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.infiniteDiv, 'mousedown', this.infiniteScrollMouseKeyDownHandler);\n }\n if (this.parent.enableAdaptiveUI) {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.setFullScreenDialog, this.setFullScreenDialog);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.renderResponsiveChangeAction, this.renderResponsiveChangeAction);\n }\n if (this.infiniteRenderMode || this.parent.enableAdaptiveUI) {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.renderResponsiveColumnChooserDiv, this.renderResponsiveColumnChooserDiv);\n }\n };\n ColumnChooser.prototype.render = function () {\n this.l10n = this.serviceLocator.getService('localization');\n if (!this.parent.enableAdaptiveUI) {\n this.renderDlgContent();\n }\n this.getShowHideService = this.serviceLocator.getService('showHideService');\n };\n ColumnChooser.prototype.clickHandler = function (e) {\n var targetElement = e.target;\n if (!this.isCustomizeOpenCC) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(targetElement, '.e-cc-toolbar')) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(targetElement, '.e-cc'))) {\n if (targetElement.classList.contains('e-columnchooser-btn') || targetElement.classList.contains('e-cc-toolbar')) {\n if ((this.initialOpenDlg && this.dlgObj.visible) || !this.isDlgOpen) {\n this.isDlgOpen = true;\n return;\n }\n }\n else if (targetElement.classList.contains('e-cc-cancel')) {\n targetElement.parentElement.querySelector('.e-ccsearch').value = '';\n this.columnChooserSearch('', false);\n this.removeCancelIcon();\n this.refreshCheckboxButton();\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgObj) && this.dlgObj.visible && !targetElement.classList.contains('e-toolbar-items')) {\n this.dlgObj.hide();\n this.clearActions();\n this.refreshCheckboxState();\n // this.unWireEvents();\n this.isDlgOpen = false;\n }\n }\n if (this.parent.detailTemplate || this.parent.childGrid) {\n this.targetdlg = e.target;\n }\n }\n if (this.isCustomizeOpenCC && e.target.classList.contains('e-cc-cancel')) {\n this.refreshCheckboxState();\n }\n if (!this.parent.enableAdaptiveUI) {\n this.rtlUpdate();\n }\n else {\n if (this.parent.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], ['e-rtl']);\n }\n }\n };\n ColumnChooser.prototype.hideDialog = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgObj) && this.dlgObj.visible) {\n if (this.parent.enableAdaptiveUI) {\n this.responsiveDialogRenderer.hideResponsiveColumnChooser();\n }\n else {\n this.dlgObj.hide();\n // this.unWireEvents();\n this.isDlgOpen = false;\n }\n }\n };\n /**\n * To render columnChooser when showColumnChooser enabled.\n *\n * @param {number} x - specifies the position x\n * @param {number} y - specifies the position y\n * @param {Element} target - specifies the target\n * @returns {void}\n * @hidden\n */\n ColumnChooser.prototype.renderColumnChooser = function (x, y, target) {\n if (!this.dlgObj.visible && (this.parent.detailTemplate || this.parent.childGrid)) {\n this.hideOpenedDialog();\n }\n if (!this.dlgObj.visible) {\n var args = this.beforeOpenColumnChooserEvent();\n if (args.cancel) {\n return;\n }\n args.columns = null;\n if (target) {\n this.targetdlg = target;\n }\n if (this.infiniteRenderMode) {\n this.dlgObj.show();\n }\n this.refreshCheckboxState();\n this.dlgObj.dataBind();\n this.dlgObj.element.style.maxHeight = '430px';\n var elementVisible = this.dlgObj.element.style.display;\n if (!this.parent.columnChooserSettings.enableSearching) {\n var contentElement = this.dlgObj.element.querySelector('.e-dlg-content');\n contentElement.style.margin = '0px';\n }\n this.dlgObj.element.style.display = 'block';\n var isSticky = this.parent.getHeaderContent().classList.contains('e-sticky');\n var toolbarItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-toolbar-item');\n var newpos = void 0;\n if (document.getElementById(this.parent.element.id + '_e-popup') && document.getElementById(this.parent.element.id + '_e-popup').querySelector('.e-ccdlg')) {\n this.parent.element.appendChild(this.dlgObj.element);\n }\n if (isSticky) {\n newpos = toolbarItem.getBoundingClientRect();\n this.dlgObj.element.classList.add('e-sticky');\n }\n else {\n this.dlgObj.element.classList.remove('e-sticky');\n newpos = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.calculateRelativeBasedPosition)(toolbarItem, this.dlgObj.element);\n }\n this.dlgObj.element.style.display = elementVisible;\n this.dlgObj.element.style.top = newpos.top + (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-cc-toolbar').getBoundingClientRect().height + 'px';\n var dlgWidth = 250;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-bigger'))) {\n this.dlgObj.width = 258;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.dlgObj.position = { X: 'center', Y: 'center' };\n this.dlgObj.refreshPosition();\n this.dlgObj.open = this.mOpenDlg.bind(this);\n }\n else {\n if (this.parent.enableRtl) {\n this.dlgObj.element.style.left = target.offsetLeft + 'px';\n }\n else {\n this.dlgObj.element.style.left = ((newpos.left - dlgWidth) + (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-cc-toolbar').clientWidth) + 2 + 'px';\n }\n }\n this.removeCancelIcon();\n if (!this.infiniteRenderMode) {\n this.dlgObj.show();\n }\n if (this.parent.getContent().firstElementChild.offsetHeight < this.dlgObj.element.offsetHeight &&\n !this.parent.element.classList.contains('e-drillthrough-grid')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.resetDialogAppend)(this.parent, this.dlgObj);\n if (this.dlgObj.element.querySelector('.e-ccsearch')) {\n this.dlgObj.element.querySelector('.e-ccsearch').select();\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.columnChooserOpened, { dialog: this.dlgObj });\n }\n else {\n // this.unWireEvents();\n this.hideDialog();\n this.addcancelIcon();\n this.clearActions();\n this.refreshCheckboxState();\n }\n this.rtlUpdate();\n };\n /**\n * Column chooser can be displayed on screen by given position(X and Y axis).\n *\n * @param {number} X - Defines the X axis.\n * @param {number} Y - Defines the Y axis.\n * @return {void}\n */\n ColumnChooser.prototype.openColumnChooser = function (X, Y) {\n this.isCustomizeOpenCC = true;\n if (this.parent.enableAdaptiveUI) {\n if (!this.isColumnChooserOpen) {\n this.parent.showResponsiveCustomColumnChooser();\n return;\n }\n this.isColumnChooserOpen = false;\n this.renderDlgContent();\n }\n if (this.dlgObj.visible) {\n this.hideDialog();\n return;\n }\n var args = this.beforeOpenColumnChooserEvent();\n if (args.cancel) {\n return;\n }\n args.columns = null;\n if (this.infiniteRenderMode) {\n this.dlgObj.show();\n }\n if (!this.isInitialOpen) {\n this.dlgObj.content = this.renderChooserList();\n if (!this.parent.columnChooserSettings.template) {\n this.updateIntermediateBtn();\n }\n }\n else {\n this.refreshCheckboxState();\n }\n this.dlgObj.dataBind();\n if (this.infiniteRenderMode) {\n this.refreshCheckboxState();\n }\n this.dlgObj.position = { X: 'center', Y: 'center' };\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(X)) {\n if (this.parent.enableAdaptiveUI) {\n this.dlgObj.position = { X: '', Y: '' };\n }\n this.dlgObj.refreshPosition();\n }\n else {\n this.dlgObj.element.style.top = '';\n this.dlgObj.element.style.left = '';\n this.dlgObj.element.style.top = Y + 'px';\n this.dlgObj.element.style.left = X + 'px';\n }\n if (!this.parent.columnChooserSettings.enableSearching) {\n var contentElement = this.dlgObj.element.querySelector('.e-dlg-content');\n contentElement.style.margin = '0px';\n }\n this.dlgObj.beforeOpen = this.customDialogOpen.bind(this);\n if (!this.infiniteRenderMode) {\n this.dlgObj.show();\n }\n if (this.parent.getContent().firstElementChild.offsetHeight < this.dlgObj.element.offsetHeight &&\n !this.parent.element.classList.contains('e-drillthrough-grid')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.resetDialogAppend)(this.parent, this.dlgObj);\n }\n this.isInitialOpen = true;\n this.dlgObj.beforeClose = this.customDialogClose.bind(this);\n };\n ColumnChooser.prototype.enableAfterRenderEle = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.render();\n }\n };\n ColumnChooser.prototype.keyUpHandler = function (e) {\n if (e.key === 'Escape') {\n this.resetColumnState();\n }\n if (e && e.target && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-grid-popup'))) {\n this.parent.trigger('keyPressed', e);\n }\n this.setFocus((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(e.target, 'e-cclist'));\n };\n ColumnChooser.prototype.setFocus = function (elem) {\n var prevElem = this.dlgDiv.querySelector('.e-colfocus');\n if (prevElem) {\n prevElem.classList.remove('e-colfocus');\n }\n if (elem) {\n elem.classList.add('e-colfocus');\n }\n };\n ColumnChooser.prototype.customDialogOpen = function () {\n var searchElement = this.dlgObj.content.querySelector('input.e-ccsearch');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(searchElement, 'keyup', this.columnChooserManualSearch, this);\n };\n ColumnChooser.prototype.customDialogClose = function () {\n var searchElement = this.dlgObj.content.querySelector('input.e-ccsearch');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(searchElement, 'keyup', this.columnChooserManualSearch);\n };\n ColumnChooser.prototype.getColumns = function () {\n var columns = (this.infiniteRenderMode ? this.infiniteColumns : this.parent.getColumns()).filter(function (column) { return (column.type !== 'checkbox'\n && column.showInColumnChooser === true) || (column.type === 'checkbox' && column.field !== undefined); });\n return columns;\n };\n ColumnChooser.prototype.renderDlgContent = function () {\n var isAdaptive = this.parent.enableAdaptiveUI;\n this.dlgDiv = this.parent.createElement('div', { className: 'e-ccdlg e-cc', id: this.parent.element.id + '_ccdlg' });\n if (!isAdaptive) {\n this.parent.element.appendChild(this.dlgDiv);\n }\n this.dlgObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_7__.Dialog({\n header: this.parent.enableAdaptiveUI ? null : this.renderHeader(),\n showCloseIcon: false,\n closeOnEscape: false,\n locale: this.parent.locale,\n visible: false,\n enableRtl: this.parent.enableRtl,\n target: document.getElementById(this.parent.element.id),\n content: this.renderChooserList(),\n width: 250,\n cssClass: this.parent.cssClass ? 'e-cc' + ' ' + this.parent.cssClass : 'e-cc',\n animationSettings: { effect: 'None' },\n footerTemplate: this.parent.enableAdaptiveUI ? null : this.renderFooter()\n });\n if (!isAdaptive && (this.infiniteRenderMode || !this.parent.columnChooserSettings.footerTemplate)) {\n this.dlgObj.buttons = [{\n click: this.confirmDlgBtnClick.bind(this),\n buttonModel: {\n content: this.l10n.getConstant('OKButton'), isPrimary: true,\n cssClass: this.parent.cssClass ? 'e-cc e-cc_okbtn' + ' ' + this.parent.cssClass : 'e-cc e-cc_okbtn'\n }\n },\n {\n click: this.clearBtnClick.bind(this),\n buttonModel: {\n cssClass: this.parent.cssClass ?\n 'e-flat e-cc e-cc-cnbtn' + ' ' + this.parent.cssClass : 'e-flat e-cc e-cc-cnbtn',\n content: this.l10n.getConstant('CancelButton')\n }\n }];\n }\n var isStringTemplate = 'isStringTemplate';\n this.dlgObj[\"\" + isStringTemplate] = true;\n this.dlgObj.appendTo(this.dlgDiv);\n if (isAdaptive) {\n var responsiveCnt = document.querySelector('.e-responsive-dialog > .e-dlg-content > .e-mainfilterdiv');\n if (responsiveCnt) {\n responsiveCnt.appendChild(this.dlgDiv);\n }\n this.dlgObj.open = this.mOpenDlg.bind(this);\n this.dlgObj.target = document.querySelector('.e-rescolumnchooser > .e-dlg-content > .e-mainfilterdiv');\n }\n this.wireEvents();\n };\n /**\n * To render the header template for the column chooser.\n * @returns {HTMLElement | string} This method return HTMLElement or string.\n * @hidden\n */\n ColumnChooser.prototype.renderHeader = function () {\n var gridInstance = this.parent;\n if (gridInstance.columnChooserSettings.headerTemplate && !this.infiniteRenderMode) {\n var templateDiv = this.parent.createElement('div', { className: 'e-columnChooserHeaderTemplate' });\n var templateID = this.parent.element.id + 'columnChooserHeaderTemplate';\n if (this.parent.isReact) {\n this.parent.getColumnChooserHeaderTemplate()(null, this.parent, 'columnChooserHeaderTemplate', templateID, null, null, templateDiv);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(templateDiv, this.parent.getColumnChooserHeaderTemplate()(null, this.parent, 'columnChooserHeaderTemplate', templateID));\n }\n return templateDiv;\n }\n return this.l10n.getConstant('ChooseColumns');\n };\n /**\n * To render the footer template for the column chooser.\n * @returns {HTMLElement | string} This method return HTMLElement or string.\n */\n ColumnChooser.prototype.renderFooter = function () {\n var gridInstance = this.parent;\n if (gridInstance.columnChooserSettings.footerTemplate && !this.infiniteRenderMode) {\n var templateDiv = this.parent.createElement('div', { className: 'e-columnChooserFooterTemplate' });\n var templateID = this.parent.element.id + 'columnChooserFooterTemplate';\n if (this.parent.isReact) {\n this.parent.getColumnChooserFooterTemplate()(null, this.parent, 'columnChooserFooterTemplate', templateID, null, null, templateDiv);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(templateDiv, this.parent.getColumnChooserFooterTemplate()(null, this.parent, 'columnChooserFooterTemplate', templateID));\n }\n return templateDiv;\n }\n return null;\n };\n ColumnChooser.prototype.renderChooserList = function () {\n this.mainDiv = this.parent.createElement('div', { className: 'e-main-div e-cc' });\n var searchDiv = this.parent.createElement('div', { className: 'e-cc-searchdiv e-cc e-input-group' });\n var ccsearchele = this.parent.createElement('input', {\n className: 'e-ccsearch e-cc e-input',\n attrs: { placeholder: this.l10n.getConstant('Search'), cssClass: this.parent.cssClass }\n });\n var ccsearchicon = this.parent.createElement('span', {\n className: 'e-ccsearch-icon e-icons e-cc e-input-group-icon',\n attrs: { title: this.l10n.getConstant('Search') }\n });\n var conDiv = this.parent.createElement('div', { className: 'e-cc-contentdiv' });\n this.innerDiv = this.parent.createElement('div', { className: 'e-innerdiv e-cc' });\n searchDiv.appendChild(ccsearchele);\n searchDiv.appendChild(ccsearchicon);\n this.searchBoxObj = new _services_focus_strategy__WEBPACK_IMPORTED_MODULE_8__.SearchBox(ccsearchele, this.serviceLocator);\n var columns = this.getColumns();\n var showColumns = [];\n var hideColumns = [];\n columns.forEach(function (column) {\n if (column.visible) {\n showColumns.push(column.headerText);\n }\n else {\n hideColumns.push(column.headerText);\n }\n });\n if (this.infiniteRenderMode && !this.isInitialOpen) {\n columns = this.parent.columns;\n for (var i = 0; i < columns.length; i++) {\n if (columns[parseInt(i.toString(), 10)].showInColumnChooser) {\n this.infiniteColumns.push(columns[parseInt(i.toString(), 10)]);\n }\n }\n }\n if (this.parent.columnChooserSettings.template && !this.infiniteRenderMode) {\n var templateDiv = this.parent.createElement('div', { className: 'e-columnChooserTemplate' });\n templateDiv.style.cssText = this.parent.enableAdaptiveUI ?\n 'height: 90%; min-height: 160px; overflow-y: auto;' : 'height: 196px; overflow-y: auto;';\n var TemplateID = this.parent.element.id + 'columnChooserTemplate';\n var argsData = { columns: columns, hideColumns: hideColumns, showColumns: showColumns };\n if (this.parent.isReact) {\n this.parent.getColumnChooserTemplate()(argsData, this.parent, 'columnChooserTemplate', TemplateID, null, null, templateDiv);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(templateDiv, this.parent.getColumnChooserTemplate()(argsData, this.parent, 'columnChooserTemplate', TemplateID, null, null, null, this.parent.root));\n }\n if (this.parent.columnChooserSettings.renderCustomColumnChooser) {\n if (typeof this.parent.columnChooserSettings.renderCustomColumnChooser === 'function') {\n this.parent.columnChooserSettings.renderCustomColumnChooser(templateDiv, columns);\n }\n else if (typeof this.parent.columnChooserSettings.renderCustomColumnChooser === 'string') {\n this.parent.columnChooserSettings.renderCustomColumnChooser =\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getObject)(this.parent.columnChooserSettings.renderCustomColumnChooser, window);\n this.parent.columnChooserSettings.renderCustomColumnChooser(templateDiv, columns);\n }\n }\n this.mainDiv.appendChild(searchDiv);\n this.mainDiv.appendChild(templateDiv);\n }\n else {\n var innerDivContent = this.refreshCheckboxList(columns);\n this.innerDiv.appendChild(innerDivContent);\n conDiv.appendChild(this.innerDiv);\n if (this.parent.enableAdaptiveUI) {\n var searchBoxDiv = this.parent.createElement('div', { className: 'e-cc-searchBox' });\n searchBoxDiv.appendChild(searchDiv);\n this.mainDiv.appendChild(searchBoxDiv);\n }\n else {\n this.mainDiv.appendChild(searchDiv);\n }\n this.mainDiv.appendChild(conDiv);\n }\n if (!this.parent.columnChooserSettings.enableSearching) {\n searchDiv.style.display = 'none';\n }\n return this.mainDiv;\n };\n ColumnChooser.prototype.confirmDlgBtnClick = function (args) {\n var onActionBeginArgs = {\n requestType: 'columnVisibilityUpdate',\n columns: this.getColumns(),\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionBegin, onActionBeginArgs);\n if (onActionBeginArgs.cancel) {\n return;\n }\n this.stateChangeColumns = [];\n this.changedStateColumns = [];\n var columns = this.infiniteRenderMode ? this.infiniteColumns : this.parent.getColumns();\n this.changedColumns = (this.changedColumns.length > 0) ? this.changedColumns : this.unchangedColumns;\n this.changedColumnState(this.changedColumns);\n var uncheckedLength = this.infiniteRenderMode ? this.infiniteLoadedElement.filter(function (arr) { return arr.querySelector('.e-uncheck'); }).length : this.ulElement &&\n this.ulElement.querySelector('.e-uncheck') && this.ulElement.querySelectorAll('.e-uncheck:not(.e-selectall)').length;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args)) {\n if (uncheckedLength < columns.length) {\n this.changeColumnVisibility({ visibleColumns: this.showColumn, hiddenColumns: this.hideColumn }, 'uid');\n if (this.parent.getCurrentViewRecords().length === 0) {\n var emptyRowCell = this.parent.element.querySelector('.e-emptyrow').querySelector('td');\n emptyRowCell.setAttribute('colSpan', this.parent.getVisibleColumns().length.toString());\n }\n }\n if (this.parent.enableAdaptiveUI && this.parent.scrollModule) {\n this.parent.scrollModule.refresh();\n }\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.showAddNewRowFocus, {});\n }\n }\n var onActionCompleteArgs = {\n requestType: 'columnVisibilityUpdate',\n columns: this.getColumns(),\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionComplete, onActionCompleteArgs);\n };\n /**\n * Toggles the visibility of specified columns in the grid.\n * @param {Object} columns - An object specifying the columns to show or hide.\n * @param {string[]} columns.visibleColumns - An array of column identifiers specifying the columns to show.\n * @param {string[]} columns.hiddenColumns - An array of column identifiers specifying the columns to hide.\n * @param {string} columnKey - Defines the column key as a UID, field name, or header text.\n * @returns {void}\n * The 'columns' object contains the properties 'visibleColumns' and 'hiddenColumns' as arrays of column identifiers.\n */\n ColumnChooser.prototype.changeColumnVisibility = function (columns, columnKey) {\n columnKey = columnKey ? columnKey : 'headerText';\n if (columnKey !== 'uid') {\n if (columns.visibleColumns || columns.hiddenColumns) {\n this.stateChangeColumns = [];\n this.changedStateColumns = [];\n var columnChooserColumns = this.getColumns();\n columns.hiddenColumns = columnChooserColumns.filter(function (column) {\n return columns.hiddenColumns.indexOf(column[columnKey]) !== -1;\n }).map(function (column) { return column.uid; });\n columns.visibleColumns = columnChooserColumns.filter(function (column) {\n return columns.visibleColumns.indexOf(column[columnKey]) !== -1;\n }).map(function (column) { return column.uid; });\n }\n }\n if (columns.hiddenColumns.length) {\n this.columnStateChange(columns.hiddenColumns, false);\n }\n if (columns.visibleColumns.length) {\n this.columnStateChange(columns.visibleColumns, true);\n }\n this.getShowHideService.setVisible(this.stateChangeColumns, this.changedStateColumns);\n this.clearActions();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.tooltipDestroy, { module: 'edit' });\n };\n ColumnChooser.prototype.onResetColumns = function (e) {\n if (e.requestType === 'columnstate') {\n this.resetColumnState();\n return;\n }\n };\n ColumnChooser.prototype.renderResponsiveColumnChooserDiv = function (args) {\n if (args.action === 'open') {\n this.isColumnChooserOpen = true;\n this.openColumnChooser();\n }\n else if (args.action === 'clear') {\n this.clearBtnClick();\n }\n else if (args.action === 'confirm') {\n this.confirmDlgBtnClick(true);\n }\n };\n ColumnChooser.prototype.resetColumnState = function () {\n this.showColumn = [];\n this.hideColumn = [];\n this.changedColumns = [];\n this.filterColumns = [];\n this.searchValue = '';\n if (this.infiniteRenderMode) {\n var focusListElement = this.dlgDiv.querySelector('.e-cclist.e-cc-selectall.e-colfocus');\n if (focusListElement) {\n focusListElement.classList.remove('e-colfocus');\n }\n }\n this.hideDialog();\n };\n ColumnChooser.prototype.changedColumnState = function (changedColumns) {\n for (var index = 0; index < changedColumns.length; index++) {\n var colUid = changedColumns[parseInt(index.toString(), 10)];\n var currentColumn = this.parent.getColumnByUid(colUid, this.infiniteRenderMode);\n this.changedStateColumns.push(currentColumn);\n }\n };\n ColumnChooser.prototype.columnStateChange = function (stateColumns, state) {\n for (var index = 0; index < stateColumns.length; index++) {\n var colUid = stateColumns[parseInt(index.toString(), 10)];\n var currentColumn = this.parent.getColumnByUid(colUid, this.infiniteRenderMode);\n if (currentColumn) {\n if (currentColumn.type !== 'checkbox') {\n currentColumn.visible = state;\n }\n this.stateChangeColumns.push(currentColumn);\n }\n }\n };\n ColumnChooser.prototype.clearActions = function () {\n this.resetColumnState();\n this.addcancelIcon();\n };\n ColumnChooser.prototype.clearBtnClick = function () {\n var onActionBeginArgs = {\n requestType: 'columnChooserClose',\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionBegin, onActionBeginArgs);\n if (onActionBeginArgs.cancel) {\n return;\n }\n this.clearActions();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.columnChooserCancelBtnClick, { dialog: this.dlgObj });\n var onActionCompleteArgs = {\n requestType: 'columnChooserClose',\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionComplete, onActionCompleteArgs);\n };\n ColumnChooser.prototype.checkstatecolumn = function (isChecked, coluid, selectAll) {\n if (selectAll === void 0) { selectAll = false; }\n var currentColumn = this.parent.getColumnByUid(coluid, this.infiniteRenderMode);\n if (isChecked) {\n if (this.hideColumn.indexOf(coluid) !== -1) {\n this.hideColumn.splice(this.hideColumn.indexOf(coluid), 1);\n }\n if (this.showColumn.indexOf(coluid) === -1 && !(currentColumn && currentColumn.visible)) {\n this.showColumn.push(coluid);\n }\n }\n else {\n if (this.showColumn.indexOf(coluid) !== -1) {\n this.showColumn.splice(this.showColumn.indexOf(coluid), 1);\n }\n if (this.hideColumn.indexOf(coluid) === -1 && (currentColumn && currentColumn.visible)) {\n this.hideColumn.push(coluid);\n }\n }\n if (selectAll) {\n if (!isChecked) {\n this.changedColumns.push(coluid);\n }\n else {\n this.unchangedColumns.push(coluid);\n }\n }\n else if (this.changedColumns.indexOf(coluid) !== -1) {\n this.changedColumns.splice(this.changedColumns.indexOf(coluid), 1);\n }\n else {\n this.changedColumns.push(coluid);\n }\n };\n ColumnChooser.prototype.columnChooserSearch = function (searchVal, check) {\n if (check) {\n var onActionBeginArgs = {\n requestType: 'columnChooserSearch',\n columns: this.getColumns(),\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionBegin, onActionBeginArgs);\n if (onActionBeginArgs.cancel) {\n return;\n }\n }\n var clearSearch = false;\n var okButton;\n var buttonEle = this.dlgDiv.querySelector('.e-footer-content');\n var selectedCheckbox = this.ulElement && this.ulElement.querySelector('.e-check') &&\n this.ulElement.querySelectorAll('.e-check:not(.e-selectall)').length;\n if (this.infiniteRenderMode) {\n selectedCheckbox = this.infiniteLoadedElement.filter(function (arr) { return arr.querySelector('.e-check'); }).length;\n }\n this.isInitialOpen = true;\n if (buttonEle && buttonEle.querySelector('.e-btn')) {\n okButton = buttonEle.querySelector('.e-btn').ej2_instances[0];\n }\n if (searchVal === '') {\n this.removeCancelIcon();\n this.filterColumns = this.getColumns();\n clearSearch = true;\n }\n else {\n this.filterColumns = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataManager(this.getColumns()).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.Query()\n .where('headerText', this.searchOperator, searchVal, true, this.parent.columnChooserSettings.ignoreAccent));\n }\n if (this.infiniteRenderMode) {\n this.updateIfiniteSelectAll();\n }\n if (this.parent.columnChooserSettings.template && !this.infiniteRenderMode) {\n var TemplateElement = void 0;\n var isReactCompiler = this.parent.isReact;\n if (isReactCompiler) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.clearReactVueTemplates)(this.parent, ['columnChooserTemplate']);\n TemplateElement = this.mainDiv.querySelector('.e-columnChooserTemplate');\n }\n else {\n this.mainDiv.querySelector('.e-columnChooserTemplate').remove();\n TemplateElement = this.parent.createElement('div', { className: 'e-columnChooserTemplate' });\n TemplateElement.style.cssText = this.parent.enableAdaptiveUI ?\n 'height: 90%; min-height: 160px; overflow-y: auto;' : 'height: 196px; overflow-y: auto;';\n }\n var TemplateID = this.parent.element.id + 'columnChooserTemplate';\n var chooserColumns = this.filterColumns;\n var searchedValue = searchVal;\n var showColumns_1 = [];\n var hideColumns_1 = [];\n chooserColumns.forEach(function (column) {\n if (column.visible) {\n showColumns_1.push(column.headerText);\n }\n else {\n hideColumns_1.push(column.headerText);\n }\n });\n var argsData = {\n columns: chooserColumns,\n hideColumns: hideColumns_1,\n showColumns: showColumns_1,\n searchValue: searchedValue\n };\n if (isReactCompiler) {\n this.parent.getColumnChooserTemplate()(argsData, this.parent, 'columnChooserTemplate', TemplateID, null, null, TemplateElement);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(TemplateElement, this.parent.getColumnChooserTemplate()(argsData, this.parent, 'columnChooserTemplate', TemplateID, null, null, null, this.parent.root));\n }\n if (this.parent.columnChooserSettings.renderCustomColumnChooser) {\n if (typeof this.parent.columnChooserSettings.renderCustomColumnChooser === 'function') {\n this.parent.columnChooserSettings.renderCustomColumnChooser(TemplateElement, this.filterColumns);\n }\n else if (typeof this.parent.columnChooserSettings.renderCustomColumnChooser === 'string') {\n this.parent.columnChooserSettings.renderCustomColumnChooser =\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getObject)(this.parent.columnChooserSettings.renderCustomColumnChooser, window);\n this.parent.columnChooserSettings.renderCustomColumnChooser(TemplateElement, this.filterColumns);\n }\n }\n this.mainDiv.appendChild(TemplateElement);\n }\n else if (this.filterColumns.length) {\n this.innerDiv.innerHTML = ' ';\n this.innerDiv.classList.remove('e-ccnmdiv');\n this.infiniteInitialLoad = true;\n this.infiniteLoadedElement = [];\n this.innerDiv.appendChild(this.refreshCheckboxList(this.filterColumns));\n if (this.infiniteRenderMode) {\n this.mainDiv.querySelector('.e-ccheck .e-selectall').parentElement.classList.remove('e-checkbox-disabled');\n this.updateIntermediateBtn();\n }\n if (!clearSearch) {\n this.addcancelIcon();\n this.refreshCheckboxButton();\n }\n else {\n if (okButton && selectedCheckbox) {\n okButton.disabled = false;\n }\n if (selectedCheckbox && this.parent.enableAdaptiveUI && this.responsiveDialogRenderer) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshCustomFilterOkBtn, { disabled: false });\n }\n }\n }\n else {\n var nMatchele = this.parent.createElement('span', { className: 'e-cc e-nmatch' });\n nMatchele.innerHTML = this.l10n.getConstant('Matchs');\n this.innerDiv.innerHTML = ' ';\n if (this.infiniteRenderMode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.mainDiv.querySelector('.e-frame.e-selectall')], ['e-check', 'e-stop', 'e-uncheck']);\n this.mainDiv.querySelector('.e-ccheck .e-selectall').parentElement.classList.add('e-checkbox-disabled');\n }\n this.innerDiv.appendChild(nMatchele);\n this.innerDiv.classList.add('e-ccnmdiv');\n if (okButton) {\n okButton.disabled = true;\n }\n if (this.parent.enableAdaptiveUI && this.responsiveDialogRenderer) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshCustomFilterOkBtn, { disabled: true });\n }\n }\n this.flag = true;\n this.stopTimer();\n if (check) {\n var onActionCompleteArgs = {\n requestType: 'columnChooserSearch',\n columns: this.getColumns(),\n cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionComplete, onActionCompleteArgs);\n }\n };\n ColumnChooser.prototype.updateIfiniteSelectAll = function () {\n this.changedColumns = [];\n this.hideColumn = [];\n this.showColumn = [];\n var unCheckItem = this.infiniteLoadedElement.filter(function (arr) { return arr.querySelector('.e-uncheck'); });\n for (var i = 0; i < unCheckItem.length; i++) {\n this.checkState(unCheckItem[parseInt(i.toString(), 10)].querySelector('.e-frame'), true);\n }\n };\n ColumnChooser.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlgObj.element, 'click', this.checkBoxClickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.searchBoxObj.searchBox, 'keyup', this.columnChooserManualSearch, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlgObj.element, 'keyup', this.keyUpHandler, this);\n this.searchBoxObj.wireEvent();\n };\n ColumnChooser.prototype.unWireEvents = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n if (this.dlgObj && this.dlgObj.element) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlgObj.element, 'click', this.checkBoxClickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlgObj.element, 'keyup', this.keyUpHandler);\n }\n if (this.searchBoxObj) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.searchBoxObj.searchBox, 'keyup', this.columnChooserManualSearch);\n this.searchBoxObj.unWireEvent();\n }\n };\n ColumnChooser.prototype.checkBoxClickHandler = function (e) {\n if (this.parent.columnChooserSettings.template && !this.infiniteRenderMode) {\n return;\n }\n var checkstate;\n var selectAllElement = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(e.target, 'e-checkbox-wrapper');\n var columns = this.infiniteRenderMode ? this.infiniteColumns : this.parent.getColumns();\n if (selectAllElement) {\n var selectAll = selectAllElement.querySelector('.e-selectall');\n if (selectAll) {\n this.updateSelectAll(!selectAllElement.querySelector('.e-check'));\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.toogleCheckbox)(selectAllElement.parentElement);\n }\n selectAllElement.querySelector('.e-chk-hidden').focus();\n if (selectAllElement.querySelector('.e-check')) {\n checkstate = true;\n }\n else if (selectAllElement.querySelector('.e-uncheck')) {\n checkstate = false;\n }\n if (!this.infiniteRenderMode) {\n this.updateIntermediateBtn();\n }\n var columnUid = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(selectAllElement, 'e-ccheck').getAttribute('uid');\n var column = (this.searchValue && this.searchValue.length) ? this.filterColumns : columns;\n if (columnUid === this.parent.element.id + '-selectAll') {\n this.changedColumns = [];\n this.unchangedColumns = [];\n for (var i = 0; i < column.length; i++) {\n if (column[parseInt(i.toString(), 10)].showInColumnChooser) {\n this.checkstatecolumn(checkstate, column[parseInt(i.toString(), 10)].uid, true);\n }\n }\n }\n else {\n this.checkstatecolumn(checkstate, columnUid);\n }\n var isSelectAll = this.infiniteRenderMode && selectAllElement.querySelector('.e-selectall') &&\n selectAllElement.querySelector('.e-uncheck') ? true : false;\n if (!this.parent.columnChooserSettings.footerTemplate) {\n this.refreshCheckboxButton(isSelectAll);\n }\n this.setFocus((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(e.target, 'e-cclist'));\n if (this.infiniteRenderMode) {\n this.updateIntermediateBtn();\n }\n }\n };\n ColumnChooser.prototype.updateIntermediateBtn = function () {\n var count = this.infiniteRenderMode ? this.infiniteLoadedElement.length : this.ulElement.children.length - 1;\n var className = [];\n var hideColumnsCount = 0;\n var showColumnsCount = 0;\n (this.searchValue && this.searchValue.length ? this.filterColumns : this.infiniteColumns).filter(function (column) {\n if (column.visible === false) {\n hideColumnsCount++;\n }\n else {\n showColumnsCount++;\n }\n });\n var selectAllElement = (this.infiniteRenderMode && this.mainDiv.querySelector('.e-cc-selectall') ?\n this.mainDiv.querySelector('.e-cc-selectall') : this.ulElement.children[0]).querySelector('.e-frame');\n var selected = this.infiniteRenderMode ? this.infiniteLoadedElement.filter(function (arr) { return arr.querySelector('.e-check'); }).length : this.ulElement.querySelectorAll('.e-check:not(.e-selectall)').length;\n var btn;\n if (!this.parent.enableAdaptiveUI && !this.parent.columnChooserSettings.footerTemplate) {\n btn = this.dlgObj.btnObj[0];\n btn.disabled = false;\n }\n else if (this.parent.enableAdaptiveUI && this.responsiveDialogRenderer) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshCustomFilterOkBtn, { disabled: false });\n }\n var inputElem = selectAllElement.parentElement.querySelector('input');\n if (count === selected && (!this.infiniteRenderMode || (this.infiniteRenderMode &&\n hideColumnsCount === this.showColumn.length))) {\n className = ['e-check'];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setChecked)(inputElem, true);\n }\n else if (selected || (this.infiniteRenderMode && !selected && showColumnsCount !== this.hideColumn.length)) {\n className = ['e-stop'];\n inputElem.indeterminate = true;\n }\n else {\n className = ['e-uncheck'];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setChecked)(inputElem, false);\n if (btn && !this.parent.enableAdaptiveUI) {\n btn.disabled = true;\n }\n else if (this.parent.enableAdaptiveUI && this.responsiveDialogRenderer) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshCustomFilterOkBtn, { disabled: true });\n }\n }\n if (btn && !this.parent.enableAdaptiveUI) {\n btn.dataBind();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([selectAllElement], ['e-check', 'e-stop', 'e-uncheck']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([selectAllElement], className);\n };\n ColumnChooser.prototype.updateSelectAll = function (checked) {\n var checkBoxItems = [].slice.call(this.ulElement.getElementsByClassName('e-frame'));\n if (this.infiniteRenderMode) {\n checkBoxItems = [];\n this.infiniteLoadedElement.map(function (arr) { return checkBoxItems.push(arr.querySelector('.e-frame')); });\n checkBoxItems.unshift(this.mainDiv.querySelector('.e-cc-selectall').querySelector('.e-frame'));\n }\n for (var _i = 0, checkBoxItems_1 = checkBoxItems; _i < checkBoxItems_1.length; _i++) {\n var checkBoxItem = checkBoxItems_1[_i];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.removeAddCboxClasses)(checkBoxItem, checked);\n var cBoxInput = checkBoxItem.parentElement.querySelector('input');\n if (checkBoxItem.classList.contains('e-check')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setChecked)(cBoxInput, true);\n }\n else if (checkBoxItem.classList.contains('e-uncheck')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setChecked)(cBoxInput, false);\n }\n }\n };\n ColumnChooser.prototype.refreshCheckboxButton = function (checkstate) {\n var visibleCols = this.parent.getVisibleColumns();\n for (var i = 0; i < visibleCols.length; i++) {\n var columnUID = visibleCols[parseInt(i.toString(), 10)].uid;\n if (this.prevShowedCols.indexOf(columnUID) === -1 && visibleCols[parseInt(i.toString(), 10)].type !== 'checkbox') {\n this.prevShowedCols.push(columnUID);\n }\n }\n for (var i = 0; i < this.hideColumn.length; i++) {\n var index = this.prevShowedCols.indexOf(this.hideColumn[parseInt(i.toString(), 10)]);\n if (index !== -1) {\n this.prevShowedCols.splice(index, 1);\n }\n }\n var selected = this.showColumn.length !== 0 ? 1 : this.prevShowedCols.length;\n if (this.infiniteRenderMode) {\n selected = this.infiniteLoadedElement.filter(function (arr) { return arr.querySelector('.e-uncheck'); }).length;\n }\n var btn;\n if (!this.parent.enableAdaptiveUI) {\n btn = this.dlgDiv.querySelector('.e-footer-content').querySelector('.e-btn').ej2_instances[0];\n btn.disabled = false;\n }\n else if (this.parent.enableAdaptiveUI && this.responsiveDialogRenderer) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshCustomFilterOkBtn, { disabled: false });\n }\n var sreachShowColumns = [];\n var searchData = [].slice.call(document.getElementsByClassName('e-cc-chbox'));\n for (var i = 0, itemsLen = searchData.length; i < itemsLen; i++) {\n var element = searchData[parseInt(i.toString(), 10)];\n if (this.infiniteRenderMode && element.classList.contains('e-selectall')) {\n continue;\n }\n var columnUID = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(element, 'e-ccheck').getAttribute('uid');\n sreachShowColumns.push(columnUID);\n }\n var hideColumns = this.showColumn.filter(function (column) { return sreachShowColumns.indexOf(column) !== -1; });\n if ((this.infiniteRenderMode && (checkstate || sreachShowColumns.length === selected)) ||\n (!this.infiniteRenderMode && selected === 0 && hideColumns.length === 0)) {\n if (!this.parent.enableAdaptiveUI) {\n btn.disabled = true;\n }\n else if (this.parent.enableAdaptiveUI && this.responsiveDialogRenderer) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshCustomFilterOkBtn, { disabled: true });\n }\n }\n if (!this.parent.enableAdaptiveUI) {\n btn.dataBind();\n }\n };\n ColumnChooser.prototype.refreshCheckboxList = function (chooserColumns) {\n this.ulElement = this.parent.createElement('ul', { className: 'e-ccul-ele e-cc' });\n var selectAllValue = this.l10n.getConstant('SelectAll');\n var columnChooserList = this.parent.createElement('li', { className: 'e-cclist e-cc e-cc-selectall' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateCSSText)(columnChooserList, this.infiniteRenderMode ? 'list-style: None;' : '');\n var selectAll = this.createCheckBox(selectAllValue, false, this.parent.element.id + '-selectAll');\n if (chooserColumns.length) {\n selectAll.querySelector('.e-checkbox-wrapper').firstElementChild.classList.add('e-selectall');\n selectAll.querySelector('.e-frame').classList.add('e-selectall');\n this.checkState(selectAll.querySelector('.e-icons'), true);\n columnChooserList.appendChild(selectAll);\n if (this.infiniteRenderMode) {\n if (this.mainDiv.querySelector('.e-cc-contentdiv') && !this.mainDiv.querySelector('.e-cc-selectall')) {\n this.infiniteDiv = this.mainDiv.querySelector('.e-cc-contentdiv');\n this.mainDiv.insertBefore(columnChooserList, this.infiniteDiv);\n this.infiniteDiv.classList.add('e-checkbox-infinitescroll');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.infiniteDiv, 'scroll', this.infiniteScrollHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.infiniteDiv, 'mouseup', this.infiniteScrollMouseKeyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.infiniteDiv, 'mousedown', this.infiniteScrollMouseKeyDownHandler, this);\n }\n }\n else {\n this.ulElement.appendChild(columnChooserList);\n }\n }\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([selectAll], this.parent.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([selectAll], [this.parent.cssClass]);\n }\n }\n if (this.infiniteRenderMode && chooserColumns.length > (this.itemsCount * 3)) {\n this.infiniteSkipCount = this.itemsCount * 2;\n }\n this.renderCheckbox(chooserColumns.slice(0, this.infiniteRenderMode ? this.itemsCount * 3 : chooserColumns.length));\n return this.ulElement;\n };\n ColumnChooser.prototype.infiniteScrollMouseKeyDownHandler = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.infiniteDiv, 'scroll', this.infiniteScrollHandler);\n };\n ColumnChooser.prototype.infiniteScrollMouseKeyUpHandler = function (e) {\n var _this = this;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.infiniteDiv, 'scroll', this.infiniteScrollHandler, this);\n var target = this.infiniteDiv;\n if (this.ulElement.children.length > 1 && (target.scrollTop >= target.scrollHeight - target.offsetHeight ||\n target.scrollTop <= 0)) {\n this.infiniteScrollHandler();\n }\n _base_util__WEBPACK_IMPORTED_MODULE_3__.Global.timer = setTimeout(function () { _this.clickHandler(e); _base_util__WEBPACK_IMPORTED_MODULE_3__.Global.timer = null; }, 0);\n };\n ColumnChooser.prototype.infiniteScrollHandler = function () {\n var target = this.infiniteDiv;\n var columns = this.searchValue && this.searchValue.length ? this.filterColumns : this.infiniteColumns;\n if (target.scrollTop >= target.scrollHeight - target.offsetHeight\n && this.infiniteLoadedElement.length <= (this.infiniteSkipCount + this.itemsCount)\n && this.ulElement.children.length === this.itemsCount * 3\n && (!columns.length || columns.length > (this.infiniteSkipCount + this.itemsCount))) {\n var diffcount = columns.length - (this.infiniteSkipCount + this.itemsCount);\n var count = 0;\n if (diffcount < this.itemsCount) {\n count = diffcount;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.infiniteRemoveElements)(([].slice.call(this.ulElement.children)).splice(0, this.itemsCount));\n this.infiniteInitialLoad = true;\n this.infiniteSkipCount += this.itemsCount;\n this.renderCheckbox(columns.slice(this.infiniteSkipCount, this.infiniteSkipCount + (count + this.itemsCount)));\n this.prevInfiniteScrollDirection = 'down';\n }\n else if (target.scrollTop >= target.scrollHeight - target.offsetHeight && this.infiniteLoadedElement.length > (this.infiniteSkipCount + this.itemsCount) && this.ulElement.children.length === this.itemsCount * 3) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.infiniteRemoveElements)(([].slice.call(this.ulElement.children)).splice(0, this.itemsCount));\n this.infiniteSkipCount += this.prevInfiniteScrollDirection === 'down' ? this.itemsCount :\n (this.itemsCount * 3);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(this.ulElement, this.infiniteLoadedElement.slice(this.infiniteSkipCount, this.itemsCount +\n this.infiniteSkipCount));\n this.prevInfiniteScrollDirection = 'down';\n }\n else if (target.scrollTop === 0 && !this.infiniteInitialLoad && this.infiniteSkipCount\n && this.infiniteLoadedElement.length && this.infiniteLoadedElement.length > this.itemsCount * 3\n && this.ulElement.children.length === this.itemsCount * 3) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.infiniteRemoveElements)(([].slice.call(this.ulElement.children)).splice(this.itemsCount * 2, this.itemsCount));\n this.infiniteSkipCount -= this.prevInfiniteScrollDirection === 'up' ? this.itemsCount : this.itemsCount * 3;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.infiniteAppendElements)([].slice.call(this.infiniteLoadedElement.slice(this.infiniteSkipCount, this.infiniteSkipCount +\n this.itemsCount)), this.ulElement);\n this.prevInfiniteScrollDirection = 'up';\n this.infiniteDiv.scrollTop = this.infiniteScrollAppendDiff;\n }\n else if (target.scrollTop === 0 && !this.infiniteInitialLoad && this.infiniteSkipCount &&\n (this.infiniteSkipCount > this.itemsCount * 2) && this.infiniteLoadedElement.length &&\n this.ulElement.children.length < this.itemsCount * 3) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.infiniteRemoveElements)(([].slice.call(this.ulElement.children)).splice((this.itemsCount * 2), columns.length % this.itemsCount));\n this.infiniteSkipCount = (Math.floor(columns.length / this.itemsCount) - 3) *\n this.itemsCount;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.infiniteAppendElements)([].slice.call(this.infiniteLoadedElement.slice(this.infiniteSkipCount, this.infiniteSkipCount +\n this.itemsCount)), this.ulElement);\n this.infiniteDiv.scrollTop = this.infiniteScrollAppendDiff;\n this.prevInfiniteScrollDirection = 'up';\n }\n };\n ColumnChooser.prototype.refreshCheckboxState = function () {\n if (!this.parent.columnChooserSettings.enableSearching) {\n return;\n }\n this.dlgObj.element.querySelector('.e-cc.e-input').value = '';\n this.columnChooserSearch('', false);\n var gridObject = this.parent;\n var currentCheckBoxColls = this.dlgObj.element.querySelectorAll('.e-cc-chbox:not(.e-selectall)');\n for (var i = 0, itemLen = currentCheckBoxColls.length; i < itemLen; i++) {\n var element = currentCheckBoxColls[parseInt(i.toString(), 10)];\n var columnUID = void 0;\n if (this.parent.childGrid || this.parent.detailTemplate) {\n columnUID = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(this.dlgObj.element.querySelectorAll('.e-cc-chbox:not(.e-selectall)')[parseInt(i.toString(), 10)], 'e-ccheck').getAttribute('uid');\n }\n else {\n columnUID = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(element, 'e-ccheck').getAttribute('uid');\n }\n var column = gridObject.getColumnByUid(columnUID, this.infiniteRenderMode);\n var uncheck = [].slice.call(element.parentElement.getElementsByClassName('e-uncheck'));\n if (column.visible && !uncheck.length) {\n element.checked = true;\n this.checkState(element.parentElement.querySelector('.e-icons'), true);\n }\n else {\n element.checked = false;\n this.checkState(element.parentElement.querySelector('.e-icons'), false);\n }\n }\n };\n ColumnChooser.prototype.checkState = function (element, state) {\n if (state) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(element, ['e-check'], ['e-uncheck']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(element, ['e-uncheck'], ['e-check']);\n }\n };\n ColumnChooser.prototype.createCheckBox = function (label, checked, uid) {\n var cbox = checked ? this.cBoxTrue.cloneNode(true) : this.cBoxFalse.cloneNode(true);\n if (!this.parent.enableAdaptiveUI && this.parent.enableRtl && !cbox.classList.contains('e-rtl')) {\n cbox.classList.add('e-rtl');\n }\n var cboxLabel = cbox.querySelector('.e-label');\n var inputcbox = cbox.querySelector('input');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setChecked)(inputcbox, checked);\n cboxLabel.setAttribute('id', uid + 'label');\n cboxLabel.innerHTML = label;\n inputcbox.setAttribute('aria-labelledby', cboxLabel.id);\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.createCboxWithWrap)(uid, cbox, 'e-ccheck');\n };\n ColumnChooser.prototype.renderCheckbox = function (columns) {\n var _a;\n var checkBoxItems = this.parent.createElement('div');\n var offsetHeight = this.ulElement.offsetHeight;\n for (var i = 0; i < columns.length; i++) {\n var column = columns[parseInt(i.toString(), 10)];\n if (column.showInColumnChooser) {\n var columnChooserList = this.parent.createElement('li', { className: 'e-cclist e-cc', id: 'e-ccli_' + column.uid });\n columnChooserList.style.listStyle = 'none';\n var hideColumnState = this.hideColumn.indexOf(column.uid) === -1 ? false : true;\n var showColumnState = this.showColumn.indexOf(column.uid) === -1 ? false : true;\n var columnchooserccheckboxlist = this.createCheckBox(column.headerText, (column.visible && !hideColumnState) || showColumnState, column.uid);\n columnChooserList.appendChild(columnchooserccheckboxlist);\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([columnchooserccheckboxlist], this.parent.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([columnchooserccheckboxlist], [this.parent.cssClass]);\n }\n }\n if (this.infiniteRenderMode && this.infiniteDiv) {\n columnChooserList.style.height = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getListHeight)(this.infiniteDiv, true) + 'px';\n }\n checkBoxItems.appendChild(columnChooserList);\n }\n }\n if (this.infiniteRenderMode && this.infiniteInitialLoad) {\n (_a = this.infiniteLoadedElement).push.apply(_a, [].slice.call(checkBoxItems.children));\n this.infiniteInitialLoad = false;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(this.ulElement, [].slice.call(checkBoxItems.children));\n if (this.infiniteRenderMode && !this.infiniteScrollAppendDiff) {\n this.infiniteScrollAppendDiff = this.ulElement.offsetHeight - offsetHeight;\n }\n if (this.isInitialOpen) {\n this.updateIntermediateBtn();\n }\n };\n ColumnChooser.prototype.columnChooserManualSearch = function (e) {\n this.addcancelIcon();\n this.searchValue = e.target.value;\n this.stopTimer();\n this.startTimer(e);\n };\n ColumnChooser.prototype.startTimer = function (e) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var proxy = this;\n var interval = !proxy.flag && e.keyCode !== 13 ? 500 : 0;\n this.timer = window.setInterval(function () { proxy.columnChooserSearch(proxy.searchValue, true); }, interval);\n };\n ColumnChooser.prototype.stopTimer = function () {\n window.clearInterval(this.timer);\n };\n ColumnChooser.prototype.addcancelIcon = function () {\n if (this.dlgDiv.querySelector('.e-cc.e-ccsearch-icon')) {\n this.dlgDiv.querySelector('.e-cc.e-ccsearch-icon').classList.add('e-cc-cancel');\n this.dlgDiv.querySelector('.e-cc-cancel').setAttribute('title', this.l10n.getConstant('Clear'));\n }\n };\n ColumnChooser.prototype.removeCancelIcon = function () {\n if (this.dlgDiv.querySelector('.e-cc.e-ccsearch-icon')) {\n this.dlgDiv.querySelector('.e-cc.e-ccsearch-icon').classList.remove('e-cc-cancel');\n this.dlgDiv.querySelector('.e-cc.e-ccsearch-icon').setAttribute('title', this.l10n.getConstant('Search'));\n }\n };\n ColumnChooser.prototype.mOpenDlg = function () {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if (this.dlgObj.element.querySelector('.e-cc-searchdiv')) {\n this.dlgObj.element.querySelector('.e-cc-searchdiv').classList.remove('e-input-focus');\n }\n if (this.dlgObj.element.querySelectorAll('.e-cc-chbox')[0]) {\n this.dlgObj.element.querySelectorAll('.e-cc-chbox')[0].focus();\n }\n }\n if (this.parent.enableAdaptiveUI) {\n if (this.dlgObj.element.querySelector('.e-cc-searchdiv')) {\n this.dlgObj.element.querySelector('.e-cc-searchdiv').classList.add('e-input-focus');\n }\n }\n };\n // internally use\n ColumnChooser.prototype.getModuleName = function () {\n return 'columnChooser';\n };\n ColumnChooser.prototype.hideOpenedDialog = function () {\n var openCC = [].slice.call(document.getElementsByClassName('e-ccdlg')).filter(function (dlgEle) {\n return dlgEle.classList.contains('e-popup-open');\n });\n for (var i = 0, dlgLen = openCC.length; i < dlgLen; i++) {\n if (this.parent.element.id + '_ccdlg' !== openCC[parseInt(i.toString(), 10)].id || openCC[parseInt(i.toString(), 10)].classList.contains('e-dialog')) {\n openCC[parseInt(i.toString(), 10)].ej2_instances[0].hide();\n }\n }\n };\n ColumnChooser.prototype.beforeOpenColumnChooserEvent = function () {\n var args1 = {\n requestType: 'beforeOpenColumnChooser', element: this.parent.element,\n columns: this.getColumns(), cancel: false,\n searchOperator: this.parent.columnChooserSettings.operator\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.beforeOpenColumnChooser, args1);\n this.searchOperator = args1.searchOperator;\n return args1;\n };\n ColumnChooser.prototype.renderResponsiveChangeAction = function (args) {\n this.responsiveDialogRenderer.action = args.action;\n };\n /**\n * To show the responsive custom sort dialog\n *\n * @param {boolean} enable - specifes dialog open\n * @returns {void}\n * @hidden\n */\n ColumnChooser.prototype.showCustomColumnChooser = function (enable) {\n this.responsiveDialogRenderer.isCustomDialog = enable;\n this.responsiveDialogRenderer.showResponsiveDialog();\n };\n return ColumnChooser;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-chooser.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-menu.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-menu.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColumnMenu: () => (/* binding */ ColumnMenu)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-navigations */ \"./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\n/* harmony import */ var _actions_group__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../actions/group */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js\");\n/* harmony import */ var _actions_sort__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../actions/sort */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.js\");\n/* harmony import */ var _actions_filter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../actions/filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.js\");\n/* harmony import */ var _actions_resize__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions/resize */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 'column menu module used to handle column menu actions'\n *\n * @hidden\n */\nvar ColumnMenu = /** @class */ (function () {\n function ColumnMenu(parent, serviceLocator) {\n this.defaultItems = {};\n this.localeText = this.setLocaleKey();\n this.disableItems = [];\n this.hiddenItems = [];\n this.isOpen = false;\n // default class names\n this.GROUP = 'e-icon-group';\n this.UNGROUP = 'e-icon-ungroup';\n this.ASCENDING = 'e-icon-ascending';\n this.DESCENDING = 'e-icon-descending';\n this.ROOT = 'e-columnmenu';\n this.FILTER = 'e-icon-filter';\n this.POP = 'e-filter-popup';\n this.WRAP = 'e-col-menu';\n this.COL_POP = 'e-colmenu-popup';\n this.CHOOSER = '_chooser_';\n this.AUTOFIT = 'e-icon-autofit';\n this.AUTOFITALL = 'e-icon-autofitall';\n this.COLUMNCHOOSER = 'e-icon-columnchooser';\n this.parent = parent;\n this.gridID = parent.element.id;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n if (this.parent.enableAdaptiveUI) {\n this.setFullScreenDialog();\n }\n }\n ColumnMenu.prototype.wireEvents = function () {\n if (!this.parent.enableAdaptiveUI) {\n var elements = this.getColumnMenuHandlers();\n for (var i = 0; i < elements.length; i++) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(elements[parseInt(i.toString(), 10)], 'mousedown', this.columnMenuHandlerDown, this);\n }\n }\n };\n ColumnMenu.prototype.unwireEvents = function () {\n if (!this.parent.enableAdaptiveUI) {\n var elements = this.getColumnMenuHandlers();\n for (var i = 0; i < elements.length; i++) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(elements[parseInt(i.toString(), 10)], 'mousedown', this.columnMenuHandlerDown);\n }\n }\n };\n ColumnMenu.prototype.setFullScreenDialog = function () {\n if (this.serviceLocator) {\n this.serviceLocator.registerAdaptiveService(this, this.parent.enableAdaptiveUI, _base_enum__WEBPACK_IMPORTED_MODULE_1__.ResponsiveDialogAction.isColMenu);\n }\n };\n /**\n * To destroy the resize\n *\n * @returns {void}\n * @hidden\n */\n ColumnMenu.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent) && (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader)) || !gridElement) {\n return;\n }\n if (this.columnMenu) {\n this.columnMenu.destroy();\n }\n this.removeEventListener();\n this.unwireFilterEvents();\n this.unwireEvents();\n if (!this.parent.enableAdaptiveUI && this.element.parentNode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n };\n ColumnMenu.prototype.columnMenuHandlerClick = function (e) {\n if (e.target.classList.contains('e-columnmenu')) {\n if (this.parent.enableAdaptiveUI) {\n this.headerCell = this.getHeaderCell(e);\n var col = this.getColumn();\n this.responsiveDialogRenderer.isCustomDialog = true;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.renderResponsiveChangeAction, { action: 4 });\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterOpen, { col: col, target: e.target, isClose: null, id: null });\n this.responsiveDialogRenderer.showResponsiveDialog(null, col);\n }\n else {\n this.columnMenu.items = this.getItems();\n this.columnMenu.dataBind();\n if ((this.isOpen && this.headerCell !== this.getHeaderCell(e)) ||\n document.querySelector('.e-grid-menu .e-menu-parent.e-ul')) {\n this.columnMenu.close();\n this.openColumnMenu(e);\n }\n else if (!this.isOpen) {\n this.openColumnMenu(e);\n }\n else {\n this.columnMenu.close();\n }\n }\n }\n };\n /**\n * @param {string} field - specifies the field name\n * @returns {void}\n * @hidden\n */\n ColumnMenu.prototype.openColumnMenuByField = function (field) {\n this.openColumnMenu({ target: this.parent.getColumnHeaderByField(field).querySelector('.e-columnmenu') });\n };\n ColumnMenu.prototype.afterFilterColumnMenuClose = function () {\n if (this.columnMenu) {\n this.columnMenu.items = this.getItems();\n this.columnMenu.dataBind();\n this.columnMenu.close();\n }\n };\n ColumnMenu.prototype.openColumnMenu = function (e) {\n var contentRect = this.parent.getContent().getClientRects()[0];\n var headerEle = this.parent.getHeaderContent();\n var headerElemCliRect = headerEle.getBoundingClientRect();\n var pos = { top: 0, left: 0 };\n this.element.style.cssText = 'display:block;visibility:hidden';\n var elePos = this.element.getBoundingClientRect();\n var gClient = this.parent.element.getBoundingClientRect();\n this.element.style.cssText = 'display:none;visibility:visible';\n this.headerCell = this.getHeaderCell(e);\n if (this.parent.enableRtl) {\n pos = this.parent.enableStickyHeader ? (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculatePosition)(this.headerCell, 'left', 'bottom', true) :\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculatePosition)(this.headerCell, 'left', 'bottom');\n }\n else {\n pos = this.parent.enableStickyHeader ? (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculatePosition)(this.headerCell, 'right', 'bottom', true) :\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculatePosition)(this.headerCell, 'right', 'bottom');\n pos.left -= elePos.width;\n if (headerEle.classList.contains('e-sticky')) {\n pos.top = this.parent.element.offsetTop + headerElemCliRect.top + headerElemCliRect.height;\n if (headerElemCliRect.top + headerElemCliRect.height > contentRect.top) {\n pos.top += ((headerElemCliRect.top + headerElemCliRect.height) - contentRect.top);\n }\n }\n else if (this.parent.enableStickyHeader) {\n pos.top = this.parent.element.offsetTop + headerEle.offsetTop + headerElemCliRect.height;\n }\n if ((pos.left + elePos.width + 1) >= gClient.right) {\n pos.left -= 35;\n }\n }\n this.columnMenu['open'](pos.top, pos.left);\n if (e.preventDefault) {\n e.preventDefault();\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyBiggerTheme)(this.parent.element, this.columnMenu.element.parentElement);\n };\n ColumnMenu.prototype.columnMenuHandlerDown = function () {\n this.isOpen = !(this.element.style.display === 'none' || this.element.style.display === '');\n };\n ColumnMenu.prototype.getColumnMenuHandlers = function () {\n return [].slice.call(this.parent.getHeaderTable().getElementsByClassName(this.ROOT));\n };\n /**\n * @returns {void}\n * @hidden\n */\n ColumnMenu.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.headerRefreshed, this.wireEvents, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, this.enableAfterRenderMenu, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialEnd, this.render, this);\n if (this.isFilterItemAdded()) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterDialogCreated, this.filterPosition, this);\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.setFullScreenDialog, this.setFullScreenDialog, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.renderResponsiveChangeAction, this.renderResponsiveChangeAction, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.click, this.columnMenuHandlerClick, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.afterFilterColumnMenuClose, this.afterFilterColumnMenuClose, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, this.keyPressHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n ColumnMenu.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.headerRefreshed, this.unwireEvents);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, this.enableAfterRenderMenu);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialEnd, this.render);\n if (this.isFilterItemAdded()) {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterDialogCreated, this.filterPosition);\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.setFullScreenDialog, this.setFullScreenDialog);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.renderResponsiveChangeAction, this.renderResponsiveChangeAction);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.click, this.columnMenuHandlerClick);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.afterFilterColumnMenuClose, this.afterFilterColumnMenuClose);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, this.keyPressHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy);\n };\n ColumnMenu.prototype.keyPressHandler = function (e) {\n var gObj = this.parent;\n if (e.action === 'altDownArrow' && !this.parent.enableAdaptiveUI) {\n var element = gObj.focusModule.currentInfo.element;\n if (element && element.classList.contains('e-headercell')) {\n var column = gObj.getColumnByUid(element.firstElementChild.getAttribute('e-mappinguid'));\n this.openColumnMenuByField(column.field);\n }\n }\n };\n ColumnMenu.prototype.enableAfterRenderMenu = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n if (this.columnMenu) {\n this.columnMenu.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n if (!this.parent.enableAdaptiveUI) {\n this.render();\n }\n }\n };\n ColumnMenu.prototype.render = function () {\n if (this.parent.enableAdaptiveUI) {\n return;\n }\n this.l10n = this.serviceLocator.getService('localization');\n this.element = this.parent.createElement('ul', { id: this.gridID + '_columnmenu', className: 'e-colmenu' });\n this.element.setAttribute('aria-label', this.l10n.getConstant('ColumnMenuDialogARIA'));\n this.parent.element.appendChild(this.element);\n this.columnMenu = new _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_6__.ContextMenu({\n cssClass: this.parent.cssClass ? 'e-grid-menu e-grid-column-menu' + ' ' + this.parent.cssClass : 'e-grid-menu e-grid-column-menu',\n enableRtl: this.parent.enableRtl,\n enablePersistence: this.parent.enablePersistence,\n locale: this.parent.locale,\n items: this.getItems(),\n select: this.columnMenuItemClick.bind(this),\n beforeOpen: this.columnMenuBeforeOpen.bind(this),\n onOpen: this.columnMenuOnOpen.bind(this),\n onClose: this.columnMenuOnClose.bind(this),\n beforeItemRender: this.beforeMenuItemRender.bind(this),\n beforeClose: this.columnMenuBeforeClose.bind(this)\n });\n if (this.element && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(this.element, 'e-popup')) {\n this.element.classList.add(this.COL_POP);\n }\n this.columnMenu.appendTo(this.element);\n this.wireFilterEvents();\n };\n ColumnMenu.prototype.wireFilterEvents = function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isFilterItemAdded()) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mouseover', this.appendFilter, this);\n }\n };\n ColumnMenu.prototype.unwireFilterEvents = function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isFilterItemAdded() && !this.parent.enableAdaptiveUI) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseover', this.appendFilter);\n }\n };\n ColumnMenu.prototype.beforeMenuItemRender = function (args) {\n var _a;\n if (this.isChooserItem(args.item)) {\n var field_1 = this.getKeyFromId(args.item.id, this.CHOOSER);\n var column = this.parent.columnModel.filter(function (col) { return col.field === field_1; });\n var check = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_7__.createCheckBox)(this.parent.createElement, false, {\n label: args.item.text,\n checked: column[0].visible\n });\n if (this.parent.enableRtl) {\n check.classList.add('e-rtl');\n }\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (_a = check.classList).add.apply(_a, this.parent.cssClass.split(' '));\n }\n else {\n check.classList.add(this.parent.cssClass);\n }\n }\n args.element.innerHTML = '';\n args.element.appendChild(check);\n }\n else if (args.item.id && this.getKeyFromId(args.item.id) === 'Filter') {\n args.element.appendChild(this.parent.createElement('span', { className: 'e-icons e-caret' }));\n args.element.className += 'e-filter-item e-menu-caret-icon';\n }\n };\n ColumnMenu.prototype.columnMenuBeforeClose = function (args) {\n if (args.event && args.event.target instanceof Document && args.event.type === 'scroll') {\n if (!this.parent.enableStickyHeader) {\n args.cancel = true;\n }\n return;\n }\n var colChooser = args.event ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-menu-item') : null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.parentItem) &&\n this.getKeyFromId(args.parentItem.id) === 'ColumnChooser' &&\n colChooser && this.isChooserItem(colChooser)) {\n args.cancel = args.event && args.event.code === 'Escape' ? false : true;\n }\n else if (args.event && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.' + this.POP)\n || (args.event.currentTarget && args.event.currentTarget.activeElement &&\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.event.currentTarget.activeElement, 'e-filter-popup'))\n || ((0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.event.target, 'e-popup') && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.event.target, 'e-colmenu-popup'))\n || ((0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.event.target, 'e-multiselect-flmenu'))\n || ((0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.event.target, 'e-popup-wrapper'))) && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n args.cancel = true;\n }\n else if (args.event && args.event.target && args.event.target.classList.contains('e-filter-item') && args.event.key === 'Enter') {\n args.cancel = true;\n }\n else if (this.parent.isColumnMenuFilterClosing) {\n this.parent.isColumnMenuFilterClosing = false;\n args.cancel = true;\n }\n };\n ColumnMenu.prototype.isChooserItem = function (item) {\n return item.id && item.id.indexOf('_colmenu_') >= 0 &&\n this.getKeyFromId(item.id, this.CHOOSER).indexOf('_colmenu_') === -1;\n };\n ColumnMenu.prototype.columnMenuBeforeOpen = function (args) {\n args.column = this.targetColumn = this.getColumn();\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.columnMenuOpen, args);\n for (var _i = 0, _a = args.items; _i < _a.length; _i++) {\n var item = _a[_i];\n var key = this.getKeyFromId(item.id);\n var dItem = this.defaultItems[\"\" + key];\n if (this.getDefaultItems().indexOf(key) !== -1 && this.ensureDisabledStatus(key) && !dItem.hide) {\n this.disableItems.push(item.text);\n }\n if (item.hide) {\n this.hiddenItems.push(item.text);\n }\n }\n this.columnMenu.enableItems(this.disableItems, false);\n this.columnMenu.hideItems(this.hiddenItems);\n };\n ColumnMenu.prototype.columnMenuOnOpen = function (args) {\n if (args.element.className === 'e-menu-parent e-ul ') {\n if (args.element.offsetHeight > window.innerHeight || this.parent.element.offsetHeight > window.innerHeight) {\n args.element.style.maxHeight = (window.innerHeight) * 0.8 + 'px';\n args.element.style.overflowY = 'auto';\n if (this.parent.enableStickyHeader) {\n args.element.style.position = 'fixed';\n }\n }\n }\n };\n ColumnMenu.prototype.ensureDisabledStatus = function (item) {\n var status = false;\n switch (item) {\n case 'Group':\n if (!this.parent.allowGrouping || (this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_8__.Group) && this.targetColumn\n && this.parent.groupSettings.columns.indexOf(this.targetColumn.field) >= 0 ||\n this.targetColumn && !this.targetColumn.allowGrouping)) {\n status = true;\n }\n break;\n case 'AutoFitAll':\n case 'AutoFit':\n status = !this.parent.ensureModuleInjected(_actions_resize__WEBPACK_IMPORTED_MODULE_9__.Resize);\n break;\n case 'Ungroup':\n if (!this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_8__.Group) || (this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_8__.Group) && this.targetColumn\n && this.parent.groupSettings.columns.indexOf(this.targetColumn.field) < 0)) {\n status = true;\n }\n break;\n case 'SortDescending':\n case 'SortAscending':\n if (this.parent.allowSorting && this.parent.ensureModuleInjected(_actions_sort__WEBPACK_IMPORTED_MODULE_10__.Sort)\n && this.parent.sortSettings.columns.length > 0 && this.targetColumn && this.targetColumn.allowSorting) {\n var sortColumns = this.parent.sortSettings.columns;\n for (var i = 0; i < sortColumns.length; i++) {\n if (sortColumns[parseInt(i.toString(), 10)].field === this.targetColumn.field\n && sortColumns[parseInt(i.toString(), 10)].direction.toLocaleLowerCase() === item.toLocaleLowerCase().replace('sort', '')) {\n status = true;\n }\n }\n }\n else if (!this.parent.allowSorting || !this.parent.ensureModuleInjected(_actions_sort__WEBPACK_IMPORTED_MODULE_10__.Sort) ||\n this.parent.allowSorting && this.targetColumn && !this.targetColumn.allowSorting) {\n status = true;\n }\n break;\n case 'Filter':\n if (this.parent.allowFiltering && (this.parent.filterSettings.type !== 'FilterBar')\n && this.parent.ensureModuleInjected(_actions_filter__WEBPACK_IMPORTED_MODULE_11__.Filter) && this.targetColumn && this.targetColumn.allowFiltering) {\n status = false;\n }\n else if (this.parent.ensureModuleInjected(_actions_filter__WEBPACK_IMPORTED_MODULE_11__.Filter) && this.parent.allowFiltering\n && this.targetColumn && (!this.targetColumn.allowFiltering || this.parent.filterSettings.type === 'FilterBar')) {\n status = true;\n }\n }\n return status;\n };\n ColumnMenu.prototype.columnMenuItemClick = function (args) {\n var item = this.isChooserItem(args.item) ? 'ColumnChooser' : this.getKeyFromId(args.item.id);\n switch (item) {\n case 'AutoFit':\n this.parent.autoFitColumns(this.targetColumn.field);\n break;\n case 'AutoFitAll':\n this.parent.autoFitColumns([]);\n break;\n case 'Ungroup':\n this.parent.ungroupColumn(this.targetColumn.field);\n break;\n case 'Group':\n this.parent.groupColumn(this.targetColumn.field);\n break;\n case 'SortAscending':\n this.parent.sortColumn(this.targetColumn.field, 'Ascending');\n break;\n case 'SortDescending':\n this.parent.sortColumn(this.targetColumn.field, 'Descending');\n break;\n case 'ColumnChooser':\n // eslint-disable-next-line no-case-declarations\n var key = this.getKeyFromId(args.item.id, this.CHOOSER);\n // eslint-disable-next-line no-case-declarations\n var checkbox = args.element.querySelector('.e-checkbox-wrapper .e-frame');\n if (checkbox && checkbox.classList.contains('e-check')) {\n checkbox.classList.remove('e-check');\n this.parent.hideColumns(key, 'field');\n }\n else if (checkbox) {\n this.parent.showColumns(key, 'field');\n checkbox.classList.add('e-check');\n }\n break;\n case 'Filter':\n this.getFilter(args.element, args.item.id);\n break;\n }\n args.column = this.targetColumn;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.columnMenuClick, args);\n };\n ColumnMenu.prototype.columnMenuOnClose = function (args) {\n var parent = 'parentObj';\n if (args.items.length > 0 && args.items[0][\"\" + parent] instanceof _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_6__.ContextMenu) {\n this.columnMenu.enableItems(this.disableItems, false);\n this.disableItems = [];\n this.columnMenu.showItems(this.hiddenItems);\n this.hiddenItems = [];\n if (this.isFilterPopupOpen()) {\n this.getFilter(args.element, args.element.id, true);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.parentItem) && this.getKeyFromId(args.parentItem.id) === 'ColumnChooser') {\n if (this.columnMenu.element.querySelector('.e-selected')) {\n this.columnMenu.element.querySelector('.e-selected').focus();\n }\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.restoreFocus, {});\n }\n };\n ColumnMenu.prototype.getDefaultItems = function () {\n return ['AutoFitAll', 'AutoFit', 'SortAscending', 'SortDescending', 'Group', 'Ungroup', 'ColumnChooser', 'Filter'];\n };\n ColumnMenu.prototype.getItems = function () {\n var items = [];\n var defultItems = this.parent.columnMenuItems ? this.parent.columnMenuItems : this.getDefault();\n for (var _i = 0, defultItems_1 = defultItems; _i < defultItems_1.length; _i++) {\n var item = defultItems_1[_i];\n if (typeof item === 'string') {\n if (item === 'ColumnChooser') {\n var col = this.getDefaultItem(item);\n col.items = this.createChooserItems();\n items.push(col);\n }\n else {\n items.push(this.getDefaultItem(item));\n }\n }\n else {\n items.push(item);\n }\n }\n return items;\n };\n ColumnMenu.prototype.getDefaultItem = function (item) {\n var menuItem = {};\n switch (item) {\n case 'SortAscending':\n menuItem = { iconCss: this.ASCENDING };\n break;\n case 'SortDescending':\n menuItem = { iconCss: this.DESCENDING };\n break;\n case 'Group':\n menuItem = { iconCss: this.GROUP };\n break;\n case 'Ungroup':\n menuItem = { iconCss: this.UNGROUP };\n break;\n case 'Filter':\n menuItem = { iconCss: this.FILTER };\n break;\n case 'ColumnChooser':\n menuItem = { iconCss: this.COLUMNCHOOSER };\n break;\n case 'AutoFit':\n menuItem = { iconCss: this.AUTOFIT };\n break;\n case 'AutoFitAll':\n menuItem = { iconCss: this.AUTOFITALL };\n break;\n }\n this.defaultItems[\"\" + item] = {\n text: this.getLocaleText(item), id: this.generateID(item),\n iconCss: menuItem.iconCss ? 'e-icons ' + menuItem.iconCss : null\n };\n return this.defaultItems[\"\" + item];\n };\n ColumnMenu.prototype.getLocaleText = function (item) {\n return this.l10n.getConstant(this.localeText[\"\" + item]);\n };\n ColumnMenu.prototype.generateID = function (item, append) {\n return this.gridID + '_colmenu_' + (append ? append + item : item);\n };\n ColumnMenu.prototype.getKeyFromId = function (id, append) {\n return id.indexOf('_colmenu_') > 0 &&\n id.replace(this.gridID + '_colmenu_' + (append ? append : ''), '');\n };\n /**\n * @returns {HTMLElement} returns the HTMLElement\n * @hidden\n */\n ColumnMenu.prototype.getColumnMenu = function () {\n return this.element;\n };\n ColumnMenu.prototype.getModuleName = function () {\n return 'columnMenu';\n };\n ColumnMenu.prototype.setLocaleKey = function () {\n var localeKeys = {\n 'AutoFitAll': 'autoFitAll',\n 'AutoFit': 'autoFit',\n 'Group': 'Group',\n 'Ungroup': 'Ungroup',\n 'SortAscending': 'SortAscending',\n 'SortDescending': 'SortDescending',\n 'ColumnChooser': 'Columnchooser',\n 'Filter': 'FilterMenu'\n };\n return localeKeys;\n };\n ColumnMenu.prototype.getHeaderCell = function (e) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'th.e-headercell');\n };\n ColumnMenu.prototype.getColumn = function () {\n if (this.headerCell) {\n var uid = this.headerCell.querySelector('.e-headercelldiv').getAttribute('e-mappinguid');\n return this.parent.getColumnByUid(uid);\n }\n return null;\n };\n ColumnMenu.prototype.createChooserItems = function () {\n var items = [];\n for (var _i = 0, _a = this.parent.columnModel; _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.showInColumnChooser && col.field) {\n items.push({ id: this.generateID(col.field, this.CHOOSER), text: col.headerText ? col.headerText : col.field });\n }\n }\n return items;\n };\n ColumnMenu.prototype.appendFilter = function (e) {\n var filter = 'Filter';\n if (!this.defaultItems[\"\" + filter]) {\n return;\n }\n else {\n var key = this.defaultItems[\"\" + filter].id;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '#' + key) && !this.isFilterPopupOpen()) {\n this.getFilter(e.target, key);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '#' + key) && this.isFilterPopupOpen()) {\n this.getFilter(e.target, key, true);\n }\n }\n };\n ColumnMenu.prototype.getFilter = function (target, id, isClose) {\n var filterPopup = this.getFilterPop();\n if (filterPopup) {\n filterPopup.style.display = !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && isClose ? 'none' : 'block';\n if (filterPopup.style.display !== 'none') {\n if (this.parent.filterSettings.type === 'Menu') {\n if (filterPopup.querySelector('.e-flmenu-input')) {\n filterPopup.querySelector('.e-flmenu-input').focus();\n }\n else if (filterPopup.querySelector('.e-flmenu-valuediv')) {\n var firstElementChild = filterPopup.querySelector('.e-flmenu-valuediv').firstElementChild;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(firstElementChild)) {\n firstElementChild.focus();\n }\n }\n }\n else if (this.parent.filterSettings.type === 'CheckBox' || this.parent.filterSettings.type === 'Excel') {\n if (filterPopup.querySelector('.e-searchinput')) {\n filterPopup.querySelector('.e-searchinput').focus();\n }\n }\n }\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterOpen, {\n col: this.targetColumn, target: target, isClose: isClose, id: id\n });\n }\n };\n ColumnMenu.prototype.setPosition = function (li, ul) {\n var gridPos = this.parent.element.getBoundingClientRect();\n var liPos = li.getBoundingClientRect();\n var left = liPos.left - gridPos.left;\n var top = liPos.top - gridPos.top;\n if (gridPos.height < top) {\n top = top - ul.offsetHeight + liPos.height;\n }\n else if (gridPos.height < top + ul.offsetHeight) {\n top = gridPos.height - ul.offsetHeight;\n }\n if (window.innerHeight < ul.offsetHeight + top + gridPos.top) {\n top = window.innerHeight - ul.offsetHeight - gridPos.top;\n }\n if (top + gridPos.top < 0) {\n top = 0;\n }\n if (this.parent.enableStickyHeader && gridPos.top <= 0) {\n top = liPos.top - gridPos.top;\n }\n left += (this.parent.enableRtl ? -ul.offsetWidth : liPos.width);\n if (gridPos.width <= left + ul.offsetWidth) {\n left -= liPos.width + ul.offsetWidth;\n if (liPos.left < ul.offsetWidth) {\n left = liPos.left + ul.offsetWidth / 2;\n }\n }\n else if (left < 0) {\n left += ul.offsetWidth + liPos.width;\n }\n ul.style.top = top + 'px';\n ul.style.left = left + 'px';\n };\n ColumnMenu.prototype.filterPosition = function () {\n var filterPopup = this.getFilterPop();\n if (this.parent.enableAdaptiveUI) {\n return;\n }\n filterPopup.classList.add(this.WRAP);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n var disp = filterPopup.style.display;\n filterPopup.style.cssText += 'display:block;visibility:hidden';\n var li = this.element.querySelector('.' + this.FILTER);\n if (li) {\n this.setPosition(li.parentElement, filterPopup);\n filterPopup.style.cssText += 'display:' + disp + ';visibility:visible';\n }\n }\n };\n ColumnMenu.prototype.getDefault = function () {\n var items = [];\n if (this.parent.ensureModuleInjected(_actions_resize__WEBPACK_IMPORTED_MODULE_9__.Resize)) {\n items.push('AutoFitAll');\n items.push('AutoFit');\n }\n if (this.parent.allowGrouping && this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_8__.Group)) {\n items.push('Group');\n items.push('Ungroup');\n }\n if (this.parent.allowSorting && this.parent.ensureModuleInjected(_actions_sort__WEBPACK_IMPORTED_MODULE_10__.Sort)) {\n items.push('SortAscending');\n items.push('SortDescending');\n }\n items.push('ColumnChooser');\n if (this.parent.allowFiltering && (this.parent.filterSettings.type !== 'FilterBar') &&\n this.parent.ensureModuleInjected(_actions_filter__WEBPACK_IMPORTED_MODULE_11__.Filter)) {\n items.push('Filter');\n }\n return items;\n };\n ColumnMenu.prototype.isFilterPopupOpen = function () {\n var filterPopup = this.getFilterPop();\n return filterPopup && filterPopup.style.display !== 'none';\n };\n ColumnMenu.prototype.getFilterPop = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetColumn) && this.parent.filterSettings.type === 'Menu' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n return document.getElementById(this.targetColumn.uid + '-flmdlg');\n }\n var popElement = this.parent.element.querySelector('.' + this.POP);\n if (!popElement) {\n var popupContainer = document.getElementById(this.parent.element.id + '_e-popup');\n popElement = popupContainer ? popupContainer.querySelector('.' + this.POP) : null;\n }\n if (!popElement && this.parent.element.classList.contains('e-treelistgrid')) {\n var ganttElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.parent.element, '.e-gantt');\n popElement = ganttElement ? ganttElement.querySelector('.' + this.POP) : null;\n }\n return popElement;\n };\n ColumnMenu.prototype.isFilterItemAdded = function () {\n return (this.parent.columnMenuItems &&\n this.parent.columnMenuItems.indexOf('Filter') >= 0) || !this.parent.columnMenuItems;\n };\n ColumnMenu.prototype.renderResponsiveChangeAction = function (args) {\n this.responsiveDialogRenderer.action = args.action;\n };\n return ColumnMenu;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/column-menu.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/command-column.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/command-column.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CommandColumn: () => (/* binding */ CommandColumn)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _renderer_command_column_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../renderer/command-column-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n/**\n * `CommandColumn` used to handle the command column actions.\n *\n * @hidden\n */\nvar CommandColumn = /** @class */ (function () {\n function CommandColumn(parent, locator) {\n this.parent = parent;\n this.locator = locator;\n this.initiateRender();\n this.addEventListener();\n }\n CommandColumn.prototype.initiateRender = function () {\n var cellFac = this.locator.getService('cellRendererFactory');\n cellFac.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType.CommandColumn, new _renderer_command_column_renderer__WEBPACK_IMPORTED_MODULE_2__.CommandColumnRenderer(this.parent, this.locator));\n };\n CommandColumn.prototype.commandClickHandler = function (e) {\n var gObj = this.parent;\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'button');\n if (!target || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-unboundcell')) {\n return;\n }\n var buttonObj = target.ej2_instances[0];\n var type = buttonObj.commandType;\n var uid = target.getAttribute('data-uid');\n var commandColumn;\n var row = gObj.getRowObjectFromUID((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.row).getAttribute('data-uid'));\n var cols = this.parent.columnModel;\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].commands) {\n var commandCols = cols[parseInt(i.toString(), 10)].commands;\n for (var j = 0; j < commandCols.length; j++) {\n var idInString = 'uid';\n var typeInString = 'type';\n if (commandCols[parseInt(j.toString(), 10)][\"\" + idInString] === uid && commandCols[parseInt(j.toString(), 10)][\"\" + typeInString] === type) {\n commandColumn = commandCols[parseInt(j.toString(), 10)];\n }\n else {\n var buttons = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-unboundcell').querySelectorAll('button'));\n var index = buttons.findIndex(function (ele) { return ele === target; });\n if (index < commandCols.length && commandCols[parseInt(index.toString(), 10)][\"\" + typeInString] === type &&\n String(commandCols[parseInt(j.toString(), 10)][\"\" + idInString]) === uid) {\n commandColumn = commandCols[parseInt(index.toString(), 10)];\n }\n }\n }\n }\n }\n var args = {\n cancel: false,\n target: target,\n commandColumn: commandColumn,\n rowData: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row) ? undefined : row.data\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.commandClick, args, function (commandclickargs) {\n if (buttonObj.disabled || !gObj.editModule || commandclickargs.cancel) {\n return;\n }\n switch (type) {\n case 'Edit':\n gObj.editModule.endEdit();\n gObj.editModule.startEdit((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'tr'));\n break;\n case 'Cancel':\n gObj.isFocusFirstCell = true;\n gObj.editModule.closeEdit();\n break;\n case 'Save':\n gObj.isFocusFirstCell = true;\n gObj.editModule.endEdit();\n break;\n case 'Delete':\n if (gObj.editSettings.mode !== 'Batch') {\n gObj.editModule.endEdit();\n }\n gObj.commandDelIndex = parseInt((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'tr').getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n gObj.clearSelection();\n //for toogle issue when dbl click\n gObj.selectRow(gObj.commandDelIndex, false);\n gObj.isFocusFirstCell = true;\n gObj.editModule.deleteRecord();\n if (!(gObj.editSettings.showDeleteConfirmDialog && !gObj.allowSelection)) {\n gObj.commandDelIndex = undefined;\n }\n break;\n }\n });\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n */\n CommandColumn.prototype.getModuleName = function () {\n return 'commandColumn';\n };\n /**\n * To destroy CommandColumn.\n *\n * @function destroy\n * @returns {void}\n */\n CommandColumn.prototype.destroy = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.removeEventListener();\n };\n CommandColumn.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.click, this.commandClickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.keyPressed, this.keyPressHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.load);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.destroy, this.destroy);\n };\n CommandColumn.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.click, this.commandClickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.keyPressed, this.keyPressHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.load, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.destroy, this.destroy, this);\n };\n CommandColumn.prototype.keyPressHandler = function (e) {\n if ((e.action === 'enter' || e.action === 'space') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-unboundcelldiv')) {\n this.commandClickHandler(e);\n e.preventDefault();\n }\n };\n CommandColumn.prototype.load = function () {\n var uid = 'uid';\n var col = this.parent.columnModel;\n for (var i = 0; i < col.length; i++) {\n if (col[parseInt(i.toString(), 10)].commands) {\n var commandCol = col[parseInt(i.toString(), 10)].commands;\n for (var j = 0; j < commandCol.length; j++) {\n commandCol[parseInt(j.toString(), 10)][\"\" + uid] = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getUid)('gridcommand');\n }\n }\n }\n };\n return CommandColumn;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/command-column.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/context-menu.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/context-menu.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContextMenu: () => (/* binding */ ContextMenu),\n/* harmony export */ menuClass: () => (/* binding */ menuClass)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-navigations */ \"./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _actions_resize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../actions/resize */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.js\");\n/* harmony import */ var _actions_page__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../actions/page */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/page.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _actions_group__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../actions/group */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js\");\n/* harmony import */ var _actions_sort__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions/sort */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.js\");\n/* harmony import */ var _actions_pdf_export__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../actions/pdf-export */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.js\");\n/* harmony import */ var _actions_excel_export__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../actions/excel-export */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-export.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar menuClass = {\n header: '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridHeader,\n content: '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridContent,\n edit: '.e-inline-edit',\n batchEdit: '.e-editedbatchcell',\n editIcon: 'e-edit',\n pager: '.e-gridpager',\n delete: 'e-delete',\n save: 'e-save',\n cancel: 'e-cancel',\n copy: 'e-copy',\n pdf: 'e-pdfexport',\n group: 'e-icon-group',\n ungroup: 'e-icon-ungroup',\n csv: 'e-csvexport',\n excel: 'e-excelexport',\n fPage: 'e-icon-first',\n nPage: 'e-icon-next',\n lPage: 'e-icon-last',\n pPage: 'e-icon-prev',\n ascending: 'e-icon-ascending',\n descending: 'e-icon-descending',\n groupHeader: 'e-groupdroparea',\n touchPop: 'e-gridpopup',\n autofit: 'e-icon-autofit',\n autofitall: 'e-icon-autofitall'\n};\n/**\n * The `ContextMenu` module is used to handle context menu actions.\n */\nvar ContextMenu = /** @class */ (function () {\n function ContextMenu(parent, serviceLocator) {\n this.defaultItems = {};\n this.disableItems = [];\n this.hiddenItems = [];\n this.localeText = this.setLocaleKey();\n this.parent = parent;\n this.gridID = parent.element.id;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n }\n /**\n * @returns {void}\n * @hidden\n */\n ContextMenu.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.uiUpdate, this.enableAfterRenderMenu, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.initialLoad, this.render, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n ContextMenu.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.initialLoad, this.render);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.uiUpdate, this.enableAfterRenderMenu);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keydown', this.keyDownHandler.bind(this));\n };\n ContextMenu.prototype.keyDownHandler = function (e) {\n if (e.code === 'Tab' || e.which === 9) {\n this.contextMenu.close();\n }\n if (e.code === 'Escape') {\n this.contextMenu.close();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.restoreFocus, {});\n }\n };\n ContextMenu.prototype.render = function () {\n this.parent.element.classList.add('e-noselect');\n this.l10n = this.serviceLocator.getService('localization');\n this.element = this.parent.createElement('ul', { id: this.gridID + '_cmenu' });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keydown', this.keyDownHandler.bind(this));\n this.parent.element.appendChild(this.element);\n var target = '#' + this.gridID;\n this.contextMenu = new _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_3__.ContextMenu({\n items: this.getMenuItems(),\n enableRtl: this.parent.enableRtl,\n enablePersistence: this.parent.enablePersistence,\n locale: this.parent.locale,\n target: target,\n select: this.contextMenuItemClick.bind(this),\n beforeOpen: this.contextMenuBeforeOpen.bind(this),\n onOpen: this.contextMenuOpen.bind(this),\n onClose: this.contextMenuOnClose.bind(this),\n cssClass: this.parent.cssClass ? 'e-grid-menu' + ' ' + this.parent.cssClass : 'e-grid-menu'\n });\n this.contextMenu.appendTo(this.element);\n };\n ContextMenu.prototype.enableAfterRenderMenu = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n if (this.contextMenu) {\n this.contextMenu.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n this.parent.element.classList.remove('e-noselect');\n }\n this.render();\n }\n };\n ContextMenu.prototype.getMenuItems = function () {\n var menuItems = [];\n var exportItems = [];\n for (var _i = 0, _a = this.parent.contextMenuItems; _i < _a.length; _i++) {\n var item = _a[_i];\n if (typeof item === 'string' && this.getDefaultItems().indexOf(item) !== -1) {\n if (item.toLocaleLowerCase().indexOf('export') !== -1) {\n exportItems.push(this.buildDefaultItems(item));\n }\n else {\n menuItems.push(this.buildDefaultItems(item));\n }\n }\n else if (typeof item !== 'string') {\n menuItems.push(item);\n }\n }\n if (exportItems.length > 0) {\n var exportGroup = this.buildDefaultItems('export');\n exportGroup.items = exportItems;\n menuItems.push(exportGroup);\n }\n return menuItems;\n };\n ContextMenu.prototype.getLastPage = function () {\n var totalpage = Math.floor(this.parent.pageSettings.totalRecordsCount / this.parent.pageSettings.pageSize);\n if (this.parent.pageSettings.totalRecordsCount % this.parent.pageSettings.pageSize) {\n totalpage += 1;\n }\n return totalpage;\n };\n ContextMenu.prototype.contextMenuOpen = function () {\n this.isOpen = true;\n };\n /**\n * @param {ContextMenuClickEventArgs} args - specifies the ContextMenuClickEventArgs argument type\n * @returns {void}\n * @hidden\n */\n ContextMenu.prototype.contextMenuItemClick = function (args) {\n var item = this.getKeyFromId(args.item.id);\n switch (item) {\n case 'AutoFitAll':\n this.parent.autoFitColumns([]);\n break;\n case 'AutoFit':\n this.parent.autoFitColumns(this.targetColumn.field);\n break;\n case 'Group':\n this.parent.groupColumn(this.targetColumn.field);\n break;\n case 'Ungroup':\n this.parent.ungroupColumn(this.targetColumn.field);\n break;\n case 'Edit':\n if (this.parent.editModule) {\n if (this.parent.editSettings.mode === 'Batch') {\n if (this.row && this.cell && !isNaN(parseInt(this.cell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1)) {\n this.parent.editModule.editCell(parseInt(this.row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1, \n // eslint-disable-next-line\n this.parent.getColumns()[parseInt(this.cell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1].field);\n }\n }\n else {\n this.parent.editModule.endEdit();\n this.parent.editModule.startEdit(this.row);\n }\n }\n break;\n case 'Delete':\n if (this.parent.editModule) {\n if (this.parent.editSettings.mode !== 'Batch') {\n this.parent.editModule.endEdit();\n }\n if (this.parent.getSelectedRecords().length === 1) {\n if (!this.parent.isCheckBoxSelection) {\n this.parent.isFocusFirstCell = true;\n }\n this.parent.editModule.deleteRow(this.row);\n }\n else {\n this.parent.deleteRecord();\n }\n }\n break;\n case 'Save':\n if (this.parent.editModule) {\n if (this.parent.isEdit && this.parent.editSettings.mode !== 'Batch') {\n this.parent.isFocusFirstCell = true;\n }\n this.parent.editModule.endEdit();\n }\n break;\n case 'Cancel':\n if (this.parent.editModule) {\n if (this.parent.isEdit) {\n this.parent.isFocusFirstCell = true;\n }\n this.parent.editModule.closeEdit();\n }\n break;\n case 'Copy':\n this.parent.copy();\n break;\n case 'PdfExport':\n this.parent.pdfExport();\n break;\n case 'ExcelExport':\n this.parent.excelExport();\n break;\n case 'CsvExport':\n this.parent.csvExport();\n break;\n case 'SortAscending':\n this.isOpen = false;\n this.parent.sortColumn(this.targetColumn.field, 'Ascending');\n break;\n case 'SortDescending':\n this.isOpen = false;\n this.parent.sortColumn(this.targetColumn.field, 'Descending');\n break;\n case 'FirstPage':\n this.parent.goToPage(1);\n break;\n case 'PrevPage':\n this.parent.goToPage(this.parent.pageSettings.currentPage - 1);\n break;\n case 'LastPage':\n this.parent.goToPage(this.getLastPage());\n break;\n case 'NextPage':\n this.parent.goToPage(this.parent.pageSettings.currentPage + 1);\n break;\n }\n args.column = this.targetColumn;\n args.rowInfo = this.targetRowdata;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contextMenuClick, args);\n };\n ContextMenu.prototype.contextMenuOnClose = function (args) {\n var parent = 'parentObj';\n if (args.items.length > 0 && args.items[0][\"\" + parent] instanceof _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_3__.ContextMenu) {\n this.updateItemStatus();\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.selectRowOnContextOpen, { isOpen: false });\n };\n ContextMenu.prototype.getLocaleText = function (item) {\n return this.l10n.getConstant(this.localeText[\"\" + item]);\n };\n ContextMenu.prototype.updateItemStatus = function () {\n this.contextMenu.showItems(this.hiddenItems);\n this.contextMenu.enableItems(this.disableItems);\n this.hiddenItems = [];\n this.disableItems = [];\n this.isOpen = false;\n };\n ContextMenu.prototype.contextMenuBeforeOpen = function (args) {\n var closestGrid = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-grid');\n if (args.event && closestGrid && closestGrid !== this.parent.element) {\n args.cancel = true;\n }\n else if (args.event && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.' + menuClass.groupHeader)\n || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.' + menuClass.touchPop) ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-summarycell') ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-groupcaption') ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-filterbarcell')) ||\n (this.parent.editSettings.showAddNewRow && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-addedrow')\n && this.parent.element.querySelector('.e-editedrow'))) {\n args.cancel = true;\n }\n else {\n this.targetColumn = this.getColumn(args.event);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(args.event.target, 'e-grid')) {\n this.targetRowdata = this.parent.getRowInfo(args.event.target);\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.parentItem)) && this.targetColumn) {\n if (this.targetRowdata.cell) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.selectRowOnContextOpen, { isOpen: true });\n this.selectRow(args.event, (this.targetRowdata.cell.classList.contains('e-selectionbackground')\n && this.parent.selectionSettings.type === 'Multiple') ? false : true);\n }\n }\n var hideSepItems = [];\n var showSepItems = [];\n for (var _i = 0, _a = args.items; _i < _a.length; _i++) {\n var item = _a[_i];\n var key = this.getKeyFromId(item.id);\n var dItem = this.defaultItems[\"\" + key];\n if (this.getDefaultItems().indexOf(key) !== -1) {\n if (this.ensureDisabledStatus(key)) {\n this.disableItems.push(item.text);\n }\n if (args.event && (this.ensureTarget(args.event.target, menuClass.edit) ||\n this.ensureTarget(args.event.target, menuClass.batchEdit))) {\n if (key !== 'Save' && key !== 'Cancel') {\n this.hiddenItems.push(item.text);\n }\n }\n else if (this.parent.editModule && this.parent.editSettings.mode === 'Batch' &&\n (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.event.target, '.e-gridform')) ||\n this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.changedRecords].length ||\n this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRecords].length ||\n this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.deletedRecords].length) && (key === 'Save' || key === 'Cancel')) {\n continue;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.parentItem) && args.event\n && !this.ensureTarget(args.event.target, dItem.target)) {\n this.hiddenItems.push(item.text);\n }\n }\n else if (item.target && args.event &&\n !this.ensureTarget(args.event.target, item.target)) {\n if (item.separator) {\n hideSepItems.push(item.id);\n }\n else {\n this.hiddenItems.push(item.text);\n }\n }\n else if (this.ensureTarget(args.event.target, item.target) && item.separator) {\n showSepItems.push(item.id);\n }\n }\n if (showSepItems.length > 0) {\n this.contextMenu.showItems(showSepItems, true);\n }\n this.contextMenu.enableItems(this.disableItems, false);\n this.contextMenu.hideItems(this.hiddenItems);\n if (hideSepItems.length > 0) {\n this.contextMenu.hideItems(hideSepItems, true);\n }\n this.eventArgs = args.event;\n args.column = this.targetColumn;\n args.rowInfo = this.targetRowdata;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contextMenuOpen, args);\n if (args.cancel || (this.hiddenItems.length === args.items.length && !args.parentItem)) {\n this.updateItemStatus();\n args.cancel = true;\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.applyBiggerTheme)(this.parent.element, this.contextMenu.element.parentElement);\n };\n ContextMenu.prototype.ensureTarget = function (targetElement, selector) {\n var target = targetElement;\n if (this.ensureFrozenHeader(targetElement) && (selector === menuClass.header || selector === menuClass.content)) {\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(targetElement, selector === menuClass.header ? 'thead' : _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody);\n }\n else if (selector === menuClass.content || selector === menuClass.header) {\n target = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(targetElement, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.table), selector.substr(1, selector.length));\n }\n else {\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(targetElement, selector);\n }\n return target && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-grid') === this.parent.element;\n };\n ContextMenu.prototype.ensureFrozenHeader = function (targetElement) {\n return (this.parent.frozenRows)\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(targetElement, menuClass.header) ? true : false;\n };\n ContextMenu.prototype.ensureDisabledStatus = function (item) {\n var status = false;\n switch (item) {\n case 'AutoFitAll':\n case 'AutoFit':\n status = !(this.parent.ensureModuleInjected(_actions_resize__WEBPACK_IMPORTED_MODULE_5__.Resize) && !this.parent.isEdit)\n || (this.targetColumn && !this.targetColumn.field && item === 'AutoFit');\n break;\n case 'Group':\n if (!this.parent.allowGrouping || (this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_6__.Group) && this.targetColumn\n && this.parent.groupSettings.columns.indexOf(this.targetColumn.field) >= 0) ||\n (this.targetColumn && !this.targetColumn.field)) {\n status = true;\n }\n break;\n case 'Ungroup':\n if (!this.parent.allowGrouping || !this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_6__.Group)\n || (this.parent.ensureModuleInjected(_actions_group__WEBPACK_IMPORTED_MODULE_6__.Group) && this.targetColumn\n && this.parent.groupSettings.columns.indexOf(this.targetColumn.field) < 0)) {\n status = true;\n }\n break;\n case 'Edit':\n case 'Delete':\n case 'Save':\n case 'Cancel':\n if (!this.parent.editModule || (this.parent.getDataRows().length === 0)) {\n status = true;\n }\n break;\n case 'Copy':\n if ((this.parent.getSelectedRowIndexes().length === 0 && this.parent.getSelectedRowCellIndexes().length === 0) ||\n this.parent.getCurrentViewRecords().length === 0) {\n status = true;\n }\n break;\n case 'export':\n if (!(this.parent.allowExcelExport && this.parent.ensureModuleInjected(_actions_excel_export__WEBPACK_IMPORTED_MODULE_7__.ExcelExport))\n && !(this.parent.allowPdfExport && this.parent.ensureModuleInjected(_actions_pdf_export__WEBPACK_IMPORTED_MODULE_8__.PdfExport))) {\n status = true;\n }\n break;\n case 'PdfExport':\n if (!(this.parent.allowPdfExport) || !this.parent.ensureModuleInjected(_actions_pdf_export__WEBPACK_IMPORTED_MODULE_8__.PdfExport)) {\n status = true;\n }\n break;\n case 'ExcelExport':\n case 'CsvExport':\n if (!(this.parent.allowExcelExport) || !this.parent.ensureModuleInjected(_actions_excel_export__WEBPACK_IMPORTED_MODULE_7__.ExcelExport)) {\n status = true;\n }\n break;\n case 'SortAscending':\n case 'SortDescending':\n if ((!this.parent.allowSorting) || !this.parent.ensureModuleInjected(_actions_sort__WEBPACK_IMPORTED_MODULE_9__.Sort) ||\n (this.targetColumn && !this.targetColumn.field)) {\n status = true;\n }\n else if (this.parent.ensureModuleInjected(_actions_sort__WEBPACK_IMPORTED_MODULE_9__.Sort) && this.parent.sortSettings.columns.length > 0 && this.targetColumn) {\n var sortColumns = this.parent.sortSettings.columns;\n for (var i = 0; i < sortColumns.length; i++) {\n if (sortColumns[parseInt(i.toString(), 10)].field === this.targetColumn.field\n && sortColumns[parseInt(i.toString(), 10)].direction.toLowerCase() === item.toLowerCase().replace('sort', '').toLocaleLowerCase()) {\n status = true;\n }\n }\n }\n break;\n case 'FirstPage':\n case 'PrevPage':\n if (!this.parent.allowPaging || !this.parent.ensureModuleInjected(_actions_page__WEBPACK_IMPORTED_MODULE_10__.Page) ||\n this.parent.getCurrentViewRecords().length === 0 ||\n (this.parent.ensureModuleInjected(_actions_page__WEBPACK_IMPORTED_MODULE_10__.Page) && this.parent.pageSettings.currentPage === 1)) {\n status = true;\n }\n break;\n case 'LastPage':\n case 'NextPage':\n if (!this.parent.allowPaging || !this.parent.ensureModuleInjected(_actions_page__WEBPACK_IMPORTED_MODULE_10__.Page) ||\n this.parent.getCurrentViewRecords().length === 0 ||\n (this.parent.ensureModuleInjected(_actions_page__WEBPACK_IMPORTED_MODULE_10__.Page) && this.parent.pageSettings.currentPage === this.getLastPage())) {\n status = true;\n }\n break;\n }\n return status;\n };\n /**\n * Gets the context menu element from the Grid.\n *\n * @returns {Element} returns the element\n */\n ContextMenu.prototype.getContextMenu = function () {\n return this.element;\n };\n /**\n * Destroys the context menu component in the Grid.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n ContextMenu.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridContent))) {\n return;\n }\n if (this.contextMenu) {\n this.contextMenu.select = null;\n this.contextMenu.beforeOpen = null;\n this.contextMenu.onOpen = null;\n this.contextMenu.onClose = null;\n }\n this.removeEventListener();\n this.contextMenu.destroy();\n if (this.element.parentNode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n this.parent.element.classList.remove('e-noselect');\n };\n ContextMenu.prototype.getModuleName = function () {\n return 'contextMenu';\n };\n ContextMenu.prototype.generateID = function (item) {\n return this.gridID + '_cmenu_' + item;\n };\n ContextMenu.prototype.getKeyFromId = function (id) {\n return id.replace(this.gridID + '_cmenu_', '');\n };\n ContextMenu.prototype.buildDefaultItems = function (item) {\n var menuItem;\n switch (item) {\n case 'AutoFitAll':\n menuItem = { target: menuClass.header, iconCss: menuClass.autofitall };\n break;\n case 'AutoFit':\n menuItem = { target: menuClass.header, iconCss: menuClass.autofit };\n break;\n case 'Group':\n menuItem = { target: menuClass.header, iconCss: menuClass.group };\n break;\n case 'Ungroup':\n menuItem = { target: menuClass.header, iconCss: menuClass.ungroup };\n break;\n case 'Edit':\n menuItem = { target: menuClass.content, iconCss: menuClass.editIcon };\n break;\n case 'Delete':\n menuItem = { target: menuClass.content, iconCss: menuClass.delete };\n break;\n case 'Save':\n menuItem = { target: menuClass.edit, iconCss: menuClass.save };\n break;\n case 'Cancel':\n menuItem = { target: menuClass.edit, iconCss: menuClass.cancel };\n break;\n case 'Copy':\n menuItem = { target: menuClass.content, iconCss: menuClass.copy };\n break;\n case 'export':\n menuItem = { target: menuClass.content };\n break;\n case 'PdfExport':\n menuItem = { target: menuClass.content, iconCss: menuClass.pdf };\n break;\n case 'ExcelExport':\n menuItem = { target: menuClass.content, iconCss: menuClass.excel };\n break;\n case 'CsvExport':\n menuItem = { target: menuClass.content, iconCss: menuClass.csv };\n break;\n case 'SortAscending':\n menuItem = { target: menuClass.header, iconCss: menuClass.ascending };\n break;\n case 'SortDescending':\n menuItem = { target: menuClass.header, iconCss: menuClass.descending };\n break;\n case 'FirstPage':\n menuItem = { target: menuClass.pager, iconCss: menuClass.fPage };\n break;\n case 'PrevPage':\n menuItem = { target: menuClass.pager, iconCss: menuClass.pPage };\n break;\n case 'LastPage':\n menuItem = { target: menuClass.pager, iconCss: menuClass.lPage };\n break;\n case 'NextPage':\n menuItem = { target: menuClass.pager, iconCss: menuClass.nPage };\n break;\n }\n this.defaultItems[\"\" + item] = {\n text: this.getLocaleText(item), id: this.generateID(item),\n target: menuItem.target, iconCss: menuItem.iconCss ? 'e-icons ' + menuItem.iconCss : ''\n };\n return this.defaultItems[\"\" + item];\n };\n ContextMenu.prototype.getDefaultItems = function () {\n return ['AutoFitAll', 'AutoFit',\n 'Group', 'Ungroup', 'Edit', 'Delete', 'Save', 'Cancel', 'Copy', 'export',\n 'PdfExport', 'ExcelExport', 'CsvExport', 'SortAscending', 'SortDescending',\n 'FirstPage', 'PrevPage', 'LastPage', 'NextPage'];\n };\n ContextMenu.prototype.setLocaleKey = function () {\n var localeKeys = {\n 'AutoFitAll': 'autoFitAll',\n 'AutoFit': 'autoFit',\n 'Copy': 'Copy',\n 'Group': 'Group',\n 'Ungroup': 'Ungroup',\n 'Edit': 'EditRecord',\n 'Delete': 'DeleteRecord',\n 'Save': 'Save',\n 'Cancel': 'CancelButton',\n 'PdfExport': 'Pdfexport',\n 'ExcelExport': 'Excelexport',\n 'CsvExport': 'Csvexport',\n 'export': 'Export',\n 'SortAscending': 'SortAscending',\n 'SortDescending': 'SortDescending',\n 'FirstPage': 'FirstPage',\n 'LastPage': 'LastPage',\n 'PrevPage': 'PreviousPage',\n 'NextPage': 'NextPage'\n };\n return localeKeys;\n };\n ContextMenu.prototype.getColumn = function (e) {\n var cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'th.e-headercell');\n if (cell) {\n var uid = cell.querySelector('.e-headercelldiv, .e-stackedheadercelldiv').getAttribute('e-mappinguid');\n return this.parent.getColumnByUid(uid);\n }\n else {\n var ele = (this.parent.getRowInfo(e.target).column);\n return ele || null;\n }\n };\n ContextMenu.prototype.selectRow = function (e, isSelectable) {\n this.cell = e.target;\n this.row = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr.e-row') || this.row;\n if (this.row && isSelectable && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-gridpager')) {\n this.parent.selectRow(parseInt(this.row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1);\n }\n };\n return ContextMenu;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/context-menu.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Data: () => (/* binding */ Data)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/adaptors.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n\n\n\n\n\n\n/**\n * Grid data module is used to generate query and data source.\n *\n * @hidden\n */\nvar Data = /** @class */ (function () {\n /**\n * Constructor for data module.\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the service locator\n * @hidden\n */\n function Data(parent, serviceLocator) {\n this.dataState = { isPending: false, resolver: null, group: [] };\n this.foreignKeyDataState = { isPending: false, resolver: null };\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.initDataManager();\n if (this.parent.isDestroyed || this.getModuleName() === 'foreignKey') {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowsAdded, this.addRows, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowPositionChanged, this.reorderRows, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowsRemoved, this.removeRows, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataSourceModified, this.initDataManager, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.updateData, this.crudActions, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.addDeleteAction, this.getData, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.autoCol, this.refreshFilteredCols, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnsPrepared, this.refreshFilteredCols, this);\n }\n Data.prototype.reorderRows = function (e) {\n if (this.parent.getDataModule().isRemote()) {\n this.parent.getCurrentViewRecords().splice(e.toIndex, 0, this.parent.getCurrentViewRecords().splice(e.fromIndex, 1)[0]);\n }\n else {\n this.dataManager.dataSource.json.splice(e.toIndex, 0, this.dataManager.dataSource.json.splice(e.fromIndex, 1)[0]);\n }\n };\n Data.prototype.getModuleName = function () {\n return 'data';\n };\n /**\n * The function used to initialize dataManager and external query\n *\n * @returns {void}\n */\n Data.prototype.initDataManager = function () {\n var gObj = this.parent;\n this.dataManager = gObj.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ? gObj.dataSource :\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.dataSource) ? new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(gObj.dataSource));\n if (gObj.isAngular && !(gObj.query instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query)) {\n gObj.setProperties({ query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query() }, true);\n }\n else {\n this.isQueryInvokedFromData = true;\n if (!(gObj.query instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query)) {\n gObj.query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query();\n }\n }\n };\n /**\n * The function is used to generate updated Query from Grid model.\n *\n * @param {boolean} skipPage - specifies the boolean to skip the page\n * @param {boolean} isAutoCompleteCall - specifies for auto complete call\n * @returns {Query} returns the Query\n * @hidden\n */\n Data.prototype.generateQuery = function (skipPage, isAutoCompleteCall) {\n var gObj = this.parent;\n var query = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getQuery()) ? gObj.getQuery().clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query();\n if (this.parent.columnQueryMode === 'ExcludeHidden') {\n query.select(this.parent.getColumns().filter(function (column) { return !(column.isPrimaryKey !== true && column.visible === false || column.field === undefined); }).map(function (column) { return column.field; }));\n }\n else if (this.parent.columnQueryMode === 'Schema') {\n var selectQueryFields = [];\n var columns = this.parent.columns;\n for (var i = 0; i < columns.length; i++) {\n selectQueryFields.push(columns[parseInt(i.toString(), 10)].field);\n }\n query.select(selectQueryFields);\n }\n this.filterQuery(query);\n this.searchQuery(query);\n this.aggregateQuery(query);\n this.sortQuery(query);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isGroupAdaptive)(this.parent)) {\n this.virtualGroupPageQuery(query);\n }\n else {\n this.pageQuery(query, skipPage);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isAutoCompleteCall) || !isAutoCompleteCall) {\n this.groupQuery(query);\n }\n return query;\n };\n /**\n * @param {Query} query - specifies the query\n * @returns {Query} - returns the query\n * @hidden\n */\n Data.prototype.aggregateQuery = function (query) {\n var rows = this.parent.aggregates;\n for (var i = 0; i < rows.length; i++) {\n var row = rows[parseInt(i.toString(), 10)];\n for (var j = 0; j < row.columns.length; j++) {\n var cols = row.columns[parseInt(j.toString(), 10)];\n var types = cols.type instanceof Array ? cols.type : [cols.type];\n for (var k = 0; k < types.length; k++) {\n query.aggregate(types[parseInt(k.toString(), 10)].toLowerCase(), cols.field);\n }\n }\n }\n return query;\n };\n Data.prototype.virtualGroupPageQuery = function (query) {\n var fName = 'fn';\n if (query.queries.length) {\n for (var i = 0; i < query.queries.length; i++) {\n if (query.queries[parseInt(i.toString(), 10)][\"\" + fName] === 'onPage') {\n query.queries.splice(i, 1);\n }\n }\n }\n return query;\n };\n Data.prototype.pageQuery = function (query, skipPage) {\n var gObj = this.parent;\n var fName = 'fn';\n var args = { query: query, skipPage: false };\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.setVirtualPageQuery, args);\n if (args.skipPage) {\n return query;\n }\n if ((gObj.allowPaging || gObj.enableVirtualization || gObj.enableInfiniteScrolling) && skipPage !== true) {\n gObj.pageSettings.currentPage = Math.max(1, gObj.pageSettings.currentPage);\n if (gObj.pageSettings.pageCount <= 0) {\n gObj.pageSettings.pageCount = 8;\n }\n if (gObj.pageSettings.pageSize <= 0) {\n gObj.pageSettings.pageSize = 12;\n }\n if (query.queries.length) {\n for (var i = 0; i < query.queries.length; i++) {\n if (query.queries[parseInt(i.toString(), 10)][\"\" + fName] === 'onPage') {\n query.queries.splice(i, 1);\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.infiniteScrollModule) && gObj.enableInfiniteScrolling) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.infinitePageQuery, query);\n }\n else {\n query.page(gObj.pageSettings.currentPage, gObj.allowPaging && gObj.pagerModule &&\n (gObj.pagerModule.pagerObj.isAllPage && !gObj.isManualRefresh) &&\n (!this.dataManager.dataSource.offline && !(this.dataManager.adaptor instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.RemoteSaveAdaptor)) ?\n null : gObj.pageSettings.pageSize);\n }\n }\n return query;\n };\n Data.prototype.groupQuery = function (query) {\n var gObj = this.parent;\n if (gObj.allowGrouping && gObj.groupSettings.columns.length) {\n if (this.parent.groupSettings.enableLazyLoading) {\n query.lazyLoad.push({ key: 'isLazyLoad', value: this.parent.groupSettings.enableLazyLoading });\n }\n var columns = gObj.groupSettings.columns;\n for (var i = 0, len = columns.length; i < len; i++) {\n var column = this.getColumnByField(columns[parseInt(i.toString(), 10)]);\n if (!column) {\n this.parent.log('initial_action', { moduleName: 'group', columnName: columns[parseInt(i.toString(), 10)] });\n }\n var isGrpFmt = column.enableGroupByFormat;\n var format = column.format;\n if (isGrpFmt) {\n query.group(columns[parseInt(i.toString(), 10)], this.formatGroupColumn.bind(this), format);\n }\n else {\n query.group(columns[parseInt(i.toString(), 10)], null);\n }\n }\n }\n return query;\n };\n Data.prototype.sortQuery = function (query) {\n var gObj = this.parent;\n if ((gObj.allowSorting || gObj.allowGrouping) && gObj.sortSettings.columns.length) {\n var columns = gObj.sortSettings.columns;\n var sortGrp = [];\n for (var i = columns.length - 1; i > -1; i--) {\n var col = this.getColumnByField(columns[parseInt(i.toString(), 10)].field);\n if (col) {\n col.setSortDirection(columns[parseInt(i.toString(), 10)].direction);\n }\n else {\n this.parent.log('initial_action', { moduleName: 'sort', columnName: columns[parseInt(i.toString(), 10)].field });\n return query;\n }\n var fn = columns[parseInt(i.toString(), 10)].direction;\n if (col.sortComparer) {\n this.parent.log('grid_sort_comparer');\n fn = !this.isRemote() ? col.sortComparer.bind(col) : columns[parseInt(i.toString(), 10)].direction;\n }\n if (gObj.groupSettings.columns.indexOf(columns[parseInt(i.toString(), 10)].field) === -1) {\n if (col.isForeignColumn() || col.sortComparer) {\n query.sortByForeignKey(col.field, fn, undefined, columns[parseInt(i.toString(), 10)].direction.toLowerCase());\n }\n else {\n query.sortBy(col.field, fn);\n }\n }\n else {\n sortGrp.push({ direction: fn, field: col.field });\n }\n }\n for (var i = 0, len = sortGrp.length; i < len; i++) {\n if (typeof sortGrp[parseInt(i.toString(), 10)].direction === 'string') {\n query.sortBy(sortGrp[parseInt(i.toString(), 10)].field, sortGrp[parseInt(i.toString(), 10)].direction);\n }\n else {\n var col = this.getColumnByField(sortGrp[parseInt(i.toString(), 10)].field);\n query.sortByForeignKey(sortGrp[parseInt(i.toString(), 10)].field, sortGrp[parseInt(i.toString(), 10)].direction, undefined, col.getSortDirection().toLowerCase());\n }\n }\n }\n return query;\n };\n /**\n * @param {Query} query - specifies the query\n * @param {Column} fcolumn - specifies the forein key column model\n * @param {boolean} isForeignKey - Confirms whether the column is a foreign key or not\n * @returns {Query} - returns the query\n * @hidden\n */\n Data.prototype.searchQuery = function (query, fcolumn, isForeignKey) {\n var sSettings = this.parent.searchSettings;\n var fields = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(sSettings.fields) && sSettings.fields.length) ? sSettings.fields\n : this.getSearchColumnFieldNames();\n var predicateList = [];\n var needForeignKeySearch = false;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.searchSettings.key) && this.parent.searchSettings.key.length) {\n needForeignKeySearch = this.parent.getForeignKeyColumns().some(function (col) { return fields.indexOf(col.field) > -1; });\n var adaptor = !isForeignKey ? this.dataManager.adaptor : fcolumn.dataSource.adaptor;\n if (needForeignKeySearch || (adaptor.getModuleName &&\n adaptor.getModuleName() === 'ODataV4Adaptor')) {\n fields = isForeignKey ? [fcolumn.foreignKeyValue] : fields;\n for (var i = 0; i < fields.length; i++) {\n var column = isForeignKey ? fcolumn : this.getColumnByField(fields[parseInt(i.toString(), 10)]);\n if (column.isForeignColumn() && !isForeignKey) {\n predicateList = this.fGeneratePredicate(column, predicateList);\n }\n else {\n predicateList.push(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Predicate(fields[parseInt(i.toString(), 10)], sSettings.operator, sSettings.key, sSettings.ignoreCase, sSettings.ignoreAccent));\n }\n }\n var predList = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Predicate.or(predicateList);\n predList.key = sSettings.key;\n query.where(predList);\n }\n else {\n query.search(sSettings.key, fields, sSettings.operator, sSettings.ignoreCase, sSettings.ignoreAccent);\n }\n }\n return query;\n };\n Data.prototype.filterQuery = function (query, column, skipFoerign) {\n var gObj = this.parent;\n var predicateList = [];\n var actualFilter = [];\n var foreignColumn = this.parent.getForeignKeyColumns();\n var foreignColEmpty;\n if (gObj.allowFiltering && gObj.filterSettings.columns.length) {\n var columns = column ? column : gObj.filterSettings.columns;\n var colType = {};\n for (var _i = 0, _a = gObj.getColumns(); _i < _a.length; _i++) {\n var col = _a[_i];\n colType[col.field] = col.filter.type ? col.filter.type : gObj.filterSettings.type;\n }\n var foreignCols = [];\n var defaultFltrCols = [];\n for (var _b = 0, columns_1 = columns; _b < columns_1.length; _b++) {\n var col = columns_1[_b];\n var gridColumn = col.isForeignKey ? gObj.getColumnByUid(col.uid) : gObj.getColumnByField(col.field);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.type) && gridColumn && (gridColumn.type === 'date' || gridColumn.type === 'datetime' || gridColumn.type === 'dateonly')) {\n col.type = col.isForeignKey ? gObj.getColumnByUid(col.uid).type : gObj.getColumnByField(col.field).type;\n }\n if (col.isForeignKey) {\n foreignCols.push(col);\n }\n else {\n defaultFltrCols.push(col);\n }\n }\n if (defaultFltrCols.length) {\n for (var i = 0, len = defaultFltrCols.length; i < len; i++) {\n defaultFltrCols[parseInt(i.toString(), 10)].uid = defaultFltrCols[parseInt(i.toString(), 10)].uid ||\n this.parent.grabColumnByFieldFromAllCols(defaultFltrCols[parseInt(i.toString(), 10)]\n .field, defaultFltrCols[parseInt(i.toString(), 10)].isForeignKey).uid;\n }\n var excelPredicate = _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_6__.CheckBoxFilterBase.getPredicate(defaultFltrCols);\n for (var _c = 0, _d = Object.keys(excelPredicate); _c < _d.length; _c++) {\n var prop = _d[_c];\n predicateList.push(excelPredicate[\"\" + prop]);\n }\n }\n if (foreignCols.length) {\n for (var _e = 0, foreignCols_1 = foreignCols; _e < foreignCols_1.length; _e++) {\n var col = foreignCols_1[_e];\n col.uid = col.uid || this.parent.grabColumnByFieldFromAllCols(col.field, col.isForeignKey).uid;\n var column_1 = this.parent.grabColumnByUidFromAllCols(col.uid);\n if (!column_1) {\n this.parent.log('initial_action', { moduleName: 'filter', columnName: col.field });\n }\n if (column_1.isForeignColumn() && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getColumnByForeignKeyValue)(col.field, foreignColumn) && !skipFoerign) {\n actualFilter.push(col);\n if (!column_1.columnData.length) {\n foreignColEmpty = true;\n }\n predicateList = this.fGeneratePredicate(column_1, predicateList);\n }\n else {\n var excelPredicate = _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_6__.CheckBoxFilterBase.getPredicate(columns);\n for (var _f = 0, _g = Object.keys(excelPredicate); _f < _g.length; _f++) {\n var prop = _g[_f];\n predicateList.push(excelPredicate[\"\" + prop]);\n }\n }\n }\n }\n if (predicateList.length && !foreignColEmpty) {\n query.where(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Predicate.and(predicateList));\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.showEmptyGrid, {});\n }\n }\n return query;\n };\n Data.prototype.fGeneratePredicate = function (col, predicateList) {\n var fPredicate = {};\n if (col) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.generateQuery, { predicate: fPredicate, column: col });\n if (fPredicate.predicate.predicates.length) {\n predicateList.push(fPredicate.predicate);\n }\n }\n return predicateList;\n };\n /**\n * The function is used to get dataManager promise by executing given Query.\n *\n * @param {object} args - specifies the object\n * @param {string} args.requestType - Defines the request type\n * @param {string[]} args.foreignKeyData - Defines the foreignKeyData.string\n * @param {Object} args.data - Defines the data.\n * @param {number} args.index - Defines the index .\n * @param {Query} query - Defines the query which will execute along with data processing.\n * @returns {Promise} - returns the object\n * @hidden\n */\n Data.prototype.getData = function (args, query) {\n var _this = this;\n if (args === void 0) { args = { requestType: '' }; }\n var key = this.getKey(args.foreignKeyData &&\n Object.keys(args.foreignKeyData).length ?\n args.foreignKeyData : this.parent.getPrimaryKeyFieldNames());\n this.parent.log('datasource_syntax_mismatch', { dataState: this.parent });\n if (this.parent.dataSource && 'result' in this.parent.dataSource) {\n var def = this.eventPromise(args, query, key);\n return def.promise;\n }\n else {\n var crud = void 0;\n switch (args.requestType) {\n case 'delete':\n query = query ? query : this.generateQuery();\n // eslint-disable-next-line no-case-declarations\n var len = Object.keys(args.data).length;\n if (len === 1) {\n crud = this.dataManager.remove(key, args.data[0], query.fromTable, query);\n }\n else {\n var changes = {\n addedRecords: [],\n deletedRecords: [],\n changedRecords: []\n };\n changes.deletedRecords = args.data;\n crud = this.dataManager.saveChanges(changes, key, query.fromTable, query.requiresCount());\n }\n break;\n case 'save':\n query = query ? query : this.generateQuery();\n args.index = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.index) ? 0 : args.index;\n crud = this.dataManager.insert(args.data, query.fromTable, query, args.index);\n break;\n }\n var promise = 'promise';\n args[\"\" + promise] = crud;\n // eslint-disable-next-line no-prototype-builtins\n if (crud && !Array.isArray(crud) && !crud.hasOwnProperty('deletedRecords')) {\n return crud.then(function () {\n return _this.insert(query, args);\n });\n }\n else {\n return this.insert(query, args);\n }\n }\n };\n Data.prototype.insert = function (query, args) {\n if (args.requestType === 'save') {\n args.query = query;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.recordAdded, args);\n }\n return this.executeQuery(query);\n };\n Data.prototype.executeQuery = function (query) {\n var _this = this;\n if (this.dataManager.ready) {\n var deferred_1 = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Deferred();\n var ready = this.dataManager.ready;\n ready.then(function () {\n _this.dataManager.executeQuery(query).then(function (result) {\n deferred_1.resolve(result);\n });\n }).catch(function (e) {\n deferred_1.reject(e);\n });\n return deferred_1.promise;\n }\n else {\n return this.dataManager.executeQuery(query);\n }\n };\n Data.prototype.formatGroupColumn = function (value, field) {\n var serviceLocator = this.serviceLocator;\n var column = this.getColumnByField(field);\n var date = value;\n if (!column.type) {\n column.type = date.getDay ? (date.getHours() > 0 || date.getMinutes() > 0 ||\n date.getSeconds() > 0 || date.getMilliseconds() > 0 ? 'datetime' : 'date') : typeof (value);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.getFormatter())) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.setFormatter)(serviceLocator, column);\n }\n var formatVal = _services_value_formatter__WEBPACK_IMPORTED_MODULE_7__.ValueFormatter.prototype.toView(value, column.getFormatter());\n return formatVal;\n };\n Data.prototype.crudActions = function (args) {\n var query = this.generateQuery();\n var promise = null;\n var pr = 'promise';\n var key = this.getKey(args.foreignKeyData &&\n Object.keys(args.foreignKeyData).length ? args.foreignKeyData :\n this.parent.getPrimaryKeyFieldNames());\n if (this.parent.dataSource && 'result' in this.parent.dataSource) {\n this.eventPromise(args, query, key);\n }\n switch (args.requestType) {\n case 'save':\n promise = this.dataManager.update(key, args.data, query.fromTable, query, args.previousData);\n break;\n }\n args[\"\" + pr] = promise ? promise : args[\"\" + pr];\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.crudAction, args);\n };\n /**\n * @param {object} changes - specifies the changes\n * @param {string} key - specifies the key\n * @param {object} original - specifies the original data\n * @param {Query} query - specifies the query\n * @returns {Promise} returns the object\n * @hidden\n */\n Data.prototype.saveChanges = function (changes, key, original, query) {\n if (query === void 0) { query = this.generateQuery(); }\n query.requiresCount();\n if ('result' in this.parent.dataSource) {\n var deff = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Deferred();\n var args = {\n requestType: 'batchsave', changes: changes, key: key, query: query,\n endEdit: deff.resolve\n };\n this.setState({ isPending: true, resolver: deff.resolve });\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataSourceChanged, args);\n return deff.promise;\n }\n else {\n var promise = this.dataManager.saveChanges(changes, key, query.fromTable, query, original);\n return promise;\n }\n };\n Data.prototype.getKey = function (keys) {\n if (keys && keys.length) {\n return keys[0];\n }\n return undefined;\n };\n /**\n * @returns {boolean} returns whether its remote data\n * @hidden\n */\n Data.prototype.isRemote = function () {\n return this.dataManager.dataSource.offline !== true && this.dataManager.dataSource.url !== undefined &&\n this.dataManager.dataSource.url !== '';\n };\n Data.prototype.addRows = function (e) {\n for (var i = e.records.length; i > 0; i--) {\n if (this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && this.dataManager.dataSource.offline) {\n this.dataManager.dataSource.json.splice(e.toIndex, 0, e.records[i - 1]);\n }\n else if (((!this.parent.getDataModule().isRemote()) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource))) &&\n (!this.parent.dataSource.result)) {\n this.parent.dataSource['splice'](e.toIndex, 0, e.records[i - 1]);\n }\n }\n };\n Data.prototype.removeRows = function (e) {\n var json = this.dataManager.dataSource.json;\n if (this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && this.dataManager.dataSource.offline) {\n this.dataManager.dataSource.json = json.filter(function (value) { return e.records.indexOf(value) === -1; });\n }\n else if (((!this.parent.getDataModule().isRemote()) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource))) &&\n (!this.parent.dataSource.result)) {\n this.parent.dataSource = json.filter(function (value) { return e.records.indexOf(value) === -1; });\n }\n };\n Data.prototype.getColumnByField = function (field) {\n var col;\n return (this.parent.columnModel).some(function (column) {\n col = column;\n return column.field === field;\n }) && col;\n };\n Data.prototype.destroy = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowsAdded, this.addRows);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowsRemoved, this.removeRows);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataSourceModified, this.initDataManager);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.updateData, this.crudActions);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.addDeleteAction, this.getData);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.autoCol, this.refreshFilteredCols);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnsPrepared, this.refreshFilteredCols);\n };\n Data.prototype.getState = function () {\n return this.dataState;\n };\n Data.prototype.setState = function (state) {\n return this.dataState = state;\n };\n Data.prototype.getForeignKeyDataState = function () {\n return this.foreignKeyDataState;\n };\n Data.prototype.setForeignKeyDataState = function (state) {\n this.foreignKeyDataState = state;\n };\n Data.prototype.getStateEventArgument = function (query) {\n var adaptr = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.UrlAdaptor();\n var dm = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager({ url: '', adaptor: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.UrlAdaptor });\n var state = adaptr.processQuery(dm, query);\n var data = JSON.parse(state.data);\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(data, state.pvtData);\n };\n Data.prototype.eventPromise = function (args, query, key) {\n var _this = this;\n var dataArgs = args;\n var state = this.getStateEventArgument(query);\n var def = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Deferred();\n var deff = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Deferred();\n if ((args.requestType !== undefined || (this.parent.groupSettings.disablePageWiseAggregates && query.queries.some(function (query) { return query.fn === 'onGroup'; })))\n && this.dataState.isDataChanged !== false) {\n state.action = args;\n if (args.requestType === 'save' || args.requestType === 'delete' || args.requestType === 'batchsave') {\n var editArgs_1 = args;\n editArgs_1.key = key;\n var promise = 'promise';\n editArgs_1[\"\" + promise] = deff.promise;\n editArgs_1.state = state;\n this.setState({ isPending: true, resolver: deff.resolve });\n dataArgs.endEdit = deff.resolve;\n dataArgs.cancelEdit = deff.reject;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataSourceChanged, editArgs_1);\n deff.promise.then(function () {\n _this.setState({ isPending: true, resolver: def.resolve, group: state.group, aggregates: state.aggregates });\n if (editArgs_1.requestType === 'save') {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.recordAdded, editArgs_1);\n }\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataStateChange, state);\n })\n .catch(function () { return void 0; });\n }\n else {\n this.setState({ isPending: true, resolver: def.resolve, group: state.group, aggregates: state.aggregates });\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataStateChange, state);\n }\n }\n else {\n this.setState({});\n def.resolve(this.parent.dataSource);\n }\n return def;\n };\n /**\n * Gets the columns where searching needs to be performed from the Grid.\n *\n * @returns {string[]} returns the searched column field names\n */\n Data.prototype.getSearchColumnFieldNames = function () {\n var colFieldNames = [];\n var columns = this.parent.getColumns();\n for (var _i = 0, columns_2 = columns; _i < columns_2.length; _i++) {\n var col = columns_2[_i];\n if (col.allowSearching && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.field)) {\n colFieldNames.push(col.field);\n }\n }\n return colFieldNames;\n };\n Data.prototype.refreshFilteredCols = function () {\n if (this.parent.allowFiltering && this.parent.filterSettings.columns.length) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.refreshFilteredColsUid)(this.parent, this.parent.filterSettings.columns);\n }\n };\n return Data;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/detail-row.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/detail-row.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DetailRow: () => (/* binding */ DetailRow)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_grid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/grid */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/grid.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _services_aria_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/aria-service */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * The `DetailRow` module is used to handle detail template and hierarchy Grid operations.\n */\nvar DetailRow = /** @class */ (function () {\n /**\n * Constructor for the Grid detail template module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} locator - specifes the serviceLocator\n * @hidden\n */\n function DetailRow(parent, locator) {\n //Internal variables\n this.aria = new _services_aria_service__WEBPACK_IMPORTED_MODULE_1__.AriaService();\n this.childRefs = [];\n this.parent = parent;\n this.serviceLocator = locator;\n this.focus = locator.getService('focus');\n this.addEventListener();\n }\n /**\n * @returns {void}\n * @hidden\n */\n DetailRow.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'auxclick', this.auxilaryclickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.click, this.clickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.keyPressed, this.keyPressHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.expandChildGrid, this.expand, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnVisibilityChanged, this.refreshColSpan, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroyChildGrids, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroyChildGrid, this.destroyChildGrids, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.detachDetailTemplate, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detachDetailTemplate, this.detachDetailTemplate, this);\n };\n DetailRow.prototype.clickHandler = function (e) {\n if ((e.target.classList.contains('e-icon-grightarrow') || e.target.classList.contains('e-icon-gdownarrow'))\n && !this.parent.allowGrouping) {\n e.preventDefault();\n }\n this.toogleExpandcollapse((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'td'));\n };\n DetailRow.prototype.auxilaryclickHandler = function (e) {\n if ((e.target.classList.contains('e-icon-grightarrow') || e.target.classList.contains('e-icon-gdownarrow'))\n && !this.parent.allowGrouping && (e.button === 1)) {\n e.preventDefault();\n }\n };\n DetailRow.prototype.toogleExpandcollapse = function (target) {\n this.l10n = this.serviceLocator.getService('localization');\n var gObj = this.parent;\n var table = this.parent.getContentTable();\n var lastrowIdx = this.parent.getCurrentViewRecords().length - 1;\n var parent = 'parentDetails';\n var childGrid;\n var isExpanded = target && target.classList.contains('e-detailrowcollapse');\n if (!(target && (target.classList.contains('e-detailrowcollapse') || target.classList.contains('e-detailrowexpand')))\n || (target && target.classList.contains('e-masked-cell'))) {\n return;\n }\n var tr = target.parentElement;\n var uid = tr.getAttribute('data-uid');\n var rowObj = gObj.getRowObjectFromUID(uid);\n var needToRefresh = false;\n var nextRow = this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).children[tr.rowIndex + 1];\n if (target.classList.contains('e-detailrowcollapse')) {\n var data_1 = rowObj.data;\n if (this.isDetailRow(nextRow)) {\n nextRow.style.display = '';\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detailStateChange, { data: data_1,\n childGrid: gObj.childGrid, detailElement: target, isExpanded: isExpanded });\n needToRefresh = true;\n }\n else if (gObj.getDetailTemplate() || gObj.childGrid) {\n var rowId = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getUid)('grid-row');\n var detailRow = this.parent.createElement('tr', { className: 'e-detailrow', attrs: { 'data-uid': rowId, role: 'row' } });\n var detailCell_1 = this.parent.createElement('th', { className: 'e-detailcell', attrs: { 'scope': 'col', role: 'columnheader' } });\n var colSpan = this.parent.getVisibleColumns().length;\n if (this.parent.allowRowDragAndDrop) {\n colSpan++;\n }\n detailCell_1.setAttribute('colspan', colSpan.toString());\n var row = new _models_row__WEBPACK_IMPORTED_MODULE_5__.Row({\n isDataRow: true,\n isExpand: true,\n uid: rowId,\n isDetailRow: true,\n cells: [new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell({ cellType: _base_enum__WEBPACK_IMPORTED_MODULE_7__.CellType.Indent }), new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell({ isDataCell: true, visible: true })]\n });\n row.parentUid = rowObj.uid;\n for (var i = 0, len = gObj.groupSettings.columns.length; i < len; i++) {\n detailRow.appendChild(this.parent.createElement('td', { className: 'e-indentcell' }));\n row.cells.unshift(new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell({ cellType: _base_enum__WEBPACK_IMPORTED_MODULE_7__.CellType.Indent }));\n }\n detailRow.appendChild(this.parent.createElement('th', { className: 'e-detailindentcell', attrs: { 'scope': 'col' } }));\n detailRow.appendChild(detailCell_1);\n tr.parentNode.insertBefore(detailRow, tr.nextSibling);\n var isReactCompiler = void 0;\n var isReactChild = void 0;\n if (gObj.detailTemplate) {\n isReactCompiler = this.parent.isReact && typeof (gObj.detailTemplate) !== 'string' &&\n !(gObj.detailTemplate.prototype && gObj.detailTemplate.prototype.CSPTemplate);\n isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var isReactPrintGrid = this.parent.printGridParent && this.parent.printGridParent.isReact;\n var detailTemplateID = gObj.element.id + 'detailTemplate';\n if (isReactCompiler || isReactChild || isReactPrintGrid) {\n gObj.getDetailTemplate()(data_1, gObj, 'detailTemplate', detailTemplateID, null, null, detailCell_1);\n this.parent.renderTemplates(function () {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detailDataBound, { detailElement: detailCell_1, data: data_1, childGrid: childGrid });\n });\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.appendChildren)(detailCell_1, gObj.getDetailTemplate()(data_1, gObj, 'detailTemplate', detailTemplateID, undefined, undefined, undefined, this.parent['root']));\n }\n }\n else {\n childGrid = new _base_grid__WEBPACK_IMPORTED_MODULE_8__.Grid(this.getGridModel(gObj, rowObj, gObj.printMode));\n childGrid.height = gObj.enableInfiniteScrolling && childGrid.height === 'auto' ? 300 : childGrid.height;\n childGrid.root = gObj.root ? gObj.root : gObj;\n this.childRefs.push(childGrid);\n if (childGrid.query) {\n childGrid.query = childGrid.query.clone();\n }\n childGrid[\"\" + parent] = {\n parentID: gObj.element.id,\n parentPrimaryKeys: gObj.getPrimaryKeyFieldNames(),\n parentKeyField: gObj.childGrid.queryString,\n parentKeyFieldValue: gObj.childGrid.queryString && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isComplexField)(gObj.childGrid.queryString) ?\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getObject)(gObj.childGrid.queryString, data_1) : data_1[gObj.childGrid.queryString],\n parentRowData: data_1\n };\n if (gObj.isReact || gObj.isVue) {\n childGrid.parentDetails.parentInstObj = gObj;\n }\n else if (gObj.parentDetails && gObj.parentDetails.parentInstObj && (gObj.parentDetails.parentInstObj.isReact\n || gObj.parentDetails.parentInstObj.isVue)) {\n childGrid.parentDetails.parentInstObj = gObj.parentDetails.parentInstObj;\n }\n if (gObj.printGridParent && gObj.printGridParent.isReact) {\n childGrid.printGridParent = gObj.printGridParent;\n }\n childGrid.isLegacyTemplate = gObj.isReact\n || gObj.isLegacyTemplate;\n if (gObj.isPrinting) {\n childGrid.isPrinting = true;\n childGrid.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, this.promiseResolve(childGrid), this);\n childGrid.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.onEmpty, this.promiseResolve(childGrid), this);\n }\n rowObj.childGrid = childGrid;\n var modules = childGrid.getInjectedModules();\n var injectedModues = gObj.getInjectedModules();\n if (!modules || modules.length !== injectedModues.length) {\n childGrid.setInjectedModules(injectedModues);\n }\n var gridElem = this.parent.createElement('div', {\n id: 'child' + (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parents)(tr, 'e-grid').length +\n '_grid' + tr.rowIndex + (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getUid)(''), className: 'e-childgrid'\n });\n detailCell_1.appendChild(gridElem);\n childGrid.appendTo(gridElem);\n }\n detailRow.appendChild(detailCell_1);\n if (tr.nextSibling) {\n tr.parentNode.insertBefore(detailRow, tr.nextSibling);\n }\n else {\n tr.parentNode.appendChild(detailRow);\n }\n var rowElems = gObj.getRows();\n var rowObjs = gObj.getRowsObject();\n rowElems.splice(rowElems.indexOf(tr) + 1, 0, detailRow);\n if (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache) {\n var infiniteCache = gObj.contentModule\n .infiniteCache;\n var keys = Object.keys(infiniteCache);\n for (var i = 0; i < keys.length; i++) {\n var cacheIndex = infiniteCache[parseInt(keys[parseInt(i.toString(), 10)], 10)].indexOf(rowObj);\n if (cacheIndex !== -1) {\n infiniteCache[parseInt(keys[parseInt(i.toString(), 10)], 10)].splice(cacheIndex + 1, 0, row);\n break;\n }\n }\n }\n else {\n rowObjs.splice(rowObjs.indexOf(rowObj) + 1, 0, row);\n }\n if (!isReactCompiler || !isReactChild) {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detailDataBound, { detailElement: detailCell_1, data: data_1, childGrid: childGrid });\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detailDataBound, { rows: rowObjs });\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(target, ['e-detailrowexpand'], ['e-detailrowcollapse']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(target.firstElementChild, ['e-dtdiagonaldown', 'e-icon-gdownarrow'], ['e-dtdiagonalright', 'e-icon-grightarrow']);\n rowObj.isExpand = true;\n if (target.classList.contains('e-lastrowcell') && this.parent.getContent().clientHeight > table.scrollHeight) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(target.parentElement.querySelectorAll('td'), 'e-lastrowcell');\n var detailrowIdx = table.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).getElementsByClassName('e-detailrow').length - 1;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(table.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).getElementsByClassName('e-detailrow')[parseInt(detailrowIdx.toString(), 10)].childNodes, ['e-lastrowcell']);\n this.lastrowcell = true;\n }\n this.aria.setExpand(target, true);\n target.firstElementChild.setAttribute('title', this.l10n.getConstant('Expanded'));\n }\n else {\n if (this.isDetailRow(nextRow)) {\n nextRow.style.display = 'none';\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detailStateChange, { data: rowObj.data,\n childGrid: gObj.childGrid, detailElement: target, isExpanded: isExpanded });\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(target, ['e-detailrowcollapse'], ['e-detailrowexpand']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(target.firstElementChild, ['e-dtdiagonalright', 'e-icon-grightarrow'], ['e-dtdiagonaldown', 'e-icon-gdownarrow']);\n if (parseInt(tr.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1 === lastrowIdx && this.lastrowcell) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(target.parentElement.querySelectorAll('td'), 'e-lastrowcell');\n this.lastrowcell = false;\n }\n rowObj.isExpand = false;\n needToRefresh = true;\n this.aria.setExpand(target, false);\n target.firstElementChild.setAttribute('title', this.l10n.getConstant('Collapsed'));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.detailTemplate) || (gObj.childGrid && needToRefresh)) {\n gObj.updateVisibleExpandCollapseRows();\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshExpandandCollapse, { rows: gObj.getRowsObject() });\n }\n if (this.parent.allowTextWrap && this.parent.height === 'auto') {\n if (this.parent.getContentTable().scrollHeight > this.parent.getContent().clientHeight) {\n this.parent.scrollModule.setPadding();\n }\n else {\n this.parent.scrollModule.removePadding();\n }\n }\n };\n /**\n * @hidden\n * @param {IGrid} gObj - specifies the grid Object\n * @param {Row}rowObj - specifies the row object\n * @param {string} printMode - specifies the printmode\n * @returns {Object} returns the object\n */\n DetailRow.prototype.getGridModel = function (gObj, rowObj, printMode) {\n var gridModel;\n if (gObj.isPrinting && rowObj.isExpand && gObj.expandedRows &&\n gObj.expandedRows[rowObj.index] && gObj.expandedRows[rowObj.index].gridModel) {\n gObj.expandedRows[rowObj.index].gridModel.hierarchyPrintMode = gObj.childGrid.hierarchyPrintMode;\n gridModel = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, gObj.expandedRows[rowObj.index].gridModel, gObj.childGrid, true);\n }\n else {\n if (gObj.isPrinting && gObj.childGrid.allowPaging) {\n gObj.childGrid.allowPaging = printMode === 'CurrentPage';\n }\n gridModel = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, gObj.childGrid, true);\n }\n return gridModel;\n };\n DetailRow.prototype.promiseResolve = function (grid) {\n var _this = this;\n return function () {\n grid.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, _this.promiseResolve);\n grid.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.onEmpty, _this.promiseResolve);\n grid.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.hierarchyPrint, {});\n };\n };\n DetailRow.prototype.isDetailRow = function (row) {\n return row && row.classList.contains('e-detailrow');\n };\n DetailRow.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (this.parent.isDestroyed || !gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridHeader) &&\n !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridContent))) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'auxclick', this.auxilaryclickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.click, this.clickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.keyPressed, this.keyPressHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.expandChildGrid, this.expand);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnVisibilityChanged, this.refreshColSpan);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroyChildGrids);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroyChildGrid, this.destroyChildGrids);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.detachDetailTemplate);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detachDetailTemplate, this.detachDetailTemplate);\n };\n DetailRow.prototype.getTDfromIndex = function (index, className) {\n var tr = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? this.parent.getDataRows()[parseInt(index.toString(), 10)] : undefined;\n if (tr && tr.querySelector(className)) {\n return tr.querySelector(className);\n }\n return null;\n };\n /**\n * Expands a detail row with the given target.\n *\n * @param {Element} target - Defines the collapsed element to expand.\n * @returns {void}\n */\n DetailRow.prototype.expand = function (target) {\n if (!isNaN(target)) {\n target = this.getTDfromIndex(target, '.e-detailrowcollapse');\n }\n if (target && target.classList.contains('e-detailrowcollapse')) {\n this.toogleExpandcollapse(target);\n }\n };\n /**\n * Collapses a detail row with the given target.\n *\n * @param {Element} target - Defines the expanded element to collapse.\n * @returns {void}\n */\n DetailRow.prototype.collapse = function (target) {\n if (!isNaN(target)) {\n target = this.getTDfromIndex(target, '.e-detailrowexpand');\n }\n if (target && target.classList.contains('e-detailrowexpand')) {\n this.toogleExpandcollapse(target);\n }\n };\n /**\n * Expands all the detail rows of the Grid.\n *\n * @returns {void}\n */\n DetailRow.prototype.expandAll = function () {\n this.expandCollapse(true);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, { requestType: 'expandAllComplete', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, moduleObj: this });\n };\n /**\n * Collapses all the detail rows of the Grid.\n *\n * @returns {void}\n */\n DetailRow.prototype.collapseAll = function () {\n this.expandCollapse(false);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, { requestType: 'collapseAllComplete', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, moduleObj: this });\n };\n DetailRow.prototype.expandCollapse = function (isExpand) {\n var td;\n var rows = this.parent.getDataRows();\n for (var i = 0, len = rows.length; i < len; i++) {\n td = rows[parseInt(i.toString(), 10)].querySelector('.e-detailrowcollapse, .e-detailrowexpand');\n if (isExpand) {\n this.expand(td);\n }\n else {\n this.collapse(td);\n }\n }\n };\n DetailRow.prototype.keyPressHandler = function (e) {\n var gObj = this.parent;\n var isMacLike = /(Mac)/i.test(navigator.platform);\n if (isMacLike && e.metaKey) {\n if (e.action === 'downArrow') {\n e.action = 'ctrlDownArrow';\n }\n else if (e.action === 'upArrow') {\n e.action = 'ctrlUpArrow';\n }\n }\n switch (e.action) {\n case 'ctrlDownArrow':\n this.expandAll();\n break;\n case 'ctrlUpArrow':\n this.collapseAll();\n break;\n case 'altUpArrow':\n case 'altDownArrow':\n // eslint-disable-next-line no-case-declarations\n var selected = gObj.allowSelection ? gObj.getSelectedRowIndexes() : [];\n if (selected.length) {\n var dataRow = gObj.getDataRows()[selected[selected.length - 1]];\n var td = dataRow.querySelector('.e-detailrowcollapse, .e-detailrowexpand');\n if (e.action === 'altDownArrow') {\n this.expand(td);\n }\n else {\n this.collapse(td);\n }\n }\n break;\n case 'enter':\n if (this.parent.isEdit) {\n return;\n }\n // eslint-disable-next-line no-case-declarations\n var element = this.focus.getFocusedElement();\n if (element && (element.classList.contains('e-icon-grightarrow') || element.classList.contains('e-icon-gdownarrow'))) {\n element = element.parentElement;\n }\n if (element && !element.classList.contains('e-detailrowcollapse') &&\n !element.classList.contains('e-detailrowexpand')) {\n break;\n }\n this.toogleExpandcollapse(element);\n break;\n }\n };\n DetailRow.prototype.refreshColSpan = function () {\n var detailrows = this.parent.contentModule.getTable().querySelectorAll('tr.e-detailrow');\n var colSpan = this.parent.getVisibleColumns().length;\n for (var i = 0; i < detailrows.length; i++) {\n detailrows[parseInt(i.toString(), 10)].querySelector('.e-detailcell').setAttribute('colspan', colSpan + '');\n }\n };\n DetailRow.prototype.destroyChildGrids = function (args) {\n var gObj = this.parent;\n if (gObj.enableInfiniteScrolling && (gObj.childGrid || gObj.detailTemplate) && args.requestType === 'infiniteScroll'\n && gObj.infiniteScrollSettings.enableCache) {\n var cacheIndex = args.direction === 'down'\n ? args.currentPage - gObj.infiniteScrollSettings.initialBlocks\n : args.currentPage + gObj.infiniteScrollSettings.initialBlocks;\n var infiniteCache_1 = gObj.contentModule\n .infiniteCache[parseInt(cacheIndex.toString(), 10)];\n var detailRows_1 = infiniteCache_1.filter(function (data) { return data.isDetailRow && data.parentUid; });\n if (gObj.childGrid) {\n var _loop_1 = function (i) {\n var detailRow = gObj.getContentTable()\n .querySelector('[data-uid=\"' + detailRows_1[parseInt(i.toString(), 10)].uid + '\"]');\n var childGridElement = detailRow.querySelector('.e-childgrid');\n var childGridIndex = this_1.childRefs.findIndex(function (grid) { return grid.element.id === childGridElement.id; });\n if (!this_1.childRefs[parseInt(childGridIndex.toString(), 10)].isDestroyed) {\n this_1.childRefs[parseInt(childGridIndex.toString(), 10)].destroy();\n this_1.childRefs.splice(childGridIndex, 1);\n }\n var detailRowIndex = infiniteCache_1.indexOf(detailRows_1[parseInt(i.toString(), 10)]);\n infiniteCache_1.splice(detailRowIndex, 1);\n infiniteCache_1[detailRowIndex - 1].childGrid = null;\n infiniteCache_1[detailRowIndex - 1].isExpand = false;\n detailRow.remove();\n };\n var this_1 = this;\n for (var i = 0; i < detailRows_1.length; i++) {\n _loop_1(i);\n }\n }\n if (gObj.detailTemplate && detailRows_1.length) {\n var args_1 = [];\n var _loop_2 = function (i) {\n args_1.push({\n detailRow: gObj.getContentTable().querySelector('[data-uid=\"' + detailRows_1[parseInt(i.toString(), 10)].uid + '\"]'),\n detailRowObject: detailRows_1[parseInt(i.toString(), 10)],\n parentRowObject: infiniteCache_1.find(function (parent) { return detailRows_1[parseInt(i.toString(), 10)]\n .parentUid === parent.uid; })\n });\n };\n for (var i = 0; i < detailRows_1.length; i++) {\n _loop_2(i);\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.beforeDetailTemplateDetach, args_1, function () {\n for (var i = 0; i < detailRows_1.length; i++) {\n var detailRow = gObj.getContentTable()\n .querySelector('[data-uid=\"' + detailRows_1[parseInt(i.toString(), 10)].uid + '\"]');\n var detailRowIndex = infiniteCache_1.indexOf(detailRows_1[parseInt(i.toString(), 10)]);\n infiniteCache_1.splice(detailRowIndex, 1);\n infiniteCache_1[detailRowIndex - 1].isExpand = false;\n detailRow.remove();\n }\n });\n }\n return;\n }\n var rows = this.parent.getRowsObject();\n for (var i = 0; i < rows.length; i++) {\n rows[parseInt(i.toString(), 10)].childGrid = null;\n }\n for (var i = 0; i < this.childRefs.length; i++) {\n if (!this.childRefs[parseInt(i.toString(), 10)].isDestroyed) {\n this.childRefs[parseInt(i.toString(), 10)].destroy();\n }\n }\n this.childRefs = [];\n };\n DetailRow.prototype.detachDetailTemplate = function () {\n var gObj = this.parent;\n if (gObj.detailTemplate) {\n var rowsObject_1 = gObj.getRowsObject();\n var detailRows_2 = rowsObject_1.filter(function (data) { return data.isDetailRow && data.parentUid; });\n if (detailRows_2.length) {\n var args_2 = [];\n detailRows_2.map(function (data) {\n args_2.push({\n detailRow: gObj.getContentTable().querySelector('[data-uid=\"' + data.uid + '\"]'),\n detailRowObject: data,\n parentRowObject: rowsObject_1.find(function (parent) { return data.parentUid === parent.uid; })\n });\n });\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.beforeDetailTemplateDetach, args_2, function () {\n detailRows_2.map(function (data) {\n gObj.getContentTable().querySelector('[data-uid=\"' + data.uid + '\"]').remove();\n });\n });\n }\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n DetailRow.prototype.getModuleName = function () {\n return 'detailRow';\n };\n return DetailRow;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/detail-row.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/dialog-edit.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/dialog-edit.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DialogEdit: () => (/* binding */ DialogEdit)\n/* harmony export */ });\n/* harmony import */ var _normal_edit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normal-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n/**\n * `DialogEdit` module is used to handle dialog editing actions.\n *\n * @hidden\n */\nvar DialogEdit = /** @class */ (function (_super) {\n __extends(DialogEdit, _super);\n function DialogEdit(parent, serviceLocator, renderer) {\n var _this = \n //constructor\n _super.call(this, parent, serviceLocator) || this;\n _this.parent = parent;\n _this.serviceLocator = serviceLocator;\n _this.renderer = renderer;\n return _this;\n }\n DialogEdit.prototype.closeEdit = function () {\n //closeEdit\n _super.prototype.closeEdit.call(this);\n };\n DialogEdit.prototype.addRecord = function (data, index) {\n //addRecord\n _super.prototype.addRecord.call(this, data, index);\n };\n DialogEdit.prototype.endEdit = function () {\n //endEdit\n _super.prototype.endEdit.call(this);\n };\n DialogEdit.prototype.updateRow = function (index, data) {\n _super.prototype.updateRow.call(this, index, data);\n };\n DialogEdit.prototype.deleteRecord = function (fieldname, data) {\n //deleteRecord\n _super.prototype.deleteRecord.call(this, fieldname, data);\n };\n DialogEdit.prototype.startEdit = function (tr) {\n _super.prototype.startEdit.call(this, tr);\n };\n return DialogEdit;\n}(_normal_edit__WEBPACK_IMPORTED_MODULE_0__.NormalEdit));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/dialog-edit.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/edit.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/edit.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Edit: () => (/* binding */ Edit)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _renderer_edit_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../renderer/edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.js\");\n/* harmony import */ var _renderer_boolean_edit_cell__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../renderer/boolean-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.js\");\n/* harmony import */ var _renderer_dropdown_edit_cell__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../renderer/dropdown-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.js\");\n/* harmony import */ var _renderer_numeric_edit_cell__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../renderer/numeric-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.js\");\n/* harmony import */ var _renderer_default_edit_cell__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../renderer/default-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.js\");\n/* harmony import */ var _inline_edit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inline-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/inline-edit.js\");\n/* harmony import */ var _batch_edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./batch-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.js\");\n/* harmony import */ var _dialog_edit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dialog-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/dialog-edit.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.js\");\n/* harmony import */ var _renderer_datepicker_edit_cell__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../renderer/datepicker-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _renderer_template_edit_cell__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../renderer/template-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/template-edit-cell.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The `Edit` module is used to handle editing actions.\n */\nvar Edit = /** @class */ (function () {\n /**\n * Constructor for the Grid editing module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the servicelocator\n * @hidden\n */\n function Edit(parent, serviceLocator) {\n /** @hidden */\n this.isShowAddedRowValidate = false;\n this.editType = { 'Inline': _inline_edit__WEBPACK_IMPORTED_MODULE_1__.InlineEdit, 'Normal': _inline_edit__WEBPACK_IMPORTED_MODULE_1__.InlineEdit, 'Batch': _batch_edit__WEBPACK_IMPORTED_MODULE_2__.BatchEdit, 'Dialog': _dialog_edit__WEBPACK_IMPORTED_MODULE_3__.DialogEdit };\n this.fieldname = '';\n this.data = {};\n /* @hidden */\n this.editCellDialogClose = false;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.l10n = this.serviceLocator.getService('localization');\n this.addEventListener();\n this.updateEditObj();\n this.createAlertDlg();\n this.createConfirmDlg();\n }\n Edit.prototype.updateColTypeObj = function () {\n var cols = this.parent.columnModel;\n for (var i = 0; i < cols.length; i++) {\n if (this.parent.editSettings.template || cols[parseInt(i.toString(), 10)].editTemplate) {\n var templteCell = 'templateedit';\n cols[parseInt(i.toString(), 10)].edit = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(new Edit.editCellType[\"\" + templteCell](this.parent), cols[parseInt(i.toString(), 10)].edit || {});\n }\n else {\n cols[parseInt(i.toString(), 10)].edit = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(new Edit.editCellType[cols[parseInt(i.toString(), 10)].editType\n && Edit.editCellType[cols[parseInt(i.toString(), 10)].editType] ?\n cols[parseInt(i.toString(), 10)].editType : 'defaultedit'](this.parent, this.serviceLocator), cols[parseInt(i.toString(), 10)].edit || {});\n }\n }\n this.parent.log('primary_column_missing');\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Edit.prototype.getModuleName = function () {\n return 'edit';\n };\n /**\n * @param {NotifyArgs} e - specifies the notifyargs\n * @returns {void}\n * @hidden\n */\n Edit.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n var gObj = this.parent;\n for (var _i = 0, _a = Object.keys(e.properties); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'allowAdding':\n case 'allowDeleting':\n case 'allowEditing':\n if (gObj.editSettings.allowAdding || gObj.editSettings.allowEditing || gObj.editSettings.allowDeleting) {\n this.initialEnd();\n }\n break;\n case 'mode':\n this.updateEditObj();\n gObj.isEdit = gObj.editSettings.showAddNewRow ? true : false;\n gObj.refresh();\n break;\n }\n }\n };\n Edit.prototype.updateEditObj = function () {\n if (this.editModule) {\n this.editModule.destroy();\n }\n this.renderer = new _renderer_edit_renderer__WEBPACK_IMPORTED_MODULE_4__.EditRender(this.parent, this.serviceLocator);\n this.editModule = new this.editType[this.parent.editSettings.mode](this.parent, this.serviceLocator, this.renderer);\n };\n Edit.prototype.initialEnd = function () {\n this.updateColTypeObj();\n };\n /**\n * Edits any bound record in the Grid by TR element.\n *\n * @param {HTMLTableRowElement} tr - Defines the table row to be edited.\n * @returns {void}\n */\n Edit.prototype.startEdit = function (tr) {\n var gObj = this.parent;\n if (!gObj.editSettings.allowEditing || (gObj.isEdit && (!gObj.editSettings.showAddNewRow ||\n (gObj.editSettings.showAddNewRow && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.editedRow)))))\n || gObj.editSettings.mode === 'Batch') {\n return;\n }\n this.parent.element.classList.add('e-editing');\n if (!gObj.getSelectedRows().length || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getRowByIndex(parseInt(this.parent.getSelectedRows()[0].getAttribute('aria-rowindex'), 10) - 1))) {\n if (!tr) {\n this.showDialog('EditOperationAlert', this.alertDObj);\n return;\n }\n }\n else if (!tr) {\n tr = gObj.getSelectedRows()[0];\n }\n if (this.parent.enableVirtualization && this.parent.editSettings.mode === 'Normal') {\n var idx = parseInt(tr.getAttribute('aria-rowindex'), 10) - 1;\n tr = this.parent.getRowByIndex(idx);\n }\n var lastTr = gObj.getContent().querySelector('tr:last-child');\n var hdrTbody = gObj.getHeaderContent().querySelector('tbody');\n if (gObj.frozenRows && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(lastTr) && hdrTbody && hdrTbody.querySelector('tr:last-child')) {\n this.isLastRow = tr.rowIndex === parseInt(gObj.getHeaderContent().querySelector('tbody').querySelector('tr:last-child').getAttribute('aria-rowindex'), 10) - 1;\n }\n else if (lastTr) {\n this.isLastRow = tr.rowIndex === lastTr.rowIndex;\n }\n if (tr.style.display === 'none') {\n return;\n }\n this.editModule.startEdit(tr);\n this.refreshToolbar();\n gObj.element.querySelector('.e-gridpopup').style.display = 'none';\n this.parent.notify('start-edit', {});\n if (gObj.editSettings.showAddNewRow) {\n this.destroyToolTip();\n }\n };\n /**\n * @param {Element} tr - specifies the tr element\n * @param {object} args - specifies the object\n * @param {Element} args.row -specfifes the row\n * @param {string} args.requestType - specifies the request type\n * @returns {void}\n * @hidden\n */\n Edit.prototype.checkLastRow = function (tr, args) {\n var checkLastRow = this.isLastRow;\n if (this.parent.height !== 'auto' && this.parent.editSettings.newRowPosition === 'Bottom' && args && args.requestType === 'add' &&\n this.parent.getContent().firstElementChild.offsetHeight > this.parent.getContentTable().scrollHeight) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([].slice.call(tr.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.rowCell)), 'e-lastrowadded');\n }\n else if (checkLastRow && tr && tr.classList) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([].slice.call(tr.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.rowCell)), 'e-lastrowcell');\n }\n };\n /**\n * Cancels edited state.\n *\n * @returns {void}\n */\n Edit.prototype.closeEdit = function () {\n if (this.parent.editSettings.mode === 'Batch' && this.parent.editSettings.showConfirmDialog\n && this.parent.element.getElementsByClassName('e-updatedtd').length) {\n this.showDialog('CancelEdit', this.dialogObj);\n return;\n }\n this.parent.element.classList.remove('e-editing');\n this.editModule.closeEdit();\n this.refreshToolbar();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_6__.closeEdit, { requestType: 'cancel' });\n if (this.parent.editSettings.showAddNewRow) {\n this.destroyToolTip();\n }\n };\n Edit.prototype.refreshToolbar = function () {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_6__.toolbarRefresh, {});\n };\n /**\n * To adds a new row at the top with the given data. When data is not passed, it will add empty rows.\n * > `editSettings.allowEditing` should be true.\n *\n * @param {Object} data - Defines the new add record data.\n * @param {number} index - Defines the row index to be added\n * @returns {void}\n */\n Edit.prototype.addRecord = function (data, index) {\n if (!this.parent.editSettings.allowAdding) {\n return;\n }\n var args = { startEdit: true };\n if (!data) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_6__.virtualScrollAddActionBegin, args);\n }\n if (args.startEdit) {\n this.parent.element.classList.add('e-editing');\n this.editModule.addRecord(data, index);\n this.refreshToolbar();\n this.parent.notify('start-add', {});\n }\n };\n /**\n * Deletes a record with the given options. If fieldname and data are not given, the Grid will delete the selected record.\n * > `editSettings.allowDeleting` should be true.\n *\n * @param {string} fieldname - Defines the primary key field name of the column.\n * @param {Object} data - Defines the JSON data record to be deleted.\n * @returns {void}\n */\n Edit.prototype.deleteRecord = function (fieldname, data) {\n var gObj = this.parent;\n if (!gObj.editSettings.allowDeleting) {\n return;\n }\n if (!data) {\n if (!gObj.getSelectedRecords().length && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.commandDelIndex)) {\n this.showDialog('DeleteOperationAlert', this.alertDObj);\n return;\n }\n }\n if (gObj.editSettings.showDeleteConfirmDialog) {\n this.fieldname = fieldname;\n this.data = data;\n this.showDialog('ConfirmDelete', this.dialogObj);\n return;\n }\n this.editModule.deleteRecord(fieldname, data);\n };\n /**\n * Deletes a visible row by TR element.\n *\n * @param {HTMLTableRowElement} tr - Defines the table row element.\n * @returns {void}\n */\n Edit.prototype.deleteRow = function (tr) {\n this.deleteRowUid = tr.getAttribute('data-uid');\n var rowObj = this.parent.getRowObjectFromUID(this.deleteRowUid);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowObj)) {\n this.deleteRecord(null, rowObj.data);\n }\n };\n /**\n * If Grid is in editable state, you can save a record by invoking endEdit.\n *\n * @returns {void}\n */\n Edit.prototype.endEdit = function () {\n if (this.parent.editSettings.mode === 'Batch' && this.parent.editSettings.showConfirmDialog &&\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formObj) || this.formObj.validate())) {\n this.parent.editModule.saveCell();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_6__.editNextValCell, {});\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formObj) || this.formObj.validate()) {\n this.showDialog('BatchSaveConfirm', this.dialogObj);\n return;\n }\n }\n this.endEditing();\n };\n /**\n * To update the specified cell by given value without changing into edited state.\n *\n * @param {number} rowIndex Defines the row index.\n * @param {string} field Defines the column field.\n * @param {string | number | boolean | Date} value - Defines the value to be changed.\n * @returns {void}\n */\n Edit.prototype.updateCell = function (rowIndex, field, value) {\n this.editModule.updateCell(rowIndex, field, value);\n };\n /**\n * To update the specified row by given values without changing into edited state.\n *\n * @param {number} index Defines the row index.\n * @param {Object} data Defines the data object to be updated.\n * @returns {void}\n */\n Edit.prototype.updateRow = function (index, data) {\n this.editModule.updateRow(index, data);\n };\n /**\n * Resets added, edited, and deleted records in the batch mode.\n *\n * @returns {void}\n */\n Edit.prototype.batchCancel = function () {\n this.closeEdit();\n };\n /**\n * Bulk saves added, edited, and deleted records in the batch mode.\n *\n * @returns {void}\n */\n Edit.prototype.batchSave = function () {\n this.endEdit();\n };\n /**\n * Changes a particular cell into edited state based on the row index and field name provided in the `batch` mode.\n *\n * @param {number} index - Defines row index to edit a particular cell.\n * @param {string} field - Defines the field name of the column to perform batch edit.\n * @returns {void}\n */\n Edit.prototype.editCell = function (index, field) {\n this.editModule.editCell(index, field);\n };\n /**\n * Checks the status of validation at the time of editing. If validation is passed, it returns true.\n *\n * @returns {boolean} returns whether the form is validated\n */\n Edit.prototype.editFormValidate = function () {\n return this.formObj ? this.formObj.validate() : true;\n };\n /**\n * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.\n *\n * @returns {Object} returns the Object\n */\n Edit.prototype.getBatchChanges = function () {\n return this.editModule.getBatchChanges ? this.editModule.getBatchChanges() : {};\n };\n /**\n * Gets the current value of the edited component.\n *\n * @returns {Object} returns the Object\n */\n Edit.prototype.getCurrentEditCellData = function () {\n var obj = this.getCurrentEditedData(this.formObj.element, {});\n return obj[Object.keys(obj)[0]];\n };\n /**\n * Saves the cell that is currently edited. It does not save the value to the DataSource.\n *\n * @returns {void}\n */\n Edit.prototype.saveCell = function () {\n this.editModule.saveCell();\n };\n Edit.prototype.endEditing = function () {\n if (!this.parent.editSettings.showAddNewRow) {\n this.parent.element.classList.remove('e-editing');\n }\n this.editModule.endEdit();\n this.isShowAddedRowValidate = false;\n this.refreshToolbar();\n };\n Edit.prototype.showDialog = function (content, obj) {\n obj.content = '
      ' + this.l10n.getConstant(content) + '
      ';\n obj.dataBind();\n obj.show();\n if (this.parent.enableRtl) {\n obj.refresh();\n }\n };\n Edit.prototype.getValueFromType = function (col, value) {\n var val = value;\n switch (col.type) {\n case 'number':\n val = !isNaN(parseFloat(value)) ? parseFloat(value) : null;\n break;\n case 'boolean':\n if (col.editType !== 'booleanedit') {\n val = value === this.l10n.getConstant('True') || value === true ? true : false;\n }\n break;\n case 'date':\n case 'datetime':\n if (col.editType !== 'datepickeredit' && col.editType !== 'datetimepickeredit'\n && value && value.length) {\n val = new Date(value);\n }\n else if (value === '') {\n val = null;\n }\n break;\n case 'dateonly':\n // eslint-disable-next-line no-cond-assign\n val = value && (value = new Date(value)) ?\n value.getFullYear() + '-' + (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.padZero)(value.getMonth() + 1) + '-' + (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.padZero)(value.getDate()) : null;\n break;\n }\n return val;\n };\n Edit.prototype.destroyToolTip = function () {\n var elements = [].slice.call(this.parent.element.getElementsByClassName('e-griderror'));\n for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {\n var elem = elements_1[_i];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n }\n this.parent.getContent().firstElementChild.style.position = 'relative';\n if (this.parent.isFrozenGrid()) {\n if (this.parent.element.querySelector('.e-gridheader')) {\n this.parent.element.querySelector('.e-gridheader').style.position = '';\n }\n this.parent.element.querySelector('.e-gridcontent').style.position = '';\n }\n };\n Edit.prototype.createConfirmDlg = function () {\n this.dialogObj = this.dlgWidget([\n {\n click: this.dlgOk.bind(this),\n buttonModel: { content: this.l10n.getConstant('OKButton'),\n cssClass: this.parent.cssClass ? 'e-primary' + ' ' + this.parent.cssClass : 'e-primary',\n isPrimary: true }\n },\n {\n click: this.dlgCancel.bind(this),\n buttonModel: { cssClass: this.parent.cssClass ? 'e-flat' + ' ' + this.parent.cssClass : 'e-flat',\n content: this.l10n.getConstant('CancelButton') }\n }\n ], 'EditConfirm');\n };\n Edit.prototype.createAlertDlg = function () {\n this.alertDObj = this.dlgWidget([\n {\n click: this.alertClick.bind(this),\n buttonModel: { content: this.l10n.getConstant('OKButton'),\n cssClass: this.parent.cssClass ? 'e-flat' + ' ' + this.parent.cssClass : 'e-flat',\n isPrimary: true }\n }\n ], 'EditAlert');\n };\n Edit.prototype.alertClick = function () {\n this.alertDObj.hide();\n };\n Edit.prototype.dlgWidget = function (btnOptions, name) {\n var div = this.parent.createElement('div', { id: this.parent.element.id + name });\n this.parent.element.appendChild(div);\n var options = {\n showCloseIcon: false,\n isModal: true,\n visible: false,\n closeOnEscape: true,\n target: this.parent.element,\n width: '320px',\n animationSettings: { effect: 'None' },\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n };\n options.buttons = btnOptions;\n var obj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__.Dialog(options);\n var isStringTemplate = 'isStringTemplate';\n obj[\"\" + isStringTemplate] = true;\n obj.appendTo(div);\n return obj;\n };\n Edit.prototype.dlgCancel = function () {\n if (this.parent.pagerModule) {\n this.parent.pagerModule.isForceCancel = false;\n }\n this.parent.focusModule.clearIndicator();\n this.dialogObj.hide();\n this.parent.focusModule.restoreFocus({ requestType: 'cancel' });\n this.parent.notify('cancelcnfrmDlg', {});\n };\n Edit.prototype.dlgOk = function () {\n switch (this.dialogObj.element.querySelector('.e-dlg-content').firstElementChild.innerText) {\n case this.l10n.getConstant('ConfirmDelete'):\n this.editModule.deleteRecord(this.fieldname, this.data);\n if (this.parent.editSettings.showDeleteConfirmDialog && !this.parent.allowSelection) {\n this.parent.commandDelIndex = undefined;\n }\n break;\n case this.l10n.getConstant('CancelEdit'):\n this.editModule.closeEdit();\n break;\n case this.l10n.getConstant('BatchSaveConfirm'):\n this.endEditing();\n break;\n case this.l10n.getConstant('BatchSaveLostChanges'):\n if (this.parent.editSettings.mode === 'Batch') {\n this.editModule.addCancelWhilePaging();\n }\n if (this.parent.pagerModule) {\n this.parent.pagerModule.isForceCancel = false;\n }\n this.executeAction();\n break;\n }\n this.dlgCancel();\n };\n Edit.prototype.destroyEditComponents = function () {\n if (this.parent.isEdit) {\n this.destroyWidgets();\n this.destroyForm();\n }\n this.destroy();\n };\n /**\n * @returns {void}\n * @hidden\n */\n Edit.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.eventDetails = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.inBoundModelChanged, handler: this.onPropertyChanged },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.initialEnd, handler: this.initialEnd },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.keyPressed, handler: this.keyPressHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.autoCol, handler: this.updateColTypeObj },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.tooltipDestroy, handler: this.destroyToolTip },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.preventBatch, handler: this.preventBatch },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.destroyForm, handler: this.destroyForm },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_6__.destroy, handler: this.destroyEditComponents }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.addRemoveEventListener)(this.parent, this.eventDetails, true, this);\n this.actionBeginFunction = this.onActionBegin.bind(this);\n this.actionCompleteFunction = this.actionComplete.bind(this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_6__.destroyEditForm, this.actionBeginFunction);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_6__.actionComplete, this.actionCompleteFunction);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Edit.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.addRemoveEventListener)(this.parent, this.eventDetails, false);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_6__.actionComplete, this.actionCompleteFunction);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_6__.destroyEditForm, this.actionBeginFunction);\n };\n Edit.prototype.actionComplete = function (e) {\n var actions = ['add', 'beginEdit', 'save', 'delete', 'cancel', 'filterAfterOpen', 'filterchoicerequest'];\n if (actions.indexOf(e.requestType) < 0) {\n this.parent.isEdit = this.parent.editSettings.showAddNewRow ? true : false;\n }\n if (e.requestType === 'batchsave') {\n this.parent.focusModule.restoreFocus({ requestType: 'save' });\n }\n this.refreshToolbar();\n };\n /**\n * @param {Element} form - specifies the element\n * @param {Object} editedData - specifies the edited data\n * @returns {Object} returns the object\n * @hidden\n */\n Edit.prototype.getCurrentEditedData = function (form, editedData) {\n var gObj = this.parent;\n if (gObj.editSettings.template) {\n var elements = [].slice.call(form.elements);\n for (var k = 0; k < elements.length; k++) {\n if (((elements[parseInt(k.toString(), 10)].hasAttribute('name') && (elements[parseInt(k.toString(), 10)].className !== 'e-multi-hidden')) ||\n elements[parseInt(k.toString(), 10)].classList.contains('e-multiselect')) && !(elements[parseInt(k.toString(), 10)].type === 'hidden' &&\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(elements[parseInt(k.toString(), 10)], 'e-switch-wrapper') || (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(elements[parseInt(k.toString(), 10)], 'e-checkbox-wrapper')))) {\n var field = (elements[parseInt(k.toString(), 10)].hasAttribute('name')) ? (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.setComplexFieldID)(elements[parseInt(k.toString(), 10)].getAttribute('name')) :\n (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.setComplexFieldID)(elements[parseInt(k.toString(), 10)].getAttribute('id'));\n var column = gObj.getColumnByField(field) || { field: field, type: elements[parseInt(k.toString(), 10)].getAttribute('type') };\n var value = void 0;\n if (column.type === 'checkbox' || column.type === 'boolean') {\n value = elements[parseInt(k.toString(), 10)].checked;\n }\n else if (elements[parseInt(k.toString(), 10)].value) {\n value = elements[parseInt(k.toString(), 10)].value;\n if (elements[parseInt(k.toString(), 10)].ej2_instances &&\n elements[parseInt(k.toString(), 10)].ej2_instances.length &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(elements[parseInt(k.toString(), 10)].ej2_instances[0].value)) {\n elements[parseInt(k.toString(), 10)].blur();\n value = elements[parseInt(k.toString(), 10)]\n .ej2_instances[0].value;\n }\n }\n else if (elements[parseInt(k.toString(), 10)].ej2_instances) {\n value = elements[parseInt(k.toString(), 10)]\n .ej2_instances[0].value;\n }\n if (column.edit && typeof column.edit.read === 'string') {\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.edit.read, window)(elements[parseInt(k.toString(), 10)], value);\n }\n else if (column.edit && column.edit.read) {\n value = column.edit.read(elements[parseInt(k.toString(), 10)], value);\n }\n value = gObj.editModule.getValueFromType(column, value);\n if (elements[parseInt(k.toString(), 10)].type === 'radio') {\n if (elements[parseInt(k.toString(), 10)].checked) {\n _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.setValue(column.field, value, editedData);\n }\n }\n else {\n if (typeof value === 'string') {\n this.parent.sanitize(value);\n }\n _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.setValue(column.field, value, editedData);\n }\n }\n }\n return editedData;\n }\n var col = gObj.columnModel.filter(function (col) { return col.editTemplate; });\n for (var j = 0; j < col.length; j++) {\n if (form[(0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getComplexFieldID)(col[parseInt(j.toString(), 10)].field)]) {\n var inputElements = [].slice.call(form[(0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getComplexFieldID)(col[parseInt(j.toString(), 10)].field)])\n .filter(function (element) { return element.tagName.toLowerCase() === 'input'; });\n inputElements = inputElements.length ? inputElements : [form[(0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getComplexFieldID)(col[parseInt(j.toString(), 10)].field)]];\n var temp = inputElements.filter(function (e) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((e.ej2_instances));\n });\n if (temp.length === 0) {\n temp = inputElements.filter(function (e) { return e.hasAttribute('name'); });\n }\n for (var k = 0; k < temp.length; k++) {\n var value = this.getValue(col[parseInt(j.toString(), 10)], temp[parseInt(k.toString(), 10)], editedData);\n if (col[parseInt(j.toString(), 10)].type === 'string') {\n value = this.parent.sanitize(value);\n }\n _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.setValue(col[parseInt(j.toString(), 10)].field, value, editedData);\n }\n }\n }\n var inputs = [].slice.call(form.getElementsByClassName('e-field'));\n for (var i = 0, len = inputs.length; i < len; i++) {\n var col_1 = gObj.getColumnByUid(inputs[parseInt(i.toString(), 10)].getAttribute('e-mappinguid'));\n if (col_1 && col_1.field) {\n var value = this.getValue(col_1, inputs[parseInt(i.toString(), 10)], editedData);\n if (col_1.type === 'string' && !(col_1.isForeignColumn() && typeof value !== 'string')) {\n value = this.parent.sanitize(value);\n }\n _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.setValue(col_1.field, value, editedData);\n }\n }\n return editedData;\n };\n Edit.prototype.getValue = function (col, input, editedData) {\n var value = input.ej2_instances ?\n input.ej2_instances[0].value : input.value;\n var gObj = this.parent;\n var temp = col.edit.read;\n if (col.type === 'checkbox' || col.type === 'boolean') {\n value = input.checked;\n }\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n value = gObj.editModule.getValueFromType(col, (temp)(input, value));\n }\n else {\n value = gObj.editModule.getValueFromType(col, col.edit.read(input, value));\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(editedData[col.field]) && value === '') {\n value = editedData[col.field];\n }\n return value;\n };\n /**\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Edit.prototype.onActionBegin = function (e) {\n if ((e.requestType === 'columnstate' || (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache\n && e.requestType === 'sorting')) && this.parent.isEdit && this.parent.editSettings.mode !== 'Batch') {\n this.closeEdit();\n }\n else {\n var editRow = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.editedRow);\n var addRow = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.addedRow);\n if (editRow && this.parent.frozenRows && e.requestType === 'virtualscroll'\n && parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(editRow, _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.row).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex), 10) - 1 < this.parent.frozenRows) {\n return;\n }\n var restrictedRequestTypes = ['filterAfterOpen', 'filterBeforeOpen', 'filterchoicerequest', 'filterSearchBegin', 'save', 'infiniteScroll', 'virtualscroll'];\n var isRestrict = restrictedRequestTypes.indexOf(e.requestType) === -1;\n var isAddRows = !this.parent.editSettings.showAddNewRow || (this.parent.editSettings.showAddNewRow &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.element.querySelector('.e-editedrow')));\n var isDestroyVirtualForm = (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) && this.formObj\n && isAddRows && !this.formObj.isDestroyed && (editRow || addRow || e.requestType === 'cancel') && isRestrict;\n if ((!this.parent.enableVirtualization && isAddRows && this.parent.editSettings.mode !== 'Batch' && this.formObj && !this.formObj.isDestroyed\n && isRestrict && !e.cancel) || isDestroyVirtualForm) {\n this.destroyWidgets();\n this.destroyForm();\n }\n }\n };\n /**\n * @param {Column[]} cols - specfies the column\n * @returns {void}\n * @hidden\n */\n Edit.prototype.destroyWidgets = function (cols) {\n var gObj = this.parent;\n gObj.isWidgetsDestroyed = true;\n if (gObj.editSettings.template) {\n var parentIns = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getParentIns)(this.parent);\n parentIns = parentIns.isReact ? parentIns : this.parent;\n parentIns.destroyTemplate(['editSettingsTemplate']);\n if (this.parent.isReact) {\n this.parent.renderTemplates();\n }\n }\n if (this.parent.editSettings.mode === 'Dialog' && this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n cols = [];\n var allColumns = this.parent.getColumns();\n for (var i = 0; i < allColumns.length; i++) {\n var column = allColumns[parseInt(i.toString(), 10)];\n if (column.visible || (this.parent.groupSettings.columns.indexOf(column.field) > -1)) {\n cols.push(column);\n }\n }\n }\n else {\n cols = cols ? cols : this.parent.getCurrentVisibleColumns(this.parent.enableColumnVirtualization);\n }\n if (cols.some(function (column) { return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.editTemplate); })) {\n this.parent.destroyTemplate(['editTemplate']);\n if (this.parent.isReact) {\n this.parent.renderTemplates();\n }\n }\n for (var _i = 0, cols_1 = cols; _i < cols_1.length; _i++) {\n var col = cols_1[_i];\n var temp = col.edit.destroy;\n if (col.edit.destroy) {\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n temp();\n }\n else {\n col.edit.destroy();\n }\n }\n }\n var elements = [].slice.call(this.formObj.element.elements);\n for (var i = 0; i < elements.length; i++) {\n var element = elements[parseInt(i.toString(), 10)];\n if (element.hasAttribute('name')) {\n var instanceElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.parentElement) ? null : element.parentElement.classList.contains('e-ddl') ?\n element.parentElement.querySelector('input') : element;\n if (instanceElement && instanceElement.ej2_instances &&\n instanceElement.ej2_instances.length &&\n !instanceElement.ej2_instances[0].isDestroyed) {\n instanceElement.ej2_instances[0].destroy();\n instanceElement.remove();\n }\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Edit.prototype.destroyForm = function () {\n this.destroyToolTip();\n var formObjects = [this.formObj, this.virtualFormObj];\n var col = this.parent.columnModel.filter(function (col) { return col.editTemplate; });\n for (var i = 0; i < formObjects.length; i++) {\n if (formObjects[parseInt(i.toString(), 10)] && formObjects[parseInt(i.toString(), 10)].element\n && !formObjects[parseInt(i.toString(), 10)].isDestroyed) {\n formObjects[parseInt(i.toString(), 10)].destroy();\n var parentIns = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getParentIns)(this.parent);\n if (parentIns.isReact && this.parent.editSettings.mode === 'Dialog'\n && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.editSettings.template) || col.length)) {\n formObjects[parseInt(i.toString(), 10)].element.remove();\n }\n }\n }\n this.destroyToolTip();\n };\n /**\n * To destroy the editing.\n *\n * @returns {void}\n * @hidden\n */\n Edit.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement) {\n return;\n }\n var hasGridChild = gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.gridHeader) &&\n gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.gridContent) ? true : false;\n if (hasGridChild) {\n this.destroyForm();\n }\n this.removeEventListener();\n var elem = this.dialogObj.element;\n if (elem.childElementCount > 0) {\n this.dialogObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n }\n elem = this.alertDObj.element;\n if (elem.childElementCount > 0) {\n this.alertDObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n }\n if (!hasGridChild) {\n return;\n }\n if (this.editModule) {\n this.editModule.destroy();\n }\n };\n Edit.prototype.keyPressHandler = function (e) {\n var isMacLike = /(Mac)/i.test(navigator.platform);\n if (isMacLike && e.metaKey && e.action === 'ctrlEnter') {\n e.action = 'insert';\n }\n switch (e.action) {\n case 'insert':\n this.addRecord();\n break;\n case 'delete':\n if ((e.target.tagName !== 'INPUT' || e.target.classList.contains('e-checkselect'))\n && !document.querySelector('.e-popup-open.e-edit-dialog')) {\n this.deleteRecord();\n }\n break;\n case 'f2':\n this.startEdit();\n break;\n case 'enter':\n if (!(0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, 'e-unboundcelldiv') && this.parent.editSettings.mode !== 'Batch' &&\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.gridContent) || ((this.parent.frozenRows ||\n (this.parent.editSettings.showAddNewRow && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)))\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.headerContent)))\n && (!document.getElementsByClassName('e-popup-open').length || (document.querySelectorAll('.e-popup-open .e-editcell').length &&\n !document.querySelectorAll('.e-popup-open:not(.e-dialog)').length))) {\n e.preventDefault();\n if (this.parent.isEdit) {\n this.parent.isFocusFirstCell = true;\n }\n this.endEdit();\n }\n break;\n case 'escape':\n if (this.parent.isEdit && !this.editCellDialogClose) {\n if (this.parent.editSettings.mode === 'Batch') {\n this.editModule.escapeCellEdit();\n }\n else {\n this.curretRowFocus(e);\n }\n }\n if (this.editCellDialogClose) {\n this.editCellDialogClose = false;\n }\n break;\n case 'tab':\n case 'shiftTab':\n this.curretRowFocus(e);\n break;\n }\n };\n Edit.prototype.curretRowFocus = function (e) {\n if (this.parent.isEdit && this.parent.editSettings.mode !== 'Batch') {\n this.parent.isWidgetsDestroyed = false;\n var editedRow = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, 'e-editedrow') || (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, 'e-addedrow');\n if (editedRow) {\n var focusableEditCells = [].slice.call(editedRow.querySelectorAll('.e-input:not(.e-disabled)'));\n var commandColCell = [].slice.call(editedRow.querySelectorAll('.e-unboundcell'));\n if (commandColCell && commandColCell.length) {\n for (var i = 0; i < commandColCell.length; i++) {\n focusableEditCells = focusableEditCells.concat([].slice\n .call(commandColCell[parseInt(i.toString(), 10)].querySelectorAll('.e-btn:not(.e-hide)')));\n }\n }\n var rowCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, 'e-rowcell');\n rowCell = rowCell && rowCell.classList.contains('e-unboundcell') ? e.target : rowCell;\n var lastCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(focusableEditCells[focusableEditCells.length - 1], 'e-rowcell');\n lastCell = lastCell && lastCell.classList.contains('e-unboundcell') ?\n focusableEditCells[focusableEditCells.length - 1] : lastCell;\n if ((rowCell === lastCell && e.action === 'tab') || e.action === 'escape' ||\n (rowCell === (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(focusableEditCells[0], 'e-rowcell') && e.action === 'shiftTab' &&\n !this.parent.editSettings.showAddNewRow)) {\n var uid = editedRow.getAttribute('data-uid');\n var rows = this.parent.allowGrouping ? (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getContent()) ?\n [].slice.call(this.parent.getContent().querySelectorAll('tr')) : []) : this.parent.getRows();\n var rowIndex = rows.map(function (m) { return m.getAttribute('data-uid'); }).indexOf(uid);\n if (this.parent.frozenRows) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(editedRow, 'e-gridheader')) {\n rowIndex = editedRow.rowIndex;\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(editedRow, 'e-gridcontent')) {\n rowIndex = rowIndex - this.parent.frozenRows;\n }\n }\n if (editedRow.classList.contains('e-addedrow')) {\n rowIndex = 0;\n }\n if (e.action === 'escape') {\n this.parent.isFocusFirstCell = true;\n this.closeEdit();\n }\n else {\n this.isShowAddedRowValidate = true;\n this.parent.selectionModule.preventFocus = false;\n this.parent.isFocusFirstCell = true;\n this.endEdit();\n this.isShowAddedRowValidate = false;\n }\n if (this.parent.focusModule.active && (!this.parent.editSettings.showAddNewRow ||\n editedRow.classList.contains('e-editedrow') || (this.parent.editSettings.showAddNewRow &&\n (editedRow.classList.contains('e-addedrow') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.element.querySelector('.e-griderror:not([style*=\"display: none\"])')))))) {\n var firstCellIndex = 0;\n var matrix = this.parent.focusModule.active.matrix;\n if (matrix && matrix.matrix.length && matrix.matrix[parseInt(rowIndex.toString(), 10)]) {\n var rowMatrix = matrix.matrix[parseInt(rowIndex.toString(), 10)];\n for (var i = 0; i < rowMatrix.length; i++) {\n if (rowMatrix[parseInt(i.toString(), 10)] > 0) {\n firstCellIndex = i;\n break;\n }\n }\n }\n var firstCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".cells.\" + firstCellIndex, this.parent.focusModule.active.matrix.getRowsFromIndex(rowIndex, this.parent.focusModule.active));\n if (firstCell && firstCell.getBoundingClientRect().width === 0) {\n var firstContentCellIndex = this.parent.focusModule.active.matrix.nextVisibleCellFocus(rowIndex, firstCellIndex, e.action, this.parent.focusModule.active.keyActions[e.action], this.parent.focusModule.active, this.parent.focusModule.active.matrix.current[1]);\n firstCellIndex = firstContentCellIndex[1];\n }\n this.parent.focusModule.active.matrix.current = [rowIndex, firstCellIndex];\n }\n }\n if (this.parent.editSettings.showAddNewRow && e.action === 'tab' && (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(e.target, 'e-addedrow')) {\n this.isShowAddedRowValidate = true;\n }\n }\n }\n };\n Edit.prototype.preventBatch = function (args) {\n this.preventObj = args;\n this.showDialog('BatchSaveLostChanges', this.dialogObj);\n };\n Edit.prototype.executeAction = function () {\n this.preventObj.handler.call(this.preventObj.instance, this.preventObj.arg1, this.preventObj.arg2, this.preventObj.arg3, this.preventObj.arg4, this.preventObj.arg5, this.preventObj.arg6, this.preventObj.arg7, this.preventObj.arg8);\n };\n /**\n * @param {Column[]} cols - specifies the column\n * @param {Object} newRule - specifies the new rule object\n * @returns {void}\n * @hidden\n */\n Edit.prototype.applyFormValidation = function (cols, newRule) {\n var gObj = this.parent;\n var idx = 0;\n var form = this.parent.editSettings.mode !== 'Dialog' ?\n gObj.editSettings.showAddNewRow && gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.editedRow) ?\n gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.editedRow).getElementsByClassName('e-gridform')[parseInt(idx.toString(), 10)] :\n gObj.element.getElementsByClassName('e-gridform')[parseInt(idx.toString(), 10)] :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + gObj.element.id + '_dialogEdit_wrapper .e-gridform', document);\n var index = 1;\n var rules = {};\n var mRules = {};\n var frRules = {};\n cols = cols ? cols : gObj.getColumns();\n for (var i = 0; i < cols.length; i++) {\n if (!cols[parseInt(i.toString(), 10)].visible && (gObj.editSettings.mode !== 'Dialog' || (gObj.groupSettings.columns.indexOf(cols[parseInt(i.toString(), 10)].field) === -1\n && gObj.editSettings.mode === 'Dialog'))) {\n continue;\n }\n if (cols[parseInt(i.toString(), 10)].validationRules && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newRule)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.setValidationRuels)(cols[parseInt(i.toString(), 10)], index, rules, mRules, frRules, cols.length);\n }\n }\n rules = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(rules, mRules, frRules);\n this.parent.editModule.formObj = this.createFormObj(form, newRule ? newRule : rules);\n };\n /**\n * @param {HTMLFormElement} form - Defined Form element\n * @param {Object} rules - Defines form rules\n * @returns {FormValidator} Returns formvalidator instance\n * @hidden\n */\n Edit.prototype.createFormObj = function (form, rules) {\n var _this = this;\n return new _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_10__.FormValidator(form, {\n rules: rules,\n locale: this.parent.locale,\n validationComplete: function (args) {\n _this.validationComplete(args);\n },\n customPlacement: function (inputElement, error) {\n var uid = inputElement.getAttribute('e-mappinguid');\n var args = {\n column: _this.parent.getColumnByUid(uid),\n error: error,\n inputElement: inputElement,\n value: inputElement.value\n };\n if ((!(event && event['relatedTarget'] && event['relatedTarget'].classList.contains('e-cancelbutton')) &&\n !_this.parent.editSettings.showAddNewRow) || (_this.parent.editSettings.showAddNewRow && event && event.target &&\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(event.target, _this.parent.element.id + '_update', true) ||\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(event.target, 'e-grid-menu') && (event.target.classList.contains('e-save') ||\n event.target.querySelector('.e-save'))) || _this.isShowAddedRowValidate ||\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(event.target, 'e-unboundcell') && (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(event.target, 'e-update')) ||\n (event['action'] === 'enter' && ((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(event.target, 'e-content') || (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(event.target, 'e-addedrow'))))) ||\n (_this.parent.editSettings.showAddNewRow && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.editedRow)))) {\n _this.valErrorPlacement(inputElement, error);\n }\n _this.isShowAddedRowValidate = false;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_6__.valCustomPlacement, args);\n }\n });\n };\n Edit.prototype.valErrorPlacement = function (inputElement, error) {\n if (this.parent.isEdit) {\n var id = error.getAttribute('for');\n var elem = this.getElemTable(inputElement).querySelector('#' + (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getParsedFieldID)(id) + '_Error');\n if (!elem) {\n this.createTooltip(inputElement, error, id, '');\n }\n else {\n elem.querySelector('.e-tip-content').innerHTML = error.outerHTML;\n }\n }\n };\n Edit.prototype.getElemTable = function (inputElement) {\n var isFrozenHdr;\n var gObj = this.parent;\n var table;\n if (gObj.editSettings.mode !== 'Dialog') {\n isFrozenHdr = (gObj.frozenRows && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(inputElement, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.row) && gObj.frozenRows\n > (parseInt((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(inputElement, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.row).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex), 10) - 1 || 0));\n table = this.parent.isFrozenGrid() ? gObj.element : isFrozenHdr || (gObj.editSettings.showAddNewRow &&\n (gObj.enableVirtualization || gObj.enableInfiniteScrolling)) ? gObj.getHeaderTable() : gObj.getContentTable();\n }\n else {\n table = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + gObj.element.id + '_dialogEdit_wrapper', document);\n }\n return table;\n };\n Edit.prototype.resetElemPosition = function (elem, args) {\n var td = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(args.element, _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.rowCell);\n if (td) {\n var tdRight = td.getBoundingClientRect().right;\n var elemRight = elem.getBoundingClientRect().right;\n if (elemRight > tdRight) {\n var offSet = elemRight - tdRight;\n elem.style.left = (elem.offsetLeft - offSet) + 'px';\n }\n }\n };\n Edit.prototype.validationComplete = function (args) {\n if (this.parent.isEdit) {\n var elem = this.getElemTable(args.element).querySelector('#' + (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getParsedFieldID)(args.inputName) + '_Error');\n if (this.parent.editSettings.showAddNewRow && !elem && args.element) {\n var error = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(args.element, 'e-rowcell').querySelector('.e-error');\n if (error) {\n error.classList.remove('e-error');\n }\n }\n if (elem) {\n if (args.status === 'failure') {\n elem.style.display = '';\n this.resetElemPosition(elem, args);\n }\n else {\n elem.style.display = 'none';\n }\n }\n }\n };\n Edit.prototype.createTooltip = function (element, error, name, display) {\n var formObj = this.formObj.element;\n var customForm = (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(element, 'e-virtual-validation');\n if (customForm) {\n formObj = this.virtualFormObj.element;\n }\n var gcontent = this.parent.getContent().firstElementChild;\n var isScroll = gcontent.scrollHeight > gcontent.clientHeight || gcontent.scrollWidth > gcontent.clientWidth;\n var isInline = this.parent.editSettings.mode !== 'Dialog';\n var td = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.rowCell);\n var row = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.row);\n var isFHdr;\n var isFHdrLastRow = false;\n var validationForBottomRowPos;\n var isBatchModeLastRow = false;\n var isAddNewRow = this.parent.editSettings.showAddNewRow && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_7__.parentsUntil)(element, _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.addedRow))\n && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling);\n var viewPortRowCount = Math.round(this.parent.getContent().clientHeight / this.parent.getRowHeight()) - 1;\n var rows = [].slice.call(this.parent.getContent().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.row));\n if (this.parent.editSettings.mode === 'Batch') {\n rows = [].slice.call(this.parent.getContent().querySelectorAll('.e-row:not(.e-hiddenrow)'));\n if (viewPortRowCount > 1 && rows.length > viewPortRowCount && parseInt(rows[rows.length - 1].\n getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex), 10) - 1 === parseInt(row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex), 10) - 1) {\n isBatchModeLastRow = true;\n }\n }\n if (isInline) {\n if (this.parent.frozenRows || isAddNewRow) {\n var headerRows = this.parent.editSettings.showAddNewRow ? '.e-row:not(.e-hiddenrow.e-addedrow)' :\n '.e-row:not(.e-hiddenrow)';\n var fHearderRows = [].slice.call(this.parent.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.tbody).querySelectorAll(headerRows));\n isFHdr = fHearderRows.length > (parseInt(row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex), 10) - 1 || 0);\n isFHdrLastRow = isFHdr && parseInt(row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex), 10) - 1 === fHearderRows.length - 1;\n var insertRow = [].slice.call(this.parent.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.tbody).querySelectorAll('.e-row:not(.e-hiddenrow)'));\n if (insertRow.length === 1 && (insertRow[0].classList.contains('e-addedrow') || insertRow[0].classList.contains('e-insertedrow'))) {\n isFHdrLastRow = true;\n }\n }\n if (isFHdrLastRow || (viewPortRowCount > 1 && rows.length > viewPortRowCount\n && ((this.parent.editSettings.newRowPosition === 'Bottom' && (this.editModule.args\n && this.editModule.args.requestType === 'add')) || (td.classList.contains('e-lastrowcell')\n && !row.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.addedRow)))) || isBatchModeLastRow) {\n validationForBottomRowPos = true;\n }\n }\n var table = isInline ?\n (isFHdr ? this.parent.getHeaderTable() : this.parent.getContentTable()) :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + this.parent.element.id + '_dialogEdit_wrapper .e-dlg-content', document);\n var client = table.getBoundingClientRect();\n var left = isInline ?\n this.parent.element.getBoundingClientRect().left : client.left;\n var input = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, 'td');\n var inputClient = input ? input.getBoundingClientRect() : element.parentElement.getBoundingClientRect();\n var div = this.parent.createElement('div', {\n className: 'e-tooltip-wrap e-lib e-control e-popup e-griderror',\n id: name + '_Error'\n });\n var divStyles = 'display:' + display + ';top:' +\n ((isFHdr ? inputClient.top + inputClient.height : inputClient.bottom - client.top) + table.scrollTop + 9) + 'px;left:' +\n (inputClient.left - left + table.scrollLeft + inputClient.width / 2) + 'px;' +\n 'max-width:' + inputClient.width + 'px;text-align:center;';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateCSSText)(div, divStyles);\n if (this.parent.cssClass) {\n div.classList.add(this.parent.cssClass);\n }\n if (isInline && client.left < left) {\n div.style.left = parseInt(div.style.left, 10) - client.left + left + 'px';\n }\n var content = this.parent.createElement('div', { className: 'e-tip-content' });\n content.appendChild(error);\n var arrow;\n if (validationForBottomRowPos) {\n arrow = this.parent.createElement('div', { className: 'e-arrow-tip e-tip-bottom' });\n arrow.appendChild(this.parent.createElement('div', { className: 'e-arrow-tip-outer e-tip-bottom' }));\n arrow.appendChild(this.parent.createElement('div', { className: 'e-arrow-tip-inner e-tip-bottom' }));\n }\n else {\n arrow = this.parent.createElement('div', { className: 'e-arrow-tip e-tip-top' });\n arrow.appendChild(this.parent.createElement('div', { className: 'e-arrow-tip-outer e-tip-top' }));\n arrow.appendChild(this.parent.createElement('div', { className: 'e-arrow-tip-inner e-tip-top' }));\n }\n div.appendChild(content);\n div.appendChild(arrow);\n if (!customForm && (this.parent.frozenRows || isAddNewRow) && this.parent.editSettings.mode !== 'Dialog') {\n var getEditCell = this.parent.editSettings.mode === 'Normal' ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.e-editcell') : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.table);\n getEditCell.style.position = 'relative';\n div.style.position = 'absolute';\n if (this.parent.editSettings.mode === 'Batch' ||\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.frozenContent) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.frozenHeader))\n || (this.parent.frozenRows || isAddNewRow)) {\n if (this.parent.isFrozenGrid()) {\n if (td.classList.contains('e-unfreeze')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([div], 'e-unfreeze');\n formObj.appendChild(div);\n }\n else {\n var elem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(td, '.e-gridheader') ? this.parent.element.querySelector('.e-gridheader') :\n rows.length === 1 ? this.parent.element.querySelector('.e-gridcontent').querySelector('.e-content') :\n this.parent.element.querySelector('.e-gridcontent');\n elem.appendChild(div);\n elem.style.position = 'relative';\n }\n }\n else {\n formObj.appendChild(div);\n }\n }\n }\n else {\n if (customForm) {\n this.virtualFormObj.element.appendChild(div);\n }\n else {\n if (this.parent.editSettings.mode !== 'Dialog' && this.parent.isFrozenGrid()) {\n if (td.classList.contains('e-unfreeze')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([div], 'e-unfreeze');\n this.formObj.element.appendChild(div);\n }\n else {\n var elem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(td, '.e-gridheader') ? this.parent.element.querySelector('.e-gridheader') :\n rows.length === 1 ? this.parent.element.querySelector('.e-gridcontent').querySelector('.e-content') :\n this.parent.element.querySelector('.e-gridcontent');\n elem.appendChild(div);\n elem.style.position = 'relative';\n }\n }\n else {\n this.formObj.element.appendChild(div);\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(td)) {\n if (td.classList.contains('e-fixedfreeze')) {\n div.classList.add('e-fixederror');\n }\n else if (td.classList.contains('e-leftfreeze') || td.classList.contains('e-rightfreeze')) {\n div.classList.add('e-freezeerror');\n }\n }\n if (!validationForBottomRowPos && isInline && gcontent.getBoundingClientRect().bottom < inputClient.bottom + inputClient.height) {\n var contentDiv = this.parent.getContent().querySelector('.e-content');\n if (this.parent.currentViewData.length === 0 && contentDiv.scrollTop === 0) {\n contentDiv.scrollTop = div.offsetHeight + arrow.scrollHeight;\n }\n else {\n gcontent.scrollTop = gcontent.scrollTop + div.offsetHeight + arrow.scrollHeight;\n }\n }\n var lineHeight = parseInt(document.defaultView.getComputedStyle(div, null).getPropertyValue('font-size'), 10);\n if ((this.parent.frozenRows || isAddNewRow) && this.parent.editSettings.mode !== 'Dialog') {\n div.style.left = input.offsetLeft + (input.offsetWidth / 2 - div.offsetWidth / 2) + 'px';\n }\n else {\n div.style.left = (parseInt(div.style.left, 10) - div.offsetWidth / 2) + 'px';\n }\n if (div.getBoundingClientRect().width < inputClient.width &&\n div.querySelector('label').getBoundingClientRect().height / (lineHeight * 1.2) >= 2) {\n div.style.width = div.style.maxWidth;\n }\n if (isInline && !isScroll && !this.parent.allowPaging || (this.parent.frozenRows || isAddNewRow)) {\n // gcontent.style.position = 'static';\n var pos = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_11__.calculateRelativeBasedPosition)(input, div);\n div.style.top = pos.top + inputClient.height + 9 + 'px';\n }\n if (validationForBottomRowPos) {\n if (isScroll && this.parent.height !== 'auto' && (!this.parent.frozenRows || !isAddNewRow)\n && !this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling && !(div.classList.contains('e-freezeerror')\n && div.classList.contains('e-fixederror'))) {\n var scrollWidth = gcontent.scrollWidth > gcontent.offsetWidth ? (0,_base_util__WEBPACK_IMPORTED_MODULE_7__.getScrollBarWidth)() : 0;\n var gHeight = this.parent.height.toString().indexOf('%') === -1 ?\n parseInt(this.parent.height, 10) : gcontent.offsetHeight;\n div.style.bottom = (gHeight - gcontent.querySelector('table').offsetHeight\n - scrollWidth) + inputClient.height + 9 + 'px';\n }\n else {\n div.style.bottom = inputClient.height + 9 + 'px';\n }\n if (rows.length < viewPortRowCount && this.parent.editSettings.newRowPosition === 'Bottom' && (this.editModule.args\n && this.editModule.args.requestType === 'add')) {\n var rowsCount = this.parent.frozenRows ? (isAddNewRow ? this.parent.frozenRows + 1 : this.parent.frozenRows) +\n (rows.length - 1) : rows.length - 1;\n var rowsHeight = rowsCount * this.parent.getRowHeight();\n var position = this.parent.getContent().clientHeight - rowsHeight;\n div.style.bottom = position + 9 + 'px';\n }\n div.style.top = null;\n }\n };\n /**\n * @param {Column} col - specfies the column\n * @returns {boolean} returns the whether column is grouped\n * @hidden\n */\n Edit.prototype.checkColumnIsGrouped = function (col) {\n return !col.visible && !(this.parent.groupSettings.columns.indexOf(col.field) > -1);\n };\n /**\n * @param {object} editors -specfies the editors\n * @returns {void}\n * @hidden\n */\n Edit.AddEditors = function (editors) {\n Edit.editCellType = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(Edit.editCellType, editors);\n };\n Edit.editCellType = {\n 'dropdownedit': _renderer_dropdown_edit_cell__WEBPACK_IMPORTED_MODULE_12__.DropDownEditCell, 'numericedit': _renderer_numeric_edit_cell__WEBPACK_IMPORTED_MODULE_13__.NumericEditCell,\n 'datepickeredit': _renderer_datepicker_edit_cell__WEBPACK_IMPORTED_MODULE_14__.DatePickerEditCell, 'datetimepickeredit': _renderer_datepicker_edit_cell__WEBPACK_IMPORTED_MODULE_14__.DatePickerEditCell,\n 'booleanedit': _renderer_boolean_edit_cell__WEBPACK_IMPORTED_MODULE_15__.BooleanEditCell, 'defaultedit': _renderer_default_edit_cell__WEBPACK_IMPORTED_MODULE_16__.DefaultEditCell,\n 'templateedit': _renderer_template_edit_cell__WEBPACK_IMPORTED_MODULE_17__.TemplateEditCell\n };\n return Edit;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/edit.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-export.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-export.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExcelExport: () => (/* binding */ ExcelExport)\n/* harmony export */ });\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_excel_export__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-excel-export */ \"./node_modules/@syncfusion/ej2-excel-export/src/workbook.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _actions_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions/data */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js\");\n/* harmony import */ var _export_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./export-helper */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.js\");\n/* harmony import */ var _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/summary-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * @hidden\n * `ExcelExport` module is used to handle the Excel export action.\n */\nvar ExcelExport = /** @class */ (function () {\n /**\n * Constructor for the Grid Excel Export module.\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} locator - specifies the ServiceLocator\n * @hidden\n */\n function ExcelExport(parent, locator) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.book = {};\n this.workSheet = [];\n this.rows = [];\n this.columns = [];\n this.styles = [];\n this.rowLength = 1;\n this.expType = 'AppendToSheet';\n this.includeHiddenColumn = false;\n this.isCsvExport = false;\n this.isChild = false;\n this.isElementIdChanged = false;\n this.gridPool = {};\n this.sheet = {};\n this.grpFooterTemplates = [];\n this.footerTemplates = [];\n this.aggIndex = 0;\n this.totalAggregates = 0;\n this.parent = parent;\n this.helper = new _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper(parent);\n this.locator = locator;\n this.l10n = this.locator.getService('localization');\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n */\n ExcelExport.prototype.getModuleName = function () {\n return 'ExcelExport';\n };\n ExcelExport.prototype.init = function (gObj) {\n if (gObj.element !== null && gObj.element.id === '') {\n gObj.element.id = new Date().toISOString();\n this.isElementIdChanged = true;\n }\n this.parent = gObj;\n if (this.parent.isDestroyed) {\n return;\n }\n this.isExporting = undefined;\n this.book = {};\n this.workSheet = [];\n this.rows = [];\n this.columns = [];\n this.styles = [];\n this.rowLength = 1;\n this.footer = undefined;\n this.expType = 'AppendToSheet';\n this.includeHiddenColumn = false;\n this.exportValueFormatter = new _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportValueFormatter(gObj.locale);\n gObj.id = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getUid)('main-grid');\n this.gridPool[gObj.id] = false;\n };\n /**\n * Export Grid to Excel file.\n *\n * @param {IGrid} grid - Defines the grid.\n * @param {exportProperties} exportProperties - Defines the export properties of the Grid.\n * @param {isMultipleExport} isMultipleExport - Defines is multiple Grid's are exported.\n * @param {Workbook} workbook - Defined the Workbook if multiple Grid is exported.\n * @param {boolean} isCsv - true if export to CSV.\n * @param {boolean} isBlob - true if isBlob is enabled.\n * @returns {Promise} - Returns the map for export.\n */\n // eslint-disable-next-line\n ExcelExport.prototype.Map = function (grid, exportProperties, isMultipleExport, workbook, isCsv, isBlob) {\n var gObj = grid;\n var cancel = 'cancel';\n var isBlb = 'isBlob';\n var Child = 'isChild';\n var csv = 'isCsv';\n var workbk = 'workbook';\n var isMultiEx = 'isMultipleExport';\n this.gridPool = {};\n if ((grid.childGrid || grid.detailTemplate) && !(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties) && exportProperties.hierarchyExportMode === 'None')) {\n grid.expandedRows = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPrintGridModel)(grid).expandedRows;\n }\n var args = {\n requestType: 'beforeExcelExport', gridObject: gObj, cancel: false,\n isMultipleExport: isMultipleExport, workbook: workbook, isCsv: isCsv, isBlob: isBlob, isChild: this.isChild,\n grpFooterTemplates: this.grpFooterTemplates\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeExcelExport, args);\n if (args[\"\" + cancel]) {\n return new Promise(function (resolve) {\n return resolve();\n });\n }\n this.parent.log('exporting_begin', this.getModuleName());\n this.data = new _actions_data__WEBPACK_IMPORTED_MODULE_4__.Data(gObj);\n this.isExporting = true;\n this.isBlob = args[\"\" + isBlb];\n this.isChild = args[\"\" + Child];\n this.grpFooterTemplates = args['grpFooterTemplates'];\n if (args[\"\" + csv]) {\n this.isCsvExport = args[\"\" + csv];\n }\n else {\n this.isCsvExport = false;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isExportColumns)(exportProperties)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.updateColumnTypeForExportColumns)(exportProperties, gObj);\n }\n return this.processRecords(gObj, exportProperties, args[\"\" + isMultiEx], args[\"\" + workbk]);\n };\n ExcelExport.prototype.exportingSuccess = function (resolve) {\n this.isExporting = false;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.excelExportComplete, this.isBlob ? { promise: this.blobPromise } : { gridInstance: this.parent });\n this.parent.log('exporting_complete', this.getModuleName());\n resolve(this.book);\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ExcelExport.prototype.processRecords = function (gObj, exportProperties, isMultipleExport, workbook) {\n var _this = this;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.dataSource)) {\n exportProperties.dataSource = exportProperties.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager ?\n exportProperties.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(exportProperties.dataSource);\n var query_1 = exportProperties.query ? exportProperties.query : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(query_1.isCountRequired) || gObj.aggregates) {\n query_1.isCountRequired = true;\n }\n return new Promise(function (resolve) {\n var dataManager = exportProperties.dataSource.executeQuery(query_1);\n dataManager.then(function (r) {\n _this.init(gObj);\n _this.processInnerRecords(gObj, exportProperties, isMultipleExport, workbook, r).then(function () {\n _this.exportingSuccess(resolve);\n });\n });\n });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties) && exportProperties.exportType === 'CurrentPage' &&\n !(this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length\n && !this.parent.getDataModule().isRemote())) {\n return new Promise(function (resolve) {\n _this.init(gObj);\n _this.processInnerRecords(gObj, exportProperties, isMultipleExport, workbook, _this.parent.getCurrentViewRecords());\n _this.exportingSuccess(resolve);\n });\n }\n else {\n var allPromise_1 = [];\n var query = _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper.getQuery(gObj, this.data);\n if (this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length\n && !this.parent.getDataModule().isRemote()) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties)) {\n exportProperties = { hierarchyExportMode: 'All' };\n }\n exportProperties.hierarchyExportMode = exportProperties.hierarchyExportMode === 'None' ? 'None' : 'All';\n if (exportProperties.hierarchyExportMode === 'All') {\n query.lazyLoad = [];\n }\n }\n allPromise_1.push(this.data.getData({}, query));\n allPromise_1.push(this.helper.getColumnData(gObj));\n return new Promise(function (resolve, reject) {\n Promise.all(allPromise_1).then(function (e) {\n _this.init(gObj);\n _this.processInnerRecords(gObj, exportProperties, isMultipleExport, workbook, e[0]).then(function () {\n _this.exportingSuccess(resolve);\n });\n }).catch(function (e) {\n reject(_this.book);\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionFailure, e);\n });\n });\n }\n };\n ExcelExport.prototype.processInnerRecords = function (gObj, exportProperties, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isMultipleExport, workbook, r) {\n var _this = this;\n this.groupedColLength = gObj.groupSettings.columns.length;\n var blankRows = 5;\n var separator;\n var rows = [];\n var colDepth = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.measureColumnDepth)(gObj.columns);\n var isExportPropertiesPresent = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties);\n if (isExportPropertiesPresent && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.multipleExport)) {\n this.expType = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.multipleExport.type) ? exportProperties.multipleExport.type : 'AppendToSheet');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.multipleExport.blankRows)) {\n blankRows = exportProperties.multipleExport.blankRows;\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(workbook)) {\n this.workSheet = [];\n this.rows = [];\n this.columns = [];\n this.styles = [];\n this.sheet.images = [];\n }\n else if (this.expType === 'NewSheet') {\n this.workSheet = workbook.worksheets;\n this.rows = [];\n this.columns = [];\n this.sheet.images = [];\n this.styles = workbook.styles;\n }\n else {\n this.workSheet = [];\n this.rows = workbook.worksheets[0].rows;\n this.columns = workbook.worksheets[0].columns;\n this.styles = workbook.styles;\n this.sheet.images = workbook.worksheets[0].images;\n this.rowLength = (this.rows[this.rows.length - 1].index + blankRows);\n this.rowLength++;\n }\n if (isExportPropertiesPresent) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isMultipleExport)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.header) && (isMultipleExport || this.expType === 'NewSheet')) {\n this.processExcelHeader(JSON.parse(JSON.stringify(exportProperties.header)));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.footer)) {\n if (this.expType === 'AppendToSheet') {\n if (!isMultipleExport) {\n this.footer = JSON.parse(JSON.stringify(exportProperties.footer));\n }\n }\n else {\n this.footer = JSON.parse(JSON.stringify(exportProperties.footer));\n }\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.header)) {\n this.processExcelHeader(JSON.parse(JSON.stringify(exportProperties.header)));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.footer)) {\n this.footer = JSON.parse(JSON.stringify(exportProperties.footer));\n }\n }\n }\n this.includeHiddenColumn = (isExportPropertiesPresent ? exportProperties.includeHiddenColumn : false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return new Promise(function (resolve, reject) {\n gObj.childGridLevel = 0;\n rows = _this.processGridExport(gObj, exportProperties, r);\n _this.globalResolve = resolve;\n _this.gridPool[gObj.id] = true;\n _this.helper.checkAndExport(_this.gridPool, _this.globalResolve);\n }).then(function () {\n var organisedRows = [];\n _this.organiseRows(rows, rows[0].index, organisedRows);\n _this.rows = _this.rows.concat(organisedRows);\n //footer template add\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.footer)) {\n if ((_this.expType === 'AppendToSheet' && !isMultipleExport) || (_this.expType === 'NewSheet')) {\n _this.processExcelFooter(_this.footer);\n }\n }\n if (_this.columns.length > 0) {\n _this.sheet.columns = _this.columns;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.sheet.rows = _this.rows;\n _this.sheet.enableRtl = _this.parent.enableRtl;\n if (_this.parent.allowFiltering && gObj.getVisibleColumns().length && isExportPropertiesPresent &&\n exportProperties.enableFilter) {\n var headerRowLen = exportProperties.header ? exportProperties.header.headerRows ||\n exportProperties.header.rows.length : 0;\n var autoFilters = {\n row: colDepth + headerRowLen, column: _this.groupedColLength ? _this.groupedColLength + 1 :\n _this.sheet.columns[0].index, lastRow: _this.sheet.rows.length, lastColumn: _this.sheet.columns.length\n };\n _this.sheet.autoFilters = autoFilters;\n }\n _this.workSheet.push(_this.sheet);\n _this.book.worksheets = _this.workSheet;\n _this.book.styles = _this.styles;\n gObj.notify('finalPageSetup', _this.book);\n if (!isMultipleExport) {\n if (_this.isCsvExport) {\n if (isExportPropertiesPresent && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.separator)\n && exportProperties.separator !== ',') {\n separator = exportProperties.separator;\n }\n var book = new _syncfusion_ej2_excel_export__WEBPACK_IMPORTED_MODULE_7__.Workbook(_this.book, 'csv', gObj.locale, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.defaultCurrencyCode, separator);\n if (!_this.isBlob) {\n if (isExportPropertiesPresent && exportProperties.fileName) {\n book.save(exportProperties.fileName);\n }\n else {\n book.save('Export.csv');\n }\n }\n else {\n _this.blobPromise = book.saveAsBlob('text/csv');\n }\n }\n else {\n var book = new _syncfusion_ej2_excel_export__WEBPACK_IMPORTED_MODULE_7__.Workbook(_this.book, 'xlsx', gObj.locale, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.defaultCurrencyCode);\n if (!_this.isBlob) {\n if (isExportPropertiesPresent && exportProperties.fileName) {\n book.save(exportProperties.fileName);\n }\n else {\n book.save('Export.xlsx');\n }\n }\n else {\n _this.blobPromise = book.saveAsBlob('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\n }\n }\n if (_this.isElementIdChanged) {\n gObj.element.id = '';\n }\n delete gObj.expandedRows;\n }\n return workbook;\n });\n };\n ExcelExport.prototype.organiseRows = function (rows, initialIndex, organisedRows) {\n if (!rows.length) {\n return initialIndex;\n }\n for (var i = 0; i < rows.length; i++) {\n var row = rows[parseInt(i.toString(), 10)];\n var childRows = row.childRows;\n if (childRows) {\n row.index = initialIndex++;\n delete row.childRows;\n organisedRows.push(row);\n initialIndex = this.organiseRows(childRows, initialIndex, organisedRows);\n }\n else {\n row.index = initialIndex++;\n organisedRows.push(row);\n }\n }\n return initialIndex;\n };\n ExcelExport.prototype.processGridExport = function (gObj, exportProperties, r) {\n var excelRows = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.theme)) {\n this.theme = exportProperties.theme;\n }\n if ((gObj.childGrid || gObj.detailTemplate) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties)) {\n gObj.hierarchyPrintMode = exportProperties.hierarchyExportMode || 'Expanded';\n }\n var helper = new _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper(gObj, this.helper.getForeignKeyData());\n var gColumns = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isExportColumns)(exportProperties) ?\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.prepareColumns)(exportProperties.columns, gObj.enableColumnVirtualization) :\n helper.getGridExportColumns(gObj.columns);\n var headerRow = helper.getHeaders(gColumns, this.includeHiddenColumn);\n var groupIndent = gObj.groupSettings.columns.length ? gObj.groupSettings.columns.length - 1 : 0;\n excelRows = this.processHeaderContent(gObj, headerRow, groupIndent, excelRows);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties) && Object.keys(exportProperties).length &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.dataSource)) {\n if (exportProperties.exportType === 'CurrentPage' && (!gObj.groupSettings.enableLazyLoading\n || gObj.getDataModule().isRemote())) {\n excelRows = this.processRecordContent(gObj, r, headerRow, exportProperties, gObj.currentViewData, excelRows, helper);\n }\n else {\n excelRows = this.processRecordContent(gObj, r, headerRow, exportProperties, undefined, excelRows, helper);\n }\n }\n else {\n excelRows = this.processRecordContent(gObj, r, headerRow, exportProperties, undefined, excelRows, helper);\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.exportDataBound, { excelRows: excelRows, type: 'excel' });\n this.capTemplate = undefined;\n this.footerTemplates = [];\n this.grpFooterTemplates = [];\n this.aggIndex = 0;\n this.totalAggregates = 0;\n return excelRows;\n };\n ExcelExport.prototype.processRecordContent = function (gObj, returnType, headerRow, exportProperties, currentViewRecords, excelRow, helper) {\n var record;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentViewRecords) && currentViewRecords.length) {\n record = currentViewRecords;\n }\n else {\n record = returnType.result;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(record.level)) {\n this.processGroupedRows(gObj, record, headerRow, record.level, 0, exportProperties, excelRow, helper);\n }\n else {\n this.processRecordRows(gObj, record, headerRow, 0, 0, exportProperties, excelRow, helper);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(returnType.aggregates)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentViewRecords) && !this.parent.groupSettings.enableLazyLoading) {\n this.processAggregates(gObj, returnType.result, excelRow, currentViewRecords);\n }\n else {\n var result = returnType.result.GroupGuid ?\n returnType.result.records : returnType.result;\n this.processAggregates(gObj, result, excelRow);\n }\n }\n return excelRow;\n };\n ExcelExport.prototype.processGroupedRows = function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n gObj, dataSource, headerRow, level, startIndex, excelExportProperties, excelRows, helper) {\n for (var _i = 0, dataSource_1 = dataSource; _i < dataSource_1.length; _i++) {\n var item = dataSource_1[_i];\n var cells = [];\n var index = 1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var cell = {};\n cell.index = (index + level) - 1;\n var col = gObj.getColumnByField(item.field);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var args = {\n value: item.key,\n column: col,\n style: undefined,\n isForeignKey: col.isForeignColumn()\n };\n var value = gObj.getColumnByField(item.field).headerText +\n ': ' + (!col.enableGroupByFormat ? this.exportValueFormatter.formatCellValue(args) : item.key) + ' - ';\n if (item.count > 1) {\n value += item.count + ' items';\n }\n else {\n value += item.count + ' item';\n }\n var cArgs = { captionText: value, type: this.isCsvExport ? 'CSV' : 'Excel', data: item };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.exportGroupCaption, cArgs);\n cell.value = cArgs.captionText;\n cell.style = this.getCaptionThemeStyle(this.theme);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cArgs.style)) {\n cell.style = this.mergeOptions(cell.style, cArgs.style);\n }\n var captionModelGen = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_8__.CaptionSummaryModelGenerator(gObj);\n var groupCaptionSummaryRows = captionModelGen.generateRows(item);\n this.fillAggregates(gObj, groupCaptionSummaryRows, (dataSource.level + dataSource.childLevels) - 1, excelRows, this.rowLength);\n cells.push(cell);\n if (excelRows[excelRows.length - 1].cells.length > 0) {\n var lIndex = dataSource.level + dataSource.childLevels + groupCaptionSummaryRows[0].cells.length;\n var hIndex = 0;\n for (var _a = 0, _b = excelRows[excelRows.length - 1].cells; _a < _b.length; _a++) {\n var tCell = _b[_a];\n if (tCell.index < lIndex) {\n lIndex = tCell.index;\n }\n if (tCell.index > hIndex) {\n hIndex = tCell.index;\n }\n if (cells[cells.length - 1].index !== tCell.index) {\n cells.push(tCell);\n }\n }\n if ((lIndex - cell.index) > 1) {\n cell.colSpan = lIndex - cell.index;\n }\n var captionSummaryCells = Object.keys(groupCaptionSummaryRows[0].data);\n var cellsLength = captionSummaryCells ? captionSummaryCells.length : 0;\n while (hIndex < (headerRow.columns.length - cellsLength + level + dataSource.childLevels)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var summaryCell = {};\n summaryCell.index = (hIndex + 1);\n summaryCell.style = this.getCaptionThemeStyle(this.theme);\n var summaryCellArgs = { type: this.isCsvExport ? 'CSV' : 'Excel', data: item };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.exportGroupCaption, summaryCellArgs);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(summaryCellArgs.style)) {\n summaryCell.style = this.mergeOptions(summaryCell.style, summaryCellArgs.style);\n }\n cells.push(summaryCell);\n hIndex++;\n }\n }\n else {\n var span = 0;\n //Calculation for column span when group caption dont have aggregates\n for (var _c = 0, _d = headerRow.columns; _c < _d.length; _c++) {\n var col_1 = _d[_c];\n if (col_1.visible) {\n span++;\n }\n }\n cell.colSpan = (dataSource.childLevels + span);\n }\n excelRows[excelRows.length - 1].cells = cells;\n this.rowLength++;\n if (this.groupedColLength < 8 && level > 1) {\n var grouping = { outlineLevel: level - 1, isCollapsed: true };\n excelRows[excelRows.length - 1].grouping = grouping;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource.childLevels) && dataSource.childLevels > 0) {\n this.processGroupedRows(gObj, item.items, headerRow, item.items.level, startIndex, excelExportProperties, excelRows, helper);\n this.processAggregates(gObj, item, excelRows, undefined, (level - 1) + dataSource.childLevels, true);\n }\n else {\n startIndex = this.processRecordRows(gObj, item.items, headerRow, (level - 1), startIndex, excelExportProperties, excelRows, helper);\n this.processAggregates(gObj, item, excelRows, undefined, (level - 1), true);\n }\n }\n };\n ExcelExport.prototype.processRecordRows = function (gObj, record, headerRow, level, startIndex, excelExportProperties, excelRows, helper) {\n var index = 1;\n var cells = [];\n var columns = headerRow.columns;\n var rows = helper.getGridRowModel(columns, record, gObj, startIndex);\n for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {\n var row = rows_1[_i];\n cells = [];\n startIndex++;\n index = 1;\n var templateRowHeight = void 0;\n for (var c = 0, len = row.cells.length; c < len; c++) {\n var gCell = row.cells[parseInt(c.toString(), 10)];\n if (gCell.cellType !== _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.Data) {\n continue;\n }\n var column = gCell.column;\n var field = column.field;\n var cellValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(field) ? column.valueAccessor(field, row.data, column) : '';\n var value = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellValue) ? cellValue : '';\n if (column.type === 'dateonly' && typeof value === 'string' && value) {\n var arr = value.split(/[^0-9.]/);\n value = new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10));\n }\n var fkData = void 0;\n if (column.isForeignColumn && column.isForeignColumn()) {\n fkData = helper.getFData(value, column);\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.foreignKeyValue, fkData);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n var cell = {};\n var idx = index + level + gObj.childGridLevel;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var excelCellArgs = {\n data: row.data, column: column, foreignKeyData: fkData,\n value: value, style: undefined, colSpan: 1, cell: cell\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.excelQueryCellInfo, excelCellArgs);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelCellArgs.image) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelCellArgs.image.base64)) {\n templateRowHeight = this.setImage(excelCellArgs, idx);\n if (excelCellArgs.image.height && excelCellArgs.value !== '') {\n templateRowHeight += 30;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelCellArgs.hyperLink)) {\n excelCellArgs.cell.hyperlink = { target: excelCellArgs.hyperLink.target };\n excelCellArgs.value = excelCellArgs.hyperLink.displayText || excelCellArgs.value;\n }\n cell = excelCellArgs.cell;\n cell.index = idx;\n cell.value = excelCellArgs.value;\n if (excelCellArgs.data === '' && gObj.childGridLevel && index === 1) {\n var style = {};\n style.hAlign = 'left';\n excelCellArgs = { style: style };\n cell.colSpan = gObj.getVisibleColumns().length;\n cell.value = this.l10n.getConstant('EmptyRecord');\n }\n if (excelCellArgs.colSpan > 1) {\n cell.colSpan = excelCellArgs.colSpan;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelCellArgs.style)) {\n var styleIndex = this.getColumnStyle(gObj, index + level);\n cell.style = this.mergeOptions(this.styles[parseInt(styleIndex.toString(), 10)], excelCellArgs.style);\n }\n else {\n cell.style = { name: gObj.element.id + 'column' + (index + level) };\n }\n cells.push(cell);\n }\n index++;\n }\n var excelRow = { index: this.rowLength++, cells: cells };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateRowHeight)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n excelRow.height = templateRowHeight;\n }\n if (this.groupedColLength && this.groupedColLength < 8 && (level + 1) > 0) {\n excelRow.grouping = { outlineLevel: (level + 1), isCollapsed: true };\n excelRows.push(excelRow);\n }\n else {\n excelRows.push(excelRow);\n }\n if ((row.isExpand || this.isChild) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.childGrid) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.detailTemplate))) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.childGrid)) {\n gObj.isPrinting = true;\n var exportType = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelExportProperties) && excelExportProperties.exportType) ?\n excelExportProperties.exportType : 'AllPages';\n var returnVal = this.helper.createChildGrid(gObj, row, exportType, this.gridPool);\n var childGridObj = returnVal.childGrid;\n var element = returnVal.element;\n childGridObj.actionFailure =\n helper.failureHandler(this.gridPool, childGridObj, this.globalResolve);\n childGridObj.childGridLevel = gObj.childGridLevel + 1;\n var childExportProperties = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(excelExportProperties, {\n columns: null,\n dataSource: null,\n query: null\n });\n var args = { childGrid: childGridObj, row: row, exportProperties: childExportProperties };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.exportDetailDataBound, args);\n childGridObj.beforeDataBound = this.childGridCell(excelRow, childGridObj, childExportProperties, row);\n childGridObj.appendTo(element);\n }\n else {\n var args = { parentRow: row, row: excelRow, value: {}, action: 'excelexport', gridInstance: gObj };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.exportDetailTemplate, args);\n excelRow.childRows = this.processDetailTemplate(args);\n }\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.exportRowDataBound, { rowObj: row, type: 'excel', excelRows: excelRows });\n }\n return startIndex;\n };\n ExcelExport.prototype.processDetailTemplate = function (templateData) {\n var _this = this;\n var rows = [];\n var templateRowHeight;\n var detailIndent = 2;\n var detailCellIndex;\n if (templateData.value.columnHeader || templateData.value.rows) {\n var processCell_1 = function (currentCell, isHeader) {\n var cell = {};\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.index)) {\n currentCell.index = detailCellIndex;\n detailCellIndex++;\n }\n cell.index = currentCell.index + detailIndent;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.value)) {\n cell.value = currentCell.value;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.colSpan)) {\n cell.colSpan = currentCell.colSpan;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.rowSpan)) {\n cell.rowSpan = currentCell.rowSpan;\n }\n if (isHeader) {\n cell.style = _this.getHeaderThemeStyle(_this.theme);\n }\n else {\n cell.style = _this.getRecordThemeStyle(_this.theme);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.style)) {\n var cellStyle = {\n fontColor: currentCell.style.fontColor,\n fontName: currentCell.style.fontName,\n fontSize: currentCell.style.fontSize,\n hAlign: currentCell.style.excelHAlign,\n vAlign: currentCell.style.excelVAlign,\n rotation: currentCell.style.excelRotation,\n bold: currentCell.style.bold,\n indent: currentCell.style.indent,\n italic: currentCell.style.italic,\n underline: currentCell.style.underline,\n backColor: currentCell.style.backColor,\n wrapText: currentCell.style.wrapText,\n borders: currentCell.style.excelBorders,\n numberFormat: currentCell.style.excelNumberFormat,\n type: currentCell.style.excelType,\n strikeThrough: currentCell.style.strikeThrough\n };\n cell.style = _this.mergeOptions(cellStyle, cell.style);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.image) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.image.base64)) {\n if (currentCell.rowSpan > 1) {\n _this.setImage(currentCell, cell.index);\n }\n else {\n templateRowHeight = _this.setImage(currentCell, cell.index);\n if (currentCell.image.height && currentCell.value !== '') {\n templateRowHeight += 30;\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.hyperLink)) {\n cell.hyperlink = { target: currentCell.hyperLink.target };\n cell.value = currentCell.hyperLink.displayText;\n }\n return cell;\n };\n var processRow = function (currentRow, isHeader) {\n var excelDetailCells = [];\n detailCellIndex = 0;\n for (var j = 0; j < currentRow.cells.length; j++) {\n var currentCell = currentRow.cells[parseInt(j.toString(), 10)];\n var detailCell = processCell_1(currentCell, isHeader);\n excelDetailCells.push(detailCell);\n }\n var row = { index: _this.rowLength++, cells: excelDetailCells };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateRowHeight)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row.height = templateRowHeight;\n templateRowHeight = null;\n }\n rows.push(row);\n };\n if (templateData.value.columnHeader) {\n for (var i = 0; i < templateData.value.columnHeader.length; i++) {\n processRow(templateData.value.columnHeader[parseInt(i.toString(), 10)], true);\n }\n }\n if (templateData.value.rows) {\n for (var i = 0; i < templateData.value.rows.length; i++) {\n processRow(templateData.value.rows[parseInt(i.toString(), 10)]);\n }\n }\n }\n else if (templateData.value.image) {\n templateRowHeight = this.setImage(templateData.value, detailIndent);\n var row = {\n index: this.rowLength++,\n cells: [{\n index: detailIndent,\n style: this.getRecordThemeStyle(this.theme)\n }]\n };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateRowHeight)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row.height = templateRowHeight;\n templateRowHeight = null;\n }\n rows.push(row);\n }\n else if (templateData.value.text) {\n var row = {\n index: this.rowLength++,\n cells: [{\n index: detailIndent,\n value: templateData.value.text,\n style: this.getRecordThemeStyle(this.theme)\n }]\n };\n rows.push(row);\n }\n else if (templateData.value.hyperLink) {\n var row = {\n index: this.rowLength++,\n cells: [{\n index: 2,\n hyperlink: { target: templateData.value.hyperLink.target },\n value: templateData.value.hyperLink.displayText,\n style: this.getRecordThemeStyle(this.theme)\n }]\n };\n rows.push(row);\n }\n for (var i = 0; i < rows.length; i++) {\n rows[parseInt(i.toString(), 10)].grouping = {\n outlineLevel: 1, isCollapsed: !templateData.parentRow.isExpand, isHidden: !templateData.parentRow.isExpand\n };\n }\n return rows;\n };\n ExcelExport.prototype.setImage = function (args, idx) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.sheet.images)) {\n this.sheet.images = [];\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var excelImage = {\n image: args.image.base64, row: this.rowLength, column: idx,\n lastRow: this.rowLength, lastColumn: idx\n };\n if (args.image.width && args.image.height) {\n excelImage.width = args.image.width;\n excelImage.height = args.image.height;\n }\n this.sheet.images.push(excelImage);\n this.columns[idx - 1].width = args.image.width || this.columns[idx - 1].width;\n return args.image.height || 50;\n };\n ExcelExport.prototype.childGridCell = function (excelRow, childGridObj, excelExportProps, gRow) {\n var _this = this;\n return function (result) {\n childGridObj.beforeDataBound = null;\n result.cancel = true;\n if (result.result.length === 0) {\n result.result = [''];\n }\n excelRow.childRows = _this.processGridExport(childGridObj, excelExportProps, result);\n var intent = _this.parent.groupSettings.columns.length;\n var rows = excelRow.childRows;\n for (var i = 0; i < rows.length; i++) {\n rows[parseInt(i.toString(), 10)].grouping = { outlineLevel: intent + childGridObj\n .childGridLevel, isCollapsed: !gRow.isExpand, isHidden: !gRow.isExpand };\n }\n childGridObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(childGridObj.element);\n _this.gridPool[childGridObj.id] = true;\n _this.helper.checkAndExport(_this.gridPool, _this.globalResolve);\n return excelRow;\n };\n };\n ExcelExport.prototype.processAggregates = function (gObj, rec, excelRows, currentViewRecords, indent, byGroup) {\n var summaryModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_8__.SummaryModelGenerator(gObj);\n var columns = summaryModel.getColumns();\n columns = columns.filter(function (col) { return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.commands) && col.type !== 'checkbox'; });\n if (gObj.aggregates.length && this.parent !== gObj) {\n gObj.aggregateModule.prepareSummaryInfo();\n }\n var data = undefined;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentViewRecords)) {\n data = currentViewRecords;\n }\n else {\n data = rec;\n }\n if (indent === undefined) {\n indent = 0;\n }\n if (gObj.groupSettings.columns.length > 0 && byGroup) {\n var groupSummaryModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_8__.GroupSummaryModelGenerator(gObj);\n var groupSummaryRows = groupSummaryModel.generateRows(data, { level: data.level });\n if (groupSummaryRows.length > 0) {\n excelRows = this.fillAggregates(gObj, groupSummaryRows, indent, excelRows);\n }\n }\n else {\n indent = gObj.groupSettings.columns.length > 0 && !byGroup ? gObj.groupSettings.columns.length : indent;\n var sRows = summaryModel.generateRows(data, rec.aggregates, null, null, columns);\n if (sRows.length > 0 && !byGroup) {\n indent = gObj.groupSettings.columns.length ? indent - 1 : indent;\n excelRows = this.fillAggregates(gObj, sRows, indent, excelRows);\n }\n }\n return excelRows;\n };\n ExcelExport.prototype.fillAggregates = function (gObj, rows, indent, excelRows, customIndex) {\n for (var _i = 0, rows_2 = rows; _i < rows_2.length; _i++) {\n var row = rows_2[_i];\n var cells = [];\n var isEmpty = true;\n var index = 0;\n for (var _a = 0, _b = row.cells; _a < _b.length; _a++) {\n var cell = _b[_a];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var eCell = {};\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var columnsDetails = {};\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.attributes.index)) {\n columnsDetails = this.parent.getColumnByIndex(cell.attributes.index);\n }\n if (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.DetailFooterIntent || columnsDetails.type === 'checkbox' || columnsDetails.commands) {\n continue;\n }\n if ((cell.visible || this.includeHiddenColumn)) {\n index++;\n if (cell.isDataCell) {\n isEmpty = false;\n var footerTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.footerTemplate);\n var groupFooterTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.groupFooterTemplate);\n var groupCaptionTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.groupCaptionTemplate);\n eCell.index = index + indent + gObj.childGridLevel;\n if (footerTemplate) {\n eCell.value = this.getAggreateValue(gObj, _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.Summary, cell.column.footerTemplate, cell, row);\n }\n else if (groupFooterTemplate) {\n eCell.value = this.getAggreateValue(gObj, _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.GroupSummary, cell.column.groupFooterTemplate, cell, row);\n }\n else if (groupCaptionTemplate) {\n eCell.value = this.getAggreateValue(gObj, _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.CaptionSummary, cell.column.groupCaptionTemplate, cell, row);\n }\n else {\n for (var _c = 0, _d = Object.keys(row.data[cell.column.field]); _c < _d.length; _c++) {\n var key = _d[_c];\n if (key === cell.column.type) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].Sum)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - sum\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].Average)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - average\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].Max)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - max\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].Min)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - min\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].Count)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - count\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].TrueCount)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - truecount\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].FalseCount)) {\n eCell.value = row.data[cell.column.field][cell.column.field + \" - falsecount\"];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.data[cell.column.field].Custom)) {\n eCell.value = row.data[cell.column.field].Custom;\n }\n }\n }\n }\n eCell.style = this.getCaptionThemeStyle(this.theme); //{ name: gObj.element.id + 'column' + index };\n this.aggregateStyle(cell.column, eCell.style, cell.column.field);\n var gridCellStyle = cell.attributes.class != null ? cell.attributes.class.toString() : '';\n if (gridCellStyle) {\n eCell.style.hAlign = gridCellStyle.indexOf('e-rightalign') > -1 ? 'right' :\n gridCellStyle.indexOf('e-centeralign') > -1 ? 'center' : 'left';\n }\n var args = {\n row: row,\n type: footerTemplate ? 'Footer' : groupFooterTemplate ? 'GroupFooter' : 'GroupCaption',\n style: eCell,\n cell: cell\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.excelAggregateQueryCellInfo, args);\n cells.push(eCell);\n }\n else {\n if (customIndex === undefined) {\n eCell.index = index + indent + gObj.childGridLevel;\n eCell.style = this.getCaptionThemeStyle(this.theme); //{ name: gObj.element.id + 'column' + index };\n var args = {\n row: row,\n type: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.footerTemplate) ? 'Footer' : !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.groupFooterTemplate) ? 'GroupFooter' : 'GroupCaption',\n style: eCell,\n cell: cell\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.excelAggregateQueryCellInfo, args);\n cells.push(eCell);\n }\n }\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(customIndex)) {\n excelRows.push({ index: customIndex, cells: cells });\n }\n else {\n var row_1 = {};\n var dummyOutlineLevel = 'outlineLevel';\n var dummyGrouping = 'grouping';\n if (this.groupedColLength < 8 && this.groupedColLength > 0 && !(gObj.groupSettings.enableLazyLoading && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelRows[excelRows.length - 1][\"\" + dummyGrouping]))) {\n var level = excelRows[excelRows.length - 1][\"\" + dummyGrouping][\"\" + dummyOutlineLevel];\n var grouping = { outlineLevel: level, isCollapsed: true };\n row_1 = { index: this.rowLength++, cells: cells, grouping: grouping };\n }\n else {\n row_1 = { index: this.rowLength++, cells: cells };\n }\n if (!isEmpty) {\n excelRows.push(row_1);\n }\n }\n }\n return excelRows;\n };\n ExcelExport.prototype.aggregateStyle = function (col, style, field) {\n var column = this.parent.getColumnByField(field);\n if (typeof col.format === 'object') {\n var format = col.format;\n style.numberFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format.format) ? format.format : format.skeleton;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format.type)) {\n style.type = format.type.toLowerCase();\n }\n }\n else {\n style.numberFormat = col.format;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(style.type)) {\n style.type = column.type.toLowerCase();\n }\n };\n ExcelExport.prototype.getAggreateValue = function (gObj, cellType, template, cell, row) {\n var templateFn = {};\n templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType, cell.cellType)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n var txt;\n var data = row.data[cell.column.field ? cell.column.field : cell.column.columnName];\n if ((this.parent.isReact || this.parent.isVue || this.parent.isVue3 || this.parent.isAngular) &&\n !(typeof cell.column.footerTemplate === 'string' || typeof cell.column.groupFooterTemplate === 'string' || typeof cell.column.groupCaptionTemplate === 'string')) {\n txt = data[(cell.column.type)];\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(txt) ? (txt) : '';\n }\n else {\n txt = (templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType, cell.cellType)](data, this.parent));\n if (this.parent.isVue3 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(txt[1])) {\n return txt[1].textContent;\n }\n }\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(txt[0]) ? txt[0].textContent : '';\n };\n ExcelExport.prototype.mergeOptions = function (JSON1, JSON2) {\n var result = {};\n var attrname = Object.keys(JSON1);\n for (var index = 0; index < attrname.length; index++) {\n if (attrname[parseInt(index.toString(), 10)] !== 'name') {\n result[attrname[parseInt(index.toString(), 10)]] = JSON1[attrname[parseInt(index.toString(), 10)]];\n }\n }\n attrname = Object.keys(JSON2);\n for (var index = 0; index < attrname.length; index++) {\n if (attrname[parseInt(index.toString(), 10)] !== 'name') {\n result[attrname[parseInt(index.toString(), 10)]] = JSON2[attrname[parseInt(index.toString(), 10)]];\n }\n }\n return result;\n };\n ExcelExport.prototype.getColumnStyle = function (gObj, columnIndex) {\n var index = 0;\n for (var _i = 0, _a = this.styles; _i < _a.length; _i++) {\n var style = _a[_i];\n if (style.name === gObj.element.id + 'column' + columnIndex) {\n return index;\n }\n index++;\n }\n return undefined;\n };\n ExcelExport.prototype.headerRotation = function (args) {\n var degree = args.style.rotation;\n if (degree <= 90 && degree >= 0) {\n args.style.hAlign = 'Left';\n }\n else if (degree > 90 && degree <= 180) {\n args.style.hAlign = 'Right';\n }\n else {\n degree = 180;\n args.style.hAlign = 'Right';\n }\n args.style.rotation = degree;\n };\n ExcelExport.prototype.processHeaderContent = function (gObj, headerRow, indent, excelRows) {\n var rowIndex = 1;\n var gridRows = headerRow.rows;\n // Column collection with respect to the records in the grid\n var gridColumns = headerRow.columns;\n var spannedCells = [];\n if (indent > 0) {\n var index = 0;\n while (index !== indent) {\n this.columns.push({ index: index + 1, width: 30 });\n index++;\n }\n }\n for (var col = 0; col < gridColumns.length; col++) {\n this.parseStyles(gObj, gridColumns[parseInt(col.toString(), 10)], this.getRecordThemeStyle(this.theme), indent + col + 1);\n }\n var templateRowHeight;\n for (var row = 0; row < gridRows.length; row++) {\n var currentCellIndex = 1 + indent;\n var cells = [];\n for (var column = 0; column < gridRows[parseInt(row.toString(), 10)].cells.length; column++) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var style = {};\n var cell = {};\n var gridCell = gridRows[parseInt(row.toString(), 10)].cells[parseInt(column.toString(), 10)];\n if (gridCell.isSpanned || gridCell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.HeaderIndent || gridCell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.DetailHeader) {\n continue;\n }\n var result = { contains: true, index: 1 };\n while (result.contains) {\n result = this.getIndex(spannedCells, rowIndex, currentCellIndex);\n currentCellIndex = result.index;\n if (!result.contains) {\n cell.index = result.index + gObj.childGridLevel;\n break;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridCell.rowSpan) && gridCell.rowSpan !== 1) {\n cell.rowSpan = gridCell.rowSpan;\n for (var i = rowIndex; i < gridCell.rowSpan + rowIndex; i++) {\n var spannedCell = { rowIndex: 0, columnIndex: 0,\n colSpan: 0 };\n spannedCell.rowIndex = i;\n spannedCell.columnIndex = currentCellIndex;\n spannedCell.colSpan = gridCell.colSpan || 1;\n spannedCells.push(spannedCell);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridCell.colSpan) && gridCell.colSpan !== 1) {\n cell.colSpan = gridCell.colSpan;\n currentCellIndex = currentCellIndex + cell.colSpan - 1;\n }\n cell.value = gridCell.column.headerText;\n style = this.getHeaderThemeStyle(this.theme);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridCell.column.textAlign)) {\n style.hAlign = gridCell.column.textAlign.toLowerCase();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridCell.column.headerTextAlign)) {\n style.hAlign = gridCell.column.headerTextAlign.toLowerCase();\n }\n var excelHeaderCellArgs = { cell: cell, gridCell: gridCell, style: style };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.excelHeaderQueryCellInfo, excelHeaderCellArgs);\n if (gridCell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_9__.CellType.Header && cell.colSpan > 1) {\n currentCellIndex = currentCellIndex + cell.colSpan - 1;\n for (var j = 1; j < cell.colSpan; j++) {\n var nextCellIndex = column + j;\n if (nextCellIndex < gridRows[parseInt(row.toString(), 10)].cells.length) {\n gridRows[parseInt(row.toString(), 10)].cells[parseInt(nextCellIndex.toString(), 10)].isSpanned = true;\n }\n }\n for (var i = 0; i < spannedCells.length; i++) {\n if (spannedCells[parseInt(i.toString(), 10)].columnIndex === cell.index) {\n spannedCells[parseInt(i.toString(), 10)].colSpan = cell.colSpan;\n }\n }\n }\n if (excelHeaderCellArgs.style.rotation) {\n this.headerRotation(excelHeaderCellArgs);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelHeaderCellArgs.image) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelHeaderCellArgs.image.base64)) {\n templateRowHeight = this.setImage(excelHeaderCellArgs, currentCellIndex);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(excelHeaderCellArgs.hyperLink)) {\n excelHeaderCellArgs.cell.hyperlink = { target: excelHeaderCellArgs.hyperLink.target };\n cell.value = excelHeaderCellArgs.hyperLink.displayText || cell.value;\n }\n cell.style = excelHeaderCellArgs.style;\n cells.push(cell);\n currentCellIndex++;\n }\n var excelRow = { index: this.rowLength++, cells: cells };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateRowHeight)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n excelRow.height = templateRowHeight;\n }\n excelRows.push(excelRow);\n }\n return excelRows;\n };\n ExcelExport.prototype.getHeaderThemeStyle = function (theme) {\n var style = {};\n style.fontSize = 12;\n style.borders = { color: '#E0E0E0' };\n style.bold = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme.header)) {\n style = this.updateThemeStyle(theme.header, style);\n }\n return style;\n };\n ExcelExport.prototype.updateThemeStyle = function (themestyle, style) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(style, themestyle);\n };\n ExcelExport.prototype.getCaptionThemeStyle = function (theme) {\n var style = {};\n style.fontSize = 13;\n style.backColor = '#F6F6F6';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme.caption)) {\n style = this.updateThemeStyle(theme.caption, style);\n }\n return style;\n };\n ExcelExport.prototype.getRecordThemeStyle = function (theme) {\n var style = {};\n style.fontSize = 13;\n style.borders = { color: '#E0E0E0' };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme.record)) {\n style = this.updateThemeStyle(theme.record, style);\n }\n return style;\n };\n ExcelExport.prototype.processExcelHeader = function (header) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(header.rows) && (this.expType === 'NewSheet' || this.rowLength === 1)) {\n var noRows = void 0;\n if (header.headerRows === undefined) {\n this.rowLength = header.rows.length;\n }\n else {\n this.rowLength = header.headerRows;\n }\n if (this.rowLength < header.rows.length) {\n noRows = this.rowLength;\n }\n else {\n noRows = header.rows.length;\n }\n this.rowLength++;\n for (var row = 0; row < noRows; row++) {\n var json = header.rows[parseInt(row.toString(), 10)];\n //Row index\n if (!(json.index !== null && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(json.index))) {\n json.index = (row + 1);\n }\n this.updatedCellIndex(json);\n }\n }\n };\n ExcelExport.prototype.updatedCellIndex = function (json) {\n var cellsLength = json.cells.length;\n for (var cellId = 0; cellId < cellsLength; cellId++) {\n var jsonCell = json.cells[parseInt(cellId.toString(), 10)];\n //cell index\n if (!(jsonCell.index !== null && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(jsonCell.index))) {\n jsonCell.index = (cellId + 1);\n }\n }\n this.rows.push(json);\n };\n ExcelExport.prototype.processExcelFooter = function (footer) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(footer.rows)) {\n var noRows = void 0;\n if (footer.footerRows === undefined) {\n this.rowLength += footer.rows.length;\n }\n else {\n if (footer.footerRows > footer.rows.length) {\n this.rowLength += (footer.footerRows - footer.rows.length);\n noRows = footer.rows.length;\n }\n else {\n noRows = footer.footerRows;\n }\n }\n for (var row = 0; row < noRows; row++) {\n var json = footer.rows[parseInt(row.toString(), 10)];\n //Row index\n if (json.index === null || json.index === undefined) {\n json.index = this.rowLength++;\n }\n else {\n json.index += this.rowLength;\n }\n this.updatedCellIndex(json);\n }\n }\n };\n ExcelExport.prototype.getIndex = function (spannedCells, rowIndex, columnIndex) {\n for (var _i = 0, spannedCells_1 = spannedCells; _i < spannedCells_1.length; _i++) {\n var spannedCell = spannedCells_1[_i];\n if ((spannedCell.rowIndex === rowIndex) && (spannedCell.columnIndex === columnIndex)) {\n columnIndex += spannedCell.colSpan || 1;\n return { contains: true, index: columnIndex };\n }\n }\n return { contains: false, index: columnIndex };\n };\n ExcelExport.prototype.parseStyles = function (gObj, col, style, index) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.format)) {\n if (typeof col.format === 'object') {\n var format = col.format;\n style.numberFormat = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format.format) ? format.format : format.skeleton;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format.type)) {\n style.type = format.type === 'dateonly' ? 'date' : format.type.toLowerCase();\n }\n }\n else {\n style.numberFormat = col.format;\n style.type = col.type === 'dateonly' ? 'date' : col.type;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.textAlign)) {\n style.hAlign = col.textAlign.toLowerCase();\n }\n if (Object.keys(style).length > 0) {\n style.name = gObj.element.id + 'column' + index;\n this.styles.push(style);\n }\n if (!gObj.childGridLevel) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.width) && col.width !== 'auto') {\n this.columns.push({ index: index + gObj.childGridLevel, width: typeof col.width === 'number' ?\n col.width : this.helper.getConvertedWidth(col.width) });\n }\n else {\n this.columns.push({ index: index + gObj.childGridLevel, width: null });\n }\n }\n };\n ExcelExport.prototype.destroy = function () {\n //destroy for exporting\n };\n return ExcelExport;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-export.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExcelFilter: () => (/* binding */ ExcelFilter)\n/* harmony export */ });\n/* harmony import */ var _common_excel_filter_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/excel-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.js\");\n/* harmony import */ var _checkbox_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./checkbox-filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * @hidden\n * `ExcelFilter` module is used to handle filtering action.\n */\nvar ExcelFilter = /** @class */ (function (_super) {\n __extends(ExcelFilter, _super);\n /**\n * Constructor for excelbox filtering module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {FilterSettings} filterSettings - specifies the Filtersettings\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n * @param {object} customFltrOperators - specifies the customFltrOperators\n * @hidden\n */\n function ExcelFilter(parent, filterSettings, serviceLocator, customFltrOperators) {\n var _this = _super.call(this, parent, filterSettings, serviceLocator) || this;\n _this.parent = parent;\n _this.isresetFocus = true;\n _this.excelFilterBase = new _common_excel_filter_base__WEBPACK_IMPORTED_MODULE_0__.ExcelFilterBase(parent, customFltrOperators);\n return _this;\n }\n /**\n * To destroy the excel filter.\n *\n * @returns {void}\n * @hidden\n */\n ExcelFilter.prototype.destroy = function () {\n this.excelFilterBase.closeDialog();\n };\n ExcelFilter.prototype.openDialog = function (options) {\n this.excelFilterBase.openDialog(options);\n };\n ExcelFilter.prototype.closeDialog = function () {\n this.excelFilterBase.closeDialog();\n if (this.isresetFocus) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.restoreFocus, {});\n }\n };\n ExcelFilter.prototype.clearCustomFilter = function (col) {\n this.excelFilterBase.clearFilter(col);\n };\n ExcelFilter.prototype.closeResponsiveDialog = function (isCustomFilter) {\n if (isCustomFilter) {\n this.excelFilterBase.removeDialog();\n }\n else {\n this.closeDialog();\n }\n };\n ExcelFilter.prototype.applyCustomFilter = function (args) {\n if (!args.isCustomFilter) {\n this.excelFilterBase.fltrBtnHandler();\n this.excelFilterBase.closeDialog();\n }\n else {\n this.excelFilterBase.filterBtnClick(args.col.field);\n }\n };\n ExcelFilter.prototype.filterByColumn = function (fieldName, firstOperator, firstValue, predicate, matchCase, ignoreAccent, secondOperator, secondValue) {\n this.excelFilterBase.filterByColumn(fieldName, firstOperator, firstValue, predicate, matchCase, ignoreAccent, secondOperator, secondValue);\n };\n /**\n * @returns {FilterUI} returns the filterUI\n * @hidden\n */\n ExcelFilter.prototype.getFilterUIInfo = function () {\n return this.excelFilterBase.getFilterUIInfo();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n ExcelFilter.prototype.getModuleName = function () {\n return 'excelFilter';\n };\n return ExcelFilter;\n}(_checkbox_filter__WEBPACK_IMPORTED_MODULE_2__.CheckBoxFilter));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExportHelper: () => (/* binding */ ExportHelper),\n/* harmony export */ ExportValueFormatter: () => (/* binding */ ExportValueFormatter)\n/* harmony export */ });\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_grid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base/grid */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/grid.js\");\n\n\n\n\n\n\n\n\n/**\n * @hidden\n * `ExportHelper` for `PdfExport` & `ExcelExport`\n */\nvar ExportHelper = /** @class */ (function () {\n function ExportHelper(parent, foreignKeyData) {\n this.hideColumnInclude = false;\n this.foreignKeyData = {};\n this.parent = parent;\n if (!parent.parentDetails && foreignKeyData) {\n this.foreignKeyData = foreignKeyData;\n }\n }\n ExportHelper.getQuery = function (parent, data) {\n var query = data.generateQuery(true).requiresCount();\n if (data.isRemote()) {\n if (parent.groupSettings.enableLazyLoading && parent.groupSettings.columns.length) {\n query.lazyLoad = [];\n }\n else {\n query.take(parent.pageSettings.totalRecordsCount);\n }\n }\n return query;\n };\n ExportHelper.prototype.getFData = function (value, column) {\n var foreignKeyData = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getForeignData)(column, {}, value, this.foreignKeyData[column.field])[0];\n return foreignKeyData;\n };\n ExportHelper.prototype.getGridRowModel = function (columns, dataSource, gObj, startIndex) {\n if (startIndex === void 0) { startIndex = 0; }\n var rows = [];\n var length = dataSource.length;\n if (length) {\n for (var i = 0; i < length; i++, startIndex++) {\n var options = { isExpand: false };\n options.data = dataSource[parseInt(i.toString(), 10)];\n options.index = startIndex;\n if (gObj.childGrid || gObj.detailTemplate) {\n if (gObj.hierarchyPrintMode === 'All') {\n options.isExpand = true;\n }\n else if (gObj.hierarchyPrintMode === 'Expanded' &&\n this.parent.expandedRows && this.parent.expandedRows[parseInt(startIndex.toString(), 10)]) {\n options.isExpand = gObj.expandedRows[parseInt(startIndex.toString(), 10)].isExpand;\n }\n }\n var row = new _models_row__WEBPACK_IMPORTED_MODULE_2__.Row(options);\n row.cells = this.generateCells(columns, gObj);\n rows.push(row);\n }\n this.processColumns(rows);\n }\n return rows;\n };\n ExportHelper.prototype.generateCells = function (columns, gObj) {\n var cells = [];\n if (gObj.childGridLevel) {\n var len = gObj.childGridLevel;\n for (var i = 0; len > i; i++) {\n cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_3__.CellType.Indent));\n }\n }\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var col = columns_1[_i];\n cells.push(this.generateCell(col, _base_enum__WEBPACK_IMPORTED_MODULE_3__.CellType.Data));\n }\n return cells;\n };\n ExportHelper.prototype.getColumnData = function (gridObj) {\n var _this = this;\n var columnPromise = [];\n var promise;\n var fColumns = gridObj.getForeignKeyColumns();\n if (fColumns.length) {\n for (var i = 0; i < fColumns.length; i++) {\n var colData = ('result' in fColumns[parseInt(i.toString(), 10)].dataSource) ?\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataManager(fColumns[parseInt(i.toString(), 10)].dataSource.result) :\n fColumns[parseInt(i.toString(), 10)].dataSource;\n columnPromise.push(colData.executeQuery(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query()));\n }\n promise = Promise.all(columnPromise).then(function (e) {\n for (var j = 0; j < fColumns.length; j++) {\n _this.foreignKeyData[fColumns[parseInt(j.toString(), 10)].field] = e[parseInt(j.toString(), 10)].result;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n });\n }\n return promise;\n };\n ExportHelper.prototype.getHeaders = function (columns, isHideColumnInclude) {\n if (isHideColumnInclude) {\n this.hideColumnInclude = true;\n }\n else {\n this.hideColumnInclude = false;\n }\n this.colDepth = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.measureColumnDepth)(columns);\n var rows = [];\n for (var i = 0; i < this.colDepth; i++) {\n rows[parseInt(i.toString(), 10)] = new _models_row__WEBPACK_IMPORTED_MODULE_2__.Row({});\n rows[parseInt(i.toString(), 10)].cells = [];\n }\n rows = this.processColumns(rows);\n rows = this.processHeaderCells(rows, columns);\n return { rows: rows, columns: this.generateActualColumns(columns) };\n };\n ExportHelper.prototype.getConvertedWidth = function (input) {\n var value = parseFloat(input);\n return (input.indexOf('%') !== -1) ? (this.parent.element.getBoundingClientRect().width * value / 100) : value;\n };\n ExportHelper.prototype.generateActualColumns = function (columns, actualColumns) {\n if (actualColumns === void 0) { actualColumns = []; }\n for (var _i = 0, columns_2 = columns; _i < columns_2.length; _i++) {\n var column = columns_2[_i];\n if (column.commands) {\n continue;\n }\n if (!column.columns) {\n if (column.visible || this.hideColumnInclude) {\n actualColumns.push(column);\n }\n }\n else {\n if (column.visible || this.hideColumnInclude) {\n var colSpan = this.getCellCount(column, 0);\n if (colSpan !== 0) {\n this.generateActualColumns(column.columns, actualColumns);\n }\n }\n }\n }\n return actualColumns;\n };\n ExportHelper.prototype.processHeaderCells = function (rows, cols) {\n var columns = cols;\n for (var i = 0; i < columns.length; i++) {\n if (!columns[parseInt(i.toString(), 10)].commands) {\n rows = this.appendGridCells(columns[parseInt(i.toString(), 10)], rows, 0);\n }\n }\n return rows;\n };\n ExportHelper.prototype.appendGridCells = function (cols, gridRows, index) {\n if (!cols.columns && (cols.visible !== false || this.hideColumnInclude) && !cols.commands) {\n gridRows[parseInt(index.toString(), 10)].cells.push(this.generateCell(cols, _base_enum__WEBPACK_IMPORTED_MODULE_3__.CellType.Header, this.colDepth - index, index));\n }\n else if (cols.columns) {\n var colSpan = this.getCellCount(cols, 0);\n if (colSpan) {\n gridRows[parseInt(index.toString(), 10)].cells.push(new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell({\n cellType: _base_enum__WEBPACK_IMPORTED_MODULE_3__.CellType.StackedHeader, column: cols, colSpan: colSpan\n }));\n }\n var isIgnoreFirstCell = void 0;\n for (var i = 0, len = cols.columns.length; i < len; i++) {\n if (cols.columns[parseInt(i.toString(), 10)].visible && !isIgnoreFirstCell) {\n isIgnoreFirstCell = true;\n }\n gridRows = this.appendGridCells(cols.columns[parseInt(i.toString(), 10)], gridRows, index + 1);\n }\n }\n return gridRows;\n };\n ExportHelper.prototype.generateCell = function (gridColumn, cellType, rowSpan, rowIndex) {\n var option = {\n 'visible': gridColumn.visible,\n 'isDataCell': cellType === _base_enum__WEBPACK_IMPORTED_MODULE_3__.CellType.Data,\n 'column': gridColumn,\n 'cellType': cellType,\n 'rowSpan': rowSpan,\n 'index': rowIndex\n };\n if (!option.rowSpan || option.rowSpan < 2) {\n delete option.rowSpan;\n }\n return new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell(option);\n };\n ExportHelper.prototype.processColumns = function (rows) {\n //TODO: generate dummy column for group, detail, stacked row here; ensureColumns here\n var gridObj = this.parent;\n var columnIndexes = [];\n if (gridObj.enableColumnVirtualization) {\n columnIndexes = gridObj.getColumnIndexesInView();\n }\n for (var i = 0, len = rows.length; i < len; i++) {\n if (gridObj.allowGrouping) {\n for (var j = 0, len_1 = gridObj.groupSettings.columns.length - 1; j < len_1; j++) {\n if (gridObj.enableColumnVirtualization && columnIndexes.indexOf(j) === -1) {\n continue;\n }\n rows[parseInt(i.toString(), 10)].cells.splice(0, 0, this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_3__.CellType.HeaderIndent));\n }\n }\n }\n return rows;\n };\n ExportHelper.prototype.getCellCount = function (column, count) {\n if (column.columns) {\n for (var i = 0; i < column.columns.length; i++) {\n count = this.getCellCount(column.columns[parseInt(i.toString(), 10)], count);\n }\n }\n else {\n if (column.visible || this.hideColumnInclude) {\n count++;\n }\n }\n return count;\n };\n ExportHelper.prototype.checkAndExport = function (gridPool, globalResolve) {\n var bool = Object.keys(gridPool).some(function (key) {\n return !gridPool[\"\" + key];\n });\n if (!bool) {\n globalResolve();\n }\n };\n ExportHelper.prototype.failureHandler = function (gridPool, childGridObj, resolve) {\n var _this = this;\n return function () {\n gridPool[childGridObj.id] = true;\n _this.checkAndExport(gridPool, resolve);\n };\n };\n ExportHelper.prototype.createChildGrid = function (gObj, row, exportType, gridPool) {\n var childGridObj = new _base_grid__WEBPACK_IMPORTED_MODULE_7__.Grid(this.parent.detailRowModule.getGridModel(gObj, row, exportType));\n gObj.isPrinting = false;\n var parent = 'parentDetails';\n childGridObj[\"\" + parent] = {\n parentID: gObj.element.id,\n parentPrimaryKeys: gObj.getPrimaryKeyFieldNames(),\n parentKeyField: gObj.childGrid.queryString,\n parentKeyFieldValue: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(childGridObj.queryString, row.data),\n parentRowData: row.data\n };\n var exportId = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getUid)('child-grid');\n var element = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { id: exportId });\n element.style.display = 'none';\n document.body.appendChild(element);\n childGridObj.id = exportId;\n gridPool[\"\" + exportId] = false;\n childGridObj.isExportGrid = true;\n return { childGrid: childGridObj, element: element };\n };\n ExportHelper.prototype.getGridExportColumns = function (columns) {\n var actualGridColumns = [];\n for (var i = 0, gridColumns = columns; i < gridColumns.length; i++) {\n if (gridColumns[parseInt(i.toString(), 10)].type !== 'checkbox') {\n actualGridColumns.push(gridColumns[parseInt(i.toString(), 10)]);\n }\n }\n return actualGridColumns;\n };\n /**\n * Gets the foreignkey data.\n *\n * @returns {ForeignKeyFormat} returns the foreignkey data\n * @hidden\n */\n ExportHelper.prototype.getForeignKeyData = function () {\n return this.foreignKeyData;\n };\n return ExportHelper;\n}());\n\n/**\n * @hidden\n * `ExportValueFormatter` for `PdfExport` & `ExcelExport`\n */\nvar ExportValueFormatter = /** @class */ (function () {\n function ExportValueFormatter(culture) {\n this.valueFormatter = new _services_value_formatter__WEBPACK_IMPORTED_MODULE_8__.ValueFormatter(culture);\n this.internationalization = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(culture);\n }\n ExportValueFormatter.prototype.returnFormattedValue = function (args, customFormat) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.value) && args.value) {\n return this.valueFormatter.getFormatFunction(customFormat)(args.value);\n }\n else {\n return '';\n }\n };\n /**\n * Used to format the exporting cell value\n *\n * @param {ExportHelperArgs} args - Specifies cell details.\n * @returns {string} returns formated value\n * @hidden\n */\n ExportValueFormatter.prototype.formatCellValue = function (args) {\n if (args.isForeignKey) {\n args.value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(args.column.foreignKeyValue, (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getForeignData)(args.column, {}, args.value)[0]);\n }\n if (args.column.type === 'number' && args.column.format !== undefined && args.column.format !== '') {\n if (typeof args.column.format === 'string') {\n args.column.format = { format: args.column.format };\n }\n return args.value || args.value === 0 ?\n this.internationalization.getNumberFormat(args.column.format)(args.value) : '';\n }\n else if (args.column.type === 'boolean' && args.value !== '') {\n return args.value ? 'true' : 'false';\n /* tslint:disable-next-line:max-line-length */\n }\n else if ((args.column.type === 'date' || args.column.type === 'dateonly' || args.column.type === 'datetime' || args.column.type === 'time') && args.column.format !== undefined) {\n if (typeof args.value === 'string') {\n args.value = new Date(args.value);\n }\n if (typeof args.column.format === 'string') {\n var format = void 0;\n var cFormat = args.column.format;\n if (args.column.type === 'date' || args.column.type === 'dateonly') {\n format = { type: 'date', skeleton: cFormat };\n }\n else if (args.column.type === 'time') {\n format = { type: 'time', skeleton: cFormat };\n }\n else {\n format = { type: 'dateTime', skeleton: cFormat };\n }\n return this.returnFormattedValue(args, format);\n }\n else {\n if (args.column.format instanceof Object && args.column.format.type === undefined) {\n return (args.value.toString());\n }\n else {\n var customFormat = void 0;\n if (args.column.type === 'date' || args.column.type === 'dateonly') {\n customFormat = {\n type: args.column.format.type,\n format: args.column.format.format, skeleton: args.column.format.skeleton\n };\n }\n else if (args.column.type === 'time') {\n customFormat = { type: 'time', format: args.column.format.format, skeleton: args.column.format.skeleton };\n }\n else {\n customFormat = { type: 'dateTime', format: args.column.format.format, skeleton: args.column.format.skeleton };\n }\n return this.returnFormattedValue(args, customFormat);\n }\n }\n }\n else {\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.column.type) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.value)) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.value)) {\n return (args.value).toString();\n }\n else {\n return '';\n }\n }\n };\n return ExportValueFormatter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Filter: () => (/* binding */ Filter)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _renderer_filter_cell_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../renderer/filter-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.js\");\n/* harmony import */ var _renderer_filter_menu_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../renderer/filter-menu-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-renderer.js\");\n/* harmony import */ var _actions_checkbox_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../actions/checkbox-filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.js\");\n/* harmony import */ var _actions_excel_filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actions/excel-filter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n *\n * The `Filter` module is used to handle filtering action.\n */\nvar Filter = /** @class */ (function () {\n /**\n * Constructor for Grid filtering module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {FilterSettings} filterSettings - specifies the filterSettings\n * @param {ServiceLocator} serviceLocator - specifes the serviceLocator\n * @hidden\n */\n function Filter(parent, filterSettings, serviceLocator) {\n this.predicate = 'and';\n this.contentRefresh = true;\n this.filterByMethod = true;\n this.refresh = true;\n this.values = {};\n this.operators = {};\n this.cellText = {};\n this.nextFlMenuOpen = '';\n this.type = { 'Menu': _renderer_filter_menu_renderer__WEBPACK_IMPORTED_MODULE_1__.FilterMenuRenderer, 'CheckBox': _actions_checkbox_filter__WEBPACK_IMPORTED_MODULE_2__.CheckBoxFilter, 'Excel': _actions_excel_filter__WEBPACK_IMPORTED_MODULE_3__.ExcelFilter };\n /** @hidden */\n this.filterOperators = {\n contains: 'contains', endsWith: 'endswith', equal: 'equal', greaterThan: 'greaterthan', greaterThanOrEqual: 'greaterthanorequal',\n lessThan: 'lessthan', lessThanOrEqual: 'lessthanorequal', notEqual: 'notequal', startsWith: 'startswith', wildCard: 'wildcard',\n isNull: 'isnull', notNull: 'notnull', like: 'like'\n };\n this.fltrDlgDetails = { field: '', isOpen: false };\n /** @hidden */\n this.skipNumberInput = ['=', ' ', '!'];\n this.skipStringInput = ['>', '<', '='];\n this.actualPredicate = {};\n /** @hidden */\n this.inputList = [];\n this.parent = parent;\n this.filterSettings = filterSettings;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n this.setFullScreenDialog();\n }\n /**\n * To render filter bar when filtering enabled.\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Filter.prototype.render = function (e) {\n if (_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.getObject('args.isFrozen', e)) {\n return;\n }\n var gObj = this.parent;\n this.l10n = this.serviceLocator.getService('localization');\n this.getLocalizedCustomOperators();\n if (this.parent.filterSettings.type === 'FilterBar') {\n if (gObj.columns.length) {\n var fltrElem = this.parent.element.querySelector('.e-filterbar');\n if (fltrElem) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(fltrElem);\n }\n var rowRenderer = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_5__.RowRenderer(this.serviceLocator, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.Filter, gObj);\n var cellrender = this.serviceLocator.getService('cellRendererFactory');\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.Filter, new _renderer_filter_cell_renderer__WEBPACK_IMPORTED_MODULE_7__.FilterCellRenderer(this.parent, this.serviceLocator));\n this.valueFormatter = this.serviceLocator.getService('valueFormatter');\n rowRenderer.element = this.parent.createElement('tr', { className: 'e-filterbar', attrs: { role: 'row' } });\n var row = this.generateRow();\n row.data = this.values;\n this.parent.getHeaderContent().querySelector('thead:not(.e-masked-thead)').appendChild(rowRenderer.element);\n var rowdrag = this.parent.element.querySelector('.e-rowdragheader');\n this.element = rowRenderer.render(row, gObj.getColumns(), null, null, rowRenderer.element);\n if (this.element.querySelectorAll('.e-leftfreeze').length &&\n (this.element.querySelectorAll('.e-indentcell').length || this.element.querySelectorAll('.e-grouptopleftcell').length)) {\n var td = this.element.querySelectorAll('.e-indentcell, .e-grouptopleftcell');\n for (var i = 0; i < td.length; i++) {\n td[parseInt(i.toString(), 10)].classList.add('e-leftfreeze');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.applyStickyLeftRightPosition)(td[parseInt(i.toString(), 10)], i * 30, this.parent.enableRtl, 'Left');\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.addFixedColumnBorder)(this.element);\n var detail = this.element.querySelector('.e-detailheadercell');\n if (detail) {\n detail.className = 'e-filterbarcell e-mastercell';\n }\n if (rowdrag) {\n if (rowdrag.classList.contains('e-leftfreeze')) {\n rowdrag.className = 'e-dragheadercell e-mastercell e-leftfreeze';\n }\n else {\n rowdrag.className = 'e-filterbarcell e-mastercell';\n }\n }\n var gCells = [].slice.call(this.element.getElementsByClassName('e-grouptopleftcell'));\n if (gCells.length) {\n gCells[gCells.length - 1].classList.add('e-lastgrouptopleftcell');\n }\n this.wireEvents();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.freezeRender, { case: 'filter' });\n }\n }\n };\n /**\n * To show the responsive custom filter dialog\n *\n * @param {boolean} enable - specifes dialog open\n * @returns {void}\n * @hidden\n */\n Filter.prototype.showCustomFilter = function (enable) {\n this.responsiveDialogRenderer.isCustomDialog = enable;\n this.responsiveDialogRenderer.showResponsiveDialog(this.column);\n };\n Filter.prototype.renderResponsiveChangeAction = function (args) {\n this.responsiveDialogRenderer.action = args.action;\n };\n /**\n * To create the filter module.\n *\n * @param {Column} col - specifies the filtering column name\n * @returns {void}\n * @hidden\n */\n Filter.prototype.setFilterModel = function (col) {\n var type = col.filter.type || this.parent.filterSettings.type;\n this.filterModule = new this.type[\"\" + type](this.parent, this.parent.filterSettings, this.serviceLocator, this.customOperators, this);\n };\n /**\n * To destroy the filter bar.\n *\n * @returns {void}\n * @hidden\n */\n Filter.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.gridContent))) {\n return;\n }\n if (this.filterModule) {\n this.filterModule.destroy();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!this.parent.refreshing && (this.parent.isDestroyed || !this.parent.allowFiltering)) {\n this.filterSettings.columns = [];\n }\n this.updateFilterMsg();\n this.removeEventListener();\n this.unWireEvents();\n if (this.filterSettings.type === 'FilterBar' && !this.parent.isDestroyed) {\n if (this.filterSettings.showFilterBarOperator) {\n var dropdownlist = [].slice.call(this.element.getElementsByClassName('e-filterbaroperator'));\n for (var i = 0; i < dropdownlist.length; i++) {\n if (dropdownlist[parseInt(i.toString(), 10)].ej2_instances[0]) {\n dropdownlist[parseInt(i.toString(), 10)].ej2_instances[0].destroy();\n }\n }\n }\n this.parent.getColumns().map(function (column) {\n if (column.filterBarTemplate && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterBarTemplate.destroy)) {\n var destroyFn = column.filterBarTemplate.destroy;\n if (typeof destroyFn === 'string') {\n destroyFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(destroyFn, window);\n }\n destroyFn();\n }\n });\n }\n if (this.element) {\n if (this.element.parentElement) {\n for (var i = 0; i < this.inputList.length; i++) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_11__.Input.destroy(this.inputList[parseInt(i.toString(), 10)], this.inputList[parseInt(i.toString(), 10)].element.nextElementSibling);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.inputList[parseInt(i.toString(), 10)].element);\n }\n this.inputList = [];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n this.element = null;\n }\n var filterBarElement = this.parent.getHeaderContent().querySelector('.e-filterbar');\n if (filterBarElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(filterBarElement);\n }\n }\n };\n Filter.prototype.setFullScreenDialog = function () {\n if (this.serviceLocator) {\n this.serviceLocator.registerAdaptiveService(this, this.parent.enableAdaptiveUI, _base_enum__WEBPACK_IMPORTED_MODULE_6__.ResponsiveDialogAction.isFilter);\n }\n };\n Filter.prototype.generateRow = function () {\n var options = {};\n var row = new _models_row__WEBPACK_IMPORTED_MODULE_12__.Row(options);\n row.cells = this.generateCells();\n return row;\n };\n Filter.prototype.generateCells = function () {\n //TODO: generate dummy column for group, detail, stacked row here for filtering;\n var cells = [];\n if (this.parent.allowGrouping) {\n for (var c = 0, len = this.parent.groupSettings.columns.length; c < len; c++) {\n cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.HeaderIndent));\n }\n }\n if (this.parent.detailTemplate || this.parent.childGrid) {\n cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.DetailHeader));\n }\n if (this.parent.isRowDragable() && this.parent.getFrozenMode() !== 'Right') {\n cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.RowDragHIcon));\n }\n for (var _i = 0, _a = this.parent.getColumns(); _i < _a.length; _i++) {\n var dummy = _a[_i];\n cells.push(this.generateCell(dummy));\n }\n if (this.parent.isRowDragable() && this.parent.getFrozenMode() === 'Right') {\n cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.RowDragHIcon));\n }\n return cells;\n };\n Filter.prototype.generateCell = function (column, cellType) {\n var opt = {\n 'visible': column.visible,\n 'isDataCell': false,\n 'rowId': '',\n 'column': column,\n 'cellType': cellType ? cellType : _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.Filter,\n 'attributes': { title: this.l10n.getConstant('FilterbarTitle') }\n };\n return new _models_cell__WEBPACK_IMPORTED_MODULE_13__.Cell(opt);\n };\n /**\n * To update filterSettings when applying filter.\n *\n * @returns {void}\n * @hidden\n */\n Filter.prototype.updateModel = function () {\n var col = this.column.isForeignColumn() ? this.parent.getColumnByUid(this.column.uid) :\n this.parent.getColumnByField(this.fieldName);\n this.filterObjIndex = this.getFilteredColsIndexByField(col);\n this.prevFilterObject = this.filterSettings.columns[this.filterObjIndex];\n var arrayVal = Array.isArray(this.value) && this.value.length ? this.value : [this.value];\n var moduleName = this.parent.dataSource.adaptor && this.parent.dataSource.adaptor.getModuleName ? this.parent.dataSource.adaptor.getModuleName() : undefined;\n for (var i = 0, len = arrayVal.length; i < len; i++) {\n var field = col.isForeignColumn() ? col.foreignKeyValue : this.fieldName;\n var isMenuNotEqual = this.operator === 'notequal';\n if (this.operator === 'in' || this.operator === 'notin') {\n if (this.parent.getDataModule().isRemote() && (col.type === 'date' || col.type === 'dateonly' || col.type === 'datetime')) {\n arrayVal = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.parse.arrayReplacer(arrayVal);\n }\n this.currentFilterObject = {\n field: field, uid: col.uid, isForeignKey: col.isForeignColumn(), operator: this.operator,\n value: arrayVal, predicate: this.predicate,\n matchCase: this.matchCase, ignoreAccent: this.ignoreAccent, actualFilterValue: {}, actualOperator: {}\n };\n len = 0;\n }\n else {\n this.currentFilterObject = {\n field: field, uid: col.uid, isForeignKey: col.isForeignColumn(), operator: this.operator,\n value: arrayVal[parseInt(i.toString(), 10)], predicate: this.predicate,\n matchCase: this.matchCase, ignoreAccent: this.ignoreAccent, actualFilterValue: {}, actualOperator: {}\n };\n }\n var index = this.getFilteredColsIndexByField(col);\n if (index > -1 && (!Array.isArray(this.value) || (Array.isArray(this.value) && (this.operator === 'in' || this.operator === 'notin')))) {\n this.filterSettings.columns[parseInt(index.toString(), 10)] = this.currentFilterObject;\n }\n else {\n this.filterSettings.columns.push(this.currentFilterObject);\n }\n if (!this.column.isForeignColumn() && (this.prevFilterObject && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.prevFilterObject.value)\n || this.prevFilterObject.value === '') && (this.prevFilterObject.operator === 'equal'\n || this.prevFilterObject.operator === 'notequal')) && (moduleName !== 'ODataAdaptor' && moduleName !== 'ODataV4Adaptor')) {\n this.handleExistingFilterCleanup(field);\n }\n if (!this.column.isForeignColumn() && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) && (this.operator === 'equal' ||\n this.operator === 'notequal') && (moduleName !== 'ODataAdaptor' && moduleName !== 'ODataV4Adaptor')) {\n this.handleExistingFilterCleanup(field);\n if (col.type === 'string') {\n this.filterSettings.columns.push({\n field: field, ignoreAccent: this.ignoreAccent, matchCase: this.matchCase,\n operator: this.operator, predicate: isMenuNotEqual ? 'and' : 'or', value: ''\n });\n }\n this.filterSettings.columns.push({\n field: field, ignoreAccent: this.ignoreAccent, matchCase: this.matchCase,\n operator: this.operator, predicate: isMenuNotEqual ? 'and' : 'or', value: undefined\n });\n this.filterSettings.columns.push({\n field: field, ignoreAccent: this.ignoreAccent, matchCase: this.matchCase,\n operator: this.operator, predicate: isMenuNotEqual ? 'and' : 'or', value: null\n });\n }\n }\n // eslint-disable-next-line no-self-assign\n this.filterSettings.columns = this.filterSettings.columns;\n this.parent.dataBind();\n };\n Filter.prototype.handleExistingFilterCleanup = function (field) {\n for (var i = 0; i < this.filterSettings.columns.length; i++) {\n if (this.filterSettings.columns[\"\" + i].field === field &&\n (this.filterSettings.columns[\"\" + i].operator === 'equal' ||\n this.filterSettings.columns[\"\" + i].operator === 'notequal') &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filterSettings.columns[\"\" + i].value)) {\n this.filterSettings.columns.splice(i, 1);\n i = i - 1;\n }\n }\n };\n Filter.prototype.getFilteredColsIndexByField = function (col) {\n var cols = this.filterSettings.columns;\n for (var i = 0, len = cols.length; i < len; i++) {\n if (cols[parseInt(i.toString(), 10)].uid === col.uid || (col.isForeignColumn()\n && this.parent.getColumnByUid(col.uid).field === col.foreignKeyValue)) {\n return i;\n }\n }\n return -1;\n };\n /**\n * To trigger action complete event.\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Filter.prototype.onActionComplete = function (e) {\n var args = !this.isRemove ? {\n currentFilterObject: this.currentFilterObject,\n /* tslint:disable:no-string-literal */\n currentFilteringColumn: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column) ? this.column.field : undefined,\n /* tslint:enable:no-string-literal */\n columns: this.filterSettings.columns, requestType: 'filtering', type: _base_constant__WEBPACK_IMPORTED_MODULE_9__.actionComplete\n } : {\n requestType: 'filtering', type: _base_constant__WEBPACK_IMPORTED_MODULE_9__.actionComplete\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_9__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, args));\n this.isRemove = false;\n };\n Filter.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.getHeaderContent(), 'keyup', this.keyUpHandlerImmediate, this);\n };\n Filter.prototype.unWireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getHeaderContent(), 'keyup', this.keyUpHandlerImmediate);\n };\n Filter.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.parent.getHeaderTable().classList.add('e-sortfilter');\n this.render();\n }\n };\n Filter.prototype.refreshFilterValue = function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.modelObserver.boundedEvents)) {\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_9__.beforeDataBound, this.refreshFilterValueFn);\n }\n if ((this.filterSettings.type === 'FilterBar' || this.filterSettings.type === 'Excel') && this.filterSettings.columns.length &&\n !this.parent.getCurrentViewRecords().length) {\n this.initialEnd();\n }\n };\n Filter.prototype.initialEnd = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.contentReady, this.initialEnd);\n if (this.parent.getColumns().length && this.filterSettings.columns.length) {\n var gObj = this.parent;\n this.contentRefresh = false;\n this.initialLoad = true;\n for (var _i = 0, _a = gObj.filterSettings.columns; _i < _a.length; _i++) {\n var col = _a[_i];\n this.filterByColumn(col.field, col.operator, col.value, col.predicate, col.matchCase, col.ignoreAccent, col.actualFilterValue, col.actualOperator, col.isForeignKey);\n }\n this.initialLoad = false;\n this.updateFilterMsg();\n this.contentRefresh = true;\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Filter.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.setFullScreenDialog, this.setFullScreenDialog, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.uiUpdate, this.enableAfterRender, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.filterComplete, this.onActionComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.inBoundModelChanged, this.onPropertyChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.keyPressed, this.keyUpHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.columnPositionChanged, this.columnPositionChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.headerRefreshed, this.render, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.contentReady, this.initialEnd, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.filterMenuClose, this.filterMenuClose, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.renderResponsiveChangeAction, this.renderResponsiveChangeAction, this);\n this.docClickHandler = this.clickHandler.bind(this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'click', this.docClickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'mousedown', this.refreshClearIcon, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.filterOpen, this.columnMenuFilter, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.click, this.filterIconClickHandler, this);\n this.parent.on('persist-data-changed', this.initialEnd, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.closeFilterDialog, this.clickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_9__.destroy, this.destroy, this);\n this.refreshFilterValueFn = this.refreshFilterValue.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_9__.beforeDataBound, this.refreshFilterValueFn);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Filter.prototype.removeEventListener = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'click', this.docClickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'mousedown', this.refreshClearIcon);\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.setFullScreenDialog, this.setFullScreenDialog);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.uiUpdate, this.enableAfterRender);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.filterComplete, this.onActionComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.inBoundModelChanged, this.onPropertyChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.keyPressed, this.keyUpHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.columnPositionChanged, this.columnPositionChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.headerRefreshed, this.render);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.filterOpen, this.columnMenuFilter);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.filterMenuClose, this.filterMenuClose);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.renderResponsiveChangeAction, this.renderResponsiveChangeAction);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.click, this.filterIconClickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.closeFilterDialog, this.clickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_9__.destroy, this.destroy);\n };\n Filter.prototype.refreshClearIcon = function (e) {\n if (this.parent.allowFiltering && this.parent.filterSettings.type === 'FilterBar' &&\n e.target.closest('th') && e.target.closest('th').classList.contains('e-filterbarcell') &&\n e.target.classList.contains('e-clear-icon')) {\n var targetText = e.target.previousElementSibling;\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_11__.Input.setValue(null, targetText, 'Never', true);\n if (this.filterSettings.mode === 'Immediate') {\n this.removeFilteredColsByField(targetText.id.slice(0, -14)); //Length of _filterBarcell = 14\n }\n }\n };\n Filter.prototype.filterMenuClose = function () {\n this.fltrDlgDetails.isOpen = false;\n };\n /**\n * Filters the Grid row by fieldName, filterOperator, and filterValue.\n *\n * @param {string} fieldName - Defines the field name of the filter column.\n * @param {string} filterOperator - Defines the operator to filter records.\n * @param {string | number | Date | boolean} filterValue - Defines the value which is used to filter records.\n * @param {string} predicate - Defines the relationship of one filter query with another by using AND or OR predicate.\n * @param {boolean} matchCase - If match case is set to true, then the filter records\n * the exact match or
      filters records that are case insensitive (uppercase and lowercase letters treated the same).\n * @param {boolean} ignoreAccent - If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.\n * @param {string} actualFilterValue - Defines the actual filter value for the filter column.\n * @param {string} actualOperator - Defines the actual filter operator for the filter column.\n * @param {boolean} isForeignColumn - Defines whether it is a foreign key column.\n * @returns {void}\n */\n Filter.prototype.filterByColumn = function (fieldName, filterOperator, filterValue, predicate, matchCase, ignoreAccent, actualFilterValue, actualOperator, isForeignColumn) {\n var _this = this;\n var gObj = this.parent;\n var filterCell;\n if (typeof filterValue === 'string') {\n filterValue = this.parent.sanitize(filterValue);\n }\n this.column = gObj.grabColumnByFieldFromAllCols(fieldName, isForeignColumn);\n if (this.filterSettings.type === 'FilterBar' && this.filterSettings.showFilterBarOperator\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.filterBarTemplate) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.filterTemplate)) {\n filterOperator = this.getOperatorName(fieldName);\n }\n if (filterOperator === 'like' && filterValue && filterValue.indexOf('%') === -1) {\n filterValue = '%' + filterValue + '%';\n }\n if (!this.column) {\n return;\n }\n if (this.filterSettings.type === 'FilterBar') {\n filterCell = gObj.getHeaderContent().querySelector('[id=\\'' + this.column.field + '_filterBarcell\\']');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.allowFiltering) && !this.column.allowFiltering) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), columnName: this.column.headerText });\n return;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.isActionPrevent)(gObj)) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.preventBatch, {\n instance: this, handler: this.filterByColumn, arg1: fieldName, arg2: filterOperator, arg3: filterValue, arg4: predicate,\n arg5: matchCase, arg6: ignoreAccent, arg7: actualFilterValue, arg8: actualOperator\n });\n return;\n }\n this.predicate = predicate ? predicate : Array.isArray(filterValue) ? 'or' : 'and';\n this.value = filterValue;\n this.matchCase = matchCase || false;\n this.ignoreAccent = this.ignoreAccent = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ignoreAccent) ? ignoreAccent : this.parent.filterSettings.ignoreAccent;\n this.fieldName = fieldName;\n this.operator = filterOperator;\n filterValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterValue) ? filterValue.toString() : filterValue;\n if (filterValue === '') {\n filterValue = null;\n }\n if (this.column.type === 'number' || this.column.type === 'date') {\n this.matchCase = true;\n }\n if (filterCell && this.filterSettings.type === 'FilterBar') {\n if ((filterValue && filterValue.length < 1) || (!this.filterByMethod &&\n this.checkForSkipInput(this.column, filterValue))) {\n this.filterStatusMsg = (filterValue && filterValue.length < 1) ? '' : this.l10n.getConstant('InvalidFilterMessage');\n this.updateFilterMsg();\n return;\n }\n if (filterCell.value !== filterValue) {\n filterCell.value = filterValue;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.format)) {\n this.applyColumnFormat(filterValue);\n if (this.initialLoad && this.filterSettings.type === 'FilterBar') {\n filterCell.value = this.values[this.column.field];\n }\n }\n else {\n this.values[this.column.field] = filterValue; //this line should be above updateModel\n }\n var predObj = {\n field: this.fieldName,\n predicate: predicate,\n matchCase: matchCase,\n ignoreAccent: ignoreAccent,\n operator: this.operator,\n value: this.value,\n type: this.column.type\n };\n var filterColumn = this.parent.filterSettings.columns.filter(function (fColumn) {\n return (fColumn.field === _this.fieldName);\n });\n if (filterColumn.length > 1 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.actualPredicate[this.fieldName])) {\n this.actualPredicate[this.fieldName].push(predObj);\n }\n else {\n this.actualPredicate[this.fieldName] = [predObj];\n }\n if (this.checkAlreadyColFiltered(this.column.field)) {\n return;\n }\n this.updateModel();\n };\n Filter.prototype.applyColumnFormat = function (filterValue) {\n var _this = this;\n var getFlvalue = (this.column.type === 'date' || this.column.type === 'datetime' || this.column.type === 'dateonly') ?\n new Date(filterValue) : parseFloat(filterValue);\n if ((this.column.type === 'date' || this.column.type === 'datetime' || this.column.type === 'dateonly') && filterValue &&\n Array.isArray(this.value) && filterValue.split(',').length > 1) {\n this.values[this.column.field] = ((filterValue).split(',')).map(function (val) {\n if (val === '') {\n val = null;\n }\n return _this.setFormatForFlColumn(new Date(val), _this.column);\n });\n }\n else {\n this.values[this.column.field] = this.setFormatForFlColumn(getFlvalue, this.column);\n }\n };\n // To skip the second time request to server while applying initial filtering - EJ2-44361\n Filter.prototype.skipUid = function (col) {\n var flag = true;\n var colLen = Object.keys((col));\n for (var i = 0; i < colLen.length; i++) {\n var key = Object.keys(col[colLen[parseInt(i.toString(), 10)]]);\n if (key.length === 1 && key[0] === 'uid') {\n flag = false;\n }\n }\n return flag;\n };\n Filter.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n for (var _i = 0, _a = Object.keys(e.properties); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'columns':\n // eslint-disable-next-line no-case-declarations\n var col = 'columns';\n // eslint-disable-next-line no-case-declarations\n var args = {\n currentFilterObject: this.currentFilterObject, currentFilteringColumn: this.column ?\n this.column.field : undefined, action: 'filter', columns: this.filterSettings.columns,\n requestType: 'filtering', type: _base_constant__WEBPACK_IMPORTED_MODULE_9__.actionBegin, cancel: false\n };\n if (this.contentRefresh && this.skipUid(e.properties[\"\" + col])) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.modelChanged, args);\n if (args.cancel) {\n if ((this.filterSettings.type === 'CheckBox' || this.filterSettings.type === 'Excel')) {\n this.filterSettings.columns = (this.actualData.length <= 1) ? this.checkboxPrevFilterObject :\n this.checkboxFilterObject;\n this.actualPredicate[this.column.field] = this.filterSettings.columns;\n var col_1 = this.parent.getColumnByField(this.column.field);\n var iconClass = this.parent.showColumnMenu && col_1.showColumnMenu ? '.e-columnmenu' : '.e-icon-filter';\n var filterIconElement = this.parent.getColumnHeaderByField(this.column.field)\n .querySelector(iconClass);\n if (this.checkboxPrevFilterObject.length === 0) {\n filterIconElement.classList.remove('e-filtered');\n }\n else {\n filterIconElement.classList.add('e-filtered');\n }\n }\n else {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.prevFilterObject)) {\n this.filterSettings.columns.splice(this.filterSettings.columns.length - 1, 1);\n }\n else {\n this.filterSettings.columns[this.filterObjIndex] = this.prevFilterObject;\n }\n }\n return;\n }\n this.updateFilterIcon();\n this.refreshFilterSettings();\n this.updateFilterMsg();\n this.updateFilter();\n }\n break;\n case 'showFilterBarStatus':\n if (e.properties[\"\" + prop]) {\n this.updateFilterMsg();\n }\n else if (this.parent.allowPaging) {\n this.parent.updateExternalMessage('');\n }\n break;\n case 'showFilterBarOperator':\n case 'type':\n this.parent.refreshHeader();\n this.refreshFilterSettings();\n if (this.parent.height === '100%') {\n this.parent.scrollModule.refresh();\n }\n break;\n }\n }\n };\n Filter.prototype.refreshFilterSettings = function () {\n if (this.filterSettings.type === 'FilterBar') {\n for (var i = 0; i < this.filterSettings.columns.length; i++) {\n this.column = this.parent.grabColumnByUidFromAllCols(this.filterSettings.columns[parseInt(i.toString(), 10)].uid);\n var filterValue = this.filterSettings.columns[parseInt(i.toString(), 10)].value;\n filterValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterValue) && filterValue.toString();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.format)) {\n this.applyColumnFormat(filterValue);\n }\n else {\n var key = this.filterSettings.columns[parseInt(i.toString(), 10)].field;\n this.values[\"\" + key] = this.filterSettings.columns[parseInt(i.toString(), 10)].value;\n }\n var filterElement = this.getFilterBarElement(this.column.field);\n if (filterElement) {\n if (this.cellText[this.filterSettings.columns[parseInt(i.toString(), 10)].field] !== ''\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cellText[this.filterSettings.columns[parseInt(i.toString(), 10)].field])) {\n filterElement.value = this.cellText[this.column.field];\n }\n else {\n filterElement.value = this.filterSettings.columns[parseInt(i.toString(), 10)].value;\n }\n }\n }\n if (this.filterSettings.columns.length === 0) {\n var col = this.parent.getColumns();\n for (var i = 0; i < col.length; i++) {\n var filterElement = this.getFilterBarElement(col[parseInt(i.toString(), 10)].field);\n if (filterElement && filterElement.value !== '') {\n filterElement.value = '';\n delete this.values[col[parseInt(i.toString(), 10)].field];\n }\n }\n }\n }\n };\n Filter.prototype.updateFilterIcon = function () {\n if (this.filterSettings.columns.length === 0 && this.parent.element.querySelector('.e-filtered')) {\n var fltrIconElement = [].slice.call(this.parent.element.getElementsByClassName('e-filtered'));\n for (var i = 0, len = fltrIconElement.length; i < len; i++) {\n fltrIconElement[parseInt(i.toString(), 10)].classList.remove('e-filtered');\n }\n }\n };\n Filter.prototype.getFilterBarElement = function (col) {\n var selector = '[id=\\'' + col + '_filterBarcell\\']';\n var filterElement;\n if (selector && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element)) {\n filterElement = this.element.querySelector(selector);\n }\n return filterElement;\n };\n /**\n * @private\n * @returns {void}\n */\n Filter.prototype.refreshFilter = function () {\n this.refreshFilterSettings();\n this.updateFilterMsg();\n };\n /**\n * Clears all the filtered rows of the Grid.\n *\n * @param {string[]} fields - returns the fields\n * @returns {void}\n */\n Filter.prototype.clearFiltering = function (fields) {\n var _this = this;\n var cols = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getActualPropFromColl)(this.filterSettings.columns);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fields)) {\n this.refresh = false;\n fields.forEach(function (field) { _this.removeFilteredColsByField(field, false); });\n this.parent.setProperties({ filterSettings: { columns: this.filterSettings.columns } }, true);\n this.parent.renderModule.refresh();\n this.refresh = true;\n return;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.isActionPrevent)(this.parent)) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.preventBatch, { instance: this, handler: this.clearFiltering });\n return;\n }\n for (var i = 0; i < cols.length; i++) {\n cols[parseInt(i.toString(), 10)].uid = cols[parseInt(i.toString(), 10)].uid\n || this.parent.getColumnByField(cols[parseInt(i.toString(), 10)].field).uid;\n }\n var colUid = cols.map(function (f) { return f.uid; });\n var filteredcols = colUid.filter(function (item, pos) { return colUid.indexOf(item) === pos; });\n this.refresh = false;\n for (var i = 0, len = filteredcols.length; i < len; i++) {\n this.removeFilteredColsByField(this.parent.getColumnByUid(filteredcols[parseInt(i.toString(), 10)]).field, false);\n }\n this.refresh = true;\n if (filteredcols.length) {\n this.parent.renderModule.refresh();\n }\n if (this.parent.filterSettings.columns.length === 0 && this.parent.element.querySelector('.e-filtered')) {\n var fltrElement = [].slice.call(this.parent.element.getElementsByClassName('e-filtered'));\n for (var i = 0, len = fltrElement.length; i < len; i++) {\n fltrElement[0].classList.remove('e-filtered');\n }\n }\n this.isRemove = true;\n this.filterStatusMsg = '';\n this.updateFilterMsg();\n };\n Filter.prototype.checkAlreadyColFiltered = function (field) {\n var columns = this.filterSettings.columns;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var col = columns_1[_i];\n if (col.field === field && this.parent.filterSettings.type === 'Menu' &&\n (col.type === 'date' || col.type === 'datetime')) {\n return (this.checkDateColumnValue(col.value, this.value) &&\n col.operator === this.operator && col.predicate === this.predicate);\n }\n else if (col.field === field && col.value === this.value &&\n col.operator === this.operator && col.predicate === this.predicate) {\n return true;\n }\n }\n return false;\n };\n Filter.prototype.checkDateColumnValue = function (colDate, filterDate) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(colDate) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterDate)) {\n return true;\n }\n else if (colDate instanceof Date && filterDate instanceof Date) {\n return colDate.getTime() === filterDate.getTime();\n }\n return false;\n };\n Filter.prototype.columnMenuFilter = function (args) {\n this.column = args.col;\n var ele = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(args.target, '#' + args.id);\n if (args.isClose && !ele) {\n this.filterModule.closeDialog();\n }\n else if (ele) {\n this.filterDialogOpen(this.column, args.target);\n }\n };\n Filter.prototype.filterDialogOpen = function (col, target, left, top) {\n if (this.filterModule) {\n this.filterModule.isresetFocus = false;\n this.filterModule.closeDialog();\n }\n this.setFilterModel(col);\n this.filterModule.openDialog(this.createOptions(col, target, left, top));\n };\n /**\n * Create filter dialog options\n *\n * @param {Column} col - Filtering column detail.\n * @param {Element} target - Filter dialog target.\n * @param {number} left - Filter dialog left position.\n * @param {number} top - Filter dialog top position.\n * @returns {Object} returns the created dialog options\n * @hidden\n */\n Filter.prototype.createOptions = function (col, target, left, top) {\n var gObj = this.parent;\n var dataSource = col.filter.dataSource || gObj.dataSource && 'result' in gObj.dataSource ? gObj.dataSource :\n gObj.getDataModule().dataManager;\n var type = col.filter.type || this.parent.filterSettings.type;\n var options = {\n type: col.type, field: col.field, displayName: col.headerText,\n dataSource: dataSource, format: col.format, height: 800, columns: gObj.getColumns(),\n filteredColumns: gObj.filterSettings.columns, target: target, dataManager: gObj.getDataModule().dataManager,\n formatFn: col.getFormatter(), ignoreAccent: gObj.filterSettings.ignoreAccent,\n parserFn: col.getParser(), query: gObj.query, template: col.getFilterItemTemplate(),\n hideSearchbox: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter.hideSearchbox) ? false : col.filter.hideSearchbox,\n handler: this.filterHandler.bind(this), localizedStrings: gObj.getLocaleConstants(),\n position: { X: left, Y: top }, column: col, foreignKeyValue: col.foreignKeyValue,\n actualPredicate: this.actualPredicate, localeObj: gObj.localeObj,\n isRemote: gObj.getDataModule().isRemote(), allowCaseSensitive: this.filterSettings.enableCaseSensitivity,\n isResponsiveFilter: this.parent.enableAdaptiveUI,\n operator: this.actualPredicate[col.field] && type === 'Menu' ? this.actualPredicate[col.field][0].operator : 'equal',\n parentTotalDataCount: gObj.getDataModule().isRemote() && gObj.allowPaging ? gObj.pagerModule.pagerObj.totalRecordsCount :\n gObj.getDataModule().isRemote() ? gObj.totalDataRecordsCount : gObj.getFilteredRecords().length,\n parentCurrentViewDataCount: gObj.currentViewData.length,\n parentFilteredLocalRecords: !gObj.getDataModule().isRemote() ? gObj.getFilteredRecords() : []\n };\n return options;\n };\n /**\n * Removes filtered column by field name.\n *\n * @param {string} field - Defines column field name to remove filter.\n * @param {boolean} isClearFilterBar - Specifies whether the filter bar value needs to be cleared.\n * @returns {void}\n * @hidden\n */\n Filter.prototype.removeFilteredColsByField = function (field, isClearFilterBar) {\n var fCell;\n var cols = this.filterSettings.columns;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.isActionPrevent)(this.parent)) {\n var args = { instance: this, handler: this.removeFilteredColsByField, arg1: field, arg2: isClearFilterBar };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.preventBatch, args);\n return;\n }\n var colUid = cols.map(function (f) { return f.uid; });\n var filteredColsUid = colUid.filter(function (item, pos) { return colUid.indexOf(item) === pos; });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column)) {\n var col = this.column.isForeignColumn() ? this.parent.getColumnByUid(this.column.uid) :\n this.parent.getColumnByField(field);\n this.filterObjIndex = this.getFilteredColsIndexByField(col);\n this.prevFilterObject = this.filterSettings.columns[this.filterObjIndex];\n }\n var _loop_1 = function (i, len) {\n cols[parseInt(i.toString(), 10)].uid = cols[parseInt(i.toString(), 10)].uid\n || this_1.parent.getColumnByField(cols[parseInt(i.toString(), 10)].field).uid;\n var len_1 = cols.length;\n var column = this_1.parent.grabColumnByUidFromAllCols(filteredColsUid[parseInt(i.toString(), 10)]);\n if (column.field === field || (column.field === column.foreignKeyValue && column.isForeignColumn())) {\n var currentPred = this_1.filterSettings.columns.filter(function (e) {\n return e.uid === column.uid;\n })[0];\n if (this_1.filterSettings.type === 'FilterBar' && !isClearFilterBar) {\n var selector = '[id=\\'' + column.field + '_filterBarcell\\']';\n fCell = this_1.parent.getHeaderContent().querySelector(selector);\n if (fCell) {\n fCell.value = '';\n delete this_1.values[\"\" + field];\n }\n }\n while (len_1--) {\n if (cols[parseInt(len_1.toString(), 10)].uid === column.uid) {\n cols.splice(len_1, 1);\n }\n }\n var fltrElement = this_1.parent.getColumnHeaderByField(column.field);\n if (this_1.filterSettings.type !== 'FilterBar' || this_1.parent.showColumnMenu) {\n var iconClass = this_1.parent.showColumnMenu && column.showColumnMenu ? '.e-columnmenu' : '.e-icon-filter';\n fltrElement.querySelector(iconClass).classList.remove('e-filtered');\n }\n this_1.isRemove = true;\n if (this_1.actualPredicate[\"\" + field]) {\n delete this_1.actualPredicate[\"\" + field];\n }\n if (this_1.values[\"\" + field]) {\n delete this_1.values[\"\" + field];\n }\n if (this_1.refresh) {\n this_1.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.modelChanged, {\n requestType: 'filtering', type: _base_constant__WEBPACK_IMPORTED_MODULE_9__.actionBegin, currentFilterObject: currentPred,\n currentFilterColumn: column, action: 'clearFilter'\n });\n }\n return \"break\";\n }\n };\n var this_1 = this;\n for (var i = 0, len = filteredColsUid.length; i < len; i++) {\n var state_1 = _loop_1(i, len);\n if (state_1 === \"break\")\n break;\n }\n this.updateFilterMsg();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Filter.prototype.getModuleName = function () {\n return 'filter';\n };\n Filter.prototype.keyUpHandlerImmediate = function (e) {\n if (e.keyCode !== 13) {\n this.keyUpHandler(e);\n }\n };\n Filter.prototype.keyUpHandler = function (e) {\n var gObj = this.parent;\n var target = e.target;\n if (target && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.matches)(target, '.e-filterbar input')) {\n var closeHeaderEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'th.e-filterbarcell');\n this.column = gObj.getColumnByUid(closeHeaderEle.getAttribute('e-mappinguid'));\n if (!this.column) {\n return;\n }\n if (e.action === 'altDownArrow' && this.parent.filterSettings.showFilterBarOperator) {\n var dropDownListInput = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'span').querySelector('.e-filterbaroperator');\n dropDownListInput.ej2_instances[0].showPopup();\n dropDownListInput.focus();\n }\n if ((this.filterSettings.mode === 'Immediate' || (e.keyCode === 13 &&\n !e.target.classList.contains('e-filterbaroperator')))\n && e.keyCode !== 9 && !this.column.filterTemplate) {\n this.value = target.value.trim();\n this.processFilter(e);\n }\n }\n if (e.action === 'altDownArrow' && this.filterSettings.type !== 'FilterBar' && !(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(e.target, 'e-toolbar')\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.element.querySelector('.e-filter-popup')) && !this.parent.enableAdaptiveUI) {\n var element = gObj.focusModule.currentInfo.element;\n if (element && element.classList.contains('e-headercell') && !element.classList.contains('e-stackedheadercell')) {\n var column = gObj.getColumnByUid(element.firstElementChild.getAttribute('e-mappinguid'));\n this.openMenuByField(column.field);\n this.parent.focusModule.clearIndicator();\n }\n }\n if (e.action === 'escape' && this.filterSettings.type === 'Menu' && this.filterModule) {\n if (this.parent.showColumnMenu && this.filterModule.isDialogOpen) {\n this.parent.isColumnMenuFilterClosing = true;\n }\n this.filterModule.closeDialog();\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.restoreFocus, {});\n if (!this.parent.showColumnMenu) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_9__.restoreFocus, {});\n }\n }\n };\n Filter.prototype.updateCrossIcon = function (element) {\n if (element.value.length) {\n element.nextElementSibling.classList.remove('e-hide');\n }\n };\n Filter.prototype.updateFilterMsg = function () {\n if (this.filterSettings.type === 'FilterBar') {\n var gObj = this.parent;\n var getFormatFlValue = void 0;\n var columns = this.filterSettings.columns;\n var column = void 0;\n if (!this.filterSettings.showFilterBarStatus) {\n return;\n }\n if (columns.length > 0 && this.filterStatusMsg !== this.l10n.getConstant('InvalidFilterMessage')) {\n this.filterStatusMsg = '';\n for (var index = 0; index < columns.length; index++) {\n column = gObj.grabColumnByUidFromAllCols(columns[parseInt(index.toString(), 10)].uid)\n || gObj.grabColumnByFieldFromAllCols(columns[parseInt(index.toString(), 10)]\n .field, columns[parseInt(index.toString(), 10)].isForeignKey);\n if (index) {\n this.filterStatusMsg += ' && ';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.format)) {\n var flValue = (column.type === 'date' || column.type === 'datetime' || column.type === 'dateonly') ?\n this.valueFormatter.fromView(this.values[column.field], column.getParser(), (column.type === 'dateonly' ? 'date' : column.type)) :\n this.values[column.field];\n if (!(column.type === 'date' || column.type === 'datetime' || column.type === 'dateonly')) {\n var formater = this.serviceLocator.getService('valueFormatter');\n getFormatFlValue = formater.toView(flValue, column.getParser()).toString();\n }\n else {\n getFormatFlValue = this.setFormatForFlColumn(flValue, column);\n }\n this.filterStatusMsg += column.headerText + ': ' + getFormatFlValue;\n }\n else {\n this.filterStatusMsg += column.headerText + ': ' + this.values[column.field];\n }\n }\n }\n if (gObj.allowPaging) {\n gObj.updateExternalMessage(this.filterStatusMsg);\n if (this.parent.height === '100%') {\n this.parent.scrollModule.refresh();\n }\n }\n //TODO: virtual paging\n this.filterStatusMsg = '';\n }\n };\n Filter.prototype.setFormatForFlColumn = function (value, column) {\n var formater = this.serviceLocator.getService('valueFormatter');\n return formater.toView(value, column.getFormatter()).toString();\n };\n Filter.prototype.checkForSkipInput = function (column, value) {\n var isSkip;\n if (column.type === 'number') {\n if (_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.operatorSymbols[\"\" + value] || this.skipNumberInput.indexOf(value) > -1) {\n isSkip = true;\n }\n }\n else if (column.type === 'string') {\n for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {\n var val = value_1[_i];\n if (this.skipStringInput.indexOf(val) > -1) {\n isSkip = true;\n }\n }\n }\n return isSkip;\n };\n Filter.prototype.processFilter = function (e) {\n this.stopTimer();\n this.startTimer(e);\n };\n Filter.prototype.startTimer = function (e) {\n var _this = this;\n this.timer = window.setInterval(function () { _this.onTimerTick(); }, e.keyCode === 13 ? 0 : this.filterSettings.immediateModeDelay);\n };\n Filter.prototype.stopTimer = function () {\n window.clearInterval(this.timer);\n };\n Filter.prototype.onTimerTick = function () {\n var selector = '[id=\\'' + this.column.field + '_filterBarcell\\']';\n var filterElement = this.element.querySelector(selector);\n if (!filterElement) {\n filterElement = this.parent.getHeaderContent().querySelector(selector);\n }\n var filterValue;\n this.cellText[this.column.field] = filterElement.value;\n this.stopTimer();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.filterBarTemplate)) {\n var templateRead = this.column.filterBarTemplate.read;\n if (typeof templateRead === 'string') {\n templateRead = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(templateRead, window);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateRead)) {\n this.value = templateRead.call(this, filterElement);\n }\n }\n else {\n filterValue = JSON.parse(JSON.stringify(filterElement.value));\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value) || this.value === '') {\n this.removeFilteredColsByField(this.column.field);\n return;\n }\n this.validateFilterValue(this.value);\n this.filterByMethod = false;\n this.filterByColumn(this.column.field, this.operator, this.value, this.predicate, this.filterSettings.enableCaseSensitivity, this.ignoreAccent, this.column.isForeignColumn());\n this.filterByMethod = true;\n filterElement.value = filterValue;\n this.updateFilterMsg();\n };\n Filter.prototype.validateFilterValue = function (value) {\n var skipInput;\n var index;\n this.matchCase = this.filterSettings.enableCaseSensitivity;\n switch (this.column.type) {\n case 'number':\n if (this.column.filter.operator) {\n this.operator = this.column.filter.operator;\n }\n else {\n this.operator = this.filterOperators.equal;\n }\n skipInput = ['>', '<', '=', '!'];\n for (var i = 0; i < value.length; i++) {\n if (skipInput.indexOf(value[parseInt(i.toString(), 10)]) > -1) {\n index = i;\n break;\n }\n }\n this.getOperator(value.substring(index));\n if (index !== 0) {\n this.value = value.substring(0, index);\n }\n if (this.value !== '' && value.length >= 1) {\n this.value = this.valueFormatter.fromView(this.value, this.column.getParser(), this.column.type);\n }\n if (isNaN(this.value)) {\n this.filterStatusMsg = this.l10n.getConstant('InvalidFilterMessage');\n }\n break;\n case 'date':\n case 'datetime':\n this.operator = this.filterOperators.equal;\n if (this.value !== '' && !(this.value instanceof Date)) {\n this.getOperator(value);\n this.value = this.valueFormatter.fromView(this.value, this.column.getParser(), this.column.type);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.filterStatusMsg = this.l10n.getConstant('InvalidFilterMessage');\n }\n }\n break;\n case 'string':\n this.matchCase = false;\n if (this.column.filter.operator) {\n this.operator = this.column.filter.operator;\n }\n else {\n if (value.indexOf('*') !== -1 || value.indexOf('?') !== -1 || value.indexOf('%3f') !== -1) {\n this.operator = this.filterOperators.wildCard;\n }\n else if (value.indexOf('%') !== -1) {\n this.operator = this.filterOperators.like;\n }\n else {\n this.operator = this.filterOperators.startsWith;\n }\n }\n break;\n case 'boolean':\n if (value.toLowerCase() === 'true' || value === '1') {\n this.value = true;\n }\n else if (value.toLowerCase() === 'false' || value === '0') {\n this.value = false;\n }\n else if (value.length) {\n this.filterStatusMsg = this.l10n.getConstant('InvalidFilterMessage');\n }\n this.operator = this.filterOperators.equal;\n break;\n default:\n if (this.column.filter.operator) {\n this.operator = this.column.filter.operator;\n }\n else {\n this.operator = this.filterOperators.equal;\n }\n }\n };\n Filter.prototype.getOperator = function (value) {\n var singleOp = value.charAt(0);\n var multipleOp = value.slice(0, 2);\n var operators = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ '=': this.filterOperators.equal, '!': this.filterOperators.notEqual }, _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.operatorSymbols);\n // eslint-disable-next-line no-prototype-builtins\n if (operators.hasOwnProperty(singleOp) || operators.hasOwnProperty(multipleOp)) {\n this.operator = operators[\"\" + singleOp];\n this.value = value.substring(1);\n if (!this.operator) {\n this.operator = operators[\"\" + multipleOp];\n this.value = value.substring(2);\n }\n }\n if (this.operator === this.filterOperators.lessThan || this.operator === this.filterOperators.greaterThan) {\n if (this.value.charAt(0) === '=') {\n this.operator = this.operator + 'orequal';\n this.value = this.value.substring(1);\n }\n }\n };\n Filter.prototype.columnPositionChanged = function () {\n if (this.parent.filterSettings.type !== 'FilterBar') {\n return;\n }\n };\n Filter.prototype.getLocalizedCustomOperators = function () {\n var numOptr = [\n { value: 'equal', text: this.l10n.getConstant('Equal') },\n { value: 'greaterthan', text: this.l10n.getConstant('GreaterThan') },\n { value: 'greaterthanorequal', text: this.l10n.getConstant('GreaterThanOrEqual') },\n { value: 'lessthan', text: this.l10n.getConstant('LessThan') },\n { value: 'lessthanorequal', text: this.l10n.getConstant('LessThanOrEqual') },\n { value: 'notequal', text: this.l10n.getConstant('NotEqual') },\n { value: 'isnull', text: this.l10n.getConstant('IsNull') },\n { value: 'isnotnull', text: this.l10n.getConstant('NotNull') }\n ];\n this.customOperators = {\n stringOperator: [\n { value: 'startswith', text: this.l10n.getConstant('StartsWith') },\n { value: 'endswith', text: this.l10n.getConstant('EndsWith') },\n { value: 'contains', text: this.l10n.getConstant('Contains') },\n { value: 'equal', text: this.l10n.getConstant('Equal') },\n { value: 'isempty', text: this.l10n.getConstant('IsEmpty') },\n { value: 'doesnotstartwith', text: this.l10n.getConstant('NotStartsWith') },\n { value: 'doesnotendwith', text: this.l10n.getConstant('NotEndsWith') },\n { value: 'doesnotcontain', text: this.l10n.getConstant('NotContains') },\n { value: 'notequal', text: this.l10n.getConstant('NotEqual') },\n { value: 'isnotempty', text: this.l10n.getConstant('IsNotEmpty') },\n { value: 'like', text: this.l10n.getConstant('Like') }\n ],\n numberOperator: numOptr,\n dateOperator: [\n { value: 'equal', text: this.l10n.getConstant('Equal') },\n { value: 'greaterthan', text: this.l10n.getConstant('GreaterThan') },\n { value: 'greaterthanorequal', text: this.l10n.getConstant('GreaterThanOrEqual') },\n { value: 'lessthan', text: this.l10n.getConstant('LessThan') },\n { value: 'lessthanorequal', text: this.l10n.getConstant('LessThanOrEqual') },\n { value: 'notequal', text: this.l10n.getConstant('NotEqual') },\n { value: 'isnull', text: this.l10n.getConstant('IsNull') },\n { value: 'isnotnull', text: this.l10n.getConstant('NotNull') }\n ],\n datetimeOperator: [\n { value: 'equal', text: this.l10n.getConstant('Equal') },\n { value: 'greaterthan', text: this.l10n.getConstant('GreaterThan') },\n { value: 'greaterthanorequal', text: this.l10n.getConstant('GreaterThanOrEqual') },\n { value: 'lessthan', text: this.l10n.getConstant('LessThan') },\n { value: 'lessthanorequal', text: this.l10n.getConstant('LessThanOrEqual') },\n { value: 'notequal', text: this.l10n.getConstant('NotEqual') },\n { value: 'isnull', text: this.l10n.getConstant('IsNull') },\n { value: 'isnotnull', text: this.l10n.getConstant('NotNull') }\n ],\n dateonlyOperator: [\n { value: 'equal', text: this.l10n.getConstant('Equal') },\n { value: 'greaterthan', text: this.l10n.getConstant('GreaterThan') },\n { value: 'greaterthanorequal', text: this.l10n.getConstant('GreaterThanOrEqual') },\n { value: 'lessthan', text: this.l10n.getConstant('LessThan') },\n { value: 'lessthanorequal', text: this.l10n.getConstant('LessThanOrEqual') },\n { value: 'notequal', text: this.l10n.getConstant('NotEqual') },\n { value: 'isnull', text: this.l10n.getConstant('IsNull') },\n { value: 'isnotnull', text: this.l10n.getConstant('NotNull') }\n ],\n booleanOperator: [\n { value: 'equal', text: this.l10n.getConstant('Equal') },\n { value: 'notequal', text: this.l10n.getConstant('NotEqual') }\n ]\n };\n if (this.filterSettings.type === 'Menu') {\n this.customOperators.stringOperator.push({ value: 'in', text: this.l10n.getConstant('In') }, { value: 'notin', text: this.l10n.getConstant('NotIn') });\n this.customOperators.booleanOperator.push({ value: 'in', text: this.l10n.getConstant('In') }, { value: 'notin', text: this.l10n.getConstant('NotIn') });\n this.customOperators.numberOperator.push({ value: 'in', text: this.l10n.getConstant('In') }, { value: 'notin', text: this.l10n.getConstant('NotIn') });\n }\n };\n /**\n * @param {string} field - specifies the field name\n * @returns {void}\n * @hidden\n */\n Filter.prototype.openMenuByField = function (field) {\n var gObj = this.parent;\n if (gObj.enableAdaptiveUI) {\n this.showCustomFilter(false);\n return;\n }\n var column = gObj.getColumnByField(field);\n var header = gObj.getColumnHeaderByField(field);\n var target = header.querySelector('.e-filtermenudiv');\n if (!target) {\n return;\n }\n var gClient = gObj.element.getBoundingClientRect();\n var fClient = target.getBoundingClientRect();\n this.filterDialogOpen(column, target, fClient.right - gClient.left, fClient.bottom - gClient.top);\n };\n Filter.prototype.filterIconClickHandler = function (e) {\n var target = e.target;\n if (target.classList.contains('e-filtermenudiv') && (this.parent.filterSettings.type === 'Menu' ||\n this.parent.filterSettings.type === 'CheckBox' || this.parent.filterSettings.type === 'Excel')) {\n var gObj = this.parent;\n var col = gObj.getColumnByUid((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-headercell').firstElementChild.getAttribute('e-mappinguid'));\n this.column = col;\n if (this.fltrDlgDetails.field === col.field && this.fltrDlgDetails.isOpen) {\n return;\n }\n if (this.filterModule) {\n this.filterModule.closeDialog();\n }\n this.fltrDlgDetails = { field: col.field, isOpen: true };\n this.openMenuByField(col.field);\n }\n };\n Filter.prototype.clickHandler = function (e) {\n if (this.filterSettings.type === 'FilterBar' && this.filterSettings.showFilterBarOperator) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(e.target, 'e-filterbarcell') &&\n e.target.classList.contains('e-input-group-icon')) {\n var filterOperatorElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'div').\n querySelector('.e-filterbaroperator');\n if (filterOperatorElement) {\n filterOperatorElement.focus();\n }\n else {\n e.target.focus();\n }\n }\n if (e.target.classList.contains('e-list-item')) {\n var inputId = document.querySelector('.e-popup-open').getAttribute('id').replace('_popup', '');\n if (inputId.indexOf('grid-column') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.getElementById(inputId), 'div').querySelector('.e-filtertext').focus();\n }\n }\n }\n if (this.filterSettings.mode === 'Immediate' || this.parent.filterSettings.type === 'Menu' ||\n this.parent.filterSettings.type === 'CheckBox' || this.parent.filterSettings.type === 'Excel') {\n var target = e.target;\n var datepickerEle = target.classList.contains('e-day'); // due to datepicker popup cause\n var dialog = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(this.parent.element, 'e-dialog');\n var hasDialog = false;\n var popupEle = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-popup');\n var filterPopup = document.getElementById(this.parent.element.id + '_e-popup');\n var hasDialogClosed = this.parent.element.classList.contains('e-device') ?\n document.querySelector('.e-filter-popup') : filterPopup && filterPopup.querySelector('.e-filter-popup') ?\n filterPopup.querySelector('.e-filter-popup') : this.parent.element.querySelector('.e-filter-popup');\n if (dialog && popupEle) {\n hasDialog = dialog.id === popupEle.id;\n }\n if ((this.filterModule && hasDialogClosed && ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-excel-ascending') ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-excel-descending')))) {\n this.filterModule.closeDialog(target);\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-filter-popup') || target.classList.contains('e-filtermenudiv')) {\n return;\n }\n else if (this.filterModule && !(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-date-overflow') && (!(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-popup-wrapper')\n && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-filter-item.e-menu-item'))) && !datepickerEle\n && !((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-search-wrapper') && !hasDialogClosed)) {\n if ((hasDialog && (!(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-filter-popup'))\n && (!(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-popup-flmenu'))) || (!popupEle && hasDialogClosed)) {\n this.filterModule.isresetFocus = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-grid') &&\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-grid').id === this.parent.element.id && !((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-search-wrapper')\n && hasDialogClosed);\n this.filterModule.closeDialog(target);\n }\n }\n }\n };\n Filter.prototype.filterHandler = function (args) {\n this.actualPredicate[args.field] = args.actualPredicate;\n this.actualData = Object.keys(this.actualPredicate);\n var dataManager = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_14__.DataManager(this.filterSettings.columns);\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_15__.Query().where('field', this.filterOperators.equal, args.field);\n this.checkboxFilterObject = dataManager.dataSource.json;\n this.checkboxPrevFilterObject = dataManager.executeLocal(query);\n for (var i = 0; i < this.checkboxPrevFilterObject.length; i++) {\n var index = -1;\n for (var j = 0; j < this.filterSettings.columns.length; j++) {\n if (this.checkboxPrevFilterObject[parseInt(i.toString(), 10)].field ===\n this.filterSettings.columns[parseInt(j.toString(), 10)].field) {\n index = j;\n break;\n }\n }\n if (index !== -1) {\n this.filterSettings.columns.splice(index, 1);\n }\n }\n if (this.values[args.field]) {\n delete this.values[args.field];\n }\n var col = this.parent.getColumnByField(args.field);\n var iconClass = this.parent.showColumnMenu && col.showColumnMenu ? '.e-columnmenu' : '.e-icon-filter';\n var filterIconElement = this.parent.getColumnHeaderByField(args.field).querySelector(iconClass);\n if (args.action === 'filtering') {\n this.filterSettings.columns = this.filterSettings.columns.concat(args.filterCollection);\n if (this.filterSettings.columns.length && filterIconElement) {\n filterIconElement.classList.add('e-filtered');\n }\n }\n else {\n if (filterIconElement) {\n filterIconElement.classList.remove('e-filtered');\n }\n args.requestType = 'filtering';\n this.parent.renderModule.refresh(args); //hot-fix onpropertychanged not working for object { array }\n }\n this.parent.dataBind();\n };\n Filter.prototype.updateFilter = function () {\n var cols = this.filterSettings.columns;\n this.actualPredicate = {};\n for (var i = 0; i < cols.length; i++) {\n this.column = this.parent.getColumnByField(cols[parseInt(i.toString(), 10)].field) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getColumnByForeignKeyValue)(cols[parseInt(i.toString(), 10)].field, this.parent.getForeignKeyColumns());\n var fieldName = cols[parseInt(i.toString(), 10)].field;\n if (!this.parent.getColumnByField(cols[parseInt(i.toString(), 10)].field)) {\n fieldName = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getColumnByForeignKeyValue)(cols[parseInt(i.toString(), 10)].field, this.parent.getForeignKeyColumns()).field;\n }\n this.refreshFilterIcon(fieldName, cols[parseInt(i.toString(), 10)].operator, cols[parseInt(i.toString(), 10)].value, cols[parseInt(i.toString(), 10)].type, cols[parseInt(i.toString(), 10)].predicate, cols[parseInt(i.toString(), 10)].matchCase, cols[parseInt(i.toString(), 10)].ignoreAccent, cols[parseInt(i.toString(), 10)].uid);\n }\n };\n Filter.prototype.refreshFilterIcon = function (fieldName, operator, value, type, predicate, matchCase, ignoreAccent, uid) {\n var obj = {\n field: fieldName,\n predicate: predicate,\n matchCase: matchCase,\n ignoreAccent: ignoreAccent,\n operator: operator,\n value: value,\n type: type\n };\n if (this.actualPredicate[\"\" + fieldName]) {\n this.actualPredicate[\"\" + fieldName].push(obj);\n }\n else {\n this.actualPredicate[\"\" + fieldName] = [obj];\n }\n var field = uid ? this.parent.grabColumnByUidFromAllCols(uid).field : fieldName;\n this.addFilteredClass(field);\n };\n Filter.prototype.addFilteredClass = function (fieldName) {\n var filterIconElement;\n var col = this.parent.getColumnByField(fieldName);\n if (this.parent.showColumnMenu && col.showColumnMenu) {\n filterIconElement = this.parent.getColumnHeaderByField(fieldName).querySelector('.e-columnmenu');\n }\n else if (col) {\n filterIconElement = this.parent.getColumnHeaderByField(fieldName).querySelector('.e-icon-filter');\n }\n if (filterIconElement) {\n filterIconElement.classList.add('e-filtered');\n }\n };\n /**\n * @hidden\n * @returns {FilterUI} returns the FilterUI\n */\n Filter.prototype.getFilterUIInfo = function () {\n return this.filterModule ? this.filterModule.getFilterUIInfo() : {};\n };\n /**\n * @param {string} field - specifies the field name\n * @returns {string} returns the operator name\n * @hidden\n */\n Filter.prototype.getOperatorName = function (field) {\n return document.getElementById(this.parent.getColumnByField(field).uid).ej2_instances[0].value;\n };\n /**\n * Renders checkbox items in Menu filter dialog.\n *\n * @returns {void}\n */\n Filter.prototype.renderCheckboxOnFilterMenu = function () {\n return this.filterModule.renderCheckBoxMenu();\n };\n return Filter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/foreign-key.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/foreign-key.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ForeignKey: () => (/* binding */ ForeignKey)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./data */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n/**\n * `ForeignKey` module is used to handle foreign key column's actions.\n */\nvar ForeignKey = /** @class */ (function (_super) {\n __extends(ForeignKey, _super);\n function ForeignKey(parent, serviceLocator) {\n var _this = _super.call(this, parent, serviceLocator) || this;\n _this.parent = parent;\n _this.serviceLocator = serviceLocator;\n _this.initEvent();\n return _this;\n }\n ForeignKey.prototype.initEvent = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.initForeignKeyColumn, this.initForeignKeyColumns, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.getForeignKeyData, this.getForeignKeyData, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.generateQuery, this.generateQueryFormData, this);\n };\n ForeignKey.prototype.initForeignKeyColumns = function (columns) {\n for (var i = 0; i < columns.length; i++) {\n columns[parseInt(i.toString(), 10)].dataSource = (columns[parseInt(i.toString(), 10)].dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ?\n columns[parseInt(i.toString(), 10)].dataSource :\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns[parseInt(i.toString(), 10)].dataSource) ? new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager() :\n 'result' in columns[parseInt(i.toString(), 10)].dataSource ? columns[parseInt(i.toString(), 10)].dataSource :\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(columns[parseInt(i.toString(), 10)].dataSource)));\n }\n };\n ForeignKey.prototype.eventfPromise = function (args, query, key, column) {\n var state = this.getStateEventArgument(query);\n var def = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Deferred();\n var deff = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.Deferred();\n state.action = args.action;\n var dataModule = this.parent.getDataModule();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.action) && args.action.requestType && dataModule.foreignKeyDataState.isDataChanged !== false) {\n dataModule.setForeignKeyDataState({\n isPending: true, resolver: deff.resolve\n });\n deff.promise.then(function () {\n def.resolve(column.dataSource);\n });\n state.setColumnData = this.parent.setForeignKeyData.bind(this.parent);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDataStateChange, state);\n }\n else {\n dataModule.setForeignKeyDataState({});\n def.resolve(key);\n }\n return def;\n };\n ForeignKey.prototype.getForeignKeyData = function (args) {\n var _this = this;\n var foreignColumns = args.column ? [args.column] : this.parent.getForeignKeyColumns();\n if (this.parent.columnQueryMode === 'ExcludeHidden') {\n foreignColumns = foreignColumns.filter(function (col) { return col.visible !== false; });\n }\n var allPromise = [];\n var _loop_1 = function (i) {\n var promise = void 0;\n var query = args.isComplex ? this_1.genarateColumnQuery(foreignColumns[parseInt(i.toString(), 10)]) :\n this_1.genarateQuery(foreignColumns[parseInt(i.toString(), 10)], args.result.result, false, true);\n query.params = this_1.parent.query.params;\n var dataSource = foreignColumns[parseInt(i.toString(), 10)].dataSource;\n if (dataSource && 'result' in dataSource) {\n var def = this_1.eventfPromise(args, query, dataSource, foreignColumns[parseInt(i.toString(), 10)]);\n promise = def.promise;\n }\n else if (!dataSource.ready || dataSource.dataSource.offline) {\n promise = dataSource.executeQuery(query);\n }\n else {\n promise = dataSource.ready.then(function () {\n return dataSource.executeQuery(query);\n });\n }\n allPromise.push(promise);\n };\n var this_1 = this;\n for (var i = 0; i < foreignColumns.length; i++) {\n _loop_1(i);\n }\n Promise.all(allPromise).then(function (responses) {\n for (var i = 0; i < responses.length; i++) {\n foreignColumns[parseInt(i.toString(), 10)].columnData = responses[parseInt(i.toString(), 10)].result;\n if (foreignColumns[parseInt(i.toString(), 10)].editType === 'dropdownedit' && 'result' in foreignColumns[parseInt(i.toString(), 10)].dataSource) {\n foreignColumns[parseInt(i.toString(), 10)].edit.params = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(foreignColumns[parseInt(i.toString(), 10)]\n .edit.params, {\n dataSource: responses[parseInt(i.toString(), 10)].result,\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query(), fields: {\n value: foreignColumns[parseInt(i.toString(), 10)].foreignKeyField ||\n foreignColumns[parseInt(i.toString(), 10)].field,\n text: foreignColumns[parseInt(i.toString(), 10)].foreignKeyValue\n }\n });\n }\n }\n args.promise.resolve(args.result);\n }).catch(function (e) {\n var errorMsg = e;\n if (!errorMsg.error) {\n errorMsg = { error: errorMsg };\n }\n _this.parent.log(['actionfailure', 'foreign_key_failure'], errorMsg);\n if (args.promise && args.promise.reject) {\n args.promise.reject(e);\n }\n return e;\n });\n };\n ForeignKey.prototype.generateQueryFormData = function (args) {\n args.predicate.predicate = this.genarateQuery(args.column, args.column.columnData, true);\n };\n ForeignKey.prototype.genarateQuery = function (column, e, fromData, needQuery) {\n var gObj = this.parent;\n var predicates = [];\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query();\n var field = fromData ? column.foreignKeyField : column.field;\n if (gObj.allowPaging || gObj.enableVirtualization || fromData) {\n e = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(((gObj.allowGrouping && gObj.groupSettings.columns.length && !fromData) ?\n e.records : e)).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query().select(field));\n var filteredValue = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.distinct(e, field, false);\n field = fromData ? column.field : column.foreignKeyField;\n for (var i = 0; i < filteredValue.length; i++) {\n if (filteredValue[parseInt(i.toString(), 10)] && filteredValue[parseInt(i.toString(), 10)].getDay) {\n predicates.push((0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getDatePredicate)({ field: field, operator: 'equal', value: filteredValue[parseInt(i.toString(), 10)], matchCase: false }));\n }\n else {\n predicates.push(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Predicate(field, 'equal', filteredValue[parseInt(i.toString(), 10)], false));\n }\n }\n }\n if (needQuery) {\n return predicates.length ? query.where(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Predicate.or(predicates)) : query;\n }\n return (predicates.length ? _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Predicate.or(predicates) : { predicates: [] });\n };\n ForeignKey.prototype.genarateColumnQuery = function (column) {\n var gObj = this.parent;\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query();\n var queryColumn = this.isFiltered(column);\n if (queryColumn.isTrue) {\n query = this.filterQuery(query, queryColumn.column, true);\n }\n if (gObj.searchSettings.key.length) {\n var sSettings = gObj.searchSettings;\n if (column.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager && (column.dataSource.adaptor.getModuleName &&\n column.dataSource.adaptor.getModuleName() === 'ODataV4Adaptor')) {\n query = this.searchQuery(query, column, true);\n }\n else {\n query.search(sSettings.key, column.foreignKeyValue, sSettings.operator, sSettings.ignoreCase);\n }\n }\n return query;\n };\n ForeignKey.prototype.isFiltered = function (column) {\n var filterColumn = this.parent.filterSettings.columns.filter(function (fColumn) {\n return (fColumn.field === column.foreignKeyValue && fColumn.uid === column.uid);\n });\n return {\n column: filterColumn, isTrue: !!filterColumn.length\n };\n };\n ForeignKey.prototype.getModuleName = function () {\n return 'foreignKey';\n };\n ForeignKey.prototype.destroy = function () {\n this.destroyEvent();\n };\n ForeignKey.prototype.destroyEvent = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.initForeignKeyColumn, this.initForeignKeyColumns);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.getForeignKeyData, this.getForeignKeyData);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.generateQuery, this.generateQueryFormData);\n };\n return ForeignKey;\n}(_data__WEBPACK_IMPORTED_MODULE_6__.Data));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/foreign-key.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/freeze.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/freeze.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Freeze: () => (/* binding */ Freeze)\n/* harmony export */ });\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n\n/**\n * `Freeze` module is used to handle Frozen rows and columns.\n *\n * @hidden\n */\nvar Freeze = /** @class */ (function () {\n function Freeze(parent, locator) {\n this.parent = parent;\n this.locator = locator;\n this.addEventListener();\n }\n Freeze.prototype.getModuleName = function () {\n return 'freeze';\n };\n Freeze.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_0__.initialLoad, this.instantiateRenderer, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_0__.destroy, this.destroy, this);\n };\n Freeze.prototype.instantiateRenderer = function () {\n this.parent.log('limitation', this.getModuleName());\n };\n Freeze.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_0__.initialLoad, this.instantiateRenderer);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_0__.destroy, this.destroy);\n };\n Freeze.prototype.destroy = function () {\n this.removeEventListener();\n };\n return Freeze;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/freeze.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Group: () => (/* binding */ Group)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _services_aria_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/aria-service */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js\");\n/* harmony import */ var _services_group_model_generator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/group-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n// eslint-disable-next-line valid-jsdoc, jsdoc/require-param, jsdoc/require-returns\n/**\n *\n * The `Group` module is used to handle group action.\n */\nvar Group = /** @class */ (function () {\n /**\n * Constructor for Grid group module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {GroupSettingsModel} groupSettings - specifies the GroupSettingsModel\n * @param {string[]} sortedColumns - specifies the sortedColumns\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n * @hidden\n */\n function Group(parent, groupSettings, sortedColumns, serviceLocator) {\n var _this = this;\n //Internal variables\n this.sortRequired = true;\n /** @hidden */\n this.groupSortFocus = false;\n /** @hidden */\n this.groupTextFocus = false;\n /** @hidden */\n this.groupCancelFocus = false;\n /** @hidden */\n this.preventFocusOnGroup = false;\n this.isAppliedGroup = false;\n this.isAppliedUnGroup = false;\n this.isAppliedCaptionRowBorder = false;\n this.reorderingColumns = [];\n this.visualElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-cloneproperties e-dragclone e-gdclone',\n attrs: { action: 'grouping' }\n });\n this.helper = function (e) {\n var gObj = _this.parent;\n var target = e.sender.target;\n var element = target.classList.contains('e-groupheadercell') ? target :\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-groupheadercell');\n if (!element || (!target.classList.contains('e-drag') && _this.groupSettings.allowReordering)) {\n return false;\n }\n _this.column = gObj.getColumnByField(element.firstElementChild.getAttribute('ej-mappingname'));\n _this.visualElement.textContent = element.textContent;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateCSSText)(_this.visualElement, \"width: \" + (element.offsetWidth + 2) + \"px;\\n height: \" + (element.offsetHeight + 2) + \"px; line-height: 23px;\");\n _this.visualElement.setAttribute('e-mappinguid', _this.column.uid);\n gObj.element.appendChild(_this.visualElement);\n return _this.visualElement;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.dragStart = function (e) {\n _this.parent.element.classList.add('e-ungroupdrag');\n };\n this.drag = function (e) {\n if (_this.groupSettings.allowReordering) {\n _this.animateDropper(e);\n }\n var target = e.target;\n var cloneElement = _this.parent.element.querySelector('.e-cloneproperties');\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDrag, { target: target, draggableType: 'headercell', column: _this.column });\n if (!_this.groupSettings.allowReordering) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-defaultcur'], ['e-notallowedcur']);\n if (!((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridContent) || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-headercell'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n }\n };\n this.dragStop = function (e) {\n _this.parent.element.classList.remove('e-ungroupdrag');\n var preventDrop = !((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridContent) || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-gridheader'));\n if (_this.groupSettings.allowReordering && preventDrop) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.helper);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-groupdroparea')) {\n _this.rearrangeGroup();\n }\n else if (!((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-grid'))) {\n var field = _this.parent.getColumnByUid(e.helper.getAttribute('e-mappinguid')).field;\n if (_this.groupSettings.columns.indexOf(field) !== -1) {\n _this.ungroupColumn(field);\n }\n }\n return;\n }\n else if (preventDrop) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.helper);\n return;\n }\n };\n this.animateDropper = function (e) {\n var uid = _this.parent.element.querySelector('.e-cloneproperties').getAttribute('e-mappinguid');\n var dragField = _this.parent.getColumnByUid(uid).field;\n var parent = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-groupdroparea');\n var dropTarget = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-group-animator');\n var grouped = [].slice.call(_this.element.getElementsByClassName('e-groupheadercell'))\n .map(function (e) { return e.querySelector('div').getAttribute('ej-mappingname'); });\n var cols = JSON.parse(JSON.stringify(grouped));\n if (dropTarget || parent) {\n if (dropTarget) {\n var dropField = dropTarget.querySelector('div[ej-mappingname]').getAttribute('ej-mappingname');\n var dropIndex = +(dropTarget.getAttribute('index'));\n if (dropField !== dragField) {\n var dragIndex = cols.indexOf(dragField);\n if (dragIndex !== -1) {\n cols.splice(dragIndex, 1);\n }\n var flag = dropIndex !== -1 && dragIndex === dropIndex;\n cols.splice(dropIndex + (flag ? 1 : 0), 0, dragField);\n }\n }\n else if (parent && cols.indexOf(dragField) === -1) {\n cols.push(dragField);\n }\n _this.element.innerHTML = '';\n if (cols.length && !_this.element.classList.contains('e-grouped')) {\n _this.element.classList.add('e-grouped');\n }\n _this.reorderingColumns = cols;\n for (var c = 0; c < cols.length; c++) {\n _this.addColToGroupDrop(cols[parseInt(c.toString(), 10)]);\n }\n }\n else {\n _this.addLabel();\n _this.removeColFromGroupDrop(dragField);\n }\n };\n this.drop = function (e) {\n var gObj = _this.parent;\n var column = gObj.getColumnByUid(e.droppedElement.getAttribute('e-mappinguid'));\n _this.element.classList.remove('e-hover');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.droppedElement);\n _this.aria.setDropTarget(_this.parent.element.querySelector('.e-groupdroparea'), false);\n _this.aria.setGrabbed(_this.parent.getHeaderTable().querySelector('[aria-grabbed=true]'), false);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) || column.allowGrouping === false ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(gObj.getColumnHeaderByUid(column.uid), 'e-grid').getAttribute('id') !==\n gObj.element.getAttribute('id')) {\n _this.parent.log('action_disabled_column', { moduleName: _this.getModuleName(), columnName: column ? column.headerText : undefined });\n return;\n }\n _this.groupColumn(column.field);\n };\n this.contentRefresh = true;\n this.aria = new _services_aria_service__WEBPACK_IMPORTED_MODULE_4__.AriaService();\n this.parent = parent;\n this.groupSettings = groupSettings;\n this.serviceLocator = serviceLocator;\n this.sortedColumns = sortedColumns;\n this.focus = serviceLocator.getService('focus');\n this.addEventListener();\n this.groupGenerator = new _services_group_model_generator__WEBPACK_IMPORTED_MODULE_5__.GroupModelGenerator(this.parent);\n }\n Group.prototype.addLabel = function () {\n if (!this.element.getElementsByClassName('e-group-animator').length) {\n var dragLabel = this.l10n.getConstant('GroupDropArea');\n this.element.innerHTML = dragLabel;\n this.element.classList.remove('e-grouped');\n }\n };\n Group.prototype.rearrangeGroup = function () {\n this.sortRequired = false;\n this.updateModel();\n };\n Group.prototype.columnDrag = function (e) {\n if (this.groupSettings.allowReordering && e.column.allowGrouping) {\n this.animateDropper(e);\n }\n var cloneElement = this.parent.element.querySelector('.e-cloneproperties');\n if (!this.parent.allowReordering) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-defaultcur'], ['e-notallowedcur']);\n }\n if (!(e.column.allowGrouping && ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-groupdroparea') ||\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-headercell') &&\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-headercell').isEqualNode(this.parent.getColumnHeaderByField(e.column.field))))) &&\n !(this.parent.allowReordering && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-headercell'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n if (e.target.classList.contains('e-groupdroparea')) {\n this.element.classList.add('e-hover');\n }\n else {\n this.element.classList.remove('e-hover');\n }\n };\n Group.prototype.columnDragStart = function (e) {\n if (e.target.classList.contains('e-stackedheadercell')) {\n return;\n }\n var dropArea = this.parent.element.querySelector('.e-groupdroparea');\n this.aria.setDropTarget(dropArea, e.column.allowGrouping);\n var element = e.target.classList.contains('e-headercell') ? e.target : (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-headercell');\n this.aria.setGrabbed(element, true, !e.column.allowGrouping);\n };\n Group.prototype.columnDrop = function (e) {\n var gObj = this.parent;\n if (e.droppedElement.getAttribute('action') === 'grouping') {\n var column = gObj.getColumnByUid(e.droppedElement.getAttribute('e-mappinguid'));\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) || column.allowGrouping === false ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(gObj.getColumnHeaderByUid(column.uid), 'e-grid').getAttribute('id') !==\n gObj.element.getAttribute('id')) {\n return;\n }\n this.ungroupColumn(column.field);\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Group.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.uiUpdate, this.enableAfterRender, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.groupComplete, this.onActionComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.ungroupComplete, this.onActionComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.inBoundModelChanged, this.onPropertyChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.click, this.clickHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDrag, this.columnDrag, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDragStart, this.columnDragStart, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerDrop, this.columnDrop, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDrop, this.columnDrop, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerRefreshed, this.refreshSortIcons, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.sortComplete, this.refreshSortIcons, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.keyPressed, this.keyPressHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, this.initialEnd, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.onEmpty, this.initialEnd, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.initialEnd, this.render, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.groupAggregates, this.onGroupAggregates, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy, this);\n this.parent.on('group-expand-collapse', this.updateExpand, this);\n this.parent.on('persist-data-changed', this.initialEnd, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Group.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.initialEnd, this.render);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.uiUpdate, this.enableAfterRender);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.groupComplete, this.onActionComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.ungroupComplete, this.onActionComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.inBoundModelChanged, this.onPropertyChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.click, this.clickHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDrag, this.columnDrag);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDragStart, this.columnDragStart);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDrop, this.columnDrop);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerDrop, this.columnDrop);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerRefreshed, this.refreshSortIcons);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.sortComplete, this.refreshSortIcons);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.keyPressed, this.keyPressHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.groupAggregates, this.onGroupAggregates);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy);\n this.parent.off('group-expand-collapse', this.updateExpand);\n };\n Group.prototype.initialEnd = function () {\n var gObj = this.parent;\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, this.initialEnd);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.onEmpty, this.initialEnd);\n if (this.parent.getColumns().length && this.groupSettings.columns.length) {\n this.contentRefresh = false;\n for (var _i = 0, _a = gObj.groupSettings.columns; _i < _a.length; _i++) {\n var col = _a[_i];\n this.groupColumn(col);\n }\n this.contentRefresh = true;\n }\n };\n Group.prototype.keyPressHandler = function (e) {\n var gObj = this.parent;\n if (e.target && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-groupheadercell') && (e.action === 'tab' || e.action === 'shiftTab')) {\n var focusableGroupedItems = this.getFocusableGroupedItems();\n if ((e.action === 'tab' && e.target === focusableGroupedItems[focusableGroupedItems.length - 1])\n || (e.action === 'shiftTab' && e.target === focusableGroupedItems[0])) {\n return;\n }\n for (var i = 0; i < focusableGroupedItems.length; i++) {\n if (e.target === focusableGroupedItems[parseInt(i.toString(), 10)]) {\n e.preventDefault();\n var index = e.action === 'tab' ? i + 1 : i - 1;\n focusableGroupedItems[parseInt(index.toString(), 10)].focus();\n return;\n }\n }\n }\n var isMacLike = /(Mac)/i.test(navigator.platform);\n if (isMacLike && e.metaKey) {\n if (e.action === 'downArrow') {\n e.action = 'ctrlDownArrow';\n }\n else if (e.action === 'upArrow') {\n e.action = 'ctrlUpArrow';\n }\n }\n if ((e.action !== 'ctrlSpace' && (!this.groupSettings.columns.length ||\n ['altDownArrow', 'altUpArrow', 'ctrlDownArrow', 'ctrlUpArrow', 'enter'].indexOf(e.action) === -1))\n || (this.parent.groupSettings.enableLazyLoading && this.groupSettings.columns.length\n && (e.action === 'ctrlUpArrow' || e.action === 'ctrlDownArrow'))) {\n return;\n }\n switch (e.action) {\n case 'altDownArrow':\n case 'altUpArrow':\n // eslint-disable-next-line no-case-declarations\n var selected = gObj.allowSelection ? gObj.getSelectedRowIndexes() : [];\n if (selected.length) {\n e.preventDefault();\n var rows = gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).children;\n var dataRow = gObj.getDataRows()[selected[selected.length - 1]];\n var grpRow = void 0;\n for (var i = dataRow.rowIndex; i >= 0; i--) {\n if (!rows[parseInt(i.toString(), 10)].classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.row) && !rows[parseInt(i.toString(), 10)].classList.contains('e-detailrow')) {\n grpRow = rows[parseInt(i.toString(), 10)];\n break;\n }\n }\n this.expandCollapseRows(grpRow.querySelector(e.action === 'altUpArrow' ?\n '.e-recordplusexpand' : '.e-recordpluscollapse'));\n }\n break;\n case 'ctrlDownArrow':\n e.preventDefault();\n this.expandAll();\n break;\n case 'ctrlUpArrow':\n e.preventDefault();\n this.collapseAll();\n break;\n case 'enter':\n if (e.target.classList.contains('e-groupsort')) {\n this.groupSortFocus = true;\n e.preventDefault();\n this.applySortFromTarget(e.target);\n break;\n }\n else if (e.target.classList.contains('e-ungroupbutton')) {\n this.groupCancelFocus = true;\n e.preventDefault();\n this.unGroupFromTarget(e.target);\n break;\n }\n if (this.parent.isEdit || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '#' + this.parent.element.id + '_searchbar') !== null) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-pager') || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-toolbar')) {\n return;\n }\n // eslint-disable-next-line no-case-declarations\n var element = this.focus.getFocusedElement();\n if (element && (element.classList.contains('e-icon-grightarrow') || element.classList.contains('e-icon-gdownarrow'))) {\n element = element.parentElement;\n }\n // eslint-disable-next-line no-case-declarations\n var row = element && element.parentElement ? element.parentElement.querySelector('[class^=\"e-record\"]') : null;\n if (!row) {\n break;\n }\n if (element.children.length && (element.children[0].classList.contains('e-icon-grightarrow') ||\n element.children[0].classList.contains('e-icon-gdownarrow'))) {\n e.preventDefault();\n this.expandCollapseRows(row);\n }\n break;\n case 'ctrlSpace':\n // eslint-disable-next-line no-case-declarations\n var elem = gObj.focusModule.currentInfo.element;\n if (elem && elem.classList.contains('e-headercell')) {\n e.preventDefault();\n var column = gObj.getColumnByUid(elem.firstElementChild.getAttribute('e-mappinguid'));\n if (column.field && gObj.groupSettings.columns.indexOf(column.field) < 0) {\n this.groupColumn(column.field);\n }\n else {\n this.ungroupColumn(column.field);\n }\n }\n break;\n }\n };\n /**\n * @returns {Element[]} - Return the focusable grouping items\n * @hidden */\n Group.prototype.getFocusableGroupedItems = function () {\n var focusableGroupedItems = [];\n if (this.groupSettings.columns.length) {\n var focusableGroupedHeaderItems = this.element.querySelectorAll('.e-groupheadercell');\n for (var i = 0; i < focusableGroupedHeaderItems.length; i++) {\n focusableGroupedItems.push(focusableGroupedHeaderItems[parseInt(i.toString(), 10)].querySelector('.e-grouptext'));\n focusableGroupedItems.push(focusableGroupedHeaderItems[parseInt(i.toString(), 10)].querySelector('.e-groupsort'));\n focusableGroupedItems.push(focusableGroupedHeaderItems[parseInt(i.toString(), 10)].querySelector('.e-ungroupbutton'));\n }\n }\n return focusableGroupedItems;\n };\n Group.prototype.wireEvent = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusin', this.onFocusIn, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusout', this.onFocusOut, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'auxclick', this.auxilaryclickHandler, this);\n };\n Group.prototype.unWireEvent = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusin', this.onFocusIn);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusout', this.onFocusOut);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'auxclick', this.auxilaryclickHandler);\n };\n Group.prototype.onFocusIn = function (e) {\n if (this.parent.focusModule.currentInfo && this.parent.focusModule.currentInfo.element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.parent.focusModule.currentInfo.element, this.parent.focusModule.currentInfo.elementToFocus], ['e-focused', 'e-focus']);\n this.parent.focusModule.currentInfo.element.tabIndex = -1;\n }\n this.addOrRemoveFocus(e);\n };\n Group.prototype.onFocusOut = function (e) {\n this.addOrRemoveFocus(e);\n };\n Group.prototype.addOrRemoveFocus = function (e) {\n if (e.target.classList.contains('e-groupdroparea') || e.target.classList.contains('e-grouptext')\n || e.target.classList.contains('e-groupsort')\n || e.target.classList.contains('e-ungroupbutton')) {\n var target = e.target.classList.contains('e-grouptext') ?\n e.target.parentElement.parentElement : e.target;\n if (e.type === 'focusin') {\n this.parent.focusModule.currentInfo.element = e.target;\n this.parent.focusModule.currentInfo.elementToFocus = e.target;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([target], ['e-focused', 'e-focus']);\n e.target.tabIndex = 0;\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([target], ['e-focused', 'e-focus']);\n e.target.tabIndex = -1;\n }\n }\n };\n Group.prototype.clickHandler = function (e) {\n if (e.target.classList.contains('e-grouptext')) {\n this.groupTextFocus = true;\n }\n if (e.target.classList.contains('e-groupsort')) {\n this.groupSortFocus = true;\n }\n if (e.target.classList.contains('e-ungroupbutton')) {\n this.groupCancelFocus = true;\n }\n if (e.target.classList.contains('e-icon-grightarrow') || e.target.classList.contains('e-icon-gdownarrow')) {\n e.preventDefault();\n }\n var trgtEle = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-recordplusexpand') ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-recordpluscollapse');\n if (trgtEle && (trgtEle.children[0].classList.contains('e-icon-gdownarrow') || trgtEle.children[0].classList.contains('e-icon-grightarrow'))) {\n this.expandCollapseRows(e.target);\n }\n this.applySortFromTarget(e.target);\n this.unGroupFromTarget(e.target);\n this.toogleGroupFromHeader(e.target);\n };\n Group.prototype.auxilaryclickHandler = function (e) {\n if (e.target.classList.contains('e-icon-grightarrow') || e.target.classList.contains('e-icon-gdownarrow')\n && (e.button === 1)) {\n e.preventDefault();\n }\n };\n Group.prototype.unGroupFromTarget = function (target) {\n if (target.classList.contains('e-ungroupbutton')) {\n this.ungroupColumn(target.parentElement.getAttribute('ej-mappingname'));\n }\n };\n Group.prototype.toogleGroupFromHeader = function (target) {\n if (this.groupSettings.showToggleButton) {\n if (target.classList.contains('e-grptogglebtn')) {\n if (target.classList.contains('e-toggleungroup')) {\n this.ungroupColumn(this.parent.getColumnByUid(target.parentElement.getAttribute('e-mappinguid')).field);\n }\n else {\n this.groupColumn(this.parent.getColumnByUid(target.parentElement.getAttribute('e-mappinguid')).field);\n }\n }\n else {\n if (target.classList.contains('e-toggleungroup')) {\n this.ungroupColumn(target.parentElement.getAttribute('ej-mappingname'));\n }\n }\n }\n };\n Group.prototype.applySortFromTarget = function (target) {\n var gObj = this.parent;\n var gHeader = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-groupheadercell');\n if (gObj.allowSorting && gHeader && !target.classList.contains('e-ungroupbutton') &&\n !target.classList.contains('e-toggleungroup')) {\n var field = gHeader.firstElementChild.getAttribute('ej-mappingname');\n if (gObj.getColumnHeaderByField(field).getElementsByClassName('e-ascending').length) {\n gObj.sortColumn(field, 'Descending', true);\n }\n else {\n gObj.sortColumn(field, 'Ascending', true);\n }\n }\n };\n /**\n * Expands or collapses grouped rows by target element.\n *\n * @param {Element} target - Defines the target element of the grouped row.\n * @returns {void}\n */\n Group.prototype.expandCollapseRows = function (target) {\n var trgt = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-recordplusexpand') ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-recordpluscollapse');\n if (trgt) {\n var rowNodes = [].slice.call(this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).children);\n if (this.parent.editSettings.showAddNewRow) {\n if (rowNodes[0].classList.contains('e-addedrow')) {\n rowNodes.shift();\n }\n else if (rowNodes[rowNodes.length - 1].classList.contains('e-addedrow')) {\n rowNodes.pop();\n }\n }\n var isHide = void 0;\n var dataManager = void 0;\n var query = void 0;\n var gObj = this.parent;\n var indent = trgt.parentElement.getElementsByClassName('e-indentcell').length;\n var uid = trgt.parentElement.getAttribute('data-uid');\n var captionRow = gObj.getRowObjectFromUID(uid);\n var expand = false;\n if (trgt.classList.contains('e-recordpluscollapse')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([trgt], 'e-recordplusexpand');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([trgt], 'e-recordpluscollapse');\n trgt.firstElementChild.className = 'e-icons e-gdiagonaldown e-icon-gdownarrow';\n trgt.firstElementChild.setAttribute('title', this.l10n.getConstant('Expanded'));\n expand = true;\n captionRow.isExpand = true;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isGroupAdaptive)(gObj)) {\n this.updateVirtualRows(gObj, target, expand, query, dataManager);\n }\n if (this.parent.groupSettings.enableLazyLoading) {\n if ((this.parent.filterSettings.columns.length || this.parent.sortSettings.columns.length ||\n this.parent.searchSettings.key.length) && this.parent.getContent().firstElementChild.scrollTop === 0) {\n this.parent.contentModule.isTop = true;\n }\n (this.parent.enableVirtualization ? this.parent.lazyLoadRender :\n this.parent.contentModule).captionExpand(trgt.parentElement);\n }\n }\n else {\n isHide = true;\n captionRow.isExpand = false;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([trgt], 'e-recordplusexpand');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([trgt], 'e-recordpluscollapse');\n trgt.firstElementChild.className = 'e-icons e-gnextforward e-icon-grightarrow';\n trgt.firstElementChild.setAttribute('title', this.l10n.getConstant('Collapsed'));\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isGroupAdaptive)(gObj)) {\n this.updateVirtualRows(gObj, target, !isHide, query, dataManager);\n }\n if (this.parent.groupSettings.enableLazyLoading) {\n (this.parent.enableVirtualization ? this.parent.lazyLoadRender :\n this.parent.contentModule).captionCollapse(trgt.parentElement);\n }\n }\n this.aria.setExpand(trgt, expand);\n if (!(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isGroupAdaptive)(gObj) && !this.parent.groupSettings.enableLazyLoading) {\n var rowObjs = gObj.getRowsObject();\n var startIdx = rowObjs.indexOf(captionRow);\n var rowsState = {};\n var cacheStartIdx = gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings &&\n gObj.infiniteScrollSettings.enableCache && rowObjs.length !== rowNodes.length ?\n Array.from(rowNodes).indexOf(trgt.parentElement) : undefined;\n for (var i = startIdx; i < rowObjs.length; i++) {\n if (i > startIdx && rowObjs[parseInt(i.toString(), 10)].indent === indent) {\n break;\n }\n if (rowObjs[parseInt(i.toString(), 10)].isDetailRow) {\n var visible = rowObjs[i - 1].isExpand && rowObjs[i - 1].visible;\n if (cacheStartIdx && cacheStartIdx > 0 && cacheStartIdx < rowNodes.length) {\n rowNodes[parseInt(cacheStartIdx.toString(), 10)].style.display = visible ? '' : 'none';\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cacheStartIdx)) {\n rowNodes[parseInt(i.toString(), 10)].style.display = visible ? '' : 'none';\n }\n }\n else if (rowsState[rowObjs[parseInt(i.toString(), 10)].parentUid] === false) {\n rowObjs[parseInt(i.toString(), 10)].visible = false;\n if (cacheStartIdx && cacheStartIdx > 0 && cacheStartIdx < rowNodes.length) {\n rowNodes[parseInt(cacheStartIdx.toString(), 10)].style.display = 'none';\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cacheStartIdx)) {\n rowNodes[parseInt(i.toString(), 10)].style.display = 'none';\n }\n }\n else {\n if (!(rowObjs[parseInt(i.toString(), 10)].isDataRow || rowObjs[parseInt(i.toString(), 10)].isCaptionRow\n || rowObjs[parseInt(i.toString(), 10)].isDetailRow || rowObjs[parseInt(i.toString(), 10)].isAggregateRow)) {\n var visible = rowObjs[parseInt(i.toString(), 10)].cells\n .some(function (cell) { return cell.isDataCell && cell.visible; });\n if (visible === rowObjs[parseInt(i.toString(), 10)].visible) {\n continue;\n }\n }\n rowObjs[parseInt(i.toString(), 10)].visible = true;\n if (cacheStartIdx && cacheStartIdx > 0 && cacheStartIdx < rowNodes.length) {\n rowNodes[parseInt(cacheStartIdx.toString(), 10)].style.display = '';\n rowNodes[parseInt(cacheStartIdx.toString(), 10)].classList.remove('e-hide');\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cacheStartIdx)) {\n rowNodes[parseInt(i.toString(), 10)].style.display = '';\n rowNodes[parseInt(i.toString(), 10)].classList.remove('e-hide');\n }\n }\n if (rowObjs[parseInt(i.toString(), 10)].isCaptionRow) {\n rowsState[rowObjs[parseInt(i.toString(), 10)].uid] = rowObjs[parseInt(i.toString(), 10)].isExpand\n && rowObjs[parseInt(i.toString(), 10)].visible;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cacheStartIdx)) {\n cacheStartIdx++;\n }\n }\n this.lastCaptionRowBorder();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshExpandandCollapse, { rows: this.parent.getRowsObject() });\n }\n if (!this.parent.enableInfiniteScrolling || !this.parent.groupSettings.enableLazyLoading) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.captionActionComplete, { isCollapse: isHide, parentUid: uid });\n }\n }\n };\n /**\n * The function is used to set border in last row\n *\n * @returns { void }\n * @hidden\n */\n Group.prototype.lastCaptionRowBorder = function () {\n var table = this.parent.getContentTable();\n var clientHeight = this.parent.getContent().clientHeight;\n if ((!this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling) ||\n this.parent.groupSettings.enableLazyLoading) {\n if (table.scrollHeight < clientHeight || this.isAppliedCaptionRowBorder) {\n if (this.isAppliedCaptionRowBorder || table.querySelector('.e-lastrowcell')) {\n var borderCells = table.querySelectorAll('.e-lastrowcell');\n for (var i = 0, len = borderCells.length; i < len; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([borderCells[parseInt(i.toString(), 10)]], 'e-lastrowcell');\n }\n this.isAppliedCaptionRowBorder = false;\n }\n var rowNodes = this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).children;\n var lastRow = rowNodes[rowNodes.length - 1];\n if (lastRow.style.display !== 'none' && !lastRow.classList.contains('e-groupcaptionrow')) {\n if (table.scrollHeight < clientHeight) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(table.querySelectorAll('tr:last-child td'), 'e-lastrowcell');\n this.isAppliedCaptionRowBorder = true;\n }\n }\n else {\n for (var i = rowNodes.length - 1, len = 0; i > len; i--) {\n if (rowNodes[parseInt(i.toString(), 10)].style.display !== 'none'\n && rowNodes[parseInt(i.toString(), 10)].classList.contains('e-groupcaptionrow')) {\n if (rowNodes[parseInt(i.toString(), 10)].querySelector('.e-recordpluscollapse')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(rowNodes[parseInt(i.toString(), 10)].childNodes, 'e-lastrowcell');\n this.isAppliedCaptionRowBorder = true;\n break;\n }\n }\n }\n }\n }\n }\n };\n Group.prototype.updateVirtualRows = function (gObj, target, isExpand, query, dataManager) {\n var rObj = gObj.getRowObjectFromUID(target.closest('tr').getAttribute('data-uid'));\n rObj.isExpand = isExpand;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.updatecloneRow)(gObj);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshVirtualMaxPage, {});\n query = gObj.getDataModule().generateQuery(false);\n var args = { requestType: 'virtualscroll', rowObject: rObj };\n if (gObj.contentModule) {\n args.virtualInfo = gObj.contentModule.prevInfo;\n }\n dataManager = gObj.getDataModule().getData(args, query.requiresCount());\n dataManager.then(function (e) { return gObj.renderModule.dataManagerSuccess(e, args); });\n };\n Group.prototype.expandCollapse = function (isExpand) {\n if (!this.parent.groupSettings.columns.length) {\n return;\n }\n if (!isExpand) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.initialCollapse, isExpand);\n }\n var rowNodes = this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).children;\n var rowObjs = this.parent.getRowsObject();\n var row;\n for (var i = 0, len = rowNodes.length; i < len; i++) {\n if (rowNodes[parseInt(i.toString(), 10)].querySelectorAll('.e-recordplusexpand, .e-recordpluscollapse').length) {\n row = rowNodes[parseInt(i.toString(), 10)].querySelector(isExpand ? '.e-recordpluscollapse' : '.e-recordplusexpand');\n if (row) {\n if (isExpand) {\n row.className = 'e-recordplusexpand';\n row.firstElementChild.className = 'e-icons e-gdiagonaldown e-icon-gdownarrow';\n row.setAttribute('aria-expanded', 'true');\n row.firstElementChild.setAttribute('title', this.l10n.getConstant('Expanded'));\n }\n else {\n row.className = 'e-recordpluscollapse';\n row.firstElementChild.className = 'e-icons e-gnextforward e-icon-grightarrow';\n row.setAttribute('aria-expanded', 'false');\n row.firstElementChild.setAttribute('title', this.l10n.getConstant('Collapsed'));\n }\n }\n if (!(rowNodes[parseInt(i.toString(), 10)].firstElementChild.classList.contains('e-recordplusexpand') ||\n rowNodes[parseInt(i.toString(), 10)].firstElementChild.classList.contains('e-recordpluscollapse'))) {\n rowNodes[parseInt(i.toString(), 10)].style.display = isExpand ? '' : 'none';\n }\n }\n else {\n rowNodes[parseInt(i.toString(), 10)].style.display = isExpand ? '' : 'none';\n }\n if (rowObjs[parseInt(i.toString(), 10)].isCaptionRow) {\n rowObjs[parseInt(i.toString(), 10)].isExpand = isExpand ? true : false;\n }\n }\n this.parent.updateVisibleExpandCollapseRows();\n this.lastCaptionRowBorder();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshExpandandCollapse, { rows: this.parent.getRowsObject() });\n };\n /**\n * Expands all the grouped rows of the Grid.\n *\n * @returns {void}\n */\n Group.prototype.expandAll = function () {\n this.expandCollapse(true);\n };\n /**\n * Collapses all the grouped rows of the Grid.\n *\n * @returns {void}\n */\n Group.prototype.collapseAll = function () {\n this.expandCollapse(false);\n };\n /**\n * The function is used to render grouping\n *\n * @returns {void}\n * @hidden\n */\n Group.prototype.render = function () {\n this.l10n = this.serviceLocator.getService('localization');\n this.renderGroupDropArea();\n this.initDragAndDrop();\n this.refreshToggleBtn();\n this.wireEvent();\n };\n Group.prototype.renderGroupDropArea = function () {\n var groupElem = this.parent.element.querySelector('.e-groupdroparea');\n if (groupElem) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(groupElem);\n }\n this.element = this.parent.createElement('div', { className: 'e-groupdroparea', attrs: { 'tabindex': '-1' } });\n if (this.groupSettings.allowReordering) {\n this.element.classList.add('e-group-animate');\n }\n this.updateGroupDropArea();\n this.parent.element.insertBefore(this.element, this.parent.element.firstChild);\n if (!this.groupSettings.showDropArea || this.parent.rowRenderingMode === 'Vertical') {\n this.element.style.display = 'none';\n }\n };\n Group.prototype.updateGroupDropArea = function (clear) {\n if (this.groupSettings.showDropArea && !this.groupSettings.columns.length) {\n var dragLabel = this.l10n.getConstant('GroupDropArea');\n this.element.innerHTML = dragLabel;\n this.element.classList.remove('e-grouped');\n }\n else {\n if ((this.element.innerHTML === this.l10n.getConstant('GroupDropArea') && (this.groupSettings.columns.length === 1\n || !this.isAppliedGroup && !this.isAppliedUnGroup)) || clear) {\n this.element.innerHTML = '';\n }\n this.element.classList.add('e-grouped');\n }\n };\n Group.prototype.initDragAndDrop = function () {\n this.initializeGHeaderDrop();\n this.initializeGHeaderDrag();\n };\n Group.prototype.initializeGHeaderDrag = function () {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var drag = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Draggable(this.element, {\n dragTarget: this.groupSettings.allowReordering ? '.e-drag' : '.e-groupheadercell',\n distance: this.groupSettings.allowReordering ? -10 : 5,\n helper: this.helper,\n dragStart: this.dragStart,\n drag: this.drag,\n dragStop: this.dragStop\n });\n };\n Group.prototype.initializeGHeaderDrop = function () {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var drop = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Droppable(this.element, {\n accept: '.e-dragclone',\n drop: this.drop\n });\n };\n /**\n * Groups a column by column name.\n *\n * @param {string} columnName - Defines the column name to group.\n * @returns {void}\n */\n Group.prototype.groupColumn = function (columnName) {\n var gObj = this.parent;\n var column = gObj.getColumnByField(columnName);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) || column.allowGrouping === false ||\n (this.contentRefresh && this.groupSettings.columns.indexOf(columnName) > -1)) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), columnName: column.headerText });\n return;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isActionPrevent)(gObj)) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventBatch, { instance: this, handler: this.groupColumn, arg1: columnName });\n return;\n }\n column.visible = gObj.groupSettings.showGroupedColumn;\n this.colName = columnName;\n this.isAppliedGroup = true;\n if (this.contentRefresh) {\n this.updateModel();\n }\n else {\n this.addColToGroupDrop(columnName);\n }\n this.updateGroupDropArea();\n this.isAppliedGroup = false;\n };\n /**\n * Ungroups a column by column name.\n *\n * @param {string} columnName - Defines the column name to ungroup.\n * @returns {void}\n */\n Group.prototype.ungroupColumn = function (columnName) {\n var gObj = this.parent;\n var column = this.parent.enableColumnVirtualization ?\n this.parent.columns.filter(function (c) { return c.field === columnName; })[0] : gObj.getColumnByField(columnName);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) || column.allowGrouping === false || this.groupSettings.columns.indexOf(columnName) < 0) {\n return;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isActionPrevent)(gObj)) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventBatch, { instance: this, handler: this.ungroupColumn, arg1: columnName });\n return;\n }\n column.visible = true;\n this.colName = column.field;\n var columns = JSON.parse(JSON.stringify(this.groupSettings.columns));\n columns.splice(columns.indexOf(this.colName), 1);\n if (this.sortedColumns.indexOf(columnName) < 0) {\n for (var i = 0, len = gObj.sortSettings.columns.length; i < len; i++) {\n if (columnName === gObj.sortSettings.columns[parseInt(i.toString(), 10)].field) {\n gObj.sortSettings.columns.splice(i, 1);\n break;\n }\n }\n }\n if (this.groupSettings.allowReordering) {\n this.reorderingColumns = columns;\n }\n this.groupSettings.columns = columns;\n if (gObj.allowGrouping) {\n this.isAppliedUnGroup = true;\n this.parent.dataBind();\n }\n };\n /**\n * The function used to update groupSettings\n *\n * @returns {void}\n * @hidden\n */\n Group.prototype.updateModel = function () {\n var columns = JSON.parse(JSON.stringify(this.groupSettings.columns));\n columns = this.reorderingColumns.length ? JSON.parse(JSON.stringify(this.reorderingColumns)) : columns;\n if (this.sortRequired) {\n if (columns.indexOf(this.colName) === -1) {\n columns.push(this.colName);\n }\n this.groupAddSortingQuery(this.colName);\n }\n this.sortRequired = true;\n this.parent.groupSettings.columns = columns;\n this.parent.dataBind();\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Group.prototype.onActionComplete = function (e) {\n if (e.requestType === 'grouping') {\n this.addColToGroupDrop(this.colName);\n }\n else {\n this.removeColFromGroupDrop(this.colName);\n }\n if (this.groupSettings.showDropArea && this.parent.height === '100%') {\n this.parent.scrollModule.refresh();\n }\n var args = this.groupSettings.columns.indexOf(this.colName) > -1 ? {\n columnName: this.colName, requestType: 'grouping', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete\n } : { requestType: 'ungrouping', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, args));\n this.colName = null;\n };\n Group.prototype.groupAddSortingQuery = function (colName) {\n var i = 0;\n while (i < this.parent.sortSettings.columns.length) {\n if (this.parent.sortSettings.columns[parseInt(i.toString(), 10)].field === colName) {\n break;\n }\n i++;\n }\n if (this.parent.sortSettings.columns.length === i) {\n this.parent.sortSettings.columns.push({ field: colName, direction: 'Ascending', isFromGroup: true });\n }\n else if (!this.parent.allowSorting) {\n this.parent.sortSettings.columns[parseInt(i.toString(), 10)].direction = 'Ascending';\n }\n };\n Group.prototype.createElement = function (field) {\n var gObj = this.parent;\n var direction = 'Ascending';\n var animator = this.parent.createElement('div', { className: 'e-grid-icon e-group-animator' });\n var groupedColumn = this.parent.createElement('div', { className: 'e-grid-icon e-groupheadercell' });\n var childDiv = this.parent.createElement('div', { attrs: { 'ej-mappingname': field } });\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(field)) {\n childDiv.setAttribute('ej-complexname', (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(field));\n }\n var column = this.parent.getColumnByField(field);\n //Todo headerTemplateID for grouped column, disableHtmlEncode\n var headerCell = gObj.getColumnHeaderByUid(column.uid);\n // if (!isNullOrUndefined(column.headerTemplate)) {\n // if (column.headerTemplate.indexOf('#') !== -1) {\n // childDiv.innerHTML = document.querySelector(column.headerTemplate).innerHTML.trim();\n // } else {\n // childDiv.innerHTML = column.headerTemplate;\n // }\n // childDiv.firstElementChild.classList.add('e-grouptext');\n // } else {\n if (this.groupSettings.allowReordering) {\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-drag e-icons e-icon-drag', innerHTML: ' ',\n attrs: { title: 'Drag', tabindex: '-1', 'aria-label': this.l10n.getConstant('GroupedDrag') }\n }));\n }\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-grouptext', innerHTML: column.headerText,\n attrs: { tabindex: '-1' }\n }));\n // }\n if (this.groupSettings.showToggleButton) {\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-togglegroupbutton e-icons e-icon-ungroup e-toggleungroup', innerHTML: ' ',\n attrs: { tabindex: '-1', 'aria-label': this.l10n.getConstant('UnGroupAria') }\n }));\n }\n if (headerCell.querySelectorAll('.e-ascending,.e-descending').length) {\n direction = headerCell.querySelector('.e-ascending') ? 'Ascending' : 'Descending';\n }\n childDiv.appendChild(this.parent.createElement('span', {\n className: 'e-groupsort e-icons ' +\n ('e-' + direction.toLowerCase() + ' e-icon-' + direction.toLowerCase()), innerHTML: ' ',\n attrs: { tabindex: '-1', 'aria-label': this.l10n.getConstant('GroupedSortIcon') + column.headerText, role: 'button' }\n }));\n var ungroupButton = this.parent.createElement('span', {\n className: 'e-ungroupbutton e-icons e-icon-hide', innerHTML: ' ',\n attrs: { title: this.l10n.getConstant('UnGroup'),\n tabindex: '-1', 'aria-label': this.l10n.getConstant('UnGroupIcon') + column.headerText, role: 'button' }\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateCSSText)(ungroupButton, this.groupSettings.showUngroupButton ? '' : 'display: none;');\n childDiv.appendChild(ungroupButton);\n groupedColumn.appendChild(childDiv);\n if (this.groupSettings.allowReordering) {\n animator.appendChild(groupedColumn);\n animator.appendChild(this.createSeparator());\n groupedColumn = animator;\n }\n return groupedColumn;\n };\n Group.prototype.addColToGroupDrop = function (field) {\n var groupElem = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(field) ? this.parent.element.querySelector('.e-groupdroparea div[ej-complexname=' +\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getParsedFieldID)((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(field)) + ']') : this.parent.element.querySelector('.e-groupdroparea div[ej-mappingname=' + (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getParsedFieldID)(field) + ']');\n if (this.groupSettings.allowReordering && groupElem) {\n return;\n }\n var column = this.parent.getColumnByField(field);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column)) {\n return;\n }\n var groupedColumn = this.createElement(field);\n if (this.groupSettings.allowReordering) {\n var index = this.element.getElementsByClassName('e-group-animator').length;\n groupedColumn.setAttribute('index', index.toString());\n }\n this.element.appendChild(groupedColumn);\n var focusModule = this.parent.focusModule;\n focusModule.setActive(true);\n var firstContentCellIndex = [0, 0];\n if (focusModule.active.matrix.matrix[firstContentCellIndex[0]][firstContentCellIndex[1]] === 0) {\n firstContentCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.findCellIndex)(focusModule.active.matrix.matrix, firstContentCellIndex, true);\n }\n focusModule.active.matrix.current = firstContentCellIndex;\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.showAddNewRowFocus, {});\n }\n else if (this.parent.isInitialLoad && !this.preventFocusOnGroup) {\n focusModule.focus();\n }\n //Todo: rtl\n };\n Group.prototype.createSeparator = function () {\n var separator = this.parent.createElement('span', {\n className: 'e-nextgroup e-icons e-icon-next', innerHTML: ' ',\n attrs: { tabindex: '-1', 'aria-label': this.l10n.getConstant('GroupSeperator') }\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateCSSText)(separator, this.groupSettings.showUngroupButton ? '' : 'display: none;');\n return separator;\n };\n Group.prototype.refreshToggleBtn = function (isRemove) {\n if (this.groupSettings.showToggleButton) {\n var headers = [].slice.call(this.parent.getHeaderTable().getElementsByClassName('e-headercelldiv'));\n for (var i = 0, len = headers.length; i < len; i++) {\n if (!((headers[parseInt(i.toString(), 10)].classList.contains('e-emptycell')) || (headers[parseInt(i.toString(), 10)].classList.contains('e-headerchkcelldiv')))) {\n var column = this.parent.getColumnByUid(headers[parseInt(i.toString(), 10)].getAttribute('e-mappinguid'));\n if (!this.parent.showColumnMenu || (this.parent.showColumnMenu && !column.showColumnMenu)) {\n if (headers[parseInt(i.toString(), 10)].getElementsByClassName('e-grptogglebtn').length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(headers[parseInt(i.toString(), 10)].querySelectorAll('.e-grptogglebtn')[0]);\n }\n if (!isRemove) {\n headers[parseInt(i.toString(), 10)].appendChild(this.parent.createElement('span', {\n className: 'e-grptogglebtn e-icons ' + (this.groupSettings.columns.indexOf(column.field) > -1 ?\n 'e-toggleungroup e-icon-ungroup' : 'e-togglegroup e-icon-group'), attrs: { tabindex: '-1',\n 'aria-label': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.l10n) ? this.parent.localeObj.getConstant('GroupButton')\n : this.l10n.getConstant('GroupButton') }\n }));\n }\n }\n }\n }\n }\n };\n Group.prototype.removeColFromGroupDrop = function (field) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getGHeaderCell(field))) {\n var elem = this.getGHeaderCell(field);\n if (this.groupSettings.allowReordering) {\n var parent_1 = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(elem, 'e-group-animator');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(parent_1);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n }\n this.updateGroupDropArea();\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.showAddNewRowFocus, {});\n }\n }\n this.isAppliedUnGroup = false;\n };\n Group.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n for (var _i = 0, _a = Object.keys(e.properties); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'columns':\n // eslint-disable-next-line no-case-declarations\n var args = void 0;\n if (this.contentRefresh) {\n if (!this.isAppliedUnGroup) {\n if (!this.isAppliedGroup) {\n this.updateGroupDropArea(true);\n for (var j = 0; j < this.parent.sortSettings.columns.length; j++) {\n if (this.parent.sortSettings.columns[parseInt(j.toString(), 10)].isFromGroup) {\n this.parent.sortSettings.columns.splice(j, 1);\n j--;\n }\n }\n for (var i = 0; i < this.groupSettings.columns.length; i++) {\n this.colName = this.groupSettings.columns[parseInt(i.toString(), 10)];\n var col = this.parent.getColumnByField(this.colName);\n col.visible = this.parent.groupSettings.showGroupedColumn;\n this.groupAddSortingQuery(this.colName);\n if (i < this.groupSettings.columns.length - 1) {\n this.addColToGroupDrop(this.groupSettings.columns[parseInt(i.toString(), 10)]);\n }\n }\n }\n args = {\n columnName: this.colName, requestType: e.properties[\"\" + prop].length ? 'grouping' : 'ungrouping',\n type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, preventFocusOnGroup: false\n };\n }\n else {\n args = { columnName: this.colName, requestType: 'ungrouping', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin };\n }\n if (!this.groupSettings.showGroupedColumn) {\n var columns = e.oldProperties[\"\" + prop];\n for (var i = 0; i < columns.length; i++) {\n if (e.properties[\"\" + prop].indexOf(columns[parseInt(i.toString(), 10)]) === -1) {\n this.parent.getColumnByField(columns[parseInt(i.toString(), 10)]).visible = true;\n }\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.modelChanged, args);\n }\n break;\n case 'showDropArea':\n this.updateGroupDropArea();\n if (this.groupSettings.showDropArea) {\n this.element.style.display = '';\n this.parent.headerModule.refreshUI();\n }\n else {\n this.element.style.display = 'none';\n }\n if (this.parent.height === '100%') {\n this.parent.scrollModule.refresh();\n }\n break;\n case 'showGroupedColumn':\n this.updateGroupedColumn(this.groupSettings.showGroupedColumn);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.modelChanged, { requestType: 'refresh' });\n break;\n case 'showUngroupButton':\n this.updateButtonVisibility(this.groupSettings.showUngroupButton, 'e-ungroupbutton');\n break;\n case 'showToggleButton':\n this.updateButtonVisibility(this.groupSettings.showToggleButton, 'e-togglegroupbutton ');\n this.parent.refreshHeader();\n break;\n case 'enableLazyLoading':\n this.parent.freezeRefresh();\n break;\n }\n }\n };\n Group.prototype.updateGroupedColumn = function (isVisible) {\n for (var i = 0; i < this.groupSettings.columns.length; i++) {\n this.parent.getColumnByField(this.groupSettings.columns[parseInt(i.toString(), 10)]).visible = isVisible;\n }\n };\n Group.prototype.updateButtonVisibility = function (isVisible, className) {\n var gHeader = [].slice.call(this.element.getElementsByClassName(className));\n for (var i = 0; i < gHeader.length; i++) {\n gHeader[parseInt(i.toString(), 10)].style.display = isVisible ? '' : 'none';\n }\n };\n Group.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.render();\n }\n };\n /**\n * To destroy the reorder\n *\n * @returns {void}\n * @hidden\n */\n Group.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridContent))) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((this.parent.isDestroyed || !this.parent.allowGrouping) && !this.parent.refreshing) {\n this.clearGrouping();\n }\n this.unWireEvent();\n this.removeEventListener();\n this.refreshToggleBtn(true);\n if (this.element.parentNode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n //call ejdrag and drop destroy\n };\n /**\n * Clears all the grouped columns of the Grid.\n *\n * @returns {void}\n */\n Group.prototype.clearGrouping = function () {\n var cols = JSON.parse(JSON.stringify(this.groupSettings.columns));\n this.contentRefresh = false;\n for (var i = 0, len = cols.length; i < len; i++) {\n if (i === (len - 1)) {\n this.contentRefresh = true;\n }\n this.ungroupColumn(cols[parseInt(i.toString(), 10)]);\n }\n this.contentRefresh = true;\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Group.prototype.getModuleName = function () {\n return 'group';\n };\n Group.prototype.refreshSortIcons = function () {\n var gObj = this.parent;\n var header;\n var cols = gObj.sortSettings.columns;\n var fieldNames = this.parent.getColumns().map(function (c) { return c.field; });\n this.refreshToggleBtn();\n for (var i = 0, len = cols.length; i < len; i++) {\n if (fieldNames.indexOf(cols[parseInt(i.toString(), 10)].field) === -1) {\n continue;\n }\n header = gObj.getColumnHeaderByField(cols[parseInt(i.toString(), 10)].field);\n if (!gObj.allowSorting && (this.sortedColumns.indexOf(cols[parseInt(i.toString(), 10)].field) > -1 ||\n this.groupSettings.columns.indexOf(cols[parseInt(i.toString(), 10)].field) > -1)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(header.querySelector('.e-sortfilterdiv'), ['e-ascending', 'e-icon-ascending'], []);\n if (cols.length > 1) {\n header.querySelector('.e-headercelldiv').appendChild(this.parent.createElement('span', { className: 'e-sortnumber', innerHTML: (i + 1).toString() }));\n }\n }\n else if (this.getGHeaderCell(cols[parseInt(i.toString(), 10)].field) && this.getGHeaderCell(cols[parseInt(i.toString(), 10)].field).getElementsByClassName('e-groupsort').length) {\n if (cols[parseInt(i.toString(), 10)].direction === 'Ascending') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.getGHeaderCell(cols[parseInt(i.toString(), 10)].field).querySelector('.e-groupsort'), ['e-ascending', 'e-icon-ascending'], ['e-descending', 'e-icon-descending']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.getGHeaderCell(cols[parseInt(i.toString(), 10)].field).querySelector('.e-groupsort'), ['e-descending', 'e-icon-descending'], ['e-ascending', 'e-icon-ascending']);\n }\n }\n }\n };\n Group.prototype.getGHeaderCell = function (field) {\n if (this.element && this.element.querySelector('[ej-mappingname=\"' + field + '\"]')) {\n return this.element.querySelector('[ej-mappingname=\"' + field + '\"]').parentElement;\n }\n return null;\n };\n Group.prototype.onGroupAggregates = function (editedData) {\n if (this.parent.groupSettings.enableLazyLoading) {\n if (this.parent.editSettings.mode !== 'Batch') {\n this.updateLazyLoadGroupAggregates(editedData);\n }\n return;\n }\n var aggregates = this.iterateGroupAggregates(editedData);\n var rowData = this.groupGenerator.generateRows(aggregates, {});\n var summaryRows = this.parent.getRowsObject().filter(function (row) { return !row.isDataRow; });\n var updateSummaryRows = rowData.filter(function (data) { return !data.isDataRow; });\n if (this.parent.isReact || this.parent.isVue) {\n this.parent.destroyTemplate(['groupFooterTemplate', 'groupCaptionTemplate', 'footerTemplate']);\n }\n for (var i = 0; i < updateSummaryRows.length; i++) {\n var row = updateSummaryRows[parseInt(i.toString(), 10)];\n var cells = row.cells.filter(function (cell) { return cell.isDataCell; });\n var args = { cells: cells, data: row.data, dataUid: summaryRows[parseInt(i.toString(), 10)] ? summaryRows[parseInt(i.toString(), 10)].uid : '' };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshAggregateCell, args);\n }\n };\n Group.prototype.updateLazyLoadGroupAggregates = function (data, remoteResult) {\n var _this = this;\n var groupCaptionTemplates = this.getGroupAggregateTemplates(true);\n var groupFooterTemplates = this.getGroupAggregateTemplates(false);\n if (!groupCaptionTemplates.length && !groupFooterTemplates.length) {\n return;\n }\n var gObj = this.parent;\n var isRemote = gObj.getDataModule().isRemote();\n var updatedData = data[0];\n var editedRow = data.row;\n var groupedCols = gObj.groupSettings.columns;\n var groupLazyLoadRenderer = gObj.contentModule;\n var groupCache = groupLazyLoadRenderer.getGroupCache();\n var currentPageGroupCache = groupCache[gObj.pageSettings.currentPage];\n var result = remoteResult ? remoteResult : [];\n var _loop_1 = function (i) {\n var groupField = groupedCols[parseInt(i.toString(), 10)];\n var groupKey = updatedData[\"\" + groupField];\n var groupCaptionRowObject = this_1.getGroupCaptionRowObject(editedRow, groupedCols.length - i);\n if (isRemote && result.length) {\n if (i !== 0) {\n var prevGroupField = groupedCols[i - 1];\n var prevGroupKey_1 = updatedData[\"\" + prevGroupField];\n result = result.find(function (data) {\n return data.key === prevGroupKey_1;\n }).items;\n }\n this_1.updateLazyLoadGroupAggregatesRow(result, groupKey, groupCaptionRowObject, currentPageGroupCache, groupCaptionTemplates, groupFooterTemplates);\n }\n else {\n var query = gObj.renderModule.data.generateQuery();\n if (i !== 0) {\n var currentLevelCaptionRowObjects = currentPageGroupCache.filter(function (data) {\n return data.isCaptionRow && data.parentUid === groupCaptionRowObject.parentUid;\n });\n var index = currentLevelCaptionRowObjects.indexOf(groupCaptionRowObject);\n var fields = gObj.groupSettings.columns.slice(0, i).reverse();\n var keys = fields.map(function (data) {\n return updatedData[\"\" + data];\n });\n var pred = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.generateExpandPredicates)(fields, keys, groupLazyLoadRenderer);\n var predicateList = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getPredicates)(pred);\n var lazyLoad = { level: i, skip: index, take: 1, where: predicateList };\n query.lazyLoad.push({ key: 'onDemandGroupInfo', value: lazyLoad });\n }\n gObj.renderModule.data.getData({}, query).then(function (e) {\n if (isRemote) {\n _this.updateLazyLoadGroupAggregates(data, e.result);\n }\n else {\n _this.updateLazyLoadGroupAggregatesRow(e.result, groupKey, groupCaptionRowObject, currentPageGroupCache, groupCaptionTemplates, groupFooterTemplates);\n }\n if (i === groupedCols.length - 1 || isRemote) {\n _this.destroyRefreshGroupCaptionFooterTemplate();\n }\n }).catch(function (e) { return gObj.renderModule.dataManagerFailure(e, { requestType: 'grouping' }); });\n if (isRemote) {\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (var i = 0; i < groupedCols.length; i++) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n };\n Group.prototype.destroyRefreshGroupCaptionFooterTemplate = function () {\n var gObj = this.parent;\n if (gObj.isAngular || gObj.isReact || gObj.isVue) {\n gObj.destroyTemplate(['groupCaptionTemplate', 'groupFooterTemplate']);\n }\n gObj.refreshGroupCaptionFooterTemplate();\n gObj.removeMaskRow();\n gObj.hideSpinner();\n };\n Group.prototype.updateLazyLoadGroupAggregatesRow = function (result, groupKey, groupCaptionRowObject, currentPageGroupCache, groupCaptionTemplates, groupFooterTemplates) {\n var updatedGroupCaptionData = result.find(function (data) {\n return data.key === groupKey;\n });\n if (groupCaptionTemplates.length) {\n this.updateLazyLoadGroupAggregatesCell(updatedGroupCaptionData, groupCaptionRowObject, groupCaptionTemplates);\n }\n if (groupFooterTemplates.length) {\n var groupFooterRowObject = currentPageGroupCache.find(function (data) {\n return data.isAggregateRow && data.parentUid === groupCaptionRowObject.uid;\n });\n this.updateLazyLoadGroupAggregatesCell(updatedGroupCaptionData, groupFooterRowObject, groupFooterTemplates);\n }\n };\n Group.prototype.updateLazyLoadGroupAggregatesCell = function (updatedGroupCaptionData, captionFooterRowObject, captionFooterTemplates) {\n var prevCaptionFooterData = captionFooterRowObject.data;\n var updatedGroupCaptionDataAggregates = updatedGroupCaptionData.aggregates;\n if (captionFooterRowObject.isCaptionRow) {\n prevCaptionFooterData.aggregates = updatedGroupCaptionDataAggregates;\n }\n for (var i = 0; i < captionFooterTemplates.length; i++) {\n var template = captionFooterTemplates[parseInt(i.toString(), 10)];\n var key = template.field + ' - ' + template.type;\n var fieldData = prevCaptionFooterData[template.field];\n fieldData[\"\" + key] = updatedGroupCaptionDataAggregates[\"\" + key];\n fieldData[(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.capitalizeFirstLetter)(template.type)] = updatedGroupCaptionDataAggregates[\"\" + key];\n if (fieldData[template.type]) {\n fieldData[template.type] = updatedGroupCaptionDataAggregates[\"\" + key];\n }\n }\n };\n Group.prototype.getGroupCaptionRowObject = function (element, groupCaptionIndex) {\n var gObj = this.parent;\n var uid = element.getAttribute('data-uid');\n var parentCaptionRowObject = gObj.getRowObjectFromUID(uid);\n for (var i = 0; i < groupCaptionIndex; i++) {\n parentCaptionRowObject = gObj.getRowObjectFromUID(parentCaptionRowObject.parentUid);\n }\n return parentCaptionRowObject;\n };\n /**\n * @param { boolean } groupCaptionTemplate - Defines template either group caption or footer\n * @returns { Object[] } - Returns template array\n * @hidden\n */\n Group.prototype.getGroupAggregateTemplates = function (groupCaptionTemplate) {\n var aggregates = [];\n var aggregateRows = this.parent.aggregates;\n for (var j = 0; j < aggregateRows.length; j++) {\n var row = aggregateRows[parseInt(j.toString(), 10)];\n for (var k = 0; k < row.columns.length; k++) {\n if ((groupCaptionTemplate && row.columns[parseInt(k.toString(), 10)].groupCaptionTemplate)\n || (!groupCaptionTemplate && row.columns[parseInt(k.toString(), 10)].groupFooterTemplate)) {\n var aggr = {};\n var type = row.columns[parseInt(k.toString(), 10)].type.toString();\n aggr = { type: type.toLowerCase(), field: row.columns[parseInt(k.toString(), 10)].field };\n aggregates.push(aggr);\n }\n }\n }\n return aggregates;\n };\n /**\n * @param { Row } fromRowObj - Defines group key changed Data row object.\n * @param { Row } toRowObj - Defines group key setting reference Data row object.\n * @returns { void }\n * @hidden\n */\n Group.prototype.groupedRowReorder = function (fromRowObj, toRowObj) {\n var dragRow = this.parent.getRowElementByUID(fromRowObj.uid);\n var dropRow = this.parent.getRowElementByUID(toRowObj.uid);\n var dropArgs = {\n rows: [dragRow], target: dropRow, fromIndex: fromRowObj.index, dropIndex: toRowObj.index\n };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fromRowObj) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(toRowObj) &&\n fromRowObj.parentUid !== toRowObj.parentUid) {\n if (dropRow) {\n if (dropRow['style'].display === 'none') {\n dragRow['style'].display = 'none';\n }\n if (dropArgs.fromIndex > dropArgs.dropIndex) {\n this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).insertBefore(dragRow, dropRow);\n }\n else {\n this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).insertBefore(dragRow, dropRow.nextSibling);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(dragRow);\n }\n this.groupReorderHandler(fromRowObj, toRowObj);\n var tr = [].slice.call(this.parent.getContentTable().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.row));\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.groupReorderRowObject)(this.parent, dropArgs, tr, toRowObj);\n if (this.parent.enableVirtualization) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetCachedRowIndex)(this.parent);\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetRowIndex)(this.parent, this.parent.getRowsObject().filter(function (data) { return data.isDataRow; }), tr);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshExpandandCollapse, { rows: this.parent.getRowsObject() });\n }\n };\n Group.prototype.groupReorderHandler = function (dragRowObject, dropRowObject) {\n var gObj = this.parent;\n var dragRowObjectData = dragRowObject.data;\n var dropRowObjectData = dropRowObject.data;\n var groupAggregateTemplate = gObj['groupModule'].getGroupAggregateTemplates(false);\n var dropParentRowObject = gObj.getRowObjectFromUID(dropRowObject.parentUid);\n var dragParentRowObject = gObj.getRowObjectFromUID(dragRowObject.parentUid);\n var dropRootParentRowObjects = [dropParentRowObject];\n var dragRootParentRowObjects = [dragParentRowObject];\n var groupColumns = gObj.groupSettings.columns;\n for (var j = 0; j < groupColumns.length; j++) {\n dragRowObjectData[groupColumns[parseInt(j.toString(), 10)]] = dropRowObjectData[groupColumns[parseInt(j.toString(), 10)]];\n if (j > 0) {\n dropRootParentRowObjects.push(gObj.getRowObjectFromUID(dropRootParentRowObjects[j - 1].parentUid));\n dragRootParentRowObjects.push(gObj.getRowObjectFromUID(dragRootParentRowObjects[j - 1].parentUid));\n }\n }\n dragRowObject.parentUid = dropRowObject.parentUid;\n dragRowObject.visible = dropRowObject.visible;\n dragRowObject['parentGid'] = dropRowObject['parentGid'];\n if (dragRowObject.changes !== dragRowObjectData) {\n dragRowObject.changes = dragRowObjectData;\n }\n var updatedCurrentViewData = this.iterateGroupAggregates([{ dragRowObjects: dragRootParentRowObjects,\n dropRowObjects: dropRootParentRowObjects }]);\n var updatedDragCurrentViewData = updatedCurrentViewData.filter(function (object) {\n return (object['key'] === dragRootParentRowObjects[dragRootParentRowObjects.length - 1].data['key'] ||\n (object['key'] instanceof Date && object['key'].toString() ===\n dragRootParentRowObjects[dragRootParentRowObjects.length - 1].data['key'].toString()));\n });\n var updatedDropCurrentViewData = updatedCurrentViewData.filter(function (object) {\n return (object['key'] === dropRootParentRowObjects[dropRootParentRowObjects.length - 1].data['key'] ||\n (object['key'] instanceof Date && object['key'].toString() ===\n dropRootParentRowObjects[dropRootParentRowObjects.length - 1].data['key'].toString()));\n });\n updatedCurrentViewData = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedDragCurrentViewData[0])) {\n updatedCurrentViewData.push(updatedDragCurrentViewData[0]);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedDropCurrentViewData[0])) {\n updatedCurrentViewData.push(updatedDropCurrentViewData[0]);\n }\n var currentViewData = gObj.currentViewData;\n for (var i = 0; i < currentViewData.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedDragCurrentViewData[0]) &&\n currentViewData[parseInt(i.toString(), 10)]['key'] ===\n dragRootParentRowObjects[dragRootParentRowObjects.length - 1].data['key']) {\n currentViewData.splice(i, 1);\n i--;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedDropCurrentViewData[0]) &&\n currentViewData[parseInt(i.toString(), 10)]['key'] ===\n dropRootParentRowObjects[dropRootParentRowObjects.length - 1].data['key']) {\n currentViewData.splice(i, 1);\n i--;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedDragCurrentViewData[0]) &&\n currentViewData[parseInt(i.toString(), 10)]['key'] === updatedDragCurrentViewData[0]['key']) {\n currentViewData[parseInt(i.toString(), 10)] = updatedDragCurrentViewData[0];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedDropCurrentViewData[0]) &&\n currentViewData[parseInt(i.toString(), 10)]['key'] === updatedDropCurrentViewData[0]['key']) {\n currentViewData[parseInt(i.toString(), 10)] = updatedDropCurrentViewData[0];\n }\n }\n var updatedRowObject = this.groupGenerator.generateRows(updatedCurrentViewData, {});\n var dragRootParentAggregateRowObject = [];\n var dropRootParentAggregateRowObject = [];\n for (var i = 0; i < dragRootParentRowObjects.length; i++) {\n dragRootParentAggregateRowObject\n .push.apply(dragRootParentAggregateRowObject, this.getGroupParentFooterAggregateRowObject(dragRootParentRowObjects[parseInt(i.toString(), 10)].uid));\n }\n for (var i = 0; i < dropRootParentRowObjects.length; i++) {\n dropRootParentAggregateRowObject\n .push.apply(dropRootParentAggregateRowObject, this.getGroupParentFooterAggregateRowObject(dropRootParentRowObjects[parseInt(i.toString(), 10)].uid));\n }\n dragRootParentRowObjects.push.apply(dragRootParentRowObjects, dragRootParentAggregateRowObject);\n dropRootParentRowObjects.push.apply(dropRootParentRowObjects, dropRootParentAggregateRowObject);\n this.updatedRowObjChange(dragRootParentRowObjects, updatedRowObject, groupAggregateTemplate, true);\n this.updatedRowObjChange(dropRootParentRowObjects, updatedRowObject, groupAggregateTemplate);\n this.groupReorderRefreshHandler(dragRootParentRowObjects);\n this.groupReorderRefreshHandler(dropRootParentRowObjects);\n };\n Group.prototype.updatedRowObjChange = function (rootParentRowObjects, updatedRowObjects, groupAggregateTemplate, isDraggedRow) {\n var gObj = this.parent;\n var rowObjects = gObj.getRowsObject();\n var cache = {};\n var virtualCacheRowObjects = [];\n if (gObj.enableVirtualization) {\n cache = gObj.contentModule['vgenerator'].cache;\n virtualCacheRowObjects = gObj.vcRows;\n }\n for (var i = 0; i < rootParentRowObjects.length; i++) {\n var keyPresent = false;\n var parentRowObject = rootParentRowObjects[parseInt(i.toString(), 10)];\n for (var j = 0; j < updatedRowObjects.length; j++) {\n var updatedRowObject = updatedRowObjects[parseInt(j.toString(), 10)];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedRowObject) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parentRowObject.data['key']) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedRowObject.data['key']) && ((parentRowObject.data['key'] ===\n updatedRowObject.data['key'] || (parentRowObject.data['key'] instanceof Date &&\n parentRowObject.data['key'].toString() === updatedRowObject.data['key'].toString())))) {\n var isParentKeyPresent = true;\n var nextParentObject = rootParentRowObjects[parseInt((i + 1).toString(), 10)];\n if (isDraggedRow && nextParentObject && !nextParentObject.isAggregateRow) {\n var key = nextParentObject.data['key'].toString();\n var field = nextParentObject.data['field'];\n var groupedData = updatedRowObject.data['items'].records ?\n updatedRowObject.data['items'].records : updatedRowObject.data['items'];\n if (groupedData && groupedData.length && groupedData[0][\"\" + field] &&\n groupedData[0][\"\" + field].toString() !== key) {\n isParentKeyPresent = false;\n }\n }\n if (!isParentKeyPresent && isDraggedRow) {\n continue;\n }\n var index = rowObjects.indexOf(parentRowObject);\n if (index !== -1) {\n rowObjects[parseInt(index.toString(), 10)].data = updatedRowObject.data;\n rowObjects[parseInt(index.toString(), 10)]['gSummary'] = updatedRowObject['gSummary'];\n }\n if (gObj.enableVirtualization) {\n var vIndex = virtualCacheRowObjects.indexOf(parentRowObject);\n if (vIndex !== -1) {\n virtualCacheRowObjects[parseInt(vIndex.toString(), 10)].data = updatedRowObject.data;\n virtualCacheRowObjects[parseInt(vIndex.toString(), 10)]['gSummary'] = updatedRowObject['gSummary'];\n }\n }\n parentRowObject.data = updatedRowObject.data;\n parentRowObject['gSummary'] = ['gSummary'];\n updatedRowObjects.splice(j, 1);\n j--;\n keyPresent = true;\n break;\n }\n else if (parentRowObject.isAggregateRow &&\n updatedRowObject.isAggregateRow) {\n for (var l = 0; l < groupAggregateTemplate.length; l++) {\n if (this.evaluateGroupAggregateValueChange(parentRowObject, updatedRowObject, groupAggregateTemplate[parseInt(l.toString(), 10)])) {\n var index = rowObjects.indexOf(parentRowObject);\n if (index !== -1) {\n rowObjects[parseInt(index.toString(), 10)].data = updatedRowObject.data;\n rowObjects[parseInt(index.toString(), 10)]['gSummary'] = updatedRowObject['gSummary'];\n }\n if (gObj.enableVirtualization) {\n var vIndex = virtualCacheRowObjects.indexOf(parentRowObject);\n if (vIndex !== -1) {\n virtualCacheRowObjects[parseInt(vIndex.toString(), 10)].data = updatedRowObject.data;\n virtualCacheRowObjects[parseInt(vIndex.toString(), 10)]['gSummary'] = updatedRowObject['gSummary'];\n }\n }\n parentRowObject.data = updatedRowObject.data;\n parentRowObject['gSummary'] = updatedRowObject['gSummary'];\n keyPresent = true;\n break;\n }\n }\n if (keyPresent) {\n break;\n }\n }\n }\n if (!keyPresent) {\n var removeElem = gObj.getRowElementByUID(parentRowObject.uid);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(removeElem)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(removeElem);\n }\n rowObjects.splice(rowObjects.indexOf(parentRowObject), 1);\n if (gObj.enableVirtualization) {\n virtualCacheRowObjects.splice(virtualCacheRowObjects.indexOf(parentRowObject), 1);\n for (var k = 1; k <= Object.keys(cache).length; k++) {\n var vcIndex = cache[parseInt(k.toString(), 10)].indexOf(parentRowObject);\n if (vcIndex !== -1) {\n cache[parseInt(k.toString(), 10)].splice([parseInt(vcIndex.toString(), 10)], 1);\n }\n }\n }\n if (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache) {\n gObj.infiniteScrollModule.resetInfiniteCache(rowObjects);\n }\n }\n }\n };\n Group.prototype.groupReorderRefreshHandler = function (parentRowObjects) {\n var gObj = this.parent;\n var row = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_6__.RowRenderer(gObj['serviceLocator'], null, gObj);\n var columns = gObj.getColumns();\n for (var j = 0; j < parentRowObjects.length; j++) {\n var rowObject = parentRowObjects[parseInt(j.toString(), 10)];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowObject.uid) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getRowElementByUID(rowObject.uid))) {\n row.refresh(rowObject, columns, false);\n }\n }\n };\n Group.prototype.getGroupParentFooterAggregateRowObject = function (parentUid) {\n var rowObjects = this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache &&\n this.parent.groupSettings.columns.length ? this.parent.contentModule['rows'] : this.parent.getRowsObject();\n var parentFooterAggregates = [];\n for (var i = 0; i < rowObjects.length; i++) {\n var rowObject = rowObjects[parseInt(i.toString(), 10)];\n if (rowObject.parentUid === parentUid && rowObject.isAggregateRow) {\n parentFooterAggregates.push(rowObject);\n }\n }\n return parentFooterAggregates;\n };\n Group.prototype.evaluateGroupAggregateValueChange = function (rowObjects, updatedRowObject, groupAggregateTemplate) {\n var change = false;\n if (rowObjects.data[groupAggregateTemplate['field']]['field'] === updatedRowObject.data[groupAggregateTemplate['field']]['field']\n && rowObjects.data[groupAggregateTemplate['field']]['key'] === updatedRowObject.data[groupAggregateTemplate['field']]['key'] &&\n rowObjects.data[groupAggregateTemplate['field']]\n // eslint-disable-next-line no-prototype-builtins\n .hasOwnProperty(groupAggregateTemplate['field'] + ' - ' + groupAggregateTemplate['type']) &&\n updatedRowObject.data[groupAggregateTemplate['field']]\n // eslint-disable-next-line no-prototype-builtins\n .hasOwnProperty(groupAggregateTemplate['field'] + ' - ' + groupAggregateTemplate['type'])) {\n change = true;\n }\n return change;\n };\n Group.prototype.gettingVirtualData = function (parentRowObjs, curViewRec, pK) {\n var datas = [];\n var _loop_2 = function (i) {\n if (curViewRec.indexOf(parentRowObjs[parseInt(i.toString(), 10)].data) === -1) {\n datas.push(parentRowObjs[parseInt(i.toString(), 10)].data);\n }\n if (parentRowObjs[parseInt(i.toString(), 10)].data['field'] === this_2.parent.groupSettings.columns[0]) {\n var draggedData_1 = parentRowObjs[parseInt(i.toString(), 10)].data['items'];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(draggedData_1['records'])) {\n draggedData_1 = draggedData_1['records'];\n }\n var _loop_3 = function (j) {\n if (pK && curViewRec.findIndex(function (data) { return data[pK.toString()] ===\n draggedData_1[parseInt(j.toString(), 10)][pK.toString()]; }) === -1) {\n datas.push(draggedData_1[parseInt(j.toString(), 10)]);\n }\n };\n for (var j = 0; j < draggedData_1.length; j++) {\n _loop_3(j);\n }\n }\n };\n var this_2 = this;\n for (var i = 0; i < parentRowObjs.length; i++) {\n _loop_2(i);\n }\n return datas;\n };\n Group.prototype.iterateGroupAggregates = function (editedData) {\n var _this = this;\n var updatedData = editedData instanceof Array ? editedData : [];\n var rows = this.parent.getRowsObject();\n var initData = this.parent.getCurrentViewRecords().slice();\n var field = this.parent.getPrimaryKeyFieldNames()[0];\n var dragParentRowObjects = editedData && editedData.length ?\n editedData[0] && editedData[0]['dragRowObjects'] : null;\n var dropParentRowObjects = editedData && editedData.length ?\n editedData[0] && editedData[0]['dropRowObjects'] : null;\n var dropRootKey = null;\n var dragRootKey = null;\n if (this.parent.enableVirtualization && this.parent.allowGrouping && this.parent.groupSettings.columns.length &&\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dragParentRowObjects) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dropParentRowObjects))) {\n if (dragParentRowObjects) {\n initData.push.apply(initData, this.gettingVirtualData(dragParentRowObjects, initData, field));\n }\n if (dropParentRowObjects) {\n initData.push.apply(initData, this.gettingVirtualData(dropParentRowObjects, initData, field));\n }\n }\n var isInfiniteGroup = this.parent.enableInfiniteScrolling && this.parent.allowGrouping && editedData.length &&\n this.parent.groupSettings.columns.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dragParentRowObjects) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dropParentRowObjects);\n if (isInfiniteGroup) {\n initData = [];\n dropRootKey = dropParentRowObjects[dropParentRowObjects.length - 1].data['key'];\n dragRootKey = dragParentRowObjects[dragParentRowObjects.length - 1].data['key'];\n this.parent.getRowsObject().map(function (row) {\n var groupKey = row.data[_this.parent.groupSettings.columns[0]];\n if (row.isDataRow &&\n ((groupKey === dropRootKey || groupKey === dragRootKey) || (groupKey instanceof Date &&\n (groupKey.toString() === dropRootKey.toString() || groupKey.toString() === dragRootKey.toString())))) {\n initData.push(row.data);\n }\n });\n }\n var deletedCols = [];\n var changeds = rows.map(function (row) {\n if (row.edit === 'delete') {\n deletedCols.push(row.data);\n }\n return row.changes instanceof Object ? row.changes : row.data;\n });\n changeds = updatedData.length === 0 ? changeds : updatedData;\n var mergeData = initData.map(function (item) {\n var pKeyVal = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.DataUtil.getObject(field, item);\n var value;\n var hasVal = changeds.some(function (cItem) {\n value = cItem;\n return pKeyVal === _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.DataUtil.getObject(field, cItem);\n });\n return hasVal ? value : item;\n });\n var eData = editedData;\n if (!(eData.type && eData.type === 'cancel') && deletedCols.length > 0) {\n for (var i = 0; i < deletedCols.length; i++) {\n var index = mergeData.indexOf(deletedCols[parseInt(i.toString(), 10)]);\n mergeData.splice(index, 1);\n }\n }\n var aggregates = [];\n var aggregateRows = this.parent.aggregates;\n for (var j = 0; j < aggregateRows.length; j++) {\n var row = aggregateRows[parseInt(j.toString(), 10)];\n for (var k = 0; k < row.columns.length; k++) {\n var aggr = {};\n var type = row.columns[parseInt(k.toString(), 10)].type.toString();\n var types = type.split(',').map(function (t) { return t.trim(); });\n for (var _i = 0, types_1 = types; _i < types_1.length; _i++) {\n var aggregateType = types_1[_i];\n aggr = { type: aggregateType.toLowerCase(), field: row.columns[parseInt(k.toString(), 10)].field };\n aggregates.push(aggr);\n }\n }\n }\n var result;\n var aggrds;\n var groupedCols = this.parent.groupSettings.columns;\n for (var l = 0; l < groupedCols.length; l++) {\n aggrds = result ? result : mergeData;\n result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.DataUtil.group(aggrds, groupedCols[parseInt(l.toString(), 10)], aggregates, null, null);\n }\n if (isInfiniteGroup) {\n var lastGroupKey = this.parent.currentViewData[this.parent.currentViewData.length - 1]['key'];\n if ((lastGroupKey instanceof Date && (lastGroupKey.toString() === dropRootKey.toString() ||\n lastGroupKey.toString() === dragRootKey.toString())) ||\n (lastGroupKey === dropRootKey || lastGroupKey === dragRootKey)) {\n var groups_1 = [];\n for (var i = 0; i < result.length; i++) {\n groups_1.push(result[parseInt(i.toString(), 10)]);\n }\n var predicate_1 = [];\n var addWhere = function (input) {\n for (var i = 0; i < groups_1.length; i++) {\n predicate_1.push(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.Predicate('field', '==', groups_1[parseInt(i.toString(), 10)].field).\n and(_this.parent.renderModule.getPredicate('key', 'equal', groups_1[parseInt(i.toString(), 10)].key)));\n }\n input.where(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.Predicate.or(predicate_1));\n };\n var newQuery = this.parent.getDataModule().generateQuery(true);\n addWhere(newQuery);\n var updatedGroupData = this.parent.getDataModule().dataManager.executeLocal(newQuery);\n this.parent.renderModule.updateGroupInfo(result, updatedGroupData);\n }\n }\n return result;\n };\n Group.prototype.updateExpand = function (args) {\n var uid = args.uid;\n var isExpand = args.isExpand;\n var rows = this.parent.getRowsObject();\n for (var i = 0; i < rows.length; i++) {\n var row = rows[parseInt(i.toString(), 10)];\n if (row.uid === uid || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(uid)) {\n row.isExpand = isExpand;\n var _loop_4 = function (j) {\n var childRow = rows[parseInt(j.toString(), 10)];\n var closestParent = void 0;\n if (childRow.parentUid !== row.uid) {\n closestParent = rows.filter(function (x) { return x.uid === childRow.parentUid; })[0];\n }\n if (childRow.parentUid === row.uid) {\n childRow.visible = row.isExpand;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(closestParent) && childRow.parentUid === closestParent.uid) {\n if (closestParent.isExpand && closestParent.visible === true) {\n childRow.visible = true;\n }\n else if (closestParent.isExpand && closestParent.visible === false) {\n childRow.visible = false;\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(uid)) {\n return \"break\";\n }\n };\n for (var j = i + 1; j < rows.length; j++) {\n var state_2 = _loop_4(j);\n if (state_2 === \"break\")\n break;\n }\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, { rows: rows, args: { isFrozen: false, rows: rows } });\n };\n return Group;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/group.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/infinite-scroll.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/infinite-scroll.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InfiniteScroll: () => (/* binding */ InfiniteScroll)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n/**\n * Infinite Scrolling class\n *\n * @hidden\n */\nvar InfiniteScroll = /** @class */ (function () {\n /**\n * Constructor for the Grid infinite scrolling.\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator\n * @hidden\n */\n function InfiniteScroll(parent, serviceLocator) {\n this.infiniteCache = {};\n this.infiniteCurrentViewData = {};\n this.isDownScroll = false;\n this.isUpScroll = false;\n this.isScroll = true;\n this.enableContinuousScroll = false;\n this.initialRender = true;\n this.isRemove = false;\n this.isInitialCollapse = false;\n this.prevScrollTop = 0;\n this.actions = ['filtering', 'searching', 'grouping', 'ungrouping', 'reorder', 'sorting', 'refresh'];\n this.keys = [_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.downArrow, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.upArrow, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.enter, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.shiftEnter];\n this.rowTop = 0;\n this.virtualInfiniteData = {};\n this.isCancel = false;\n this.emptyRowData = {};\n this.isNormaledit = false;\n this.isInfiniteScroll = false;\n this.isLastPage = false;\n this.isInitialRender = true;\n this.isFocusScroll = false;\n this.isGroupCollapse = false;\n /** @hidden */\n this.infiniteDetailDestroy = false;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.isNormaledit = this.parent.editSettings.mode === 'Normal';\n this.addEventListener();\n this.widthService = serviceLocator.getService('widthService');\n this.rowModelGenerator = new _services_row_model_generator__WEBPACK_IMPORTED_MODULE_2__.RowModelGenerator(this.parent);\n }\n InfiniteScroll.prototype.getModuleName = function () {\n return 'infiniteScroll';\n };\n /**\n * @returns {void}\n * @hidden\n */\n InfiniteScroll.prototype.addEventListener = function () {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataReady, this.onDataReady, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataSourceModified, this.dataSourceModified, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infinitePageQuery, this.infinitePageQuery, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteScrollHandler, this.infiniteScrollHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeCellFocused, this.infiniteCellFocus, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.appendInfiniteContent, this.appendInfiniteRows, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.removeInfiniteRows, this.removeInfiniteCacheRows, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.resetInfiniteBlocks, this.resetInfiniteBlocks, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.setInfiniteCache, this.setCache, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialCollapse, this.ensureIntialCollapse, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, this.infiniteCellFocus, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteShowHide, this.setDisplayNone, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditActionBegin, this.editActionBegin, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.getVirtualData, this.getVirtualInfiniteData, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.editReset, this.resetInfiniteEdit, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditSuccess, this.infiniteEditSuccess, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshVirtualCache, this.refreshInfiniteCache, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteEditrowindex, this.refreshInfiniteEditrowindex, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteEditHandler, this.infiniteEditHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollAddActionBegin, this.infiniteAddActionBegin, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, this.modelChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteCurrentViewData, this.refreshInfiniteCurrentViewData, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.selectNewRow, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.captionActionComplete, this.captionActionComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.setVirtualPageQuery, this.setGroupCollapsePageQuery, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteScrollComplete, this.onActionComplete, this);\n this.actionBeginFunction = this.actionBegin.bind(this);\n this.actionCompleteFunction = this.actionComplete.bind(this);\n this.dataBoundFunction = this.dataBound.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, this.actionBeginFunction);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.actionCompleteFunction);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, this.dataBoundFunction);\n };\n /**\n * @returns {void}\n * @hidden\n */\n InfiniteScroll.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataReady, this.onDataReady);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataSourceModified, this.dataSourceModified);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infinitePageQuery, this.infinitePageQuery);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteScrollHandler, this.infiniteScrollHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeCellFocused, this.infiniteCellFocus);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.appendInfiniteContent, this.appendInfiniteRows);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.removeInfiniteRows, this.removeInfiniteCacheRows);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.resetInfiniteBlocks, this.resetInfiniteBlocks);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.setInfiniteCache, this.setCache);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialCollapse, this.ensureIntialCollapse);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, this.infiniteCellFocus);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteShowHide, this.setDisplayNone);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditActionBegin, this.editActionBegin);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.getVirtualData, this.getVirtualInfiniteData);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.editReset, this.resetInfiniteEdit);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditSuccess, this.infiniteEditSuccess);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshVirtualCache, this.refreshInfiniteCache);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteEditrowindex, this.refreshInfiniteEditrowindex);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteEditHandler, this.infiniteEditHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollAddActionBegin, this.infiniteAddActionBegin);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, this.modelChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteCurrentViewData, this.refreshInfiniteCurrentViewData);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.selectNewRow);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.captionActionComplete, this.captionActionComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.setVirtualPageQuery, this.setGroupCollapsePageQuery);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteScrollComplete, this.onActionComplete);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, this.actionBeginFunction);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.actionCompleteFunction);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, this.dataBoundFunction);\n };\n InfiniteScroll.prototype.dataBound = function () {\n if (this.groupCaptionAction === 'collapse') {\n this.groupCaptionAction = 'refresh';\n this.makeGroupCollapseRequest();\n }\n else if (this.groupCaptionAction === 'refresh') {\n this.parent.hideSpinner();\n this.groupCaptionAction = this.empty;\n }\n };\n InfiniteScroll.prototype.setGroupCollapsePageQuery = function (args) {\n var gObj = this.parent;\n if (!gObj.infiniteScrollSettings.enableCache && this.isGroupCollapse) {\n args.skipPage = true;\n this.isGroupCollapse = false;\n if (this.groupCaptionAction === 'collapse') {\n var captionRow = gObj.getRowObjectFromUID(this.parentCapUid);\n var rowObjs = gObj.getRowsObject();\n var childCount = 0;\n for (var i = rowObjs.length - 1; i >= 0; i--) {\n if (rowObjs[parseInt(i.toString(), 10)].indent === captionRow.indent) {\n break;\n }\n if (rowObjs[parseInt(i.toString(), 10)].isDataRow) {\n childCount++;\n }\n }\n var key = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getGroupKeysAndFields)(rowObjs.indexOf(captionRow), rowObjs);\n var pred = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.generateExpandPredicates)(key.fields, key.keys, this);\n var predicateList = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getPredicates)(pred);\n pred = predicateList[predicateList.length - 1];\n for (var i = predicateList.length - 2; i >= 0; i--) {\n pred = pred.and(predicateList[parseInt(i.toString(), 10)]);\n }\n args.query.where(pred);\n args.query.skip(childCount);\n this.parentCapUid = this.empty;\n }\n else {\n var rows = gObj.getRows();\n var size = gObj.pageSettings.pageSize;\n var skip = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rows[rows.length - 1]) + 1;\n var additionalCnt = ((skip - (skip % size)) + size) - skip;\n if ((skip % size) === 0) {\n additionalCnt = 0;\n }\n args.query.skip(skip);\n args.query.take((gObj.infiniteScrollSettings.initialBlocks * gObj.pageSettings.pageSize) + additionalCnt);\n }\n }\n };\n InfiniteScroll.prototype.captionActionComplete = function (args) {\n var gObj = this.parent;\n if (!gObj.infiniteScrollSettings.enableCache && args.isCollapse) {\n var contetRect = gObj.getContent().firstElementChild.getBoundingClientRect();\n var tableReact = gObj.contentModule.getTable().getBoundingClientRect();\n if (Math.round(tableReact.bottom - gObj.getRowHeight()) <= Math.round(contetRect.bottom)) {\n this.parentCapUid = args.parentUid;\n this.groupCaptionAction = 'collapse';\n gObj.showSpinner();\n var caption = gObj.getRowObjectFromUID(args.parentUid);\n var childCount = this.getCaptionChildCount(caption);\n if (!childCount) {\n this.groupCaptionAction = 'refresh';\n this.makeGroupCollapseRequest();\n }\n else {\n this.makeGroupCollapseRequest(args.parentUid);\n }\n }\n }\n };\n InfiniteScroll.prototype.makeGroupCollapseRequest = function (parentUid) {\n var gObj = this.parent;\n var captionRows = [].slice.call(gObj.getContentTable().querySelectorAll('tr'));\n var rows = gObj.groupSettings.enableLazyLoading ? captionRows : gObj.getRows();\n var index = !gObj.groupSettings.enableLazyLoading ? (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rows[rows.length - 1]) :\n gObj.contentModule['visibleRows'].length - 1;\n var prevPage = this.parent.pageSettings.currentPage;\n var nextPage = Math.ceil(index / this.parent.pageSettings.pageSize) + 1;\n if ((prevPage >= this.maxPage) || (nextPage > this.maxPage)) {\n gObj.hideSpinner();\n return;\n }\n this.parent.pageSettings.currentPage = nextPage;\n var scrollArg = {\n requestType: 'infiniteScroll',\n currentPage: this.parent.pageSettings.currentPage,\n prevPage: prevPage,\n startIndex: index + 1,\n direction: 'down',\n isCaptionCollapse: true,\n parentUid: parentUid\n };\n this.isGroupCollapse = true;\n this.parent.notify('model-changed', scrollArg);\n };\n InfiniteScroll.prototype.getCaptionChildCount = function (caption) {\n var rowObj = this.parent.getRowsObject();\n var index = rowObj.indexOf(caption);\n var make = false;\n for (var i = index; i < rowObj.length; i++) {\n if ((rowObj[parseInt(i.toString(), 10)].indent === caption.indent || rowObj[parseInt(i.toString(), 10)].indent < caption.indent)\n && rowObj[parseInt(i.toString(), 10)].data.key !== caption.data.key) {\n break;\n }\n if (rowObj[parseInt(i.toString(), 10)].isCaptionRow && !this.childCheck(rowObj, rowObj[parseInt(i.toString(), 10)], i)) {\n make = true;\n break;\n }\n }\n return make;\n };\n InfiniteScroll.prototype.childCheck = function (rowObj, row, index) {\n var childCount = 0;\n for (var i = index + 1; i < rowObj.length; i++) {\n if (rowObj[parseInt(i.toString(), 10)].indent === row.indent) {\n break;\n }\n if (rowObj[parseInt(i.toString(), 10)].indent === (row.indent + 1)\n && rowObj[parseInt(i.toString(), 10)].parentUid === row.uid) {\n childCount++;\n }\n }\n return row.data.count === childCount;\n };\n InfiniteScroll.prototype.updateCurrentViewData = function () {\n var gObj = this.parent;\n if (gObj.groupSettings.columns.length) {\n return;\n }\n var keys = Object.keys(this.infiniteCurrentViewData);\n gObj.currentViewData = [];\n var page = gObj.pageSettings.currentPage;\n var isCache = gObj.infiniteScrollSettings.enableCache;\n var blocks = gObj.infiniteScrollSettings.maxBlocks;\n var isMiddlePage = isCache && (page > blocks || (this.isUpScroll && page > 1));\n var start = isMiddlePage ? this.isUpScroll ? page : (page - blocks) + 1 : 1;\n var end = isMiddlePage ? (start + blocks) - 1 : isCache ? blocks : keys.length;\n for (var i = start; i <= end; i++) {\n if (this.infiniteCurrentViewData[parseInt(i.toString(), 10)]) {\n gObj.currentViewData = gObj.currentViewData.concat(this.infiniteCurrentViewData[parseInt(i.toString(), 10)]);\n }\n }\n };\n InfiniteScroll.prototype.refreshInfiniteCurrentViewData = function (e) {\n var gObj = this.parent;\n var infiniteDetailModified = gObj.enableInfiniteScrolling && (gObj.childGrid || gObj.detailTemplate)\n && ((e.args.action === 'add' && e.args.requestType === 'save') || e.args.requestType === 'delete');\n if (e.args.action === 'add' && e.args.requestType === 'save' && !infiniteDetailModified) {\n this.parent.pageSettings.currentPage = Math.ceil(e.args['index'] / this.parent.pageSettings.pageSize) ?\n Math.ceil(e.args['index'] / this.parent.pageSettings.pageSize) : 1;\n }\n var page = this.parent.pageSettings.currentPage;\n var size = this.parent.pageSettings.pageSize;\n var blocks = this.parent.infiniteScrollSettings.initialBlocks;\n var keys = Object.keys(this.infiniteCurrentViewData);\n var cache = this.parent.infiniteScrollSettings.enableCache;\n if (!this.parent.groupSettings.columns.length) {\n var isAdd = e.args.requestType === 'save' && !(this.parent.sortSettings.columns.length\n || this.parent.filterSettings.columns.length || this.parent.groupSettings.columns.length\n || this.parent.searchSettings.key);\n var isDelete = e.args.requestType === 'delete';\n if (!cache && (isAdd || isDelete) && !infiniteDetailModified) {\n if (isAdd) {\n var indexCount = 0;\n for (var i = 1; i <= keys.length; i++) {\n indexCount += this.infiniteCurrentViewData[parseInt(i.toString(), 10)].length - 1;\n if (e.args.index <= indexCount) {\n this.resetCurrentViewData(i);\n this.infiniteCurrentViewData[parseInt(i.toString(), 10)]\n .splice(e.args.index, 0, e.args.data);\n break;\n }\n }\n }\n else {\n this.infiniteCurrentViewData[keys[keys.length - 1]].push(e.data[0]);\n }\n }\n else {\n if (blocks > 1 && e.data.length === (blocks * size)) {\n if (infiniteDetailModified) {\n this.infiniteCurrentViewData = {};\n this.firstBlock = 1;\n }\n this.setInitialCache(e.data.slice(), {}, cache && e.args.requestType === 'delete', true);\n }\n else {\n this.infiniteCurrentViewData[parseInt(page.toString(), 10)] = e.data.slice();\n }\n }\n }\n };\n InfiniteScroll.prototype.resetCurrentViewData = function (startIndex) {\n var keys = Object.keys(this.infiniteCurrentViewData);\n for (var i = startIndex; i <= keys.length; i++) {\n var lastViewData = this.infiniteCurrentViewData[parseInt(i.toString(), 10)][this\n .infiniteCurrentViewData[parseInt(i.toString(), 10)].length - 1];\n if (this.infiniteCurrentViewData[i + 1]) {\n this.infiniteCurrentViewData[i + 1].splice(0, 0, lastViewData);\n }\n this.infiniteCurrentViewData[parseInt(i.toString(), 10)].pop();\n }\n };\n InfiniteScroll.prototype.modelChanged = function (args) {\n var rows = this.parent.getRows();\n if (args.requestType === 'save' && args.index && args.data) {\n this.addRowIndex = args.index;\n }\n if (rows && rows.length && args.requestType !== 'infiniteScroll' && (args.requestType === 'delete' || this.requestType === 'add')) {\n this.firstIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rows[0]);\n this.firstBlock = Math.ceil((this.firstIndex + 1) / this.parent.pageSettings.pageSize);\n this.lastIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rows[rows.length - 1]);\n if (args.requestType === 'delete') {\n var rowObj = this.parent.getRowsObject();\n args.startIndex = this.parent.infiniteScrollSettings.enableCache\n ? (this.firstBlock - 1) * this.parent.pageSettings.pageSize : rowObj[rowObj.length - 1].index;\n }\n else {\n args.startIndex = this.firstIndex;\n }\n if (!this.parent.infiniteScrollSettings.enableCache\n && this.parent.pageSettings.currentPage === this.maxPage && args.requestType === 'delete') {\n this.isLastPage = true;\n this.lastIndex = this.lastIndex - 1;\n }\n }\n };\n InfiniteScroll.prototype.infiniteAddActionBegin = function (args) {\n if (this.isNormaledit) {\n this.isAdd = true;\n if (this.parent.infiniteScrollSettings.enableCache) {\n if (!Object.keys(this.emptyRowData).length) {\n this.createEmptyRowdata();\n }\n if (this.parent.pageSettings.currentPage > 1) {\n args.startEdit = false;\n this.resetInfiniteBlocks({}, true);\n this.makeRequest({ currentPage: 1 });\n }\n }\n }\n };\n InfiniteScroll.prototype.infiniteEditHandler = function (args) {\n if (!this.parent.infiniteScrollSettings.enableCache && (args.e.requestType === 'delete'\n || (args.e.requestType === 'save' && this.requestType === 'add'))) {\n var rowElms = this.parent.getRows();\n var rows = this.parent.getRowsObject();\n if (this.ensureRowAvailability(rows, args.result[0])) {\n if (rowElms.length && !(this.addRowIndex && this.addRowIndex >= rowElms.length)) {\n this.resetRowIndex(rows, args.e, rowElms, this.requestType === 'add', true);\n }\n if (!this.isLastPage) {\n this.createRow(rows, args);\n }\n else {\n this.isLastPage = false;\n this.parent.pageSettings.currentPage = this.maxPage;\n if (this.parent.selectionModule.index < this.parent.frozenRows) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rowElms[this.parent.frozenRows - 1]);\n this.createRow([rows[this.parent.frozenRows - 1]], args, false, true);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.setRowElements)(this.parent);\n }\n }\n }\n this.parent.hideSpinner();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfinitePersistSelection, {});\n if (this.requestType === 'delete') {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.deleteComplete, args.e);\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.saveComplete, args.e);\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.freezeRender, { case: 'refreshHeight' });\n };\n InfiniteScroll.prototype.createRow = function (rows, args, isMovable, isFrozenRows, isFrozenRight) {\n var row = !isFrozenRows ? this.generateRows(args.result, args.e) : rows;\n var rowRenderer = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_5__.RowRenderer(this.serviceLocator, null, this.parent);\n this.parent.removeMaskRow();\n if (args.e.requestType === 'save' && args.e.index && args.e.data) {\n row[0].index = this.addRowIndex;\n this.addRowIndex = null;\n if (row[0].index >= rows.length) {\n return;\n }\n }\n var tbody;\n tbody = this.parent.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody);\n if (this.parent.frozenRows) {\n tbody = isFrozenRows && this.requestType !== 'add' || !isFrozenRows && this.requestType === 'add'\n ? this.parent.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody) : tbody;\n }\n var notifyArgs = {\n rows: rows, cancel: false, args: args, isMovable: isMovable,\n isFrozenRows: isFrozenRows, isFrozenRight: isFrozenRows, row: row\n };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteCrudCancel, notifyArgs);\n if (!notifyArgs.cancel) {\n for (var i = row.length - 1; i >= 0; i--) {\n if (this.requestType === 'delete') {\n tbody.appendChild(rowRenderer.render(row[parseInt(i.toString(), 10)], this.parent.getColumns()));\n }\n else {\n tbody.insertBefore(rowRenderer.render(row[parseInt(i.toString(), 10)], this.parent.getColumns()), tbody.rows[(args.e.index)]);\n }\n }\n }\n if (!isFrozenRows && this.parent.frozenRows\n && (this.parent.selectionModule.index < this.parent.frozenRows || this.requestType === 'add')) {\n var rowElems = this.parent.getRows();\n var index = (isMovable || isFrozenRight) && this.requestType === 'add'\n ? this.parent.frozenRows : this.parent.frozenRows - 1;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rowElems[parseInt(index.toString(), 10)]);\n this.createRow([rows[this.parent.frozenRows - 1]], args, false, true, false);\n }\n if (!this.parent.infiniteScrollSettings.enableCache && !isFrozenRows) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.setRowElements)(this.parent);\n this.parent.contentModule.visibleRows = this.requestType === 'add'\n ? row.concat(rows) : rows.concat(row);\n }\n };\n InfiniteScroll.prototype.ensureRowAvailability = function (rows, data) {\n var resume = true;\n if (this.parent.frozenRows && !this.parent.infiniteScrollSettings.enableCache\n && this.parent.sortSettings.columns && this.requestType === 'add') {\n var key = this.parent.getPrimaryKeyFieldNames()[0];\n for (var i = 0; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)].data[\"\" + key] === data[\"\" + key]) {\n resume = false;\n break;\n }\n }\n }\n return resume;\n };\n InfiniteScroll.prototype.generateRows = function (data, args) {\n return this.rowModelGenerator.generateRows(data, args);\n };\n InfiniteScroll.prototype.resetRowIndex = function (rows, args, rowElms, isAdd, isFrozen) {\n var _this = this;\n var keyField = this.parent.getPrimaryKeyFieldNames()[0];\n var isRemove = !(rowElms.length % this.parent.pageSettings.pageSize);\n if (isAdd) {\n if (isRemove) {\n if (isFrozen && !this.parent.groupSettings.columns.length) {\n this.swapCurrentViewData(1, true);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rowElms[rows.length - 1]);\n rowElms.splice(rows.length - 1, 1);\n rows.splice(rows.length - 1, 1);\n }\n }\n else {\n rows.filter(function (e, index) {\n if (e.data[\"\" + keyField] === args.data[0][\"\" + keyField]) {\n if (isFrozen && !_this.parent.groupSettings.columns.length) {\n var page = Math.ceil((index + 1) / _this.parent.pageSettings.pageSize);\n _this.resetInfiniteCurrentViewData(page, index);\n }\n rows.splice(index, 1);\n var rowElement = _this.parent.getRowElementByUID(e.uid);\n if (rowElement) {\n var rowElementIndex = rowElms.indexOf(rowElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rowElement);\n rowElms.splice(rowElementIndex, 1);\n }\n }\n });\n }\n var startIndex = isAdd ? this.addRowIndex ? this.addRowIndex + 1 : 1 : 0;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.resetRowIndex)(this.parent, rows, rowElms, startIndex, this.addRowIndex ? this.addRowIndex : 0);\n };\n InfiniteScroll.prototype.resetInfiniteCurrentViewData = function (page, index) {\n index = index - ((page - 1) * this.parent.pageSettings.pageSize);\n this.infiniteCurrentViewData[parseInt(page.toString(), 10)].splice(index, 1);\n this.swapCurrentViewData(page, false);\n };\n InfiniteScroll.prototype.swapCurrentViewData = function (page, isAdd) {\n var keys = Object.keys(this.infiniteCurrentViewData);\n var end = isAdd ? keys.length + 1 : keys.length;\n for (var i = page; i < end; i++) {\n if (this.infiniteCurrentViewData[i + 1]) {\n var pageIndex = isAdd ? i : i + 1;\n var index = isAdd ? this.infiniteCurrentViewData[parseInt(i.toString(), 10)].length - 1 : 0;\n var data = this.infiniteCurrentViewData[parseInt(pageIndex.toString(), 10)].splice(index, 1);\n if (isAdd) {\n this.infiniteCurrentViewData[i + 1] = data.concat(this.infiniteCurrentViewData[i + 1]);\n if ((i + 1) === end - 1) {\n this.infiniteCurrentViewData[i + 1].splice(this.infiniteCurrentViewData[i + 1].length - 1, 1);\n }\n }\n else {\n this.infiniteCurrentViewData[parseInt(i.toString(), 10)].push(data[0]);\n }\n }\n }\n this.updateCurrentViewData();\n };\n InfiniteScroll.prototype.setDisplayNone = function (args) {\n if (this.parent.infiniteScrollSettings.enableCache) {\n var keys = Object.keys(this.infiniteCache);\n for (var i = 1; i <= keys.length; i++) {\n var cache = this.infiniteCache[parseInt(i.toString(), 10)];\n cache.filter(function (e) {\n e.cells[args.index].visible = args.visible === '';\n });\n }\n this.resetContentModuleCache(this.infiniteCache);\n }\n };\n InfiniteScroll.prototype.refreshInfiniteCache = function (args) {\n this.getEditedRowObject().data = args.data;\n };\n InfiniteScroll.prototype.refreshInfiniteCacheRowVisibleLength = function (args, currentPage) {\n var cPageRowArray = args[parseInt(currentPage.toString(), 10)];\n if (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache) {\n var length_1 = 0;\n var vRowLen = 0;\n var hRowLen = 0;\n for (var i = 0; i < cPageRowArray.length; i++) {\n if (cPageRowArray[parseInt(i.toString(), 10)].visible\n || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cPageRowArray[parseInt(i.toString(), 10)].visible)) {\n vRowLen++;\n }\n else {\n hRowLen++;\n }\n }\n if (hRowLen > vRowLen) {\n length_1 = hRowLen - vRowLen;\n if (length_1 > vRowLen) {\n length_1 = vRowLen;\n }\n }\n else {\n length_1 = vRowLen - hRowLen;\n if (length_1 > hRowLen) {\n length_1 = hRowLen;\n }\n }\n if (length_1 === 0) {\n length_1 = 1;\n }\n return length_1;\n }\n else {\n return cPageRowArray.length;\n }\n };\n InfiniteScroll.prototype.refreshInfiniteEditrowindex = function (args) {\n this.editRowIndex = args.index;\n };\n InfiniteScroll.prototype.getEditedRowObject = function () {\n var rowObjects = this.parent.getRowsObject();\n var editedrow;\n for (var i = 0; i < rowObjects.length; i++) {\n if (rowObjects[parseInt(i.toString(), 10)].index === this.editRowIndex) {\n editedrow = rowObjects[parseInt(i.toString(), 10)];\n }\n }\n return editedrow;\n };\n InfiniteScroll.prototype.infiniteEditSuccess = function (args) {\n if (this.isNormaledit) {\n if (!this.isAdd && args.data) {\n this.updateCurrentViewRecords(args.data);\n }\n this.isAdd = false || this.parent.editSettings.showAddNewRow;\n }\n };\n InfiniteScroll.prototype.updateCurrentViewRecords = function (data) {\n var index = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getEditedDataIndex)(this.parent, data);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index)) {\n this.parent.getCurrentViewRecords()[parseInt(index.toString(), 10)] = data;\n }\n };\n InfiniteScroll.prototype.actionBegin = function (args) {\n if (args.requestType === 'add' || args.requestType === 'delete') {\n this.requestType = args.requestType;\n }\n else if (args.action === 'add' && args.requestType === 'save') {\n this.requestType = args.action;\n }\n if (this.parent.isFrozenGrid() && !args.cancel && args.requestType === 'searching'\n || args.requestType === 'sorting' || args.requestType === 'filtering') {\n this.isInitialRender = true;\n }\n };\n InfiniteScroll.prototype.actionComplete = function (args) {\n if (args.requestType === 'delete' || args.requestType === 'save' || args.requestType === 'cancel') {\n this.requestType = this.empty;\n this.isCancel = args.requestType === 'cancel' || args.requestType === 'save';\n this.isAdd = this.isEdit = false || this.parent.editSettings.showAddNewRow;\n if (this.isNormaledit) {\n this.editRowIndex = this.empty;\n this.virtualInfiniteData = {};\n this.parent.editModule.previousVirtualData = {};\n }\n }\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n InfiniteScroll.prototype.onActionComplete = function (e) {\n var args = { type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, args));\n };\n InfiniteScroll.prototype.resetInfiniteEdit = function () {\n if (this.parent.enableInfiniteScrolling && this.isNormaledit) {\n if ((this.parent.editSettings.allowEditing && this.isEdit) || (this.parent.editSettings.allowAdding && this.isAdd)) {\n this.parent.isEdit = true;\n }\n }\n };\n InfiniteScroll.prototype.getVirtualInfiniteData = function (data) {\n this.getVirtualInfiniteEditedData();\n data.virtualData = this.parent.enableColumnVirtualization && !this.parent.infiniteScrollSettings.enableCache ? data.virtualData\n : this.virtualInfiniteData;\n data.isAdd = this.isAdd;\n data.isCancel = this.isCancel;\n };\n InfiniteScroll.prototype.editActionBegin = function (e) {\n this.isEdit = true;\n this.editRowIndex = e.index;\n var rowObject = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.getEditedRowObject().data);\n e.data = Object.keys(this.virtualInfiniteData).length ? this.virtualInfiniteData : rowObject;\n };\n InfiniteScroll.prototype.dataSourceModified = function () {\n this.resetInfiniteBlocks({ requestType: this.empty }, true);\n };\n InfiniteScroll.prototype.onDataReady = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.count) && e.requestType !== 'infiniteScroll') {\n this.maxPage = Math.ceil(e.count / this.parent.pageSettings.pageSize);\n }\n };\n InfiniteScroll.prototype.ensureIntialCollapse = function (isExpand) {\n this.isInitialCollapse = !isExpand;\n };\n InfiniteScroll.prototype.infiniteScrollHandler = function (e) {\n if (this.infiniteDetailDestroy) {\n return;\n }\n this.restoreInfiniteEdit();\n this.restoreInfiniteAdd();\n var targetEle = e.target;\n var isInfinite = targetEle.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.content);\n var detailGrid = this.parent.childGrid || this.parent.detailTemplate ? true : false;\n if (isInfinite && this.parent.enableInfiniteScrolling && !e.isLeft) {\n var scrollEle = this.parent.getContent().firstElementChild;\n var captionRows = [].slice.call(this.parent.getContentTable().querySelectorAll('tr'));\n this.prevScrollTop = scrollEle.scrollTop;\n var rows = detailGrid ? this.parent.getRows().filter(function (row) { return !row.classList.contains('e-detailrow'); })\n : this.parent.groupSettings.enableLazyLoading ? captionRows : this.parent.getRows();\n if (!rows.length) {\n return;\n }\n var index = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rows[rows.length - 1]) + 1;\n var prevPage = this.parent.pageSettings.currentPage;\n var args = void 0;\n var offset = targetEle.scrollHeight - targetEle.scrollTop;\n var round = Math.round(targetEle.scrollHeight - targetEle.scrollTop);\n var floor = offset < targetEle.clientHeight ? Math.ceil(offset) : Math.floor(offset);\n var targetHeight = targetEle.clientHeight;\n if (floor > targetHeight) {\n floor = floor - 1;\n }\n else if (targetHeight > floor) {\n targetHeight = targetHeight - 1;\n }\n var isBottom = (floor === targetHeight || round === targetHeight);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.groupCaptionAction)) {\n return;\n }\n if (this.isScroll && isBottom && (this.parent.pageSettings.currentPage <= this.maxPage - 1 || this.enableContinuousScroll)) {\n if (this.parent.infiniteScrollSettings.enableCache) {\n this.isUpScroll = false;\n this.isDownScroll = true;\n }\n var rows_1 = detailGrid ? this.getGridRows().filter(function (row) { return row.classList.contains('e-row')\n && !row.classList.contains('e-addedrow'); }) : [].slice.call(scrollEle.querySelectorAll('.e-row:not(.e-addedrow)'));\n var row = rows_1[rows_1.length - 1];\n var rowIndex = !(this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length)\n ? (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(row) : this.parent.contentModule['visibleRows'].length - 1;\n this.parent.pageSettings.currentPage = Math.ceil(rowIndex / this.parent.pageSettings.pageSize) + 1;\n args = {\n requestType: 'infiniteScroll',\n currentPage: this.parent.pageSettings.currentPage,\n prevPage: prevPage,\n startIndex: index,\n direction: 'down'\n };\n this.makeRequest(args);\n }\n if (this.isScroll && this.parent.infiniteScrollSettings.enableCache && targetEle.scrollTop === 0\n && this.parent.pageSettings.currentPage !== 1) {\n if (this.parent.infiniteScrollSettings.enableCache) {\n this.isDownScroll = false;\n this.isUpScroll = true;\n }\n var row = detailGrid ? this.getGridRows().filter(function (row) { return row.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row); })\n : [].slice.call(scrollEle.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row));\n var rowIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(row[this.parent.pageSettings.pageSize - 1]);\n var startIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(row[0]) - this.parent.pageSettings.pageSize;\n this.parent.pageSettings.currentPage = Math.ceil(rowIndex / this.parent.pageSettings.pageSize) - 1;\n if (this.parent.pageSettings.currentPage) {\n args = {\n requestType: 'infiniteScroll',\n currentPage: this.parent.pageSettings.currentPage,\n prevPage: prevPage,\n startIndex: startIndex,\n direction: 'up'\n };\n this.makeRequest(args);\n }\n }\n if (this.parent.infiniteScrollSettings.enableCache && !this.isScroll && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args)) {\n if (this.isDownScroll || this.isUpScroll) {\n scrollEle.scrollTop = this.top;\n }\n }\n }\n };\n InfiniteScroll.prototype.makeRequest = function (args) {\n var _this = this;\n if (this.parent.pageSettings.currentPage !== args.prevPage) {\n var initBlocks = this.parent.infiniteScrollSettings.initialBlocks;\n if (initBlocks < this.maxPage && this.parent.pageSettings.currentPage <= this.maxPage) {\n this.isInfiniteScroll = true;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.infiniteCache[args.currentPage])) {\n setTimeout(function () {\n _this.getVirtualInfiniteEditedData();\n _this.parent.notify('model-changed', args);\n }, 100);\n }\n else {\n setTimeout(function () {\n _this.getVirtualInfiniteEditedData();\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteModeBlocks, args);\n }, 100);\n }\n }\n else {\n this.parent.pageSettings.currentPage = this.parent.groupSettings.enableLazyLoading\n && this.parent.groupSettings.columns.length && initBlocks >= this.maxPage ? 1 : this.maxPage;\n }\n }\n };\n InfiniteScroll.prototype.infinitePageQuery = function (query) {\n if (this.initialRender || ((this.requestType === 'add' || this.requestType === 'delete')\n && (this.parent.childGrid || this.parent.detailTemplate))) {\n this.initialRender = false;\n this.intialPageQuery(query);\n }\n else {\n if ((this.requestType === 'delete' || this.requestType === 'add')) {\n if (!this.isInfiniteScroll && !this.parent.groupSettings.enableLazyLoading) {\n this.editPageQuery(query);\n }\n else if (this.parent.groupSettings.enableLazyLoading && !this.parent.infiniteScrollSettings.enableCache) {\n if (this.parent.infiniteScrollSettings.initialBlocks < this.parent.pageSettings.currentPage) {\n query.page(1, this.parent.pageSettings.pageSize * this.parent.pageSettings.currentPage);\n }\n else {\n query.page(1, this.parent.pageSettings.pageSize * this.parent.infiniteScrollSettings.initialBlocks);\n }\n }\n else {\n query.page(this.parent.pageSettings.currentPage, this.parent.pageSettings.pageSize);\n }\n }\n else {\n query.page(this.parent.pageSettings.currentPage, this.parent.pageSettings.pageSize);\n }\n }\n };\n InfiniteScroll.prototype.editPageQuery = function (query) {\n var initialBlocks = this.parent.infiniteScrollSettings.initialBlocks;\n var isCache = this.parent.infiniteScrollSettings.enableCache;\n if (isCache) {\n this.infiniteCache = {};\n this.infiniteCurrentViewData = {};\n query.skip(this.firstIndex);\n query.take(initialBlocks * this.parent.pageSettings.pageSize);\n }\n else {\n if (this.parent.editSettings.mode === 'Dialog') {\n this.parent.clearSelection();\n }\n var index = this.requestType === 'delete' ? this.lastIndex : this.addRowIndex ? this.addRowIndex : this.firstIndex;\n query.skip(index);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getDataModule().dataManager.dataSource.url) &&\n this.parent.getDataModule().dataManager.dataSource.url !== '' && (this.requestType === 'delete' ||\n this.requestType === 'add')) {\n query.take(initialBlocks * this.parent.pageSettings.pageSize);\n }\n else {\n query.take(1);\n }\n }\n };\n InfiniteScroll.prototype.intialPageQuery = function (query) {\n if (this.parent.infiniteScrollSettings.enableCache\n && this.parent.infiniteScrollSettings.initialBlocks > this.parent.infiniteScrollSettings.maxBlocks) {\n this.parent.infiniteScrollSettings.initialBlocks = this.parent.infiniteScrollSettings.maxBlocks;\n }\n var pageSize = this.parent.pageSettings.pageSize * this.parent.infiniteScrollSettings.initialBlocks;\n query.page(1, pageSize);\n };\n InfiniteScroll.prototype.scrollToLastFocusedCell = function (e) {\n var gObj = this.parent;\n var rowIdx = this.lastFocusInfo.rowIdx + (e.keyArgs.action === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.upArrow ? -1 : 1);\n var cellIdx = this.lastFocusInfo.cellIdx;\n var row = gObj.getRowByIndex(rowIdx);\n if (!row) {\n var rowRenderer = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_5__.RowRenderer(this.serviceLocator, null, this.parent);\n var page = Math.floor(rowIdx / this.parent.pageSettings.pageSize) + 1;\n gObj.pageSettings.currentPage = page;\n var cols = gObj.getColumns();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(gObj.getContent().querySelector('tbody'));\n gObj.getContent().querySelector('table').appendChild(gObj.createElement('tbody', { attrs: { 'role': 'rowgroup' } }));\n var focusRows = [];\n // eslint-disable-next-line @typescript-eslint/tslint/config\n for (var i = (page === 1 || this.maxPage === page) ? 0 : -1, k = 0; k < gObj.infiniteScrollSettings.maxBlocks; this.maxPage === page ? i-- : i++, k++) {\n var rows = this.infiniteCache[page + i];\n if (rows) {\n focusRows = focusRows.concat(rows);\n for (var j = 0; j < rows.length; j++) {\n gObj.getContent().querySelector('tbody').appendChild(rowRenderer.render(rows[parseInt(j.toString(), 10)], cols));\n }\n }\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, { rows: focusRows, args: {} });\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.setRowElements)(gObj);\n }\n row = gObj.getRowByIndex(rowIdx);\n var target = row.cells[parseInt(cellIdx.toString(), 10)];\n gObj.focusModule.isInfiniteScroll = true;\n gObj.focusModule.onClick({ target: target }, true);\n gObj.selectRow(rowIdx);\n target.focus();\n this.isFocusScroll = false;\n e.cancel = true;\n };\n InfiniteScroll.prototype.setLastCellFocusInfo = function (e) {\n var cell = ((e.byClick && e.clickArgs.target) || (e.byKey && e.keyArgs.target)\n || (!this.isFocusScroll && e).target);\n if (cell && cell.classList.contains('e-rowcell')) {\n var cellIdx = parseInt(cell.getAttribute('aria-colindex'), 10) - 1;\n var rowIdx = parseInt(cell.parentElement.getAttribute('aria-rowindex'), 10) - 1;\n this.lastFocusInfo = { rowIdx: rowIdx, cellIdx: cellIdx };\n }\n };\n InfiniteScroll.prototype.infiniteCellFocus = function (e) {\n var gObj = this.parent;\n var cache = gObj.infiniteScrollSettings.enableCache;\n if (e.byKey) {\n if (cache && this.isFocusScroll) {\n this.scrollToLastFocusedCell(e);\n return;\n }\n var cell = document.activeElement;\n var rowIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(cell.parentElement);\n this.cellIndex = parseInt(cell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n var content = gObj.getContent().firstElementChild;\n var totalRowsCount = (this.maxPage * gObj.pageSettings.pageSize) - 1;\n var visibleRowCount = Math.floor(content.offsetHeight / this.parent.getRowHeight());\n var contentRect = content.getBoundingClientRect();\n if (!isNaN(rowIndex)) {\n if (e.keyArgs.action === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.downArrow || e.keyArgs.action === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.enter) {\n this.rowIndex = rowIndex += 1;\n var row = gObj.getRowByIndex(rowIndex);\n var rowRect = row && row.getBoundingClientRect();\n if (cache) {\n rowIndex = cell.parentElement.rowIndex + 1;\n }\n if (this.isFocusScroll || (!row && rowIndex < totalRowsCount)\n || (rowRect && rowRect.bottom >= contentRect.bottom)) {\n if (!this.isFocusScroll) {\n this.pressedKey = e.keyArgs.action;\n }\n this.isFocusScroll = false;\n content.scrollTop = ((rowIndex - visibleRowCount) + 1) * this.parent.getRowHeight();\n }\n else if (!cache && row) {\n if (rowRect && (rowRect.bottom >= contentRect.bottom || rowRect.top < contentRect.top)) {\n row.cells[this.cellIndex].scrollIntoView();\n }\n }\n }\n else if (e.keyArgs.action === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.upArrow || e.keyArgs.action === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.shiftEnter) {\n this.rowIndex = rowIndex -= 1;\n var row = gObj.getRowByIndex(rowIndex);\n var rowRect = row && row.getBoundingClientRect();\n if (cache) {\n rowIndex = cell.parentElement.rowIndex - 1;\n }\n if (!row || rowRect.top <= contentRect.top) {\n this.pressedKey = e.keyArgs.action;\n content.scrollTop = rowIndex * this.parent.getRowHeight();\n }\n }\n }\n }\n else if (e.key === 'PageDown' || e.key === 'PageUp') {\n this.pressedKey = e.key;\n }\n this.setLastCellFocusInfo(e);\n };\n InfiniteScroll.prototype.createEmptyRowdata = function () {\n var _this = this;\n this.parent.getColumns().filter(function (e) {\n _this.emptyRowData[e.field] = _this.empty;\n });\n };\n InfiniteScroll.prototype.getVirtualInfiniteEditedData = function () {\n var editForm = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow);\n var addForm = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow);\n var gridForm = this.parent.element.querySelector('.e-gridform');\n if (this.parent.infiniteScrollSettings.enableCache && (editForm || addForm)) {\n var rowData = editForm ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.getEditedRowObject().data)\n : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.emptyRowData);\n this.virtualInfiniteData = this.parent.editModule.getCurrentEditedData(gridForm, rowData);\n var hiddenColumn = this.parent.getHiddenColumns();\n for (var i = 0; i < hiddenColumn.length; i++) {\n if (hiddenColumn[parseInt(i.toString(), 10)].defaultValue) {\n this.virtualInfiniteData[hiddenColumn[parseInt(i.toString(), 10)].field] =\n hiddenColumn[parseInt(i.toString(), 10)].defaultValue;\n }\n }\n }\n };\n InfiniteScroll.prototype.restoreInfiniteEdit = function () {\n var content = this.parent.getContent().firstElementChild;\n var frozenEdit = this.parent.frozenRows ? this.editRowIndex >= this.parent.frozenRows : true;\n if (this.isNormaledit && this.parent.infiniteScrollSettings.enableCache && frozenEdit) {\n if (this.parent.editSettings.allowEditing && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.editRowIndex)) {\n var row = this.parent.getRowByIndex(this.editRowIndex);\n if (Object.keys(this.virtualInfiniteData).length && row && !this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow)) {\n var top_1 = row.getBoundingClientRect().top;\n if (top_1 < content.offsetHeight && top_1 > this.parent.getRowHeight()) {\n this.parent.isEdit = false;\n this.parent.editModule.startEdit(row);\n }\n }\n }\n }\n };\n InfiniteScroll.prototype.restoreInfiniteAdd = function () {\n var content = this.parent.getContent().firstElementChild;\n if (this.parent.getCurrentViewRecords().length && this.parent.getRowByIndex(0) && this.isNormaledit &&\n this.parent.infiniteScrollSettings.enableCache && this.isAdd && !content.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow)) {\n var isTop = content.scrollTop < this.parent.getRowHeight();\n if (isTop) {\n this.parent.isEdit = false;\n this.parent.addRecord();\n }\n }\n };\n InfiniteScroll.prototype.appendInfiniteRows = function (e) {\n var gObj = this.parent;\n var scrollEle = this.parent.getContent().firstElementChild;\n var isInfiniteScroll = this.parent.enableInfiniteScrolling && e.args.requestType === 'infiniteScroll';\n var infiniteDetailModified = gObj.enableInfiniteScrolling && (gObj.childGrid || gObj.detailTemplate)\n && ((e.args.action === 'add' && e.args.requestType === 'save') || e.args.requestType === 'delete');\n if (infiniteDetailModified) {\n scrollEle.scrollTop = 0;\n gObj.pageSettings.currentPage = 1;\n }\n if ((this.parent.isAngular || this.parent.isReact || this.parent.isVue || this.parent.isVue3) && isInfiniteScroll &&\n !e.args.isFrozen && this.parent.infiniteScrollSettings.enableCache) {\n var isChildGrid = this.parent.childGrid && this.parent.element.querySelectorAll('.e-childgrid').length ? true : false;\n var rows = this.parent.getDataRows();\n this.parent.refreshReactTemplateTD(rows, isChildGrid);\n }\n if ((isInfiniteScroll && !e.args.isFrozen) || !isInfiniteScroll) {\n if (isInfiniteScroll && e.args.direction === 'up') {\n e.tbody.insertBefore(e.frag, e.tbody.firstElementChild);\n }\n else {\n e.tbody.appendChild(e.frag);\n }\n }\n this.parent.contentModule.getTable().appendChild(e.tbody);\n this.updateCurrentViewData();\n if (this.isInitialRender && !e.args.isFrozen) {\n this.isInitialRender = false;\n this.parent.scrollModule.setHeight();\n }\n if (!e.args.isFrozen) {\n this.rowTop = !this.rowTop ? this.parent.getRows()[0].getBoundingClientRect().top : this.rowTop;\n if (isInfiniteScroll) {\n if (this.parent.infiniteScrollSettings.enableCache && this.isRemove) {\n scrollEle.scrollTop = this.top;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.setRowElements)(this.parent);\n }\n this.restoreInfiniteAdd();\n this.isScroll = true;\n }\n this.isInfiniteScroll = false;\n this.infiniteDetailDestroy = false;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n InfiniteScroll.prototype.selectNewRow = function (args) {\n var _this = this;\n var gObj = this.parent;\n var row = gObj.getRowByIndex(this.rowIndex);\n var cache = gObj.infiniteScrollSettings.enableCache;\n if (row && this.keys.some(function (value) { return value === _this.pressedKey; })) {\n var content = gObj.getContent().firstElementChild;\n var rowHeight = gObj.getRowHeight();\n var target = row.cells[this.cellIndex];\n if ((this.pressedKey === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.downArrow || this.pressedKey === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.enter)\n || (cache && (this.pressedKey === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.upArrow || this.pressedKey === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.shiftEnter))) {\n if (!cache && this.pressedKey !== _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.upArrow && this.pressedKey !== _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.shiftEnter) {\n content.scrollTop = content.scrollTop + rowHeight;\n }\n gObj.focusModule.isInfiniteScroll = true;\n gObj.focusModule.onClick({ target: target }, true);\n gObj.selectRow(this.rowIndex);\n }\n }\n else if (this.lastFocusInfo && (this.pressedKey === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.pageDown || this.pressedKey === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.pageUp)) {\n var idx = cache ? 0 : this.lastFocusInfo.rowIdx;\n if (gObj.getRowByIndex(idx)) {\n var target = gObj.getCellFromIndex(idx, this.lastFocusInfo.cellIdx);\n if (target) {\n this.isFocusScroll = true;\n if (!cache) {\n gObj.focusModule.isInfiniteScroll = true;\n gObj.focusModule.onClick({ target: target }, true);\n }\n else {\n target.focus({ preventScroll: true });\n }\n }\n }\n }\n this.pressedKey = undefined;\n };\n InfiniteScroll.prototype.removeInfiniteCacheRows = function (e) {\n var isInfiniteScroll = this.parent.enableInfiniteScrolling && e.args.requestType === 'infiniteScroll';\n if (!e.args.isFrozen && isInfiniteScroll && this.parent.infiniteScrollSettings.enableCache && this.isRemove) {\n var detailGrid = this.parent.childGrid || this.parent.detailTemplate ? true : false;\n var rows = detailGrid ? this.getGridRows().filter(function (row) { return row.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row); })\n : [].slice.call(this.parent.getContentTable().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row));\n if (e.args.direction === 'down') {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n var captionRows = detailGrid ? this.getGridRows().filter(function (row) { return !row.classList\n .contains('e-detailrow'); }) : [].slice.call(this.parent.getContentTable().querySelectorAll('tr'));\n this.removeCaptionRows(captionRows, e.args);\n }\n var addRowCount = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow) ? 0 : 1;\n this.removeTopRows(rows, this.parent.pageSettings.pageSize - addRowCount);\n }\n if (e.args.direction === 'up') {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n var captionRows = detailGrid ? this.getGridRows().filter(function (row) { return !row.classList\n .contains('e-detailrow'); }) : [].slice.call(this.parent.getContentTable().querySelectorAll('tr'));\n this.removeCaptionRows(captionRows, e.args);\n }\n else {\n this.removeBottomRows(rows, rows.length - 1, e.args);\n }\n }\n this.isScroll = false;\n this.top = this.calculateScrollTop(e.args);\n }\n };\n InfiniteScroll.prototype.calculateScrollTop = function (args) {\n var top = 0;\n var scrollCnt = this.parent.getContent().firstElementChild;\n if (args.direction === 'down') {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length && !this.isInitialCollapse) {\n top = this.captionRowHeight();\n }\n var captionRows = [].slice.call(this.parent.getContent().firstElementChild.querySelectorAll('tr:not(.e-row)'));\n var captionCount = 0;\n if (this.isInitialCollapse && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionRows)) {\n captionCount = Math.round((captionRows.length - 1) / this.parent.groupSettings.columns.length);\n }\n var value = captionCount ? captionCount\n : this.parent.pageSettings.pageSize * (this.parent.infiniteScrollSettings.maxBlocks - 1);\n var currentViewRowCount = 0;\n var i = 0;\n while (currentViewRowCount < scrollCnt.clientHeight) {\n i++;\n currentViewRowCount = i * this.parent.getRowHeight();\n }\n i = i - 1;\n top += (value - i) * this.parent.getRowHeight();\n }\n if (args.direction === 'up') {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length && !this.isInitialCollapse) {\n var len = this.refreshInfiniteCacheRowVisibleLength(this.infiniteCache, this.parent.pageSettings.currentPage);\n top = len * this.parent.getRowHeight();\n }\n else if (this.isInitialCollapse) {\n var groupedData = this.infiniteCache[this.parent.pageSettings.currentPage];\n var count = 0;\n for (var i = 0; i < groupedData.length; i++) {\n if (groupedData[parseInt(i.toString(), 10)].isCaptionRow) {\n count++;\n }\n }\n top += Math.round(count / this.parent.groupSettings.columns.length) * this.parent.getRowHeight();\n }\n else {\n top += (this.parent.pageSettings.pageSize * this.parent.getRowHeight() + (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getScrollBarWidth)());\n }\n }\n return top;\n };\n InfiniteScroll.prototype.captionRowHeight = function () {\n var rows = [].slice.call(this.parent.getContent().querySelectorAll('tr:not(.e-row)'));\n return rows.length * this.parent.getRowHeight();\n };\n InfiniteScroll.prototype.removeTopRows = function (rows, maxIndx) {\n for (var i = 0; i <= maxIndx; i++) {\n if (this.parent.frozenRows && this.parent.pageSettings.currentPage === this.parent.infiniteScrollSettings.maxBlocks + 1\n && i > (maxIndx - this.parent.frozenRows)) {\n continue;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rows[parseInt(i.toString(), 10)]);\n }\n };\n InfiniteScroll.prototype.removeBottomRows = function (rows, maxIndx, args) {\n var cnt = 0;\n var pageSize = this.parent.pageSettings.pageSize;\n if (this.infiniteCache[args.prevPage].length < pageSize) {\n cnt = this.parent.pageSettings.pageSize - this.infiniteCache[args.prevPage].length;\n }\n for (var i = maxIndx; cnt < pageSize; i--) {\n cnt++;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rows[parseInt(i.toString(), 10)]);\n }\n };\n InfiniteScroll.prototype.removeCaptionRows = function (rows, args) {\n var detailGrid = this.parent.childGrid || this.parent.detailTemplate ? true : false;\n var rowElements = detailGrid ? this.getGridRows().filter(function (row) { return row.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row); })\n : [].slice.call(this.parent.getContent().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row));\n if (args.direction === 'down') {\n var lastRow = rowElements[this.parent.pageSettings.pageSize - 1];\n var lastRowIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(lastRow) - 1;\n var k = 0;\n for (var i = 0; k < lastRowIndex; i++) {\n if (!rows[parseInt(i.toString(), 10)].classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rows[parseInt(i.toString(), 10)]);\n }\n else {\n k = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rows[parseInt(i.toString(), 10)]);\n }\n }\n }\n if (args.direction === 'up') {\n var lastIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getRowIndexFromElement)(rowElements[rowElements.length - 1]);\n var page = Math.ceil(lastIndex / this.parent.pageSettings.pageSize);\n var startIndex = 0;\n for (var i = this.parent.pageSettings.currentPage + 1; i < page; i++) {\n startIndex += detailGrid ? this.infiniteCache[parseInt(i.toString(), 10)]\n .filter(function (row) { return !row.isDetailRow; }).length : this.infiniteCache[parseInt(i.toString(), 10)].length;\n }\n for (var i = startIndex; i < rows.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(rows[parseInt(i.toString(), 10)]);\n }\n }\n };\n InfiniteScroll.prototype.getGridRows = function () {\n return [].slice.call(this.parent.getContentTable().rows);\n };\n InfiniteScroll.prototype.resetInfiniteBlocks = function (args, isDataModified) {\n var isInfiniteScroll = this.parent.enableInfiniteScrolling && args.requestType !== 'infiniteScroll';\n if (!this.initialRender && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.infiniteScrollModule) && isInfiniteScroll) {\n if (this.actions.some(function (value) { return value === args.requestType; }) || isDataModified || (args.requestType === 'save'\n && (this.parent.sortSettings.columns.length || this.parent.filterSettings.columns.length\n || this.parent.groupSettings.columns.length || this.parent.searchSettings.key))) {\n var scrollEle = this.parent.getContent().firstElementChild;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.detachDetailTemplate, {});\n this.initialRender = true;\n scrollEle.scrollTop = 0;\n this.parent.pageSettings.currentPage = 1;\n this.infiniteCache = {};\n this.infiniteCurrentViewData = {};\n this.resetContentModuleCache({});\n this.isRemove = false;\n this.top = 0;\n this.isInitialCollapse = false;\n this.parent.contentModule.isRemove = this.isRemove;\n this.parent.contentModule.isAddRows = this.isRemove;\n this.parent.contentModule.visibleRows = [];\n this.parent.contentModule.visibleFrozenRows = [];\n }\n }\n };\n InfiniteScroll.prototype.setCache = function (e) {\n if (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache) {\n var gObj = this.parent;\n var infiniteDetailModified = (gObj.childGrid || gObj.detailTemplate) && ((e.args.action === 'add'\n && e.args.requestType === 'save') || e.args.requestType === 'delete');\n var isEdit = e.args.requestType !== 'infiniteScroll'\n && (this.requestType === 'delete' || this.requestType === 'add');\n var currentPage = this.parent.pageSettings.currentPage;\n if (!Object.keys(this.infiniteCache).length || isEdit) {\n if (infiniteDetailModified) {\n this.infiniteCache = {};\n }\n this.setInitialCache(e.modelData, e.args, isEdit);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.infiniteCache[this.parent.pageSettings.currentPage]) && !infiniteDetailModified) {\n this.infiniteCache[this.parent.pageSettings.currentPage] = e.modelData;\n this.resetContentModuleCache(this.infiniteCache);\n }\n if (e.isInfiniteScroll && !this.isRemove) {\n this.isRemove = (currentPage - 1) % this.parent.infiniteScrollSettings.maxBlocks === 0;\n this.parent.contentModule.isRemove = this.isRemove;\n }\n }\n };\n InfiniteScroll.prototype.setInitialCache = function (data, args, isEdit, isCurrentViewData) {\n var k = !isEdit ? 1 : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.firstBlock) ? 1 : this.firstBlock;\n for (var i = 1; i <= this.parent.infiniteScrollSettings.initialBlocks; i++) {\n var startIndex = (i - 1) * this.parent.pageSettings.pageSize;\n var endIndex = i * this.parent.pageSettings.pageSize;\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length && !isCurrentViewData) {\n this.setInitialGroupCache(data, k, startIndex, endIndex);\n }\n else {\n if (isCurrentViewData) {\n this.infiniteCurrentViewData[parseInt(k.toString(), 10)] = data.slice(startIndex, endIndex);\n }\n else {\n this.infiniteCache[parseInt(k.toString(), 10)] = data.slice(startIndex, endIndex);\n this.resetContentModuleCache(this.infiniteCache);\n }\n }\n k++;\n }\n };\n InfiniteScroll.prototype.setInitialGroupCache = function (data, index, sIndex, eIndex) {\n var pageData = [];\n var startIndex = 0;\n for (var i = 1; i <= Object.keys(this.infiniteCache).length; i++) {\n startIndex += this.infiniteCache[parseInt(i.toString(), 10)].length;\n }\n var k = sIndex;\n for (var i = startIndex; i < data.length && k < eIndex; i++) {\n if (data[parseInt(i.toString(), 10)].index < eIndex || data[parseInt(i.toString(), 10)].isCaptionRow) {\n k = data[parseInt(i.toString(), 10)].isCaptionRow ? k : data[parseInt(i.toString(), 10)].index;\n pageData.push(data[parseInt(i.toString(), 10)]);\n }\n if (data[parseInt(i.toString(), 10)].index >= eIndex || data[parseInt(i.toString(), 10)].index === eIndex - 1) {\n break;\n }\n }\n this.infiniteCache[parseInt(index.toString(), 10)] = pageData;\n this.resetContentModuleCache(this.infiniteCache);\n };\n InfiniteScroll.prototype.resetContentModuleCache = function (data) {\n this.parent.contentModule\n .infiniteCache = data;\n };\n /**\n * @param {Row[]} rowObjects - Defines the grid's row objects\n * @returns {void}\n * @hidden\n */\n InfiniteScroll.prototype.resetInfiniteCache = function (rowObjects) {\n var blockLength = Object.keys(this.infiniteCache).length;\n this.infiniteCache = {};\n for (var i = 1; i <= blockLength; i++) {\n var startIndex = (i - 1) * this.parent.pageSettings.pageSize;\n var endIndex = i * this.parent.pageSettings.pageSize;\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n this.setInitialGroupCache(rowObjects, i, startIndex, endIndex);\n }\n else {\n this.infiniteCache[parseInt(i.toString(), 10)] = rowObjects.slice(startIndex, endIndex);\n this.resetContentModuleCache(this.infiniteCache);\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n InfiniteScroll.prototype.destroy = function () {\n this.removeEventListener();\n };\n return InfiniteScroll;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/infinite-scroll.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/inline-edit.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/inline-edit.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InlineEdit: () => (/* binding */ InlineEdit)\n/* harmony export */ });\n/* harmony import */ var _normal_edit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normal-edit */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n/**\n * `InlineEdit` module is used to handle inline editing actions.\n *\n * @hidden\n */\nvar InlineEdit = /** @class */ (function (_super) {\n __extends(InlineEdit, _super);\n function InlineEdit(parent, serviceLocator, renderer) {\n var _this = _super.call(this, parent, serviceLocator) || this;\n _this.parent = parent;\n _this.serviceLocator = serviceLocator;\n _this.renderer = renderer;\n return _this;\n }\n InlineEdit.prototype.closeEdit = function () {\n _super.prototype.closeEdit.call(this);\n };\n InlineEdit.prototype.addRecord = function (data, index) {\n _super.prototype.addRecord.call(this, data, index);\n };\n InlineEdit.prototype.endEdit = function () {\n _super.prototype.endEdit.call(this);\n };\n InlineEdit.prototype.updateRow = function (index, data) {\n _super.prototype.updateRow.call(this, index, data);\n };\n InlineEdit.prototype.deleteRecord = function (fieldname, data) {\n _super.prototype.deleteRecord.call(this, fieldname, data);\n };\n InlineEdit.prototype.startEdit = function (tr) {\n _super.prototype.startEdit.call(this, tr);\n };\n return InlineEdit;\n}(_normal_edit__WEBPACK_IMPORTED_MODULE_0__.NormalEdit));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/inline-edit.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/lazy-load-group.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/lazy-load-group.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LazyLoadGroup: () => (/* binding */ LazyLoadGroup)\n/* harmony export */ });\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _renderer_group_lazy_load_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../renderer/group-lazy-load-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n\n\n\n/**\n * Group lazy load class\n */\nvar LazyLoadGroup = /** @class */ (function () {\n /**\n * Constructor for Grid group lazy load module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator\n * @hidden\n */\n function LazyLoadGroup(parent, serviceLocator) {\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n LazyLoadGroup.prototype.getModuleName = function () {\n return 'lazyLoadGroup';\n };\n /**\n * @returns {void}\n * @hidden\n */\n LazyLoadGroup.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_0__.initialLoad, this.instantiateRenderer, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_0__.destroy, this.destroy, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n LazyLoadGroup.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_0__.initialLoad, this.instantiateRenderer);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_0__.destroy, this.destroy);\n };\n LazyLoadGroup.prototype.instantiateRenderer = function () {\n if (this.parent.height === 'auto') {\n this.parent.height = this.parent.pageSettings.pageSize * this.parent.getRowHeight();\n }\n var renderer = this.serviceLocator.getService('rendererFactory');\n if (this.parent.groupSettings.enableLazyLoading) {\n renderer.addRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_1__.RenderType.Content, new _renderer_group_lazy_load_renderer__WEBPACK_IMPORTED_MODULE_2__.GroupLazyLoadRenderer(this.parent, this.serviceLocator));\n }\n if (this.parent.enableVirtualization) {\n this.parent.lazyLoadRender = new _renderer_group_lazy_load_renderer__WEBPACK_IMPORTED_MODULE_2__.GroupLazyLoadRenderer(this.parent, this.serviceLocator);\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n LazyLoadGroup.prototype.destroy = function () {\n this.removeEventListener();\n };\n return LazyLoadGroup;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/lazy-load-group.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/logger.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/logger.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* binding */ Logger),\n/* harmony export */ detailLists: () => (/* binding */ detailLists)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/**\n *\n * `Logger` class\n */\n\n\nvar BASE_DOC_URL = 'https://ej2.syncfusion.com/documentation/grid';\nvar DOC_URL = 'https://ej2.syncfusion.com/documentation/';\nvar WARNING = '[EJ2Grid.Warning]';\nvar ERROR = '[EJ2Grid.Error]';\nvar INFO = '[EJ2Grid.Info]';\nvar Logger = /** @class */ (function () {\n function Logger(parent) {\n this.parent = parent;\n this.parent.on('initial-end', this.patchadaptor, this);\n }\n Logger.prototype.getModuleName = function () {\n return 'logger';\n };\n Logger.prototype.log = function (types, args) {\n if (!(types instanceof Array)) {\n types = [types];\n }\n var type = types;\n for (var i = 0; i < type.length; i++) {\n var item = detailLists[type[parseInt(i.toString(), 10)]];\n var cOp = item.check(args, this.parent);\n if (cOp.success) {\n // eslint-disable-next-line no-console\n console[item.logType](item.generateMessage(args, this.parent, cOp.options));\n }\n }\n };\n Logger.prototype.patchadaptor = function () {\n var adaptor = this.parent.getDataModule().dataManager.adaptor;\n var original = adaptor.beforeSend;\n if (original) {\n adaptor.beforeSend = function (dm, request, settings) {\n original.call(adaptor, dm, request, settings);\n };\n }\n };\n Logger.prototype.destroy = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off('initial-end', this.patchadaptor);\n };\n return Logger;\n}());\n\nvar detailLists = {\n // eslint-disable-next-line camelcase\n module_missing: {\n type: 'module_missing',\n logType: 'warn',\n check: function (args, parent) {\n var injected = parent.getInjectedModules().map(function (m) { return m.prototype.getModuleName(); });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var modules = parent.requiredModules().map(function (m) { return m.member; })\n .filter(function (name) { return injected.indexOf(name) === -1; });\n return { success: modules.filter(function (m) { return m !== 'resize'; }).length > 0, options: modules };\n },\n generateMessage: function (args, parent, modules) {\n modules = modules.filter(function (m) { return m !== 'resize'; })\n .reduce(function (prev, cur) { return prev + (\"* \" + cur + \"\\n\"); }, '');\n return WARNING + ': MODULES MISSING\\n' + 'The following modules are not injected:.\\n' +\n (\"\" + modules) +\n (\"Refer to \" + BASE_DOC_URL + \"/module.html for documentation on importing feature modules.\");\n }\n },\n // eslint-disable-next-line camelcase\n promise_enabled: {\n type: 'promise_enabled',\n logType: 'error',\n check: function () {\n return { success: typeof Promise === 'undefined' };\n },\n generateMessage: function () {\n return ERROR + ': PROMISE UNDEFINED\\n' +\n 'Promise object is not present in the global environment,' +\n 'please use polyfil to support Promise object in your environment.\\n' +\n (\"Refer to \" + DOC_URL + \"/base/browser.html?#required-polyfills for more information.\");\n }\n },\n // eslint-disable-next-line camelcase\n primary_column_missing: {\n type: 'primary_column_missing',\n logType: 'warn',\n check: function (args, parent) {\n return { success: parent.enableColumnVirtualization\n ? parent.getPrimaryKeyFieldNames().length === 0\n : parent.getColumns().filter(function (column) { return column.isPrimaryKey; }).length === 0 };\n },\n generateMessage: function () {\n return WARNING + ': PRIMARY KEY MISSING\\n' + 'Editing is enabled but primary key column is not specified.\\n' +\n (\"Refer to \" + BASE_DOC_URL + \"/api-column.html?#isprimarykey for documentation on providing primary key columns.\");\n }\n },\n // eslint-disable-next-line camelcase\n selection_key_missing: {\n type: 'selection_key_missing',\n logType: 'warn',\n check: function (args, parent) {\n return { success: parent.selectionSettings.persistSelection &&\n parent.getColumns().filter(function (column) { return column.isPrimaryKey; }).length === 0 };\n },\n generateMessage: function () {\n return WARNING + ': PRIMARY KEY MISSING\\n' +\n 'selectionSettings.persistSelection property is enabled. It requires one primary key column to persist selection.\\n' +\n (\"Refer to \" + BASE_DOC_URL + \"/api-column.html?#isprimarykey for documentation on providing primary key columns.\");\n }\n },\n actionfailure: {\n type: 'actionfailure',\n logType: 'error',\n check: function () {\n return { success: true };\n },\n generateMessage: function (args, parent) {\n var message = '';\n var formatError = formatErrorHandler(args, parent);\n var ajaxError = ajaxErrorHandler(args, parent);\n if (ajaxError !== '') {\n message = ajaxError;\n }\n else if (formatError !== '') {\n message = formatError;\n }\n else {\n message = args.error;\n }\n return WARNING + ': ' + message;\n }\n },\n // eslint-disable-next-line camelcase\n locale_missing: {\n type: 'locale_missing',\n logType: 'warn',\n check: function (args, parent) {\n var lObj = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(\"locale.\" + parent.locale + \".grid\", _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n);\n return { success: parent.locale !== 'en-US' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(lObj) };\n },\n generateMessage: function (args, parent) {\n return WARNING + ': LOCALE CONFIG MISSING\\n' + (\"Locale configuration for '\" + parent.locale + \"' is not provided.\\n\") +\n (\"Refer to \" + BASE_DOC_URL + \"/globalization-and-localization.html?#localization \\n for documentation on setting locale configuration.\");\n }\n },\n limitation: {\n type: 'limitation',\n logType: 'warn',\n check: function (args, parent) {\n var name = args;\n var opt;\n switch (name) {\n case 'freeze':\n opt = {\n success: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(parent.detailTemplate) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(parent.childGrid),\n options: { name: 'freeze' }\n };\n break;\n case 'virtualization':\n opt = {\n success: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(parent.detailTemplate) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(parent.childGrid),\n options: { name: 'virtualization' }\n };\n break;\n default:\n opt = { success: false };\n break;\n }\n return opt;\n },\n generateMessage: function (args, parent, options) {\n var name = options.name;\n var opt;\n switch (name) {\n case 'freeze':\n opt = 'Frozen rows and columns do not support the following features:\\n' +\n '* Details Template\\n' +\n '* Hierarchy Grid\\n';\n break;\n case 'virtualization':\n opt = 'Virtualization does not support the following features.\\n' +\n '* Details Template.\\n' +\n '* Hierarchy Grid.\\n';\n break;\n default:\n opt = '';\n break;\n }\n return WARNING + (\": \" + name.toUpperCase() + \" LIMITATIONS\\n\") + opt;\n }\n },\n // eslint-disable-next-line camelcase\n check_datasource_columns: {\n type: 'check_datasource_columns',\n logType: 'warn',\n check: function (args, parent) {\n return { success: !(parent.columns.length ||\n (parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parent.dataSource) && parent.dataSource.length)) };\n },\n generateMessage: function () {\n return WARNING + ': GRID CONFIG MISSING\\n' + 'dataSource and columns are not provided in the grid. ' +\n 'At least one of either must be provided for grid configuration.\\n' +\n (\"Refer to \" + BASE_DOC_URL + \"/columns.html for documentation on configuring the grid data and columns.\");\n }\n },\n // eslint-disable-next-line camelcase\n virtual_height: {\n type: 'virtual_height',\n logType: 'error',\n check: function (args, parent) {\n return { success: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parent.height) || parent.height === 'auto' };\n },\n generateMessage: function () {\n return ERROR + ': GRID HEIGHT MISSING \\n' + 'height property is required to use virtualization.\\n' +\n (\"Refer to \" + BASE_DOC_URL + \"/virtual.html for documentation on configuring the virtual grid.\");\n }\n },\n // eslint-disable-next-line camelcase\n grid_remote_edit: {\n type: 'grid_remote_edit',\n logType: 'error',\n check: function (args) {\n return { success: Array.isArray(args) || Array.isArray(args.result) };\n },\n generateMessage: function () {\n return ERROR + ': RETRUN VALUE MISSING \\n' +\n 'Remote service returns invalid data. \\n' +\n (\"Refer to \" + BASE_DOC_URL + \"/edit.html for documentation on configuring editing with remote data.\");\n }\n },\n // eslint-disable-next-line camelcase\n grid_sort_comparer: {\n type: 'grid_sort_comparer',\n logType: 'warn',\n check: function (args, parent) {\n return { success: parent.getDataModule().isRemote() };\n },\n generateMessage: function () {\n return WARNING + ': SORT COMPARER NOT WORKING \\n' + 'Sort comparer will not work with remote data.' +\n (\"Refer to \" + BASE_DOC_URL + \"/sorting/#custom-sort-comparer for documentation on using the sort comparer.\");\n }\n },\n // eslint-disable-next-line camelcase\n resize_min_max: {\n type: 'resize_min_max',\n logType: 'info',\n check: function (args) {\n return { success: (args.column.minWidth && args.column.minWidth >= args.width) ||\n (args.column.maxWidth && args.column.maxWidth <= args.width) };\n },\n generateMessage: function () {\n return INFO + ': RESIZING COLUMN REACHED MIN OR MAX \\n' + 'The column resizing width is at its min or max.';\n }\n },\n // eslint-disable-next-line camelcase\n action_disabled_column: {\n type: 'action_disabled_column',\n logType: 'info',\n check: function (args) {\n var success = true;\n var fn;\n switch (args.moduleName) {\n case 'reorder':\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.destColumn)) {\n fn = \"reordering action is disabled for the \" + args.column.headerText + \" column\";\n }\n else {\n fn = \"reordering action is disabled for the \" + (args.column.allowReordering ?\n args.destColumn.headerText : args.column.headerText) + \" column\";\n }\n break;\n case 'group':\n fn = \"grouping action is disabled for the \" + args.columnName + \" column.\";\n break;\n case 'filter':\n fn = \"filtering action is disabled for the \" + args.columnName + \" column.\";\n break;\n case 'sort':\n fn = \"sorting action is disabled for the \" + args.columnName + \" column.\";\n break;\n }\n return { success: success, options: { fn: fn } };\n },\n generateMessage: function (args, parent, options) {\n return INFO + (\": ACTION DISABLED \\n \" + options.fn);\n }\n },\n // eslint-disable-next-line camelcase\n exporting_begin: {\n type: 'exporting_begin',\n logType: 'info',\n check: function (args) {\n return { success: true, options: { args: args } };\n },\n generateMessage: function (args, parent, options) {\n return INFO + (\": EXPORTING INPROGRESS \\n Grid \" + options.args + \"ing is in progress\");\n }\n },\n // eslint-disable-next-line camelcase\n exporting_complete: {\n type: 'exporting_complete',\n logType: 'info',\n check: function (args) {\n return { success: true, options: { args: args } };\n },\n generateMessage: function (args, parent, options) {\n return INFO + (\": EXPORTING COMPLETED \\n Grid \" + options.args + \"ing is complete\");\n }\n },\n // eslint-disable-next-line camelcase\n foreign_key_failure: {\n type: 'foreign_key_failure',\n logType: 'error',\n check: function () {\n return { success: true };\n },\n generateMessage: function () {\n return ERROR + ': FOREIGNKEY CONFIG \\n Grid foreign key column needs a valid data source/service.' +\n (\"Refer to \" + BASE_DOC_URL + \"/columns/#foreign-key-column for documentation on configuring foreign key columns.\");\n }\n },\n // eslint-disable-next-line camelcase\n initial_action: {\n type: 'initial_action',\n logType: 'error',\n check: function (args) {\n var success = true;\n var fn;\n switch (args.moduleName) {\n case 'group':\n fn = \"The \" + args.columnName + \" column is not available in the grid's column model.\" +\n 'Please provide a valid field name to group the column';\n break;\n case 'filter':\n fn = \"The \" + args.columnName + \" column is not available in the grid's column model.\" +\n 'Please provide a valid field name to filter the column.';\n break;\n case 'sort':\n fn = \"The \" + args.columnName + \" column is not available in the grid's column model.\" +\n 'Please provide a valid field name to sort the column.';\n break;\n }\n return { success: success, options: { fn: fn } };\n },\n generateMessage: function (args, parent, options) {\n return ERROR + (\": INITIAL ACTION FAILURE \\n \" + options.fn);\n }\n },\n // eslint-disable-next-line camelcase\n frozen_rows_columns: {\n type: 'frozen_rows_columns',\n logType: 'error',\n check: function (args, parent) {\n return { success: parent.getColumns().length <= parent.frozenColumns\n || (parent.currentViewData.length && parent.frozenRows >= parent.currentViewData.length) };\n },\n generateMessage: function (args, parent) {\n return ERROR + (\": OUT OF RANGE ERROR-\\n \" + (parent.getColumns().length <= parent.frozenColumns ? 'FROZEN COLUMNS,' : '')) +\n ((parent.frozenRows >= parent.currentViewData.length ? 'FROZEN ROWS' : '') + \" invalid\");\n }\n },\n // eslint-disable-next-line camelcase\n column_type_missing: {\n type: 'column_type_missing',\n logType: 'error',\n check: function (args) {\n return { success: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.column.type), options: args.column.headerText };\n },\n generateMessage: function (args, parent, options) {\n return ERROR + (\": COLUMN TYPE MISSING-\\n \" + options + \" column type was invalid or not defined.\") +\n (\"Please go through below help link: \" + DOC_URL + \"/grid/columns/#column-type\");\n }\n },\n // eslint-disable-next-line camelcase\n datasource_syntax_mismatch: {\n type: 'datasource_syntax_mismatch',\n logType: 'warn',\n check: function (args) {\n return { success: args.dataState.dataSource && !(args.dataState.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ||\n 'result' in args.dataState.dataSource || args.dataState.dataSource instanceof Array) &&\n !((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.dataState.dataStateChange)) };\n },\n generateMessage: function () {\n return WARNING + ': DATASOURCE SYNTAX WARNING\\n' +\n 'DataSource should be in the form of {result: Object[], count: number}' +\n 'when dataStateChangeEvent used';\n }\n }\n};\nvar formatErrorHandler = function (args) {\n var error = args.error;\n if (error.indexOf && error.indexOf('Format options') !== 0) {\n return '';\n }\n return 'INVALID FORMAT\\n' +\n 'For more information, refer to the following documentation links:\\n' +\n (\"Number format: \" + DOC_URL + \"/common/internationalization#supported-format-string\\n\") +\n (\"Date format: \" + DOC_URL + \"/common/internationalization#manipulating-datetime\\n\") +\n (\"Message: \" + error);\n};\nvar ajaxErrorHandler = function (args) {\n var error = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject('error.error', args);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(error)) {\n return '';\n }\n var jsonResult = '';\n try {\n jsonResult = JSON.parse(error.responseText);\n }\n catch (_a) {\n jsonResult = '';\n }\n return 'XMLHTTPREQUEST FAILED\\n' +\n (\"Url: \" + error.responseURL + \"\\n\") +\n (\"Status: \" + error.status + \" - \" + error.statusText + \"\\n\") +\n (\"\" + (jsonResult !== '' ? 'Message: ' + jsonResult : ''));\n};\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/logger.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NormalEdit: () => (/* binding */ NormalEdit)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n/**\n * `NormalEdit` module is used to handle normal('inline, dialog, external') editing actions.\n *\n * @hidden\n */\nvar NormalEdit = /** @class */ (function () {\n function NormalEdit(parent, serviceLocator, renderer) {\n this.args = {};\n this.currentVirtualData = {};\n this.parent = parent;\n this.renderer = renderer;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n }\n NormalEdit.prototype.clickHandler = function (e) {\n var target = e.target;\n var gObj = this.parent;\n if (gObj.editSettings.showAddNewRow && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow))) {\n return;\n }\n if (((((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridContent) &&\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridContent), 'e-grid').id === gObj.element.id)) || (gObj.frozenRows\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.headerContent) && !(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-columnheader')))\n && !(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-unboundcelldiv')) {\n this.rowIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell)\n ? parseInt(target.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1 : -1;\n if (gObj.isEdit) {\n gObj.editModule.endEdit();\n }\n }\n };\n NormalEdit.prototype.dblClickHandler = function (e) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell) && this.parent.editSettings.allowEditOnDblClick &&\n (!this.parent.editSettings.showAddNewRow || (this.parent.editSettings.showAddNewRow &&\n !(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, 'e-addedrow')))) {\n this.parent.editModule.startEdit((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row));\n }\n };\n /**\n * The function used to trigger editComplete\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n NormalEdit.prototype.editComplete = function (e) {\n this.parent.isEdit = this.parent.editSettings.showAddNewRow ? true : false;\n var action = 'action';\n switch (e.requestType) {\n case 'save':\n if ((!(this.parent.isCheckBoxSelection || this.parent.selectionSettings.type === 'Multiple')\n || (!this.parent.isPersistSelection)) && (e[\"\" + action] !== 'edit' && (!this.parent.editSettings.showAddNewRow ||\n (this.parent.editSettings.showAddNewRow && e[\"\" + action] !== 'add')))) {\n if (this.parent.allowPaging && e['index'] > 0) {\n e['index'] = this.parent.pageSettings.currentPage === Math.floor(e['index'] / this.parent.pageSettings.pageSize) + 1 ?\n e['index'] % this.parent.pageSettings.pageSize : -1;\n }\n if (this.parent.enableVirtualization && e['index'] > 0) {\n this.parent.selectVirtualRowOnAdd = true;\n }\n this.parent.selectRow(e['index']);\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, {\n requestType: 'save',\n type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete\n }));\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.closeEdit, { requestType: 'save', action: e[\"\" + action] });\n break;\n case 'delete':\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, {\n requestType: 'delete',\n type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete\n }));\n if (!this.parent.isCheckBoxSelection && !(this.parent.enableInfiniteScrolling\n && (this.parent.childGrid || this.parent.detailTemplate))) {\n this.parent.selectRow(this.editRowIndex);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.closeEdit, { requestType: 'delete', action: e[\"\" + action] });\n break;\n }\n };\n NormalEdit.prototype.getEditArgs = function (editedData, rowObj, isScroll) {\n var primaryKeys = this.parent.getPrimaryKeyFieldNames();\n var primaryKeyValues = [];\n for (var i = 0; i < primaryKeys.length; i++) {\n primaryKeyValues.push((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(primaryKeys[parseInt(i.toString(), 10)], editedData));\n }\n var args = {\n primaryKey: primaryKeys, primaryKeyValue: primaryKeyValues, requestType: 'beginEdit',\n rowData: editedData, rowIndex: this.rowIndex, type: 'edit', cancel: false,\n foreignKeyData: rowObj && rowObj.foreignKeyData, target: undefined, isScroll: isScroll\n };\n return args;\n };\n NormalEdit.prototype.startEdit = function (tr) {\n var _this = this;\n var gObj = this.parent;\n this.rowIndex = this.editRowIndex = parseInt(tr.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n if (gObj.enableVirtualization || gObj.enableColumnVirtualization || gObj.enableInfiniteScrolling) {\n var selector = '.e-row[aria-rowindex=\"' + (this.rowIndex + 1) + '\"]';\n var virtualRow = this.parent.element.querySelector(selector);\n if (!virtualRow) {\n return;\n }\n }\n var e = { data: undefined, index: this.rowIndex, isScroll: false };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditActionBegin, e);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isGroupAdaptive)(gObj)) {\n var rObj = gObj.getRowObjectFromUID(tr.getAttribute('data-uid'));\n this.previousData = rObj.data;\n }\n else if (this.parent.enableVirtualization || this.parent.enableColumnVirtualization ||\n (this.parent.enableInfiniteScrolling && (!this.previousData || this.parent.infiniteScrollSettings.enableCache))) {\n this.previousData = e.data;\n }\n else if (!this.parent.enableVirtualization) {\n this.previousData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, this.parent.getForeignKeyColumns().length ?\n this.parent.getRowObjectFromUID(tr.getAttribute('data-uid')).data :\n gObj.getCurrentViewRecords()[this.rowIndex], true);\n }\n var editedData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, e.data || this.previousData, true);\n this.uid = tr.getAttribute('data-uid');\n var rowObj = gObj.getRowObjectFromUID(this.uid);\n var args = this.getEditArgs(editedData, rowObj, e.isScroll);\n args.row = tr;\n if (!args.isScroll) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.createVirtualValidationForm, { uid: this.uid, prevData: this.previousData, argsCreator: this.getEditArgs.bind(this), renderer: this.renderer });\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beginEdit, args, function (begineditargs) {\n begineditargs.type = 'actionBegin';\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, begineditargs, function (editargs) {\n if (!editargs.cancel) {\n _this.inlineEditHandler(editargs, tr);\n }\n });\n });\n }\n else {\n this.inlineEditHandler(args, tr);\n }\n };\n NormalEdit.prototype.disabledShowAddRow = function (disable, prevent) {\n var addRow = this.parent.element.querySelector('.e-addedrow');\n var inputs = [].slice.call(addRow ? addRow.querySelectorAll('.e-input') : []);\n if (addRow && addRow.querySelector('.e-unboundcell')) {\n var buttons = [].slice.call(addRow.querySelector('.e-unboundcell').querySelectorAll('.e-btn'));\n for (var i = 0; i < buttons.length; i++) {\n if (!disable) {\n buttons[parseInt(i.toString(), 10)].classList.add('e-disabled');\n buttons[parseInt(i.toString(), 10)].setAttribute('disabled', 'disabled');\n }\n else {\n buttons[parseInt(i.toString(), 10)].classList.remove('e-disabled');\n buttons[parseInt(i.toString(), 10)].removeAttribute('disabled');\n }\n }\n }\n if (inputs.length) {\n for (var i = 0; i < inputs.length; i++) {\n var input = inputs[parseInt(i.toString(), 10)];\n var uid = input.getAttribute('e-mappinguid');\n var column = this.parent.getColumnByUid(uid);\n var error = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(input, 'e-rowcell').querySelector('.e-error');\n if (error) {\n error.classList.remove('e-error');\n }\n if (input.ej2_instances) {\n if (prevent && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.defaultValue)) {\n if (input.type === 'checkbox') {\n input.ej2_instances[0].checked = false;\n input.checked = false;\n }\n else {\n input.ej2_instances[0].value = null;\n input.value = null;\n }\n }\n if (input.type === 'checkbox' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(disable)) {\n input.ej2_instances[0].disabled = disable && column.allowEditing ? false : true;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(disable)) {\n input.ej2_instances[0].enabled = disable && column.allowEditing ? true : false;\n }\n }\n else {\n if (prevent && input.value && input.value.length &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.defaultValue)) {\n input.value = null;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(disable)) {\n if (!disable) {\n input.classList.add('e-disabled');\n input.setAttribute('disabled', 'disabled');\n }\n else if (column.allowEditing) {\n input.classList.remove('e-disabled');\n input.removeAttribute('disabled');\n }\n }\n }\n }\n }\n };\n NormalEdit.prototype.inlineEditHandler = function (editargs, tr) {\n var gObj = this.parent;\n gObj.isEdit = true;\n editargs.row = editargs.row ? editargs.row : tr;\n if (gObj.editSettings.mode !== 'Dialog') {\n gObj.clearSelection();\n }\n if (gObj.editSettings.mode === 'Dialog' && gObj.selectionModule) {\n gObj.selectionModule.preventFocus = true;\n editargs.row.classList.add('e-dlgeditrow');\n }\n this.renderer.update(editargs);\n this.uid = tr.getAttribute('data-uid');\n gObj.editModule.applyFormValidation();\n if (gObj.editSettings.showAddNewRow && !tr.classList.contains('e-addedrow')) {\n this.disabledShowAddRow(false, true);\n }\n editargs.type = 'actionComplete';\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, editargs);\n if (gObj.editSettings.template) {\n gObj.editModule.applyFormValidation(undefined, editargs.form.ej2_instances[0].rules);\n }\n this.args = editargs;\n if (this.parent.allowTextWrap) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.freezeRender, { case: 'textwrap' });\n }\n };\n NormalEdit.prototype.updateRow = function (index, data) {\n var _this = this;\n var gObj = this.parent;\n this.editRowIndex = index;\n var row = gObj.getRowByIndex(index);\n if (!row) {\n return;\n }\n var args = {\n requestType: 'save', action: 'edit', type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, data: data, cancel: false,\n previousData: gObj.getCurrentViewRecords()[parseInt(index.toString(), 10)],\n row: row\n };\n gObj.showSpinner();\n if (gObj.enableInfiniteScrolling) {\n this.uid = args.row.getAttribute('data-uid');\n var index_1 = parseInt(args.row.getAttribute('aria-rowindex'), 10) - 1;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteEditrowindex, { index: index_1 });\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.updateData, args);\n if (args.promise) {\n args.promise.then(function () { return gObj.refresh(); }).catch(function (e) { return _this.edFail(e); });\n }\n else {\n if (!gObj.enableInfiniteScrolling) {\n gObj.refresh();\n }\n }\n };\n NormalEdit.prototype.editFormValidate = function () {\n var gObj = this.parent;\n var isValid = gObj.editModule.editFormValidate();\n var validationArgs = {\n prevData: this.previousData, isValid: true, editIdx: this.editRowIndex, addIdx: this.addedRowIndex\n };\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.validateVirtualForm, validationArgs);\n return (isValid && validationArgs.isValid);\n };\n NormalEdit.prototype.endEdit = function () {\n var _this = this;\n var gObj = this.parent;\n if (!this.parent.isEdit || !this.editFormValidate()) {\n return;\n }\n var editedData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, this.previousData, true);\n var args = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.args, {\n requestType: 'save', type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, data: editedData, cancel: false,\n previousData: this.previousData, selectedRow: gObj.selectedRowIndex, foreignKeyData: {}\n });\n var isDlg = gObj.editSettings.mode === 'Dialog';\n var dlgWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + gObj.element.id + '_dialogEdit_wrapper', document);\n var dlgForm = isDlg ? dlgWrapper.querySelector('.e-gridform') : gObj.editSettings.showAddNewRow &&\n gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow) ? gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow).getElementsByClassName('e-gridform')[0] : gObj.element.getElementsByClassName('e-gridform')[0];\n var data = {\n virtualData: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, {}, this.previousData, true), isAdd: false, isScroll: false, endEdit: true\n };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.getVirtualData, data);\n if ((this.parent.enableVirtualization || this.parent.enableColumnVirtualization || this.parent.enableInfiniteScrolling)\n && this.parent.editSettings.mode === 'Normal' && Object.keys(data.virtualData).length) {\n if (this.parent.isEdit) {\n this.currentVirtualData = editedData = args.data = data.virtualData;\n }\n }\n else {\n editedData = gObj.editModule.getCurrentEditedData(dlgForm, editedData);\n }\n var eleLength = [].slice.call(gObj.element.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow)).length;\n if (!data.isAdd && Object.keys(this.currentVirtualData).length && !eleLength) {\n eleLength = 1;\n }\n if (isDlg ? dlgWrapper.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow).length : eleLength) {\n args.action = 'edit';\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, args, function (endEditArgs) {\n if (endEditArgs.cancel) {\n return;\n }\n if (_this.parent.loadingIndicator.indicatorType === 'Spinner') {\n gObj.showSpinner();\n }\n if (_this.parent.loadingIndicator.indicatorType === 'Shimmer') {\n _this.parent.showMaskRow();\n }\n if (gObj.editSettings.showAddNewRow) {\n _this.disabledShowAddRow(true);\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.updateData, endEditArgs);\n });\n }\n else {\n args.action = 'add';\n args.selectedRow = 0;\n args.index = this.addedRowIndex;\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditSuccess, {});\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, args);\n this.addedRowIndex = null;\n if (args.cancel) {\n return;\n }\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.showAddNewRowFocus, {});\n if (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) {\n this.disabledShowAddRow(true, true);\n }\n }\n }\n };\n NormalEdit.prototype.destroyElements = function () {\n var gObj = this.parent;\n if (!gObj.editSettings.showAddNewRow || (gObj.editSettings.showAddNewRow && gObj.element.querySelector('.e-editedrow'))) {\n gObj.editModule.destroyWidgets();\n gObj.editModule.destroyForm();\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dialogDestroy, {});\n };\n NormalEdit.prototype.editHandler = function (args) {\n var _this = this;\n if (args.promise) {\n args.promise.then(function (e) { return _this.edSucc(e, args); }).catch(function (e) { return _this.edFail(e); });\n }\n else {\n this.editSuccess(args.data, args);\n }\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.editModule.applyFormValidation();\n }\n };\n NormalEdit.prototype.edSucc = function (e, args) {\n this.editSuccess(e, args);\n };\n NormalEdit.prototype.edFail = function (e) {\n this.editFailure(e);\n };\n NormalEdit.prototype.updateCurrentViewData = function (data) {\n if (!this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling) {\n this.parent.getCurrentViewRecords()[this.editRowIndex] = data;\n }\n };\n NormalEdit.prototype.requestSuccess = function (args) {\n if (this.parent.editModule.formObj && !this.parent.editModule.formObj.isDestroyed) {\n this.destroyElements();\n this.stopEditStatus();\n if (this.parent.editSettings.mode === 'Dialog' && args.action !== 'add' &&\n this.parent.selectionModule) {\n this.parent.element.querySelector('.e-dlgeditrow').classList.remove('e-dlgeditrow');\n }\n }\n };\n NormalEdit.prototype.editSuccess = function (e, args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && !(e instanceof Array)) {\n var rowData = 'rowData';\n args.data = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, args[\"\" + rowData], args.data), e);\n }\n this.requestSuccess(args);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeDataBound, args);\n args.type = _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete;\n this.parent.isEdit = this.parent.editSettings.showAddNewRow ? true : false;\n this.refreshRow(args.data);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditSuccess, args);\n this.parent.editModule.checkLastRow(args.row);\n this.parent.editModule.isLastRow = false;\n this.updateCurrentViewData(args.data);\n this.blazorTemplate();\n this.editRowIndex = null;\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length\n && this.parent.groupSettings.showGroupedColumn) {\n var dragRow = args.row;\n var rows = this.parent.getRowsObject();\n var dragRowUid = dragRow.getAttribute('data-uid');\n var dragRowObject_1 = this.parent.getRowObjectFromUID(dragRowUid);\n var _loop_1 = function (i) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef = this_1;\n rows = rows.filter(function (data) {\n var flag = data.isDataRow && data !== dragRowObject_1 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.data);\n if (flag) {\n var groupedColumn = thisRef.parent.groupSettings.columns[parseInt(i.toString(), 10)].split('.');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var comparer1 = data.data[groupedColumn[0]];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var comparer2 = args.data[groupedColumn[0]];\n for (var j = 1; j < groupedColumn.length; j++) {\n comparer1 = comparer1[groupedColumn[j]];\n comparer2 = comparer2[groupedColumn[j]];\n }\n return flag && comparer1 === comparer2;\n }\n else {\n return flag;\n }\n });\n };\n var this_1 = this;\n for (var i = 0; i < this.parent.groupSettings.columns.length; i++) {\n _loop_1(i);\n }\n var dropRowObject = rows[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dragRowObject_1) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dropRowObject) &&\n dragRowObject_1.parentUid !== dropRowObject.parentUid) {\n this.parent['groupModule'].groupedRowReorder(dragRowObject_1, dropRowObject);\n }\n else if (this.parent.aggregates.length) {\n this.parent.aggregateModule.refresh(args.data, this.parent.groupSettings.enableLazyLoading ? args.row : undefined);\n }\n }\n else if (this.parent.aggregates.length) {\n this.parent.aggregateModule.refresh(args.data, this.parent.groupSettings.enableLazyLoading ? args.row : undefined);\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, args);\n if (!(this.parent.isCheckBoxSelection || this.parent.selectionSettings.type === 'Multiple')\n || (!this.parent.isPersistSelection) && !this.parent.selectionSettings.checkboxOnly) {\n if (this.parent.editSettings.mode !== 'Dialog') {\n this.parent.selectRow(this.rowIndex > -1 ? this.rowIndex : this.editRowIndex);\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.closeEdit, { requestType: args.requestType, action: args.action });\n if (this.parent.aggregates.length && this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length\n && (this.parent.groupModule.getGroupAggregateTemplates(true).length\n || this.parent.groupModule.getGroupAggregateTemplates(false).length)) {\n return;\n }\n this.parent.removeMaskRow();\n this.parent.hideSpinner();\n };\n NormalEdit.prototype.closeForm = function () {\n if (!this.cloneRow && this.parent.isEdit) {\n this.stopEditStatus();\n }\n if (this.cloneRow) {\n this.cloneRow.remove();\n this.cloneRow = null;\n this.originalRow.classList.remove('e-hiddenrow');\n }\n };\n NormalEdit.prototype.blazorTemplate = function () {\n var cols = this.parent.getColumns();\n if (this.parent.editSettings.template && this.parent.editSettings.mode === 'Normal') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(this.parent.element.id + 'editSettingsTemplate', 'Template', this.parent.editSettings);\n }\n for (var i = 0; i < cols.length; i++) {\n var col = cols[parseInt(i.toString(), 10)];\n if (col.template) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(this.parent.element.id + col.uid, 'Template', col, false);\n }\n if (col.editTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(this.parent.element.id + col.uid + 'editTemplate', 'EditTemplate', col);\n }\n }\n };\n NormalEdit.prototype.editFailure = function (e) {\n if (e.cancel) {\n return;\n }\n this.parent.removeMaskRow();\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionFailure, ({ error: e }));\n this.parent.hideSpinner();\n this.parent.log('actionfailure', { error: e });\n };\n NormalEdit.prototype.needRefresh = function () {\n var refresh = true;\n var editedRow = this.parent.element.querySelector('.e-gridform');\n if ((this.parent.enableVirtualization || this.parent.infiniteScrollSettings.enableCache)\n && this.parent.editSettings.mode === 'Normal' && !editedRow) {\n refresh = false;\n }\n return refresh;\n };\n NormalEdit.prototype.refreshRow = function (data) {\n var row = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_4__.RowRenderer(this.serviceLocator, null, this.parent);\n var rowObj = this.parent.getRowObjectFromUID(this.uid);\n if (rowObj) {\n rowObj.changes = data;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshVirtualCache, { data: data });\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.refreshForeignData)(rowObj, this.parent.getForeignKeyColumns(), rowObj.changes);\n if (this.needRefresh()) {\n row.refresh(rowObj, this.parent.getColumns(), true);\n }\n var tr = [].slice.call(this.parent.element.querySelectorAll('[aria-rowindex=\"' + (rowObj.index + 1) + '\"]'));\n for (var i = 0; i < tr.length; i++) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addFixedColumnBorder)(tr[parseInt(i.toString(), 10)]);\n if (this.parent.enableColumnVirtualization &&\n tr[parseInt(i.toString(), 10)].querySelectorAll('.e-leftfreeze,.e-rightfreeze,.e-fixedfreeze').length) {\n var cols = this.parent.getColumns();\n var leftrightCells = [].slice.call(tr[parseInt(i.toString(), 10)].querySelectorAll('.e-leftfreeze,.e-rightfreeze.e-fixedfreeze'));\n for (var j = 0; j < leftrightCells.length; j++) {\n if (leftrightCells[parseInt(j.toString(), 10)].classList.contains('e-leftfreeze')) {\n leftrightCells[parseInt(j.toString(), 10)].style.left = (cols[parseInt(j.toString(), 10)].valueX - this.parent.translateX) + 'px';\n }\n else if (leftrightCells[parseInt(j.toString(), 10)].classList.contains('e-rightfreeze')) {\n var idx = parseInt(leftrightCells[parseInt(j.toString(), 10)].getAttribute('aria-colindex'), 10) - 1;\n leftrightCells[parseInt(j.toString(), 10)].style.right = ((cols[parseInt(idx.toString(), 10)].valueX + this.parent.translateX)) + 'px';\n }\n else {\n leftrightCells[parseInt(j.toString(), 10)].style.left = (this.parent.leftrightColumnWidth('left') -\n this.parent.translateX) + 'px';\n leftrightCells[parseInt(j.toString(), 10)].style.right = (this.parent.leftrightColumnWidth('right') +\n this.parent.translateX) + 'px';\n }\n }\n }\n }\n }\n };\n NormalEdit.prototype.closeEdit = function () {\n var _this = this;\n if (!this.parent.isEdit || (this.parent.editSettings.showAddNewRow && this.parent.element.querySelector('.e-addedrow') &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow)))) {\n if (this.parent.editSettings.showAddNewRow) {\n this.disabledShowAddRow(true, true);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.showAddNewRowFocus, {});\n }\n return;\n }\n var gObj = this.parent;\n var args = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.args, {\n requestType: 'cancel', type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, cancel: false, data: this.previousData, selectedRow: gObj.selectedRowIndex\n });\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEditCancel, args);\n this.blazorTemplate();\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, args, function (closeEditArgs) {\n if (closeEditArgs.cancel) {\n return;\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroyEditForm, args);\n if (_this.parent.editSettings.mode === 'Dialog') {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dialogDestroy, {});\n }\n closeEditArgs.type = _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete;\n if (!_this.parent.editSettings.showAddNewRow) {\n gObj.isEdit = false;\n }\n if (gObj.editSettings.mode !== 'Dialog') {\n _this.refreshRow(closeEditArgs.data);\n }\n _this.stopEditStatus();\n gObj.isEdit = false;\n if (gObj.editSettings.showAddNewRow) {\n _this.disabledShowAddRow(true);\n gObj.editModule.applyFormValidation();\n gObj.isEdit = true;\n }\n var isLazyLoad = gObj.groupSettings.enableLazyLoading && gObj.groupSettings.columns.length\n && !gObj.getContentTable().querySelector('tr.e-emptyrow');\n if (!gObj.getContentTable().querySelector('tr.e-emptyrow') &&\n !gObj.getContentTable().querySelector('tr.e-row') && !isLazyLoad) {\n gObj.renderModule.emptyRow();\n }\n if (gObj.editSettings.mode !== 'Dialog') {\n gObj.selectRow(_this.rowIndex);\n }\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, closeEditArgs);\n });\n };\n NormalEdit.prototype.addRecord = function (data, index) {\n var _this = this;\n var gObj = this.parent;\n this.addedRowIndex = index = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? index : 0;\n if (data) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, {\n requestType: 'save', type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, data: data, selectedRow: 0, action: 'add', index: index\n });\n return;\n }\n if (gObj.isEdit) {\n return;\n }\n this.previousData = {};\n this.uid = '';\n var cols = gObj.getColumns();\n var rowData = { virtualData: {}, isScroll: false };\n if (!gObj.editSettings.showAddNewRow) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.getVirtualData, rowData);\n }\n for (var i = 0; i < cols.length; i++) {\n if (rowData.isScroll) {\n continue;\n }\n if (cols[parseInt(i.toString(), 10)].field) {\n if (cols[parseInt(i.toString(), 10)].type === 'string') {\n cols[parseInt(i.toString(), 10)].defaultValue = this.parent\n .sanitize(cols[parseInt(i.toString(), 10)].defaultValue);\n }\n _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataUtil.setValue(cols[parseInt(i.toString(), 10)].field, cols[parseInt(i.toString(), 10)].defaultValue, this.previousData);\n }\n }\n var args = {\n cancel: false, foreignKeyData: {},\n requestType: 'add', data: this.previousData, type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, index: index,\n rowData: this.previousData, target: undefined, isScroll: rowData.isScroll\n };\n if ((this.parent.enableVirtualization || this.parent.enableColumnVirtualization || this.parent.infiniteScrollSettings.enableCache)\n && Object.keys(rowData.virtualData).length) {\n args.data = args.rowData = rowData.virtualData;\n }\n if (!args.isScroll) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.createVirtualValidationForm, { uid: this.uid, prevData: this.previousData, argsCreator: this.getEditArgs.bind(this), renderer: this.renderer });\n if (gObj.editSettings.showAddNewRow) {\n this.inlineAddHandler(args);\n }\n else {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, args, function (addArgs) {\n if (addArgs.cancel) {\n return;\n }\n _this.inlineAddHandler(addArgs);\n });\n }\n }\n else {\n this.inlineAddHandler(args);\n }\n };\n NormalEdit.prototype.inlineAddHandler = function (addArgs) {\n var gObj = this.parent;\n gObj.isEdit = true;\n if (gObj.editSettings.mode !== 'Dialog') {\n gObj.clearSelection();\n }\n this.renderer.addNew(addArgs);\n gObj.editModule.applyFormValidation();\n addArgs.type = _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete;\n addArgs.row = gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow);\n if (!gObj.editSettings.showAddNewRow) {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, addArgs);\n }\n if (gObj.editSettings.template) {\n gObj.editModule.applyFormValidation(undefined, addArgs.form.ej2_instances[0].rules);\n }\n this.args = addArgs;\n };\n NormalEdit.prototype.deleteRecord = function (fieldname, data) {\n this.editRowIndex = this.parent.selectedRowIndex;\n if (data) {\n data = (data instanceof Array) ? data : [data];\n var gObj = this.parent;\n var dataLen = Object.keys(data).length;\n fieldname = fieldname || this.parent.getPrimaryKeyFieldNames()[0];\n var _loop_2 = function (i) {\n var _a;\n var tmpRecord;\n var contained = gObj.currentViewData.some(function (record) {\n tmpRecord = record;\n return data[parseInt(i.toString(), 10)] === (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(fieldname, record) || data[parseInt(i.toString(), 10)] === record;\n });\n data[parseInt(i.toString(), 10)] = contained ? tmpRecord : data[parseInt(i.toString(), 10)][\"\" + fieldname] ?\n data[parseInt(i.toString(), 10)] : (_a = {}, _a[fieldname] = data[parseInt(i.toString(), 10)], _a);\n };\n for (var i = 0; i < dataLen; i++) {\n _loop_2(i);\n }\n }\n var args = {\n requestType: 'delete', type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, foreignKeyData: {},\n data: data ? data : this.parent.getSelectedRecords(), tr: this.parent.getSelectedRows(), cancel: false\n };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.commandDelIndex)) {\n args.data[0] =\n this.parent.getRowObjectFromUID(this.parent.getRowByIndex(this.parent.commandDelIndex).getAttribute('data-uid')).data;\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, args);\n };\n NormalEdit.prototype.stopEditStatus = function () {\n var gObj = this.parent;\n var addElements = [].slice.call(gObj.editSettings.showAddNewRow ? [] :\n gObj.element.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow));\n var editElements = [].slice.call(gObj.element.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow));\n for (var i = 0; i < addElements.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(addElements[parseInt(i.toString(), 10)]);\n }\n for (var i = 0; i < editElements.length; i++) {\n editElements[parseInt(i.toString(), 10)].classList.remove(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow);\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n NormalEdit.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.crudAction, handler: this.editHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.doubleTap, handler: this.dblClickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.click, handler: this.clickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.recordAdded, handler: this.requestSuccess },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.dblclick, handler: this.dblClickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.deleteComplete, handler: this.editComplete },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.saveComplete, handler: this.editComplete },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.rowModeChange, handler: this.closeEdit },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.closeInline, handler: this.closeForm }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n NormalEdit.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n };\n /**\n * @returns {void}\n * @hidden\n */\n NormalEdit.prototype.destroy = function () {\n this.removeEventListener();\n this.renderer.destroy();\n };\n return NormalEdit;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/page.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/page.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Page: () => (/* binding */ Page)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _pager_pager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../pager/pager */ \"./node_modules/@syncfusion/ej2-grids/src/pager/pager.js\");\n/* harmony import */ var _pager_pager_dropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../pager/pager-dropdown */ \"./node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.js\");\n/* harmony import */ var _pager_external_message__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../pager/external-message */ \"./node_modules/@syncfusion/ej2-grids/src/pager/external-message.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n/**\n * The `Page` module is used to render pager and handle paging action.\n */\nvar Page = /** @class */ (function () {\n /**\n * Constructor for the Grid paging module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {PageSettingsModel} pageSettings - specifies the PageSettingsModel\n * @hidden\n */\n function Page(parent, pageSettings) {\n this.isInitialRender = true;\n /** @hidden */\n this.isCancel = false;\n _pager_pager__WEBPACK_IMPORTED_MODULE_1__.Pager.Inject(_pager_external_message__WEBPACK_IMPORTED_MODULE_2__.ExternalMessage, _pager_pager_dropdown__WEBPACK_IMPORTED_MODULE_3__.PagerDropDown);\n this.parent = parent;\n this.pageSettings = pageSettings;\n this.addEventListener();\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Page.prototype.getModuleName = function () {\n return 'pager';\n };\n /**\n * The function used to render pager from grid pageSettings\n *\n * @returns {void}\n * @hidden\n */\n Page.prototype.render = function () {\n var gObj = this.parent;\n this.pagerDestroy();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.pagerTemplate)) {\n this.pageSettings.template = this.parent.pagerTemplate;\n this.parent.pageTemplateChange = true;\n }\n this.element = this.parent.createElement('div', { className: 'e-gridpager' });\n var pagerObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.extend)({}, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getActualProperties)(this.pageSettings)), {\n click: this.clickHandler.bind(this),\n dropDownChanged: this.onSelect.bind(this),\n enableRtl: gObj.enableRtl, locale: gObj.locale,\n created: this.addAriaAttr.bind(this)\n }, ['parentObj', 'propName']);\n pagerObj.cssClass = this.parent.cssClass ? this.parent.cssClass : '';\n this.pagerObj = new _pager_pager__WEBPACK_IMPORTED_MODULE_1__.Pager(pagerObj, undefined, this.parent);\n this.pagerObj.root = gObj.root ? gObj.root : gObj;\n this.pagerObj.hasParent = true;\n this.pagerObj.on(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pagerRefresh, this.renderReactPagerTemplate, this);\n this.pagerObj.allowServerDataBinding = false;\n };\n Page.prototype.onSelect = function (e) {\n this.pageSettings.pageSize = e.pageSize;\n if (!this.isInitialLoad) {\n this.pageSettings.currentPage = 1;\n }\n };\n Page.prototype.addAriaAttr = function () {\n if (!(this.pageSettings.template)) {\n var numericContainerNew = this.parent.createElement('div', { className: 'e-numericcontainer' });\n var pagerContainer = this.element.querySelector('.e-pagercontainer');\n var frag = document.createDocumentFragment();\n var numericContainer = this.element.querySelector('.e-numericcontainer');\n var links = numericContainer.querySelectorAll('a');\n for (var i = 0; i < links.length; i++) {\n if (this.parent.getContentTable()) {\n links[parseInt(i.toString(), 10)].setAttribute('aria-owns', this.parent.getContentTable().id + ' ' + (i + 1));\n }\n else {\n links[parseInt(i.toString(), 10)].setAttribute('aria-owns', this.parent.element.getAttribute('id') + '_content_table' + ' ' + (i + 1));\n }\n var numericContainerDiv = this.parent.createElement('div');\n numericContainerDiv.appendChild(links[parseInt(i.toString(), 10)]);\n frag.appendChild(numericContainerDiv);\n }\n numericContainerNew.appendChild(frag);\n pagerContainer.replaceChild(numericContainerNew, numericContainer);\n var classList = ['.e-mfirst', '.e-mprev', '.e-first', '.e-prev', '.e-next', '.e-last', '.e-mnext', '.e-mlast'];\n for (var j = 0; j < classList.length; j++) {\n var element = this.element.querySelector(classList[parseInt(j.toString(), 10)]);\n if (this.parent.getContentTable()) {\n element.setAttribute('aria-owns', this.parent.getContentTable().id + classList[parseInt(j.toString(), 10)].replace('.e-', ' '));\n }\n }\n }\n };\n Page.prototype.dataReady = function (e) {\n this.updateModel(e);\n };\n /**\n * Refreshes the page count, pager information, and external message.\n *\n * @returns {void}\n */\n Page.prototype.refresh = function () {\n this.pagerObj.refresh();\n };\n /**\n * Navigates to the target page according to the given number.\n *\n * @param {number} pageNo - Defines the page number to navigate.\n * @returns {void}\n */\n Page.prototype.goToPage = function (pageNo) {\n this.pagerObj.goToPage(pageNo);\n };\n /**\n * @param {number} pageSize - specifies the page size\n * @returns {void}\n * @hidden\n */\n Page.prototype.setPageSize = function (pageSize) {\n this.pagerObj.setPageSize(pageSize);\n };\n /**\n * The function used to update pageSettings model\n *\n * @param {NotifyArgs} e - specfies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Page.prototype.updateModel = function (e) {\n this.parent.pageSettings.totalRecordsCount = e.count;\n var isAddAction = (e.action === 'add' && e.requestType === 'save') || (e.requestType === 'batchsave');\n if (this.pagerObj.isAllPage && !isAddAction) {\n this.parent.pageSettings.pageSize = this.parent.pageSettings.totalRecordsCount;\n }\n if (isAddAction) {\n if (this.pagerObj.isAllPage && (e.count === this.pageSettings.pageSize)) {\n this.pagerObj.setProperties({ pageSize: e.count }, true);\n }\n }\n this.parent.dataBind();\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Page.prototype.onActionComplete = function (e) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, {\n currentPage: this.parent.pageSettings.currentPage, requestType: 'paging',\n type: _base_constant__WEBPACK_IMPORTED_MODULE_5__.actionComplete\n }));\n };\n /**\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Page.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n var newProp = e.properties;\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n this.pagerObj[\"\" + prop] = newProp[\"\" + prop];\n }\n this.pagerObj.dataBind();\n };\n Page.prototype.clickHandler = function (e) {\n var gObj = this.parent;\n if (this.isForceCancel || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isActionPrevent)(gObj) && !gObj.prevPageMoving && !this.isCancel) {\n if (!this.isForceCancel) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.newProp) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.newProp.pageSize)) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.preventBatch, { instance: this, handler: this.setPageSize, arg1: e.newProp.pageSize });\n this.pagerObj.setProperties({ pageSize: e.oldProp.pageSize }, true);\n this.parent.setProperties({ pageSettings: { pageSize: e.oldProp.pageSize } }, true);\n this.pagerObj.setProperties({\n currentPage: gObj.pageSettings.currentPage === this.pagerObj.currentPage ?\n this.pagerObj.previousPageNo : gObj.pageSettings.currentPage\n }, true);\n }\n else if (e.currentPage) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.preventBatch, { instance: this, handler: this.goToPage, arg1: e.currentPage });\n this.pagerObj.currentPage = gObj.pageSettings.currentPage === this.pagerObj.currentPage ?\n this.pagerObj.previousPageNo : gObj.pageSettings.currentPage;\n }\n this.isForceCancel = true;\n this.pagerObj.dataBind();\n }\n else {\n this.isForceCancel = false;\n }\n e.cancel = true;\n return;\n }\n gObj.pageSettings.pageSize = this.pagerObj.pageSize;\n gObj.prevPageMoving = false;\n var prevPage = this.pageSettings.currentPage;\n var args = {\n cancel: false, requestType: 'paging', previousPage: prevPage,\n currentPage: e.currentPage, pageSize: gObj.pageSettings.pageSize, type: _base_constant__WEBPACK_IMPORTED_MODULE_5__.actionBegin\n };\n if (!this.isCancel) {\n this.pageSettings.currentPage = e.currentPage;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.modelChanged, args);\n gObj.pageRequireRefresh = false;\n }\n if (args.cancel) {\n e.cancel = true;\n this.parent.setProperties({ pageSettings: { currentPage: prevPage } }, true);\n this.pagerObj.setProperties({ currentPage: prevPage }, true);\n this.isCancel = true;\n return;\n }\n this.isCancel = false;\n this.parent.requestTypeAction = 'paging';\n };\n Page.prototype.keyPressHandler = function (e) {\n if (e.action in keyActions) {\n e.preventDefault();\n var element = this.element.querySelector(keyActions[e.action]);\n if (!element.classList.contains('e-nextprevitemdisabled')) {\n element.click();\n }\n }\n };\n /**\n * Defines the text of the external message.\n *\n * @param {string} message - Defines the message to update.\n * @returns {void}\n */\n Page.prototype.updateExternalMessage = function (message) {\n if (!this.pagerObj.enableExternalMessage) {\n this.pagerObj.enableExternalMessage = true;\n this.pagerObj.dataBind();\n }\n this.pagerObj.externalMessage = message;\n this.pagerObj.dataBind();\n };\n Page.prototype.appendToElement = function () {\n this.isInitialLoad = true;\n this.parent.element.appendChild(this.element);\n this.parent.setGridPager(this.element);\n this.pagerObj.isReact = this.parent.isReact;\n this.pagerObj.isVue = this.parent.isVue || (this.parent.parentDetails && this.parent.parentDetails.parentInstObj\n && this.parent.parentDetails.parentInstObj.isVue);\n this.pagerObj.appendTo(this.element);\n this.isInitialLoad = false;\n };\n Page.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.render();\n this.appendToElement();\n if (this.isReactTemplate()) {\n this.pagerObj.updateTotalPages();\n this.created();\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Page.prototype.addEventListener = function () {\n this.handlers = {\n load: this.render,\n end: this.appendToElement,\n ready: this.dataReady,\n complete: this.onActionComplete,\n updateLayout: this.enableAfterRender,\n inboundChange: this.onPropertyChanged,\n keyPress: this.keyPressHandler,\n created: this.created\n };\n if (this.parent.isDestroyed) {\n return;\n }\n if (this.parent.isReact || this.parent.isVue) {\n this.parent.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.create, this.handlers.created.bind(this));\n }\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.initialLoad, handler: this.handlers.load },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.initialEnd, handler: this.handlers.end },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.dataReady, handler: this.handlers.ready },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.pageComplete, handler: this.handlers.complete },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.uiUpdate, handler: this.handlers.updateLayout },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.inBoundModelChanged, handler: this.handlers.inboundChange },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.keyPressed, handler: this.handlers.keyPress },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.destroy, handler: this.destroy }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n };\n Page.prototype.created = function () {\n if (this.isInitialRender && this.isReactTemplate()) {\n this.isInitialRender = false;\n this.renderReactPagerTemplate();\n }\n };\n Page.prototype.isReactTemplate = function () {\n return (this.parent.isReact || this.parent.isVue) && this.pagerObj.template && typeof (this.pagerObj.template) !== 'string';\n };\n Page.prototype.renderReactPagerTemplate = function () {\n if (!this.isInitialRender && this.isReactTemplate()) {\n var result = void 0;\n this.parent.destroyTemplate(['pagerTemplate']);\n this.element.classList.add('e-pagertemplate');\n this.pagerObj.compile(this.pagerObj.template);\n var page = this.parent.pageSettings;\n var data = {\n currentPage: page.currentPage, pageSize: page.pageSize, pageCount: page.pageCount,\n totalRecordsCount: page.totalRecordsCount, totalPages: this.pagerObj.totalPages\n };\n var tempId = this.parent.id + '_pagertemplate';\n if (this.parent.isReact) {\n this.pagerObj.templateFn(data, this.parent, 'pagerTemplate', tempId, null, null, this.pagerObj.element);\n this.parent.renderTemplates();\n }\n else {\n result = this.pagerObj.templateFn(data, this.parent, 'pagerTemplate');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.appendChildren)(this.pagerObj.element, result);\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Page.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n if (this.parent.isReact || this.parent.isVue) {\n this.parent.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.create, this.handlers.created);\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pagerRefresh, this.renderReactPagerTemplate);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n };\n /**\n * To destroy the pager\n *\n * @returns {void}\n * @hidden\n */\n Page.prototype.destroy = function () {\n this.removeEventListener();\n if (this.isReactTemplate()) {\n this.parent.destroyTemplate(['pagerTemplate']);\n }\n this.pagerObj.destroy();\n };\n Page.prototype.pagerDestroy = function () {\n if (this.pagerObj && !this.pagerObj.isDestroyed) {\n this.pagerObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n };\n return Page;\n}());\n\n/**\n * @hidden\n */\nvar keyActions = {\n pageUp: '.e-prev',\n pageDown: '.e-next',\n ctrlAltPageDown: '.e-last',\n ctrlAltPageUp: '.e-first',\n altPageUp: '.e-pp',\n altPageDown: '.e-np'\n};\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/page.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfExport: () => (/* binding */ PdfExport)\n/* harmony export */ });\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-template-element.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-page-number-field.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/composite-field.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-settings.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/page-count-field.js\");\n/* harmony import */ var _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @syncfusion/ej2-pdf-export */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-true-type-font.js\");\n/* harmony import */ var _export_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./export-helper */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.js\");\n/* harmony import */ var _actions_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../actions/data */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js\");\n/* harmony import */ var _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/summary-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `PDF Export` module is used to handle the exportToPDF action.\n *\n * @hidden\n */\nvar PdfExport = /** @class */ (function () {\n /**\n * Constructor for the Grid PDF Export module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function PdfExport(parent) {\n this.hideColumnInclude = false;\n this.currentViewData = false;\n this.customDataSource = false;\n this.isGrouping = false;\n this.headerOnPages = [];\n this.drawPosition = { xPosition: 0, yPosition: 0 };\n this.parent = parent;\n this.helper = new _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper(parent);\n this.gridPool = {};\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n */\n PdfExport.prototype.getModuleName = function () {\n return 'PdfExport';\n };\n PdfExport.prototype.init = function (parent) {\n this.exportValueFormatter = new _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportValueFormatter(parent.locale);\n this.pdfDocument = undefined;\n this.hideColumnInclude = false;\n this.currentViewData = false;\n this.parent = parent;\n this.isGrouping = false;\n this.isExporting = true;\n parent.id = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getUid)('main-grid');\n this.gridPool[parent.id] = false;\n this.pdfPageSettings = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_3__.PdfPageSettings();\n };\n PdfExport.prototype.exportWithData = function (parent, pdfDoc, resolve, returnType, pdfExportProperties, isMultipleExport, reject) {\n var _this = this;\n this.init(parent);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfDoc)) {\n this.pdfDocument = pdfDoc;\n }\n else {\n this.pdfDocument = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_4__.PdfDocument();\n }\n this.processExport(parent, returnType, pdfExportProperties, isMultipleExport).then(function () {\n _this.isExporting = false;\n parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pdfExportComplete, _this.isBlob ? { promise: _this.blobPromise } : { gridInstance: _this.parent });\n _this.parent.log('exporting_complete', _this.getModuleName());\n resolve(_this.pdfDocument);\n }).catch(function (e) {\n reject(_this.pdfDocument);\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionFailure, e);\n });\n };\n /**\n * Used to map the input data\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {PdfExportProperties} pdfExportProperties - specifies the PdfExportProperties\n * @param {boolean} isMultipleExport - specifies the isMultipleExport\n * @param {Object} pdfDoc - specifies the pdfDoc\n * @param {boolean} isBlob - speciies whether it is Blob or not\n * @returns {void}\n */\n PdfExport.prototype.Map = function (parent, pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {\n var _this = this;\n this.data = new _actions_data__WEBPACK_IMPORTED_MODULE_6__.Data(this.parent);\n this.isBlob = isBlob;\n this.gridPool = {};\n var query = pdfExportProperties && pdfExportProperties.query ? pdfExportProperties.query : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.Query();\n if ((parent.childGrid || parent.detailTemplate) && !(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties) && pdfExportProperties.hierarchyExportMode === 'None')) {\n parent.expandedRows = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPrintGridModel)(parent).expandedRows;\n }\n var args = {\n requestType: 'beforePdfExport', cancel: false,\n headerPageNumbers: [], gridDrawPosition: { xPosition: 0, yPosition: 0 }, generateQuery: false\n };\n var gridObject = 'gridObject';\n args[\"\" + gridObject] = parent;\n var can = 'cancel';\n var generateQuery = 'generateQuery';\n var header = 'headerPageNumbers';\n var drawPos = 'gridDrawPosition';\n parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.beforePdfExport, args);\n if (args[\"\" + can] === true) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return new Promise(function (resolve, reject) {\n return resolve();\n });\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isExportColumns)(pdfExportProperties)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.updateColumnTypeForExportColumns)(pdfExportProperties, parent);\n }\n if (args[\"\" + generateQuery]) {\n query = _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper.getQuery(parent, this.data);\n }\n this.headerOnPages = args[\"\" + header];\n this.drawPosition = args[\"\" + drawPos];\n this.parent.log('exporting_begin', this.getModuleName());\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.dataSource)) {\n pdfExportProperties.dataSource = pdfExportProperties.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager ?\n pdfExportProperties.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(pdfExportProperties.dataSource);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(query.isCountRequired) || parent.aggregates) {\n query.isCountRequired = true;\n }\n return new Promise(function (resolve, reject) {\n pdfExportProperties.dataSource.executeQuery(query).then(function (returnType) {\n _this.exportWithData(parent, pdfDoc, resolve, returnType, pdfExportProperties, isMultipleExport, reject);\n });\n });\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties) && pdfExportProperties.exportType === 'CurrentPage' &&\n !(this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length\n && !this.parent.getDataModule().isRemote())) {\n return new Promise(function (resolve, reject) {\n _this.exportWithData(parent, pdfDoc, resolve, _this.parent.getCurrentViewRecords(), pdfExportProperties, isMultipleExport, reject);\n });\n }\n else {\n var allPromise_1 = [];\n var query_1 = _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper.getQuery(parent, this.data);\n if (this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length\n && !this.parent.getDataModule().isRemote()) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties)) {\n pdfExportProperties = { hierarchyExportMode: 'All' };\n }\n pdfExportProperties.hierarchyExportMode = pdfExportProperties.hierarchyExportMode === 'None' ? 'None' : 'All';\n if (pdfExportProperties.hierarchyExportMode === 'All') {\n query_1.lazyLoad = [];\n }\n }\n allPromise_1.push(this.data.getData({}, query_1));\n allPromise_1.push(this.helper.getColumnData(parent));\n return new Promise(function (resolve, reject) {\n Promise.all(allPromise_1).then(function (e) {\n _this.init(parent);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfDoc)) {\n _this.pdfDocument = pdfDoc['document'];\n }\n else {\n _this.pdfDocument = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_4__.PdfDocument();\n }\n _this.processExport(parent, e[0], pdfExportProperties, isMultipleExport, pdfDoc).then(function (results) {\n _this.isExporting = false;\n parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pdfExportComplete, _this.isBlob ? { promise: _this.blobPromise }\n : { gridInstance: _this.parent });\n _this.parent.log('exporting_complete', _this.getModuleName());\n if (pdfExportProperties && pdfExportProperties.multipleExport && pdfExportProperties.multipleExport.type === 'AppendToPage') {\n resolve(results);\n }\n else {\n resolve(_this.pdfDocument);\n }\n }).catch(function (e) {\n reject(_this.pdfDocument);\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.actionFailure, e);\n });\n });\n });\n }\n };\n PdfExport.prototype.processExport = function (gObj, returnType, pdfExportProperties, isMultipleExport, pdfDoc) {\n var _this = this;\n var section = !(pdfDoc && pdfExportProperties && pdfExportProperties.multipleExport &&\n pdfExportProperties.multipleExport.type === 'AppendToPage') ? this.pdfDocument.sections.add() : null;\n var pdfGrid;\n this.processSectionExportProperties(section, pdfExportProperties);\n var pdfPage = pdfDoc && pdfExportProperties && pdfExportProperties.multipleExport &&\n pdfExportProperties.multipleExport.type === 'AppendToPage' ? pdfDoc['result'].page : section.pages.add();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return new Promise(function (resolve, reject) {\n pdfGrid = _this.processGridExport(gObj, returnType, pdfExportProperties);\n _this.globalResolve = resolve;\n _this.gridPool[gObj.id] = true;\n _this.helper.checkAndExport(_this.gridPool, _this.globalResolve);\n }).then(function () {\n // draw the grid\n var xPosition = _this.drawPosition['xPosition'];\n var yPosition;\n if (pdfDoc && pdfExportProperties && pdfExportProperties.multipleExport && pdfExportProperties.multipleExport.type === 'AppendToPage') {\n yPosition = pdfDoc['result'].bounds.y + pdfDoc['result'].bounds.height;\n if (pdfExportProperties.multipleExport.blankSpace) {\n yPosition = pdfDoc['result'].bounds.y + pdfDoc['result'].bounds.height + pdfExportProperties.multipleExport.blankSpace;\n }\n }\n else {\n yPosition = _this.drawPosition['yPosition'];\n }\n var result;\n if (isMultipleExport) {\n var layoutFormat = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_9__.PdfGridLayoutFormat();\n layoutFormat.layout = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_10__.PdfLayoutType.Paginate;\n layoutFormat.break = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_10__.PdfLayoutBreakType.FitPage;\n //Set pagination bounds of PDF grid\n layoutFormat.paginateBounds = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.RectangleF(0, 0, pdfPage.getClientSize().width, pdfPage.getClientSize().height);\n result = pdfGrid.draw(pdfPage, xPosition, yPosition, layoutFormat);\n }\n else {\n result = pdfGrid.draw(pdfPage, xPosition, yPosition);\n }\n _this.drawHeader(pdfExportProperties);\n if (!isMultipleExport) {\n // save the PDF\n if (!_this.isBlob) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties) && pdfExportProperties.fileName) {\n _this.pdfDocument.save(pdfExportProperties.fileName);\n }\n else {\n _this.pdfDocument.save('Export.pdf');\n }\n }\n else {\n _this.blobPromise = _this.pdfDocument.save();\n }\n _this.pdfDocument.destroy();\n delete gObj.expandedRows;\n }\n if (pdfExportProperties && pdfExportProperties.multipleExport && pdfExportProperties.multipleExport.type === 'AppendToPage') {\n return { document: _this.pdfDocument, result: result };\n }\n else {\n return _this.pdfDocument;\n }\n });\n };\n PdfExport.prototype.processSectionExportProperties = function (section, pdfExportProperties) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(section) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties)\n && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.pageOrientation) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.pageSize))) {\n this.pdfPageSettings.orientation = (pdfExportProperties.pageOrientation === 'Landscape') ?\n _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_12__.PdfPageOrientation.Landscape : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_12__.PdfPageOrientation.Portrait;\n this.pdfPageSettings.size = this.getPageSize(pdfExportProperties.pageSize);\n section.setPageSettings(this.pdfPageSettings);\n }\n return section;\n };\n PdfExport.prototype.processGridExport = function (gObj, returnType, pdfExportProperties) {\n var allowHorizontalOverflow = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties)) {\n this.gridTheme = pdfExportProperties.theme;\n allowHorizontalOverflow = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.allowHorizontalOverflow) ?\n true : pdfExportProperties.allowHorizontalOverflow;\n }\n var helper = new _export_helper__WEBPACK_IMPORTED_MODULE_1__.ExportHelper(gObj, this.helper.getForeignKeyData());\n var dataSource = this.processExportProperties(pdfExportProperties, returnType.result);\n var columns = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isExportColumns)(pdfExportProperties) ?\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.prepareColumns)(pdfExportProperties.columns, gObj.enableColumnVirtualization) :\n helper.getGridExportColumns(gObj.columns);\n columns = columns.filter(function (columns) { return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns.commands); });\n var isGrouping = false;\n if (gObj.groupSettings.columns.length) {\n isGrouping = true;\n }\n if ((gObj.childGrid || gObj.detailTemplate) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties)) {\n gObj.hierarchyPrintMode = pdfExportProperties.hierarchyExportMode || 'Expanded';\n }\n // create a grid\n var pdfGrid = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_13__.PdfGrid();\n // get header theme style\n var headerThemeStyle = this.getHeaderThemeStyle();\n var border = headerThemeStyle.border;\n var headerFont = headerThemeStyle.font;\n var headerBrush = headerThemeStyle.brush;\n var returnValue = helper.getHeaders(columns, this.hideColumnInclude);\n // Column collection with respect to the records in the grid\n var gridColumns = returnValue.columns;\n // process grid header content\n pdfGrid = this.processGridHeaders(gObj.groupSettings.columns.length, pdfGrid, returnValue.rows, gridColumns, border, headerFont, headerBrush, gObj, allowHorizontalOverflow, columns);\n // set alignment, width and type of the values of the column\n this.setColumnProperties(gridColumns, pdfGrid, helper, gObj, allowHorizontalOverflow);\n var captionThemeStyle = this.getSummaryCaptionThemeStyle();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource) && dataSource.length) {\n if (isGrouping) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionThemeStyle.border)) {\n border = captionThemeStyle.border;\n }\n this.processGroupedRecords(pdfGrid, dataSource, gridColumns, gObj, border, 0, captionThemeStyle.font, captionThemeStyle.\n brush, captionThemeStyle.backgroundBrush, returnType, pdfExportProperties, helper, 0);\n }\n else {\n this.processRecord(border, gridColumns, gObj, dataSource, pdfGrid, 0, pdfExportProperties, helper, 0);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(returnType.aggregates)) {\n var summaryModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_14__.SummaryModelGenerator(gObj);\n var sRows = void 0;\n var column = summaryModel.getColumns();\n column = column.filter(function (col) { return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.commands) && col.type !== 'checkbox'; });\n if (gObj.aggregates.length && this.parent !== gObj) {\n gObj.aggregateModule.prepareSummaryInfo();\n }\n if (this.customDataSource) {\n sRows = summaryModel.generateRows(dataSource, returnType.aggregates, null, null, column);\n }\n else if (this.currentViewData) {\n sRows = summaryModel.generateRows(this.parent.getCurrentViewRecords(), returnType.aggregates);\n }\n else if (isGrouping) {\n sRows = summaryModel.generateRows(dataSource.records, returnType.aggregates);\n }\n else {\n sRows = summaryModel.generateRows(returnType.result, returnType.aggregates, null, null, column);\n }\n this.processAggregates(sRows, pdfGrid, border, captionThemeStyle.font, captionThemeStyle.brush, captionThemeStyle.backgroundBrush, false, null, null, null, isGrouping ? false : true);\n }\n }\n else {\n var row = pdfGrid.rows.addRow();\n row.style.setBorder(border);\n }\n return pdfGrid;\n };\n PdfExport.prototype.getSummaryCaptionThemeStyle = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.caption)) {\n var fontSize = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.caption.fontSize) ? this.gridTheme.caption.fontSize : 9.75;\n var fontFamily = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.caption.fontName) ?\n this.getFontFamily(this.gridTheme.caption.fontName) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica;\n var fontStyle = this.getFontStyle(this.gridTheme.caption);\n var pdfColor = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(0, 0, 0);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.caption.fontColor)) {\n var penBrushColor = this.hexToRgb(this.gridTheme.caption.fontColor);\n pdfColor = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(penBrushColor.r, penBrushColor.g, penBrushColor.b);\n }\n var borderCaption = this.gridTheme.caption.border ? this.getBorderStyle(this.gridTheme.caption.border) : null;\n var font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily, fontSize, fontStyle);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.caption.font)) {\n font = this.gridTheme.caption.font;\n }\n return { font: font, brush: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(pdfColor), backgroundBrush: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(246, 246, 246)),\n border: borderCaption };\n }\n else {\n //Material theme\n return { font: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica, 9.75), brush: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(0, 0, 0)),\n backgroundBrush: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(246, 246, 246)) };\n }\n };\n PdfExport.prototype.getGridPdfFont = function (args) {\n var fontFamily = 'fontFamily';\n var fontSize = 'fontSize';\n var fontStyle = 'fontStyle';\n var isTrueType = 'isTrueType';\n var style = 0;\n if (args.header && args.header.font) {\n var headerFont = args.header.font[\"\" + fontFamily];\n var headerSize = args.header.font[\"\" + fontSize];\n var headerStyle = args.header.font[\"\" + fontStyle];\n style = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle[\"\" + headerStyle]) ? 0 : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle[\"\" + headerStyle]);\n if (args.header.font[\"\" + isTrueType]) {\n args.header.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_19__.PdfTrueTypeFont(headerFont, headerSize, style);\n }\n else {\n var fontFamily_1 = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(headerFont) ?\n this.getFontFamily(headerFont) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica;\n args.header.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily_1, headerSize, style);\n }\n }\n if (args.caption && args.caption.font) {\n var captionFont = args.caption.font[\"\" + fontFamily];\n var captionSize = args.caption.font[\"\" + fontSize];\n var captionStyle = args.caption.font[\"\" + fontStyle];\n style = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle[\"\" + captionStyle]) ? 0 : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle[\"\" + captionStyle]);\n if (args.caption.font[\"\" + isTrueType]) {\n args.caption.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_19__.PdfTrueTypeFont(captionFont, captionSize, style);\n }\n else {\n var fontFamily_2 = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionFont) ?\n this.getFontFamily(captionFont) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica;\n args.caption.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily_2, captionSize, style);\n }\n }\n if (args.record && args.record.font) {\n var recordFont = args.record.font[\"\" + fontFamily];\n var recordSize = args.record.font[\"\" + fontSize];\n var recordStyle = args.record.font[\"\" + fontStyle];\n style = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle[\"\" + recordStyle]) ? 0 : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle[\"\" + recordStyle]);\n if (args.record.font[\"\" + isTrueType]) {\n args.record.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_19__.PdfTrueTypeFont(recordFont, recordSize, style);\n }\n else {\n var fontFamily_3 = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(recordFont) ?\n this.getFontFamily(recordFont) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica;\n args.record.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily_3, recordSize, style);\n }\n }\n };\n PdfExport.prototype.getHeaderThemeStyle = function () {\n var border = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_20__.PdfBorders();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.header)) {\n var fontFamily = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.header.fontName) ?\n this.getFontFamily(this.gridTheme.header.fontName) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica;\n var fontStyle = this.getFontStyle(this.gridTheme.header);\n var fontSize = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.header.fontSize) ? this.gridTheme.header.fontSize : 10.5;\n var pdfColor = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.header.fontColor)) {\n var penBrushColor = this.hexToRgb(this.gridTheme.header.fontColor);\n pdfColor = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(penBrushColor.r, penBrushColor.g, penBrushColor.b);\n }\n var font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily, fontSize, fontStyle);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.header.font)) {\n font = this.gridTheme.header.font;\n }\n return { border: this.getBorderStyle(this.gridTheme.header.border), font: font, brush: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(pdfColor) };\n }\n else {\n //Material theme\n border.all = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(234, 234, 234));\n return { border: border, font: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica, 10.5),\n brush: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(102, 102, 102)) };\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.processGroupedRecords = function (pdfGrid, dataSource, gridColumns, gObj, border, level, font, brush, backgroundBrush, returnType, pdfExportProperties, helper, index) {\n var _this = this;\n var groupIndex = level;\n var _loop_1 = function (dataSourceItems) {\n var row = pdfGrid.rows.addRow();\n var col = gObj.getColumnByField(dataSourceItems.field);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var args = {\n value: dataSourceItems.key,\n column: col,\n style: undefined,\n isForeignKey: col.isForeignColumn()\n };\n var value = gObj.getColumnByField(dataSourceItems.field).headerText + ': ' + (!col.enableGroupByFormat ? this_1.exportValueFormatter.formatCellValue(args) : dataSourceItems.key) + ' - ' + dataSourceItems.count + (dataSource.count > 1 ? ' items' : ' item');\n var cArgs = { captionText: value, type: 'PDF', data: dataSourceItems, style: undefined };\n this_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.exportGroupCaption, cArgs, function (cArgs) {\n row.cells.getCell(groupIndex).value = cArgs.captionText;\n row.cells.getCell(groupIndex).style.stringFormat = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__.PdfStringFormat(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Left);\n row.style.setBorder(border);\n row.style.setFont(font);\n row.style.setTextBrush(brush);\n row.style.setBackgroundBrush(backgroundBrush);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cArgs.style)) {\n _this.processCellStyle(row.cells.getCell(groupIndex), cArgs);\n }\n var sRows;\n var captionSummaryModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_14__.CaptionSummaryModelGenerator(gObj);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSourceItems.items.records)) {\n sRows = captionSummaryModel.generateRows(dataSourceItems.items.records, dataSourceItems);\n }\n else {\n sRows = captionSummaryModel.generateRows(dataSourceItems.items, dataSourceItems);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(sRows) && sRows.length === 0) {\n row.cells.getCell(groupIndex + 1).columnSpan = pdfGrid.columns.count - (groupIndex + 1);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource.childLevels) && dataSource.childLevels > 0) {\n _this.processAggregates(sRows, pdfGrid, border, font, brush, backgroundBrush, true, row, groupIndex, null, null, gObj);\n _this.processGroupedRecords(pdfGrid, dataSourceItems.items, gridColumns, gObj, border, (groupIndex + 1), font, brush, backgroundBrush, returnType, pdfExportProperties, helper, index);\n index = _this.rowIndex;\n var groupSummaryModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_14__.GroupSummaryModelGenerator(gObj);\n sRows = groupSummaryModel.generateRows(dataSourceItems.items.records, dataSourceItems);\n _this.processAggregates(sRows, pdfGrid, border, font, brush, backgroundBrush, false);\n }\n else {\n _this.processAggregates(sRows, pdfGrid, border, font, brush, backgroundBrush, true, row, groupIndex, null, null, gObj);\n index = _this.processRecord(border, gridColumns, gObj, dataSourceItems.items, pdfGrid, (groupIndex + 1), pdfExportProperties, helper, index);\n var groupSummaryModel = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_14__.GroupSummaryModelGenerator(gObj);\n sRows = groupSummaryModel.generateRows(dataSourceItems.items, dataSourceItems);\n var isGroupedFooter = true;\n _this.processAggregates(sRows, pdfGrid, border, font, brush, backgroundBrush, false, null, null, isGroupedFooter, null, gObj);\n }\n });\n };\n var this_1 = this;\n for (var _i = 0, dataSource_1 = dataSource; _i < dataSource_1.length; _i++) {\n var dataSourceItems = dataSource_1[_i];\n _loop_1(dataSourceItems);\n }\n };\n PdfExport.prototype.processGridHeaders = function (childLevels, pdfGrid, rows, gridColumn, border, headerFont, headerBrush, grid, allowHorizontalOverflow, eCols) {\n var _this = this;\n var columnCount = gridColumn.length + childLevels;\n var depth = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.measureColumnDepth)(eCols);\n var cols = eCols;\n var index = 0;\n var rowNumber = [];\n for (var i = 0; i < rows.length; i++) {\n rowNumber[parseInt(i.toString(), 10)] = 0;\n }\n if (grid.groupSettings.columns.length) {\n index = grid.groupSettings.columns.length - 1;\n columnCount = columnCount - 1;\n }\n pdfGrid.columns.add(columnCount);\n pdfGrid.style.cellPadding = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_20__.PdfPaddings(5.76, 5.76, 0.5, 0.5);\n pdfGrid.headers.add(rows.length);\n var applyTextAndSpan = function (rowIdx, colIdx, col, rowSpan, colSpan) {\n var gridHeader = pdfGrid.headers.getHeader(rowIdx);\n var pdfCell = gridHeader.cells.getCell(colIdx);\n var cell = rows[parseInt(rowIdx.toString(), 10)].cells[grid.groupSettings.columns.length ?\n colIdx : rowNumber[parseInt(rowIdx.toString(), 10)]];\n rowNumber[parseInt(rowIdx.toString(), 10)] = rowNumber[parseInt(rowIdx.toString(), 10)] + 1;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.headerTextAlign)) {\n pdfCell.style.stringFormat = _this.getHorizontalAlignment(col.headerTextAlign);\n }\n if (rowSpan > 0) {\n pdfCell.rowSpan = rowSpan;\n pdfCell.style.stringFormat = _this.getVerticalAlignment('Bottom', pdfCell.style.stringFormat, col.textAlign);\n }\n if (colSpan > 0) {\n pdfCell.columnSpan = colSpan;\n }\n gridHeader.style.setBorder(border);\n gridHeader.style.setFont(headerFont);\n gridHeader.style.setTextBrush(headerBrush);\n pdfCell.value = col.headerText;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell) && (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.HeaderIndent || cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.DetailHeader)) {\n pdfCell.value = '';\n pdfCell.width = 20;\n }\n var args = {\n cell: pdfCell,\n gridCell: cell,\n style: pdfCell.style\n };\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pdfHeaderQueryCellInfo, args);\n var evtArgs = args;\n var setCellBorder = args.style.borders;\n var setCellFont = args.style.font;\n var setHeaderBrush = args.style.textBrush;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(setCellBorder)) {\n gridHeader.style.setBorder(setCellBorder);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(setCellFont)) {\n gridHeader.style.setFont(setCellFont);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(setHeaderBrush)) {\n gridHeader.style.setTextBrush(setHeaderBrush);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(evtArgs.style.verticalAlignment)) {\n pdfCell.style.stringFormat = _this.getVerticalAlignment(evtArgs.style.verticalAlignment, pdfCell.style.stringFormat);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(evtArgs.image)) {\n pdfCell.value = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_25__.PdfBitmap(evtArgs.image.base64);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(evtArgs.hyperLink)) {\n pdfCell.value = _this.setHyperLink(evtArgs);\n }\n };\n var recuHeader = function (cols, depth, spanCnt, colIndex, rowIndex, isRoot) {\n var cidx = 0;\n for (var i = 0; i < cols.length; i++) {\n if (isRoot) {\n cidx = cidx + spanCnt + (i === 0 ? 0 : -1);\n colIndex = cidx;\n spanCnt = 0;\n }\n if (!isRoot && !cols[parseInt(i.toString(), 10)].visible) {\n colIndex = colIndex - 1;\n }\n if (cols[parseInt(i.toString(), 10)].columns && cols[parseInt(i.toString(), 10)].columns.length) {\n var newSpanCnt = recuHeader(cols[parseInt(i.toString(), 10)]\n .columns, depth - 1, 0, i + colIndex, rowIndex + 1, false);\n applyTextAndSpan(rowIndex, i + colIndex + index, cols[parseInt(i.toString(), 10)], 0, newSpanCnt);\n spanCnt = spanCnt + newSpanCnt;\n colIndex = colIndex + newSpanCnt - 1;\n }\n else if (cols[parseInt(i.toString(), 10)].visible || _this.hideColumnInclude) {\n spanCnt++;\n applyTextAndSpan(rowIndex, i + colIndex + index, cols[parseInt(i.toString(), 10)], depth, 0);\n }\n }\n return spanCnt;\n };\n recuHeader(cols, depth, 0, 0, 0, true);\n if (pdfGrid.columns.count >= 6 && allowHorizontalOverflow) {\n pdfGrid.style.allowHorizontalOverflow = true;\n }\n return pdfGrid;\n };\n PdfExport.prototype.processExportProperties = function (pdfExportProperties, dataSource) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.theme)) {\n this.gridTheme = pdfExportProperties.theme;\n }\n var clientSize = this.pdfPageSettings.size;\n this.drawHeader(pdfExportProperties);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.footer)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var footer = pdfExportProperties.footer;\n var position = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.PointF(0, ((clientSize.width - 80) - (footer.fromBottom * 0.75)));\n var size = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF((clientSize.width - 80), (footer.height * 0.75));\n var bounds = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.RectangleF(position, size);\n this.pdfDocument.template.bottom = this.drawPageTemplate(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_26__.PdfPageTemplateElement(bounds), footer);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.includeHiddenColumn) && !this.isGrouping) {\n this.hideColumnInclude = pdfExportProperties.includeHiddenColumn;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.dataSource)) {\n this.customDataSource = true;\n this.currentViewData = false;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.exportType)) {\n if (pdfExportProperties.exportType === 'CurrentPage') {\n dataSource = this.parent.groupSettings && this.parent.groupSettings.enableLazyLoading\n && this.parent.groupSettings.columns.length && !this.parent.getDataModule().isRemote() ? dataSource\n : this.parent.currentViewData;\n this.currentViewData = true;\n this.customDataSource = false;\n }\n else {\n this.currentViewData = false;\n this.customDataSource = false;\n }\n }\n else {\n this.currentViewData = false;\n this.customDataSource = false;\n }\n }\n else {\n this.currentViewData = false;\n this.customDataSource = false;\n }\n return dataSource;\n };\n PdfExport.prototype.drawHeader = function (pdfExportProperties) {\n var _this = this;\n var clientSize = this.pdfPageSettings.size;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties.header)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var header = pdfExportProperties.header;\n var position = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.PointF(0, header.fromTop);\n var size = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF((clientSize.width - 80), (header.height * 0.75));\n var bounds = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.RectangleF(position, size);\n if (!this.headerOnPages.length) {\n this.pdfDocument.template.top = this.drawPageTemplate(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_26__.PdfPageTemplateElement(bounds), header);\n }\n else {\n var headerTemplate_1 = this.drawPageTemplate(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_26__.PdfPageTemplateElement(bounds), header);\n this.headerOnPages.filter(function (index) {\n if (index - 1 >= 0 && index - 1 <= _this.pdfDocument.pages.count - 1) {\n _this.pdfDocument.pages.getPageByIndex(index - 1).graphics\n .drawPdfTemplate(headerTemplate_1.template, new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.PointF(0, 0));\n }\n });\n }\n }\n };\n PdfExport.prototype.drawPageTemplate = function (template, element) {\n for (var _i = 0, _a = element.contents; _i < _a.length; _i++) {\n var content = _a[_i];\n this.processContentValidation(content);\n switch (content.type) {\n case 'Text':\n if (content.value === '' || content.value === undefined || content.value === null || typeof content.value !== 'string') {\n throw new Error('please enter the valid input value in text content...');\n }\n this.drawText(template, content);\n break;\n case 'PageNumber':\n this.drawPageNumber(template, content);\n break;\n case 'Image':\n if (content.src === undefined || content.src === null || content.src === '') {\n throw new Error('please enter the valid base64 string in image content...');\n }\n this.drawImage(template, content);\n break;\n case 'Line':\n this.drawLine(template, content);\n break;\n default:\n throw new Error('Please set valid content type...');\n }\n }\n return template;\n };\n PdfExport.prototype.processContentValidation = function (content) {\n if (content.type === undefined || content.type === null) {\n throw new Error('please set valid content type...');\n }\n else {\n if (content.type === 'Line') {\n if (content.points === undefined || content.points === null) {\n throw new Error('please enter valid points in ' + content.type + ' content...');\n }\n else {\n if (content.points.x1 === undefined || content.points.x1 === null || typeof content.points.x1 !== 'number') {\n throw new Error('please enter valid x1 co-ordinate in ' + content.type + ' points...');\n }\n if (content.points.y1 === undefined || content.points.y1 === null || typeof content.points.y1 !== 'number') {\n throw new Error('please enter valid y1 co-ordinate in ' + content.type + ' points...');\n }\n if (content.points.x2 === undefined || content.points.x2 === null || typeof content.points.x2 !== 'number') {\n throw new Error('please enter valid x2 co-ordinate in ' + content.type + ' points...');\n }\n if (content.points.y2 === undefined || content.points.y2 === null || typeof content.points.y2 !== 'number') {\n throw new Error('please enter valid y2 co-ordinate in ' + content.type + ' points...');\n }\n }\n }\n else {\n if (content.position === undefined || content.position === null) {\n throw new Error('please enter valid position in ' + content.type + ' content...');\n }\n else {\n if (content.position.x === undefined || content.position.x === null || typeof content.position.x !== 'number') {\n throw new Error('please enter valid x co-ordinate in ' + content.type + ' position...');\n }\n if (content.position.y === undefined || content.position.y === null || typeof content.position.y !== 'number') {\n throw new Error('please enter valid y co-ordinate in ' + content.type + ' position...');\n }\n }\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.drawText = function (pageTemplate, content) {\n var font = this.getFont(content);\n var brush = this.getBrushFromContent(content);\n var pen = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.textPenColor)) {\n var penColor = this.hexToRgb(content.style.textPenColor);\n pen = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(penColor.r, penColor.g, penColor.b));\n }\n if (brush == null && pen == null) {\n brush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(0, 0, 0));\n }\n var value = content.value.toString();\n var x = content.position.x * 0.75;\n var y = content.position.y * 0.75;\n var format = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__.PdfStringFormat();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.stringFormat)) {\n format.alignment = content.style.stringFormat.alignment;\n }\n var result = this.setContentFormat(content, format);\n if (result !== null && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result.format) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result.size)) {\n pageTemplate.graphics.drawString(value, font, pen, brush, x, y, result.size.width, result.size.height, result.format);\n }\n else {\n pageTemplate.graphics.drawString(value, font, pen, brush, x, y, format);\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.drawPageNumber = function (documentHeader, content) {\n var font = this.getFont(content);\n var brush = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.textBrushColor)) {\n var brushColor = this.hexToRgb(content.style.textBrushColor);\n brush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(brushColor.r, brushColor.g, brushColor.b));\n }\n else {\n brush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(0, 0, 0));\n }\n var pageNumber = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_27__.PdfPageNumberField(font, brush);\n pageNumber.numberStyle = this.getPageNumberStyle(content.pageNumberType);\n var compositeField;\n var format;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.format)) {\n var total = '$total';\n var current = '$current';\n if (content.format.indexOf(total) !== -1 && content.format.indexOf(current) !== -1) {\n var pageCount = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_28__.PdfPageCountField(font);\n pageCount.numberStyle = this.getPageNumberStyle(content.pageNumberType);\n if (content.format.indexOf(total) > content.format.indexOf(current)) {\n format = content.format.replace(current, '0');\n format = format.replace(total, '1');\n }\n else {\n format = content.format.replace(current, '1');\n format = format.replace(total, '0');\n }\n compositeField = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_29__.PdfCompositeField(font, brush, format, pageNumber, pageCount);\n }\n else if (content.format.indexOf(current) !== -1 && content.format.indexOf(total) === -1) {\n format = content.format.replace(current, '0');\n compositeField = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_29__.PdfCompositeField(font, brush, format, pageNumber);\n }\n else {\n var pageCount = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_28__.PdfPageCountField(font);\n format = content.format.replace(total, '0');\n compositeField = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_29__.PdfCompositeField(font, brush, format, pageCount);\n }\n }\n else {\n format = '{0}';\n compositeField = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_29__.PdfCompositeField(font, brush, format, pageNumber);\n }\n var x = content.position.x * 0.75;\n var y = content.position.y * 0.75;\n var result = this.setContentFormat(content, compositeField.stringFormat);\n if (result !== null && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result.format) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result.size)) {\n compositeField.stringFormat = result.format;\n compositeField.bounds = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.RectangleF(x, y, result.size.width, result.size.height);\n }\n compositeField.draw(documentHeader.graphics, x, y);\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.drawImage = function (documentHeader, content) {\n var x = content.position.x * 0.75;\n var y = content.position.y * 0.75;\n var width = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.size)) ? (content.size.width * 0.75) : undefined;\n var height = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.size)) ? (content.size.height * 0.75) : undefined;\n var image = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_25__.PdfBitmap(content.src);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(width)) {\n documentHeader.graphics.drawImage(image, x, y, width, height);\n }\n else {\n documentHeader.graphics.drawImage(image, x, y);\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.drawLine = function (documentHeader, content) {\n var x1 = content.points.x1 * 0.75;\n var y1 = content.points.y1 * 0.75;\n var x2 = content.points.x2 * 0.75;\n var y2 = content.points.y2 * 0.75;\n var pen = this.getPenFromContent(content);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style) && content.style !== null) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.penSize) && content.style.penSize !== null && typeof content.style.penSize === 'number') {\n pen.width = content.style.penSize * 0.75;\n }\n pen.dashStyle = this.getDashStyle(content.style.dashStyle);\n }\n documentHeader.graphics.drawLine(pen, x1, y1, x2, y2);\n };\n PdfExport.prototype.processAggregates = function (sRows, pdfGrid, border, font, brush, backgroundBrush, isCaption, captionRow, groupIndex, isGroupedFooter, isAggregate, gObj) {\n for (var _i = 0, sRows_1 = sRows; _i < sRows_1.length; _i++) {\n var row = sRows_1[_i];\n var leastCaptionSummaryIndex = -1;\n var index = 0;\n var isEmpty = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = [];\n var aggIdx = isAggregate ? 0 : 1;\n var gridRow = void 0;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionRow)) {\n gridRow = pdfGrid.rows.addRow();\n gridRow.style.setBorder(border);\n gridRow.style.setFont(font);\n gridRow.style.setTextBrush(brush);\n gridRow.style.setBackgroundBrush(backgroundBrush);\n }\n for (var i = 0; i < pdfGrid.columns.count + aggIdx; i++) {\n var cell = row.cells[parseInt(index.toString(), 10)];\n if (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.DetailFooterIntent) {\n i--;\n index++;\n continue;\n }\n if (!this.hideColumnInclude) {\n while (cell.visible === undefined) {\n if (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.DetailFooterIntent) {\n continue;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionRow)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionRow.cells.getCell(i).value)) {\n value.push(captionRow.cells.getCell(i).value);\n isEmpty = false;\n if (!isCaption) {\n i += 1;\n }\n }\n else {\n value.push('');\n }\n }\n else {\n value.push('');\n }\n i += 1;\n index = index + 1;\n cell = row.cells[parseInt(index.toString(), 10)];\n }\n while (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.visible) && !cell.visible) {\n index = index + 1;\n cell = row.cells[parseInt(index.toString(), 10)];\n }\n }\n if (cell.isDataCell) {\n var templateFn = {};\n var footerTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.footerTemplate);\n var groupFooterTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.groupFooterTemplate);\n var groupCaptionTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.groupCaptionTemplate);\n if (footerTemplate || groupCaptionTemplate || groupFooterTemplate) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var result = this.getTemplateFunction(templateFn, i, leastCaptionSummaryIndex, cell);\n templateFn = result.templateFunction;\n leastCaptionSummaryIndex = result.leastCaptionSummaryIndex;\n var txt = void 0;\n var data = row.data[cell.column.field ? cell.column.field : cell.column.columnName];\n if ((this.parent.isReact || this.parent.isVue || this.parent.isVue3 || this.parent.isAngular) &&\n !(typeof cell.column.footerTemplate === 'string' || typeof cell.column.groupFooterTemplate === 'string' || typeof cell.column.groupCaptionTemplate === 'string')) {\n txt = data[(cell.column.type)];\n txt = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(txt) ? txt : '';\n }\n else {\n txt = (templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType, cell.cellType)](data, this.parent));\n txt = this.parent.isVue3 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(txt[1]) ? txt[1].textContent\n : !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(txt[0]) ? txt[0].textContent : '';\n }\n isEmpty = false;\n var args = {\n row: row,\n type: footerTemplate ? 'Footer' : groupFooterTemplate ? 'GroupFooter' : 'GroupCaption',\n style: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(captionRow) ? gridRow.cells : captionRow.cells,\n cell: cell,\n value: txt\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pdfAggregateQueryCellInfo, args);\n value.push(args.value);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var result = this.getSummaryWithoutTemplate(row.data[cell.column.field]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result)) {\n value.push(result);\n }\n }\n }\n else {\n value.push('');\n }\n if (isEmpty && value[parseInt(i.toString(), 10)] !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value[parseInt(i.toString(), 10)]) && value[parseInt(i.toString(), 10)] !== null) {\n isEmpty = false;\n }\n index += 1;\n }\n if (!isAggregate) {\n if (!isCaption) {\n value.splice(0, 1);\n }\n else {\n for (var i = gObj.groupSettings.columns.length; i < value.length - 1; i++) {\n value[parseInt(i.toString(), 10)] = value[i + 1];\n value[i + 1] = value[i + 2] ? value[i + 2] : '';\n }\n }\n }\n if (!isEmpty) {\n if (!isCaption) {\n for (var i = 0; i < pdfGrid.columns.count; i++) {\n gridRow.cells.getCell(i).value = value[parseInt(i.toString(), 10)].toString();\n }\n }\n else {\n for (var i = 0; i < pdfGrid.columns.count; i++) {\n captionRow.cells.getCell(i).value = value[parseInt(i.toString(), 10)].toString();\n if (i === groupIndex && leastCaptionSummaryIndex !== -1 && leastCaptionSummaryIndex !== 1) {\n captionRow.cells.getCell(i).columnSpan = (leastCaptionSummaryIndex - 1) - groupIndex;\n }\n else if (i === groupIndex && leastCaptionSummaryIndex === -1) {\n captionRow.cells.getCell(i).columnSpan = pdfGrid.columns.count - groupIndex;\n }\n }\n }\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.getTemplateFunction = function (templateFn, index, leastCaptionSummaryIndex, cell) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.footerTemplate) && cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.Summary) {\n templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType, _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.Summary)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(cell.column.footerTemplate);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.groupCaptionTemplate)) {\n if (leastCaptionSummaryIndex === -1) {\n leastCaptionSummaryIndex = index;\n }\n templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType, _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.CaptionSummary)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(cell.column.groupCaptionTemplate);\n }\n else {\n templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType, _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.GroupSummary)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(cell.column.groupFooterTemplate);\n }\n return { templateFunction: templateFn, leastCaptionSummaryIndex: leastCaptionSummaryIndex };\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.getSummaryWithoutTemplate = function (data) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.Sum)) {\n return data.Sum;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.Average)) {\n return data.Average;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.Max)) {\n return data.Max;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.Min)) {\n return data.Min;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.Count)) {\n return data.Count;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.TrueCount)) {\n return data.TrueCount;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.FalseCount)) {\n return data.FalseCount;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.Custom)) {\n return data.Custom;\n }\n };\n /**\n * Set alignment, width and type of the values of the column\n *\n * @param {Column[]} gridColumns - specifies the grid column\n * @param {PdfGrid} pdfGrid - specifies the pdfGrid\n * @param {ExportHelper} helper - specifies the helper\n * @param {IGrid} gObj - specifies the IGrid\n * @param {boolean} allowHorizontalOverflow - specifies the allowHorizontalOverflow\n * @returns {void}\n */\n PdfExport.prototype.setColumnProperties = function (gridColumns, pdfGrid, helper, gObj, allowHorizontalOverflow) {\n var startIndex = gObj.groupSettings.columns.length ? gObj.groupSettings.columns.length - 1 : 0;\n for (var i = 0; i < startIndex; i++) {\n pdfGrid.columns.getColumn(i).width = 20;\n }\n for (var i = 0; i < gridColumns.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridColumns[parseInt(i.toString(), 10)].textAlign)) {\n pdfGrid.columns.getColumn(i + startIndex).format = this\n .getHorizontalAlignment(gridColumns[parseInt(i.toString(), 10)].textAlign);\n }\n // Need to add width consideration with % value\n if (pdfGrid.style.allowHorizontalOverflow && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridColumns[parseInt(i.toString(), 10)].width)\n && allowHorizontalOverflow) {\n pdfGrid.columns.getColumn(i + startIndex).width = typeof gridColumns[parseInt(i.toString(), 10)].width === 'number' ?\n gridColumns[parseInt(i.toString(), 10)].width * 0.75 :\n helper.getConvertedWidth(gridColumns[parseInt(i.toString(), 10)].width) * 0.75;\n }\n }\n };\n /**\n * set default style properties of each rows in exporting grid\n *\n * @param {PdfGridRow} row - specifies the PdfGridRow\n * @param {PdfBorders} border - specifies the PdfBorders\n * @returns {PdfGrid} returns the pdfgrid\n * @private\n */\n PdfExport.prototype.setRecordThemeStyle = function (row, border) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.record)) {\n var fontFamily = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.record.fontName) ?\n this.getFontFamily(this.gridTheme.record.fontName) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica;\n var fontSize = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.record.fontSize) ? this.gridTheme.record.fontSize : 9.75;\n var fontStyle = this.getFontStyle(this.gridTheme.record);\n var font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily, fontSize, fontStyle);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.record.font)) {\n font = this.gridTheme.record.font;\n }\n row.style.setFont(font);\n var pdfColor = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.gridTheme.record.fontColor)) {\n var penBrushColor = this.hexToRgb(this.gridTheme.record.fontColor);\n pdfColor = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(penBrushColor.r, penBrushColor.g, penBrushColor.b);\n }\n row.style.setTextBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(pdfColor));\n }\n else {\n row.style.setTextBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(0, 0, 0)));\n }\n var borderRecord = this.gridTheme && this.gridTheme.record &&\n this.gridTheme.record.border ? this.getBorderStyle(this.gridTheme.record.border) : border;\n row.style.setBorder(borderRecord);\n return row;\n };\n /**\n * generate the formatted cell values\n *\n * @param {PdfBorders} border - specifies the border\n * @param {Column[]} columns - specifies the columns\n * @param {IGrid} gObj - specifies the IGrid\n * @param {Object[]} dataSource - specifies the datasource\n * @param {PdfGrid} pdfGrid - specifies the pdfGrid\n * @param {number} startIndex - specifies the startindex\n * @param {PdfExportProperties} pdfExportProperties - specifies the pdfExportProperties\n * @param {ExportHelper} helper - specifies the helper\n * @param {number} rowIndex - specifies the rowIndex\n * @returns {number} returns the number of records\n * @private\n */\n PdfExport.prototype.processRecord = function (border, columns, gObj, dataSource, pdfGrid, startIndex, pdfExportProperties, helper, rowIndex) {\n var rows = helper.getGridRowModel(columns, dataSource, gObj, rowIndex);\n for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {\n var row = rows_1[_i];\n rowIndex++;\n this.rowIndex = rowIndex;\n // create a new row and set default style properties\n var gridRow = this.setRecordThemeStyle(pdfGrid.rows.addRow(), border);\n var cellLength = row.cells.length;\n for (var j = 0; j < cellLength; j++) {\n var gridCell = row.cells[parseInt(j.toString(), 10)];\n if (gridCell.cellType !== _base_enum__WEBPACK_IMPORTED_MODULE_24__.CellType.Data) {\n continue;\n }\n var column = gridCell.column;\n var field = column.field;\n var cellValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(field) ? column.valueAccessor(field, row.data, column) : '';\n var value = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellValue) ? cellValue : '';\n var foreignKeyData = void 0;\n if (column.isForeignColumn && column.isForeignColumn()) {\n foreignKeyData = helper.getFData(value, column);\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.foreignKeyValue, foreignKeyData);\n }\n var data = row.data;\n var cell = gridRow.cells.getCell(j);\n var args = {\n data: data,\n value: value,\n column: column,\n style: undefined,\n colSpan: 1,\n cell: cell\n };\n args.value = args.column.type === 'boolean' && typeof args.value === 'string' ? args.value :\n this.exportValueFormatter.formatCellValue(args);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.pdfQueryCellInfo, args);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.image)) {\n args.value = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_25__.PdfBitmap(args.image.base64);\n args.value.height = args.image.height || args.value.height;\n args.value.width = args.image.width || args.value.width;\n }\n cell.value = args.value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.hyperLink)) {\n cell.value = this.setHyperLink(args);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style)) {\n this.processCellStyle(cell, args);\n }\n if (args.colSpan > 1) {\n if ((j + 1 + args.colSpan) > gridRow.cells.count) {\n args.colSpan = gridRow.cells.count - (j + 1);\n }\n cell.columnSpan = args.colSpan;\n for (var i = 1; i < cell.columnSpan; i++) {\n var spanCell = gridRow.cells.getCell(j + i);\n spanCell.value = '';\n }\n j += (args.colSpan - 1);\n }\n }\n if (row.isExpand) {\n var gridRow_1 = this.setRecordThemeStyle(pdfGrid.rows.addRow(), border);\n var startIndexVal = (this.parent.childGrid || this.parent.detailTemplate) ? 0 : startIndex;\n var cell = gridRow_1.cells.getCell(startIndexVal);\n cell.columnSpan = gridRow_1.cells.count - (startIndexVal);\n cell.style.cellPadding = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_20__.PdfPaddings(10, 10, 10, 10);\n if (this.parent.childGrid) {\n gObj.isPrinting = true;\n var exportType = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pdfExportProperties) && pdfExportProperties.exportType) ?\n pdfExportProperties.exportType : 'AllPages';\n var returnValue = this.helper.createChildGrid(gObj, row, exportType, this.gridPool);\n var childGridObj = returnValue.childGrid;\n var element = returnValue.element;\n childGridObj.actionFailure =\n helper.failureHandler(this.gridPool, childGridObj, this.globalResolve);\n var childExportProperties = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(pdfExportProperties, {\n columns: null,\n dataSource: null,\n query: null\n });\n var args = {\n childGrid: childGridObj, row: row, cell: cell, exportProperties: childExportProperties\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.exportDetailDataBound, args);\n childGridObj.beforeDataBound = this.childGridCell(cell, childGridObj, childExportProperties);\n childGridObj.appendTo(element);\n }\n else if (this.parent.detailTemplate) {\n var args = { parentRow: row, row: gridRow_1, value: {}, action: 'pdfexport', gridInstance: gObj };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_5__.exportDetailTemplate, args);\n cell.value = this.processDetailTemplate(args);\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.exportRowDataBound, { type: 'pdf', rowObj: row });\n }\n return rowIndex;\n };\n PdfExport.prototype.processDetailTemplate = function (templateData) {\n var _this = this;\n if (templateData.value.columnHeader || templateData.value.rows) {\n // create a grid\n var pdfGrid = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_13__.PdfGrid();\n // get header theme style\n var headerThemeStyle = this.getHeaderThemeStyle();\n var border_1 = headerThemeStyle.border;\n var headerFont_1 = headerThemeStyle.font;\n var headerBrush_1 = headerThemeStyle.brush;\n var processRow = function (row, gridRow, isHeader) {\n if (isHeader) {\n gridRow.style.setBorder(border_1);\n gridRow.style.setFont(headerFont_1);\n gridRow.style.setTextBrush(headerBrush_1);\n }\n for (var j = 0; j < row.cells.length; j++) {\n var currentCell = row.cells[parseInt(j.toString(), 10)];\n var pdfCell = gridRow.cells.getCell(currentCell.index ? currentCell.index : j);\n if (currentCell.rowSpan > 0) {\n pdfCell.rowSpan = currentCell.rowSpan;\n }\n if (currentCell.colSpan > 0) {\n pdfCell.columnSpan = currentCell.colSpan;\n }\n pdfCell.value = currentCell.value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.image)) {\n pdfCell.value = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_25__.PdfBitmap(currentCell.image.base64);\n pdfCell.value.height = currentCell.image.height;\n pdfCell.value.width = currentCell.image.width;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.hyperLink)) {\n pdfCell.value = _this.setHyperLink(currentCell);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(currentCell.style)) {\n var cellStyle = {\n style: {\n backgroundColor: currentCell.style.backColor,\n textAlignment: currentCell.style.pdfTextAlignment,\n verticalAlignment: currentCell.style.pdfVerticalAlignment,\n textBrushColor: currentCell.style.fontColor,\n textPenColor: currentCell.style.pdfTextPenColor,\n fontFamily: currentCell.style.pdfFontFamily,\n fontSize: currentCell.style.fontSize,\n bold: currentCell.style.bold,\n italic: currentCell.style.italic,\n underline: currentCell.style.underline,\n strikeout: currentCell.style.strikeThrough,\n border: currentCell.style.pdfBorder,\n paragraphIndent: currentCell.style.pdfParagraphIndent,\n cellPadding: currentCell.style.pdfCellPadding\n }\n };\n _this.processCellStyle(pdfCell, cellStyle);\n }\n }\n };\n if (templateData.value.columnCount) {\n pdfGrid.columns.add(templateData.value.columnCount);\n }\n else {\n if (templateData.value.columnHeader && templateData.value.columnHeader.length) {\n pdfGrid.columns.add(templateData.value.columnHeader[0].cells.length);\n }\n else if (templateData.value.rows && templateData.value.rows.length) {\n pdfGrid.columns.add(templateData.value.rows[0].cells.length);\n }\n }\n if (templateData.value.columnHeader) {\n pdfGrid.headers.add(templateData.value.columnHeader.length);\n for (var i = 0; i < templateData.value.columnHeader.length; i++) {\n var gridHeader = pdfGrid.headers.getHeader(parseInt(i.toString(), 10));\n processRow(templateData.value.columnHeader[parseInt(i.toString(), 10)], gridHeader, true);\n }\n }\n if (templateData.value.rows) {\n for (var _i = 0, _a = templateData.value.rows; _i < _a.length; _i++) {\n var row = _a[_i];\n // create a new row and set default style properties\n var gridRow = this.setRecordThemeStyle(pdfGrid.rows.addRow(), border_1);\n processRow(row, gridRow, false);\n }\n }\n return pdfGrid;\n }\n else if (templateData.value.image) {\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_25__.PdfBitmap(templateData.value.image.base64);\n }\n else if (templateData.value.text) {\n return templateData.value.text;\n }\n else if (templateData.value.hyperLink) {\n return this.setHyperLink(templateData.value);\n }\n return '';\n };\n PdfExport.prototype.setHyperLink = function (args) {\n // create the Text Web Link\n var textLink = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_30__.PdfTextWebLink();\n // set the hyperlink\n textLink.url = args.hyperLink.target;\n // set the link text\n textLink.text = args.hyperLink.displayText || args.hyperLink.target;\n // set the font\n textLink.font = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.Helvetica, 9.75);\n // set the brush and pen for the text color\n textLink.brush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(51, 102, 187));\n return textLink;\n };\n PdfExport.prototype.childGridCell = function (cell, childGridObj, pdfExportProperties) {\n var _this = this;\n return function (result) {\n childGridObj.beforeDataBound = null;\n result.cancel = true;\n cell.value = _this.processGridExport(childGridObj, result, pdfExportProperties);\n childGridObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(childGridObj.element);\n _this.gridPool[childGridObj.id] = true;\n _this.helper.checkAndExport(_this.gridPool, _this.globalResolve);\n return cell;\n };\n };\n PdfExport.prototype.processCellStyle = function (cell, args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.backgroundColor)) {\n var backColor = this.hexToRgb(args.style.backgroundColor);\n cell.style.backgroundBrush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(backColor.r, backColor.g, backColor.b));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.textAlignment)) {\n cell.style.stringFormat = this.getHorizontalAlignment(args.style.textAlignment);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.cellPadding)) {\n cell.style.cellPadding = args.style.cellPadding;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.verticalAlignment)) {\n cell.style.stringFormat = this.getVerticalAlignment(args.style.verticalAlignment, cell.style.stringFormat);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.textBrushColor)) {\n var textBrushColor = this.hexToRgb(args.style.textBrushColor);\n cell.style.textBrush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(textBrushColor.r, textBrushColor.g, textBrushColor.b));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.textPenColor)) {\n var textPenColor = this.hexToRgb(args.style.textPenColor);\n cell.style.textPen = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(textPenColor.r, textPenColor.g, textPenColor.b));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.fontFamily) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.fontSize) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.bold) ||\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.italic) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.underline) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.strikeout)) {\n cell.style.font = this.getFont(args);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.border)) {\n var border = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_20__.PdfBorders();\n var borderWidth = args.style.border.width;\n // set border width\n var width = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(borderWidth) && typeof borderWidth === 'number') ? (borderWidth * 0.75) : (undefined);\n // set border color\n var color = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(196, 196, 196);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.border.color)) {\n var borderColor = this.hexToRgb(args.style.border.color);\n color = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(borderColor.r, borderColor.g, borderColor.b);\n }\n var pen = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(color, width);\n // set border dashStyle 'Solid , Dash, Dot, DashDot, DashDotDot'\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.border.dashStyle)) {\n pen.dashStyle = this.getDashStyle(args.style.border.dashStyle);\n }\n border.all = pen;\n cell.style.borders = border;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.style.paragraphIndent)) {\n cell.style.stringFormat = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__.PdfStringFormat();\n cell.style.stringFormat.paragraphIndent = args.style.paragraphIndent;\n }\n };\n /**\n * set text alignment of each columns in exporting grid\n *\n * @param {string} textAlign - specifies the textAlign\n * @param {PdfStringFormat} format - specifies the PdfStringFormat\n * @returns {PdfStringFormat} returns the PdfStringFormat\n * @private\n */\n PdfExport.prototype.getHorizontalAlignment = function (textAlign, format) {\n if (format === undefined) {\n format = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__.PdfStringFormat();\n }\n switch (textAlign) {\n case 'Right':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Right;\n break;\n case 'Center':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Center;\n break;\n case 'Justify':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Justify;\n break;\n case 'Left':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Left;\n break;\n }\n return format;\n };\n /**\n * set vertical alignment of each columns in exporting grid\n *\n * @param {string} verticalAlign - specifies the verticalAlign\n * @param {PdfStringFormat} format - specifies the PdfStringFormat\n * @param {string} textAlign - specifies the text align\n * @returns {PdfStringFormat} returns the PdfStringFormat\n * @private\n */\n PdfExport.prototype.getVerticalAlignment = function (verticalAlign, format, textAlign) {\n if (format === undefined) {\n format = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__.PdfStringFormat();\n format = this.getHorizontalAlignment(textAlign, format);\n }\n switch (verticalAlign) {\n case 'Bottom':\n format.lineAlignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfVerticalAlignment.Bottom;\n break;\n case 'Middle':\n format.lineAlignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfVerticalAlignment.Middle;\n break;\n case 'Top':\n format.lineAlignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfVerticalAlignment.Top;\n break;\n }\n return format;\n };\n PdfExport.prototype.getFontFamily = function (fontFamily) {\n switch (fontFamily) {\n case 'TimesRoman':\n return 2;\n case 'Courier':\n return 1;\n case 'Symbol':\n return 3;\n case 'ZapfDingbats':\n return 4;\n default:\n return 0;\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PdfExport.prototype.getFont = function (content) {\n if (content.font) {\n return content.font;\n }\n var fontSize = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.fontSize)) ? (content.style.fontSize * 0.75) : 9.75;\n var fontFamily = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.fontFamily)) ?\n (this.getFontFamily(content.style.fontFamily)) : _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontFamily.TimesRoman;\n var fontStyle = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Regular;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.bold) && content.style.bold) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Bold;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.italic) && content.style.italic) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Italic;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.underline) && content.style.underline) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Underline;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.strikeout) && content.style.strikeout) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Strikeout;\n }\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_17__.PdfStandardFont(fontFamily, fontSize, fontStyle);\n };\n PdfExport.prototype.getPageNumberStyle = function (pageNumberType) {\n switch (pageNumberType) {\n case 'LowerLatin':\n return 2;\n case 'LowerRoman':\n return 3;\n case 'UpperLatin':\n return 4;\n case 'UpperRoman':\n return 5;\n default:\n return 1;\n }\n };\n PdfExport.prototype.setContentFormat = function (content, format) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.size)) {\n var width = content.size.width * 0.75;\n var height = content.size.height * 0.75;\n format = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_22__.PdfStringFormat(_syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Left, _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfVerticalAlignment.Middle);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.hAlign)) {\n switch (content.style.hAlign) {\n case 'Right':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Right;\n break;\n case 'Center':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Center;\n break;\n case 'Justify':\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Justify;\n break;\n default:\n format.alignment = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_23__.PdfTextAlignment.Left;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.vAlign)) {\n format = this.getVerticalAlignment(content.style.vAlign, format);\n }\n return { format: format, size: new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(width, height) };\n }\n return null;\n };\n PdfExport.prototype.getPageSize = function (pageSize) {\n switch (pageSize) {\n case 'Letter':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(612, 792);\n case 'Note':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(540, 720);\n case 'Legal':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(612, 1008);\n case 'A0':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(2380, 3368);\n case 'A1':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1684, 2380);\n case 'A2':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1190, 1684);\n case 'A3':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(842, 1190);\n case 'A5':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(421, 595);\n case 'A6':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(297, 421);\n case 'A7':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(210, 297);\n case 'A8':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(148, 210);\n case 'A9':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(105, 148);\n // case 'A10':\n // return new SizeF(74, 105);\n case 'B0':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(2836, 4008);\n case 'B1':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(2004, 2836);\n case 'B2':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1418, 2004);\n case 'B3':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1002, 1418);\n case 'B4':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(709, 1002);\n case 'B5':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(501, 709);\n case 'Archa':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(648, 864);\n case 'Archb':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(864, 1296);\n case 'Archc':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1296, 1728);\n case 'Archd':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1728, 2592);\n case 'Arche':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(2592, 3456);\n case 'Flsa':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(612, 936);\n case 'HalfLetter':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(396, 612);\n case 'Letter11x17':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(792, 1224);\n case 'Ledger':\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(1224, 792);\n default:\n return new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_11__.SizeF(595, 842);\n }\n };\n PdfExport.prototype.getDashStyle = function (dashStyle) {\n switch (dashStyle) {\n case 'Dash':\n return 1;\n case 'Dot':\n return 2;\n case 'DashDot':\n return 3;\n case 'DashDotDot':\n return 4;\n default:\n return 0;\n }\n };\n PdfExport.prototype.getPenFromContent = function (content) {\n var pen = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(0, 0, 0));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style) && content.style !== null && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.penColor)) {\n var penColor = this.hexToRgb(content.style.penColor);\n pen = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(penColor.r, penColor.g, penColor.b));\n }\n return pen;\n };\n PdfExport.prototype.getBrushFromContent = function (content) {\n var brush = null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content.style.textBrushColor)) {\n /* tslint:disable-next-line:max-line-length */\n var brushColor = this.hexToRgb(content.style.textBrushColor);\n brush = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_18__.PdfSolidBrush(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(brushColor.r, brushColor.g, brushColor.b));\n }\n return brush;\n };\n PdfExport.prototype.hexToRgb = function (hex) {\n if (hex === null || hex === '' || hex.length !== 7) {\n throw new Error('please set valid hex value for color...');\n }\n hex = hex.substring(1);\n var bigint = parseInt(hex, 16);\n var r = (bigint >> 16) & 255;\n var g = (bigint >> 8) & 255;\n var b = bigint & 255;\n return { r: r, g: g, b: b };\n };\n PdfExport.prototype.getFontStyle = function (theme) {\n var fontStyle = _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Regular;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && theme.bold) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Bold;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && theme.italic) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Italic;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && theme.underline) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Underline;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(theme) && theme.strikeout) {\n fontStyle |= _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_15__.PdfFontStyle.Strikeout;\n }\n return fontStyle;\n };\n PdfExport.prototype.getBorderStyle = function (border) {\n var borders = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_20__.PdfBorders();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(border)) {\n var borderWidth = border.width;\n // set border width\n var width = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(borderWidth) && typeof borderWidth === 'number') ? borderWidth * 0.75 : undefined;\n // set border color\n var color = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(196, 196, 196);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(border.color)) {\n var borderColor = this.hexToRgb(border.color);\n color = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(borderColor.r, borderColor.g, borderColor.b);\n }\n var pen = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(color, width);\n // set border dashStyle 'Solid , Dash, Dot, DashDot, DashDotDot'\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(border.dashStyle)) {\n pen.dashStyle = this.getDashStyle(border.dashStyle);\n }\n borders.all = pen;\n }\n else {\n borders.all = new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_21__.PdfPen(new _syncfusion_ej2_pdf_export__WEBPACK_IMPORTED_MODULE_16__.PdfColor(234, 234, 234));\n }\n return borders;\n };\n PdfExport.prototype.destroy = function () {\n //destroy for exporting\n };\n return PdfExport;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/print.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/print.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Print: () => (/* binding */ Print),\n/* harmony export */ getCloneProperties: () => (/* binding */ getCloneProperties)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_grid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/grid */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/grid.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n/**\n * @returns {string[]} returns the cloned property\n * @hidden\n */\nfunction getCloneProperties() {\n return ['aggregates', 'allowGrouping', 'allowFiltering', 'allowMultiSorting', 'allowReordering', 'allowSorting',\n 'allowTextWrap', 'childGrid', 'columns', 'currentViewData', 'dataSource', 'detailTemplate', 'enableAltRow',\n 'enableColumnVirtualization', 'filterSettings', 'gridLines',\n 'groupSettings', 'height', 'locale', 'pageSettings', 'printMode', 'query', 'queryString', 'enableRtl',\n 'rowHeight', 'rowTemplate', 'sortSettings', 'textWrapSettings', 'allowPaging', 'hierarchyPrintMode', 'searchSettings',\n 'queryCellInfo', 'beforeDataBound', 'enableHtmlSanitizer'];\n}\n/**\n *\n * The `Print` module is used to handle print action.\n */\nvar Print = /** @class */ (function () {\n /**\n * Constructor for the Grid print module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {Scroll} scrollModule - specifies the scroll module\n * @hidden\n */\n function Print(parent, scrollModule) {\n this.isAsyncPrint = false;\n this.defered = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Deferred();\n this.parent = parent;\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, this.isContentReady(), this);\n this.actionBeginFunction = this.actionBegin.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, this.actionBeginFunction);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.onEmpty, this.onEmpty.bind(this));\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.hierarchyPrint, this.hierarchyPrint, this);\n this.scrollModule = scrollModule;\n }\n Print.prototype.isContentReady = function () {\n var _this = this;\n if (this.isPrintGrid() && (this.parent.hierarchyPrintMode === 'None' || !this.parent.childGrid)) {\n return this.contentReady;\n }\n return function () {\n _this.defered.promise.then(function () {\n _this.contentReady();\n });\n if (_this.isPrintGrid()) {\n _this.hierarchyPrint();\n }\n };\n };\n Print.prototype.hierarchyPrint = function () {\n this.removeColGroup(this.parent);\n var printGridObj = window.printGridObj;\n if (printGridObj && !printGridObj.element.querySelector('[aria-busy=true')) {\n printGridObj.printModule.defered.resolve();\n }\n };\n /**\n * By default, prints all the Grid pages and hides the pager.\n * > You can customize print options using the\n * [`printMode`](./printmode/).\n *\n * @returns {void}\n */\n Print.prototype.print = function () {\n this.renderPrintGrid();\n };\n Print.prototype.onEmpty = function () {\n if (this.isPrintGrid()) {\n this.contentReady();\n }\n };\n Print.prototype.actionBegin = function () {\n if (this.isPrintGrid()) {\n this.isAsyncPrint = true;\n }\n };\n Print.prototype.renderPrintGrid = function () {\n var gObj = this.parent;\n var element = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n id: this.parent.element.id + '_print', className: gObj.element.className + ' e-print-grid'\n });\n element.classList.remove('e-gridhover');\n document.body.appendChild(element);\n var printGrid = new _base_grid__WEBPACK_IMPORTED_MODULE_3__.Grid((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getPrintGridModel)(gObj, gObj.hierarchyPrintMode));\n for (var i = 0; i < printGrid.columns.length; i++) {\n printGrid.columns[parseInt(i.toString(), 10)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, printGrid.columns[parseInt(i.toString(), 10)]);\n if (!gObj.getFrozenColumns() && gObj.isFrozenGrid()) {\n printGrid.columns[parseInt(i.toString(), 10)].freeze = undefined;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.parent.isAngular) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n printGrid.viewContainerRef = this.parent.viewContainerRef;\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n printGrid.load = function () { };\n printGrid.query = gObj.getQuery().clone();\n window.printGridObj = printGrid;\n printGrid.isPrinting = true;\n var modules = printGrid.getInjectedModules();\n var injectedModues = gObj.getInjectedModules();\n if (!modules || modules.length !== injectedModues.length) {\n printGrid.setInjectedModules(injectedModues);\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.printGridInit, { element: element, printgrid: printGrid });\n this.parent.log('exporting_begin', this.getModuleName());\n printGrid.registeredTemplate = this.parent.registeredTemplate;\n printGrid.isVue = this.parent.isVue;\n if (this.parent.isVue) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n printGrid.vueInstance = this.parent.vueInstance;\n }\n printGrid.printGridParent = gObj;\n printGrid.appendTo(element);\n if (!gObj.isVue3) {\n printGrid.trigger = gObj.trigger;\n }\n };\n Print.prototype.contentReady = function () {\n var _this = this;\n if (this.isPrintGrid()) {\n var gObj = this.parent;\n if (this.isAsyncPrint) {\n this.printGrid();\n return;\n }\n var args = {\n requestType: 'print',\n element: gObj.element,\n selectedRows: gObj.getContentTable().querySelectorAll('tr[aria-selected=\"true\"]'),\n cancel: false,\n hierarchyPrintMode: gObj.hierarchyPrintMode\n };\n if (!this.isAsyncPrint) {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.beforePrint, args);\n }\n if (args.cancel) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(gObj.element);\n return;\n }\n if (!this.isAsyncPrint) {\n if (this.parent.printGridParent && this.parent.printGridParent.isReact) {\n this.parent.printGridParent.renderTemplates(function () {\n _this.printGrid();\n });\n }\n else {\n this.printGrid();\n }\n }\n }\n };\n Print.prototype.printGrid = function () {\n var gObj = this.parent;\n // Height adjustment on print grid\n if (gObj.height !== 'auto') { // if scroller enabled\n var cssProps = this.scrollModule.getCssProperties();\n var contentDiv = gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.content);\n var headerDiv = gObj.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.gridHeader);\n contentDiv.style.height = 'auto';\n contentDiv.style.overflowY = 'auto';\n headerDiv.style[cssProps.padding] = '';\n headerDiv.firstElementChild.style[cssProps.border] = '';\n }\n // Grid alignment adjustment on grouping\n if (gObj.allowGrouping) {\n if (!gObj.groupSettings.columns.length) {\n gObj.element.querySelector('.e-groupdroparea').style.display = 'none';\n }\n else {\n this.removeColGroup(gObj);\n }\n }\n // hide horizontal scroll\n for (var _i = 0, _a = [].slice.call(gObj.element.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.content)); _i < _a.length; _i++) {\n var element = _a[_i];\n element.style.overflowX = 'hidden';\n }\n // Hide the waiting popup\n var waitingPop = [].slice.call(gObj.element.getElementsByClassName('e-spin-show'));\n for (var _b = 0, _c = [].slice.call(waitingPop); _b < _c.length; _b++) {\n var element = _c[_b];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(element, ['e-spin-hide'], ['e-spin-show']);\n }\n this.printGridElement(gObj);\n gObj.isPrinting = false;\n delete window.printGridObj;\n var args = {\n element: gObj.element\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.printComplete, args);\n gObj.destroy();\n this.parent.log('exporting_complete', this.getModuleName());\n };\n Print.prototype.printGridElement = function (gObj) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(gObj.element, ['e-print-grid-layout'], ['e-print-grid']);\n if (gObj.isPrinting) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(gObj.element);\n }\n this.printWind = window.open('', 'print', 'height=' + window.outerHeight + ',width=' + window.outerWidth + ',tabbar=no');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.printWind)) {\n this.printWind.moveTo(0, 0);\n this.printWind.resizeTo(screen.availWidth, screen.availHeight);\n this.printWind = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.print)(gObj.element, this.printWind);\n }\n };\n Print.prototype.removeColGroup = function (gObj) {\n var depth = gObj.groupSettings.columns.length;\n var element = gObj.element;\n var id = '#' + gObj.element.id;\n if (!depth) {\n return;\n }\n var groupCaption = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-groupcaption', element);\n var colSpan = gObj.groupSettings.enableLazyLoading ? (parseInt(groupCaption[0].getAttribute('colspan'), 10) -\n (gObj.groupSettings.columns.length - 1)).toString() : groupCaption[depth - 1].getAttribute('colspan');\n for (var i = 0; i < groupCaption.length; i++) {\n groupCaption[parseInt(i.toString(), 10)].setAttribute('colspan', colSpan);\n }\n var colGroups = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(\"colgroup\" + id + \"colgroup\", element);\n var contentColGroups = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-content colgroup', element);\n var footerColGroups = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-summarycontent colgroup', element);\n this.hideColGroup(colGroups, depth);\n this.hideColGroup(contentColGroups, depth);\n this.hideColGroup(footerColGroups, depth);\n };\n Print.prototype.hideColGroup = function (colGroups, depth) {\n for (var i = 0; i < colGroups.length; i++) {\n for (var j = 0; j < depth; j++) {\n colGroups[parseInt(i.toString(), 10)].children[parseInt(j.toString(), 10)].style.display = 'none';\n }\n }\n };\n /**\n * To destroy the print\n *\n * @returns {boolean} returns the isPrintGrid or not\n * @hidden\n */\n Print.prototype.isPrintGrid = function () {\n return this.parent.element.id.indexOf('_print') > 0 && this.parent.isPrinting;\n };\n /**\n * To destroy the print\n *\n * @returns {void}\n * @hidden\n */\n Print.prototype.destroy = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, this.contentReady.bind(this));\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, this.actionBeginFunction);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.onEmpty, this.onEmpty.bind(this));\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.hierarchyPrint, this.hierarchyPrint);\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Print.prototype.getModuleName = function () {\n return 'print';\n };\n Print.printGridProp = getCloneProperties().concat([_base_constant__WEBPACK_IMPORTED_MODULE_2__.beforePrint, _base_constant__WEBPACK_IMPORTED_MODULE_2__.printComplete, _base_constant__WEBPACK_IMPORTED_MODULE_2__.load]);\n return Print;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/print.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/reorder.js": +/*!************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/reorder.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Reorder: () => (/* binding */ Reorder)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n/**\n *\n * The `Reorder` module is used for reordering columns.\n */\nvar Reorder = /** @class */ (function () {\n /**\n * Constructor for the Grid reorder module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function Reorder(parent) {\n this.idx = 0;\n this.parent = parent;\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.headerDrop, this.headerDrop, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.uiUpdate, this.enableAfterRender, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.reorderComplete, this.onActionComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDrag, this.drag, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDragStart, this.dragStart, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDragStop, this.dragStop, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.headerDrop, this.headerDrop, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.headerRefreshed, this.createReorderElement, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.keyPressed, this.keyPressHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy, this);\n }\n Reorder.prototype.chkDropPosition = function (srcElem, destElem) {\n var col = this.parent.getColumnByUid(destElem.firstElementChild.getAttribute('e-mappinguid'));\n var bool = col ? !col.lockColumn : true;\n return ((srcElem.parentElement.isEqualNode(destElem.parentElement) || this.parent.enableColumnVirtualization)\n || (this.parent.isFrozenGrid()\n && Array.prototype.indexOf.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(srcElem, 'thead').children, srcElem.parentElement)\n === Array.prototype.indexOf.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(destElem, 'thead').children, destElem.parentElement)))\n && this.targetParentContainerIndex(srcElem, destElem) > -1 && bool;\n };\n Reorder.prototype.chkDropAllCols = function (srcElem, destElem) {\n var isFound;\n var headers = this.getHeaderCells();\n var header;\n while (!isFound && headers.length > 0) {\n header = headers.pop();\n isFound = srcElem !== header && this.targetParentContainerIndex(srcElem, destElem) > -1;\n }\n return isFound;\n };\n Reorder.prototype.findColParent = function (col, cols, parent) {\n // eslint-disable-next-line no-self-assign\n parent = parent;\n for (var i = 0, len = cols.length; i < len; i++) {\n if (col === cols[parseInt(i.toString(), 10)]) {\n return true;\n }\n else if (cols[parseInt(i.toString(), 10)].columns) {\n var cnt = parent.length;\n parent.push(cols[parseInt(i.toString(), 10)]);\n if (!this.findColParent(col, cols[parseInt(i.toString(), 10)].columns, parent)) {\n parent.splice(cnt, parent.length - cnt);\n }\n else {\n return true;\n }\n }\n }\n return false;\n };\n Reorder.prototype.getColumnsModel = function (cols, isNotStackedHeader) {\n var columnModel = [];\n var subCols = [];\n for (var i = 0, len = cols.length; i < len; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cols[parseInt(i.toString(), 10)])) {\n if (cols[parseInt(i.toString(), 10)].visible) {\n columnModel.push(cols[parseInt(i.toString(), 10)]);\n }\n else if (isNotStackedHeader) {\n columnModel.push(cols[parseInt(i.toString(), 10)]);\n }\n if (cols[parseInt(i.toString(), 10)].columns) {\n subCols = subCols.concat(cols[parseInt(i.toString(), 10)].columns);\n }\n }\n }\n if (subCols.length) {\n columnModel = columnModel.concat(this.getColumnsModel(subCols));\n }\n return columnModel;\n };\n Reorder.prototype.headerDrop = function (e) {\n var gObj = this.parent;\n var dropElement = this.element.querySelector('.e-headercelldiv') || this.element.querySelector('.e-stackedheadercelldiv');\n var uId = dropElement.getAttribute('e-mappinguid');\n var column = gObj.getColumnByUid(uId);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'th') || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (!column.allowReordering || column.lockColumn))) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), column: column });\n return;\n }\n var destElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-headercell');\n var destElemDiv = destElem.querySelector('.e-headercelldiv') || destElem.querySelector('.e-stackedheadercelldiv');\n var destElemUid = destElemDiv.getAttribute('e-mappinguid');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(destElemUid)) {\n var destColumn = gObj.getColumnByUid(destElemUid);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(destColumn) || !destColumn.allowReordering || destColumn.lockColumn) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), column: column, destColumn: destColumn });\n return;\n }\n }\n if (destElem && !(!this.chkDropPosition(this.element, destElem) || !this.chkDropAllCols(this.element, destElem))) {\n if (this.parent.enableColumnVirtualization) {\n var columns = this.parent.columns;\n var sourceUid_1 = this.element.querySelector('.e-headercelldiv').getAttribute('e-mappinguid');\n var col = this.parent.columns.filter(function (col) { return col.uid === sourceUid_1; });\n var colMatchIndex_1 = null;\n var column_1 = col[0];\n var destUid_1 = destElem.querySelector('.e-headercelldiv').getAttribute('e-mappinguid');\n columns.some(function (col, index) {\n if (col.uid === destUid_1) {\n colMatchIndex_1 = index;\n return col.uid === destUid_1;\n }\n return false;\n });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(colMatchIndex_1)) {\n this.moveColumns(colMatchIndex_1, column_1);\n }\n }\n else {\n var newIndex = this.targetParentContainerIndex(this.element, destElem);\n var uid = this.element.firstElementChild.getAttribute('e-mappinguid');\n this.destElement = destElem;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.setReorderDestinationElement, { ele: destElem });\n if (uid) {\n this.moveColumns(newIndex, this.parent.getColumnByUid(uid));\n }\n else {\n var headers = this.getHeaderCells();\n var oldIdx = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getElementIndex)(this.element, headers);\n var columns = this.getColumnsModel(this.parent.columns);\n this.moveColumns(newIndex, columns[parseInt(oldIdx.toString(), 10)]);\n }\n }\n }\n };\n Reorder.prototype.isActionPrevent = function (gObj) {\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isActionPrevent)(gObj);\n };\n Reorder.prototype.moveColumns = function (destIndex, column, reorderByColumn, preventRefresh) {\n var gObj = this.parent;\n if (this.isActionPrevent(gObj)) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.preventBatch, { instance: this, handler: this.moveColumns, arg1: destIndex, arg2: column });\n return;\n }\n var parent = this.getColParent(column, this.parent.columns);\n var cols = parent ? parent.columns : this.parent.columns;\n var srcIdx = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.inArray)(column, cols);\n if ((parent || this.parent.lockcolPositionCount) && !reorderByColumn &&\n !this.parent.enableColumnVirtualization) {\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].field === column.field) {\n srcIdx = i;\n break;\n }\n }\n var col = this.parent.getColumnByUid(this.destElement.firstElementChild.getAttribute('e-mappinguid'));\n if (col) {\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].field === col.field) {\n destIndex = i;\n break;\n }\n }\n }\n else {\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].headerText === this.destElement.innerText.trim()) {\n destIndex = i;\n }\n }\n }\n }\n if (!gObj.allowReordering || srcIdx === destIndex || srcIdx === -1 || destIndex === -1) {\n return;\n }\n cols.splice(destIndex, 0, cols.splice(srcIdx, 1)[0]);\n var args = { column: column, destIndex: destIndex, columns: cols, parent: parent, cancel: false };\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFrozenColumns, args);\n if (args.cancel) {\n return;\n }\n if (this.parent.isFrozenGrid()) {\n if (this.parent.frozenColumns) {\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].freeze === 'Left') {\n cols[parseInt(i.toString(), 10)].freeze = undefined;\n }\n }\n }\n else if (!(parent && parent.columns)) {\n if (this.parent.getFrozenLeftCount() > destIndex) {\n column.freeze = 'Left';\n }\n else if ((cols.length - this.parent.getFrozenRightColumnsCount()) <= destIndex) {\n column.freeze = 'Right';\n }\n else {\n column.freeze = column.freeze === 'Fixed' ? 'Fixed' : undefined;\n }\n }\n }\n if (preventRefresh !== false) {\n var reorderArgs = { type: _base_constant__WEBPACK_IMPORTED_MODULE_1__.actionBegin, requestType: 'reorder', fromIndex: destIndex, toIndex: srcIdx, toColumnUid: column.uid, cancel: false };\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.modelChanged, reorderArgs);\n if (reorderArgs.cancel) {\n cols.splice(srcIdx, 0, cols.splice(destIndex, 1)[0]);\n return;\n }\n }\n gObj.getColumns(true);\n gObj.preventAutoFit = true;\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnPositionChanged, { fromIndex: destIndex, toIndex: srcIdx });\n if (this.parent.isFrozenGrid()) {\n var cols_1 = this.parent.columns;\n this.idx = 0;\n this.refreshColumnIndex(cols_1);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshFrozenPosition, {});\n }\n };\n Reorder.prototype.refreshColumnIndex = function (cols) {\n for (var i = 0; i < cols.length; i++) {\n cols[parseInt(i.toString(), 10)].index = this.idx;\n this.idx++;\n if (cols[parseInt(i.toString(), 10)].columns && cols[parseInt(i.toString(), 10)].columns.length) {\n this.refreshColumnIndex(cols[parseInt(i.toString(), 10)].columns);\n }\n }\n };\n Reorder.prototype.targetParentContainerIndex = function (srcElem, destElem) {\n var cols = this.parent.columns;\n var headers = this.getHeaderCells();\n var stackedHdrColumn = this.parent.getStackedColumns(cols);\n var stackedCols = [];\n if (stackedHdrColumn.length) {\n stackedCols = this.getAllStackedheaderParentColumns(headers);\n }\n var flatColumns = stackedHdrColumn.length && stackedCols.length ?\n this.getColumnsModel(stackedCols) : this.getColumnsModel(cols, true);\n var parent = this.getColParent(flatColumns[(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getElementIndex)(srcElem, headers)], cols);\n cols = parent ? parent.columns : cols;\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.inArray)(flatColumns[(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getElementIndex)(destElem, headers)], cols);\n };\n Reorder.prototype.getAllStackedheaderParentColumns = function (headers) {\n var stackedCols = [];\n for (var i = 0; i < headers.length; i++) {\n if (headers[parseInt(i.toString(), 10)].classList.contains('e-hide')) {\n headers.splice(i, 1);\n i--;\n }\n else if (headers[parseInt(i.toString(), 10)].closest('thead').firstChild === headers[parseInt(i.toString(), 10)].parentElement) {\n stackedCols.push(this.parent.getColumnByUid(headers[parseInt(i.toString(), 10)].firstElementChild.getAttribute('e-mappinguid')));\n }\n }\n return stackedCols;\n };\n Reorder.prototype.getHeaderCells = function () {\n return [].slice.call(this.parent.element.getElementsByClassName('e-headercell'));\n };\n Reorder.prototype.getColParent = function (column, columns) {\n var parents = [];\n this.findColParent(column, columns, parents);\n return parents[parents.length - 1];\n };\n Reorder.prototype.reorderSingleColumn = function (fromFName, toFName) {\n var fColumn = this.parent.enableColumnVirtualization ?\n this.parent.columns.filter(function (col) { return col.field === fromFName; })[0]\n : this.parent.getColumnByField(fromFName);\n var toColumn = this.parent.enableColumnVirtualization ?\n this.parent.columns.filter(function (col) { return col.field === toFName; })[0]\n : this.parent.getColumnByField(toFName);\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fColumn) && (!fColumn.allowReordering || fColumn.lockColumn)) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(toColumn) && (!toColumn.allowReordering || toColumn.lockColumn))) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), column: fColumn, destColumn: toColumn });\n return;\n }\n var column = toColumn;\n var parent = this.getColParent(column, this.parent.columns);\n var columns = parent ? parent.columns : this.parent.columns;\n var destIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.inArray)(column, columns);\n if (destIndex > -1) {\n this.moveColumns(destIndex, fColumn, true);\n }\n };\n Reorder.prototype.reorderMultipleColumns = function (fromFNames, toFName) {\n var toIndex = this.parent.getColumnIndexByField(toFName);\n var toColumn = this.parent.getColumnByField(toFName);\n if (toIndex < 0 || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(toColumn) && (!toColumn.allowReordering || toColumn.lockColumn))) {\n return;\n }\n for (var i = 0; i < fromFNames.length; i++) {\n var column = this.parent.getColumnByField(fromFNames[parseInt(i.toString(), 10)]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (!column.allowReordering || column.lockColumn)) {\n return;\n }\n }\n for (var i = 0; i < fromFNames.length; i++) {\n var column = this.parent.getColumnByIndex(toIndex);\n var parent_1 = this.getColParent(column, this.parent.columns);\n var columns = parent_1 ? parent_1.columns : this.parent.columns;\n var destIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.inArray)(column, columns);\n if (destIndex > -1) {\n this.moveColumns(destIndex, this.parent.getColumnByField(fromFNames[parseInt(i.toString(), 10)]), true, true);\n }\n if (this.parent.getColumnIndexByField(fromFNames[i + 1]) >= destIndex) {\n toIndex++; //R to L\n }\n }\n };\n Reorder.prototype.moveTargetColumn = function (column, toIndex) {\n if (toIndex > -1) {\n this.moveColumns(toIndex, column, true);\n }\n };\n Reorder.prototype.reorderSingleColumnByTarget = function (fieldName, toIndex) {\n this.moveTargetColumn(this.parent.getColumnByField(fieldName), toIndex);\n };\n Reorder.prototype.reorderMultipleColumnByTarget = function (fieldName, toIndex) {\n for (var i = 0; i < fieldName.length; i++) {\n this.reorderSingleColumnByTarget(fieldName[parseInt(i.toString(), 10)], toIndex);\n }\n };\n /**\n * Changes the position of the Grid columns by field names.\n *\n * @param {string | string[]} fromFName - Defines the origin field names.\n * @param {string} toFName - Defines the destination field name.\n * @returns {void}\n */\n Reorder.prototype.reorderColumns = function (fromFName, toFName) {\n if (typeof fromFName === 'string') {\n this.reorderSingleColumn(fromFName, toFName);\n this.fromCol = fromFName;\n }\n else {\n this.reorderMultipleColumns(fromFName, toFName);\n this.fromCol = fromFName[0];\n }\n };\n /**\n * Changes the position of the Grid columns by field index.\n *\n * @param {number} fromIndex - Defines the origin field index.\n * @param {number} toIndex - Defines the destination field index.\n * @returns {void}\n */\n Reorder.prototype.reorderColumnByIndex = function (fromIndex, toIndex) {\n this.moveTargetColumn(this.parent.getColumnByIndex(fromIndex), toIndex);\n };\n /**\n * Changes the position of the Grid columns by field index.\n *\n * @param {string | string[]} fieldName - Defines the field name.\n * @param {number} toIndex - Defines the destination field index.\n * @returns {void}\n */\n Reorder.prototype.reorderColumnByTargetIndex = function (fieldName, toIndex) {\n if (typeof fieldName === 'string') {\n this.reorderSingleColumnByTarget(fieldName, toIndex);\n }\n else {\n this.reorderMultipleColumnByTarget(fieldName, toIndex);\n }\n };\n Reorder.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.createReorderElement();\n }\n };\n Reorder.prototype.createReorderElement = function (e) {\n if (e && e.args && e.args.isXaxis) {\n this.setDisplay('none');\n }\n var header = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent);\n var upArrowDiv = this.parent.createElement('div', { className: 'e-icons e-icon-reorderuparrow e-reorderuparrow' });\n upArrowDiv.style.display = 'none';\n this.upArrow = upArrowDiv;\n header.appendChild(this.upArrow);\n var downArrowDiv = this.parent\n .createElement('div', { className: 'e-icons e-icon-reorderdownarrow e-reorderdownarrow' });\n downArrowDiv.style.display = 'none';\n this.downArrow = downArrowDiv;\n header.appendChild(this.downArrow);\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {NotifyArgs} e - specified the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Reorder.prototype.onActionComplete = function (e) {\n this.parent.preventAutoFit = false;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, { type: _base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete }));\n var target = this.fromCol && this.parent.getColumnHeaderByField(this.fromCol);\n if (target) {\n this.parent.focusModule.onClick({ target: target }, true);\n }\n };\n /**\n * To destroy the reorder\n *\n * @returns {void}\n * @hidden\n */\n Reorder.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (this.parent.isDestroyed || !gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridHeader) &&\n !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridContent))) {\n return;\n }\n if (this.upArrow.parentNode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.upArrow);\n }\n if (this.downArrow.parentNode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.downArrow);\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.headerDrop, this.headerDrop);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.uiUpdate, this.enableAfterRender);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.reorderComplete, this.onActionComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDrag, this.drag);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDragStart, this.dragStart);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDragStop, this.dragStop);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.headerRefreshed, this.createReorderElement);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.keyPressed, this.keyPressHandler);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy);\n //call ejdrag and drop destroy\n };\n Reorder.prototype.keyPressHandler = function (e) {\n var gObj = this.parent;\n var isMacLike = /(Mac)/i.test(navigator.platform);\n if (isMacLike && e.metaKey) {\n if (e.action === 'leftArrow') {\n e.action = 'ctrlLeftArrow';\n }\n else if (e.action === 'rightArrow') {\n e.action = 'ctrlRightArrow';\n }\n }\n switch (e.action) {\n case 'ctrlLeftArrow':\n case 'ctrlRightArrow':\n // eslint-disable-next-line no-case-declarations\n var element = gObj.focusModule.currentInfo.element;\n if (element && element.classList.contains('e-headercell')) {\n var column = gObj.getColumnByUid(element.firstElementChild.getAttribute('e-mappinguid'));\n var visibleCols = gObj.getVisibleColumns();\n var index = visibleCols.indexOf(column);\n var toCol = e.action === 'ctrlLeftArrow' ? visibleCols[index - 1] : visibleCols[index + 1];\n if (toCol && toCol.field && column.field) {\n this.reorderColumns(column.field, toCol.field);\n }\n }\n break;\n }\n };\n Reorder.prototype.drag = function (e) {\n var gObj = this.parent;\n var target = e.target;\n var closest = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-headercell:not(.e-stackedHeaderCell)');\n var cloneElement = gObj.element.querySelector('.e-cloneproperties');\n var content = gObj.getContent().firstElementChild;\n var isLeft = this.x > (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPosition)(e.event).x + content.scrollLeft;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([].slice.call(gObj.getHeaderTable().getElementsByClassName('e-reorderindicate')), ['e-reorderindicate']);\n this.setDisplay('none');\n this.stopTimer();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-defaultcur'], ['e-notallowedcur']);\n this.updateScrollPostion(e.event);\n if (closest && !closest.isEqualNode(this.element)) {\n target = closest;\n //consider stacked, detail header cell\n var uid = target.querySelector('.e-headercelldiv, .e-stackedheadercelldiv').getAttribute('e-mappinguid');\n if (!(!this.chkDropPosition(this.element, target) || !this.chkDropAllCols(this.element, target)) &&\n gObj.getColumnByUid(uid).allowReordering && e.column.allowReordering) {\n this.updateArrowPosition(target, isLeft);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(target, ['e-allowDrop', 'e-reorderindicate'], []);\n }\n else if (!(gObj.allowGrouping && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, 'e-groupdroparea'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n }\n else {\n if (closest && closest.isEqualNode(this.element) &&\n !((gObj.allowGrouping && e.column.allowGrouping) || e.column.allowReordering)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n else if (!closest && !(gObj.allowGrouping && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, 'e-groupdroparea'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n }\n if (!e.column.allowReordering || e.column.lockColumn) {\n return;\n }\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDrag, { target: target, draggableType: 'headercell', column: e.column });\n };\n Reorder.prototype.updateScrollPostion = function (e) {\n var _this = this;\n var x = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPosition)(e).x;\n var cliRect = this.parent.element.getBoundingClientRect();\n var cliRectBaseRight = cliRect.right;\n var cliRectBaseLeft = cliRect.left;\n var scrollElem = this.parent.getContent().firstElementChild;\n if (x > cliRectBaseLeft && x < cliRectBaseLeft + 35) {\n this.timer = window.setInterval(function () { _this.setScrollLeft(scrollElem, true); }, 50);\n }\n else if (x < cliRectBaseRight && x > cliRectBaseRight - 35) {\n this.timer = window.setInterval(function () { _this.setScrollLeft(scrollElem, false); }, 50);\n }\n };\n Reorder.prototype.setScrollLeft = function (scrollElem, isLeft) {\n var scrollLeft = scrollElem.scrollLeft;\n scrollElem.scrollLeft = scrollElem.scrollLeft + (isLeft ? -5 : 5);\n if (scrollLeft !== scrollElem.scrollLeft) {\n this.setDisplay('none');\n }\n };\n Reorder.prototype.stopTimer = function () {\n window.clearInterval(this.timer);\n };\n Reorder.prototype.updateArrowPosition = function (target, isLeft) {\n var cliRect = target.getBoundingClientRect();\n var cliRectBase = this.parent.element.getBoundingClientRect();\n if ((isLeft && cliRect.left < cliRectBase.left) || (!isLeft && cliRect.right > cliRectBase.right)) {\n return;\n }\n var isSticky = this.parent.getHeaderContent().classList.contains('e-sticky');\n this.upArrow.style.top = isSticky ? cliRect.top + cliRect.height + 'px' : cliRect.top + cliRect.height - cliRectBase.top + 'px';\n this.downArrow.style.top = isSticky ? cliRect.top - 7 + 'px' : cliRect.top - cliRectBase.top - 7 + 'px';\n this.upArrow.style.left = this.downArrow.style.left = isSticky ? (isLeft ? cliRect.left : cliRect.right) - 4 + 'px' :\n (isLeft ? cliRect.left : cliRect.right) - cliRectBase.left - 4 + 'px';\n this.setDisplay('');\n };\n Reorder.prototype.dragStart = function (e) {\n var gObj = this.parent;\n var target = e.target;\n this.element = target.classList.contains('e-headercell') ? target :\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-headercell');\n if (!e.column.allowReordering || e.column.lockColumn) {\n return;\n }\n var content = gObj.getContent().firstElementChild;\n this.x = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPosition)(e.event).x + content.scrollLeft;\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDragStart, {\n target: target, draggableType: 'headercell', column: e.column\n });\n };\n Reorder.prototype.dragStop = function (e) {\n var gObj = this.parent;\n this.setDisplay('none');\n this.stopTimer();\n if (!e.cancel) {\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDrop, { target: e.target, draggableType: 'headercell', column: e.column });\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([].slice.call(gObj.getHeaderTable().getElementsByClassName('e-reorderindicate')), ['e-reorderindicate']);\n };\n Reorder.prototype.setDisplay = function (display) {\n this.upArrow.style.display = display;\n this.downArrow.style.display = display;\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} return the module name\n * @private\n */\n Reorder.prototype.getModuleName = function () {\n return 'reorder';\n };\n return Reorder;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/reorder.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Resize: () => (/* binding */ Resize),\n/* harmony export */ resizeClassList: () => (/* binding */ resizeClassList)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _models_column__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js\");\n/* harmony import */ var _services_width_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/width-controller */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\nvar resizeClassList = {\n root: 'e-rhandler',\n suppress: 'e-rsuppress',\n icon: 'e-ricon',\n helper: 'e-rhelper',\n header: 'th.e-headercell',\n cursor: 'e-rcursor'\n};\n/**\n * `Resize` module is used to handle Resize to fit for columns.\n *\n * @hidden\n * @private\n */\nvar Resize = /** @class */ (function () {\n /**\n * Constructor for the Grid resize module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function Resize(parent) {\n this.tapped = false;\n this.isDblClk = true;\n /** @hidden */\n this.resizeProcess = false;\n this.isCancelAutoFit = false;\n this.parent = parent;\n if (this.parent.isDestroyed) {\n return;\n }\n this.widthService = new _services_width_controller__WEBPACK_IMPORTED_MODULE_1__.ColumnWidthService(parent);\n this.addEventListener();\n }\n /**\n * Resize by field names.\n *\n * @param {string|string[]} fName - Defines the field name.\n * @param {number} startRowIndex - Specifies the start row index.\n * @param {number} endRowIndex - Specifies the end row index.\n * @returns {void}\n */\n Resize.prototype.autoFitColumns = function (fName, startRowIndex, endRowIndex) {\n var _this = this;\n var columnName = (fName === undefined || fName === null || fName.length <= 0) ?\n this.parent.getColumns().map(function (x) { x.autoFit = true; return x.field; }) : (typeof fName === 'string') ? [fName] : fName;\n this.parent.isAutoFitColumns = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fName) && typeof fName === 'object' && fName.length !== 0) {\n fName.forEach(function (field) {\n if (_this.parent.getColumnByField(field)) {\n _this.parent.getColumnByField(field).autoFit = true;\n }\n });\n }\n else if (typeof fName === 'string' && fName.trim() !== '') {\n this.parent.getColumnByField(fName).autoFit = true;\n }\n if (this.parent.enableAdaptiveUI) {\n this.parent.element.classList.add('e-grid-autofit');\n }\n this.findColumn(columnName, startRowIndex, endRowIndex);\n };\n Resize.prototype.autoFit = function () {\n var cols = this.parent.getColumns();\n var isMaxWidthCount = 0;\n var newarray = cols.filter(function (c) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(c.maxWidth)) {\n isMaxWidthCount++;\n }\n return c.autoFit === true;\n }).map(function (c) { return c.field || c.headerText; });\n if (newarray.length > 0 && !this.parent.preventAutoFit) {\n this.autoFitColumns(newarray);\n }\n var contentTable = this.parent.getContentTable();\n if (this.parent.allowResizing && isMaxWidthCount && (this.parent.resizeSettings.mode === 'Auto' ||\n (this.parent.resizeSettings.mode === 'Normal' && !this.parent.autoFit && newarray.length === 0))) {\n this.widthService.setWidthToTable(contentTable.style.width.indexOf('px') === -1);\n }\n else if (this.parent.autoFit && this.parent.resizeSettings.mode === 'Auto') {\n this.widthService.setWidthToTable();\n }\n if (contentTable.style.width.indexOf('px') !== -1\n && contentTable.getBoundingClientRect().width < contentTable.parentElement.clientWidth) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.parent.getHeaderTable(), contentTable], ['e-tableborder']);\n }\n };\n Resize.prototype.getCellElementsByColumnIndex = function (columnIndex) {\n if (this.parent.frozenRows) {\n return [].slice.call(this.parent.getHeaderTable().querySelectorAll(\"td.e-rowcell:nth-child(\" + (columnIndex + 1) + \"):not(.e-groupcaption):not(.e-detailcell)\")).concat([].slice.call(this.parent.getContentTable().querySelectorAll(\"td.e-rowcell:nth-child(\" + (columnIndex + 1) + \"):not(.e-groupcaption):not(.e-detailcell)\")));\n }\n else {\n return [].slice.call(this.parent.getContentTable().querySelectorAll(\"td.e-rowcell:nth-child(\" + (columnIndex + 1) + \"):not(.e-groupcaption):not(.e-detailcell)\"));\n }\n };\n Resize.prototype.resizeColumn = function (fName, index, id, startRowIndex, endRowIndex) {\n var gObj = this.parent;\n var tWidth = 0;\n var headerTable = gObj.getHeaderTable();\n var contentTable = gObj.getContentTable();\n var footerTable;\n var headerDivTag = 'e-gridheader';\n var contentDivTag = _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent;\n var footerDivTag = _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridFooter;\n var indentWidth = 0;\n var uid = id ? id : this.parent.getUidByColumnField(fName);\n var columnIndex = this.parent.getNormalizedColumnIndex(uid);\n var headerTextClone = headerTable.querySelector('[e-mappinguid=\"' + uid + '\"]').parentElement.cloneNode(true);\n var contentTextClone = this.getCellElementsByColumnIndex(columnIndex);\n var footerTextClone;\n var columnIndexByField = this.parent.getColumnIndexByField(fName);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getFooterContent())) {\n footerTable = gObj.getFooterContentTable();\n }\n if (footerTable) {\n footerTextClone = footerTable.querySelectorAll(\"td:nth-child(\" + (columnIndex + 1) + \"):not(.e-groupcaption)\");\n }\n var indentWidthClone = [].slice.call(headerTable.querySelector('tr').getElementsByClassName('e-grouptopleftcell'));\n if (indentWidthClone.length > 0) {\n for (var i = 0; i < indentWidthClone.length; i++) {\n indentWidth += indentWidthClone[parseInt(i.toString(), 10)].offsetWidth;\n }\n }\n var detailsElement = contentTable.querySelector('.e-detailrowcollapse') ||\n contentTable.querySelector('.e-detailrowexpand');\n if ((this.parent.detailTemplate || this.parent.childGrid) && detailsElement) {\n indentWidth += detailsElement.offsetWidth;\n }\n var headerText = [headerTextClone];\n var contentText = [];\n var footerText = [];\n if (footerTable) {\n for (var i = 0; i < footerTextClone.length; i++) {\n footerText[parseInt(i.toString(), 10)] = footerTextClone[parseInt(i.toString(), 10)].cloneNode(true);\n }\n }\n for (var i = 0; i < contentTextClone.length; i++) {\n contentText[parseInt(i.toString(), 10)] = contentTextClone[parseInt(i.toString(), 10)].cloneNode(true);\n }\n var wHeader = this.createTable(headerTable, headerText, headerDivTag);\n var wFooter = null;\n var wContent = null;\n if (gObj.getCurrentViewRecords().length) {\n wContent = this.createTable(contentTable, contentText, contentDivTag, startRowIndex, endRowIndex);\n }\n if (footerText.length) {\n wFooter = this.createTable(footerTable, footerText, footerDivTag);\n }\n var columnbyindex = gObj.getColumns()[parseInt(columnIndexByField.toString(), 10)];\n var width = columnbyindex.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(Math.max(wHeader, wContent, wFooter));\n var colMaxWidth = columnbyindex.maxWidth && parseFloat(columnbyindex.maxWidth.toString());\n if (parseInt(width, 10) > colMaxWidth) {\n columnbyindex.width = colMaxWidth;\n }\n this.widthService.setColumnWidth(gObj.getColumns()[parseInt(columnIndexByField.toString(), 10)]);\n var result = gObj.getColumns().some(function (x) { return (x.visible || gObj.groupSettings.columns.length) &&\n (x.width === null || x.width === undefined || x.width.length <= 0); });\n if (result === false) {\n var element = gObj.getColumns();\n for (var i = 0; i < element.length; i++) {\n if (element[parseInt(i.toString(), 10)].visible) {\n tWidth = tWidth + parseFloat(element[parseInt(i.toString(), 10)].width);\n }\n }\n }\n var calcTableWidth = tWidth + indentWidth;\n if (tWidth > 0) {\n if (this.parent.detailTemplate || this.parent.childGrid) {\n this.widthService.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_3__.Column({ width: '30px' }));\n }\n if (this.parent.resizeSettings.mode === 'Auto') {\n calcTableWidth = '100%';\n }\n headerTable.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(calcTableWidth);\n contentTable.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(calcTableWidth);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(footerTable)) {\n footerTable.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(calcTableWidth);\n }\n }\n if (gObj.isFrozenGrid() && gObj.enableColumnVirtualization) {\n this.widthService.refreshFrozenScrollbar();\n }\n var tableWidth = headerTable.offsetWidth;\n var contentwidth = contentTable.parentElement.scrollWidth;\n if (contentwidth > tableWidth) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(contentTable.querySelector('.e-emptyrow'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([headerTable], ['e-tableborder']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([contentTable], ['e-tableborder']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([headerTable, contentTable], ['e-tableborder']);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([gObj.element], ['e-left-shadow', 'e-right-shadow']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([headerTable, contentTable], ['e-tableborder']);\n if (gObj.getVisibleFrozenRightCount()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([gObj.element], 'e-right-shadow');\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(footerTable)) {\n footerTable.classList.add('e-tableborder');\n }\n };\n /**\n * To destroy the resize\n *\n * @returns {void}\n * @hidden\n */\n Resize.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent))) {\n return;\n }\n this.widthService = null;\n this.unwireEvents();\n this.removeEventListener();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Resize.prototype.getModuleName = function () {\n return 'resize';\n };\n Resize.prototype.findColumn = function (fName, startRowIndex, endRowIndex) {\n for (var i = 0; i < fName.length; i++) {\n var fieldName = fName[parseInt(i.toString(), 10)];\n var columnIndex = this.parent.getColumnIndexByField(fieldName);\n var column = this.parent.getColumns()[parseInt(columnIndex.toString(), 10)];\n if (columnIndex > -1 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && column.visible === true) {\n this.resizeColumn(fieldName, columnIndex, null, startRowIndex, endRowIndex);\n }\n }\n if (this.parent.allowTextWrap) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.freezeRender, { case: 'refreshHeight', isModeChg: true });\n }\n if (this.parent.isFrozenGrid()) {\n this.refreshResizefrzCols(true, true);\n }\n };\n /**\n * To create table for autofit\n *\n * @param {Element} table - specifies the table\n * @param {Element[]} text - specifies the text\n * @param {string} tag - specifies the tag name\n * @param {number} startRowIndex - Specifies the start row index.\n * @param {number} endRowIndex - Specifies the end row index.\n * @returns {number} returns the number\n * @hidden\n */\n Resize.prototype.createTable = function (table, text, tag, startRowIndex, endRowIndex) {\n if (startRowIndex === void 0) { startRowIndex = 1; }\n if (endRowIndex === void 0) { endRowIndex = text.length; }\n if (startRowIndex > endRowIndex) {\n startRowIndex ^= endRowIndex;\n endRowIndex ^= startRowIndex;\n startRowIndex ^= endRowIndex;\n }\n var myTableDiv = this.parent.createElement('div');\n var adaptiveClass = this.parent.enableAdaptiveUI ? ' e-bigger' : '';\n myTableDiv.className = this.parent.element.className + adaptiveClass;\n myTableDiv.style.cssText = 'display: inline-block;visibility:hidden;position:absolute';\n var mySubDiv = this.parent.createElement('div');\n mySubDiv.className = tag;\n var myTable = this.parent.createElement('table', { attrs: { role: 'grid' } });\n myTable.className = table.className;\n myTable.classList.add('e-resizetable');\n myTable.style.cssText = 'table-layout: auto;width: auto';\n var myTr = this.parent.createElement('tr');\n for (var i = (startRowIndex <= 0 ? 1 : startRowIndex); i <= (endRowIndex > text.length ? text.length : endRowIndex); i++) {\n var tr = myTr.cloneNode();\n tr.className = table.querySelector('tr').className;\n tr.appendChild(text[parseInt((i - 1).toString(), 10)]);\n myTable.appendChild(tr);\n }\n mySubDiv.appendChild(myTable);\n myTableDiv.appendChild(mySubDiv);\n document.body.appendChild(myTableDiv);\n var offsetWidthValue = myTable.getBoundingClientRect().width;\n document.body.removeChild(myTableDiv);\n return Math.ceil(offsetWidthValue);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Resize.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.headerRefreshed, this.refreshHeight, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshResizePosition, this.refreshResizePosition, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.wireEvents, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.contentReady, this.autoFit, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshHandlers, this.refreshHeight, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.destroy, this.destroy, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Resize.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.headerRefreshed, this.refreshHeight);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshResizePosition, this.refreshResizePosition);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.wireEvents);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshHandlers, this.refreshHeight);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_4__.destroy, this.destroy);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Resize.prototype.render = function () {\n this.unwireEvents();\n this.wireEvents();\n this.setHandlerHeight();\n };\n Resize.prototype.refreshHeight = function () {\n if (this.parent.getHeaderTable()) {\n var element = this.getResizeHandlers();\n for (var i = 0; i < element.length; i++) {\n if (element[parseInt(i.toString(), 10)].parentElement.offsetHeight > 0) {\n element[parseInt(i.toString(), 10)].style.height = '100%';\n }\n }\n this.setHandlerHeight();\n }\n };\n Resize.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.getHeaderContent(), _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.touchResizeStart, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.getHeaderContent(), _base_constant__WEBPACK_IMPORTED_MODULE_4__.dblclick, this.callAutoFit, this);\n };\n Resize.prototype.unwireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getHeaderContent(), _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.touchResizeStart);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getHeaderContent(), _base_constant__WEBPACK_IMPORTED_MODULE_4__.dblclick, this.callAutoFit);\n };\n Resize.prototype.getResizeHandlers = function () {\n return [].slice.call(this.parent.getHeaderTable().getElementsByClassName(resizeClassList.root));\n };\n Resize.prototype.setHandlerHeight = function () {\n var element = [].slice.call(this.parent.getHeaderTable().getElementsByClassName(resizeClassList.suppress));\n for (var i = 0; i < element.length; i++) {\n element[parseInt(i.toString(), 10)].style.height = '100%';\n }\n };\n Resize.prototype.callAutoFit = function (e) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && typeof e.preventDefault === 'function' && this.isDblClk) {\n e.preventDefault();\n }\n if (e.target.classList.contains('e-rhandler') && !this.isCancelAutoFit) {\n var col = this.getTargetColumn(e);\n if (col.columns) {\n return;\n }\n this.resizeColumn(col.field, this.parent.getNormalizedColumnIndex(col.uid), col.uid);\n if (this.parent.isFrozenGrid()) {\n this.refreshResizefrzCols(true, true);\n }\n var header = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, resizeClassList.header);\n header.classList.add('e-resized');\n }\n };\n Resize.prototype.touchResizeStart = function (e) {\n if (!_base_util__WEBPACK_IMPORTED_MODULE_5__.Global.timer) {\n _base_util__WEBPACK_IMPORTED_MODULE_5__.Global.timer = setTimeout(function () {\n _base_util__WEBPACK_IMPORTED_MODULE_5__.Global.timer = null;\n }, 300);\n return this.resizeStart(e);\n }\n else {\n clearTimeout(_base_util__WEBPACK_IMPORTED_MODULE_5__.Global.timer);\n _base_util__WEBPACK_IMPORTED_MODULE_5__.Global.timer = null;\n this.callAutoFit(e);\n }\n };\n Resize.prototype.resizeStart = function (e) {\n var _this = this;\n if (e.target.classList.contains('e-rhandler')) {\n this.isCancelAutoFit = false;\n var args = { e: e, column: this.getTargetColumn(e) };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.resizeStart, args, function (args) {\n if (args.cancel || _this.parent.isEdit) {\n _this.cancelResizeAction();\n _this.isCancelAutoFit = true;\n return;\n }\n });\n if (!this.isCancelAutoFit) {\n if (!this.helper) {\n if (this.getScrollBarWidth() === 0) {\n this.resizeProcess = true;\n for (var _i = 0, _a = this.refreshColumnWidth(); _i < _a.length; _i++) {\n var col = _a[_i];\n this.widthService.setColumnWidth(col);\n }\n if (this.parent.allowGrouping) {\n for (var i = 0; i < this.parent.groupSettings.columns.length; i++) {\n this.widthService.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_3__.Column({ width: '30px' }), i);\n }\n }\n if (this.parent.isRowDragable()) {\n this.widthService.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_3__.Column({ width: '30px' }));\n }\n this.widthService.setWidthToTable();\n this.resizeProcess = false;\n }\n this.refreshStackedColumnWidth();\n this.element = e.target;\n this.parentElementWidth = this.parent.element.getBoundingClientRect().width;\n this.appendHelper();\n this.column = this.getTargetColumn(e);\n this.pageX = this.getPointX(e);\n if (this.column.getFreezeTableName() === _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.frozenRight) {\n if (this.parent.enableRtl) {\n this.minMove = (this.column.minWidth ? parseFloat(this.column.minWidth.toString()) : 0)\n - parseFloat((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.width) ? '' : this.column.width.toString());\n }\n else {\n this.minMove = parseFloat((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.width) ? '' : this.column.width.toString())\n - (this.column.minWidth ? parseFloat(this.column.minWidth.toString()) : 0);\n }\n }\n else if (this.parent.enableRtl) {\n this.minMove = parseFloat(this.column.width.toString())\n - (this.column.minWidth ? parseFloat(this.column.minWidth.toString()) : 0);\n }\n else {\n this.minMove = (this.column.minWidth ? parseFloat(this.column.minWidth.toString()) : 0)\n - parseFloat((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.width) ? '' : this.column.width.toString());\n }\n this.minMove += this.pageX;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.resizeEnd, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.resizing, this);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.helper.classList.contains(resizeClassList.icon)) {\n this.helper.classList.add(resizeClassList.icon);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.removeHelper, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.helper, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.resizeStart, this);\n }\n else {\n this.updateCursor('add');\n }\n }\n }\n };\n Resize.prototype.cancelResizeAction = function (removeEvents) {\n if (removeEvents) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.resizing);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.resizeEnd);\n this.updateCursor('remove');\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.helper)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.removeHelper);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.helper, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.resizeStart);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.helper)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.helper);\n }\n this.refresh();\n };\n Resize.prototype.getWidth = function (width, minWidth, maxWidth) {\n if (minWidth && width < minWidth) {\n return minWidth;\n }\n else if ((maxWidth && width > maxWidth)) {\n return maxWidth;\n }\n else {\n return width;\n }\n };\n Resize.prototype.updateResizeEleHeight = function () {\n var elements = [].slice.call(this.parent.getHeaderContent().getElementsByClassName('e-rhandler'));\n for (var i = 0; i < elements.length; i++) {\n elements[parseInt(i.toString(), 10)].style.height = this.element.parentElement.offsetHeight + 'px';\n }\n };\n Resize.prototype.getColData = function (column, mousemove) {\n return {\n width: parseFloat((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.widthService.getWidth(column)) || this.widthService.getWidth(column) === 'auto' ? '0'\n : this.widthService.getWidth(column).toString()) + mousemove,\n minWidth: column.minWidth ? parseFloat(column.minWidth.toString()) : null,\n maxWidth: column.maxWidth ? parseFloat(column.maxWidth.toString()) : null\n };\n };\n Resize.prototype.refreshResizeFixedCols = function (pos) {\n var cols = this.parent.getColumns();\n var translateX = this.parent.enableColumnVirtualization ? this.parent.translateX : 0;\n var th = [].slice.call(this.parent.getHeaderContent().querySelector('tbody').querySelectorAll('.e-fixedfreeze')).concat([].slice.call(this.parent.getContent().querySelectorAll('.e-fixedfreeze')));\n for (var i = 0; i < th.length; i++) {\n var node = th[parseInt(i.toString(), 10)];\n var column = void 0;\n if (node.classList.contains('e-summarycell')) {\n var uid = node.getAttribute('e-mappinguid');\n column = this.parent.getColumnByUid(uid);\n }\n else {\n var index = parseInt(node.getAttribute('aria-colindex'), 10) - 1;\n column = cols[parseInt(index.toString(), 10)];\n }\n var width = 0;\n if (pos === 'Left') {\n if (this.parent.getVisibleFrozenLeftCount()) {\n width = this.parent.getIndentCount() * 30;\n }\n else if (this.parent.getFrozenMode() === 'Right') {\n width = this.parent.groupSettings.columns.length * 30;\n }\n for (var j = 0; j < cols.length; j++) {\n if (column.index > cols[parseInt(j.toString(), 10)].index) {\n if (column.uid === cols[parseInt(j.toString(), 10)].uid) {\n break;\n }\n if ((cols[parseInt(j.toString(), 10)].freeze === 'Left' || cols[parseInt(j.toString(), 10)].isFrozen) ||\n cols[parseInt(j.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(j.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(j.toString(), 10)].width.toString());\n }\n }\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, ((width === 0 ? width : width - 1) - translateX), this.parent.enableRtl, 'Left');\n }\n if (pos === 'Right') {\n width = this.parent.getFrozenMode() === 'Right' && this.parent.isRowDragable() ? 30 : 0;\n for (var j = cols.length - 1; j >= 0; j--) {\n if (column.uid === cols[parseInt(j.toString(), 10)].uid) {\n break;\n }\n if (cols[parseInt(j.toString(), 10)].freeze === 'Right' || cols[parseInt(j.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(j.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(j.toString(), 10)].width.toString());\n }\n }\n }\n var colSpanwidth = 0;\n if (node.colSpan > 1) {\n colSpanwidth = this.calculateColspanWidth(cols, node, column.index);\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, (width - colSpanwidth) + translateX, this.parent.enableRtl, 'Right');\n }\n }\n };\n Resize.prototype.calculateColspanWidth = function (cols, node, index) {\n var width = 0;\n for (var j = index + 1; j < index + node.colSpan; j++) {\n width += parseInt(cols[parseInt(j.toString(), 10)].width.toString(), 10);\n }\n return width;\n };\n Resize.prototype.refreshResizePosition = function () {\n this.refreshResizefrzCols(true);\n };\n Resize.prototype.refreshResizefrzCols = function (freezeRefresh, isAutoFitCol) {\n var _this = this;\n var translateX = this.parent.enableColumnVirtualization ? this.parent.translateX : 0;\n if (freezeRefresh || ((this.column.freeze === 'Left' || this.column.isFrozen) ||\n (this.column.columns && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.frozenDirection)(this.column) === 'Left'))) {\n var width_1 = this.parent.getIndentCount() * 30;\n var columns = this.parent.getColumns().filter(function (col) { return col.freeze === 'Left' || col.isFrozen; });\n if (!freezeRefresh || isAutoFitCol) {\n this.frzHdrRefresh('Left');\n }\n for (var i = 0; i < columns.length; i++) {\n if (freezeRefresh || (columns[parseInt(i.toString(), 10)].index > this.column.index)) {\n var elements = [];\n if (this.parent.frozenRows) {\n elements = [].slice.call(this.parent.getHeaderContent().querySelectorAll('td[aria-colindex=\"' + (i + 1) + '\"]')).concat([].slice.call(this.parent.getContent().querySelectorAll('td[aria-colindex=\"' + (i + 1) + '\"]')));\n }\n else {\n elements = [].slice.call(this.parent.getContent().querySelectorAll('td[aria-colindex=\"' + (i + 1) + '\"]'));\n }\n elements.filter(function (cell) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, width_1 - translateX, _this.parent.enableRtl, 'Left');\n });\n if (this.parent.enableColumnVirtualization) {\n columns[parseInt(i.toString(), 10)].valueX = width_1;\n }\n }\n if (columns[parseInt(i.toString(), 10)].visible) {\n width_1 += parseFloat(columns[parseInt(i.toString(), 10)].width.toString());\n }\n }\n this.refreshResizeFixedCols('Left');\n }\n if (freezeRefresh || (this.column.freeze === 'Right' || (this.column.columns && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.frozenDirection)(this.column) === 'Right'))) {\n var width_2 = this.parent.getFrozenMode() === 'Right' && this.parent.isRowDragable() ? 30 : 0;\n var columns_1 = this.parent.getColumns();\n if (!freezeRefresh || isAutoFitCol) {\n this.frzHdrRefresh('Right');\n }\n var columnsRight = columns_1.filter(function (col) { return col.freeze === 'Right'; });\n var _loop_1 = function (i) {\n var elements = [];\n if (this_1.parent.frozenRows) {\n elements = [].slice.call(this_1.parent.getHeaderContent().querySelectorAll('td[aria-colindex=\"' + (i + 1) + '\"]')).concat([].slice.call(this_1.parent.getContent().querySelectorAll('td[aria-colindex=\"' + (i + 1) + '\"]')));\n }\n else {\n elements = [].slice.call(this_1.parent.getContent().querySelectorAll('td[aria-colindex=\"' + (i + 1) + '\"]'));\n }\n elements.filter(function (cell) {\n var colSpanwidth = 0;\n if (cell.colSpan > 1) {\n colSpanwidth = _this.calculateColspanWidth(columns_1, cell, columns_1[parseInt(i.toString(), 10)].index);\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, (width_2 - colSpanwidth) + translateX, _this.parent.enableRtl, 'Right');\n });\n if (this_1.parent.enableColumnVirtualization) {\n columns_1[parseInt(i.toString(), 10)].valueX = width_2;\n }\n if (columns_1[parseInt(i.toString(), 10)].visible) {\n width_2 = width_2 + parseFloat(columns_1[parseInt(i.toString(), 10)].width.toString());\n }\n };\n var this_1 = this;\n for (var i = columns_1.length - 1; i >= columns_1.length - columnsRight.length; i--) {\n _loop_1(i);\n }\n this.refreshResizeFixedCols('Right');\n }\n if (this.column && (this.column.freeze === 'Fixed' || (this.column.columns && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.frozenDirection)(this.column) === 'Fixed'))) {\n this.refreshResizeFixedCols('Left');\n this.refreshResizeFixedCols('Right');\n this.frzHdrRefresh('Left');\n this.frzHdrRefresh('Right');\n }\n if (this.parent.groupSettings.columns.length && this.parent.aggregates.length &&\n this.parent.getContent().querySelector('.e-groupcaptionrow')) {\n this.refreshGroupCaptionRow();\n }\n };\n Resize.prototype.refreshGroupCaptionRow = function () {\n var capRow = [].slice.call(this.parent.getContent().querySelectorAll('.e-groupcaptionrow'));\n for (var i = 0; i < capRow.length; i++) {\n var tr = capRow[parseInt(i.toString(), 10)];\n if (tr.querySelector('.e-summarycell')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.groupCaptionRowLeftRightPos)(tr, this.parent);\n }\n }\n };\n Resize.prototype.frzHdrRefresh = function (pos) {\n var _this = this;\n var translateX = this.parent.enableColumnVirtualization ? this.parent.translateX : 0;\n if (pos === 'Left') {\n var tr = [].slice.call(this.parent.getHeaderContent().querySelector('thead').querySelectorAll('tr'));\n for (var i = 0; i < tr.length; i++) {\n var th = [].slice.call(tr[parseInt(i.toString(), 10)].querySelectorAll('.e-leftfreeze,.e-fixedfreeze'));\n var _loop_2 = function (j) {\n var node = th[parseInt(j.toString(), 10)];\n if (node.classList.contains('e-rowdragheader') || node.classList.contains('e-dragheadercell') ||\n node.classList.contains('e-grouptopleftcell')) {\n return \"continue\";\n }\n var column = this_2.getParticularCol(node);\n var cols = this_2.parent.getColumns();\n var width = 0;\n var summarycell = [];\n if (this_2.parent.aggregates.length && this_2.parent.getFooterContent()) {\n if (this_2.parent.getContent().querySelectorAll('.e-summaryrow').length) {\n var summaryRows = [].slice.call(this_2.parent.getContent().querySelectorAll('.e-summaryrow'));\n summaryRows.filter(function (row) {\n summarycell.push(row.querySelector('[e-mappinguid=\"' + column.uid + '\"]'));\n });\n }\n summarycell = summarycell.concat([].slice.call(this_2.parent.getFooterContent().querySelectorAll('[e-mappinguid=\"' + column.uid + '\"]')));\n }\n if (node.classList.contains('e-fixedfreeze')) {\n if (this_2.parent.getVisibleFrozenLeftCount()) {\n width = this_2.parent.getIndentCount() * 30;\n }\n else if (this_2.parent.getFrozenMode() === 'Right') {\n width = this_2.parent.groupSettings.columns.length * 30;\n }\n for (var w = 0; w < cols.length; w++) {\n if (column.index > cols[parseInt(w.toString(), 10)].index) {\n if (column.uid === cols[parseInt(w.toString(), 10)].uid) {\n break;\n }\n if ((cols[parseInt(w.toString(), 10)].freeze === 'Left' || cols[parseInt(w.toString(), 10)].isFrozen) ||\n cols[parseInt(w.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(w.toString(), 10)].visible) {\n width += parseInt(cols[parseInt(w.toString(), 10)].width.toString(), 10);\n }\n }\n }\n }\n if (summarycell && summarycell.length) {\n summarycell.filter(function (cell) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, width - translateX, _this.parent.enableRtl, 'Left');\n });\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, ((width === 0 ? width : width - 1) - translateX), this_2.parent.enableRtl, 'Left');\n }\n else {\n width = this_2.parent.getIndentCount() * 30;\n if (column.index === 0) {\n if (summarycell && summarycell.length) {\n summarycell.filter(function (cell) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, width - translateX, _this.parent.enableRtl, 'Left');\n });\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, width - translateX, this_2.parent.enableRtl, 'Left');\n if (this_2.parent.enableColumnVirtualization) {\n column.valueX = width;\n }\n }\n else {\n for (var k = 0; k < cols.length; k++) {\n if (column.index < cols[parseInt(k.toString(), 10)].index ||\n column.uid === cols[parseInt(k.toString(), 10)].uid) {\n break;\n }\n if (cols[parseInt(k.toString(), 10)].visible) {\n width += parseInt(cols[parseInt(k.toString(), 10)].width.toString(), 10);\n }\n }\n if (summarycell && summarycell.length) {\n summarycell.filter(function (cell) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, width - translateX, _this.parent.enableRtl, 'Left');\n });\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, width - translateX, this_2.parent.enableRtl, 'Left');\n if (this_2.parent.enableColumnVirtualization) {\n column.valueX = width;\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.addStickyColumnPosition)(this_2.parent, column, node);\n }\n };\n var this_2 = this;\n for (var j = 0; j < th.length; j++) {\n _loop_2(j);\n }\n }\n }\n if (pos === 'Right') {\n var tr = [].slice.call(this.parent.getHeaderContent().querySelector('thead').querySelectorAll('tr'));\n for (var i = 0; i < tr.length; i++) {\n var th = [].slice.call(tr[parseInt(i.toString(), 10)].querySelectorAll('.e-rightfreeze, .e-fixedfreeze'));\n var _loop_3 = function (j) {\n var node = th[parseInt(j.toString(), 10)];\n var column = this_3.getParticularCol(node);\n var cols = this_3.parent.getColumns();\n var width = 0;\n var summarycell = [];\n if (this_3.parent.aggregates.length && this_3.parent.getFooterContent()) {\n if (this_3.parent.getContent().querySelectorAll('.e-summaryrow').length) {\n var summaryRows = [].slice.call(this_3.parent.getContent().querySelectorAll('.e-summaryrow'));\n summaryRows.filter(function (row) {\n summarycell.push(row.querySelector('[e-mappinguid=\"' + column.uid + '\"]'));\n });\n }\n summarycell = summarycell.concat([].slice.call(this_3.parent.getFooterContent().querySelectorAll('[e-mappinguid=\"' + column.uid + '\"]')));\n }\n if (node.classList.contains('e-fixedfreeze')) {\n width = this_3.parent.getFrozenMode() === 'Right' && this_3.parent.isRowDragable() ? 30 : 0;\n for (var w = cols.length - 1; w >= 0; w--) {\n if (column.index < cols[parseInt(w.toString(), 10)].index) {\n if ((column.columns && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.isChildColumn)(column, cols[parseInt(w.toString(), 10)].uid)) ||\n column.index > cols[parseInt(w.toString(), 10)].index) {\n break;\n }\n if (cols[parseInt(w.toString(), 10)].freeze === 'Right' ||\n cols[parseInt(w.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(w.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(w.toString(), 10)].width.toString());\n }\n }\n }\n }\n if (summarycell.length) {\n summarycell.filter(function (cell) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, width + translateX, _this.parent.enableRtl, 'Right');\n });\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, width + translateX, this_3.parent.enableRtl, 'Right');\n }\n else {\n width = this_3.parent.getFrozenMode() === 'Right' && this_3.parent.isRowDragable() ? 30 : 0;\n for (var k = cols.length - 1; k >= 0; k--) {\n if ((column.columns && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.isChildColumn)(column, cols[parseInt(k.toString(), 10)].uid)) ||\n column.index > cols[parseInt(k.toString(), 10)].index ||\n column.uid === cols[parseInt(k.toString(), 10)].uid) {\n break;\n }\n if (cols[parseInt(k.toString(), 10)].visible) {\n width += parseInt(cols[parseInt(k.toString(), 10)].width.toString(), 10);\n }\n }\n if (summarycell.length) {\n summarycell.filter(function (cell) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(cell, width + translateX, _this.parent.enableRtl, 'Right');\n });\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyStickyLeftRightPosition)(node, width + translateX, this_3.parent.enableRtl, 'Right');\n if (this_3.parent.enableColumnVirtualization) {\n column.valueX = width;\n }\n }\n };\n var this_3 = this;\n for (var j = th.length - 1; j >= 0; j--) {\n _loop_3(j);\n }\n }\n }\n };\n Resize.prototype.getParticularCol = function (node) {\n var uid = node.classList.contains('e-filterbarcell') ? node.getAttribute('e-mappinguid') :\n node.querySelector('[e-mappinguid]').getAttribute('e-mappinguid');\n return this.parent.getColumnByUid(uid);\n };\n Resize.prototype.resizing = function (e) {\n var _this = this;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && typeof e.preventDefault === 'function') {\n e.preventDefault();\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column)) {\n return;\n }\n if (this.parent.isFrozenGrid()) {\n this.refreshResizefrzCols();\n }\n var offsetWidth = 0;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column)) {\n offsetWidth = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(this.element, 'th').offsetWidth;\n }\n if (this.parent.allowTextWrap) {\n this.updateResizeEleHeight();\n this.setHelperHeight();\n }\n var pageX = this.getPointX(e);\n var mousemove = this.parent.enableRtl ? -(pageX - this.pageX) : (pageX - this.pageX);\n var prevWidth = parseFloat(this.column.width.toString());\n var colData = this.getColData(this.column, mousemove);\n if (!colData.width) {\n colData.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'th').offsetWidth;\n }\n var width = this.getWidth(colData.width, colData.minWidth, colData.maxWidth);\n this.parent.log('resize_min_max', { column: this.column, width: width });\n if (((!this.parent.enableRtl && this.minMove >= pageX) || (this.parent.enableRtl && this.minMove <= pageX))) {\n width = this.column.minWidth ? parseFloat(this.column.minWidth.toString()) : 10;\n this.pageX = pageX = this.minMove;\n }\n if (width !== parseFloat((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.column.width) || this.column.width === 'auto' ?\n offsetWidth.toString() : this.column.width.toString())) {\n this.pageX = pageX;\n this.column.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n var args = {\n e: e,\n column: this.column\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.onResize, args);\n if (args.cancel) {\n this.cancelResizeAction(true);\n return;\n }\n var columns = [this.column];\n var finalColumns = [this.column];\n if (this.column.columns) {\n columns = this.getSubColumns(this.column, []);\n columns = this.calulateColumnsWidth(columns, false, mousemove);\n finalColumns = this.calulateColumnsWidth(columns, true, mousemove);\n }\n var minMaxCols = this.parent.getColumns().filter(function (col) { return col.visible && (col.maxWidth || col.minWidth); });\n if (this.parent.resizeSettings.mode === 'Auto' && minMaxCols.length) {\n var columns_2 = this.parent.getColumns().filter(function (col) { return col.visible && col.uid !== _this.column.uid; });\n var distributedCols = this.distributeColWidth(columns_2, mousemove, 0);\n if (Math.round(distributedCols.usedWidth) !== Math.abs(mousemove)) {\n finalColumns[0].width = prevWidth + (distributedCols.usedWidth * Math.sign(mousemove));\n }\n finalColumns = finalColumns.concat(distributedCols.columns);\n }\n this.resizeProcess = true;\n for (var _i = 0, finalColumns_1 = finalColumns; _i < finalColumns_1.length; _i++) {\n var col = finalColumns_1[_i];\n this.widthService.setColumnWidth(col, null, 'resize');\n }\n this.resizeProcess = false;\n this.updateHelper();\n }\n this.isDblClk = false;\n };\n Resize.prototype.distributeColWidth = function (columns, distributeWidth, usedWidth) {\n var incDecWidth = distributeWidth / columns.length;\n var absIncDecWidth = Math.abs(incDecWidth);\n var appliedColumns = [];\n var availableColumns = [];\n var extraWidth = 0;\n for (var _i = 0, columns_3 = columns; _i < columns_3.length; _i++) {\n var col = columns_3[_i];\n var afterIncDec = parseFloat(col.width.toString()) - incDecWidth;\n if (col.minWidth && afterIncDec < parseInt(col.minWidth.toString(), 10)) {\n var remainWidth = parseFloat((parseInt(col.minWidth.toString(), 10) - afterIncDec).toFixed(3));\n extraWidth += remainWidth;\n usedWidth += (absIncDecWidth - remainWidth);\n col.width = col.minWidth;\n appliedColumns.push(col);\n }\n else if (col.maxWidth && afterIncDec > parseInt(col.maxWidth.toString(), 10)) {\n var remainWidth = parseFloat((afterIncDec - parseInt(col.maxWidth.toString(), 10)).toFixed(3));\n extraWidth += remainWidth;\n usedWidth += (absIncDecWidth - remainWidth);\n col.width = col.maxWidth;\n appliedColumns.push(col);\n }\n else {\n usedWidth += absIncDecWidth;\n col.width = afterIncDec;\n availableColumns.push(col);\n }\n }\n var distributedCols = extraWidth && availableColumns.length\n ? this.distributeColWidth(availableColumns, extraWidth * Math.sign(distributeWidth), usedWidth)\n : { columns: availableColumns, usedWidth: usedWidth };\n return { columns: appliedColumns.concat(distributedCols.columns), usedWidth: distributedCols.usedWidth };\n };\n Resize.prototype.calulateColumnsWidth = function (columns, isUpdate, mousemove) {\n var finalColumns = [];\n for (var _i = 0, columns_4 = columns; _i < columns_4.length; _i++) {\n var col = columns_4[_i];\n var totalWidth = 0;\n for (var i = 0; i < columns.length; i++) {\n totalWidth += parseFloat(columns[parseInt(i.toString(), 10)].width.toString());\n }\n var colData = this.getColData(col, (parseFloat(col.width)) * mousemove / totalWidth);\n var colWidth = this.getWidth(colData.width, colData.minWidth, colData.maxWidth);\n if ((colWidth !== parseFloat(col.width.toString()))) {\n if (isUpdate) {\n col.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(colWidth < 1 ? 1 : colWidth);\n }\n finalColumns.push(col);\n }\n }\n return finalColumns;\n };\n Resize.prototype.getSubColumns = function (column, subColumns) {\n for (var _i = 0, _a = column.columns; _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.visible !== false && col.allowResizing) {\n if (col.columns) {\n this.getSubColumns(col, subColumns);\n }\n else {\n subColumns.push(col);\n }\n }\n }\n return subColumns;\n };\n Resize.prototype.resizeEnd = function (e) {\n if (!this.helper || this.parent.isDestroyed) {\n return;\n }\n var gObj = this.parent;\n if (gObj.isFrozenGrid()) {\n this.refreshResizePosition();\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.resizing);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.resizeEnd);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.removeHelper);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.helper, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.resizeStart);\n }\n this.updateCursor('remove');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.helper);\n var args = { e: e, column: this.column };\n var content = this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content);\n var cTable = content;\n if (cTable.scrollHeight > cTable.clientHeight) {\n this.parent.scrollModule.setPadding();\n cTable.style.overflowY = 'scroll';\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.resizeStop, args);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, '.e-headercell').classList.add('e-resized');\n this.isFrozenColResized = false;\n if (this.parent.allowTextWrap) {\n this.updateResizeEleHeight();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.textWrapRefresh, { case: 'textwrap' });\n }\n var headerTable = gObj.getHeaderTable();\n var contentTable = gObj.getContentTable();\n var footerTable;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getFooterContent())) {\n footerTable = gObj.getFooterContentTable();\n }\n var tableWidth = headerTable.offsetWidth;\n var contentwidth = (gObj.getContent().scrollWidth);\n if (contentwidth > tableWidth) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(contentTable.querySelector('.e-emptyrow'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([headerTable], ['e-tableborder']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([contentTable], ['e-tableborder']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([headerTable, contentTable], ['e-tableborder']);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([gObj.element], ['e-left-shadow', 'e-right-shadow']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([headerTable, contentTable], ['e-tableborder']);\n if (gObj.getVisibleFrozenRightCount()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([gObj.element], 'e-right-shadow');\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(footerTable)) {\n footerTable.classList.add('e-tableborder');\n }\n this.refresh();\n this.doubleTapEvent(e);\n this.isDblClk = true;\n };\n Resize.prototype.getPointX = function (e) {\n if (e.touches && e.touches.length) {\n return e.touches[0].pageX;\n }\n else {\n return e.pageX;\n }\n };\n Resize.prototype.refreshColumnWidth = function () {\n var columns = this.parent.getColumns();\n for (var _i = 0, _a = [].slice.apply(this.parent.getHeaderContent().querySelectorAll('th.e-headercell')); _i < _a.length; _i++) {\n var ele = _a[_i];\n for (var _b = 0, columns_5 = columns; _b < columns_5.length; _b++) {\n var column = columns_5[_b];\n if (ele.querySelector('[e-mappinguid]') &&\n ele.querySelector('[e-mappinguid]').getAttribute('e-mappinguid') === column.uid && column.visible) {\n column.width = ele.getBoundingClientRect().width;\n break;\n }\n }\n }\n return columns;\n };\n Resize.prototype.refreshStackedColumnWidth = function () {\n for (var _i = 0, _a = this.parent.getStackedColumns(this.parent.columns); _i < _a.length; _i++) {\n var stackedColumn = _a[_i];\n stackedColumn.width = this.getStackedWidth(stackedColumn, 0);\n }\n };\n Resize.prototype.getStackedWidth = function (column, width) {\n for (var _i = 0, _a = column.columns; _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.visible !== false) {\n if (col.columns) {\n width = this.getStackedWidth(col, width);\n }\n else {\n width += parseFloat(col.width.toString());\n }\n }\n }\n return width;\n };\n Resize.prototype.getTargetColumn = function (e) {\n var cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, resizeClassList.header);\n cell = cell.querySelector('.e-headercelldiv') || cell.querySelector('.e-stackedheadercelldiv');\n var uid = cell.getAttribute('e-mappinguid');\n return this.parent.getColumnByUid(uid);\n };\n Resize.prototype.updateCursor = function (action) {\n var headerRows = [].slice.call(this.parent.getHeaderContent().querySelectorAll('th'));\n headerRows.push(this.parent.element);\n for (var _i = 0, headerRows_1 = headerRows; _i < headerRows_1.length; _i++) {\n var row = headerRows_1[_i];\n row.classList[\"\" + action](resizeClassList.cursor);\n }\n };\n Resize.prototype.refresh = function () {\n this.column = null;\n this.pageX = null;\n this.element = null;\n this.helper = null;\n };\n Resize.prototype.appendHelper = function () {\n this.helper = this.parent.createElement('div', {\n className: resizeClassList.helper\n });\n this.parent.element.appendChild(this.helper);\n this.setHelperHeight();\n };\n Resize.prototype.setHelperHeight = function () {\n var height = this.parent.getContent().offsetHeight - this.getScrollBarWidth();\n var rect = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, resizeClassList.header);\n var tr = [].slice.call(this.parent.getHeaderContent().querySelectorAll('tr'));\n for (var i = tr.indexOf(rect.parentElement); i < tr.length && i > -1; i++) {\n height += tr[parseInt(i.toString(), 10)].offsetHeight;\n }\n var pos = this.calcPos(rect);\n pos.left += (this.parent.enableRtl ? 0 - 1 : rect.offsetWidth - 2);\n this.helper.style.cssText = 'height: ' + height + 'px; top: ' + pos.top + 'px; left:' + Math.floor(pos.left) + 'px;';\n if (this.parent.enableVirtualization) {\n this.helper.classList.add('e-virtual-rhandler');\n }\n };\n Resize.prototype.getScrollBarWidth = function (height) {\n var ele = this.parent.getContent().firstChild;\n return (ele.scrollHeight > ele.clientHeight && height) ||\n ele.scrollWidth > ele.clientWidth ? (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getScrollBarWidth)() : 0;\n };\n Resize.prototype.removeHelper = function (e) {\n var cls = e.target.classList;\n if (!(cls.contains(resizeClassList.root) || cls.contains(resizeClassList.icon)) && this.helper) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.removeHelper);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.helper, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.resizeStart);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.helper);\n this.refresh();\n }\n };\n Resize.prototype.updateHelper = function () {\n var rect = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, resizeClassList.header);\n var left;\n left = Math.floor(this.calcPos(rect).left + (this.parent.enableRtl ? 0 - 1 : rect.offsetWidth - 2));\n var borderWidth = 2; // to maintain the helper inside of grid element.\n if (left > this.parentElementWidth) {\n left = this.parentElementWidth - borderWidth;\n }\n this.helper.style.left = left + 'px';\n };\n Resize.prototype.calcPos = function (elem) {\n var parentOffset = {\n top: 0,\n left: 0\n };\n var offset = elem.getBoundingClientRect();\n var doc = elem.ownerDocument;\n var offsetParent = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(elem, 'e-grid') || doc.documentElement;\n while (offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n offsetParent.style.position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n if (offsetParent && offsetParent !== elem && offsetParent.nodeType === 1) {\n parentOffset = offsetParent.getBoundingClientRect();\n }\n return {\n top: offset.top - parentOffset.top,\n left: offset.left - parentOffset.left\n };\n };\n Resize.prototype.doubleTapEvent = function (e) {\n var _this = this;\n if (this.getUserAgent() && this.isDblClk) {\n if (!this.tapped) {\n this.tapped = setTimeout(function () {\n _this.tapped = null;\n }, 300);\n }\n else {\n clearTimeout(this.tapped);\n this.callAutoFit(e);\n this.tapped = null;\n }\n }\n };\n Resize.prototype.getUserAgent = function () {\n var userAgent = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.userAgent.toLowerCase();\n return /iphone|ipod|ipad/.test(userAgent);\n };\n Resize.prototype.timeoutHandler = function () {\n this.tapped = null;\n };\n return Resize;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/row-reorder.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/row-reorder.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RowDD: () => (/* binding */ RowDD)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _actions_scroll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../actions/scroll */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n// eslint-disable-next-line valid-jsdoc, jsdoc/require-param, jsdoc/require-returns\n/**\n *\n * Reorder module is used to handle row reordering.\n *\n * @hidden\n */\nvar RowDD = /** @class */ (function () {\n /**\n * Constructor for the Grid print module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function RowDD(parent) {\n var _this = this;\n this.selectedRows = [];\n this.isOverflowBorder = true;\n this.selectedRowColls = [];\n this.isRefresh = true;\n this.isReplaceDragEle = true;\n this.istargetGrid = false;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.helper = function (e) {\n var gObj = _this.parent;\n var target = _this.draggable.currentStateTarget;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && gObj.rowDropSettings.targetID && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.classList) && !target.classList.contains('e-rowcell')) {\n target = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-rowcell');\n }\n var visualElement = _this.parent.createElement('div', {\n className: 'e-cloneproperties e-draganddrop e-grid e-dragclone'\n });\n visualElement.style.height = 'auto';\n var table = _this.parent.createElement('table', { attrs: { role: 'grid' } });\n var tbody = _this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } });\n if (document.getElementsByClassName('e-griddragarea').length ||\n (gObj.rowDropSettings.targetID && ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && !target.classList.contains('e-selectionbackground')\n && gObj.selectionSettings.type !== 'Single') || !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-rowcell'))) ||\n (!gObj.rowDropSettings.targetID && !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-rowdragdrop'))) {\n return false;\n }\n if (gObj.rowDropSettings.targetID &&\n gObj.selectionSettings.mode === 'Row' && gObj.selectionSettings.type === 'Single') {\n gObj.selectRow(parseInt(_this.draggable.currentStateTarget.parentElement\n .getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1);\n }\n _this.startedRow = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'tr').cloneNode(true);\n if (_this.parent.isFrozenGrid()) {\n var nodes = [].slice.call(_this.startedRow.querySelectorAll('.e-rowcell'));\n for (var i = 0; i < nodes.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([nodes[parseInt(i.toString(), 10)]], ['e-leftfreeze', 'e-freezeleftborder', 'e-fixedfreeze', 'e-freezerightborder', 'e-rightfreeze', 'e-unfreeze']);\n nodes[parseInt(i.toString(), 10)].removeAttribute('style');\n }\n }\n _this.processArgs(target);\n var args = {\n selectedRow: _this.rows, dragelement: target,\n cloneElement: visualElement, cancel: false, data: _this.rowData\n };\n var selectedRows = gObj.getSelectedRows();\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDragStartHelper, args);\n var cancel = 'cancel';\n if (args[\"\" + cancel]) {\n return false;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.removeElement)(_this.startedRow, '.e-indentcell');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.removeElement)(_this.startedRow, '.e-detailrowcollapse');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.removeElement)(_this.startedRow, '.e-detailrowexpand');\n if (!(gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache)) {\n _this.removeCell(_this.startedRow, _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridChkBox);\n }\n var activeCells = _this.startedRow.querySelectorAll('.e-active');\n activeCells.forEach(function (cell) { return cell.classList.remove('e-active'); });\n tbody.appendChild(_this.startedRow);\n if (gObj.getSelectedRowIndexes().length > 1 && _this.startedRow.hasAttribute('aria-selected')) {\n var dropCountEle = _this.parent.createElement('span', {\n className: 'e-dropitemscount', innerHTML: '' + selectedRows.length\n });\n visualElement.appendChild(dropCountEle);\n }\n var ele = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'tr').querySelector('.e-icon-rowdragicon');\n if (ele) {\n ele.classList.add('e-dragstartrow');\n }\n table.appendChild(tbody);\n visualElement.appendChild(table);\n gObj.element.appendChild(visualElement);\n return visualElement;\n };\n this.dragStart = function (e) {\n var gObj = _this.parent;\n if ((gObj.enableVirtualization || gObj.infiniteScrollSettings.enableCache) && gObj.allowGrouping &&\n gObj.groupSettings.columns.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target.closest('tr'))) {\n var dragTrs = e.dragElement.querySelectorAll('tr');\n var indentCells = e.target.closest('tr').querySelectorAll('.e-indentcell');\n for (var i = 0; i < dragTrs.length; i++) {\n for (var j = 0; j < indentCells.length; j++) {\n var cloneIndentCell = indentCells[parseInt(j.toString(), 10)].cloneNode(true);\n dragTrs[parseInt(i.toString(), 10)].insertBefore(cloneIndentCell, dragTrs[parseInt(i.toString(), 10)].firstElementChild);\n }\n }\n }\n if (gObj.element.classList.contains('e-childgrid')) {\n var parentGrid = _this.getParentGrid(gObj.element);\n parentGrid.appendChild(e.dragElement);\n gObj.element.appendChild(gObj.createElement('div', { className: 'e-drag-ref' }));\n }\n document.body.classList.add('e-prevent-select');\n if (document.getElementsByClassName('e-griddragarea').length) {\n return;\n }\n var target = e.target;\n var spanCssEle = _this.parent.element.querySelector('.e-dropitemscount');\n if (_this.parent.getSelectedRecords().length > 1 && spanCssEle) {\n spanCssEle.style.left = _this.parent.element.querySelector('.e-cloneproperties table')\n .offsetWidth - 5 + 'px';\n }\n _this.processArgs(target);\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDragStart, {\n rows: _this.rows, target: e.target,\n draggableType: 'rows', fromIndex: parseInt(_this.rows[0].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1,\n data: (_this.rowData[0] && Object.keys(_this.rowData[0]).length > 0) ? _this.rowData : _this.currentViewData()\n });\n _this.dragStartData = _this.rowData;\n var dropElem = document.getElementById(gObj.rowDropSettings.targetID);\n if (gObj.rowDropSettings.targetID && dropElem && dropElem.ej2_instances &&\n dropElem.ej2_instances[0].getModuleName() === 'grid') {\n dropElem.ej2_instances[0].getContent().classList.add('e-allowRowDrop');\n }\n };\n this.drag = function (e) {\n var gObj = _this.parent;\n _this.isDropGrid = _this.parent;\n _this.istargetGrid = false;\n if (_this.parent.rowDropSettings.targetID) {\n var dropElement = document.getElementById(gObj.rowDropSettings.targetID);\n _this.isDropGrid = dropElement.ej2_instances[0];\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-grid')) {\n _this.istargetGrid = _this.parent.rowDropSettings.targetID === (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-grid').id;\n }\n }\n var cloneElement = _this.parent.element.querySelector('.e-cloneproperties');\n if (gObj.element.classList.contains('e-childgrid')) {\n var parentGrid = _this.getParentGrid(gObj.element);\n cloneElement = parentGrid.querySelector('.e-cloneproperties');\n }\n var target = _this.getElementFromPosition(cloneElement, e.event);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-defaultcur'], ['e-notallowedcur', 'e-movecur', 'e-grabcur']);\n _this.isOverflowBorder = true;\n _this.hoverState = gObj.enableHover;\n var trElement = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid') ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr') : null;\n if (!e.target) {\n return;\n }\n _this.processArgs(target);\n if (gObj.enableVirtualization && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.rows[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-movecur']);\n }\n var args = {\n rows: _this.rows, target: target, draggableType: 'rows',\n data: _this.rowData, originalEvent: e, cancel: false\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDrag, args);\n _this.stopTimer();\n if (args.cancel) {\n return;\n }\n gObj.element.classList.add('e-rowdrag');\n if (trElement && ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid').id === cloneElement.parentElement.id || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid').id)) {\n if (_this.isDropGrid.element.querySelector('.e-emptyrow')) {\n _this.dragTarget = 0;\n }\n else {\n _this.dragTarget = parseInt(trElement.getAttribute('aria-rowindex'), 10) - 1;\n }\n }\n else {\n _this.dragTarget = parseInt(_this.startedRow.getAttribute('aria-rowindex'), 10) - 1;\n }\n if (gObj.rowDropSettings.targetID) {\n var dragParentElement = document.querySelector('.e-drag-ref');\n if (!(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid') || (dragParentElement\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(dragParentElement.parentElement, 'e-grid').id === (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid').id) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(cloneElement.parentElement, 'e-grid').id === (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid').id) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-grabcur'], ['e-notallowedcur']);\n }\n }\n else {\n var element = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid');\n if (element && element.id === cloneElement.parentElement.id && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-row') &&\n !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-addedrow')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-movecur'], ['e-defaultcur']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-movecur']);\n }\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(_this.isDropGrid.element, 'e-grid')) {\n if ((!_this.isDropGrid.groupSettings.columns.length || _this.isDropGrid.groupSettings.columns.length)\n && !_this.isDropGrid.element.querySelector('.e-emptyrow')) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid') && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-grid').id === _this.isDropGrid.element.id) {\n _this.updateScrollPostion(e.event);\n }\n if (((_this.isOverflowBorder || _this.parent.frozenRows > _this.dragTarget) &&\n (parseInt(_this.startedRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1 !== _this.dragTarget || _this.istargetGrid))\n || (_this.istargetGrid && trElement && _this.isDropGrid.getRowByIndex(_this.isDropGrid.getCurrentViewRecords().length - 1).\n getAttribute('data-uid') === trElement.getAttribute('data-uid'))) {\n _this.moveDragRows(e, _this.startedRow, trElement);\n }\n else {\n var islastRowIndex = void 0;\n if (_this.parent.enableVirtualization) {\n islastRowIndex = trElement && parseInt(trElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1 ===\n _this.parent.renderModule.data.dataManager.dataSource.json.length - 1;\n }\n else {\n var rowIndex = _this.parent.enableInfiniteScrolling && _this.parent.infiniteScrollSettings.enableCache &&\n !_this.parent.groupSettings.enableLazyLoading ?\n _this.parent.pageSettings.currentPage * _this.parent.pageSettings.pageSize - 1 :\n _this.parent.getCurrentViewRecords().length - 1;\n var lastRow = _this.parent.getRowByIndex(rowIndex);\n islastRowIndex = trElement && lastRow && lastRow.getAttribute('data-uid') === trElement.getAttribute('data-uid') &&\n lastRow.getAttribute('data-uid') !== _this.startedRow.getAttribute('data-uid');\n if (_this.isNewRowAdded() && _this.parent.editSettings.newRowPosition === 'Bottom') {\n islastRowIndex = false;\n }\n }\n if (islastRowIndex && !_this.parent.rowDropSettings.targetID) {\n var bottomborder = _this.parent.createElement('div', { className: 'e-lastrow-dragborder' });\n var gridcontentEle = _this.parent.getContent();\n bottomborder.style.width = _this.parent.element.offsetWidth - _this.getScrollWidth() + 'px';\n if (_this.parent.enableVirtualization) {\n bottomborder.style.zIndex = '1';\n }\n if (!gridcontentEle.getElementsByClassName('e-lastrow-dragborder').length &&\n (!(gObj.allowGrouping && gObj.groupSettings.columns.length) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(trElement.nextSibling))) {\n gridcontentEle.classList.add('e-grid-relative');\n gridcontentEle.appendChild(bottomborder);\n bottomborder.style.bottom = _this.getScrollWidth() + 'px';\n }\n }\n _this.removeBorder(trElement);\n }\n }\n if (target && target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content)\n && !_this.isDropGrid.element.querySelector('.e-emptyrow') && _this.istargetGrid) {\n _this.removeBorder(trElement);\n var rowIndex = _this.isDropGrid.getCurrentViewRecords().length - 1;\n var selector = '.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse';\n var groupSelector = '.e-rowcell:not(.e-hide),.e-rowdragdrop:not(.e-hide),.e-detailrowcollapse:not(.e-hide)';\n var rowElement = [];\n if (_this.parent.allowGrouping && _this.parent.groupSettings.columns && _this.parent.groupSettings.columns.length) {\n rowElement = [].slice.call(_this.isDropGrid.getRowByIndex(rowIndex).querySelectorAll(groupSelector));\n }\n else {\n rowElement = [].slice.call(_this.isDropGrid.getRowByIndex(rowIndex).querySelectorAll(selector));\n }\n if (rowElement.length > 0) {\n if (_this.parent.allowGrouping && _this.parent.groupSettings.columns && _this.parent.groupSettings.columns.length) {\n _this.groupRowDDIndicator(rowElement, true);\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)(rowElement, true, 'e-dragborder');\n }\n }\n }\n }\n };\n this.dragStop = function (e) {\n if (_this.parent.isCheckBoxSelection && _this.parent.enableInfiniteScrolling) {\n window.getSelection().removeAllRanges();\n }\n document.body.classList.remove('e-prevent-select');\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isActionPrevent)(_this.parent)) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.preventBatch, {\n instance: _this, handler: _this.processDragStop, arg1: e\n });\n }\n else {\n _this.processDragStop(e);\n }\n };\n this.processDragStop = function (e) {\n var gObj = _this.parent;\n if (_this.parent.isDestroyed) {\n return;\n }\n var targetEle = _this.getElementFromPosition(e.helper, e.event);\n var target = targetEle && !targetEle.classList.contains('e-dlg-overlay') ?\n targetEle : e.target;\n gObj.element.classList.remove('e-rowdrag');\n var dropElement = document.getElementById(gObj.rowDropSettings.targetID);\n if (gObj.rowDropSettings.targetID && dropElement && dropElement.ej2_instances &&\n dropElement.ej2_instances[0].getModuleName() === 'grid') {\n dropElement.ej2_instances[0].getContent().classList.remove('e-allowRowDrop');\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(_this.isDropGrid.element, 'e-grid')) {\n _this.stopTimer();\n _this.isDropGrid.enableHover = _this.hoverState;\n _this.isDropGrid.getContent().classList.remove('e-grid-relative');\n _this.removeBorder(targetEle);\n var stRow = _this.isDropGrid.element.querySelector('.e-dragstartrow');\n if (stRow) {\n stRow.classList.remove('e-dragstartrow');\n }\n }\n _this.processArgs(target);\n if (gObj.enableVirtualization && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.rows[0])) {\n return;\n }\n var args = {\n target: target, draggableType: 'rows',\n cancel: false,\n fromIndex: parseInt(_this.rows[0].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1,\n dropIndex: _this.dragTarget, rows: _this.rows,\n data: (Object.keys(_this.dragStartData[0]).length > 0) ? _this.dragStartData : _this.currentViewData()\n };\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDrop, args, function () {\n if (!((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row) || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-emptyrow')\n || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent)) || args.cancel) {\n _this.dragTarget = null;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.helper);\n return;\n }\n _this.isRefresh = false;\n var selectedIndexes = _this.parent.getSelectedRowIndexes();\n if (gObj.isRowDragable()) {\n if (!_this.parent.rowDropSettings.targetID &&\n _this.startedRow.querySelector('td.e-selectionbackground') && selectedIndexes.length > 1 &&\n selectedIndexes.length !== _this.parent.getCurrentViewRecords().length) {\n _this.reorderRows(selectedIndexes, args.dropIndex);\n }\n else {\n _this.reorderRows([parseInt(_this.startedRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1], _this.dragTarget);\n }\n _this.dragTarget = null;\n if (!gObj.rowDropSettings.targetID) {\n if (e.helper.classList.contains('e-cloneproperties') && document.querySelector('.' + e.helper.classList[0])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.helper);\n }\n if (gObj.enableVirtualization && !gObj.sortSettings.columns.length && !gObj.filterSettings.columns.length &&\n (!_this.parent.allowGrouping || !gObj.groupSettings.columns.length)) {\n gObj.refresh();\n }\n else {\n _this.rowOrder(args);\n }\n }\n if (_this.parent.getContentTable().scrollHeight < _this.parent.getContent().clientHeight) {\n _this.parent.scrollModule.setLastRowCell();\n }\n }\n _this.isRefresh = true;\n });\n };\n this.removeCell = function (targetRow, className) {\n return [].slice.call(targetRow.querySelectorAll('td')).filter(function (cell) {\n if (cell.classList.contains(className)) {\n targetRow.deleteCell(cell.cellIndex);\n }\n });\n };\n this.parent = parent;\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialEnd, this.initializeDrag, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.columnDrop, this.columnDrop, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDragAndDropComplete, this.onActionComplete, this);\n this.onDataBoundFn = this.onDataBound.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, this.onDataBoundFn);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, this.enableAfterRender, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy, this);\n }\n RowDD.prototype.getParentGrid = function (childGrid) {\n var parentGrid = childGrid;\n var parentGridObtained = false;\n while (!parentGridObtained) {\n if (parentGrid.ej2_instances[0].parentDetails) {\n parentGrid = document.getElementById(parentGrid.ej2_instances[0].parentDetails.parentID);\n }\n if (!parentGrid.classList.contains('e-childgrid')) {\n parentGridObtained = true;\n }\n }\n return parentGrid;\n };\n RowDD.prototype.isNewRowAdded = function () {\n return this.parent.editSettings && this.parent.editSettings.showAddNewRow &&\n !(this.parent.enableInfiniteScrolling || this.parent.enableVirtualization);\n };\n RowDD.prototype.groupRowDDIndicator = function (rowElement, isAdd) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)([rowElement[0]], isAdd, 'e-dragleft');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)(rowElement, isAdd, 'e-dragtop', 'e-dragbottom');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)([rowElement[rowElement.length - 1]], isAdd, 'e-dragright');\n };\n RowDD.prototype.refreshRow = function (args, tbody, target) {\n var gObj = this.parent;\n var tbodyContent = gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n var tbodyHeader = gObj.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n for (var i = 0, len = args.rows.length; i < len; i++) {\n var row = args.rows[parseInt(i.toString(), 10)];\n if (((gObj.enableVirtualization && gObj.allowGrouping && gObj.groupSettings.columns.length) ||\n (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache)) &&\n args.rows.length === 1) {\n var removeElem = gObj.getRowElementByUID(row.getAttribute('data-uid'));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(removeElem)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(removeElem);\n }\n }\n var dragstartrow = row.querySelector('.e-dragstartrow');\n if (dragstartrow) {\n dragstartrow.classList.remove('e-dragstartrow');\n }\n tbody.insertBefore(row, target);\n if (gObj.allowGrouping && gObj.groupSettings.columns.length) {\n var dragRowUid = row.getAttribute('data-uid');\n var dropRowUid = args.target.parentElement.getAttribute('data-uid');\n var dragRowObject = gObj.getRowObjectFromUID(dragRowUid);\n var dropRowObject = gObj.getRowObjectFromUID(dropRowUid);\n if (dragRowObject.parentUid !== dropRowObject.parentUid) {\n gObj['groupModule'].groupReorderHandler(dragRowObject, dropRowObject);\n }\n }\n }\n var tr = [].slice.call(gObj.editSettings.showAddNewRow ?\n tbody.querySelectorAll('.e-row:not(.e-addedrow)') : tbody.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row));\n if (gObj.allowGrouping && gObj.groupSettings.columns.length) {\n if (gObj.groupSettings.enableLazyLoading || (gObj.enableInfiniteScrolling &&\n gObj.infiniteScrollSettings.enableCache && tr.length > gObj.pageSettings.pageSize * 3)) {\n gObj.refresh();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.groupReorderRowObject)(this.parent, args, tr);\n if (gObj.enableVirtualization || (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetCachedRowIndex)(gObj);\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetRowIndex)(this.parent, gObj.getRowsObject().filter(function (data) { return data.isDataRow; }), tr);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshExpandandCollapse, {\n rows: gObj.enableVirtualization ? this.parent.vRows : this.parent.getRowsObject()\n });\n }\n }\n else if (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache &&\n !gObj.groupSettings.columns.length) {\n if (tr.length > gObj.pageSettings.pageSize * 3) {\n gObj.refresh();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.groupReorderRowObject)(this.parent, args, tr);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetCachedRowIndex)(gObj);\n }\n }\n else {\n this.refreshData(tr);\n }\n if (this.parent.frozenRows) {\n for (var i = 0, len = tr.length; i < len; i++) {\n if (i < this.parent.frozenRows) {\n tbodyHeader.appendChild(tr[parseInt(i.toString(), 10)]);\n }\n else {\n tbodyContent.appendChild(tr[parseInt(i.toString(), 10)]);\n }\n }\n }\n };\n RowDD.prototype.updateFrozenRowreOrder = function (args) {\n var gObj = this.parent;\n var tbodyC = gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n var tbodyH = gObj.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n var tr = [].slice.call(tbodyH.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row)).concat([].slice.call(tbodyC.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row)));\n var tbody = gObj.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } });\n if (!gObj.selectionSettings.persistSelection && Object.keys(gObj.selectionModule.selectedRowState).length === 0) {\n this.parent.clearSelection();\n }\n else {\n this.parent.clearRowSelection();\n }\n var targetRow = this.refreshRowTarget(args);\n for (var i = 0, len = tr.length; i < len; i++) {\n tbody.appendChild(tr[parseInt(i.toString(), 10)]);\n }\n this.refreshRow(args, tbody, targetRow);\n };\n RowDD.prototype.refreshRowTarget = function (args) {\n var gObj = this.parent;\n var targetIdx = parseInt(args.target.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n if (gObj.enableVirtualization && gObj.allowGrouping && gObj.groupSettings.columns.length) {\n targetIdx = this.parent.getDataRows().indexOf(args.target.parentElement);\n }\n if ((args.fromIndex < args.dropIndex || args.fromIndex === args.dropIndex) && (!gObj.allowGrouping ||\n !gObj.groupSettings.columns.length)) {\n targetIdx = targetIdx + 1;\n }\n var targetTR = gObj.getRowByIndex(targetIdx);\n if (targetIdx === gObj.getRows().length && this.isNewRowAdded() && this.parent.editSettings.newRowPosition === 'Bottom') {\n targetTR = this.parent.element.querySelector('.e-row.e-addedrow');\n }\n var tr = gObj.allowGrouping && gObj.groupSettings.columns.length && targetIdx !== -1 &&\n args.fromIndex < args.dropIndex && targetTR ? targetTR.nextSibling : targetTR;\n return tr;\n };\n RowDD.prototype.updateFrozenColumnreOrder = function (args) {\n var gObj = this.parent;\n var tbody = gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n if (!gObj.selectionSettings.persistSelection && Object.keys(gObj.selectionModule.selectedRowState).length === 0) {\n this.parent.clearSelection();\n }\n else {\n this.parent.clearRowSelection();\n }\n var targetRow = this.refreshRowTarget(args);\n this.refreshRow(args, tbody, targetRow);\n };\n RowDD.prototype.refreshData = function (tr) {\n var rowObj = {};\n var recordobj = {};\n var rowObjects = this.parent.getRowsObject();\n var currentViewData = this.parent.getCurrentViewRecords();\n for (var i = 0, len = tr.length; i < len; i++) {\n var index = parseInt(tr[parseInt(i.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n rowObj[parseInt(i.toString(), 10)] = rowObjects[parseInt(index.toString(), 10)];\n recordobj[parseInt(i.toString(), 10)] = currentViewData[parseInt(index.toString(), 10)];\n }\n var rows = this.parent.getRows();\n for (var i = 0, len = tr.length; i < len; i++) {\n rows[parseInt(i.toString(), 10)] = tr[parseInt(i.toString(), 10)];\n rowObjects[parseInt(i.toString(), 10)] = rowObj[parseInt(i.toString(), 10)];\n currentViewData[parseInt(i.toString(), 10)] = recordobj[parseInt(i.toString(), 10)];\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetRowIndex)(this.parent, rowObjects, tr);\n };\n RowDD.prototype.rowOrder = function (args) {\n if (args.dropIndex === args.fromIndex || isNaN(args.dropIndex) || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(args.target, 'e-groupcaption')) {\n return;\n }\n if (this.parent.isDetail()) {\n this.parent.detailCollapseAll();\n var rows = [].slice.call(this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody).children);\n var rowObjects = this.parent.getRowsObject();\n rows.filter(function (row) {\n if (row.classList.contains('e-detailrow')) {\n row.remove();\n }\n });\n for (var i = 0, len = rowObjects.length; i < len; i++) {\n if (!rowObjects[parseInt(i.toString(), 10)]) {\n break;\n }\n if (rowObjects[parseInt(i.toString(), 10)].isDetailRow) {\n this.parent.getRowsObject().splice(i, 1);\n i--;\n }\n }\n }\n if (args.target.classList.contains('e-rowcelldrag') || args.target.classList.contains('e-dtdiagonalright')\n || args.target.classList.contains('e-dtdiagonaldown')) {\n args.target = args.target.parentElement;\n }\n if (!args.target.classList.contains('e-rowcell') && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(args.target, 'e-rowcell')) {\n args.target = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(args.target, 'e-rowcell');\n }\n if (this.parent.frozenRows) {\n this.updateFrozenRowreOrder(args);\n }\n else {\n this.updateFrozenColumnreOrder(args);\n }\n if ((!this.parent.allowGrouping || !this.parent.groupSettings.columns.length) && this.selectedRowColls.length > 0) {\n this.parent.selectRows(this.selectedRowColls);\n var indexes = [];\n if (this.parent.filterSettings.columns.length || this.parent.sortSettings.columns.length) {\n for (var i = 0, len = args.rows.length; i < len; i++) {\n indexes.push(parseInt(args.rows[parseInt(i.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1);\n }\n this.selectedRowColls = indexes;\n }\n this.selectedRowColls = [];\n }\n else {\n this.selectedRowColls = [];\n }\n };\n RowDD.prototype.currentViewData = function () {\n var selectedIndexes = this.parent.getSelectedRowIndexes();\n var currentVdata = [];\n var fromIdx = parseInt(this.startedRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n for (var i = 0, n = selectedIndexes.length; i < n; i++) {\n var currentV = 'currentViewData';\n currentVdata[parseInt(i.toString(), 10)] = this.parent[\"\" + currentV][selectedIndexes[parseInt(i.toString(), 10)]];\n }\n if (!this.parent.rowDropSettings.targetID && selectedIndexes.length === 0) {\n currentVdata[0] = this.parent.currentViewData[parseInt(fromIdx.toString(), 10)];\n }\n return currentVdata;\n };\n // private saveChange(changeRecords: object, query: Query): void {\n // this.parent.getDataModule().saveChanges(changeRecords, this.parent.getPrimaryKeyFieldNames()[0], {}, query)\n // .then(() => {\n // this.parent.notify(events.modelChanged, {\n // type: events.actionBegin, requestType: 'rowdraganddrop'\n // });\n // }).catch((e: Error) => {\n // const error: string = 'error';\n // const message: string = 'message';\n // if (!isNullOrUndefined(e[`${error}`]) && !isNullOrUndefined(e[`${error}`][`${message}`])) {\n // e[`${error}`] = e[`${error}`][`${message}`];\n // }\n // this.parent.trigger(events.actionFailure, e);\n // });\n // }\n RowDD.prototype.reorderRows = function (fromIndexes, toIndex) {\n var selectedIndexes = this.parent.getSelectedRowIndexes();\n var selectedRecords = [];\n var draggedRecords = [];\n var currentViewData = this.parent.getDataModule().isRemote() ? this.parent.getCurrentViewRecords() :\n this.parent.renderModule.data.dataManager.dataSource.json;\n var skip = this.parent.allowPaging ?\n (this.parent.pageSettings.currentPage * this.parent.pageSettings.pageSize) - this.parent.pageSettings.pageSize : 0;\n var dropIdx = toIndex + skip;\n var actualIdx = fromIndexes[0] + skip;\n for (var i = 0, len = fromIndexes.length; i < len; i++) {\n draggedRecords[parseInt(i.toString(), 10)] = currentViewData[fromIndexes[parseInt(i.toString(), 10)] + skip];\n }\n for (var i = 0, len = selectedIndexes.length; i < len; i++) {\n selectedRecords[parseInt(i.toString(), 10)] = currentViewData[selectedIndexes[parseInt(i.toString(), 10)] + skip];\n }\n for (var i = 0, len = draggedRecords.length; i < len; i++) {\n if (i !== 0) {\n for (var j = 0, len1 = currentViewData.length; j < len1; j++) {\n if (JSON.stringify(currentViewData[parseInt(j.toString(), 10)]) ===\n JSON.stringify(draggedRecords[parseInt(i.toString(), 10)])) {\n actualIdx = j;\n break;\n }\n }\n for (var j = 0, len1 = currentViewData.length; j < len1; j++) {\n if (JSON.stringify(currentViewData[parseInt(j.toString(), 10)]) === JSON\n .stringify(draggedRecords[i - 1])) {\n if (actualIdx > j) {\n dropIdx = j + 1;\n }\n break;\n }\n }\n }\n this.reorderRow(actualIdx - skip, dropIdx - skip);\n }\n if (this.isRefresh) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, {\n type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, requestType: 'rowdraganddrop'\n });\n }\n for (var i = 0, len = selectedRecords.length; i < len; i++) {\n for (var j = 0, len1 = currentViewData.length; j < len1; j++) {\n if (JSON.stringify(currentViewData[parseInt(j.toString(), 10)]) === JSON\n .stringify(selectedRecords[parseInt(i.toString(), 10)])) {\n selectedIndexes[parseInt(i.toString(), 10)] = j - skip;\n break;\n }\n }\n }\n this.selectedRowColls = selectedIndexes;\n };\n RowDD.prototype.stopTimer = function () {\n window.clearInterval(this.timer);\n };\n /**\n * To trigger action complete event.\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n RowDD.prototype.onActionComplete = function (e) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, { type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, requestType: 'rowdraganddrop' }));\n };\n RowDD.prototype.initializeDrag = function () {\n var gObj = this.parent;\n this.draggable = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Draggable(gObj.element, {\n dragTarget: '.e-rowcelldrag, .e-rowdragdrop, .e-rowcell',\n distance: 5,\n helper: this.helper,\n dragStart: this.dragStart,\n drag: this.drag,\n dragStop: this.dragStop,\n isReplaceDragEle: this.isReplaceDragEle,\n isPreventSelect: false,\n isPreventScroll: true\n });\n };\n RowDD.prototype.updateScrollPostion = function (e) {\n var _this = this;\n var y = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getPosition)(e).y;\n var cliRect = this.isDropGrid.getContent().getBoundingClientRect();\n var rowHeight = this.isDropGrid.getRowHeight() - 15;\n var scrollElem = this.isDropGrid.getContent().firstElementChild;\n var virtualScrollbtm = this.parent.enableVirtualization ? 20 : 0;\n if (cliRect.top >= y) {\n var scrollPixel_1 = -(this.isDropGrid.getRowHeight());\n this.isOverflowBorder = false;\n this.timer = window.setInterval(function () { _this.setScrollDown(scrollElem, scrollPixel_1); }, 200);\n }\n else if (cliRect.top + this.isDropGrid.getContent().clientHeight - rowHeight - 33 - virtualScrollbtm <= y) {\n var scrollPixel_2 = (this.isDropGrid.getRowHeight());\n this.isOverflowBorder = false;\n this.timer = window.setInterval(function () { _this.setScrollDown(scrollElem, scrollPixel_2); }, 200);\n }\n };\n RowDD.prototype.setScrollDown = function (scrollElem, scrollPixel) {\n scrollElem.scrollTop = scrollElem.scrollTop + scrollPixel;\n };\n RowDD.prototype.moveDragRows = function (e, startedRow, targetRow) {\n var cloneElement = this.parent.element.querySelector('.e-cloneproperties');\n if (this.parent.element.classList.contains('e-childgrid')) {\n var parentGrid = this.getParentGrid(this.parent.element);\n cloneElement = parentGrid.querySelector('.e-cloneproperties');\n }\n var element = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(element, 'e-grid') &&\n ((!this.parent.rowDropSettings.targetID &&\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(cloneElement.parentElement, 'e-grid').id === (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(element, 'e-grid').id) || this.istargetGrid)) {\n var targetElement = element;\n if (!element) {\n targetElement = startedRow;\n }\n this.setBorder(targetElement, e.event, startedRow, targetRow);\n }\n };\n RowDD.prototype.setBorder = function (element, event, startedRow, targetRow) {\n var node = this.parent.element;\n if (this.istargetGrid) {\n node = this.isDropGrid.element;\n }\n var cloneElement = this.parent.element.querySelector('.e-cloneproperties');\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n this.removeBorder(element);\n }\n else {\n this.removeFirstRowBorder(element);\n this.removeLastRowBorder(element);\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(element, 'e-grid') && element.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row) && ((!this.parent.rowDropSettings.targetID &&\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(cloneElement.parentElement, 'e-grid').id === (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(element, 'e-grid').id) || this.istargetGrid)) {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns && this.parent.groupSettings.columns.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(node.querySelectorAll('.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse'), ['e-dragtop', 'e-dragright',\n 'e-dragbottom', 'e-dragleft']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(node.querySelectorAll('.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse'), ['e-dragborder']);\n }\n var rowElement = [];\n var targetRowIndex = parseInt(targetRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n if (targetRow && targetRowIndex === 0 &&\n !(this.isNewRowAdded() && this.parent.editSettings.newRowPosition === 'Top')) {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n element = targetRow;\n rowElement = [].slice.call(element\n .querySelectorAll('.e-groupcaption,.e-summarycell,.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse'));\n }\n else {\n var div = this.parent.createElement('div', { className: 'e-firstrow-dragborder' });\n var gridheaderEle = this.isDropGrid.getHeaderContent();\n gridheaderEle.classList.add('e-grid-relative');\n div.style.width = node.offsetWidth - this.getScrollWidth() + 'px';\n if (!gridheaderEle.getElementsByClassName('e-firstrow-dragborder').length) {\n if (this.parent.frozenRows) {\n if (this.parent.isFrozenGrid()) {\n div.style.width = this.parent.getContent().firstElementChild.scrollWidth + 'px';\n }\n gridheaderEle.querySelector('thead').appendChild(div);\n div.style.position = 'relative';\n }\n else {\n gridheaderEle.appendChild(div);\n }\n }\n }\n }\n else if (this.parent.rowDropSettings.targetID && targetRow) {\n element = this.isDropGrid.getRowByIndex(targetRowIndex - 1);\n rowElement = [].slice.call(element.querySelectorAll('.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse'));\n }\n else if (targetRow && parseInt(startedRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1 > targetRowIndex) {\n if (this.parent.enableVirtualization && this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n targetRowIndex = this.parent.getDataRows().indexOf(targetRow);\n }\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n element = targetRow;\n rowElement = [].slice.call(element\n .querySelectorAll(\".e-groupcaption,.e-summarycell,.e-rowcell:not(.e-hide),.e-rowdragdrop:not(.e-hide),\\n .e-detailrowcollapse:not(.e-hide)\"));\n }\n else {\n if (targetRowIndex === 0 && this.isNewRowAdded() && this.parent.editSettings.newRowPosition === 'Top') {\n element = this.parent.element.querySelector('.e-row.e-addedrow tr');\n }\n else {\n element = this.parent.getRowByIndex(targetRowIndex - 1);\n }\n rowElement = [].slice.call(element.querySelectorAll('.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse,.e-dragindentcell'));\n }\n }\n else {\n rowElement = [].slice.call(element.querySelectorAll('.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse'));\n }\n if (rowElement.length > 0) {\n if (this.parent.allowGrouping && this.parent.groupSettings.columns && this.parent.groupSettings.columns.length) {\n this.groupRowDDIndicator(rowElement, true);\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)(rowElement, true, 'e-dragborder');\n }\n }\n }\n };\n RowDD.prototype.getScrollWidth = function () {\n var scrollElem = this.parent.getContent().firstElementChild;\n return scrollElem.scrollWidth > scrollElem.offsetWidth ? _actions_scroll__WEBPACK_IMPORTED_MODULE_4__.Scroll.getScrollBarWidth() : 0;\n };\n RowDD.prototype.removeFirstRowBorder = function (element) {\n if (this.isDropGrid.element.getElementsByClassName('e-firstrow-dragborder').length > 0 && element &&\n (element.rowIndex !== 0 || element.classList.contains('e-columnheader'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.isDropGrid.element.getElementsByClassName('e-firstrow-dragborder')[0]);\n }\n else {\n var addNewRow = this.parent.element.querySelector('.e-row.e-addedrow tr');\n if (addNewRow && addNewRow.querySelector('.e-dragborder')) {\n var rowElement = [].slice.call(addNewRow.\n querySelectorAll('.e-rowcell,.e-rowdragdrop,.e-detailrowcollapse,.e-dragindentcell'));\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)(rowElement, false, 'e-dragborder');\n }\n }\n };\n RowDD.prototype.removeLastRowBorder = function (element) {\n var islastRowIndex;\n if (this.parent.enableVirtualization) {\n islastRowIndex = element && parseInt(element.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1 !==\n this.parent.renderModule.data.dataManager.dataSource.json.length - 1;\n }\n else {\n var rowIndex = this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache &&\n !this.parent.groupSettings.enableLazyLoading ?\n this.parent.pageSettings.currentPage * this.parent.pageSettings.pageSize - 1 :\n this.parent.getCurrentViewRecords().length - 1;\n var lastRow = this.parent.getRowByIndex(rowIndex);\n islastRowIndex = element && lastRow && lastRow.getAttribute('data-uid') !== element.getAttribute('data-uid');\n }\n if (this.parent.element.getElementsByClassName('e-lastrow-dragborder').length > 0 && element && islastRowIndex) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.parent.element.getElementsByClassName('e-lastrow-dragborder')[0]);\n }\n };\n RowDD.prototype.removeBorder = function (element) {\n this.removeFirstRowBorder(element);\n if (!this.parent.rowDropSettings.targetID) {\n this.removeLastRowBorder(element);\n }\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n element = ([].slice.call(this.isDropGrid.getContentTable().querySelectorAll('tr'))).filter(function (row) {\n return row.querySelector('td.e-dragtop.e-dragbottom');\n })[0];\n }\n else {\n element = (this.isDropGrid.getRows()).filter(function (row) { return row.querySelector('td.e-dragborder'); })[0];\n }\n if (element) {\n var rowElement = this.parent.allowGrouping && this.parent.groupSettings.columns.length ? [].slice.call(element\n .querySelectorAll('.e-dragtop.e-dragbottom')) : [].slice.call(element.getElementsByClassName('e-dragborder'));\n if (this.parent.allowGrouping && this.parent.groupSettings.columns && this.parent.groupSettings.columns.length) {\n this.groupRowDDIndicator(rowElement, false);\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses)(rowElement, false, 'e-dragborder');\n }\n }\n };\n RowDD.prototype.getElementFromPosition = function (element, event) {\n var position = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getPosition)(event);\n element.style.display = 'none';\n var target = document.elementFromPoint(position.x, position.y);\n element.style.display = '';\n return target;\n };\n RowDD.prototype.onDataBound = function () {\n if (this.selectedRowColls.length > 0 && (this.parent.enableVirtualization || this.parent.allowRowDragAndDrop)) {\n this.parent.selectRows(this.selectedRowColls);\n this.selectedRowColls = [];\n }\n };\n RowDD.prototype.getTargetIdx = function (targetRow) {\n return targetRow ? parseInt(targetRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1 : 0;\n };\n RowDD.prototype.singleRowDrop = function (e) {\n var targetRow = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n var srcControl = e.droppedElement.parentElement.ej2_instances[0];\n var currentIndex = targetRow ? targetRow.rowIndex : srcControl.currentViewData.length - 1;\n this.reorderRow(this.startedRowIndex, currentIndex);\n };\n RowDD.prototype.columnDrop = function (e) {\n var gObj = this.parent;\n if (e.droppedElement.getAttribute('action') !== 'grouping' &&\n ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row) || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-emptyrow') || (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent))) {\n var targetRow = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n var srcControl = void 0;\n var currentIndex = void 0;\n var dragParentElement = document.querySelector('.e-drag-ref');\n if ((e.droppedElement.querySelector('tr').getAttribute('single-dragrow') !== 'true' &&\n (e.droppedElement.parentElement.id === gObj.element.id || (dragParentElement\n && dragParentElement.parentElement.id === gObj.element.id)))\n || (e.droppedElement.querySelector('tr').getAttribute('single-dragrow') === 'true' &&\n e.droppedElement.parentElement.id !== gObj.element.id)) {\n return;\n }\n if (e.droppedElement.parentElement.id !== gObj.element.id) {\n if (dragParentElement) {\n srcControl = dragParentElement.parentElement.ej2_instances[0];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(dragParentElement);\n }\n else {\n srcControl = e.droppedElement.parentElement.ej2_instances[0];\n }\n }\n else if (this.isSingleRowDragDrop || e.droppedElement.querySelector('tr').getAttribute('single-dragrow') === 'true') {\n this.singleRowDrop(e);\n return;\n }\n if (srcControl.element.id !== gObj.element.id && srcControl.rowDropSettings.targetID !== gObj.element.id) {\n return;\n }\n var records = srcControl.getSelectedRecords();\n var targetIndex = currentIndex = this.getTargetIdx(targetRow);\n if (e.target && e.target.classList.contains('e-content') && gObj.getCurrentViewRecords().length) {\n var lastrow = gObj.getContentTable().querySelector('tr:last-child');\n if (lastrow) {\n targetIndex = currentIndex = parseInt(lastrow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10);\n }\n }\n if (isNaN(targetIndex)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n targetIndex = currentIndex = 0;\n }\n if (gObj.allowPaging) {\n targetIndex = targetIndex + (gObj.pageSettings.currentPage * gObj.pageSettings.pageSize) - gObj.pageSettings.pageSize;\n }\n //Todo: drag and drop mapper & BatchChanges\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowsAdded, { toIndex: targetIndex, records: records });\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, {\n type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, requestType: 'rowdraganddrop'\n });\n var selectedRows = srcControl.getSelectedRowIndexes();\n var skip = srcControl.allowPaging ?\n (srcControl.pageSettings.currentPage * srcControl.pageSettings.pageSize) - srcControl.pageSettings.pageSize : 0;\n this.selectedRows = [];\n for (var i = 0, len = records.length; i < len; i++) {\n this.selectedRows.push(skip + selectedRows[parseInt(i.toString(), 10)]);\n }\n srcControl.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowsRemoved, { indexes: this.selectedRows, records: records });\n if (srcControl.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager && srcControl.dataSource.dataSource.offline) {\n srcControl.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, {\n type: _base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, requestType: 'rowdraganddrop'\n });\n }\n }\n };\n RowDD.prototype.reorderRow = function (fromIndexes, toIndex) {\n var gObj = this.parent;\n if (!gObj.groupSettings.columns.length) {\n //Todo: drag and drop mapper & BatchChanges\n var skip = gObj.allowPaging ?\n (gObj.pageSettings.currentPage * gObj.pageSettings.pageSize) - gObj.pageSettings.pageSize : 0;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var fromIndex = fromIndexes;\n toIndex = toIndex + skip;\n this.selectedRows = gObj.getSelectedRowIndexes();\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowPositionChanged, {\n fromIndex: fromIndexes + skip,\n toIndex: toIndex\n });\n }\n };\n RowDD.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.initializeDrag();\n }\n };\n /**\n * To destroy the print\n *\n * @returns {void}\n * @hidden\n */\n RowDD.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (this.parent.isDestroyed || !gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader) &&\n !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent))) {\n return;\n }\n this.draggable.destroy();\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialEnd, this.initializeDrag);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.columnDrop, this.columnDrop);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDragAndDropComplete, this.onActionComplete);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, this.onDataBoundFn);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, this.enableAfterRender);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy);\n //destory ejdrag and drop\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n RowDD.prototype.getModuleName = function () {\n return 'rowDragAndDrop';\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n RowDD.prototype.processArgs = function (target) {\n var gObj = this.parent;\n var dragIdx = parseInt(this.startedRow.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n if ((gObj.getSelectedRecords().length > 0 && this.startedRow.cells[0].classList.contains('e-selectionbackground') === false)\n || gObj.getSelectedRecords().length === 0) {\n if (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache) {\n this.rows = [this.startedRow];\n }\n else {\n this.rows = [gObj.getRowByIndex(dragIdx)];\n }\n this.rowData = [gObj.getRowInfo((this.startedRow).querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell)).rowData];\n if ((gObj.enableVirtualization || (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache))\n && gObj.allowGrouping && gObj.groupSettings.columns.length && gObj.getSelectedRows().length) {\n this.rows = gObj.getSelectedRows();\n this.rowData = Array.from(this.rows, function (row) { return gObj.getRowObjectFromUID(row.getAttribute('data-uid')).data; });\n }\n }\n else {\n this.rows = gObj.getSelectedRows();\n this.rowData = Array.from(this.rows, function (row) { return gObj.getRowObjectFromUID(row.getAttribute('data-uid')).data; });\n }\n };\n return RowDD;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/row-reorder.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Scroll: () => (/* binding */ Scroll)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _services_width_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/width-controller */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n/**\n * The `Scroll` module is used to handle scrolling behaviour.\n */\nvar Scroll = /** @class */ (function () {\n /**\n * Constructor for the Grid scrolling.\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function Scroll(parent) {\n //To maintain scroll state on grid actions.\n this.previousValues = { top: 0, left: 0 };\n this.oneTimeReady = true;\n this.parent = parent;\n this.widthService = new _services_width_controller__WEBPACK_IMPORTED_MODULE_1__.ColumnWidthService(parent);\n this.addEventListener();\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Scroll.prototype.getModuleName = function () {\n return 'scroll';\n };\n /**\n * @param {boolean} uiupdate - specifies the uiupdate\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.setWidth = function (uiupdate) {\n this.parent.element.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.parent.width);\n if (uiupdate) {\n this.widthService.setWidthToColumns();\n }\n if (this.parent.toolbarModule && this.parent.toolbarModule.toolbar &&\n this.parent.toolbarModule.toolbar.element) {\n var tlbrElement = this.parent.toolbarModule.toolbar.element;\n var tlbrLeftElement = tlbrElement.querySelector('.e-toolbar-left');\n var tlbrCenterElement = tlbrElement.querySelector('.e-toolbar-center');\n var tlbrRightElement = tlbrElement.querySelector('.e-toolbar-right');\n var tlbrItems = tlbrElement.querySelector('.e-toolbar-items');\n var tlbrLeftWidth = tlbrLeftElement ? tlbrLeftElement.clientWidth : 0;\n var tlbrCenterWidth = tlbrCenterElement ? tlbrCenterElement.clientWidth : 0;\n var tlbrRightWidth = tlbrRightElement ? tlbrRightElement.clientWidth : 0;\n var tlbrItemsWidth = tlbrItems ? tlbrItems.clientWidth : 0;\n var tlbrWidth = tlbrElement ? tlbrElement.clientWidth : 0;\n if (!this.parent.enableAdaptiveUI || tlbrLeftWidth > tlbrWidth || tlbrCenterWidth > tlbrWidth || tlbrRightWidth > tlbrWidth ||\n tlbrItemsWidth > tlbrWidth) {\n this.parent.toolbarModule.toolbar.refreshOverflow();\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.setHeight = function () {\n var mHdrHeight = 0;\n var content = this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content);\n var height = this.parent.height;\n if (this.parent.enableColumnVirtualization && this.parent.isFrozenGrid() && this.parent.height !== 'auto'\n && this.parent.height.toString().indexOf('%') < 0) {\n height = parseInt(height, 10) - Scroll.getScrollBarWidth();\n }\n if (!this.parent.enableVirtualization && this.parent.frozenRows && this.parent.height !== 'auto' &&\n this.parent.height !== '100%') {\n var tbody = this.parent.getHeaderContent()\n .querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody + ':not(.e-masked-tbody)');\n mHdrHeight = tbody ? tbody.offsetHeight : 0;\n if (tbody && mHdrHeight) {\n var add = tbody.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.addedRow).length;\n var height_1 = add * this.parent.getRowHeight();\n mHdrHeight -= height_1;\n }\n else if (!this.parent.isInitialLoad && this.parent.loadingIndicator.indicatorType === 'Shimmer'\n && this.parent.getHeaderContent().querySelector('.e-masked-table')) {\n height = parseInt(height, 10) - (this.parent.frozenRows * this.parent.getRowHeight());\n }\n content.style.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(parseInt(height, 10) - mHdrHeight);\n }\n else {\n content.style.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(height);\n }\n this.ensureOverflow(content);\n if (this.parent.isFrozenGrid()) {\n this.refresh();\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.setPadding = function () {\n var content = this.parent.getHeaderContent();\n var scrollWidth = Scroll.getScrollBarWidth() - this.getThreshold();\n var cssProps = this.getCssProperties();\n content.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent).style[cssProps.border] = scrollWidth > 0 ? '1px' : '0px';\n content.style[cssProps.padding] = scrollWidth > 0 ? scrollWidth + 'px' : '0px';\n };\n /**\n * @param {boolean} rtl - specifies the rtl\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.removePadding = function (rtl) {\n var cssProps = this.getCssProperties(rtl);\n var hDiv = this.parent.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent);\n hDiv.style[cssProps.border] = '';\n hDiv.parentElement.style[cssProps.padding] = '';\n var footerDiv = this.parent.getFooterContent();\n if (footerDiv && footerDiv.classList.contains('e-footerpadding')) {\n footerDiv.classList.remove('e-footerpadding');\n }\n };\n /**\n * Refresh makes the Grid adoptable with the height of parent container.\n *\n * > The [`height`](./#height) must be set to 100%.\n *\n * @returns {void}\n */\n Scroll.prototype.refresh = function () {\n if (this.parent.height !== '100%') {\n return;\n }\n var content = this.parent.getContent();\n this.parent.element.style.height = '100%';\n var height = this.widthService.getSiblingsHeight(content);\n content.style.height = 'calc(100% - ' + height + 'px)'; //Set the height to the '.' + literals.gridContent;\n };\n Scroll.prototype.getThreshold = function () {\n /* Some browsers places the scroller outside the content,\n * hence the padding should be adjusted.*/\n var appName = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name;\n if (appName === 'mozilla') {\n return 0.5;\n }\n return 1;\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.onEmpty, this.wireEvents, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.wireEvents, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, this.onPropertyChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.textWrapRefresh, this.wireEvents, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.headerRefreshed, this.setScrollLeft, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.onEmpty, this.wireEvents);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.wireEvents);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, this.onPropertyChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.textWrapRefresh, this.wireEvents);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.headerRefreshed, this.setScrollLeft);\n this.unwireEvents();\n };\n Scroll.prototype.unwireEvents = function () {\n if (this.parent.frozenRows && this.header) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.header, 'touchstart pointerdown', this.setPageXY);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.header, 'touchmove pointermove', this.onTouchScroll);\n }\n var mScrollBar = this.parent.getContent() ? this.parent.getContent().querySelector('.e-movablescrollbar') : null;\n if (this.parent.isFrozenGrid() && this.parent.enableColumnVirtualization) {\n if (mScrollBar) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(mScrollBar, 'scroll', this.onCustomScrollbarScroll);\n }\n if (this.content) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.content, 'scroll', this.onCustomScrollbarScroll);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.content, 'touchstart pointerdown', this.setPageXY);\n if (!(/macintosh|ipad/.test(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.userAgent.toLowerCase()) && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.content, 'touchmove pointermove', this.onTouchScroll);\n }\n }\n if (this.header) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.header, 'scroll', this.onCustomScrollbarScroll);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.header, 'touchstart pointerdown', this.setPageXY);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.header, 'touchmove pointermove', this.onTouchScroll);\n }\n }\n if (this.content) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.content, 'scroll', this.contentScrollHandler);\n }\n if (this.header) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.header, 'scroll', this.headerScrollHandler);\n }\n this.contentScrollHandler = null;\n this.headerScrollHandler = null;\n if (this.parent.aggregates.length && this.parent.getFooterContent()) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getFooterContent().firstChild, 'scroll', this.onContentScroll);\n }\n };\n Scroll.prototype.setScrollLeft = function () {\n this.parent.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent).scrollLeft = this.previousValues.left;\n };\n Scroll.prototype.onContentScroll = function (scrollTarget) {\n var _this = this;\n var element = scrollTarget;\n var isHeader = element.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent);\n return function (e) {\n if (_this.content.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody) === null || _this.parent.isPreventScrollEvent) {\n return;\n }\n var target = e.target;\n if (_this.parent.frozenRows) {\n if (_this.content.scrollTop > 0 && _this.parent.frozenRows) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.parent.element], 'e-top-shadow');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.parent.element], 'e-top-shadow');\n }\n }\n if (_this.parent.element.querySelectorAll('.e-leftfreeze,.e-fixedfreeze,.e-rightfreeze').length) {\n var errorFreeze = _this.parent.getContent().querySelectorAll('.e-freezeerror:not([style*=\"display: none\"])');\n var errorFixed = _this.parent.getContent().querySelectorAll('.e-fixederror:not([style*=\"display: none\"])');\n var scrollLeft = _this.parent.enableRtl ? Math.abs(target.scrollLeft) : target.scrollLeft;\n var isStartOfScroll = scrollLeft <= 1;\n if (!isStartOfScroll && _this.parent.getVisibleFrozenLeftCount()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.parent.element], 'e-left-shadow');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.parent.element], 'e-left-shadow');\n }\n var scrollRight = _this.parent.enableRtl ? Math.abs(target.scrollLeft) : target.scrollLeft;\n var isEndOfScroll = Math.round(scrollRight + target.clientWidth) >= target.scrollWidth - 1;\n if (isEndOfScroll && _this.parent.getVisibleFrozenRightCount()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.parent.element], 'e-right-shadow');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.parent.element], 'e-right-shadow');\n }\n var rows = [].slice.call(_this.parent.getContent().querySelectorAll('.e-row:not(.e-hiddenrow)'));\n if (((rows.length === 1 && errorFreeze.length) ||\n (_this.parent.element.querySelector('.e-freeze-autofill:not([style*=\"display: none\"])')) ||\n errorFixed.length) && target.scrollLeft !== _this.previousValues.left) {\n target.scrollLeft = _this.previousValues.left;\n return;\n }\n if (rows.length !== 1 && (errorFreeze.length || errorFixed.length) && target.scrollTop !== _this.previousValues.top) {\n target.scrollTop = _this.previousValues.top;\n return;\n }\n }\n var left = target.scrollLeft;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.infiniteScrollModule) && _this.parent.enableInfiniteScrolling && (!_this.parent.isEdit\n || (_this.parent.editSettings.showAddNewRow && !_this.parent.element.querySelector('.e-editedrow')))) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteScrollHandler, { target: e.target, isLeft: _this.previousValues.left !== left });\n }\n if (_this.parent.groupSettings.columns.length && _this.parent.groupSettings.enableLazyLoading) {\n var isDown = _this.previousValues.top < _this.parent.getContent().firstElementChild.scrollTop;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.lazyLoadScrollHandler, { scrollDown: isDown });\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.virtualScrollEdit, {});\n var isFooter = target.classList.contains('e-summarycontent');\n if (_this.previousValues.left === left) {\n _this.previousValues.top = !isHeader ? _this.previousValues.top : target.scrollTop;\n return;\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.closeFilterDialog, e);\n element.scrollLeft = left;\n if (isFooter) {\n _this.header.scrollLeft = left;\n }\n _this.previousValues.left = left;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.scroll, { left: left });\n };\n };\n Scroll.prototype.onCustomScrollbarScroll = function (cont, hdr) {\n var _this = this;\n var content = cont;\n var header = hdr;\n return function (e) {\n if (_this.content.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody) === null) {\n return;\n }\n var target = e.target;\n var left = target.scrollLeft;\n if (_this.previousValues.left === left) {\n return;\n }\n content.scrollLeft = left;\n header.scrollLeft = left;\n _this.previousValues.left = left;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.scroll, { left: left });\n if (_this.parent.isDestroyed) {\n return;\n }\n };\n };\n Scroll.prototype.onTouchScroll = function (scrollTarget) {\n var _this = this;\n var element = scrollTarget;\n return function (e) {\n if (e.pointerType === 'mouse') {\n return;\n }\n var isFrozen = _this.parent.isFrozenGrid();\n var pageXY = _this.getPointXY(e);\n var left = element.scrollLeft + (_this.pageXY.x - pageXY.x);\n var mHdr = _this.parent.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent);\n var mCont = _this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content);\n if (_this.previousValues.left === left || (left < 0 || (mHdr.scrollWidth - mHdr.clientWidth) < left)) {\n return;\n }\n e.preventDefault();\n mHdr.scrollLeft = left;\n mCont.scrollLeft = left;\n if (isFrozen && _this.parent.enableColumnVirtualization) {\n var scrollBar = _this.parent.getContent().querySelector('.e-movablescrollbar');\n scrollBar.scrollLeft = left;\n }\n _this.pageXY.x = pageXY.x;\n _this.previousValues.left = left;\n };\n };\n Scroll.prototype.setPageXY = function () {\n var _this = this;\n return function (e) {\n if (e.pointerType === 'mouse') {\n return;\n }\n _this.pageXY = _this.getPointXY(e);\n };\n };\n Scroll.prototype.getPointXY = function (e) {\n var pageXY = { x: 0, y: 0 };\n if (e.touches && e.touches.length) {\n pageXY.x = e.touches[0].pageX;\n pageXY.y = e.touches[0].pageY;\n }\n else {\n pageXY.x = e.pageX;\n pageXY.y = e.pageY;\n }\n return pageXY;\n };\n Scroll.prototype.getScrollbleParent = function (node) {\n if (node === null) {\n return null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var parent = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(node.tagName) ? node.scrollingElement : node;\n var overflowY = document.defaultView.getComputedStyle(parent, null).overflowY;\n if (parent.scrollHeight > parent.clientHeight && overflowY !== 'hidden'\n && overflowY !== 'visible' || node.tagName === 'HTML' || node.tagName === 'BODY') {\n return node;\n }\n else {\n return this.getScrollbleParent(node.parentNode);\n }\n };\n /**\n * @param {boolean} isAdd - specifies whether adding/removing the event\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.addStickyListener = function (isAdd) {\n this.parentElement = this.getScrollbleParent(this.parent.element.parentElement);\n if (isAdd && this.parentElement) {\n this.eventElement = this.parentElement.tagName === 'HTML' || this.parentElement.tagName === 'BODY' ? document :\n this.parentElement;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.eventElement, 'scroll', this.makeStickyHeader, this);\n }\n else if (this.eventElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.eventElement, 'scroll', this.makeStickyHeader);\n this.eventElement = null;\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.resizeFrozenRowBorder = function () {\n var div;\n if (!this.parent.element.querySelector('.e-frozenrow-border')) {\n div = this.parent.createElement('div', { className: 'e-frozenrow-border' });\n this.parent.element.insertBefore(div, this.parent.element.querySelector('.e-gridcontent'));\n }\n else {\n div = this.parent.element.querySelector('.e-frozenrow-border');\n }\n var scrollWidth = this.parent.height !== 'auto' ? Scroll.getScrollBarWidth() : 0;\n div.style.width = (this.parent.element.offsetWidth - scrollWidth) - 0.5 + 'px';\n };\n Scroll.prototype.wireEvents = function () {\n var _this = this;\n if (this.oneTimeReady) {\n var frzCols = this.parent.isFrozenGrid();\n this.content = this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content);\n this.header = this.parent.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent);\n var mScrollBar = this.parent.getContent().querySelector('.e-movablescrollbar');\n if (this.parent.frozenRows && this.header && this.content) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'touchstart pointerdown', this.setPageXY(), this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'touchmove pointermove', this.onTouchScroll(this.content), this);\n }\n if (frzCols && mScrollBar && this.parent.enableColumnVirtualization) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(mScrollBar, 'scroll', this.onCustomScrollbarScroll(this.content, this.header), this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.content, 'scroll', this.onCustomScrollbarScroll(mScrollBar, this.header), this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'scroll', this.onCustomScrollbarScroll(mScrollBar, this.content), this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'touchstart pointerdown', this.setPageXY(), this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'touchmove pointermove', this.onTouchScroll(this.content), this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.content, 'touchstart pointerdown', this.setPageXY(), this);\n if (!(/macintosh|ipad/.test(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.userAgent.toLowerCase()) && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.content, 'touchmove pointermove', this.onTouchScroll(this.header), this);\n }\n }\n this.contentScrollHandler = this.onContentScroll(this.header);\n this.headerScrollHandler = this.onContentScroll(this.content);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.content, 'scroll', this.contentScrollHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.header, 'scroll', this.headerScrollHandler, this);\n if (this.parent.aggregates.length) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.getFooterContent().firstChild, 'scroll', this.onContentScroll(this.content), this);\n }\n if (this.parent.enableStickyHeader) {\n this.addStickyListener(true);\n }\n this.refresh();\n this.oneTimeReady = false;\n }\n var table = this.parent.getContentTable();\n var sLeft;\n var sHeight;\n var clientHeight;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getUpdateUsingRaf)(function () {\n sLeft = _this.header.scrollLeft;\n sHeight = table.scrollHeight;\n clientHeight = _this.parent.getContent().clientHeight;\n }, function () {\n var args = { cancel: false };\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.checkScrollReset, args);\n if (sHeight < clientHeight && _this.parent.height !== 'auto') {\n _this.setLastRowCell();\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.lastRowCellBorderUpdated, args);\n }\n if (_this.parent.frozenRows) {\n _this.resizeFrozenRowBorder();\n }\n if (!_this.parent.enableVirtualization && !_this.parent.enableInfiniteScrolling) {\n if (!args.cancel) {\n _this.header.scrollLeft = _this.previousValues.left;\n _this.content.scrollLeft = _this.previousValues.left;\n _this.content.scrollTop = _this.previousValues.top;\n }\n }\n if (!_this.parent.enableColumnVirtualization) {\n _this.content.scrollLeft = sLeft;\n if (_this.parent.isFrozenGrid()) {\n _this.previousValues.left = sLeft;\n }\n }\n });\n this.parent.isPreventScrollEvent = false;\n };\n /**\n * @returns {void} returns void\n * @hidden\n */\n Scroll.prototype.setLastRowCell = function () {\n var table = this.parent.getContentTable();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(table.querySelectorAll('td'), 'e-lastrowcell');\n if (table.querySelector('tr:nth-last-child(2)')) {\n if (this.parent.editSettings.showAddNewRow && this.parent.editSettings.newRowPosition === 'Bottom') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(table.querySelector('tr:nth-last-child(2)').querySelectorAll('td'), 'e-lastrowcell');\n }\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(table.querySelectorAll('tr:last-child td'), 'e-lastrowcell');\n if (this.parent.isSpan) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(table.querySelectorAll('.e-row-span-lastrowcell'), 'e-lastrowcell');\n }\n };\n /**\n * @param {boolean} rtl - specifies the rtl\n * @returns {ScrollCss} returns the ScrollCss\n * @hidden\n */\n Scroll.prototype.getCssProperties = function (rtl) {\n var css = {};\n var enableRtl = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rtl) ? this.parent.enableRtl : rtl;\n css.border = enableRtl ? 'borderLeftWidth' : 'borderRightWidth';\n css.padding = enableRtl ? 'paddingLeft' : 'paddingRight';\n return css;\n };\n Scroll.prototype.ensureOverflow = function (content) {\n content.style.overflowY = this.parent.height === 'auto' ? 'auto' : 'scroll';\n };\n Scroll.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n this.setPadding();\n this.oneTimeReady = true;\n if (this.parent.height === 'auto') {\n this.removePadding();\n }\n this.wireEvents();\n this.setHeight();\n var width = 'width';\n this.setWidth(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.properties[\"\" + width]));\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.makeStickyHeader = function () {\n if (this.parent.enableStickyHeader && this.parent.element && this.parent.getContent()) {\n var contentRect = this.parent.getContent().getClientRects()[0];\n if (contentRect) {\n var windowScale = window.devicePixelRatio;\n var headerEle = this.parent.getHeaderContent();\n var toolbarEle = this.parent.element.querySelector('.e-toolbar');\n var groupHeaderEle = this.parent.element.querySelector('.e-groupdroparea');\n var height = headerEle.offsetHeight + (toolbarEle ? toolbarEle.offsetHeight : 0) +\n (groupHeaderEle ? groupHeaderEle.offsetHeight : 0);\n var parentTop = this.parentElement.getClientRects()[0].top;\n var top_1 = contentRect.top - (parentTop < 0 ? 0 : parentTop);\n var left = contentRect.left;\n var colMenuEle = document.body.querySelector('#' + this.parent.element.id + '_columnmenu');\n if (windowScale !== 1) {\n top_1 = Math.ceil(top_1);\n }\n if (top_1 < height && contentRect.bottom > 0) {\n headerEle.classList.add('e-sticky');\n var elemTop = 0;\n if (groupHeaderEle && this.parent.groupSettings.showDropArea) {\n this.setSticky(groupHeaderEle, elemTop, contentRect.width, left, true);\n elemTop += groupHeaderEle.getClientRects()[0].height;\n }\n if (toolbarEle) {\n this.setSticky(toolbarEle, elemTop, contentRect.width, left, true);\n elemTop += toolbarEle.getClientRects()[0].height;\n }\n this.setSticky(headerEle, elemTop, contentRect.width, left, true);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(colMenuEle)) {\n colMenuEle.style.position = 'fixed';\n colMenuEle.style.top = height + 'px';\n }\n }\n else {\n if (headerEle.classList.contains('e-sticky')) {\n this.setSticky(headerEle, null, null, null, false);\n if (toolbarEle) {\n this.setSticky(toolbarEle, null, null, null, false);\n }\n if (groupHeaderEle) {\n this.setSticky(groupHeaderEle, null, null, null, false);\n }\n var ccDlg = this.parent.element.querySelector('.e-ccdlg');\n if (ccDlg) {\n ccDlg.classList.remove('e-sticky');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(colMenuEle)) {\n colMenuEle.style.position = 'absolute';\n var topStyle = contentRect.top - parentTop;\n colMenuEle.style.top = topStyle + 'px';\n }\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.stickyScrollComplete, {});\n }\n }\n };\n Scroll.prototype.setSticky = function (ele, top, width, left, isAdd) {\n if (isAdd) {\n ele.classList.add('e-sticky');\n }\n else {\n ele.classList.remove('e-sticky');\n }\n ele.style.width = width != null ? width + 'px' : '';\n ele.style.top = top != null ? top + 'px' : '';\n ele.style.left = left !== null ? parseInt(ele.style.left, 10) !== left ? left + 'px' : ele.style.left : '';\n };\n /**\n * @returns {void}\n * @hidden\n */\n Scroll.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent))) {\n return;\n }\n this.removeEventListener();\n //Remove Dom event\n var cont = this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(cont, 'scroll', this.onContentScroll);\n if (this.parent.enableStickyHeader) {\n this.addStickyListener(false);\n }\n //Remove padding\n this.removePadding();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.parent.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent)], _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([cont], _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content);\n //Remove height\n cont.style.height = '';\n //Remove width\n this.parent.element.style.width = '';\n };\n /**\n * Function to get the scrollbar width of the browser.\n *\n * @returns {number} return the width\n * @hidden\n */\n Scroll.getScrollBarWidth = function () {\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getScrollBarWidth)();\n };\n return Scroll;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/search.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/search.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Search: () => (/* binding */ Search)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n\n\n/**\n * The `Search` module is used to handle search action.\n */\nvar Search = /** @class */ (function () {\n /**\n * Constructor for Grid search module.\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function Search(parent) {\n //Internal variables\n /** @hidden */\n this.headerFocus = false;\n this.parent = parent;\n this.addEventListener();\n }\n /**\n * Checks if the input string contains non-numeric characters.\n *\n * @param {string} searchString - The string to be checked for non-numeric characters.\n * @returns {boolean} - `true` if the input string contains non-numeric characters, `false` otherwise.\n */\n Search.prototype.hasNonNumericCharacters = function (searchString) {\n var decimalFound = false;\n for (var _i = 0, searchString_1 = searchString; _i < searchString_1.length; _i++) {\n var char = searchString_1[_i];\n if ((char < '0' || char > '9') && char !== '.') {\n return true;\n }\n if (char === '.') {\n if (decimalFound) {\n // If decimal is found more than once, it's not valid\n return true;\n }\n decimalFound = true;\n }\n }\n return false;\n };\n /**\n * Searches Grid records by given key.\n *\n * > You can customize the default search action by using [`searchSettings`](./searchsettings/).\n *\n * @param {string} searchString - Defines the key.\n * @returns {void}\n */\n Search.prototype.search = function (searchString) {\n var gObj = this.parent;\n searchString = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(searchString) ? '' : searchString;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isActionPrevent)(gObj)) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventBatch, { instance: this, handler: this.search, arg1: searchString });\n return;\n }\n if (searchString !== gObj.searchSettings.key) {\n this.headerFocus = false;\n // Check searchString is number and parseFloat to remove trailing zeros\n if (searchString !== '' && !this.hasNonNumericCharacters(searchString)) {\n var parts = searchString.split('.');\n if (searchString === '.' || (searchString.indexOf('.') === -1) || (parts[0].startsWith('0') && parts[0].length > 1)) {\n gObj.searchSettings.key = searchString.toString();\n }\n else {\n gObj.searchSettings.key = parseFloat(searchString).toString();\n }\n }\n else {\n gObj.searchSettings.key = searchString.toString();\n }\n gObj.dataBind();\n }\n else if (this.refreshSearch) {\n gObj.refresh();\n }\n else {\n this.headerFocus = false;\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Search.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.inBoundModelChanged, this.onPropertyChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.searchComplete, this.onSearchComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy, this);\n this.actionCompleteFunc = this.onActionComplete.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, this.actionCompleteFunc);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.cancelBegin, this.cancelBeginEvent, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Search.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.inBoundModelChanged, this.onPropertyChanged);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.searchComplete, this.onSearchComplete);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.destroy);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, this.actionCompleteFunc);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.cancelBegin, this.cancelBeginEvent);\n };\n /**\n * To destroy the print\n *\n * @returns {void}\n * @hidden\n */\n Search.prototype.destroy = function () {\n this.removeEventListener();\n };\n /**\n * @param {NotifyArgs} e - specfies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Search.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.properties.key)) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.modelChanged, {\n requestType: 'searching', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, searchString: this.parent.searchSettings.key\n });\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.modelChanged, {\n requestType: 'searching', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin\n });\n }\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Search.prototype.onSearchComplete = function (e) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, {\n searchString: this.parent.searchSettings.key, requestType: 'searching', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete\n }));\n };\n /**\n * The function used to store the requestType\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Search.prototype.onActionComplete = function (e) {\n if (this.refreshSearch && e.requestType === 'refresh' && this.headerFocus) {\n this.headerFocus = false;\n this.parent.focusModule.focus();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.parent.focusModule.currentInfo.element], ['e-focused']);\n }\n this.refreshSearch = e.requestType !== 'searching';\n };\n Search.prototype.cancelBeginEvent = function (e) {\n if (e.requestType === 'searching') {\n this.parent.setProperties({ searchSettings: { key: '' } }, true);\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Search.prototype.getModuleName = function () {\n return 'search';\n };\n return Search;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/search.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/selection.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/selection.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Selection: () => (/* binding */ Selection)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The `Selection` module is used to handle cell and row selection.\n */\nvar Selection = /** @class */ (function () {\n /**\n * Constructor for the Grid selection module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {SelectionSettings} selectionSettings - specifies the selectionsettings\n * @param {ServiceLocator} locator - specifies the ServiceLocator\n * @hidden\n */\n function Selection(parent, selectionSettings, locator) {\n //Internal letiables\n /**\n * @hidden\n */\n this.selectedRowIndexes = [];\n /**\n * @hidden\n */\n this.selectedRowCellIndexes = [];\n /**\n * @hidden\n */\n this.selectedRecords = [];\n /**\n * @hidden\n */\n this.preventFocus = false;\n /**\n * @hidden\n */\n this.selectedColumnsIndexes = [];\n this.checkBoxState = false;\n this.isMultiShiftRequest = false;\n this.isMultiCtrlRequest = false;\n this.isMultiCtrlRequestCell = false;\n this.enableSelectMultiTouch = false;\n this.clearRowCheck = false;\n this.selectRowCheck = false;\n /**\n * @hidden\n */\n this.selectedRowState = {};\n this.unSelectedRowState = {};\n this.totalRecordsCount = 0;\n this.chkAllCollec = [];\n this.isCheckedOnAdd = false;\n this.persistSelectedData = [];\n this.virtualSelectedData = [];\n this.deSelectedData = [];\n this.isHdrSelectAllClicked = false;\n this.needColumnSelection = false;\n this.isCancelDeSelect = false;\n this.isPreventCellSelect = false;\n this.disableUI = false;\n this.isPersisted = false;\n this.cmdKeyPressed = false;\n this.cellselected = false;\n this.isMultiSelection = false;\n this.isAddRowsToSelection = false;\n this.initialRowSelection = false;\n this.isPrevRowSelection = false;\n this.isKeyAction = false;\n this.isRowDragSelected = false;\n this.isPartialSelection = false;\n this.rmtHdrChkbxClicked = false;\n this.isCheckboxReset = false;\n this.isRowDeselect = false;\n /**\n * @hidden\n */\n this.autoFillRLselection = true;\n this.isFocusLastCell = false;\n this.bottom = '0 0 2px 0';\n this.top = '2px 0 0 0';\n /* eslint-disable */\n this.right_bottom = '0 2px 2px 0';\n this.bottom_left = '0 0 2px 2px';\n this.top_right = '2px 2px 0 0';\n this.top_left = '2px 0 0 2px';\n this.top_bottom = '2px 0 2px 0';\n this.top_right_bottom = '2px 2px 2px 0';\n this.top_bottom_left = '2px 0 2px 2px';\n this.top_right_left = '2px 2px 0 2px';\n this.right_bottom_left = '0 2px 2px 2px';\n this.all_border = '2px';\n this.parent = parent;\n this.selectionSettings = selectionSettings;\n this.factory = locator.getService('rendererFactory');\n this.focus = locator.getService('focus');\n this.addEventListener();\n this.wireEvents();\n }\n Selection.prototype.initializeSelection = function () {\n this.parent.log('selection_key_missing');\n this.render();\n };\n /**\n * The function used to trigger onActionBegin\n *\n * @param {Object} args - specifies the args\n * @param {string} type - specifies the type\n * @returns {void}\n * @hidden\n */\n Selection.prototype.onActionBegin = function (args, type) {\n this.parent.trigger(type, this.fDataUpdate(args));\n };\n Selection.prototype.fDataUpdate = function (args) {\n if (!this.isMultiSelection && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.cellIndex) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.rowIndex))) {\n var rowObj = this.getRowObj((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.rowIndex) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.cellIndex) ?\n this.currentIndex : args.cellIndex.rowIndex : args.rowIndex);\n args.foreignKeyData = rowObj.foreignKeyData;\n }\n return args;\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {Object} args - specifies the args\n * @param {string} type - specifies the type\n * @returns {void}\n * @hidden\n */\n Selection.prototype.onActionComplete = function (args, type) {\n this.parent.trigger(type, this.fDataUpdate(args));\n this.isMultiSelection = false;\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Selection.prototype.getModuleName = function () {\n return 'selection';\n };\n /**\n * To destroy the selection\n *\n * @returns {void}\n * @hidden\n */\n Selection.prototype.destroy = function () {\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridContent))) {\n return;\n }\n this.hidePopUp();\n this.clearSelection();\n this.destroyAutoFillElements();\n this.removeEventListener();\n this.unWireEvents();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getContent(), 'mousedown', this.mouseDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getHeaderContent(), 'mousedown', this.mouseDownHandler);\n };\n Selection.prototype.isEditing = function () {\n return (this.parent.editSettings.mode === 'Normal' || (this.parent.editSettings.mode === 'Batch' && this.parent.editModule &&\n this.parent.editModule.formObj && !this.parent.editModule.formObj.validate())) &&\n (this.parent.isEdit && !this.parent.editSettings.showAddNewRow) && !this.parent.isPersistSelection;\n };\n Selection.prototype.getCurrentBatchRecordChanges = function () {\n var gObj = this.parent;\n if (gObj.editSettings.mode === 'Batch' && gObj.editModule) {\n var currentRecords = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.iterateExtend)(this.parent.getCurrentViewRecords());\n currentRecords = gObj.editSettings.newRowPosition === 'Bottom' ?\n currentRecords.concat(this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRecords]) :\n this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRecords].concat(currentRecords);\n var deletedRecords = this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.deletedRecords];\n var primaryKey = this.parent.getPrimaryKeyFieldNames()[0];\n for (var i = 0; i < (deletedRecords.length); i++) {\n for (var j = 0; j < currentRecords.length; j++) {\n if (deletedRecords[parseInt(i.toString(), 10)][\"\" + primaryKey] === currentRecords[parseInt(j.toString(), 10)][\"\" + primaryKey]) {\n currentRecords.splice(j, 1);\n break;\n }\n }\n }\n return currentRecords;\n }\n else if (this.parent.enableVirtualization && this.parent.groupSettings.columns.length && !this.parent.isPersistSelection) {\n var selectedGroupedData = gObj.getCurrentViewRecords().filter(function (col) { return col['key'] === undefined; });\n return selectedGroupedData;\n }\n else {\n return gObj.getCurrentViewRecords();\n }\n };\n /**\n * Selects a row by the given index.\n *\n * @param {number} index - Defines the row index.\n * @param {boolean} isToggle - If set to true, then it toggles the selection.\n * @returns {void}\n */\n Selection.prototype.selectRow = function (index, isToggle) {\n if (this.selectedRowIndexes.length && this.selectionSettings.enableSimpleMultiRowSelection) {\n this.addRowsToSelection([index]);\n return;\n }\n var gObj = this.parent;\n var selectedRow = gObj.getRowByIndex(index);\n var rowObj = selectedRow && gObj.getRowObjectFromUID(selectedRow.getAttribute('data-uid'));\n if (this.isPartialSelection && rowObj && rowObj.isDataRow && !rowObj.isSelectable) {\n return;\n }\n var selectData;\n var isRemoved = false;\n if (gObj.enableVirtualization && index > -1) {\n var e = { selectedIndex: index, isAvailable: true };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.selectVirtualRow, e);\n if (selectedRow && (gObj.getRowObjectFromUID(selectedRow.getAttribute('data-uid')))) {\n selectData = gObj.getRowObjectFromUID(selectedRow.getAttribute('data-uid')).data;\n }\n else {\n if (e.isAvailable && !gObj.selectionSettings.persistSelection) {\n var prevSelectedData = this.parent.getSelectedRecords();\n if (prevSelectedData.length > 0) {\n this.clearRowSelection();\n }\n }\n return;\n }\n }\n else {\n selectData = this.getRowObj(index).data;\n }\n if (!this.isRowType() || !selectedRow || this.isEditing()) {\n // if (this.isEditing()) {\n // gObj.selectedRowIndex = index;\n // }\n return;\n }\n var isRowSelected = selectedRow.hasAttribute('aria-selected');\n this.activeTarget();\n if (!isToggle || !this.selectedRowIndexes.length) {\n isToggle = false;\n }\n else {\n var isCheckboxModeResetOnRowClick = this.selectionSettings.checkboxMode === 'ResetOnRowClick';\n var isSelectionTypeMultiple = !this.parent.isCheckBoxSelection && this.selectionSettings.type === 'Multiple';\n if ((!isCheckboxModeResetOnRowClick && !isSelectionTypeMultiple) ||\n (this.selectedRowIndexes.length === 1 && (isCheckboxModeResetOnRowClick || isSelectionTypeMultiple))) {\n isToggle = !(this.isKeyAction && this.parent.isCheckBoxSelection) ? this.selectedRowIndexes.indexOf(index) !== -1 : false;\n }\n else {\n isToggle = false;\n }\n }\n this.isKeyAction = false;\n var args;\n var can = 'cancel';\n if (!isToggle) {\n args = {\n data: selectData, rowIndex: index, isCtrlPressed: this.isMultiCtrlRequest,\n isShiftPressed: this.isMultiShiftRequest, row: selectedRow,\n previousRow: gObj.getRowByIndex(this.prevRowIndex),\n previousRowIndex: this.prevRowIndex, target: this.actualTarget, cancel: false, isInteracted: this.isInteracted,\n isHeaderCheckboxClicked: this.isHeaderCheckboxClicked\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelecting, this.fDataUpdate(args), this.rowSelectingCallBack(args, isToggle, index, selectData, isRemoved, isRowSelected, can));\n }\n else {\n if (this.selectionSettings.checkboxMode !== 'ResetOnRowClick' && this.selectionSettings.persistSelection) {\n this.rowDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDeselecting, [rowObj.index], [rowObj.data], [selectedRow], [rowObj.foreignKeyData], this.actualTarget);\n if (this.isCancelDeSelect) {\n return;\n }\n if (!this.parent.isCheckBoxSelection) {\n this.selectedRowIndexes = [];\n this.selectedRecords = [];\n this.isRowSelected = false;\n this.selectRowIndex(-1);\n }\n this.rowDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDeselected, [rowObj.index], [rowObj.data], [selectedRow], [rowObj.foreignKeyData], this.actualTarget, undefined, undefined, undefined);\n }\n this.rowSelectingCallBack(args, isToggle, index, selectData, isRemoved, isRowSelected, can)(args);\n }\n };\n Selection.prototype.rowSelectingCallBack = function (args, isToggle, index, selectData, isRemoved, isRowSelected, can) {\n var _this = this;\n return function (args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args[\"\" + can] === true) {\n _this.disableInteracted();\n return;\n }\n _this.index = index;\n _this.toggle = isToggle;\n _this.data = selectData;\n _this.removed = isRemoved;\n if (isRowSelected && _this.selectionSettings.persistSelection && !(_this.selectionSettings.checkboxMode === 'ResetOnRowClick')) {\n _this.clearSelectedRow(index);\n _this.selectRowCallBack();\n }\n else if (!isRowSelected && _this.selectionSettings.persistSelection && _this.parent.isCheckBoxSelection &&\n _this.selectionSettings.checkboxMode !== 'ResetOnRowClick') {\n _this.selectRowCallBack();\n }\n if (_this.selectionSettings.checkboxMode === 'ResetOnRowClick') {\n _this.isCheckboxReset = true;\n _this.clearSelection();\n }\n if (!_this.selectionSettings.persistSelection || _this.selectionSettings.checkboxMode === 'ResetOnRowClick' ||\n (!_this.parent.isCheckBoxSelection && _this.selectionSettings.persistSelection)) {\n _this.selectRowCheck = true;\n _this.clearRow();\n }\n };\n };\n Selection.prototype.selectRowCallBack = function () {\n var gObj = this.parent;\n var args;\n var index = this.index;\n var isToggle = this.toggle;\n var selectData = this.data;\n var isRemoved = this.removed;\n var selectedRow = gObj.getRowByIndex(index);\n if (!isToggle && !isRemoved) {\n if (this.selectedRowIndexes.indexOf(index) <= -1) {\n this.updateRowSelection(selectedRow, index);\n }\n this.selectRowIndex(index);\n }\n if (!isToggle) {\n args = {\n data: selectData, rowIndex: index,\n row: selectedRow, previousRow: gObj.getRowByIndex(this.prevRowIndex),\n previousRowIndex: this.prevRowIndex, target: this.actualTarget, isInteracted: this.isInteracted,\n isHeaderCheckBoxClicked: this.isHeaderCheckboxClicked, rowIndexes: index\n };\n this.onActionComplete(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelected);\n }\n this.isInteracted = false;\n this.updateRowProps(index);\n };\n /**\n * Selects a range of rows from start and end row indexes.\n *\n * @param {number} startIndex - Specifies the start row index.\n * @param {number} endIndex - Specifies the end row index.\n * @returns {void}\n */\n Selection.prototype.selectRowsByRange = function (startIndex, endIndex) {\n this.selectRows(this.getCollectionFromIndexes(startIndex, endIndex));\n this.selectRowIndex(endIndex);\n };\n Selection.prototype.selectedDataUpdate = function (selectedData, foreignKeyData, selectedRows, rowIndexes, selectableRowIndex) {\n for (var i = 0, len = rowIndexes.length; i < len; i++) {\n var currentRow = this.parent.getDataRows()[rowIndexes[parseInt(i.toString(), 10)]];\n if (this.parent.enableVirtualization) {\n currentRow = this.parent.getRowByIndex(rowIndexes[parseInt(i.toString(), 10)]);\n }\n var rowObj = this.getRowObj(currentRow);\n if (rowObj && rowObj.isDataRow && rowObj.isSelectable) {\n selectedData.push(rowObj.data);\n selectedRows.push(currentRow);\n foreignKeyData.push(rowObj.foreignKeyData);\n }\n else {\n if (this.isPartialSelection && selectableRowIndex) {\n selectableRowIndex.splice(selectableRowIndex.indexOf(rowIndexes[parseInt(i.toString(), 10)]), 1);\n }\n }\n }\n };\n /**\n * Selects a collection of rows by index.\n *\n * @param {number[]} rowIndexes - Specifies an array of row indexes.\n * @returns {void}\n */\n Selection.prototype.selectRows = function (rowIndexes) {\n var _this = this;\n var gObj = this.parent;\n var selectableRowIndex = rowIndexes.slice();\n var rowIndex = !this.isSingleSel() ? rowIndexes[0] : rowIndexes[rowIndexes.length - 1];\n this.isMultiSelection = true;\n var selectedRows = [];\n var foreignKeyData = [];\n var can = 'cancel';\n var selectedData = [];\n if (!this.isRowType() || this.isEditing()) {\n return;\n }\n this.selectedDataUpdate(selectedData, foreignKeyData, selectedRows, rowIndexes, selectableRowIndex);\n this.activeTarget();\n var args = {\n cancel: false,\n rowIndexes: selectableRowIndex, row: selectedRows, rowIndex: rowIndex, target: this.actualTarget,\n prevRow: gObj.getRows()[this.prevRowIndex], previousRowIndex: this.prevRowIndex,\n isInteracted: this.isInteracted, isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest,\n data: selectedData, isHeaderCheckboxClicked: this.isHeaderCheckboxClicked, foreignKeyData: foreignKeyData\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelecting, this.fDataUpdate(args), function (args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args[\"\" + can] === true) {\n _this.disableInteracted();\n return;\n }\n if (!(_this.selectionSettings.persistSelection && gObj.allowRowDragAndDrop && _this.isDragged)) {\n _this.clearRow();\n }\n _this.selectRowIndex(selectableRowIndex.slice(-1)[0]);\n var selectRowFn = function (index, preventFocus) {\n _this.updateRowSelection(gObj.getRowByIndex(index), index, preventFocus);\n _this.updateRowProps(rowIndex);\n };\n if (!_this.isSingleSel()) {\n for (var _i = 0, selectableRowIndex_1 = selectableRowIndex; _i < selectableRowIndex_1.length; _i++) {\n var rowIdx = selectableRowIndex_1[_i];\n selectRowFn(rowIdx, gObj.enableVirtualization ? true : false);\n }\n }\n else {\n selectRowFn(rowIndex);\n }\n if (_this.checkVirtualCheckBox() && !_this.parent.isPersistSelection) {\n if (selectableRowIndex.length === _this.totalRecordsCount) {\n _this.virtualSelectedData = _this.virtualCheckBoxData().slice();\n _this.selectedRowIndexes = Object.keys(_this.virtualSelectedData).map(function (key) { return parseInt(key, 10); });\n _this.setCheckAllState();\n }\n else {\n var selectionData = selectableRowIndex.filter(function (index) {\n return _this.selectedRowIndexes.indexOf(index) === -1;\n });\n if (selectionData.length > 0) {\n var allData = _this.virtualCheckBoxData().slice();\n for (var i = 0; i < selectionData.length; i++) {\n var record = allData[selectionData[i]];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(record)) {\n _this.virtualSelectedData.push(record);\n _this.selectedRowIndexes.push(selectionData[i]);\n }\n }\n _this.setCheckAllState();\n }\n }\n }\n args = {\n rowIndexes: selectableRowIndex, row: selectedRows, rowIndex: rowIndex, target: _this.actualTarget,\n prevRow: gObj.getRows()[_this.prevRowIndex], previousRowIndex: _this.prevRowIndex,\n data: _this.getSelectedRecords(), isInteracted: _this.isInteracted,\n isHeaderCheckboxClicked: _this.isHeaderCheckboxClicked, foreignKeyData: foreignKeyData\n };\n if (_this.isRowSelected) {\n _this.onActionComplete(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelected);\n }\n _this.isInteracted = false;\n });\n };\n /**\n * Select rows with existing row selection by passing row indexes.\n *\n * @param {number} rowIndexes - Specifies the row indexes.\n * @returns {void}\n * @hidden\n */\n Selection.prototype.addRowsToSelection = function (rowIndexes) {\n var gObj = this.parent;\n var can = 'cancel';\n var target = this.target;\n this.isMultiSelection = true;\n var selectedRows = [];\n var foreignKeyData = [];\n var selectedData = [];\n var indexes = gObj.getSelectedRowIndexes().concat(rowIndexes);\n var selectedRow = !this.isSingleSel() ? gObj.getRowByIndex(rowIndexes[0]) :\n gObj.getRowByIndex(rowIndexes[rowIndexes.length - 1]);\n if ((!this.isRowType() || this.isEditing()) && !this.selectionSettings.checkboxOnly) {\n return;\n }\n var args;\n var checkboxColumn = this.parent.getColumns().filter(function (col) { return col.type === 'checkbox'; });\n if (this.isMultiCtrlRequest && !checkboxColumn.length) {\n this.selectedDataUpdate(selectedData, foreignKeyData, selectedRows, indexes);\n }\n for (var _i = 0, rowIndexes_1 = rowIndexes; _i < rowIndexes_1.length; _i++) {\n var rowIndex = rowIndexes_1[_i];\n var rowObj = this.getRowObj(rowIndex);\n var isUnSelected = this.selectedRowIndexes.indexOf(rowIndex) > -1;\n if (this.isPartialSelection && rowObj && rowObj.isDataRow && !rowObj.isSelectable) {\n continue;\n }\n this.selectRowIndex(rowIndex);\n if (isUnSelected && ((checkboxColumn.length ? true : this.selectionSettings.enableToggle) || this.isMultiCtrlRequest)) {\n this.isAddRowsToSelection = true;\n this.rowDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDeselecting, [rowIndex], [rowObj.data], [selectedRow], [rowObj.foreignKeyData], target);\n if (this.isCancelDeSelect) {\n return;\n }\n if (this.checkVirtualCheckBox() && !this.parent.isPersistSelection) {\n this.virtualSelectedData.splice(this.virtualSelectedData.indexOf(rowObj.data), 1);\n }\n this.selectedRowIndexes.splice(this.selectedRowIndexes.indexOf(rowIndex), 1);\n this.selectedRecords.splice(this.selectedRecords.indexOf(selectedRow), 1);\n this.selectRowIndex(this.selectedRowIndexes.length ? this.selectedRowIndexes[this.selectedRowIndexes.length - 1] : -1);\n selectedRow.removeAttribute('aria-selected');\n this.addRemoveClassesForRow(selectedRow, false, null, 'e-selectionbackground', 'e-active');\n this.rowDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDeselected, [rowIndex], [rowObj.data], [selectedRow], [rowObj.foreignKeyData], target, undefined, undefined, undefined);\n this.isInteracted = false;\n this.isMultiSelection = false;\n this.isAddRowsToSelection = false;\n this.isHdrSelectAllClicked = false;\n }\n else {\n this.activeTarget();\n args = {\n cancel: false,\n data: selectedData.length ? selectedData : rowObj.data, rowIndex: rowIndex, row: selectedRows.length ? selectedRows :\n selectedRow, target: this.actualTarget, prevRow: gObj.getRows()[this.prevRowIndex],\n previousRowIndex: this.prevRowIndex, isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest,\n foreignKeyData: foreignKeyData.length ? foreignKeyData : rowObj.foreignKeyData, isInteracted: this.isInteracted,\n isHeaderCheckboxClicked: this.isHeaderCheckboxClicked, rowIndexes: indexes\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelecting, this.fDataUpdate(args));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args[\"\" + can] === true) {\n this.disableInteracted();\n return;\n }\n if (this.isSingleSel()) {\n this.clearRow();\n }\n this.updateRowSelection(selectedRow, rowIndex);\n }\n if (!isUnSelected) {\n args = {\n data: selectedData.length ? selectedData : rowObj.data, rowIndex: rowIndex, row: selectedRows.length ? selectedRows :\n selectedRow, target: this.actualTarget, prevRow: gObj.getRows()[this.prevRowIndex],\n previousRowIndex: this.prevRowIndex, foreignKeyData: foreignKeyData.length ? foreignKeyData : rowObj.foreignKeyData,\n isInteracted: this.isInteracted, isHeaderCheckboxClicked: this.isHeaderCheckboxClicked, rowIndexes: indexes\n };\n this.onActionComplete(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelected);\n }\n this.isInteracted = false;\n this.updateRowProps(rowIndex);\n if (this.isSingleSel()) {\n break;\n }\n }\n };\n Selection.prototype.getCollectionFromIndexes = function (startIndex, endIndex) {\n var indexes = [];\n // eslint-disable-next-line prefer-const\n var _a = (startIndex <= endIndex) ?\n { i: startIndex, max: endIndex } : { i: endIndex, max: startIndex }, i = _a.i, max = _a.max;\n for (; i <= max; i++) {\n indexes.push(i);\n }\n if (startIndex > endIndex) {\n indexes.reverse();\n }\n return indexes;\n };\n Selection.prototype.clearRow = function () {\n this.clearRowCheck = true;\n this.clearRowSelection();\n };\n Selection.prototype.clearRowCallBack = function () {\n if (this.isCancelDeSelect && this.parent.checkAllRows !== 'Check') {\n return;\n }\n this.selectedRowIndexes = [];\n this.selectedRecords = [];\n this.selectRowIndex(-1);\n if (this.isSingleSel() && this.parent.isPersistSelection) {\n this.selectedRowState = {};\n }\n };\n Selection.prototype.clearSelectedRow = function (index) {\n if (this.toggle) {\n var selectedEle = this.parent.getRowByIndex(index);\n if (!this.disableUI) {\n selectedEle.removeAttribute('aria-selected');\n this.addRemoveClassesForRow(selectedEle, false, true, 'e-selectionbackground', 'e-active');\n }\n this.removed = true;\n this.updatePersistCollection(selectedEle, false);\n this.updateCheckBoxes(selectedEle);\n this.selectedRowIndexes.splice(this.selectedRowIndexes.indexOf(index), 1);\n this.selectedRecords.splice(this.selectedRecords.indexOf(this.parent.getRowByIndex(index)), 1);\n }\n };\n Selection.prototype.updateRowProps = function (startIndex) {\n this.prevRowIndex = startIndex;\n this.isRowSelected = this.selectedRowIndexes.length && true;\n };\n Selection.prototype.getPkValue = function (pkField, data) {\n return pkField ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isComplexField)(pkField) ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(pkField, data) : data[\"\" + pkField] : data[\"\" + pkField];\n };\n Selection.prototype.updatePersistCollection = function (selectedRow, chkState) {\n var _this = this;\n if ((this.parent.isPersistSelection || this.parent.selectionSettings.persistSelection &&\n this.parent.getPrimaryKeyFieldNames().length > 0) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedRow)) {\n if (!this.parent.isPersistSelection) {\n this.ensureCheckboxFieldSelection();\n }\n var rowObj = this.getRowObj(selectedRow);\n var pKey_1 = rowObj.data ? this.getPkValue(this.primaryKey, rowObj.data) : null;\n if (pKey_1 === null) {\n return;\n }\n rowObj.isSelected = chkState;\n if ((chkState && !this.isPartialSelection) || (this.isPartialSelection && rowObj.isSelectable && rowObj.isSelected)) {\n this.selectedRowState[\"\" + pKey_1] = chkState;\n delete (this.unSelectedRowState[\"\" + pKey_1]);\n if (!this.persistSelectedData.some(function (data) { return _this.getPkValue(_this.primaryKey, data) === pKey_1; })) {\n this.persistSelectedData.push(rowObj.data);\n }\n }\n else {\n this.updatePersistDelete(pKey_1);\n }\n }\n };\n Selection.prototype.updatePersistDelete = function (pKey, isPartialSelection) {\n var _this = this;\n delete (this.selectedRowState[\"\" + pKey]);\n if (this.rmtHdrChkbxClicked) {\n this.unSelectedRowState[\"\" + pKey] = true;\n }\n var index;\n var isPresent = this.persistSelectedData.some(function (data, i) {\n index = i;\n return _this.getPkValue(_this.primaryKey, data) === pKey;\n });\n if (isPresent) {\n this.persistSelectedData.splice(index, 1);\n if (isPartialSelection) {\n this.parent.partialSelectedRecords.splice(index, 1);\n }\n }\n };\n Selection.prototype.updateCheckBoxes = function (row, chkState, rowIndex) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row)) {\n var chkBox = row.querySelector('.e-checkselect');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(chkBox)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.removeAddCboxClasses)(chkBox.nextElementSibling, chkState);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setChecked)(chkBox, chkState);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkedTarget) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkedTarget)\n && !this.checkedTarget.classList.contains('e-checkselectall'))) {\n this.setCheckAllState(rowIndex);\n }\n }\n }\n };\n Selection.prototype.updateRowSelection = function (selectedRow, startIndex, preventFocus) {\n if (!selectedRow) {\n return;\n }\n if (this.selectedRowIndexes.indexOf(startIndex) === -1) {\n if (this.checkVirtualCheckBox() && !this.parent.isPersistSelection) {\n this.virtualSelectedData.push(this.parent.getRowObjectFromUID(selectedRow.getAttribute('data-uid')).data);\n }\n this.selectedRowIndexes.push(startIndex);\n this.selectedRecords.push(selectedRow);\n }\n selectedRow.setAttribute('aria-selected', 'true');\n this.updatePersistCollection(selectedRow, true);\n this.updateCheckBoxes(selectedRow, true);\n this.addRemoveClassesForRow(selectedRow, true, null, 'e-selectionbackground', 'e-active');\n if (!this.preventFocus && !(this.parent.isFocusFirstCell || this.isFocusLastCell)) {\n var target = this.focus.getPrevIndexes().cellIndex ?\n selectedRow.cells[this.focus.getPrevIndexes().cellIndex] :\n selectedRow.querySelector('.e-selectionbackground:not(.e-hide):not(.e-detailrowcollapse):not(.e-detailrowexpand)');\n if (this.parent.contextMenuModule && this.mouseButton === 2) {\n target = this.parent.contextMenuModule.cell;\n }\n if (!target || preventFocus) {\n return;\n }\n this.focus.onClick({ target: target }, true);\n }\n else {\n if (this.parent.isFocusFirstCell || this.isFocusLastCell) {\n this.parent.isFocusFirstCell = false;\n var selector = this.isFocusLastCell ? 'last-child' : 'first-child';\n var target = selectedRow.querySelector('.e-selectionbackground.e-rowcell:not(.e-hide, .e-detailrowcollapse, .e-detailrowexpand, .e-rowdragdrop, .e-gridchkbox):' + selector);\n this.isFocusLastCell = false;\n if (target) {\n this.focus.onClick({ target: target }, true, true);\n }\n }\n }\n };\n /**\n * Deselects the currently selected rows and cells.\n *\n * @returns {void}\n */\n Selection.prototype.clearSelection = function () {\n this.checkSelectAllClicked = true;\n if (this.selectionSettings.persistSelection && this.persistSelectedData.length) {\n this.deSelectedData = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.iterateExtend)(this.persistSelectedData);\n }\n if (!this.parent.isPersistSelection || (this.parent.isPersistSelection && !this.parent.isEdit) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkedTarget) && this.checkedTarget.classList.contains('e-checkselectall'))) {\n var span = this.parent.element.querySelector('.e-gridpopup').querySelector('span');\n if (span.classList.contains('e-rowselect')) {\n span.classList.remove('e-spanclicked');\n }\n if (this.parent.isPersistSelection) {\n this.persistSelectedData = [];\n this.selectedRowState = {};\n }\n this.clearRowSelection();\n this.clearCellSelection();\n this.clearColumnSelection();\n this.prevRowIndex = undefined;\n this.prevCIdxs = undefined;\n this.prevECIdxs = undefined;\n this.enableSelectMultiTouch = false;\n this.isInteracted = false;\n this.checkSelectAllClicked = false;\n this.isHdrSelectAllClicked = false;\n }\n };\n /**\n * Deselects the currently selected rows.\n *\n * @returns {void}\n */\n Selection.prototype.clearRowSelection = function () {\n var _this = this;\n if (this.isRowSelected) {\n var rows_1 = this.parent.getDataRows();\n var data_1 = [];\n var row_1 = [];\n var rowIndex_1 = [];\n var foreignKeyData_1 = [];\n var target_1 = this.target;\n this.isRowDeselect = true;\n for (var i = 0, len = this.selectedRowIndexes.length; i < len; i++) {\n var currentRow = void 0;\n if (this.parent.enableVirtualization || (this.parent.enableInfiniteScrolling\n && this.parent.infiniteScrollSettings.enableCache)) {\n currentRow = this.parent.getRowByIndex(this.selectedRowIndexes[parseInt(i.toString(), 10)]);\n }\n else {\n currentRow = this.parent.editSettings.mode === 'Batch' ?\n this.parent.getRows()[this.selectedRowIndexes[parseInt(i.toString(), 10)]]\n : this.parent.getDataRows()[this.selectedRowIndexes[parseInt(i.toString(), 10)]];\n }\n var rowObj = this.getRowObj(currentRow);\n if (rowObj) {\n data_1.push(rowObj.data);\n row_1.push(currentRow);\n rowIndex_1.push(this.selectedRowIndexes[parseInt(i.toString(), 10)]);\n foreignKeyData_1.push(rowObj.foreignKeyData);\n }\n }\n if (this.selectionSettings.persistSelection && this.selectionSettings.checkboxMode !== 'ResetOnRowClick') {\n this.isRowClicked = this.checkSelectAllClicked ? true : false;\n }\n this.rowDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDeselecting, rowIndex_1, data_1, row_1, foreignKeyData_1, target_1, null, function () {\n if (_this.isCancelDeSelect && (_this.isRowClicked || _this.checkSelectAllClicked || (_this.isInteracted &&\n !_this.parent.isPersistSelection))) {\n if (_this.parent.isPersistSelection) {\n if (_this.getCheckAllStatus(_this.parent.element.querySelector('.e-checkselectall')) === 'Intermediate' || _this.parent.isPersistSelection) {\n for (var i = 0; i < _this.selectedRecords.length; i++) {\n _this.updatePersistCollection(_this.selectedRecords[parseInt(i.toString(), 10)], true);\n }\n }\n else {\n _this.parent.checkAllRows = 'Check';\n _this.updatePersistSelectedData(true);\n }\n }\n if (_this.clearRowCheck) {\n _this.clearRowCallBack();\n _this.clearRowCheck = false;\n if (_this.selectRowCheck) {\n _this.selectRowCallBack();\n _this.selectRowCheck = false;\n }\n }\n return;\n }\n var element = [].slice.call(rows_1.filter(function (record) { return record.hasAttribute('aria-selected'); }));\n for (var j = 0; j < element.length; j++) {\n if (!_this.disableUI) {\n element[parseInt(j.toString(), 10)].removeAttribute('aria-selected');\n _this.addRemoveClassesForRow(element[parseInt(j.toString(), 10)], false, true, 'e-selectionbackground', 'e-active');\n }\n // tslint:disable-next-line:align\n if (!_this.isPrevRowSelection) {\n _this.updatePersistCollection(element[parseInt(j.toString(), 10)], false);\n }\n _this.updateCheckBoxes(element[parseInt(j.toString(), 10)]);\n }\n if ((_this.parent.enableVirtualization || (_this.parent.enableInfiniteScrolling\n && _this.parent.infiniteScrollSettings.enableCache)) && _this.selectedRecords.length && !element.length\n && !_this.parent.selectionSettings.persistSelection && !_this.disableUI\n && !_this.parent.isCheckBoxSelection) {\n _this.addRemoveClassesForRow(null, false, true);\n }\n _this.virtualSelectedData = [];\n _this.selectedRowIndexes = [];\n _this.selectedRecords = [];\n _this.isRowSelected = false;\n _this.selectRowIndex(-1);\n _this.isPrevRowSelection = false;\n _this.rowDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDeselected, rowIndex_1, data_1, row_1, foreignKeyData_1, target_1, null, undefined, null);\n if (_this.clearRowCheck) {\n _this.clearRowCallBack();\n _this.clearRowCheck = false;\n if (_this.selectRowCheck) {\n _this.selectRowCallBack();\n _this.selectRowCheck = false;\n }\n }\n }, null);\n this.isRowDeselect = false;\n }\n else {\n if (this.clearRowCheck) {\n this.clearRowCallBack();\n this.clearRowCheck = false;\n if (this.selectRowCheck) {\n this.selectRowCallBack();\n this.selectRowCheck = false;\n }\n }\n }\n };\n Selection.prototype.rowDeselect = function (type, rowIndex, data, row, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n foreignKeyData, target, mRow, rowDeselectCallBack, frozenRightRow) {\n var _this = this;\n if ((this.selectionSettings.persistSelection && (this.isRowClicked || !this.isRowDeselect || this.checkSelectAllClicked || (this.focus['activeKey'] &&\n this.focus.currentInfo.element.classList.contains('e-gridchkbox') && this.focus['activeKey'] === 'space'))) ||\n !this.selectionSettings.persistSelection) {\n var cancl_1 = 'cancel';\n var isSingleDeSel = rowIndex.length === 1 && this.deSelectedData.length === 1;\n var rowDeselectObj = {\n rowIndex: rowIndex[0], data: this.selectionSettings.persistSelection && (this.parent.checkAllRows === 'Uncheck' &&\n !isSingleDeSel) && this.selectionSettings.checkboxMode !== 'ResetOnRowClick' ? this.deSelectedData : data,\n foreignKeyData: foreignKeyData, cancel: false, isInteracted: this.isInteracted,\n isHeaderCheckboxClicked: this.isHeaderCheckboxClicked\n };\n if (type === 'rowDeselected') {\n delete rowDeselectObj.cancel;\n }\n var rowInString = 'row';\n var target_2 = 'target';\n var rowidx = 'rowIndex';\n var rowidxex = 'rowIndexes';\n var dataTxt = 'data';\n var foreignKey = 'foreignKeyData';\n rowDeselectObj[\"\" + rowInString] = row;\n rowDeselectObj[\"\" + target_2] = this.actualTarget;\n var isHeaderCheckBxClick = this.actualTarget && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.actualTarget, 'thead'));\n if (isHeaderCheckBxClick || rowIndex.length > 1) {\n rowDeselectObj[\"\" + rowidx] = rowIndex[0];\n rowDeselectObj[\"\" + rowidxex] = rowIndex;\n }\n else if (rowIndex.length === 1) {\n rowDeselectObj[\"\" + dataTxt] = rowDeselectObj[\"\" + dataTxt][0];\n rowDeselectObj[\"\" + rowInString] = rowDeselectObj[\"\" + rowInString][0];\n rowDeselectObj[\"\" + foreignKey] = rowDeselectObj[\"\" + foreignKey][0];\n if (this.isAddRowsToSelection) {\n rowDeselectObj[\"\" + rowidxex] = rowIndex;\n }\n }\n this.parent.trigger(type, rowDeselectObj, function (args) {\n _this.isCancelDeSelect = args[\"\" + cancl_1];\n if (!_this.isCancelDeSelect || (!_this.isRowClicked && !_this.isInteracted && !_this.checkSelectAllClicked)) {\n _this.updatePersistCollection(row[0], false);\n _this.updateCheckBoxes(row[0], undefined, rowIndex[0]);\n }\n if (rowDeselectCallBack !== undefined) {\n rowDeselectCallBack();\n }\n });\n }\n else if (this.selectionSettings.persistSelection && !this.isInteracted) {\n if (rowDeselectCallBack !== undefined) {\n rowDeselectCallBack();\n }\n }\n };\n Selection.prototype.getRowObj = function (row) {\n if (row === void 0) { row = this.currentIndex; }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row)) {\n return {};\n }\n if (typeof row === 'number') {\n row = this.parent.getRowByIndex(row);\n }\n if (row) {\n return this.parent.getRowObjectFromUID(row.getAttribute('data-uid')) || {};\n }\n return {};\n };\n /**\n * Selects a cell by the given index.\n *\n * @param {IIndex} cellIndex - Defines the row and column indexes.\n * @param {boolean} isToggle - If set to true, then it toggles the selection.\n * @returns {void}\n */\n Selection.prototype.selectCell = function (cellIndex, isToggle) {\n if (!this.isCellType() || (this.isCellType() && (this.parent.enableVirtualization ||\n (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache)))) {\n return;\n }\n var gObj = this.parent;\n var args;\n var selectedCell = gObj.getCellFromIndex(cellIndex.rowIndex, this.getColIndex(cellIndex.rowIndex, cellIndex.cellIndex));\n this.currentIndex = cellIndex.rowIndex;\n var selectedData = this.getCurrentBatchRecordChanges()[this.currentIndex];\n if (!this.isCellType() || !selectedCell || this.isEditing()) {\n return;\n }\n var isCellSelected = selectedCell.classList.contains('e-cellselectionbackground');\n isToggle = !isToggle ? isToggle : (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.prevCIdxs) &&\n cellIndex.rowIndex === this.prevCIdxs.rowIndex && cellIndex.cellIndex === this.prevCIdxs.cellIndex &&\n isCellSelected);\n if (!isToggle) {\n args = {\n data: selectedData, cellIndex: cellIndex,\n isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest,\n previousRowCell: this.prevECIdxs ?\n this.getCellIndex(this.prevECIdxs.rowIndex, this.prevECIdxs.cellIndex) : undefined,\n cancel: false\n };\n var currentCell = 'currentCell';\n args[\"\" + currentCell] = selectedCell;\n var previousRowCellIndex = 'previousRowCellIndex';\n args[\"\" + previousRowCellIndex] = this.prevECIdxs;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelecting, this.fDataUpdate(args), this.successCallBack(args, isToggle, cellIndex, selectedCell, selectedData));\n this.cellselected = true;\n }\n else {\n this.successCallBack(args, isToggle, cellIndex, selectedCell, selectedData)(args);\n }\n };\n Selection.prototype.successCallBack = function (cellSelectingArgs, isToggle, cellIndex, selectedCell, selectedData) {\n var _this = this;\n return function (cellSelectingArgs) {\n var cncl = 'cancel';\n var currentCell = 'currentCell';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellSelectingArgs) && cellSelectingArgs[\"\" + cncl] === true) {\n return;\n }\n if (!isToggle) {\n cellSelectingArgs[\"\" + currentCell] = cellSelectingArgs[\"\" + currentCell] ? cellSelectingArgs[\"\" + currentCell] : selectedCell;\n }\n _this.clearCell();\n if (!isToggle) {\n _this.updateCellSelection(selectedCell, cellIndex.rowIndex, cellIndex.cellIndex);\n }\n if (!isToggle) {\n var args = {\n data: selectedData, cellIndex: cellIndex, currentCell: selectedCell,\n selectedRowCellIndex: _this.selectedRowCellIndexes,\n previousRowCell: _this.prevECIdxs ?\n _this.getCellIndex(_this.prevECIdxs.rowIndex, _this.prevECIdxs.cellIndex) : undefined\n };\n var previousRowCellIndex = 'previousRowCellIndex';\n args[\"\" + previousRowCellIndex] = _this.prevECIdxs;\n _this.updateCellProps(cellIndex, cellIndex);\n _this.onActionComplete(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelected);\n }\n };\n };\n Selection.prototype.getCellIndex = function (rIdx, cIdx) {\n return this.parent.getCellFromIndex(rIdx, cIdx);\n };\n /**\n * Selects a range of cells from start and end indexes.\n *\n * @param {IIndex} startIndex - Specifies the row and column's start index.\n * @param {IIndex} endIndex - Specifies the row and column's end index.\n * @returns {void}\n */\n Selection.prototype.selectCellsByRange = function (startIndex, endIndex) {\n var _this = this;\n if (!this.isCellType()) {\n return;\n }\n var gObj = this.parent;\n var selectedCell = this.parent.isSpan ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getCellFromRow)(this.parent, startIndex.rowIndex, startIndex.cellIndex) :\n gObj.getCellFromIndex(startIndex.rowIndex, startIndex.cellIndex);\n var min;\n var max;\n var stIndex = startIndex;\n var edIndex = endIndex = endIndex ? endIndex : startIndex;\n var cellIndexes;\n this.currentIndex = startIndex.rowIndex;\n var cncl = 'cancel';\n var selectedData = this.getCurrentBatchRecordChanges()[this.currentIndex];\n if (this.isSingleSel() || !this.isCellType() || this.isEditing()) {\n return;\n }\n var args = {\n data: selectedData, cellIndex: startIndex, currentCell: selectedCell,\n isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest,\n previousRowCell: this.prevECIdxs ? this.getCellIndex(this.prevECIdxs.rowIndex, this.prevECIdxs.cellIndex) : undefined\n };\n var previousRowCellIndex = 'previousRowCellIndex';\n args[\"\" + previousRowCellIndex] = this.prevECIdxs;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelecting, this.fDataUpdate(args), function (cellSelectingArgs) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellSelectingArgs) && cellSelectingArgs[\"\" + cncl] === true) {\n return;\n }\n _this.clearCell();\n if (startIndex.rowIndex > endIndex.rowIndex) {\n var temp = startIndex;\n startIndex = endIndex;\n endIndex = temp;\n }\n for (var i = startIndex.rowIndex; i <= endIndex.rowIndex; i++) {\n if (_this.selectionSettings.cellSelectionMode.indexOf('Box') < 0) {\n min = i === startIndex.rowIndex ? (startIndex.cellIndex) : 0;\n max = i === endIndex.rowIndex ? (endIndex.cellIndex) : _this.getLastColIndex(i);\n }\n else {\n min = startIndex.cellIndex;\n max = endIndex.cellIndex;\n }\n cellIndexes = [];\n for (var j = min < max ? min : max, len = min > max ? min : max; j <= len; j++) {\n selectedCell = _this.parent.isSpan ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getCellFromRow)(gObj, i, j) : gObj.getCellFromIndex(i, j);\n if (!selectedCell) {\n continue;\n }\n cellIndexes.push(j);\n _this.updateCellSelection(selectedCell);\n _this.addAttribute(selectedCell);\n }\n _this.selectedRowCellIndexes.push({ rowIndex: i, cellIndexes: cellIndexes });\n }\n var cellSelectedArgs = {\n data: selectedData, cellIndex: edIndex, currentCell: gObj.getCellFromIndex(edIndex.rowIndex, edIndex.cellIndex),\n selectedRowCellIndex: _this.selectedRowCellIndexes,\n previousRowCell: _this.prevECIdxs ? _this.getCellIndex(_this.prevECIdxs.rowIndex, _this.prevECIdxs.cellIndex) : undefined\n };\n var previousRowCellIndex = 'previousRowCellIndex';\n cellSelectedArgs[\"\" + previousRowCellIndex] = _this.prevECIdxs;\n if (!_this.isDragged) {\n _this.onActionComplete(cellSelectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelected);\n _this.cellselected = true;\n }\n _this.updateCellProps(stIndex, edIndex);\n });\n };\n /**\n * Selects a collection of cells by row and column indexes.\n *\n * @param {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.\n * @returns {void}\n */\n Selection.prototype.selectCells = function (rowCellIndexes) {\n if (!this.isCellType()) {\n return;\n }\n var gObj = this.parent;\n var selectedCell = gObj.getCellFromIndex(rowCellIndexes[0].rowIndex, rowCellIndexes[0].cellIndexes[0]);\n this.currentIndex = rowCellIndexes[0].rowIndex;\n var selectedData = this.getCurrentBatchRecordChanges()[this.currentIndex];\n if (this.isSingleSel() || !this.isCellType() || this.isEditing()) {\n return;\n }\n var cellSelectArgs = {\n data: selectedData, cellIndex: rowCellIndexes[0].cellIndexes[0],\n currentCell: selectedCell, isCtrlPressed: this.isMultiCtrlRequest,\n isShiftPressed: this.isMultiShiftRequest,\n previousRowCell: this.prevECIdxs ? this.getCellIndex(this.prevECIdxs.rowIndex, this.prevECIdxs.cellIndex) : undefined\n };\n var previousRowCellIndex = 'previousRowCellIndex';\n cellSelectArgs[\"\" + previousRowCellIndex] = this.prevECIdxs;\n this.onActionBegin(cellSelectArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelecting);\n for (var i = 0, len = rowCellIndexes.length; i < len; i++) {\n for (var j = 0, cellLen = rowCellIndexes[parseInt(i.toString(), 10)].cellIndexes.length; j < cellLen; j++) {\n selectedCell = gObj.getCellFromIndex(rowCellIndexes[parseInt(i.toString(), 10)].rowIndex, rowCellIndexes[parseInt(i.toString(), 10)].cellIndexes[parseInt(j.toString(), 10)]);\n if (!selectedCell) {\n continue;\n }\n this.updateCellSelection(selectedCell);\n this.addAttribute(selectedCell);\n this.addRowCellIndex({ rowIndex: rowCellIndexes[parseInt(i.toString(), 10)].rowIndex,\n cellIndex: rowCellIndexes[parseInt(i.toString(), 10)].cellIndexes[parseInt(j.toString(), 10)] });\n }\n }\n this.updateCellProps({ rowIndex: rowCellIndexes[0].rowIndex, cellIndex: rowCellIndexes[0].cellIndexes[0] }, { rowIndex: rowCellIndexes[0].rowIndex, cellIndex: rowCellIndexes[0].cellIndexes[0] });\n var cellSelectedArgs = {\n data: selectedData, cellIndex: rowCellIndexes[0].cellIndexes[0],\n currentCell: selectedCell, selectedRowCellIndex: this.selectedRowCellIndexes,\n previousRowCell: this.prevECIdxs ? this.getCellIndex(this.prevECIdxs.rowIndex, this.prevECIdxs.cellIndex) : undefined\n };\n var prvRowCellIndex = 'previousRowCellIndex';\n cellSelectedArgs[\"\" + prvRowCellIndex] = this.prevECIdxs;\n this.onActionComplete(cellSelectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelected);\n };\n /**\n * Select cells with existing cell selection by passing row and column index.\n *\n * @param {IIndex} cellIndexes - Defines the collection of row and column index.\n * @returns {void}\n * @hidden\n */\n Selection.prototype.addCellsToSelection = function (cellIndexes) {\n if (!this.isCellType() || (this.isCellType() && (this.parent.enableVirtualization ||\n (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache)))) {\n return;\n }\n var gObj = this.parent;\n var selectedCell;\n var index;\n this.currentIndex = cellIndexes[0].rowIndex;\n var cncl = 'cancel';\n var selectedData = this.getCurrentBatchRecordChanges()[this.currentIndex];\n if (this.isSingleSel() || !this.isCellType() || this.isEditing()) {\n return;\n }\n this.hideAutoFill();\n var rowObj;\n rowObj = gObj.getRowsObject()[cellIndexes[0].rowIndex];\n if (gObj.groupSettings.columns.length > 0) {\n rowObj = gObj.getRowObjectFromUID(this.target.parentElement.getAttribute('data-uid'));\n }\n var foreignKeyData = [];\n for (var _i = 0, cellIndexes_1 = cellIndexes; _i < cellIndexes_1.length; _i++) {\n var cellIndex = cellIndexes_1[_i];\n for (var i = 0, len = this.selectedRowCellIndexes.length; i < len; i++) {\n if (this.selectedRowCellIndexes[parseInt(i.toString(), 10)].rowIndex === cellIndex.rowIndex) {\n index = i;\n break;\n }\n }\n selectedCell = gObj.getCellFromIndex(cellIndex.rowIndex, this.getColIndex(cellIndex.rowIndex, cellIndex.cellIndex));\n var idx = cellIndex.cellIndex;\n if (gObj.groupSettings.columns.length > 0) {\n foreignKeyData.push(rowObj.cells[idx + gObj.groupSettings.columns.length].foreignKeyData);\n }\n else {\n foreignKeyData.push(rowObj.cells[parseInt(idx.toString(), 10)].foreignKeyData);\n }\n var args = {\n cancel: false, data: selectedData, cellIndex: cellIndexes[0],\n isShiftPressed: this.isMultiShiftRequest,\n currentCell: selectedCell, isCtrlPressed: this.isMultiCtrlRequest,\n previousRowCell: this.prevECIdxs ?\n gObj.getCellFromIndex(this.prevECIdxs.rowIndex, this.prevECIdxs.cellIndex) : undefined\n };\n var prvRowCellIndex = 'previousRowCellIndex';\n args[\"\" + prvRowCellIndex] = this.prevECIdxs;\n var isUnSelected = index > -1;\n if (isUnSelected) {\n var selectedCellIdx = this.selectedRowCellIndexes[parseInt(index.toString(), 10)].cellIndexes;\n if (selectedCellIdx.indexOf(cellIndex.cellIndex) > -1 || (this.selectionSettings.mode === 'Both' &&\n selectedCell.classList.contains('e-gridchkbox') && !selectedCell.getAttribute('aria-selected'))) {\n this.cellDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cellDeselecting, [{ rowIndex: cellIndex.rowIndex, cellIndexes: [cellIndex.cellIndex] }], selectedData, [selectedCell], foreignKeyData);\n selectedCellIdx.splice(selectedCellIdx.indexOf(cellIndex.cellIndex), 1);\n if (selectedCellIdx.length === 0) {\n this.selectedRowCellIndexes.splice(index, 1);\n }\n selectedCell.classList.remove('e-cellselectionbackground');\n selectedCell.removeAttribute('aria-selected');\n this.cellDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cellDeselected, [{ rowIndex: cellIndex.rowIndex, cellIndexes: [cellIndex.cellIndex] }], selectedData, [selectedCell], foreignKeyData);\n }\n else {\n isUnSelected = false;\n this.onActionBegin(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelecting);\n this.addRowCellIndex({ rowIndex: cellIndex.rowIndex, cellIndex: cellIndex.cellIndex });\n this.updateCellSelection(selectedCell);\n this.addAttribute(selectedCell);\n }\n }\n else {\n this.onActionBegin(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelecting);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args[\"\" + cncl] === true) {\n return;\n }\n this.updateCellSelection(selectedCell, cellIndex.rowIndex, cellIndex.cellIndex);\n }\n if (!isUnSelected) {\n var cellSelectedArgs = {\n data: selectedData, cellIndex: cellIndexes[0], currentCell: selectedCell,\n previousRowCell: this.prevECIdxs ? this.getCellIndex(this.prevECIdxs.rowIndex, this.prevECIdxs.cellIndex) :\n undefined, selectedRowCellIndex: this.selectedRowCellIndexes\n };\n cellSelectedArgs[\"\" + prvRowCellIndex] = this.prevECIdxs;\n this.onActionComplete(cellSelectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelected);\n this.cellselected = true;\n }\n this.updateCellProps(cellIndex, cellIndex);\n }\n };\n Selection.prototype.getColIndex = function (rowIndex, index) {\n var col = this.parent.getColumnByIndex(index);\n var cells = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getCellsByTableName)(this.parent, col, rowIndex);\n if (cells) {\n for (var m = 0; m < cells.length; m++) {\n var colIndex = parseInt(cells[parseInt(m.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n if (colIndex === index) {\n return m;\n }\n }\n }\n return -1;\n };\n Selection.prototype.getLastColIndex = function (rowIndex) {\n var cells = this.parent.getDataRows()[parseInt(rowIndex.toString(), 10)].querySelectorAll('td.e-rowcell');\n return parseInt(cells[cells.length - 1].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n };\n Selection.prototype.clearCell = function () {\n this.clearCellSelection();\n };\n Selection.prototype.cellDeselect = function (type, cellIndexes, data, cells, foreignKeyData) {\n var cancl = 'cancel';\n if (cells && cells.length > 0) {\n for (var _i = 0, cells_1 = cells; _i < cells_1.length; _i++) {\n var cell = cells_1[_i];\n if (cell && cell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridChkBox)) {\n this.updateCheckBoxes((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cell, 'tr'));\n }\n }\n }\n var args = {\n cells: cells, data: data, cellIndexes: cellIndexes, foreignKeyData: foreignKeyData, cancel: false\n };\n this.parent.trigger(type, args);\n this.isPreventCellSelect = args[\"\" + cancl];\n };\n Selection.prototype.updateCellSelection = function (selectedCell, rowIndex, cellIndex) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowIndex)) {\n this.addRowCellIndex({ rowIndex: rowIndex, cellIndex: cellIndex });\n }\n selectedCell.classList.add('e-cellselectionbackground');\n if (selectedCell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridChkBox)) {\n this.updateCheckBoxes((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(selectedCell, 'tr'), true);\n }\n this.addAttribute(selectedCell);\n };\n Selection.prototype.addAttribute = function (cell) {\n this.target = cell;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell)) {\n cell.setAttribute('aria-selected', 'true');\n if (!this.preventFocus) {\n this.focus.onClick({ target: cell }, true);\n }\n }\n };\n Selection.prototype.updateCellProps = function (startIndex, endIndex) {\n this.prevCIdxs = startIndex;\n this.prevECIdxs = endIndex;\n this.isCellSelected = this.selectedRowCellIndexes.length && true;\n };\n Selection.prototype.addRowCellIndex = function (rowCellIndex) {\n var isRowAvail;\n var index;\n for (var i = 0, len = this.selectedRowCellIndexes.length; i < len; i++) {\n if (this.selectedRowCellIndexes[parseInt(i.toString(), 10)].rowIndex === rowCellIndex.rowIndex) {\n isRowAvail = true;\n index = i;\n break;\n }\n }\n if (isRowAvail) {\n if (this.selectedRowCellIndexes[parseInt(index.toString(), 10)].cellIndexes.indexOf(rowCellIndex.cellIndex) < 0) {\n this.selectedRowCellIndexes[parseInt(index.toString(), 10)].cellIndexes.push(rowCellIndex.cellIndex);\n }\n }\n else {\n this.selectedRowCellIndexes.push({ rowIndex: rowCellIndex.rowIndex, cellIndexes: [rowCellIndex.cellIndex] });\n }\n };\n /**\n * Deselects the currently selected cells.\n *\n * @returns {void}\n */\n Selection.prototype.clearCellSelection = function () {\n if (this.isCellSelected) {\n var gObj = this.parent;\n var selectedCells = this.getSelectedCellsElement();\n var rowCell = this.selectedRowCellIndexes;\n var data = [];\n var cells = [];\n var foreignKeyData = [];\n var currentViewData = this.getCurrentBatchRecordChanges();\n this.hideAutoFill();\n for (var i = 0, len = rowCell.length; i < len; i++) {\n data.push(currentViewData[rowCell[parseInt(i.toString(), 10)].rowIndex]);\n var rowObj = this.getRowObj(rowCell[parseInt(i.toString(), 10)].rowIndex);\n for (var j = 0, cLen = rowCell[parseInt(i.toString(), 10)].cellIndexes.length; j < cLen; j++) {\n if (rowObj.cells) {\n foreignKeyData.push(rowObj.cells[rowCell[parseInt(i.toString(), 10)]\n .cellIndexes[parseInt(j.toString(), 10)]].foreignKeyData);\n }\n cells.push(gObj.getCellFromIndex(rowCell[parseInt(i.toString(), 10)].rowIndex, rowCell[parseInt(i.toString(), 10)].cellIndexes[parseInt(j.toString(), 10)]));\n }\n }\n this.cellDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cellDeselecting, rowCell, data, cells, foreignKeyData);\n if (this.isPreventCellSelect === true) {\n return;\n }\n for (var i = 0, len = selectedCells.length; i < len; i++) {\n selectedCells[parseInt(i.toString(), 10)].classList.remove('e-cellselectionbackground');\n selectedCells[parseInt(i.toString(), 10)].removeAttribute('aria-selected');\n }\n if (this.bdrElement) {\n this.showHideBorders('none');\n }\n this.selectedRowCellIndexes = [];\n this.isCellSelected = false;\n if (!this.isDragged && this.cellselected) {\n this.cellDeselect(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cellDeselected, rowCell, data, cells, foreignKeyData);\n }\n }\n };\n Selection.prototype.getSelectedCellsElement = function () {\n var gObj = this.parent;\n var rows = gObj.getDataRows();\n var cells = [];\n for (var i = 0, len = rows.length; i < len; i++) {\n cells = cells.concat([].slice.call(rows[parseInt(i.toString(), 10)].getElementsByClassName('e-cellselectionbackground')));\n }\n return cells;\n };\n Selection.prototype.mouseMoveHandler = function (e) {\n e.preventDefault();\n this.stopTimer();\n var gBRect = this.parent.element.getBoundingClientRect();\n var x1 = this.x;\n var y1 = this.y;\n var position = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPosition)(e);\n var x2 = position.x - gBRect.left;\n var y2 = position.y - gBRect.top;\n var tmp;\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n this.isDragged = true;\n if (!this.isCellDrag) {\n if (!target) {\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.elementFromPoint(this.parent.element.offsetLeft + 2, e.clientY), 'tr');\n }\n if (x1 > x2) {\n tmp = x2;\n x2 = x1;\n x1 = tmp;\n }\n if (y1 > y2) {\n tmp = y2;\n y2 = y1;\n y1 = tmp;\n }\n this.element.style.left = x1 + 'px';\n this.element.style.top = y1 + 'px';\n this.element.style.width = x2 - x1 + 'px';\n this.element.style.height = y2 - y1 + 'px';\n }\n if (target && !e.ctrlKey && !e.shiftKey) {\n var rowIndex = parseInt(target.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n if (!this.isCellDrag) {\n this.hideAutoFill();\n this.selectRowsByRange(this.startDIndex, rowIndex);\n this.isRowDragSelected = true;\n }\n else {\n var td = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n if (td) {\n this.startAFCell = this.startCell;\n this.endAFCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n if (rowIndex > -1) {\n this.selectLikeExcel(e, rowIndex, parseInt(td.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1);\n }\n }\n }\n }\n if (!e.ctrlKey && !e.shiftKey && !this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling &&\n !this.parent.enableColumnVirtualization && !this.parent.groupSettings.columns.length && this.isCellDrag) {\n this.updateScrollPosition(e, position, this.parent.getContent());\n }\n };\n Selection.prototype.updateScrollPosition = function (mouseEvent, position, scrollElement) {\n var _this = this;\n var clientRect = scrollElement.getBoundingClientRect();\n if (clientRect.left >= position.x - 20 -\n (this.parent.enableRtl && this.parent.height !== 'auto' ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)() : 0)) {\n this.timer1 = window.setInterval(function () { _this.setScrollPosition(scrollElement.firstElementChild, _this.parent.enableRtl ? 'right' : 'left', mouseEvent); }, 200);\n }\n else if (clientRect.left + scrollElement.clientWidth - 20 -\n (!this.parent.enableRtl && this.parent.height !== 'auto' ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)() : 0) < position.x) {\n this.timer1 = window.setInterval(function () { _this.setScrollPosition(scrollElement.firstElementChild, _this.parent.enableRtl ? 'left' : 'right', mouseEvent); }, 200);\n }\n if (clientRect.top >= position.y - (this.parent.getRowHeight() * 0.5)) {\n this.timer2 = window.setInterval(function () { _this.setScrollPosition(scrollElement.firstElementChild, 'up', mouseEvent); }, 200);\n }\n else if (clientRect.top + scrollElement.clientHeight - (this.parent.getRowHeight() * 0.5) -\n (scrollElement.firstElementChild.scrollWidth > scrollElement.firstElementChild.offsetWidth ?\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)() : 0) <= position.y) {\n this.timer2 = window.setInterval(function () { _this.setScrollPosition(scrollElement.firstElementChild, 'down', mouseEvent); }, 200);\n }\n };\n Selection.prototype.stopTimer = function () {\n if (this.timer1) {\n window.clearInterval(this.timer1);\n this.timer1 = null;\n }\n if (this.timer2) {\n window.clearInterval(this.timer2);\n this.timer2 = null;\n }\n this.preventFocus = false;\n };\n Selection.prototype.setScrollPosition = function (scrollElement, direction, mouseEvent) {\n var rowIndex = -1;\n var columnIndex = -1;\n if (this.endAFCell || this.prevECIdxs) {\n rowIndex = this.endAFCell ? parseInt(this.endAFCell.getAttribute('index'), 10) : this.prevECIdxs.rowIndex;\n columnIndex = this.endAFCell ? parseInt(this.endAFCell.getAttribute('aria-colindex'), 10) - 1 : this.prevECIdxs.cellIndex;\n }\n switch (direction) {\n case 'up':\n if (mouseEvent && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(mouseEvent.target, '.e-headercontent')) {\n return;\n }\n if (this.isAutoFillSel && this.startAFCell && this.selectedRowCellIndexes.length &&\n ((this.selectedRowCellIndexes.length === 1 && this.startAFCell !== this.startCell) ||\n (this.selectedRowCellIndexes.length > 1 && this.startAFCell.getBoundingClientRect().top > 0))) {\n rowIndex = parseInt(this.startAFCell.getAttribute('index'), 10);\n }\n rowIndex -= 1;\n if (this.parent.frozenRows) {\n rowIndex += this.parent.frozenRows + 1;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n rowIndex < 1 ? scrollElement.scrollTop = 0 : scrollElement.scrollTop -= this.parent.getRowByIndex(rowIndex)\n .offsetHeight;\n break;\n case 'down':\n if (this.isAutoFillSel && this.startAFCell && this.startAFCell !== this.startCell) {\n rowIndex = parseInt(this.startAFCell.getAttribute('index'), 10);\n }\n if (rowIndex < this.parent.getRows().length - 1) {\n rowIndex += 1;\n if (this.isAutoFillSel && this.startAFCell && this.startAFCell !== this.startCell) {\n this.startAFCell = this.parent.getCellFromIndex(rowIndex, this.selectedRowCellIndexes[0].cellIndexes[0]);\n }\n scrollElement.scrollTop += this.parent.getRowByIndex(rowIndex).offsetHeight;\n }\n else {\n scrollElement.scrollTop = scrollElement.scrollHeight;\n }\n break;\n case 'left':\n if (columnIndex > 0 && rowIndex > -1) {\n if (this.isAutoFillSel && this.startAFCell && this.selectedRowCellIndexes.length &&\n ((this.selectedRowCellIndexes[0].cellIndexes.length > 0 && this.startAFCell !== this.startCell) ||\n (this.selectedRowCellIndexes[0].cellIndexes.length > 1 &&\n ((!this.parent.enableRtl && this.startAFCell.getBoundingClientRect().left > 0) || (this.parent.enableRtl &&\n this.startAFCell.getBoundingClientRect().left < this.parent.element.offsetWidth))))) {\n columnIndex = parseInt(this.startAFCell.getAttribute('aria-colindex'), 10) - 1;\n }\n var nextElement_1 = this.findNextCell(scrollElement, direction, columnIndex, rowIndex);\n columnIndex = nextElement_1 ? parseInt(nextElement_1.getAttribute('aria-colindex'), 10) - 1 : -1;\n if (this.parent.enableRtl && nextElement_1) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n columnIndex < 1 ? scrollElement.scrollLeft = scrollElement.scrollWidth :\n scrollElement.scrollLeft += nextElement_1.offsetWidth;\n }\n else if (nextElement_1) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n columnIndex < 1 ? scrollElement.scrollLeft = 0 : scrollElement.scrollLeft -= nextElement_1.offsetWidth;\n }\n }\n break;\n case 'right':\n if (this.isAutoFillSel && this.startAFCell && this.startAFCell !== this.startCell) {\n columnIndex = parseInt(this.startAFCell.getAttribute('aria-colindex'), 10) - 1;\n }\n // eslint-disable-next-line no-case-declarations\n var currentElement = this.parent.getCellFromIndex(rowIndex, columnIndex);\n // eslint-disable-next-line no-case-declarations\n var nextElement = this.findNextCell(scrollElement, direction, columnIndex, rowIndex);\n if (nextElement && this.isAutoFillSel && this.startAFCell && this.startAFCell !== this.startCell) {\n this.startAFCell = this.parent.getCellFromIndex(this.selectedRowCellIndexes[0].rowIndex, parseInt(nextElement.getAttribute('aria-colindex'), 10) - 1);\n }\n columnIndex = nextElement ? parseInt(nextElement.getAttribute('aria-colindex'), 10) - 1 : -1;\n if (this.parent.enableRtl && nextElement) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n columnIndex < this.parent.columns.length - 1 ? scrollElement.scrollLeft -= currentElement.offsetWidth :\n scrollElement.scrollLeft = -scrollElement.scrollWidth;\n }\n else if (nextElement) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n columnIndex < this.parent.columns.length - 1 ? scrollElement.scrollLeft += currentElement.offsetWidth :\n scrollElement.scrollLeft = scrollElement.scrollWidth;\n }\n if (this.isAutoFillSel && (columnIndex === this.parent.columns.length - 1 || columnIndex === -1) &&\n this.startAFCell && this.endAFCell) {\n this.positionAFBorders();\n scrollElement.scrollLeft = this.parent.enableRtl ? -scrollElement.scrollWidth : scrollElement.scrollWidth;\n }\n break;\n }\n if (rowIndex > -1 && rowIndex < this.parent.getRows().length && columnIndex > -1) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var mouseEvent_1 = { target: this.parent.getCellFromIndex(rowIndex, columnIndex) };\n if (this.isAutoFillSel && mouseEvent_1.target.classList.contains('e-cellselectionbackground') &&\n ((direction === 'down' && parseInt(mouseEvent_1.target.getAttribute('index'), 10) === this.parent.getRows().length - 1) ||\n (direction === 'right' && parseInt(mouseEvent_1.target.getAttribute('aria-colindex'), 10) - 1 === this.parent.columns.length - 1))) {\n return;\n }\n this.endAFCell = mouseEvent_1.target;\n this.preventFocus = true;\n this.selectLikeExcel(mouseEvent_1, rowIndex, columnIndex);\n }\n };\n Selection.prototype.findNextCell = function (scrollElement, direction, columnIndex, rowIndex) {\n var nextElement = this.parent.getCellFromIndex(rowIndex, direction === 'left' ? columnIndex - 1 : columnIndex + 1);\n if (nextElement && nextElement.classList.contains('e-hide')) {\n var siblingEles = nextElement.closest('tr').querySelectorAll('.e-rowcell:not(.e-hide)');\n var nextEleInd = Array.from(siblingEles).indexOf(nextElement.nextElementSibling);\n if (nextEleInd > 0 && nextEleInd < siblingEles.length - 1) {\n nextElement = siblingEles[nextEleInd + (direction === 'left' ? -1 : 1)];\n return nextElement;\n }\n else {\n scrollElement.scrollLeft = 0;\n return null;\n }\n }\n return nextElement;\n };\n Selection.prototype.selectLikeExcel = function (e, rowIndex, cellIndex) {\n if (!this.isAutoFillSel) {\n this.clearCellSelection();\n this.selectCellsByRange({ rowIndex: this.startDIndex, cellIndex: this.startDCellIndex }, { rowIndex: rowIndex, cellIndex: cellIndex });\n this.drawBorders();\n }\n else { //Autofill\n this.showAFBorders();\n this.selectLikeAutoFill(e);\n }\n };\n Selection.prototype.setFrozenBorders = function (parentEle, border, bdrStr) {\n var width = border.style.borderWidth.toString().split(' ');\n var strCell = ['', 'e-leftfreeze', 'e-unfreeze', 'e-leftfreeze', 'e-unfreeze', 'e-rightfreeze', 'e-rightfreeze'];\n var cells = [].slice.call(parentEle.querySelectorAll('.e-cellselectionbackground' + '.' + strCell[\"\" + bdrStr])).\n filter(function (ele) { return ele.style.display === ''; });\n var fixedCells = [].slice.call(parentEle.querySelectorAll('.e-cellselectionbackground.e-fixedfreeze')).\n filter(function (ele) { return ele.style.display === ''; });\n var isRtl = this.parent.enableRtl;\n if (cells.length) {\n var firstRowIdx = cells[0].getAttribute('index');\n var firstColIdx = cells[0].getAttribute('aria-colindex');\n var lastRowIdx = cells[cells.length - 1].getAttribute('index');\n var lastColIdx = cells[cells.length - 1].getAttribute('aria-colindex');\n for (var i = 0; i < cells.length; i++) {\n if (cells[parseInt(i.toString(), 10)].getAttribute('index') === firstRowIdx && (width.length === 1 || (width.length === 3\n && parseInt(width[0], 10) === 2) || (width.length === 4 && parseInt(width[0], 10) === 2))) {\n cells[parseInt(i.toString(), 10)].classList.add('e-xlsel-top-border');\n }\n if (cells[parseInt(i.toString(), 10)].getAttribute('aria-colindex') === firstColIdx && (width.length === 1 ||\n (width.length === 3 && parseInt(width[1], 10) === 2) || (width.length === 4 && (((!isRtl &&\n parseInt(width[3], 10) === 2)) || (isRtl && parseInt(width[1], 10) === 2))))) {\n cells[parseInt(i.toString(), 10)].classList.add(isRtl ? 'e-xlsel-right-border' : 'e-xlsel-left-border');\n }\n if (cells[parseInt(i.toString(), 10)].getAttribute('index') === lastRowIdx && (width.length === 1 ||\n (width.length === 3 && parseInt(width[2], 10) === 2) || (width.length === 4 && parseInt(width[2], 10) === 2))) {\n cells[parseInt(i.toString(), 10)].classList.add('e-xlsel-bottom-border');\n }\n if (cells[parseInt(i.toString(), 10)].getAttribute('aria-colindex') === lastColIdx && (width.length === 1 ||\n (width.length === 3 && parseInt(width[1], 10) === 2) || (width.length === 4 && ((!isRtl &&\n parseInt(width[1], 10) === 2)) || (isRtl && parseInt(width[3], 10) === 2)))) {\n cells[parseInt(i.toString(), 10)].classList.add(isRtl ? 'e-xlsel-left-border' : 'e-xlsel-right-border');\n }\n }\n }\n if (fixedCells.length) {\n var firstRowIdx = fixedCells[0].getAttribute('index');\n var firstColIdx = (parseInt(fixedCells[0].getAttribute('aria-colindex'), 10) - 1).toString();\n var lastRowIdx = fixedCells[fixedCells.length - 1].getAttribute('index');\n var lastColIdx = (parseInt(fixedCells[fixedCells.length - 1].getAttribute('aria-colindex'), 10) - 1).toString();\n for (var i = 0; i < fixedCells.length; i++) {\n var idx = fixedCells[parseInt(i.toString(), 10)].getAttribute('index');\n var colIdx = (parseInt(fixedCells[parseInt(i.toString(), 10)].getAttribute('aria-colindex'), 10) - 1).toString();\n if (idx === firstRowIdx &&\n ((!this.parent.getHeaderContent().querySelector('.e-cellselectionbackground.e-fixedfreeze')\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(parentEle, 'e-content')) || !(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(parentEle, 'e-content'))) {\n fixedCells[parseInt(i.toString(), 10)].classList.add('e-xlsel-top-border');\n }\n if (idx === lastRowIdx &&\n ((!this.parent.getContent().querySelector('.e-cellselectionbackground.e-fixedfreeze')\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(parentEle, 'e-headercontent')) || !(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(parentEle, 'e-headercontent'))) {\n fixedCells[parseInt(i.toString(), 10)].classList.add('e-xlsel-bottom-border');\n }\n var preCell = fixedCells[parseInt(i.toString(), 10)].parentElement.children[parseInt(colIdx, 10) - 1];\n if (colIdx === firstColIdx && (!preCell || (preCell && !preCell.classList.contains('e-cellselectionbackground')))) {\n fixedCells[parseInt(i.toString(), 10)].classList.add(isRtl ? 'e-xlsel-right-border' : 'e-xlsel-left-border');\n }\n var nextCell = fixedCells[parseInt(i.toString(), 10)].parentElement.children[parseInt(colIdx, 10) + 1];\n if (colIdx === lastColIdx && (!nextCell || (nextCell && !nextCell.classList.contains('e-cellselectionbackground')))) {\n fixedCells[parseInt(i.toString(), 10)].classList.add(isRtl ? 'e-xlsel-left-border' : 'e-xlsel-right-border');\n }\n }\n }\n };\n Selection.prototype.refreshFrozenBorders = function () {\n if (this.bdrElement) {\n this.setFrozenBorders(this.parent.getContentTable(), this.bdrElement, '1');\n if (this.parent.isFrozenGrid() && this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.setFrozenBorders(this.parent.getContentTable(), this.frcBdrElement, '5');\n }\n if (this.parent.frozenRows) {\n this.setFrozenBorders(this.parent.getHeaderTable(), this.fhBdrElement, '3');\n if (this.parent.isFrozenGrid() && this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.setFrozenBorders(this.parent.getHeaderTable(), this.frhBdrElement, '6');\n }\n }\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Selection.prototype.drawBorders = function () {\n if (this.selectionSettings.cellSelectionMode === 'BoxWithBorder' && this.selectedRowCellIndexes.length && !this.parent.isEdit) {\n this.parent.element.classList.add('e-enabledboxbdr');\n if (!this.bdrElement) {\n this.createBorders();\n }\n this.positionBorders();\n if (this.parent.isFrozenGrid()) {\n this.showHideBorders('none', true);\n this.refreshFrozenBorders();\n }\n }\n else {\n this.showHideBorders('none');\n }\n };\n Selection.prototype.isLastCell = function (cell) {\n var cells = [].slice.call(cell.parentElement.querySelectorAll('.e-rowcell:not(.e-hide)'));\n return cells[cells.length - 1] === cell;\n };\n Selection.prototype.isLastRow = function (cell) {\n var rows = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody).querySelectorAll('.e-row:not(.e-hiddenrow)'));\n return cell.parentElement === rows[rows.length - 1];\n };\n Selection.prototype.isFirstRow = function (cell) {\n var rows = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody).querySelectorAll('.e-row:not(.e-hiddenrow)'));\n return cell.parentElement === rows[0];\n };\n Selection.prototype.isFirstCell = function (cell) {\n var cells = [].slice.call(cell.parentElement.querySelectorAll('.e-rowcell:not(.e-hide)'));\n return cells[0] === cell;\n };\n Selection.prototype.setBorders = function (parentEle, border, bdrStr) {\n var cells = [].slice.call(parentEle.getElementsByClassName('e-cellselectionbackground')).\n filter(function (ele) { return ele.style.display === ''; });\n if (cells.length && this.parent.isFrozenGrid()) {\n var strCell = ['', 'e-leftfreeze', 'e-unfreeze', 'e-leftfreeze', 'e-unfreeze', 'e-rightfreeze', 'e-rightfreeze'];\n cells = [].slice.call(parentEle.querySelectorAll('.e-cellselectionbackground' + '.' + strCell[\"\" + bdrStr] + ':not(.e-hide)')).\n filter(function (ele) { return ele.style.display === ''; });\n }\n if (cells.length) {\n var isFrozen = this.parent.isFrozenGrid();\n var start = cells[0];\n var end = cells[cells.length - 1];\n var stOff = start.getBoundingClientRect();\n var endOff = end.getBoundingClientRect();\n var parentOff = start.offsetParent.getBoundingClientRect();\n if (start.offsetParent.classList.contains('e-content') || start.offsetParent.classList.contains('e-headercontent')) {\n parentOff = start.offsetParent.querySelector('table').getBoundingClientRect();\n }\n var rowHeight = !isFrozen && this.isLastRow(end) && (bdrStr === '1' || bdrStr === '2' || bdrStr === '5') ? 2 : 0;\n var topOffSet = 0;\n var leftOffset = isFrozen && (bdrStr === '2' || bdrStr === '4') && this.isFirstCell(start) ? 1 : 0;\n var rightOffset = ((this.parent.getFrozenMode() === 'Right' && (bdrStr === '1' || bdrStr === '3'))\n || (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight && (bdrStr === '5' || bdrStr === '6')))\n && this.isFirstCell(start) ? 1 : 0;\n if (this.parent.enableRtl) {\n border.style.right = parentOff.right - stOff.right - leftOffset + 'px';\n border.style.width = stOff.right - endOff.left + leftOffset + 1 + 'px';\n }\n else {\n border.style.left = stOff.left - parentOff.left - leftOffset - rightOffset + 'px';\n border.style.width = endOff.right - stOff.left + leftOffset - rightOffset + 1 + 'px';\n }\n border.style.top = stOff.top - parentOff.top - topOffSet + 'px';\n border.style.height = endOff.top - stOff.top > 0 ?\n (endOff.top - parentOff.top + endOff.height + (isFrozen ? 0 : 1)) - (stOff.top - parentOff.top) - rowHeight + topOffSet + 'px' :\n endOff.height + topOffSet - rowHeight + (isFrozen ? 0 : 1) + 'px';\n this.selectDirection += bdrStr;\n }\n else {\n border.style.display = 'none';\n }\n };\n Selection.prototype.positionBorders = function () {\n this.updateStartEndCells();\n if (!this.startCell || !this.bdrElement || !this.selectedRowCellIndexes.length) {\n return;\n }\n this.selectDirection = '';\n this.showHideBorders('');\n this.setBorders(this.parent.getContentTable(), this.bdrElement, '1');\n if (this.parent.isFrozenGrid()) {\n this.setBorders(this.parent.getContentTable(), this.mcBdrElement, '2');\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.setBorders(this.parent.getContentTable(), this.frcBdrElement, '5');\n }\n }\n if (this.parent.frozenRows) {\n this.setBorders(this.parent.getHeaderTable(), this.fhBdrElement, '3');\n if (this.parent.isFrozenGrid()) {\n this.setBorders(this.parent.getHeaderTable(), this.mhBdrElement, '4');\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.setBorders(this.parent.getHeaderTable(), this.frhBdrElement, '6');\n }\n }\n }\n this.applyBorders(this.selectDirection);\n };\n /* eslint-enable */\n Selection.prototype.applyBothFrozenBorders = function (str) {\n var rtl = this.parent.enableRtl;\n switch (str.length) {\n case 6:\n {\n this.bdrElement.style.borderWidth = rtl ? this.right_bottom : this.bottom_left;\n this.mcBdrElement.style.borderWidth = this.bottom;\n this.fhBdrElement.style.borderWidth = rtl ? this.top_right : this.top_left;\n this.mhBdrElement.style.borderWidth = this.top;\n this.frcBdrElement.style.borderWidth = rtl ? this.bottom_left : this.right_bottom;\n this.frhBdrElement.style.borderWidth = rtl ? this.top_left : this.top_right;\n }\n break;\n case 4:\n {\n if (str.includes('1') && str.includes('2') && str.includes('3') && str.includes('4')) {\n this.fhBdrElement.style.borderWidth = rtl ? this.top_right : this.top_left;\n this.mhBdrElement.style.borderWidth = rtl ? this.top_left : this.top_right;\n this.bdrElement.style.borderWidth = rtl ? this.right_bottom : this.bottom_left;\n this.mcBdrElement.style.borderWidth = rtl ? this.bottom_left : this.right_bottom;\n }\n if (str.includes('2') && str.includes('4') && str.includes('5') && str.includes('6')) {\n this.mcBdrElement.style.borderWidth = rtl ? this.right_bottom : this.bottom_left;\n this.mhBdrElement.style.borderWidth = rtl ? this.top_right : this.top_left;\n this.frcBdrElement.style.borderWidth = rtl ? this.bottom_left : this.right_bottom;\n this.frhBdrElement.style.borderWidth = rtl ? this.top_left : this.top_right;\n }\n }\n break;\n case 3:\n {\n this.bdrElement.style.borderWidth = rtl ? this.top_right_bottom : this.top_bottom_left;\n this.mcBdrElement.style.borderWidth = this.top_bottom;\n this.frcBdrElement.style.borderWidth = rtl ? this.top_bottom_left : this.top_right_bottom;\n if (this.parent.frozenRows) {\n this.fhBdrElement.style.borderWidth = rtl ? this.top_right_bottom : this.top_bottom_left;\n this.mhBdrElement.style.borderWidth = this.top_bottom;\n this.frcBdrElement.style.borderWidth = rtl ? this.top_bottom_left : this.top_right_bottom;\n }\n }\n break;\n case 2:\n {\n if (str.includes('1')) {\n this.mcBdrElement.style.borderWidth = rtl ? this.top_bottom_left : this.top_right_bottom;\n if (this.parent.frozenRows) {\n this.fhBdrElement.style.borderWidth = this.top_right_left;\n }\n }\n if (str.includes('2')) {\n this.bdrElement.style.borderWidth = rtl ? this.top_right_bottom : this.top_bottom_left;\n this.frcBdrElement.style.borderWidth = rtl ? this.top_bottom_left : this.top_right_bottom;\n if (this.parent.frozenRows) {\n this.mhBdrElement.style.borderWidth = this.top_right_left;\n }\n }\n if (str.includes('3')) {\n this.mhBdrElement.style.borderWidth = rtl ? this.top_bottom_left : this.top_right_bottom;\n this.bdrElement.style.borderWidth = this.right_bottom_left;\n }\n if (str.includes('4')) {\n this.fhBdrElement.style.borderWidth = rtl ? this.top_right_bottom : this.top_bottom_left;\n this.frhBdrElement.style.borderWidth = rtl ? this.top_bottom_left : this.top_right_bottom;\n this.mcBdrElement.style.borderWidth = this.right_bottom_left;\n }\n if (str.includes('5')) {\n this.mcBdrElement.style.borderWidth = rtl ? this.top_right_bottom : this.top_bottom_left;\n if (this.parent.frozenRows) {\n this.frhBdrElement.style.borderWidth = this.top_right_left;\n }\n }\n if (str.includes('6')) {\n this.mhBdrElement.style.borderWidth = rtl ? this.top_right_bottom : this.top_bottom_left;\n this.frcBdrElement.style.borderWidth = this.right_bottom_left;\n }\n }\n break;\n default:\n this.bdrElement.style.borderWidth = this.all_border;\n this.mcBdrElement.style.borderWidth = this.all_border;\n this.frcBdrElement.style.borderWidth = this.all_border;\n if (this.parent.frozenRows) {\n this.fhBdrElement.style.borderWidth = this.all_border;\n this.mhBdrElement.style.borderWidth = this.all_border;\n this.frhBdrElement.style.borderWidth = this.all_border;\n }\n break;\n }\n };\n Selection.prototype.applyBorders = function (str) {\n var rtl = this.parent.enableRtl;\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.applyBothFrozenBorders(str);\n }\n else {\n switch (str.length) {\n case 4:\n {\n if (this.parent.getFrozenMode() === 'Right') {\n this.bdrElement.style.borderWidth = rtl ? this.bottom_left : this.right_bottom;\n this.mcBdrElement.style.borderWidth = rtl ? this.right_bottom : this.bottom_left;\n this.fhBdrElement.style.borderWidth = rtl ? this.top_left : this.top_right;\n this.mhBdrElement.style.borderWidth = rtl ? this.top_right : this.top_left;\n }\n else {\n this.bdrElement.style.borderWidth = rtl ? this.right_bottom : this.bottom_left;\n this.mcBdrElement.style.borderWidth = rtl ? this.bottom_left : this.right_bottom;\n this.fhBdrElement.style.borderWidth = rtl ? this.top_right : this.top_left;\n this.mhBdrElement.style.borderWidth = rtl ? this.top_left : this.top_right;\n }\n }\n break;\n case 2:\n {\n if (this.parent.getFrozenMode() === 'Right') {\n this.bdrElement.style.borderWidth = str.includes('2') ? rtl ? this.top_bottom_left\n : this.top_right_bottom : this.right_bottom_left;\n this.mcBdrElement.style.borderWidth = str.includes('1') ? rtl ? this.top_right_bottom\n : this.top_bottom_left : this.right_bottom_left;\n if (this.parent.frozenRows) {\n this.fhBdrElement.style.borderWidth = str.includes('1') ? this.top_right_left\n : rtl ? this.top_bottom_left : this.top_right_bottom;\n this.mhBdrElement.style.borderWidth = str.includes('2') ? this.top_right_left\n : rtl ? this.top_right_bottom : this.top_bottom_left;\n }\n }\n else {\n this.bdrElement.style.borderWidth = str.includes('2') ? rtl ? this.top_right_bottom\n : this.top_bottom_left : this.right_bottom_left;\n if (this.parent.isFrozenGrid()) {\n this.mcBdrElement.style.borderWidth = str.includes('1') ? rtl ? this.top_bottom_left\n : this.top_right_bottom : this.right_bottom_left;\n }\n if (this.parent.frozenRows) {\n this.fhBdrElement.style.borderWidth = str.includes('1') ? this.top_right_left\n : rtl ? this.top_right_bottom : this.top_bottom_left;\n if (this.parent.isFrozenGrid()) {\n this.mhBdrElement.style.borderWidth = str.includes('2') ? this.top_right_left\n : rtl ? this.top_bottom_left : this.top_right_bottom;\n }\n }\n }\n }\n break;\n default:\n this.bdrElement.style.borderWidth = this.all_border;\n if (this.parent.isFrozenGrid()) {\n this.mcBdrElement.style.borderWidth = this.all_border;\n }\n if (this.parent.frozenRows) {\n this.fhBdrElement.style.borderWidth = this.all_border;\n if (this.parent.isFrozenGrid()) {\n this.mhBdrElement.style.borderWidth = this.all_border;\n }\n }\n break;\n }\n }\n };\n Selection.prototype.createBorders = function () {\n if (!this.bdrElement) {\n var selectionBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlsel', id: this.parent.element.id + '_bdr'\n });\n selectionBorder.style.cssText = 'width: 2px; border-width: 0;';\n this.bdrElement = this.parent.getContentTable().parentElement.appendChild(selectionBorder);\n if (this.parent.isFrozenGrid()) {\n var middleContentBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlsel', id: this.parent.element.id + '_mcbdr'\n });\n middleContentBorder.style.cssText = 'height: 2px; border-width: 0;';\n this.mcBdrElement = this.parent.getContentTable().parentElement.appendChild(middleContentBorder);\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n var frozenRightContentBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlsel', id: this.parent.element.id + '_frcbdr'\n });\n frozenRightContentBorder.style.cssText = 'height: 2px; border-width: 0;';\n this.frcBdrElement = this.parent.getContentTable().parentElement.appendChild(frozenRightContentBorder);\n }\n }\n if (this.parent.frozenRows) {\n var frozenHeaderBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlsel', id: this.parent.element.id + '_fhbdr'\n });\n frozenHeaderBorder.style.height = '2px';\n this.fhBdrElement = this.parent.getHeaderTable().parentElement.appendChild(frozenHeaderBorder);\n }\n if (this.parent.frozenRows && this.parent.isFrozenGrid()) {\n var middleHeaderBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlsel', id: this.parent.element.id + '_mhbdr'\n });\n middleHeaderBorder.style.height = '2px';\n this.mhBdrElement = this.parent.getHeaderTable().parentElement.appendChild(middleHeaderBorder);\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n var frozenRightHeaderBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlsel', id: this.parent.element.id + '_frhbdr'\n });\n frozenRightHeaderBorder.style.height = '2px';\n this.frhBdrElement = this.parent.getHeaderTable().parentElement.appendChild(frozenRightHeaderBorder);\n }\n }\n }\n };\n Selection.prototype.showHideBorders = function (display, freeze) {\n if (this.bdrElement) {\n this.bdrElement.style.display = display;\n if (this.parent.isFrozenGrid()) {\n var parentEle = this.parent.getContentTable();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-top-border'), 'e-xlsel-top-border');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-left-border'), 'e-xlsel-left-border');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-right-border'), 'e-xlsel-right-border');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-bottom-border'), 'e-xlsel-bottom-border');\n if (!freeze) {\n this.mcBdrElement.style.display = display;\n }\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.frcBdrElement.style.display = display;\n }\n }\n if (this.parent.frozenRows) {\n var parentEle = this.parent.getHeaderTable();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-top-border'), 'e-xlsel-top-border');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-left-border'), 'e-xlsel-left-border');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-right-border'), 'e-xlsel-right-border');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(parentEle.querySelectorAll('.e-xlsel-bottom-border'), 'e-xlsel-bottom-border');\n this.fhBdrElement.style.display = display;\n }\n if (this.parent.frozenRows && this.parent.isFrozenGrid()) {\n if (!freeze) {\n this.mhBdrElement.style.display = display;\n }\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight) {\n this.frhBdrElement.style.display = display;\n }\n }\n }\n };\n Selection.prototype.drawAFBorders = function () {\n if (!this.bdrAFBottom) {\n this.createAFBorders();\n }\n this.positionAFBorders();\n };\n Selection.prototype.positionAFBorders = function () {\n if (!this.startCell || !this.bdrAFLeft) {\n return;\n }\n var stOff = this.startAFCell.getBoundingClientRect();\n var endOff = this.endAFCell.getBoundingClientRect();\n var top = endOff.top - stOff.top > 0 ? 1 : 0;\n var firstCellTop = endOff.top - stOff.top >= 0 && ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.movableContent) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, 'e-frozencontent')) && this.isFirstRow(this.startAFCell) ? 1.5 : 0;\n var firstCellLeft = ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.movableContent) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.movableHeader)) && this.isFirstCell(this.startAFCell) ? 1 : 0;\n var rowHeight = this.isLastRow(this.endAFCell) && ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.endAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.movableContent) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.endAFCell, 'e-frozencontent')) ? 2 : 0;\n var parentOff = this.startAFCell.offsetParent.getBoundingClientRect();\n var parentRect = this.parent.element.getBoundingClientRect();\n var sTop = this.startAFCell.offsetParent.parentElement.scrollTop;\n var sLeft = this.startAFCell.offsetParent.parentElement.scrollLeft;\n var scrollTop = sTop - this.startAFCell.offsetTop;\n var scrollLeft = sLeft - this.startAFCell.offsetLeft;\n var totalHeight = this.parent.element.clientHeight - (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)();\n if (this.parent.allowPaging) {\n totalHeight -= this.parent.element.querySelector('.e-pager').offsetHeight;\n }\n if (this.parent.aggregates.length) {\n totalHeight -= this.parent.getFooterContent().offsetHeight;\n }\n var totalWidth = this.parent.element.clientWidth - (this.parent.height !== 'auto' ? (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)() : 0);\n scrollTop = scrollTop > 0 ? Math.floor(scrollTop) - 1 : 0;\n scrollLeft = scrollLeft > 0 ? scrollLeft : 0;\n var left = stOff.left - parentRect.left;\n if (!this.parent.enableRtl) {\n this.bdrAFLeft.style.left = left - firstCellLeft + scrollLeft - 1 + 'px';\n this.bdrAFRight.style.left = endOff.left - parentRect.left - 2 + endOff.width + 'px';\n this.bdrAFRight.style.width = totalWidth <= parseInt(this.bdrAFRight.style.left, 10) ? '0px' : '2px';\n this.bdrAFTop.style.left = left + scrollLeft - 0.5 + 'px';\n this.bdrAFTop.style.width = parseInt(this.bdrAFRight.style.left, 10) - parseInt(this.bdrAFLeft.style.left, 10)\n - firstCellLeft + 1 + 'px';\n if (totalWidth <= (parseInt(this.bdrAFTop.style.width, 10) + parseInt(this.bdrAFTop.style.left, 10))) {\n var leftRemove = (parseInt(this.bdrAFTop.style.width, 10) + parseInt(this.bdrAFTop.style.left, 10)) - totalWidth;\n this.bdrAFTop.style.width = parseInt(this.bdrAFTop.style.width, 10) - leftRemove + 'px';\n }\n }\n else {\n var scrolloffSet = ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.movableContent) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.movableHeader)) ? stOff.right -\n this.startAFCell.offsetParent.parentElement.getBoundingClientRect().width -\n parentRect.left : 0;\n this.bdrAFLeft.style.right = parentRect.right - endOff.right - 2 + endOff.width + 'px';\n this.bdrAFLeft.style.width = totalWidth <= parseInt(this.bdrAFLeft.style.right, 10) ? '0px' : '2px';\n var borderAFRightValue = parentRect.right - stOff.right - firstCellLeft + scrolloffSet - 1;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n borderAFRightValue > 0 ? this.bdrAFRight.style.right = borderAFRightValue + 'px' : this.bdrAFRight.style.right = '0px';\n this.bdrAFTop.style.left = endOff.left - parentRect.left - 0.5 + 'px';\n this.bdrAFTop.style.width = parseInt(this.bdrAFLeft.style.right, 10) - parseInt(this.bdrAFRight.style.right, 10)\n - firstCellLeft + 1 + 'px';\n if (parseInt(this.bdrAFTop.style.left, 10) < 0) {\n this.bdrAFTop.style.width = parseInt(this.bdrAFTop.style.width, 10) + parseInt(this.bdrAFTop.style.left, 10) + 'px';\n if (this.parent.height !== 'auto' && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)()) {\n this.bdrAFTop.style.left = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)() + 'px';\n this.bdrAFTop.style.width = (parseInt(this.bdrAFTop.style.width, 10) - (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getScrollBarWidth)()) + 'px';\n }\n else {\n this.bdrAFTop.style.left = '0px';\n }\n }\n }\n this.bdrAFLeft.style.top = stOff.top - parentRect.top - firstCellTop + scrollTop + 'px';\n this.bdrAFLeft.style.height = endOff.top - stOff.top > 0 ?\n (endOff.top - parentOff.top + endOff.height + 1) - (stOff.top - parentOff.top) + firstCellTop - rowHeight - scrollTop + 'px' :\n endOff.height + firstCellTop - rowHeight - scrollTop + 'px';\n this.bdrAFRight.style.top = this.bdrAFLeft.style.top;\n this.bdrAFRight.style.height = parseInt(this.bdrAFLeft.style.height, 10) + 'px';\n this.bdrAFTop.style.top = this.bdrAFRight.style.top;\n this.bdrAFBottom.style.left = this.bdrAFTop.style.left;\n this.bdrAFBottom.style.top = parseFloat(this.bdrAFLeft.style.top) + parseFloat(this.bdrAFLeft.style.height) - top - 1 + 'px';\n this.bdrAFBottom.style.width = totalHeight <= parseFloat(this.bdrAFBottom.style.top) ? '0px' : this.bdrAFTop.style.width;\n if (totalHeight <= (parseInt(this.bdrAFLeft.style.height, 10) + parseInt(this.bdrAFLeft.style.top, 10))) {\n var topRemove = parseInt(this.bdrAFLeft.style.height, 10) + parseInt(this.bdrAFLeft.style.top, 10) - totalHeight;\n this.bdrAFLeft.style.height = parseInt(this.bdrAFLeft.style.height, 10) - topRemove + 'px';\n this.bdrAFRight.style.height = parseInt(this.bdrAFLeft.style.height, 10) + 'px';\n }\n };\n Selection.prototype.createAFBorders = function () {\n if (!this.bdrAFLeft) {\n var leftSelectionBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlselaf', id: this.parent.element.id + '_bdrafleft'\n });\n leftSelectionBorder.style.width = '2px';\n this.bdrAFLeft = this.parent.element.appendChild(leftSelectionBorder);\n var rightSelectionBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlselaf', id: this.parent.element.id + '_bdrafright'\n });\n rightSelectionBorder.style.width = '2px';\n this.bdrAFRight = this.parent.element.appendChild(rightSelectionBorder);\n var bottomSelectionBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlselaf', id: this.parent.element.id + '_bdrafbottom'\n });\n bottomSelectionBorder.style.height = '2px';\n this.bdrAFBottom = this.parent.element.appendChild(bottomSelectionBorder);\n var topSelectionBorder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-xlselaf', id: this.parent.element.id + '_bdraftop'\n });\n topSelectionBorder.style.height = '2px';\n this.bdrAFTop = this.parent.element.appendChild(topSelectionBorder);\n }\n };\n Selection.prototype.destroyAutoFillElements = function () {\n if (this.bdrAFLeft) {\n this.bdrAFLeft.remove();\n this.bdrAFRight.remove();\n this.bdrAFBottom.remove();\n this.bdrAFTop.remove();\n this.bdrAFLeft = this.bdrAFRight = this.bdrAFBottom = this.bdrAFTop = null;\n }\n if (this.autofill) {\n this.autofill.remove();\n this.autofill = null;\n }\n };\n Selection.prototype.showAFBorders = function () {\n if (this.bdrAFLeft) {\n this.bdrAFLeft.style.display = '';\n this.bdrAFRight.style.display = '';\n this.bdrAFBottom.style.display = '';\n this.bdrAFTop.style.display = '';\n }\n };\n Selection.prototype.hideAFBorders = function () {\n if (this.bdrAFLeft) {\n this.bdrAFLeft.style.display = 'none';\n this.bdrAFRight.style.display = 'none';\n this.bdrAFBottom.style.display = 'none';\n this.bdrAFTop.style.display = 'none';\n }\n };\n Selection.prototype.updateValue = function (rIdx, cIdx, cell) {\n var args = this.createBeforeAutoFill(rIdx, cIdx, cell);\n if (!args.cancel) {\n var col = this.parent.getColumnByIndex(cIdx);\n if (this.parent.editModule && cell) {\n if (col.type === 'number') {\n this.parent.editModule.updateCell(rIdx, col.field, parseFloat(args.value));\n }\n else {\n this.parent.editModule.updateCell(rIdx, col.field, args.value);\n }\n }\n }\n };\n Selection.prototype.createBeforeAutoFill = function (rowIndex, colIndex, cell) {\n var col = this.parent.getColumnByIndex(colIndex);\n var args = {\n column: col,\n value: cell.innerText\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeAutoFill, args);\n return args;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Selection.prototype.getAutoFillCells = function (rowIndex, startCellIdx) {\n var cls = '.e-cellselectionbackground';\n var cells = [].slice.call(this.parent.getDataRows()[parseInt(rowIndex.toString(), 10)].querySelectorAll(cls));\n return cells;\n };\n Selection.prototype.selectLikeAutoFill = function (e, isApply) {\n var startrowIdx = parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n var startCellIdx = parseInt(this.startAFCell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n var endrowIdx = parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.endAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n var endCellIdx = parseInt(this.endAFCell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n var rowLen = this.selectedRowCellIndexes.length - 1;\n var colLen = this.selectedRowCellIndexes[0].cellIndexes.length - 1;\n switch (true) { //direction\n case !isApply && this.endAFCell.classList.contains('e-cellselectionbackground') &&\n !!(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell):\n this.startAFCell = this.parent.getCellFromIndex(startrowIdx, startCellIdx);\n this.endAFCell = this.parent.getCellFromIndex(startrowIdx + rowLen, startCellIdx + colLen);\n this.drawAFBorders();\n break;\n case this.autoFillRLselection && startCellIdx + colLen < endCellIdx && //right\n endCellIdx - startCellIdx - colLen + 1 > endrowIdx - startrowIdx - rowLen // right bottom\n && endCellIdx - startCellIdx - colLen + 1 > startrowIdx - endrowIdx: //right top\n this.endAFCell = this.parent.getCellFromIndex(startrowIdx + rowLen, endCellIdx);\n endrowIdx = parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.endAFCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n endCellIdx = parseInt(this.endAFCell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n if (!isApply) {\n this.drawAFBorders();\n }\n else {\n var cellIdx = parseInt(this.endCell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n for (var i = startrowIdx; i <= endrowIdx; i++) {\n var cells = this.getAutoFillCells(i, startCellIdx);\n var c = 0;\n for (var j = cellIdx + 1; j <= endCellIdx; j++) {\n if (c > colLen) {\n c = 0;\n }\n this.updateValue(i, j, cells[parseInt(c.toString(), 10)]);\n c++;\n }\n }\n this.selectCellsByRange({ rowIndex: startrowIdx, cellIndex: this.startCellIndex }, { rowIndex: endrowIdx, cellIndex: endCellIdx });\n }\n break;\n case this.autoFillRLselection && startCellIdx > endCellIdx && // left\n startCellIdx - endCellIdx + 1 > endrowIdx - startrowIdx - rowLen && //left top\n startCellIdx - endCellIdx + 1 > startrowIdx - endrowIdx: // left bottom\n this.startAFCell = this.parent.getCellFromIndex(startrowIdx, endCellIdx);\n this.endAFCell = this.endCell;\n if (!isApply) {\n this.drawAFBorders();\n }\n else {\n for (var i = startrowIdx; i <= startrowIdx + rowLen; i++) {\n var cells = this.getAutoFillCells(i, startCellIdx);\n cells.reverse();\n var c = 0;\n for (var j = this.startCellIndex - 1; j >= endCellIdx; j--) {\n if (c > colLen) {\n c = 0;\n }\n this.updateValue(i, j, cells[parseInt(c.toString(), 10)]);\n c++;\n }\n }\n this.selectCellsByRange({ rowIndex: startrowIdx, cellIndex: endCellIdx }, { rowIndex: startrowIdx + rowLen, cellIndex: this.startCellIndex + colLen });\n }\n break;\n case startrowIdx > endrowIdx: //up\n this.startAFCell = this.parent.getCellFromIndex(endrowIdx, startCellIdx);\n this.endAFCell = this.endCell;\n if (!isApply) {\n this.drawAFBorders();\n }\n else {\n var trIdx = parseInt(this.endCell.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n var r = trIdx;\n for (var i = startrowIdx - 1; i >= endrowIdx; i--) {\n if (r === this.startIndex - 1) {\n r = trIdx;\n }\n var cells = this.getAutoFillCells(r, startCellIdx);\n var c = 0;\n r--;\n for (var j = this.startCellIndex; j <= this.startCellIndex + colLen; j++) {\n this.updateValue(i, j, cells[parseInt(c.toString(), 10)]);\n c++;\n }\n }\n this.selectCellsByRange({ rowIndex: endrowIdx, cellIndex: startCellIdx + colLen }, { rowIndex: startrowIdx + rowLen, cellIndex: startCellIdx });\n }\n break;\n default: //down\n this.endAFCell = this.parent.getCellFromIndex(endrowIdx, startCellIdx + colLen);\n if (!isApply) {\n this.drawAFBorders();\n }\n else {\n var trIdx = parseInt(this.endCell.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n var r = this.startIndex;\n for (var i = trIdx + 1; i <= endrowIdx; i++) {\n if (r === trIdx + 1) {\n r = this.startIndex;\n }\n var cells = this.getAutoFillCells(r, startCellIdx);\n r++;\n var c = 0;\n for (var m = this.startCellIndex; m <= this.startCellIndex + colLen; m++) {\n this.updateValue(i, m, cells[parseInt(c.toString(), 10)]);\n c++;\n }\n }\n this.selectCellsByRange({ rowIndex: trIdx - rowLen, cellIndex: startCellIdx }, { rowIndex: endrowIdx, cellIndex: startCellIdx + colLen });\n }\n break;\n }\n };\n Selection.prototype.mouseUpHandler = function (e) {\n this.stopTimer();\n document.body.classList.remove('e-disableuserselect');\n if (this.element && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.parentElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n if (this.isDragged && this.selectedRowCellIndexes.length === 1 && this.selectedRowCellIndexes[0].cellIndexes.length === 1) {\n this.mUPTarget = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n }\n else {\n this.mUPTarget = null;\n }\n var closeRowCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-rowcell');\n if (this.isDragged && !this.isAutoFillSel && this.selectionSettings.mode === 'Cell' &&\n closeRowCell && closeRowCell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell)) {\n var rowIndex = parseInt(closeRowCell.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n var cellIndex = parseInt(closeRowCell.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n this.isDragged = false;\n this.clearCellSelection();\n this.selectCellsByRange({ rowIndex: this.startDIndex, cellIndex: this.startDCellIndex }, { rowIndex: rowIndex, cellIndex: cellIndex });\n }\n this.isDragged = false;\n this.updateAutoFillPosition();\n if (this.isAutoFillSel) {\n this.preventFocus = true;\n var lastCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n this.endAFCell = lastCell ? lastCell : this.endCell === this.endAFCell ? this.startAFCell : this.endAFCell;\n this.startAFCell = this.startCell;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.endAFCell) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.startAFCell)) {\n this.updateStartCellsIndex();\n this.selectLikeAutoFill(e, true);\n this.updateAutoFillPosition();\n this.hideAFBorders();\n this.positionBorders();\n if (this.parent.isFrozenGrid()) {\n this.showHideBorders('none', true);\n this.refreshFrozenBorders();\n }\n if (this.parent.aggregates.length > 0) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshFooterRenderer, {});\n }\n }\n this.isAutoFillSel = false;\n this.preventFocus = false;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getContent(), 'mousemove', this.mouseMoveHandler);\n if (this.parent.frozenRows) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getHeaderContent(), 'mousemove', this.mouseMoveHandler);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', this.mouseUpHandler);\n };\n Selection.prototype.hideAutoFill = function () {\n if (this.autofill) {\n this.autofill.style.display = 'none';\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Selection.prototype.updateAutoFillPosition = function () {\n if (this.parent.enableAutoFill && !this.parent.isEdit &&\n this.selectionSettings.cellSelectionMode.indexOf('Box') > -1 && !this.isRowType() && !this.isSingleSel()\n && this.selectedRowCellIndexes.length) {\n var index = parseInt(this.target.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n var rindex = parseInt(this.target.getAttribute('index'), 10);\n var rowIndex = this.selectedRowCellIndexes[this.selectedRowCellIndexes.length - 1].rowIndex;\n var cells = this.getAutoFillCells(rowIndex, index).filter(function (ele) { return ele.style.display === ''; });\n var col = this.parent.getColumnByIndex(index);\n var isFrozenCol = col.getFreezeTableName() === 'movable';\n var isFrozenRow = rindex < this.parent.frozenRows;\n var isFrozenRight = this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.leftRight\n && col.getFreezeTableName() === _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.frozenRight;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + this.parent.element.id + '_autofill', (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.table))) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + this.parent.element.id + '_autofill', this.parent.element)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + this.parent.element.id + '_autofill', this.parent.element).remove();\n }\n this.autofill = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-autofill', id: this.parent.element.id + '_autofill' });\n this.autofill.style.display = 'none';\n if (this.target.classList.contains('e-leftfreeze') || this.target.classList.contains('e-rightfreeze') ||\n this.target.classList.contains('e-fixedfreeze')) {\n this.autofill.classList.add('e-freeze-autofill');\n }\n if (!isFrozenRow) {\n if (!isFrozenCol) {\n this.parent.getContentTable().parentElement.appendChild(this.autofill);\n }\n else {\n this.parent.getContentTable().parentElement.appendChild(this.autofill);\n }\n }\n else {\n if (!isFrozenCol) {\n this.parent.getHeaderTable().parentElement.appendChild(this.autofill);\n }\n else {\n this.parent.getHeaderTable().parentElement.appendChild(this.autofill);\n }\n }\n if (isFrozenRight) {\n if (isFrozenRow) {\n this.parent.getHeaderTable().parentElement.appendChild(this.autofill);\n }\n else {\n this.parent.getContentTable().parentElement.appendChild(this.autofill);\n }\n }\n }\n var cell = cells[cells.length - 1];\n if (cell && cell.offsetParent) {\n var clientRect = cell.getBoundingClientRect();\n var parentOff = cell.offsetParent.getBoundingClientRect();\n if (cell.offsetParent.classList.contains('e-content') || cell.offsetParent.classList.contains('e-headercontent')) {\n parentOff = cell.offsetParent.querySelector('table').getBoundingClientRect();\n }\n var colWidth = this.isLastCell(cell) ? 4 : 0;\n var rowHeight = this.isLastRow(cell) ? 3 : 0;\n if (!this.parent.enableRtl) {\n this.autofill.style.left = clientRect.left - parentOff.left + clientRect.width - 4 - colWidth + 'px';\n }\n else {\n this.autofill.style.right = parentOff.right - clientRect.right + clientRect.width - 4 - colWidth + 'px';\n }\n this.autofill.style.top = clientRect.top - parentOff.top + clientRect.height - 5 - rowHeight + 'px';\n }\n this.autofill.style.display = '';\n }\n else {\n this.hideAutoFill();\n }\n };\n Selection.prototype.mouseDownHandler = function (e) {\n this.mouseButton = e.button;\n var target = e.target;\n var gObj = this.parent;\n var isDrag;\n var gridElement = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-grid');\n if (gridElement && gridElement.id !== gObj.element.id || (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.headerContent) && !this.parent.frozenRows ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-editedbatchcell') || (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow)) {\n return;\n }\n if (e.shiftKey || e.ctrlKey) {\n e.preventDefault();\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell) && !e.shiftKey && !e.ctrlKey) {\n if (gObj.selectionSettings.cellSelectionMode.indexOf('Box') > -1 && !this.isRowType() && !this.isSingleSel()) {\n this.isCellDrag = true;\n isDrag = true;\n }\n else if (gObj.allowRowDragAndDrop && !gObj.isEdit && !this.parent.selectionSettings.checkboxOnly) {\n this.isRowDragSelected = false;\n if (!this.isRowType() || this.isSingleSel() || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'td').classList.contains('e-selectionbackground')) {\n this.isDragged = false;\n return;\n }\n isDrag = true;\n this.element = this.parent.createElement('div', { className: 'e-griddragarea' });\n gObj.getContent().appendChild(this.element);\n }\n if (isDrag) {\n this.enableDrag(e, true);\n }\n }\n this.updateStartEndCells();\n if (target.classList.contains('e-autofill') || target.classList.contains('e-xlsel')) {\n this.isCellDrag = true;\n this.isAutoFillSel = true;\n this.enableDrag(e);\n }\n };\n Selection.prototype.updateStartEndCells = function () {\n var cells = [].slice.call(this.parent.element.getElementsByClassName('e-cellselectionbackground'));\n this.startCell = cells[0];\n this.endCell = cells[cells.length - 1];\n if (this.startCell) {\n this.startIndex = parseInt(this.startCell.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n this.startCellIndex = parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n }\n };\n Selection.prototype.updateStartCellsIndex = function () {\n if (this.startCell) {\n this.startIndex = parseInt(this.startCell.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n this.startCellIndex = parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.startCell, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell).getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n }\n };\n Selection.prototype.enableDrag = function (e, isUpdate) {\n var gObj = this.parent;\n if (isUpdate) {\n var tr = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n this.startDIndex = parseInt(tr.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n this.startDCellIndex = parseInt((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell)\n .getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n }\n document.body.classList.add('e-disableuserselect');\n var gBRect = gObj.element.getBoundingClientRect();\n var postion = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getPosition)(e);\n this.x = postion.x - gBRect.left;\n this.y = postion.y - gBRect.top;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(gObj.getContent(), 'mousemove', this.mouseMoveHandler, this);\n if (this.parent.frozenRows) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(gObj.getHeaderContent(), 'mousemove', this.mouseMoveHandler, this);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mouseup', this.mouseUpHandler, this);\n };\n Selection.prototype.clearSelAfterRefresh = function (e) {\n var isInfiniteScroll = this.parent.enableInfiniteScrolling && e.requestType === 'infiniteScroll';\n if (e.requestType !== 'virtualscroll' && !this.parent.isPersistSelection && !isInfiniteScroll) {\n this.clearSelection();\n }\n if ((e.requestType === 'virtualscroll' || isInfiniteScroll) && this.parent.isPersistSelection && this.isPartialSelection\n && this.isHdrSelectAllClicked) {\n var rowObj = this.parent.getRowsObject().filter(function (e) { return e.isSelectable; });\n var indexes = [];\n this.selectedRowState = {};\n this.persistSelectedData = [];\n for (var i = 0; i < rowObj.length; i++) {\n indexes.push(rowObj[parseInt(i.toString(), 10)].index);\n var pkValue = this.getPkValue(this.primaryKey, rowObj[parseInt(i.toString(), 10)].data);\n this.selectedRowState[\"\" + pkValue] = true;\n this.persistSelectedData.push(rowObj[parseInt(i.toString(), 10)].data);\n }\n this.selectedRowIndexes = indexes;\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Selection.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.uiUpdate, handler: this.enableAfterRender },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.initialEnd, handler: this.initializeSelection },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.rowSelectionComplete, handler: this.onActionComplete },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellSelectionComplete, handler: this.onActionComplete },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.inBoundModelChanged, handler: this.onPropertyChanged },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.cellFocused, handler: this.onCellFocused },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeFragAppend, handler: this.clearSelAfterRefresh },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnPositionChanged, handler: this.columnPositionChanged },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, handler: this.initialEnd },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.rowsRemoved, handler: this.rowsRemoved },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.headerRefreshed, handler: this.refreshHeader },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.destroyAutoFillElements, handler: this.destroyAutoFillElements },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, handler: this.destroy }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n this.actionBeginFunction = this.actionBegin.bind(this);\n this.actionCompleteFunction = this.actionComplete.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, this.actionBeginFunction);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.actionCompleteFunction);\n this.addEventListener_checkbox();\n };\n /**\n * @returns {void}\n * @hidden\n */\n Selection.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', this.mouseUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getContent(), 'mousedown', this.mouseDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.getHeaderContent(), 'mousedown', this.mouseDownHandler);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, this.actionBeginFunction);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.actionCompleteFunction);\n this.removeEventListener_checkbox();\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroyAutoFillElements, this.destroyAutoFillElements);\n };\n Selection.prototype.wireEvents = function () {\n this.isMacOS = navigator.userAgent.indexOf('Mac OS') !== -1;\n if (this.isMacOS) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'keydown', this.keyDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'keyup', this.keyUpHandler, this);\n }\n else {\n if (!this.parent.allowKeyboard) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'keydown', this.keyDownHandler, this);\n }\n }\n };\n Selection.prototype.unWireEvents = function () {\n if (this.isMacOS) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'keydown', this.keyDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'keyup', this.keyUpHandler);\n }\n else {\n if (!this.parent.allowKeyboard) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'keydown', this.keyDownHandler);\n }\n }\n };\n Selection.prototype.columnPositionChanged = function () {\n if (!this.parent.isPersistSelection) {\n this.clearSelection();\n }\n };\n Selection.prototype.refreshHeader = function () {\n var checkboxColumn = this.parent.getColumns().filter(function (col) { return col.type === 'checkbox'; });\n if (checkboxColumn.length && !this.parent.getDataModule().isRemote()) {\n this.gridCurrentRecord = this.getData();\n }\n this.setCheckAllState();\n };\n Selection.prototype.rowsRemoved = function (e) {\n for (var i = 0; i < e.records.length; i++) {\n var pkValue = this.getPkValue(this.primaryKey, e.records[parseInt(i.toString(), 10)]);\n delete (this.selectedRowState[\"\" + pkValue]);\n --this.totalRecordsCount;\n }\n this.setCheckAllState();\n };\n Selection.prototype.beforeFragAppend = function (e) {\n if (e.requestType !== 'virtualscroll' && !this.parent.isPersistSelection) {\n this.clearSelection();\n }\n };\n Selection.prototype.getCheckAllBox = function () {\n return this.parent.getHeaderContent().querySelector('.e-checkselectall');\n };\n Selection.prototype.enableAfterRender = function (e) {\n if (e.module === this.getModuleName() && e.enable) {\n this.render();\n this.initPerisistSelection();\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Selection.prototype.render = function (e) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.getContent(), 'mousedown', this.mouseDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.getHeaderContent(), 'mousedown', this.mouseDownHandler, this);\n };\n Selection.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n var gObj = this.parent;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.properties.type)) {\n if (this.selectionSettings.type === 'Single') {\n gObj.element.removeAttribute('aria-multiselectable');\n if (this.selectedRowCellIndexes.length > 1) {\n this.clearCellSelection();\n this.prevCIdxs = undefined;\n }\n if (this.selectedRowIndexes.length > 1) {\n this.clearRowSelection();\n this.prevRowIndex = undefined;\n }\n if (this.selectedColumnsIndexes.length > 1) {\n this.clearColumnSelection();\n this.prevColIndex = undefined;\n }\n this.enableSelectMultiTouch = false;\n this.hidePopUp();\n }\n else if (this.selectionSettings.type === 'Multiple') {\n gObj.element.setAttribute('aria-multiselectable', 'true');\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.properties.mode) ||\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.properties.cellSelectionMode)) {\n this.clearSelection();\n this.prevRowIndex = undefined;\n this.prevCIdxs = undefined;\n this.prevColIndex = undefined;\n }\n this.isPersisted = true;\n this.checkBoxSelectionChanged();\n this.isPersisted = false;\n if (!this.parent.isCheckBoxSelection) {\n this.initPerisistSelection();\n }\n var checkboxColumn = this.parent.getColumns().filter(function (col) { return col.type === 'checkbox'; });\n if (checkboxColumn.length) {\n gObj.isCheckBoxSelection = !(this.selectionSettings.checkboxMode === 'ResetOnRowClick');\n }\n this.drawBorders();\n };\n Selection.prototype.hidePopUp = function () {\n if (this.parent.element.querySelector('.e-gridpopup').getElementsByClassName('e-rowselect').length) {\n this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n }\n };\n Selection.prototype.initialEnd = function () {\n if (!this.selectedRowIndexes.length) {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.initialEnd);\n this.selectRow(this.parent.selectedRowIndex);\n }\n };\n Selection.prototype.checkBoxSelectionChanged = function () {\n var gobj = this.parent;\n gobj.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.checkBoxSelectionChanged);\n var checkboxColumn = gobj.getColumns().filter(function (col) { return col.type === 'checkbox'; });\n if (checkboxColumn.length > 0) {\n gobj.isCheckBoxSelection = true;\n this.chkField = checkboxColumn[0].field;\n this.totalRecordsCount = this.parent.pageSettings.totalRecordsCount;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.totalRecordsCount)) {\n this.totalRecordsCount = this.getCurrentBatchRecordChanges().length;\n }\n if (this.isSingleSel()) {\n gobj.selectionSettings.type = 'Multiple';\n gobj.dataBind();\n }\n else {\n this.initPerisistSelection();\n }\n }\n if (!gobj.isCheckBoxSelection && !this.isPersisted) {\n this.chkField = null;\n this.initPerisistSelection();\n }\n };\n Selection.prototype.initPerisistSelection = function () {\n var gobj = this.parent;\n if (this.parent.selectionSettings.persistSelection && this.parent.getPrimaryKeyFieldNames().length > 0) {\n gobj.isPersistSelection = true;\n this.ensureCheckboxFieldSelection();\n }\n else if (this.parent.getPrimaryKeyFieldNames().length > 0) {\n gobj.isPersistSelection = false;\n this.ensureCheckboxFieldSelection();\n }\n else {\n gobj.isPersistSelection = false;\n this.selectedRowState = {};\n }\n };\n Selection.prototype.ensureCheckboxFieldSelection = function () {\n var gobj = this.parent;\n this.primaryKey = this.parent.getPrimaryKeyFieldNames()[0];\n if (!gobj.enableVirtualization && this.chkField\n && ((gobj.isPersistSelection && Object.keys(this.selectedRowState).length === 0) ||\n !gobj.isPersistSelection)) {\n this.dataSuccess((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result) ||\n this.parent.getDataModule().isRemote() ? this.parent.getCurrentViewRecords() :\n this.parent.renderModule.data.dataManager.dataSource.json);\n }\n };\n Selection.prototype.dataSuccess = function (res) {\n for (var i = 0; i < res.length; i++) {\n var pkValue = this.getPkValue(this.primaryKey, res[parseInt(i.toString(), 10)]);\n var checkedFieldData = res[parseInt(i.toString(), 10)][this.chkField];\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectedRowState[\"\" + pkValue]) && checkedFieldData && typeof checkedFieldData === 'boolean') {\n this.selectedRowState[\"\" + pkValue] = checkedFieldData;\n if (this.parent.isPersistSelection) {\n this.persistSelectedData.push(res[parseInt(i.toString(), 10)]);\n }\n }\n }\n };\n Selection.prototype.setRowSelection = function (state) {\n if (!(this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result))) {\n if (state) {\n if (this.isPartialSelection && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {\n var rowObj = this.parent.getRowsObject().filter(function (e) { return e.isSelectable; });\n for (var _i = 0, rowObj_1 = rowObj; _i < rowObj_1.length; _i++) {\n var row = rowObj_1[_i];\n this.selectedRowState[this.getPkValue(this.primaryKey, row.data)] = true;\n }\n }\n else {\n var selectedData = this.isPartialSelection ? this.parent.partialSelectedRecords : this.getData();\n if (this.parent.groupSettings.columns.length) {\n for (var _a = 0, _b = this.isPartialSelection ? selectedData : selectedData.records; _a < _b.length; _a++) {\n var data = _b[_a];\n this.selectedRowState[this.getPkValue(this.primaryKey, data)] = true;\n }\n }\n else {\n for (var _c = 0, selectedData_1 = selectedData; _c < selectedData_1.length; _c++) {\n var data = selectedData_1[_c];\n this.selectedRowState[this.getPkValue(this.primaryKey, data)] = true;\n }\n }\n }\n }\n else {\n this.selectedRowState = {};\n }\n // (this.getData()).forEach(function (data) {\n // this.selectedRowState[data[this.primaryKey]] = true;\n // })\n }\n else {\n if (state) {\n var selectedStateKeys = Object.keys(this.selectedRowState);\n var unSelectedRowStateKeys = Object.keys(this.unSelectedRowState);\n if (!this.isCheckboxReset) {\n var rowData = (this.parent.groupSettings.columns.length && this.parent.isPersistSelection) ?\n this.parent.currentViewData['records'] : this.parent.currentViewData;\n for (var _d = 0, rowData_1 = rowData; _d < rowData_1.length; _d++) {\n var data = rowData_1[_d];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data[this.primaryKey])) {\n var key = data[this.primaryKey].toString();\n if (selectedStateKeys.indexOf(key) === -1 && unSelectedRowStateKeys.indexOf(key) === -1) {\n this.selectedRowState[data[this.primaryKey]] = true;\n }\n }\n }\n }\n }\n else {\n this.selectedRowState = {};\n this.unSelectedRowState = {};\n this.rmtHdrChkbxClicked = false;\n }\n }\n };\n Selection.prototype.getData = function () {\n return this.parent.getDataModule().dataManager.executeLocal(this.parent.getDataModule().generateQuery(true));\n };\n Selection.prototype.getAvailableSelectedData = function () {\n var filteredSearchedSelectedData = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataManager(this.persistSelectedData).executeLocal(this.parent.getDataModule().generateQuery(true));\n if (this.parent.groupSettings.columns.length && filteredSearchedSelectedData &&\n filteredSearchedSelectedData.records) {\n filteredSearchedSelectedData = filteredSearchedSelectedData.records.slice();\n }\n return filteredSearchedSelectedData;\n };\n Selection.prototype.refreshPersistSelection = function () {\n var rows = this.parent.getRows();\n this.totalRecordsCount = this.parent.getCurrentViewRecords().length;\n if (this.parent.allowPaging) {\n this.totalRecordsCount = this.parent.pageSettings.totalRecordsCount;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rows) && rows.length > 0 && (this.parent.isPersistSelection || this.chkField)) {\n var indexes = [];\n for (var j = 0; j < rows.length; j++) {\n var rowObj = this.getRowObj(rows[parseInt(j.toString(), 10)]);\n var pKey = rowObj ? rowObj.data ? this.getPkValue(this.primaryKey, rowObj.data) : null : null;\n if (pKey === null) {\n return;\n }\n if (this.isPartialSelection && !rowObj.isSelectable) {\n continue;\n }\n var checkState = void 0;\n var chkBox = rows[parseInt(j.toString(), 10)].querySelector('.e-checkselect');\n if (this.selectedRowState[\"\" + pKey] || (this.parent.checkAllRows === 'Check' && this.selectedRowState[\"\" + pKey] &&\n this.totalRecordsCount === Object.keys(this.selectedRowState).length && this.chkAllCollec.indexOf(pKey) < 0)\n || (this.parent.checkAllRows === 'Uncheck' && this.chkAllCollec.indexOf(pKey) > 0 && !this.parent.selectedRowIndex)\n || (this.parent.checkAllRows === 'Intermediate' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.chkField) && rowObj.data[this.chkField])) {\n indexes.push(parseInt(rows[parseInt(j.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1);\n checkState = true;\n }\n else {\n checkState = false;\n if (this.checkedTarget !== chkBox && this.parent.isCheckBoxSelection && chkBox) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.removeAddCboxClasses)(chkBox.nextElementSibling, checkState);\n }\n }\n this.updatePersistCollection(rows[parseInt(j.toString(), 10)], checkState);\n }\n if (this.isSingleSel() && indexes.length > 0) {\n this.selectRow(indexes[0], true);\n }\n else {\n this.selectRows(indexes);\n }\n }\n if ((this.parent.isCheckBoxSelection || this.parent.selectionSettings.checkboxMode === 'ResetOnRowClick') && this.getCurrentBatchRecordChanges().length > 0) {\n this.setCheckAllState();\n }\n };\n Selection.prototype.actionBegin = function (e) {\n if (e.requestType === 'save' && this.parent.isPersistSelection) {\n var editChkBox = this.parent.element.querySelector('.e-edit-checkselect');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(editChkBox)) {\n var row = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(editChkBox, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow);\n if (row) {\n if (this.parent.editSettings.mode === 'Dialog') {\n row = this.parent.element.querySelector('.e-dlgeditrow');\n }\n var rowObj = this.getRowObj(row);\n if (!rowObj) {\n return;\n }\n this.selectedRowState[this.getPkValue(this.primaryKey, rowObj.data)] = rowObj.isSelected = editChkBox.checked;\n }\n else {\n this.isCheckedOnAdd = editChkBox.checked;\n }\n }\n }\n if (this.parent.isPersistSelection && this.isPartialSelection) {\n if (e.requestType === 'paging' && (this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result))) {\n this.selectedRowIndexes = [];\n }\n if (e.requestType === 'filtering' || e.requestType === 'searching') {\n this.parent.partialSelectedRecords = [];\n this.parent.disableSelectedRecords = [];\n }\n }\n };\n Selection.prototype.actionComplete = function (e) {\n if (e.requestType === 'save' && this.parent.isPersistSelection) {\n if (e.action === 'add') {\n if (this.isCheckedOnAdd) {\n var rowObj = this.parent.getRowObjectFromUID(this.parent.getRows()[e.selectedRow].getAttribute('data-uid'));\n this.selectedRowState[this.getPkValue(this.primaryKey, rowObj.data)] = rowObj.isSelected = this.isCheckedOnAdd;\n }\n this.isHdrSelectAllClicked = false;\n this.setCheckAllState();\n }\n this.refreshPersistSelection();\n }\n if (e.requestType === 'delete' && this.parent.isPersistSelection) {\n var records = e.data;\n var data = records.slice();\n for (var i = 0; i < data.length; i++) {\n var pkValue = this.getPkValue(this.primaryKey, data[parseInt(i.toString(), 10)]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pkValue)) {\n this.updatePersistDelete(pkValue, this.isPartialSelection);\n }\n }\n this.isHdrSelectAllClicked = false;\n this.setCheckAllState();\n this.totalRecordsCount = this.parent.pageSettings.totalRecordsCount;\n }\n if (e.requestType === 'paging') {\n if (this.parent.isPersistSelection && this.isPartialSelection && this.isHdrSelectAllClicked) {\n var rows = this.parent.getRowsObject();\n var indexes = [];\n for (var i = 0; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)].isSelectable) {\n indexes.push(rows[parseInt(i.toString(), 10)].index);\n }\n }\n if (indexes.length) {\n this.selectRows(indexes);\n }\n }\n this.prevRowIndex = undefined;\n this.prevCIdxs = undefined;\n this.prevECIdxs = undefined;\n }\n };\n Selection.prototype.onDataBound = function () {\n var checkboxColumn = this.parent.getColumns().filter(function (col) { return col.type === 'checkbox'; });\n if (checkboxColumn.length && !this.parent.getDataModule().isRemote()) {\n this.gridCurrentRecord = this.getData();\n }\n if (!this.parent.enableVirtualization && this.parent.isPersistSelection) {\n if (this.selectedRecords.length) {\n this.isPrevRowSelection = true;\n }\n }\n if ((this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) && this.rmtHdrChkbxClicked) {\n if (this.parent.checkAllRows === 'Intermediate') {\n this.setRowSelection(true);\n }\n else if (this.parent.checkAllRows === 'Uncheck') {\n this.setRowSelection(false);\n }\n }\n if (this.parent.enableVirtualization) {\n this.setCheckAllState();\n }\n if (this.parent.isPersistSelection) {\n this.refreshPersistSelection();\n }\n this.initialRowSelection = this.isRowType() && this.parent.element.querySelectorAll('.e-selectionbackground') &&\n this.parent.getSelectedRows().length ? true : false;\n if (this.parent.isCheckBoxSelection && !this.initialRowSelection) {\n var totalRecords = this.parent.getRowsObject();\n var indexes = [];\n for (var i = 0; i < totalRecords.length; i++) {\n if (totalRecords[parseInt(i.toString(), 10)].isSelected) {\n indexes.push(i);\n }\n }\n if (indexes.length) {\n this.selectRows(indexes);\n }\n this.initialRowSelection = true;\n }\n };\n Selection.prototype.updatePersistSelectedData = function (checkState) {\n if (this.parent.isPersistSelection) {\n var rows = this.parent.getRows();\n for (var i = 0; i < rows.length; i++) {\n this.updatePersistCollection(rows[parseInt(i.toString(), 10)], checkState);\n }\n if (this.parent.checkAllRows === 'Uncheck') {\n this.setRowSelection(false);\n this.persistSelectedData = (this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result))\n ? this.persistSelectedData : [];\n }\n else if (this.parent.checkAllRows === 'Check') {\n this.setRowSelection(true);\n this.persistSelectedData = !(this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result))\n && !this.isPartialSelection ?\n this.parent.groupSettings.columns.length ? this.getData().records.slice() :\n this.getData().slice() : this.persistSelectedData;\n }\n }\n };\n Selection.prototype.checkSelectAllAction = function (checkState) {\n var cRenderer = this.getRenderer();\n var editForm = this.parent.element.querySelector('.e-gridform');\n this.checkedTarget = this.getCheckAllBox();\n if (checkState && this.getCurrentBatchRecordChanges().length) {\n this.parent.checkAllRows = 'Check';\n this.updatePersistSelectedData(checkState);\n this.selectRowsByRange(cRenderer.getVirtualRowIndex(0), cRenderer.getVirtualRowIndex(this.getCurrentBatchRecordChanges().length - 1));\n if (this.checkVirtualCheckBox() && !this.parent.isPersistSelection) {\n this.virtualSelectedData = this.virtualCheckBoxData().slice();\n this.selectedRowIndexes = Object.keys(this.virtualSelectedData).map(function (key) { return parseInt(key, 10); });\n }\n }\n else {\n this.parent.checkAllRows = 'Uncheck';\n this.updatePersistSelectedData(checkState);\n this.clearSelection();\n }\n this.chkAllCollec = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(editForm)) {\n var editChkBox = editForm.querySelector('.e-edit-checkselect');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(editChkBox)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.removeAddCboxClasses)(editChkBox.nextElementSibling, checkState);\n }\n }\n };\n Selection.prototype.checkSelectAll = function (checkBox) {\n var _this = this;\n var stateStr = this.getCheckAllStatus(checkBox);\n var state = stateStr === 'Check';\n this.isHeaderCheckboxClicked = true;\n if ((this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) && ((stateStr === 'Uncheck' || this.isCheckboxReset) ||\n (stateStr === 'Intermediate' && this.parent.isPersistSelection))) {\n this.rmtHdrChkbxClicked = true;\n }\n else {\n this.rmtHdrChkbxClicked = false;\n }\n if (this.rmtHdrChkbxClicked && this.isCheckboxReset) {\n this.unSelectedRowState = {};\n }\n this.isCheckboxReset = false;\n if (stateStr === 'Intermediate') {\n if (!this.chkField && !this.parent.isPersistSelection) {\n state = this.getCurrentBatchRecordChanges().some(function (data) {\n return _this.getPkValue(_this.primaryKey, data) in _this.selectedRowState;\n });\n }\n if ((this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) && this.parent.isPersistSelection) {\n for (var i = 0; i < this.getCurrentBatchRecordChanges().length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getPkValue(this.primaryKey, this.getCurrentBatchRecordChanges()[\"\" + i]))) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (Object.keys(this.selectedRowState).includes((this.getPkValue(this.primaryKey, this.getCurrentBatchRecordChanges()[\"\" + i])).toString())) {\n state = true;\n }\n else {\n state = false;\n break;\n }\n }\n }\n }\n }\n if (this.parent.isPersistSelection && this.parent.allowPaging) {\n this.totalRecordsCount = this.parent.pageSettings.totalRecordsCount;\n }\n this.checkSelectAllAction(!state);\n this.target = null;\n if (this.getCurrentBatchRecordChanges().length > 0) {\n this.setCheckAllState();\n this.updateSelectedRowIndexes();\n }\n this.triggerChkChangeEvent(checkBox, !state);\n };\n Selection.prototype.getCheckAllStatus = function (ele) {\n var classes;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele)) {\n classes = ele.nextElementSibling.classList;\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getCheckAllBox())) {\n classes = this.getCheckAllBox().nextElementSibling.classList;\n }\n }\n var status = 'None';\n if (classes instanceof DOMTokenList) {\n if (classes.contains('e-check')) {\n status = 'Check';\n }\n else if (classes.contains('e-uncheck')) {\n status = 'Uncheck';\n }\n else if (classes.contains('e-stop')) {\n status = 'Intermediate';\n }\n }\n return status;\n };\n Selection.prototype.checkSelect = function (checkBox) {\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.checkedTarget, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n var gObj = this.parent;\n this.isMultiCtrlRequest = true;\n var rIndex = 0;\n this.isHeaderCheckboxClicked = false;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isGroupAdaptive)(gObj)) {\n var uid = target.parentElement.getAttribute('data-uid');\n if (this.parent.enableVirtualization && this.parent.groupSettings.columns.length) {\n rIndex = parseInt(target.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n }\n else {\n rIndex = gObj.getRows().map(function (m) { return m.getAttribute('data-uid'); }).indexOf(uid);\n }\n }\n else {\n rIndex = parseInt(target.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n }\n if (this.parent.isPersistSelection && this.parent.element.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow).length > 0 &&\n this.parent.editSettings.newRowPosition === 'Top' && !this.parent.editSettings.showAddNewRow) {\n ++rIndex;\n }\n this.rowCellSelectionHandler(rIndex, parseInt(target.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1);\n this.moveIntoUncheckCollection((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row));\n this.setCheckAllState();\n this.isMultiCtrlRequest = false;\n this.triggerChkChangeEvent(checkBox, checkBox.nextElementSibling.classList.contains('e-check'));\n };\n Selection.prototype.moveIntoUncheckCollection = function (row) {\n if (this.parent.checkAllRows === 'Check' || this.parent.checkAllRows === 'Uncheck') {\n var rowObj = this.getRowObj(row);\n var pKey = rowObj && rowObj.data ? this.getPkValue(this.primaryKey, rowObj.data) : null;\n if (!pKey) {\n return;\n }\n if (this.chkAllCollec.indexOf(pKey) < 0) {\n this.chkAllCollec.push(pKey);\n }\n else {\n this.chkAllCollec.splice(this.chkAllCollec.indexOf(pKey), 1);\n }\n }\n };\n Selection.prototype.triggerChkChangeEvent = function (checkBox, checkState) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.checkBoxChange, {\n checked: checkState, selectedRowIndexes: this.parent.getSelectedRowIndexes(),\n target: checkBox\n });\n if (!this.parent.isEdit) {\n this.checkedTarget = null;\n }\n };\n Selection.prototype.updateSelectedRowIndexes = function () {\n if (this.parent.isCheckBoxSelection && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) &&\n this.isPartialSelection && !(this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result))\n && this.parent.selectionSettings.persistSelection) {\n if (this.parent.checkAllRows !== 'Uncheck') {\n var rowObj = this.parent.getRowsObject().filter(function (e) { return e.isSelectable; });\n for (var _i = 0, rowObj_2 = rowObj; _i < rowObj_2.length; _i++) {\n var row = rowObj_2[_i];\n this.selectedRowIndexes.push(row.index);\n }\n }\n }\n if (this.parent.isCheckBoxSelection && this.parent.enableVirtualization && !this.isPartialSelection &&\n (this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result))\n && !this.parent.isPersistSelection && this.parent.checkAllRows === 'Check') {\n var rowObj = this.parent.getRowsObject().filter(function (e) { return e.isSelectable; });\n if (rowObj.length !== this.selectedRowIndexes.length) {\n for (var _a = 0, rowObj_3 = rowObj; _a < rowObj_3.length; _a++) {\n var row = rowObj_3[_a];\n if (this.selectedRowIndexes.indexOf(row.index) <= -1) {\n this.selectedRowIndexes.push(row.index);\n }\n }\n }\n }\n };\n Selection.prototype.updateSelectedRowIndex = function (index) {\n if (this.parent.isCheckBoxSelection && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)\n && !(this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result))\n && !this.isPartialSelection) {\n if (this.parent.checkAllRows === 'Check') {\n this.selectedRowIndexes = [];\n var dataLength = this.parent.groupSettings.columns.length ? this.getData()['records'].length :\n this.getData().length;\n for (var data = 0; data < dataLength; data++) {\n this.selectedRowIndexes.push(data);\n }\n }\n else if (this.parent.checkAllRows === 'Uncheck') {\n this.selectedRowIndexes = [];\n }\n else {\n var row = this.parent.getRowByIndex(index);\n if (index && row && row.getAttribute('aria-selected') === 'false') {\n var selectedVal = this.selectedRowIndexes.indexOf(index);\n this.selectedRowIndexes.splice(selectedVal, 1);\n }\n }\n }\n };\n Selection.prototype.isAllSelected = function (count) {\n if (this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result)) {\n return this.getAvailableSelectedData().length === (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling\n ? this.parent.totalDataRecordsCount : this.totalRecordsCount);\n }\n else {\n if (this.isPartialSelection) {\n if (this.parent.allowPaging && this.parent.pageSettings.pageSize < this.parent.pageSettings.totalRecordsCount) {\n var data = this.parent.partialSelectedRecords;\n for (var i = 0; i < data.length; i++) {\n var pKey = this.getPkValue(this.primaryKey, data[parseInt(i.toString(), 10)]);\n if (!this.selectedRowState[\"\" + pKey]) {\n return false;\n }\n }\n return true;\n }\n else {\n return this.isSelectAllRowCount(count);\n }\n }\n else {\n var data = this.getData();\n if (this.parent.groupSettings.columns.length && data['records']) {\n data = data['records'];\n }\n for (var i = 0; i < data.length; i++) {\n var pKey = this.getPkValue(this.primaryKey, data[parseInt(i.toString(), 10)]);\n if (!this.selectedRowState[\"\" + pKey]) {\n return false;\n }\n }\n return true;\n }\n }\n };\n Selection.prototype.someDataSelected = function () {\n if ((this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result))\n && (this.parent.searchSettings.key.length || this.parent.filterSettings.columns.length)) {\n var filteredSearchedSelectedData = this.getAvailableSelectedData();\n for (var i = 0; i < filteredSearchedSelectedData.length; i++) {\n var pKey = this.getPkValue(this.primaryKey, filteredSearchedSelectedData[parseInt(i.toString(), 10)]);\n if (this.selectedRowState[\"\" + pKey]) {\n return false;\n }\n }\n }\n var data = this.isPartialSelection ? this.parent.partialSelectedRecords\n : (this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) ? [] : this.getData();\n for (var i = 0; i < data.length; i++) {\n var pKey = this.getPkValue(this.primaryKey, data[parseInt(i.toString(), 10)]);\n if (this.selectedRowState[\"\" + pKey]) {\n return false;\n }\n }\n return true;\n };\n Selection.prototype.setCheckAllState = function (index, isInteraction) {\n if (this.parent.isCheckBoxSelection || this.parent.selectionSettings.checkboxMode === 'ResetOnRowClick') {\n var checkToSelectAll = false;\n var isFiltered = false;\n var checkedLen = Object.keys(this.selectedRowState).length;\n if (this.parent.element.classList.contains('e-treelistgrid') && this.parent.isPersistSelection && !this.parent.enableVirtualization &&\n !this.parent.getDataModule().isRemote() && Array.isArray(this.parent.dataSource) &&\n checkedLen === this.parent.dataSource.length && checkedLen > this.totalRecordsCount) {\n checkedLen = this.totalRecordsCount;\n }\n if (!this.parent.isPersistSelection) {\n checkedLen = this.selectedRowIndexes.length;\n this.totalRecordsCount = this.getCurrentBatchRecordChanges().length;\n }\n if (this.parent.isPersistSelection && !((this.parent.getDataModule().isRemote() ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result)) &&\n this.isPartialSelection)\n && (this.parent.searchSettings.key.length || this.parent.filterSettings.columns.length)) {\n isFiltered = true;\n checkToSelectAll = this.isAllSelected(checkedLen);\n }\n var input = this.getCheckAllBox();\n if (input) {\n var spanEle = input.nextElementSibling;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([spanEle], ['e-check', 'e-stop', 'e-uncheck']);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setChecked)(input, false);\n input.indeterminate = false;\n var getRecord = this.parent.getDataModule().isRemote() ? [] : this.gridCurrentRecord;\n if (this.parent.groupSettings.columns.length && getRecord['records']) {\n getRecord = getRecord['records'];\n }\n this.totalRecordsCount = this.checkVirtualCheckBox() ? getRecord.length : this.totalRecordsCount;\n if ((checkToSelectAll && isFiltered && (this.parent.getDataModule().isRemote() ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result) ||\n getRecord.length)) || (!isFiltered && ((checkedLen === this.totalRecordsCount && this.totalRecordsCount\n && !this.isPartialSelection && (!(this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result))\n || this.parent.allowPaging)) ||\n (!this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling\n && this.isPartialSelection && (this.isSelectAllRowCount(checkedLen) || this.isHdrSelectAllClicked))\n || ((this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)\n && !this.parent.allowPaging && ((!(this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result)) &&\n getRecord.length && checkedLen === getRecord.length) || ((this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result)) &&\n !this.isPartialSelection && ((checkedLen === this.parent.totalDataRecordsCount) || ((this.\n isSelectAllRowCount(checkedLen) || checkedLen === this.totalRecordsCount) && !this.parent.isPersistSelection))) ||\n (this.isPartialSelection && (this.isHdrSelectAllClicked || this.isSelectAllRowCount(checkedLen)))))\n || (checkedLen === this.totalRecordsCount && this.totalRecordsCount && !this.isPartialSelection &&\n !this.parent.allowPaging && !this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling)))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([spanEle], ['e-check']);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setChecked)(input, true);\n if (isInteraction) {\n this.getRenderer().setSelection(null, true, true);\n }\n this.parent.checkAllRows = 'Check';\n }\n else if (((!this.selectedRowIndexes.length && (!this.parent.enableVirtualization ||\n (!this.persistSelectedData.length && !isFiltered) || (isFiltered && this.someDataSelected())) ||\n checkedLen === 0 && this.getCurrentBatchRecordChanges().length === 0) && !this.parent.allowPaging) ||\n (this.parent.allowPaging && (checkedLen === 0 || (checkedLen && isFiltered && this.someDataSelected())))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([spanEle], ['e-uncheck']);\n if (isInteraction) {\n this.getRenderer().setSelection(null, false, true);\n }\n this.parent.checkAllRows = 'Uncheck';\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([spanEle], ['e-stop']);\n this.parent.checkAllRows = 'Intermediate';\n input.indeterminate = true;\n }\n if (checkedLen === 0 && this.getCurrentBatchRecordChanges().length === 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([spanEle.parentElement], ['e-checkbox-disabled']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([spanEle.parentElement], ['e-checkbox-disabled']);\n }\n if (this.isPartialSelection) {\n var rowCount = this.parent.getRowsObject().filter(function (e) { return e.isSelectable; }).length;\n if (rowCount === 0 && spanEle.parentElement.querySelector('.e-frame').classList.contains('e-uncheck')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([spanEle.parentElement], ['e-checkbox-disabled']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([spanEle.parentElement], ['e-checkbox-disabled']);\n }\n }\n if ((this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)\n && !this.parent.allowPaging && !(this.parent.getDataModule().isRemote()\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result))) {\n this.updateSelectedRowIndex(index);\n }\n }\n }\n };\n Selection.prototype.checkVirtualCheckBox = function () {\n return this.parent.enableVirtualization && !(this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) && this.parent.isCheckBoxSelection && !this.isPartialSelection;\n };\n Selection.prototype.virtualCheckBoxData = function () {\n var data = this.getData();\n if (this.parent.groupSettings.columns.length && data['records']) {\n data = data['records'];\n }\n return data;\n };\n Selection.prototype.isSelectAllRowCount = function (count) {\n var rowCount = 0;\n var rowObj = this.parent.getRowsObject();\n if (this.parent.selectionSettings.persistSelection && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {\n var dataLen = (this.parent.getDataModule().isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) ?\n this.parent.totalDataRecordsCount : this.getData() && this.getData().length;\n if (dataLen === rowObj.length) {\n rowCount = rowObj.filter(function (e) { return e.isSelectable; }).length;\n return rowCount && count === rowCount;\n }\n else {\n return false;\n }\n }\n else {\n if (this.parent.allowPaging && this.parent.selectionSettings.persistSelection) {\n rowCount = this.parent.partialSelectedRecords.length + this.parent.disableSelectedRecords.length;\n if (rowCount === this.totalRecordsCount) {\n return this.parent.partialSelectedRecords.length && count === this.parent.partialSelectedRecords.length;\n }\n else {\n return false;\n }\n }\n else {\n rowCount = rowObj.filter(function (e) { return e.isSelectable; }).length;\n return rowCount && count === rowCount;\n }\n }\n };\n Selection.prototype.keyDownHandler = function (e) {\n // Below are keyCode for command key in MAC OS. Safari/Chrome(91-Left command, 93-Right Command), Opera(17), FireFox(224)\n if ((_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'opera' && e.keyCode === 17) || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'mozilla' && e.keyCode === 224) ||\n (((_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'safari') || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'chrome')) && (e.keyCode === 91 || e.keyCode === 93))) {\n this.cmdKeyPressed = true;\n }\n var targetHeadCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, 'e-headercell');\n var targetRowCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n var isCheckBox = targetHeadCell ? targetHeadCell.children[0].classList.contains('e-headerchkcelldiv') :\n targetRowCell ? targetRowCell.classList.contains('e-gridchkbox') : false;\n if (isCheckBox && !this.parent.allowKeyboard && e.keyCode === 32) {\n e.preventDefault();\n }\n };\n Selection.prototype.keyUpHandler = function (e) {\n if ((_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'opera' && e.keyCode === 17) || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'mozilla' && e.keyCode === 224) ||\n (((_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'safari') || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'chrome')) && (e.keyCode === 91 || e.keyCode === 93))) {\n this.cmdKeyPressed = false;\n }\n };\n Selection.prototype.clickHandler = function (e) {\n var target = e.target;\n this.actualTarget = target;\n if (!this.isAutoFillSel && !e.ctrlKey && !e.shiftKey) {\n this.startAFCell = this.endAFCell = null;\n }\n if (this.selectionSettings.persistSelection) {\n this.deSelectedData = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.iterateExtend)(this.persistSelectedData);\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row) || (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-headerchkcelldiv') ||\n (this.selectionSettings.allowColumnSelection && target.classList.contains('e-headercell'))) {\n this.isInteracted = true;\n }\n this.cmdKeyPressed = e.metaKey;\n this.isMultiCtrlRequest = e.ctrlKey || this.enableSelectMultiTouch ||\n (this.isMacOS && this.cmdKeyPressed);\n if (!this.parent.allowKeyboard) {\n this.isMultiShiftRequest = false;\n this.isMultiCtrlRequest = false;\n }\n else {\n this.isMultiShiftRequest = e.shiftKey;\n }\n this.isMultiCtrlRequestCell = this.isMultiCtrlRequest;\n this.popUpClickHandler(e);\n var chkSelect = false;\n this.preventFocus = true;\n var checkBox;\n var checkWrap = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-checkbox-wrapper');\n this.checkSelectAllClicked = checkWrap && checkWrap.getElementsByClassName('e-checkselectall') ||\n (this.selectionSettings.persistSelection && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row)) ? true : false;\n if (this.selectionSettings.persistSelection && this.isPartialSelection && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-headerchkcelldiv')\n && !target.querySelector('.e-checkbox-disabled')) {\n this.isHdrSelectAllClicked = true;\n }\n if (checkWrap && checkWrap.querySelectorAll('.e-checkselect,.e-checkselectall').length > 0) {\n checkBox = checkWrap.querySelector('input[type=\"checkbox\"]');\n chkSelect = true;\n }\n this.drawBorders();\n this.updateAutoFillPosition();\n target = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell);\n if (this.parent.isReact && (target && !target.parentElement && target.classList.contains('e-rowcell'))) {\n target = this.parent.getCellFromIndex(parseInt(target.getAttribute('index'), 10), parseInt(target.getAttribute('aria-colindex'), 10) - 1);\n }\n if (this.isRowDragSelected && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && this.parent.allowRowDragAndDrop &&\n this.selectionSettings.persistSelection && this.checkSelectAllClicked) {\n this.isRowDragSelected = false;\n }\n if (((target && target.parentElement.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row) && !this.parent.selectionSettings.checkboxOnly) || chkSelect)\n && !this.isRowDragSelected) {\n if (this.parent.isCheckBoxSelection) {\n this.isMultiCtrlRequest = true;\n }\n this.target = target;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(checkBox)) {\n this.checkedTarget = checkBox;\n if (checkBox.classList.contains('e-checkselectall')) {\n this.checkSelectAll(checkBox);\n }\n else {\n this.checkSelect(checkBox);\n }\n }\n else {\n var rIndex = 0;\n rIndex = parseInt(target.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex), 10) - 1;\n if (this.parent.isPersistSelection && !this.parent.editSettings.showAddNewRow\n && this.parent.element.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow).length > 0) {\n ++rIndex;\n }\n if (!this.mUPTarget || !this.mUPTarget.isEqualNode(target)) {\n this.rowCellSelectionHandler(rIndex, parseInt(target.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1);\n }\n if (this.parent.isCheckBoxSelection) {\n this.moveIntoUncheckCollection((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row));\n this.setCheckAllState();\n }\n }\n if (!this.parent.isCheckBoxSelection && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !this.isSingleSel()) {\n this.showPopup(e);\n }\n }\n else if (e.target.classList.contains('e-headercell') &&\n !e.target.classList.contains('e-stackedheadercell')) {\n var uid = e.target.querySelector('.e-headercelldiv').getAttribute('e-mappinguid');\n this.headerSelectionHandler(this.parent.getColumnIndexByUid(uid));\n }\n this.isMultiCtrlRequest = false;\n this.isMultiCtrlRequestCell = this.isMultiCtrlRequest;\n this.isMultiShiftRequest = false;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-unboundcell'))) {\n this.preventFocus = false;\n }\n };\n Selection.prototype.popUpClickHandler = function (e) {\n var target = e.target;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-headercell') || e.target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell) ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-gridpopup')) {\n if (target.classList.contains('e-rowselect')) {\n if (!target.classList.contains('e-spanclicked')) {\n target.classList.add('e-spanclicked');\n this.enableSelectMultiTouch = true;\n }\n else {\n target.classList.remove('e-spanclicked');\n this.enableSelectMultiTouch = false;\n this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n }\n }\n }\n else {\n this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n }\n };\n Selection.prototype.showPopup = function (e) {\n if (!this.selectionSettings.enableSimpleMultiRowSelection) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setCssInGridPopUp)(this.parent.element.querySelector('.e-gridpopup'), e, 'e-rowselect e-icons e-icon-rowselect' +\n (!this.isSingleSel() && (this.selectedRecords.length > 1\n || this.selectedRowCellIndexes.length > 1) ? ' e-spanclicked' : ''));\n }\n };\n Selection.prototype.rowCellSelectionHandler = function (rowIndex, cellIndex) {\n if ((!this.isMultiCtrlRequest && !this.isMultiShiftRequest) || this.isSingleSel()) {\n if (!this.isDragged) {\n this.selectRow(rowIndex, this.selectionSettings.enableToggle);\n }\n this.selectCell({ rowIndex: rowIndex, cellIndex: cellIndex }, this.selectionSettings.enableToggle);\n if (this.selectedRowCellIndexes.length) {\n this.updateAutoFillPosition();\n }\n this.drawBorders();\n }\n else if (this.isMultiShiftRequest) {\n if (this.parent.isCheckBoxSelection || (!this.parent.isCheckBoxSelection &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell).classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridChkBox))) {\n this.selectRowsByRange((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.prevRowIndex) ? rowIndex : this.prevRowIndex, rowIndex);\n }\n else {\n this.addRowsToSelection([rowIndex]);\n }\n this.selectCellsByRange((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.prevCIdxs) ? { rowIndex: rowIndex, cellIndex: cellIndex } : this.prevCIdxs, { rowIndex: rowIndex, cellIndex: cellIndex });\n this.updateAutoFillPosition();\n this.drawBorders();\n }\n else {\n this.addRowsToSelection([rowIndex]);\n if (this.selectionSettings.mode === 'Both') {\n var checkboxColumn = this.parent.getColumns().find(function (col) { return col.type === 'checkbox'; });\n var checkboxColumnIndexCheck = checkboxColumn && checkboxColumn.index !== cellIndex;\n if (checkboxColumnIndexCheck && !this.isMultiCtrlRequestCell) {\n this.selectCell({ rowIndex: rowIndex, cellIndex: cellIndex }, this.selectionSettings.enableToggle);\n }\n else if (!checkboxColumn || checkboxColumnIndexCheck) {\n this.addCellsToSelection([{ rowIndex: rowIndex, cellIndex: cellIndex }]);\n }\n }\n else {\n this.addCellsToSelection([{ rowIndex: rowIndex, cellIndex: cellIndex }]);\n }\n this.showHideBorders('none');\n }\n this.isDragged = false;\n };\n Selection.prototype.onCellFocused = function (e) {\n if (this.parent.frozenRows && e.container.isHeader && e.byKey) {\n if (e.keyArgs.action === 'upArrow') {\n if (this.parent.allowFiltering) {\n e.isJump = e.element.tagName === 'INPUT' ? true : false;\n }\n else {\n e.isJump = e.element.tagName === 'TH' ? true : false;\n }\n }\n else {\n if (e.keyArgs.action === 'downArrow') {\n var rIdx = Number(e.element.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex)) - 1;\n e.isJump = rIdx === 0 ? true : false;\n }\n else {\n if (e.keyArgs.action === 'ctrlHome') {\n e.isJump = true;\n }\n }\n }\n }\n var clear = ((e.container.isHeader && e.isJump) ||\n (e.container.isContent && !e.container.isSelectable)) && !(e.byKey && e.keyArgs.action === 'space')\n && !(e.element.classList.contains('e-detailrowexpand') || e.element.classList.contains('e-detailrowcollapse'));\n var headerAction = (e.container.isHeader && e.element.tagName !== 'TD' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell))\n && !(e.byKey && e.keyArgs.action === 'space');\n if (!e.byKey || clear) {\n if (clear && !(this.parent.isCheckBoxSelection || (this.selectionSettings.persistSelection && (e.parent.classList.contains('e-recordplusexpand') ||\n e.parent.classList.contains('e-recordpluscollapse') || e.parent.classList.contains('e-groupcaption'))))) {\n this.clearSelection();\n }\n return;\n }\n var _a = e.container.isContent ? e.container.indexes : e.indexes, rowIndex = _a[0], cellIndex = _a[1];\n var prev = this.focus.getPrevIndexes();\n if (e.element.parentElement.querySelector('.e-rowcelldrag') || e.element.parentElement.querySelector('.e-dtdiagonalright')\n || e.element.parentElement.querySelector('.e-dtdiagonaldown')) {\n prev.cellIndex = prev.cellIndex - 1;\n }\n if (this.parent.frozenRows) {\n if (e.container.isHeader && (e.element.tagName === 'TD' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.element, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell))) {\n var hdrLength = this.parent.getHeaderTable().querySelector('thead').childElementCount;\n if (this.parent.editSettings.showAddNewRow && this.parent.editSettings.newRowPosition === 'Top' &&\n e.keyArgs.action === 'upArrow') {\n hdrLength++;\n }\n rowIndex -= hdrLength;\n prev.rowIndex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(prev.rowIndex) ? prev.rowIndex - hdrLength : null;\n }\n else {\n rowIndex += this.parent.frozenRows;\n prev.rowIndex = prev.rowIndex === 0 || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(prev.rowIndex) ? prev.rowIndex + this.parent.frozenRows : null;\n }\n }\n if (this.parent.enableInfiniteScrolling && this.parent.infiniteScrollSettings.enableCache) {\n rowIndex = parseInt(e.element.parentElement.getAttribute('aria-rowindex'), 10) - 1;\n }\n if ((headerAction || (['ctrlPlusA', 'escape'].indexOf(e.keyArgs.action) === -1 &&\n e.keyArgs.action !== 'space' && rowIndex === prev.rowIndex && cellIndex === prev.cellIndex)) &&\n !this.selectionSettings.allowColumnSelection) {\n return;\n }\n if (this.parent.enableVirtualization) {\n rowIndex = parseInt(e.element.parentElement.getAttribute('aria-rowindex'), 10) - 1;\n if (!this.parent.enableColumnVirtualization && !this.parent.groupSettings.columns.length &&\n this.parent.totalDataRecordsCount >= 1) {\n if (e.keyArgs.action === 'ctrlHome') {\n rowIndex = 0;\n this.parent.isFocusFirstCell = true;\n }\n else if (e.keyArgs.action === 'ctrlEnd') {\n rowIndex = this.parent.totalDataRecordsCount - 1;\n this.isFocusLastCell = true;\n }\n }\n }\n if (this.parent.editSettings.showAddNewRow && this.parent.editSettings.newRowPosition === 'Top' &&\n (!this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling) && e.keyArgs.action === 'downArrow') {\n rowIndex--;\n }\n this.preventFocus = true;\n var columnIndex = this.getKeyColIndex(e);\n if (this.needColumnSelection) {\n cellIndex = columnIndex;\n }\n if (this.parent.element.classList.contains('e-gridcell-read') && (e.keyArgs.action === 'tab' || e.keyArgs.action === 'shiftTab'\n || e.keyArgs.action === 'rightArrow' || e.keyArgs.action === 'leftArrow')) {\n var targetLabel = this.target.getAttribute('aria-label');\n targetLabel = this.target.innerHTML + ' column header ' + this.parent.getColumnByIndex(cellIndex).field;\n this.target.setAttribute('aria-label', targetLabel);\n }\n switch (e.keyArgs.action) {\n case 'downArrow':\n case 'upArrow':\n case 'enter':\n case 'shiftEnter':\n this.target = e.element;\n this.isKeyAction = true;\n this.applyDownUpKey(rowIndex, cellIndex);\n break;\n case 'rightArrow':\n case 'leftArrow':\n this.applyRightLeftKey(rowIndex, cellIndex);\n break;\n case 'shiftDown':\n case 'shiftUp':\n this.shiftDownKey(rowIndex, cellIndex);\n break;\n case 'shiftLeft':\n case 'shiftRight':\n this.applyShiftLeftRightKey(rowIndex, cellIndex);\n break;\n case 'home':\n case 'end':\n cellIndex = e.keyArgs.action === 'end' ? this.getLastColIndex(rowIndex) : 0;\n this.applyHomeEndKey(rowIndex, cellIndex);\n break;\n case 'ctrlHome':\n case 'ctrlEnd':\n this.applyCtrlHomeEndKey(rowIndex, cellIndex);\n break;\n case 'escape':\n this.clearSelection();\n if (this.parent.clipboardModule) {\n window.navigator['clipboard'].writeText('');\n }\n break;\n case 'ctrlPlusA':\n this.ctrlPlusA();\n break;\n case 'space':\n this.applySpaceSelection(e.element);\n break;\n case 'tab':\n if (this.parent.editSettings.allowNextRowEdit) {\n this.selectRow(rowIndex);\n }\n break;\n }\n this.needColumnSelection = false;\n this.preventFocus = false;\n this.positionBorders();\n if (this.parent.isFrozenGrid()) {\n this.showHideBorders('none', true);\n this.refreshFrozenBorders();\n }\n this.updateAutoFillPosition();\n };\n Selection.prototype.getKeyColIndex = function (e) {\n var uid;\n var index = null;\n var stackedHeader = e.element.querySelector('.e-stackedheadercelldiv');\n if (this.selectionSettings.allowColumnSelection && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.element, 'e-columnheader')) {\n this.needColumnSelection = e.container.isHeader ? true : false;\n if (stackedHeader) {\n if (e.keyArgs.action === 'rightArrow' || e.keyArgs.action === 'leftArrow') {\n return index;\n }\n uid = stackedHeader.getAttribute('e-mappinguid');\n var innerColumn = this.getstackedColumns(this.parent.getColumnByUid(uid).columns);\n var lastIndex = this.parent.getColumnIndexByUid(innerColumn[innerColumn.length - 1].uid);\n var firstIndex = this.parent.getColumnIndexByUid(innerColumn[0].uid);\n index = this.prevColIndex >= lastIndex ? firstIndex : lastIndex;\n }\n else {\n index = this.parent.getColumnIndexByUid(e.element\n .querySelector('.e-headercelldiv').getAttribute('e-mappinguid'));\n }\n }\n return index;\n };\n /**\n * Apply ctrl + A key selection\n *\n * @returns {void}\n * @hidden\n */\n Selection.prototype.ctrlPlusA = function () {\n if (this.isRowType() && !this.isSingleSel()) {\n var rowObj = this.parent.getRowsObject();\n this.selectRowsByRange(rowObj[0].index, rowObj[rowObj.length - 1].index);\n }\n if (this.isCellType() && !this.isSingleSel()) {\n this.selectCellsByRange({ rowIndex: 0, cellIndex: 0 }, { rowIndex: this.parent.getRows().length - 1, cellIndex: this.parent.getColumns().length - 1 });\n }\n };\n Selection.prototype.applySpaceSelection = function (target) {\n if (target.classList.contains('e-checkselectall')) {\n this.checkedTarget = target;\n this.checkSelectAll(this.checkedTarget);\n }\n else {\n if (target.classList.contains('e-checkselect')) {\n this.checkedTarget = target;\n this.checkSelect(this.checkedTarget);\n }\n }\n };\n Selection.prototype.applyDownUpKey = function (rowIndex, cellIndex) {\n var gObj = this.parent;\n if (this.parent.isCheckBoxSelection && this.parent.checkAllRows === 'Check' && !this.selectionSettings.persistSelection &&\n !this.selectionSettings.checkboxOnly) {\n this.checkSelectAllAction(false);\n this.checkedTarget = null;\n }\n if (this.isRowType() && !this.selectionSettings.checkboxOnly) {\n if (this.parent.frozenRows) {\n this.selectRow(rowIndex, true);\n this.applyUpDown(gObj.selectedRowIndex);\n }\n else {\n this.selectRow(rowIndex, true);\n this.applyUpDown(gObj.selectedRowIndex);\n }\n }\n if (this.isCellType()) {\n this.selectCell({ rowIndex: rowIndex, cellIndex: cellIndex }, true);\n }\n if (this.selectionSettings.allowColumnSelection && this.needColumnSelection) {\n this.selectColumn(cellIndex);\n }\n };\n Selection.prototype.applyUpDown = function (rowIndex) {\n if (rowIndex < 0) {\n return;\n }\n if (!this.target) {\n this.target = this.parent.getRows()[0].children[this.parent.groupSettings.columns.length || 0];\n }\n var cIndex = parseInt(this.target.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex), 10) - 1;\n var row = this.contentRenderer.getRowByIndex(rowIndex);\n if (row) {\n this.target = row.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell)[parseInt(cIndex.toString(), 10)];\n }\n this.addAttribute(this.target);\n if (this.parent.element.classList.contains('e-gridcell-read')) {\n var targetLabel = this.target.getAttribute('aria-label');\n targetLabel = this.target.innerHTML;\n this.target.setAttribute('aria-label', targetLabel);\n }\n };\n Selection.prototype.applyRightLeftKey = function (rowIndex, cellIndex) {\n if (this.selectionSettings.allowColumnSelection && this.needColumnSelection) {\n this.selectColumn(cellIndex);\n }\n else if (this.isCellType()) {\n this.selectCell({ rowIndex: rowIndex, cellIndex: cellIndex }, true);\n this.addAttribute(this.target);\n }\n };\n Selection.prototype.applyHomeEndKey = function (rowIndex, cellIndex) {\n if (this.isCellType()) {\n this.selectCell({ rowIndex: rowIndex, cellIndex: cellIndex }, true);\n }\n else {\n this.addAttribute(this.parent.getCellFromIndex(rowIndex, cellIndex));\n }\n };\n /**\n * Apply shift+down key selection\n *\n * @param {number} rowIndex - specfies the rowIndex\n * @param {number} cellIndex - specifies the CellIndex\n * @returns {void}\n * @hidden\n */\n Selection.prototype.shiftDownKey = function (rowIndex, cellIndex) {\n this.isMultiShiftRequest = true;\n if (this.isRowType() && !this.isSingleSel()) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.prevRowIndex)) {\n this.selectRowsByRange(this.prevRowIndex, rowIndex);\n this.applyUpDown(rowIndex);\n }\n else if (this.isPartialSelection) {\n this.selectRow(rowIndex, true);\n }\n else {\n this.selectRow(0, true);\n }\n }\n if (this.isCellType() && !this.isSingleSel()) {\n this.selectCellsByRange(this.prevCIdxs || { rowIndex: 0, cellIndex: 0 }, { rowIndex: rowIndex, cellIndex: cellIndex });\n }\n this.isMultiShiftRequest = false;\n };\n Selection.prototype.applyShiftLeftRightKey = function (rowIndex, cellIndex) {\n this.isMultiShiftRequest = true;\n if (this.selectionSettings.allowColumnSelection && this.needColumnSelection) {\n this.selectColumnsByRange(this.prevColIndex, cellIndex);\n }\n else {\n this.selectCellsByRange(this.prevCIdxs, { rowIndex: rowIndex, cellIndex: cellIndex });\n }\n this.isMultiShiftRequest = false;\n };\n Selection.prototype.getstackedColumns = function (column) {\n var innerColumnIndexes = [];\n for (var i = 0, len = column.length; i < len; i++) {\n if (column[parseInt(i.toString(), 10)].columns) {\n this.getstackedColumns(column[parseInt(i.toString(), 10)].columns);\n }\n else {\n innerColumnIndexes.push(column[parseInt(i.toString(), 10)]);\n }\n }\n return innerColumnIndexes;\n };\n Selection.prototype.applyCtrlHomeEndKey = function (rowIndex, cellIndex) {\n if (this.isRowType()) {\n this.selectRow(rowIndex, true);\n if (!(this.parent.enableVirtualization || this.parent.enableColumnVirtualization)) {\n this.addAttribute(this.parent.getCellFromIndex(rowIndex, cellIndex));\n }\n }\n if (this.isCellType()) {\n this.selectCell({ rowIndex: rowIndex, cellIndex: cellIndex }, true);\n }\n };\n Selection.prototype.addRemoveClassesForRow = function (row, isAdd, clearAll) {\n var args = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n args[_i - 3] = arguments[_i];\n }\n if (row) {\n var cells = [].slice.call(row.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell));\n var detailIndentCell = row.querySelector('.e-detailrowcollapse') || row.querySelector('.e-detailrowexpand');\n var dragdropIndentCell = row.querySelector('.e-rowdragdrop');\n if (detailIndentCell) {\n cells.push(detailIndentCell);\n }\n if (dragdropIndentCell) {\n cells.push(dragdropIndentCell);\n }\n _base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses.apply(void 0, [cells, isAdd].concat(args));\n }\n this.getRenderer().setSelection(row ? row.getAttribute('data-uid') : null, isAdd, clearAll);\n };\n Selection.prototype.isRowType = function () {\n return this.selectionSettings.mode === 'Row' || this.selectionSettings.mode === 'Both';\n };\n Selection.prototype.isCellType = function () {\n return this.selectionSettings.mode === 'Cell' || this.selectionSettings.mode === 'Both';\n };\n Selection.prototype.isSingleSel = function () {\n return this.selectionSettings.type === 'Single';\n };\n Selection.prototype.getRenderer = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentRenderer)) {\n this.contentRenderer = this.factory.getRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_5__.RenderType.Content);\n }\n return this.contentRenderer;\n };\n /**\n * Gets the collection of selected records.\n *\n * @returns {Object[]} returns the Object\n */\n Selection.prototype.getSelectedRecords = function () {\n var selectedData = [];\n if (!this.selectionSettings.persistSelection && this.selectedRecords.length) {\n selectedData = this.parent.getRowsObject().filter(function (row) { return row.isSelected; })\n .map(function (m) { return m.data; });\n }\n else {\n selectedData = this.persistSelectedData;\n }\n if (this.checkVirtualCheckBox() && !this.parent.isPersistSelection) {\n selectedData = this.virtualSelectedData;\n }\n return selectedData;\n };\n /**\n * Select the column by passing start column index\n *\n * @param {number} index - specifies the index\n * @returns {void}\n */\n Selection.prototype.selectColumn = function (index) {\n var gObj = this.parent;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getColumns()[parseInt(index.toString(), 10)])) {\n return;\n }\n var column = gObj.getColumnByIndex(index);\n var selectedCol = gObj.getColumnHeaderByUid(column.uid);\n var isColSelected = selectedCol.classList.contains('e-columnselection');\n if ((!gObj.selectionSettings.allowColumnSelection)) {\n return;\n }\n var isMultiColumns = this.selectedColumnsIndexes.length > 1 &&\n this.selectedColumnsIndexes.indexOf(index) > -1;\n this.clearColDependency();\n if (!this.selectionSettings.enableToggle || isMultiColumns || !isColSelected) {\n var args = {\n columnIndex: index, headerCell: selectedCol,\n column: column,\n cancel: false, target: this.actualTarget,\n isInteracted: this.isInteracted, previousColumnIndex: this.prevColIndex,\n isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest\n };\n this.onActionBegin(args, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnSelecting);\n if (args.cancel) {\n this.disableInteracted();\n return;\n }\n if (isMultiColumns || !(isColSelected && gObj.selectionSettings.enableToggle && index === this.prevColIndex)) {\n this.updateColSelection(selectedCol, index);\n }\n var selectedArgs = {\n columnIndex: index, headerCell: selectedCol,\n column: column,\n target: this.actualTarget,\n isInteracted: this.isInteracted, previousColumnIndex: this.prevColIndex\n };\n this.onActionComplete(selectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnSelected);\n }\n this.updateColProps(index);\n };\n /**\n * Select the columns by passing start and end column index\n *\n * @param {number} startIndex - specifies the start index\n * @param {number} endIndex - specifies the end index\n * @returns {void}\n */\n Selection.prototype.selectColumnsByRange = function (startIndex, endIndex) {\n var gObj = this.parent;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getColumns()[parseInt(startIndex.toString(), 10)])) {\n return;\n }\n var indexes = [];\n if (gObj.selectionSettings.type === 'Single' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(endIndex)) {\n indexes[0] = startIndex;\n }\n else {\n var min = startIndex < endIndex;\n for (var i = startIndex; min ? i <= endIndex : i >= endIndex; min ? i++ : i--) {\n indexes.push(i);\n }\n }\n this.selectColumns(indexes);\n };\n /**\n * Select the columns by passing column indexes\n *\n * @param {number[]} columnIndexes - specifies the columnIndexes\n * @returns {void}\n */\n Selection.prototype.selectColumns = function (columnIndexes) {\n var gObj = this.parent;\n var selectedCol = this.getselectedCols();\n if (gObj.selectionSettings.type === 'Single') {\n columnIndexes = [columnIndexes[0]];\n }\n if (!gObj.selectionSettings.allowColumnSelection) {\n return;\n }\n this.clearColDependency();\n var selectingArgs = {\n columnIndex: columnIndexes[0], headerCell: selectedCol,\n columnIndexes: columnIndexes,\n column: gObj.getColumnByIndex(columnIndexes[0]),\n cancel: false, target: this.actualTarget,\n isInteracted: this.isInteracted, previousColumnIndex: this.prevColIndex,\n isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest\n };\n this.onActionBegin(selectingArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnSelecting);\n if (selectingArgs.cancel) {\n this.disableInteracted();\n return;\n }\n for (var i = 0, len = columnIndexes.length; i < len; i++) {\n this.updateColSelection(gObj.getColumnHeaderByUid(gObj.getColumnByIndex(columnIndexes[parseInt(i.toString(), 10)]).uid), columnIndexes[parseInt(i.toString(), 10)]);\n }\n selectedCol = this.getselectedCols();\n var selectedArgs = {\n columnIndex: columnIndexes[0], headerCell: selectedCol,\n columnIndexes: columnIndexes,\n column: gObj.getColumnByIndex(columnIndexes[0]),\n target: this.actualTarget,\n isInteracted: this.isInteracted, previousColumnIndex: this.prevColIndex\n };\n this.onActionComplete(selectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnSelected);\n this.updateColProps(columnIndexes[0]);\n };\n /**\n * Select the column with existing column by passing column index\n *\n * @param {number} startIndex - specifies the start index\n * @returns {void}\n */\n Selection.prototype.selectColumnWithExisting = function (startIndex) {\n var gObj = this.parent;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.getColumns()[parseInt(startIndex.toString(), 10)])) {\n return;\n }\n var newCol = gObj.getColumnHeaderByUid(gObj.getColumnByIndex(startIndex).uid);\n var selectedCol = this.getselectedCols();\n if (gObj.selectionSettings.type === 'Single') {\n this.clearColDependency();\n }\n if (!gObj.selectionSettings.allowColumnSelection) {\n return;\n }\n if (this.selectedColumnsIndexes.indexOf(startIndex) > -1) {\n this.clearColumnSelection(startIndex);\n }\n else {\n var selectingArgs = {\n columnIndex: startIndex, headerCell: selectedCol,\n columnIndexes: this.selectedColumnsIndexes,\n column: gObj.getColumnByIndex(startIndex),\n cancel: false, target: this.actualTarget,\n isInteracted: this.isInteracted, previousColumnIndex: this.prevColIndex,\n isCtrlPressed: this.isMultiCtrlRequest, isShiftPressed: this.isMultiShiftRequest\n };\n this.onActionBegin(selectingArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnSelecting);\n if (selectingArgs.cancel) {\n this.disableInteracted();\n return;\n }\n this.updateColSelection(newCol, startIndex);\n selectedCol = this.getselectedCols();\n var selectedArgs = {\n columnIndex: startIndex, headerCell: selectedCol,\n column: gObj.getColumnByIndex(startIndex),\n columnIndexes: this.selectedColumnsIndexes,\n target: this.actualTarget,\n isInteracted: this.isInteracted, previousColumnIndex: this.prevColIndex\n };\n this.onActionComplete(selectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnSelected);\n }\n this.updateColProps(startIndex);\n };\n /**\n * Clear the column selection\n *\n * @param {number} clearIndex - specifies the clearIndex\n * @returns {void}\n */\n Selection.prototype.clearColumnSelection = function (clearIndex) {\n if (this.isColumnSelected) {\n var gObj = this.parent;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clearIndex) && this.selectedColumnsIndexes.indexOf(clearIndex) === -1) {\n return;\n }\n var index = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clearIndex) ? clearIndex :\n this.selectedColumnsIndexes[this.selectedColumnsIndexes.length - 1];\n var column = gObj.getColumnByIndex(index);\n var selectedCol = gObj.getColumnHeaderByUid(column.uid);\n var deselectedArgs = {\n columnIndex: index, headerCell: selectedCol,\n columnIndexes: this.selectedColumnsIndexes,\n column: column,\n cancel: false, target: this.actualTarget,\n isInteracted: this.isInteracted\n };\n var isCanceled = this.columnDeselect(deselectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnDeselecting);\n if (isCanceled) {\n this.disableInteracted();\n return;\n }\n var selectedHeader = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clearIndex) ? [selectedCol] :\n [].slice.call(gObj.getHeaderContent().getElementsByClassName('e-columnselection'));\n var selectedCells = this.getSelectedColumnCells(clearIndex);\n for (var i = 0, len = selectedHeader.length; i < len; i++) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses)([selectedHeader[parseInt(i.toString(), 10)]], false, 'e-columnselection');\n }\n for (var i = 0, len = selectedCells.length; i < len; i++) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses)([selectedCells[parseInt(i.toString(), 10)]], false, 'e-columnselection');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clearIndex)) {\n this.selectedColumnsIndexes.splice(this.selectedColumnsIndexes.indexOf(clearIndex), 1);\n this.parent.getColumns()[parseInt(clearIndex.toString(), 10)].isSelected = false;\n }\n else {\n this.columnDeselect(deselectedArgs, _base_constant__WEBPACK_IMPORTED_MODULE_3__.columnDeselected);\n this.selectedColumnsIndexes = [];\n this.isColumnSelected = false;\n this.parent.getColumns().filter(function (col) { return col.isSelected = false; });\n }\n }\n };\n Selection.prototype.getselectedCols = function () {\n var gObj = this.parent;\n var selectedCol;\n if (this.selectedColumnsIndexes.length > 1) {\n selectedCol = [];\n for (var i = 0; i < this.selectedColumnsIndexes.length; i++) {\n (selectedCol).push(gObj.getColumnHeaderByUid(gObj.getColumnByIndex(this.selectedColumnsIndexes[parseInt(i.toString(), 10)]).uid));\n }\n }\n else {\n selectedCol = gObj.getColumnHeaderByUid(gObj.getColumnByIndex(this.selectedColumnsIndexes[0]).uid);\n }\n return selectedCol;\n };\n Selection.prototype.getSelectedColumnCells = function (clearIndex) {\n var gObj = this.parent;\n var isRowTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.rowTemplate);\n var rows = isRowTemplate ? gObj.getRows() : gObj.getDataRows();\n var seletedcells = [];\n var selectionString = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clearIndex) ? '[aria-colindex=\"' + (clearIndex + 1) + '\"]' : '.e-columnselection';\n for (var i = 0, len = rows.length; i < len; i++) {\n seletedcells = seletedcells.concat([].slice.call(rows[parseInt(i.toString(), 10)].querySelectorAll(selectionString)));\n }\n return seletedcells;\n };\n Selection.prototype.columnDeselect = function (args, event) {\n if (event === 'columnDeselected') {\n delete args.cancel;\n }\n this.onActionComplete(args, event);\n return args.cancel;\n };\n Selection.prototype.updateColProps = function (startIndex) {\n this.prevColIndex = startIndex;\n this.isColumnSelected = this.selectedColumnsIndexes.length && true;\n };\n Selection.prototype.clearColDependency = function () {\n this.clearColumnSelection();\n this.selectedColumnsIndexes = [];\n };\n Selection.prototype.updateColSelection = function (selectedCol, startIndex) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getColumns()[parseInt(startIndex.toString(), 10)])) {\n return;\n }\n var isRowTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.rowTemplate);\n var rows = isRowTemplate ? this.parent.getRows() : this.parent.getDataRows();\n this.selectedColumnsIndexes.push(startIndex);\n this.parent.getColumns()[parseInt(startIndex.toString(), 10)].isSelected = true;\n startIndex = startIndex + this.parent.getIndentCount();\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses)([selectedCol], true, 'e-columnselection');\n for (var j = 0, len = rows.length; j < len; j++) {\n if (rows[parseInt(j.toString(), 10)].classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.row)) {\n if ((rows[parseInt(j.toString(), 10)].classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow)\n || rows[parseInt(j.toString(), 10)].classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.addedRow))\n && this.parent.editSettings.mode === 'Normal'\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rows[parseInt(j.toString(), 10)].querySelector('tr').childNodes[parseInt(startIndex.toString(), 10)])) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses)([rows[parseInt(j.toString(), 10)].querySelector('tr').childNodes[parseInt(startIndex.toString(), 10)]], true, 'e-columnselection');\n }\n else {\n if (this.parent.isSpan && this.parent.isFrozenGrid()) {\n var cells = rows[parseInt(j.toString(), 10)].querySelectorAll('.e-rowcell');\n for (var i = 0; i < cells.length; i++) {\n if (cells[parseInt(i.toString(), 10)].getAttribute('aria-colindex') === selectedCol.getAttribute('aria-colindex')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses)([cells[parseInt(i.toString(), 10)]], true, 'e-columnselection');\n }\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rows[parseInt(j.toString(), 10)].childNodes[parseInt(startIndex.toString(), 10)])) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveActiveClasses)([rows[parseInt(j.toString(), 10)].childNodes[parseInt(startIndex.toString(), 10)]], true, 'e-columnselection');\n }\n }\n }\n }\n };\n Selection.prototype.headerSelectionHandler = function (colIndex) {\n if ((!this.isMultiCtrlRequest && !this.isMultiShiftRequest) || this.isSingleSel()) {\n this.selectColumn(colIndex);\n }\n else if (this.isMultiShiftRequest) {\n this.selectColumnsByRange((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.prevColIndex) ? colIndex : this.prevColIndex, colIndex);\n }\n else {\n this.selectColumnWithExisting(colIndex);\n }\n };\n // eslint-disable-next-line camelcase\n Selection.prototype.addEventListener_checkbox = function () {\n var _this = this;\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataReady, this.dataReady, this);\n this.onDataBoundFunction = this.onDataBound.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, this.onDataBoundFunction);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfinitePersistSelection, this.onDataBoundFunction);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, this.checkBoxSelectionChanged, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeRefreshOnDataChange, this.initPerisistSelection, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.onEmpty, this.setCheckAllForEmptyGrid, this);\n this.actionCompleteFunc = this.actionCompleteHandler.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.actionCompleteFunc);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.click, this.clickHandler, this);\n this.resizeEndFn = function () {\n _this.updateAutoFillPosition();\n _this.drawBorders();\n };\n this.resizeEndFn.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.resizeStop, this.resizeEndFn);\n };\n // eslint-disable-next-line camelcase\n Selection.prototype.removeEventListener_checkbox = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataReady, this.dataReady);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, this.onDataBoundFunction);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.actionCompleteFunc);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfinitePersistSelection, this.onDataBoundFunction);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.onEmpty, this.setCheckAllForEmptyGrid);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.click, this.clickHandler);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.resizeStop, this.resizeEndFn);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeRefreshOnDataChange, this.initPerisistSelection);\n };\n Selection.prototype.setCheckAllForEmptyGrid = function () {\n var checkAllBox = this.getCheckAllBox();\n if (checkAllBox) {\n this.parent.isCheckBoxSelection = true;\n var spanEle = checkAllBox.nextElementSibling;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([spanEle], ['e-check', 'e-stop', 'e-uncheck']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([spanEle.parentElement], ['e-checkbox-disabled']);\n }\n };\n Selection.prototype.dataReady = function (e) {\n this.isHeaderCheckboxClicked = false;\n var isInfinitecroll = this.parent.enableInfiniteScrolling && e.requestType === 'infiniteScroll';\n if (e.requestType !== 'virtualscroll' && !this.parent.isPersistSelection && !isInfinitecroll) {\n this.disableUI = !this.parent.enableImmutableMode && !(e.requestType === 'save' && e['action'] === 'add');\n this.clearSelection();\n this.setCheckAllState();\n this.disableUI = false;\n }\n };\n Selection.prototype.actionCompleteHandler = function (e) {\n if (e.requestType === 'save' && this.parent.isPersistSelection) {\n this.refreshPersistSelection();\n }\n };\n Selection.prototype.selectRowIndex = function (index) {\n this.parent.isSelectedRowIndexUpdating = true;\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.selectedRowIndex) || this.parent.selectedRowIndex === -1) || !this.parent.enablePersistence) {\n this.parent.selectedRowIndex = index;\n }\n else {\n this.parent.selectedRowIndex = -1;\n }\n };\n Selection.prototype.disableInteracted = function () {\n this.isInteracted = false;\n };\n Selection.prototype.activeTarget = function () {\n this.actualTarget = this.isInteracted ? this.actualTarget : null;\n };\n return Selection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/selection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/show-hide.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/show-hide.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ShowHide: () => (/* binding */ ShowHide)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _services_width_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/width-controller */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n\n\n\n\n/**\n * The `ShowHide` module is used to control column visibility.\n */\nvar ShowHide = /** @class */ (function () {\n /**\n * Constructor for the show hide module.\n *\n * @param {IGrid} parent - specifies the IGrid\n * @hidden\n */\n function ShowHide(parent) {\n this.colName = [];\n this.isShowHide = false;\n this.parent = parent;\n this.addEventListener();\n this.widthService = new _services_width_controller__WEBPACK_IMPORTED_MODULE_1__.ColumnWidthService(parent);\n }\n ShowHide.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.batchCancel, handler: this.batchChanges },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.batchCnfrmDlgCancel, handler: this.resetColumnState }\n ];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n ShowHide.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n };\n ShowHide.prototype.batchChanges = function () {\n if (this.isShowHide) {\n this.isShowHide = false;\n this.setVisible(this.colName, this.changedCol);\n this.changedCol = this.colName = [];\n }\n };\n /**\n * Shows a column by column name.\n *\n * @param {string|string[]} columnName - Defines a single or collection of column names to show.\n * @param {string} showBy - Defines the column key either as field name or header text.\n * @returns {void}\n */\n ShowHide.prototype.show = function (columnName, showBy) {\n var keys = this.getToggleFields(columnName);\n var columns = this.getColumns(keys, showBy);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.tooltipDestroy, { module: 'edit' });\n for (var i = 0; i < columns.length; i++) {\n columns[parseInt(i.toString(), 10)].visible = true;\n }\n this.setVisible(columns);\n };\n /**\n * Hides a column by column name.\n *\n * @param {string|string[]} columnName - Defines a single or collection of column names to hide.\n * @param {string} hideBy - Defines the column key either as field name or header text.\n * @returns {void}\n */\n ShowHide.prototype.hide = function (columnName, hideBy) {\n var keys = this.getToggleFields(columnName);\n var columns = this.getColumns(keys, hideBy);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.tooltipDestroy, { module: 'edit' });\n for (var i = 0; i < columns.length; i++) {\n columns[parseInt(i.toString(), 10)].visible = false;\n }\n this.setVisible(columns);\n };\n ShowHide.prototype.getToggleFields = function (key) {\n var finalized = [];\n if (typeof key === 'string') {\n finalized = [key];\n }\n else {\n finalized = key;\n }\n return finalized;\n };\n ShowHide.prototype.getColumns = function (keys, getKeyBy) {\n var _this = this;\n var columns = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.iterateArrayOrObject)(keys, function (key) {\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.iterateArrayOrObject)(_this.parent.columnModel, function (item) {\n if (item[\"\" + getKeyBy] === key) {\n return item;\n }\n return undefined;\n })[0];\n });\n return columns;\n };\n ShowHide.prototype.batchActionPrevent = function (columns, changedStateColumns) {\n if (changedStateColumns === void 0) { changedStateColumns = []; }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isActionPrevent)(this.parent)) {\n this.colName = columns;\n this.changedCol = changedStateColumns;\n this.parent.closeEdit();\n return false;\n }\n return true;\n };\n ShowHide.prototype.resetColumnState = function () {\n if (this.isShowHide) {\n for (var i = 0; i < this.colName.length; i++) {\n this.colName[parseInt(i.toString(), 10)].visible = !this.colName[parseInt(i.toString(), 10)].visible;\n }\n }\n };\n /**\n * Shows or hides columns by given column collection.\n *\n * @private\n * @param {Column[]} columns - Specifies the columns.\n * @param {Column[]} changedStateColumns - specifies the changedStateColumns\n * @returns {void}\n */\n ShowHide.prototype.setVisible = function (columns, changedStateColumns) {\n var _this = this;\n if (changedStateColumns === void 0) { changedStateColumns = []; }\n this.isShowHide = true;\n if (!this.batchActionPrevent(columns, changedStateColumns)) {\n return;\n }\n changedStateColumns = (changedStateColumns.length > 0) ? changedStateColumns : columns;\n var args = {\n requestType: 'columnstate',\n cancel: false,\n columns: changedStateColumns\n };\n var cancel = 'cancel';\n if (this.parent.enableInfiniteScrolling && this.parent.allowGrouping\n && this.parent.groupModule.groupSettings.columns.length > 0) {\n this.parent.contentModule.visibleRows = [];\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, args, function (showHideArgs) {\n var currentViewCols = _this.parent.getColumns();\n columns = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns) ? currentViewCols : columns;\n if (showHideArgs[\"\" + cancel]) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.resetColumns, { showHideArgs: showHideArgs });\n if (columns.length > 0) {\n columns[0].visible = true;\n }\n return;\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroyEditForm, args);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(_this.parent)) {\n _this.parent.contentModule.emptyVcRows();\n }\n var addedRow = _this.parent.element.querySelector('.e-addedrow');\n if (_this.parent.editSettings.showAddNewRow && addedRow) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(addedRow);\n if (_this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling) {\n _this.parent.isAddNewRow = true;\n }\n _this.parent.addNewRowFocus = true;\n _this.parent.isEdit = false;\n }\n if (_this.parent.allowSelection && _this.parent.getSelectedRecords().length &&\n !_this.parent.selectionSettings.persistSelection) {\n _this.parent.clearSelection();\n }\n if (_this.parent.enableColumnVirtualization) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshFrozenPosition, { isModeChg: true });\n }\n else {\n if (_this.parent.isFrozenGrid() && columns.length) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshFrozenPosition, { isModeChg: true });\n }\n else {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnVisibilityChanged, columns);\n }\n }\n var params = {\n requestType: 'columnstate',\n columns: changedStateColumns\n };\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, params);\n var startAdd = !_this.parent.element.querySelector('.e-addedrow');\n if (_this.parent.editSettings.showAddNewRow && startAdd) {\n _this.parent.isEdit = false;\n _this.parent.addRecord();\n if (!(_this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling)) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.showAddNewRowFocus, {});\n }\n }\n if (_this.parent.columnQueryMode !== 'All') {\n _this.parent.refresh();\n }\n });\n if (!this.parent.groupSettings.columns.length) {\n if (this.parent.autoFit) {\n this.parent.preventAdjustColumns();\n }\n else if (this.parent.allowResizing && this.parent.resizeSettings.mode === 'Normal') {\n var isMaxWidth = this.parent.getHeaderTable().style.width.indexOf('px') === -1;\n this.widthService.setWidthToTable(isMaxWidth);\n }\n }\n };\n return ShowHide;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/show-hide.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Sort: () => (/* binding */ Sort)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _services_aria_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/aria-service */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n/**\n *\n * The `Sort` module is used to handle sorting action.\n */\nvar Sort = /** @class */ (function () {\n /**\n * Constructor for Grid sorting module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {SortSettings} sortSettings - specifies the SortSettings\n * @param {string[]} sortedColumns - specifies the string\n * @param {ServiceLocator} locator - specifies the ServiceLocator\n * @hidden\n */\n function Sort(parent, sortSettings, sortedColumns, locator) {\n this.contentRefresh = true;\n this.isModelChanged = true;\n this.aria = new _services_aria_service__WEBPACK_IMPORTED_MODULE_1__.AriaService();\n this.currentTarget = null;\n this.parent = parent;\n this.sortSettings = sortSettings;\n this.sortedColumns = sortedColumns;\n this.serviceLocator = locator;\n this.focus = locator.getService('focus');\n this.addEventListener();\n this.setFullScreenDialog();\n }\n /**\n * The function used to update sortSettings\n *\n * @returns {void}\n * @hidden\n */\n Sort.prototype.updateModel = function () {\n var sortedColumn = { field: this.columnName, direction: this.direction };\n var index;\n var gCols = this.parent.groupSettings.columns;\n var flag = false;\n if (!this.isMultiSort) {\n if (!gCols.length) {\n this.sortSettings.columns = [sortedColumn];\n }\n else {\n var sortedCols = [];\n for (var i = 0, len = gCols.length; i < len; i++) {\n index = this.getSortedColsIndexByField(gCols[parseInt(i.toString(), 10)], sortedCols);\n if (this.columnName === gCols[parseInt(i.toString(), 10)]) {\n flag = true;\n sortedCols.push(sortedColumn);\n }\n else {\n var sCol = this.getSortColumnFromField(gCols[parseInt(i.toString(), 10)]);\n sortedCols.push({ field: sCol.field, direction: sCol.direction, isFromGroup: sCol.isFromGroup });\n }\n }\n if (!flag) {\n sortedCols.push(sortedColumn);\n }\n this.sortSettings.columns = sortedCols;\n }\n }\n else {\n index = this.getSortedColsIndexByField(this.columnName);\n if (index > -1) {\n this.sortSettings.columns.splice(index, 1);\n }\n this.sortSettings.columns.push(sortedColumn);\n // eslint-disable-next-line no-self-assign\n this.sortSettings.columns = this.sortSettings.columns;\n }\n this.parent.dataBind();\n this.lastSortedCol = this.columnName;\n };\n /**\n * The function used to trigger onActionComplete\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Sort.prototype.onActionComplete = function (e) {\n var args = !this.isRemove ? {\n columnName: this.columnName, direction: this.direction, requestType: 'sorting', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete\n } : { requestType: 'sorting', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete };\n this.isRemove = false;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, args));\n };\n /**\n * Sorts a column with the given options.\n *\n * @param {string} columnName - Defines the column name to sort.\n * @param {SortDirection} direction - Defines the direction of sorting field.\n * @param {boolean} isMultiSort - Specifies whether the previously sorted columns are to be maintained.\n * @returns {void}\n */\n Sort.prototype.sortColumn = function (columnName, direction, isMultiSort) {\n var gObj = this.parent;\n if (this.parent.getColumnByField(columnName).allowSorting === false || this.parent.isContextMenuOpen()) {\n this.parent.log('action_disabled_column', { moduleName: this.getModuleName(), columnName: columnName });\n return;\n }\n if (!gObj.allowMultiSorting) {\n isMultiSort = gObj.allowMultiSorting;\n }\n if (this.isActionPrevent()) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventBatch, {\n instance: this, handler: this.sortColumn,\n arg1: columnName, arg2: direction, arg3: isMultiSort\n });\n return;\n }\n this.backupSettings();\n this.columnName = columnName;\n this.direction = direction;\n this.isMultiSort = isMultiSort;\n this.removeSortIcons();\n this.updateSortedCols(columnName, isMultiSort);\n this.updateModel();\n };\n Sort.prototype.setFullScreenDialog = function () {\n if (this.serviceLocator) {\n this.serviceLocator.registerAdaptiveService(this, this.parent.enableAdaptiveUI, _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort);\n }\n };\n Sort.prototype.backupSettings = function () {\n this.lastSortedCols = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.iterateExtend)(this.sortSettings.columns);\n this.lastCols = this.sortedColumns;\n };\n Sort.prototype.restoreSettings = function () {\n this.isModelChanged = false;\n this.isMultiSort = true;\n this.parent.setProperties({ sortSettings: { columns: this.lastSortedCols } }, true);\n //this.parent.sortSettings.columns = this.lastSortedCols;\n this.sortedColumns = this.lastCols;\n this.isModelChanged = true;\n };\n Sort.prototype.updateSortedCols = function (columnName, isMultiSort) {\n if (!isMultiSort) {\n if (this.parent.allowGrouping) {\n for (var i = 0, len = this.sortedColumns.length; i < len; i++) {\n if (this.parent.groupSettings.columns.indexOf(this.sortedColumns[parseInt(i.toString(), 10)]) < 0) {\n this.sortedColumns.splice(i, 1);\n len--;\n i--;\n }\n }\n }\n else {\n this.sortedColumns.splice(0, this.sortedColumns.length);\n }\n }\n if (this.sortedColumns.indexOf(columnName) < 0) {\n this.sortedColumns.push(columnName);\n }\n };\n /**\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n * @hidden\n */\n Sort.prototype.onPropertyChanged = function (e) {\n if (e.module !== this.getModuleName()) {\n return;\n }\n if (this.contentRefresh) {\n var args = this.sortSettings.columns.length ? {\n columnName: this.columnName, direction: this.direction, requestType: 'sorting',\n type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, target: this.currentTarget, cancel: false\n } : {\n requestType: 'sorting', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, cancel: false,\n target: this.currentTarget\n };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.modelChanged, args);\n }\n this.refreshSortSettings();\n this.removeSortIcons();\n this.addSortIcons();\n };\n Sort.prototype.refreshSortSettings = function () {\n this.sortedColumns.length = 0;\n var sortColumns = this.sortSettings.columns;\n for (var i = 0; i < sortColumns.length; i++) {\n if (!sortColumns[parseInt(i.toString(), 10)].isFromGroup) {\n this.sortedColumns.push(sortColumns[parseInt(i.toString(), 10)].field);\n }\n }\n };\n /**\n * Clears all the sorted columns of the Grid.\n *\n * @returns {void}\n */\n Sort.prototype.clearSorting = function () {\n var cols = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getActualPropFromColl)(this.sortSettings.columns);\n if (this.isActionPrevent()) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventBatch, { instance: this, handler: this.clearSorting });\n return;\n }\n for (var i = 0, len = cols.length; i < len; i++) {\n this.removeSortColumn(cols[parseInt(i.toString(), 10)].field);\n }\n };\n Sort.prototype.isActionPrevent = function () {\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isActionPrevent)(this.parent);\n };\n /**\n * Remove sorted column by field name.\n *\n * @param {string} field - Defines the column field name to remove sort.\n * @returns {void}\n * @hidden\n */\n Sort.prototype.removeSortColumn = function (field) {\n var gObj = this.parent;\n var cols = this.sortSettings.columns;\n if (cols.length === 0 && this.sortedColumns.indexOf(field) < 0) {\n return;\n }\n if (this.isActionPrevent()) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventBatch, { instance: this, handler: this.removeSortColumn, arg1: field });\n return;\n }\n this.backupSettings();\n this.removeSortIcons();\n var args = { requestType: 'sorting', type: _base_constant__WEBPACK_IMPORTED_MODULE_2__.actionBegin, target: this.currentTarget };\n for (var i = 0, len = cols.length; i < len; i++) {\n if (cols[parseInt(i.toString(), 10)].field === field) {\n if (gObj.allowGrouping && gObj.groupSettings.columns.indexOf(cols[parseInt(i.toString(), 10)].field) > -1) {\n continue;\n }\n this.sortedColumns.splice(this.sortedColumns.indexOf(cols[parseInt(i.toString(), 10)].field), 1);\n cols.splice(i, 1);\n this.isRemove = true;\n if (this.isModelChanged) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.modelChanged, args);\n }\n break;\n }\n }\n if (!args.cancel) {\n this.addSortIcons();\n }\n };\n Sort.prototype.getSortedColsIndexByField = function (field, sortedColumns) {\n var cols = sortedColumns ? sortedColumns : this.sortSettings.columns;\n for (var i = 0, len = cols.length; i < len; i++) {\n if (cols[parseInt(i.toString(), 10)].field === field) {\n return i;\n }\n }\n return -1;\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Sort.prototype.getModuleName = function () {\n return 'sort';\n };\n Sort.prototype.initialEnd = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, this.initialEnd);\n if (this.parent.getColumns().length && this.sortSettings.columns.length) {\n var gObj = this.parent;\n this.contentRefresh = false;\n this.isMultiSort = this.sortSettings.columns.length > 1;\n for (var _i = 0, _a = gObj.sortSettings.columns.slice(); _i < _a.length; _i++) {\n var col = _a[_i];\n if (this.sortedColumns.indexOf(col.field) > -1) {\n this.sortColumn(col.field, col.direction, true);\n }\n }\n this.isMultiSort = false;\n this.contentRefresh = true;\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Sort.prototype.addEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.setFullScreenDialog, handler: this.setFullScreenDialog },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.renderResponsiveChangeAction, handler: this.renderResponsiveChangeAction },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.contentReady, handler: this.initialEnd },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.sortComplete, handler: this.onActionComplete },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.inBoundModelChanged, handler: this.onPropertyChanged },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.click, handler: this.clickHandler },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.headerRefreshed, handler: this.refreshSortIcons },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.keyPressed, handler: this.keyPressed },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.cancelBegin, handler: this.cancelBeginEvent },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, handler: this.destroy }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document.body, 'click', this.excelFilterSortAction, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document.body, 'touchend', this.excelFilterSortAction, this);\n };\n /**\n * @returns {void}\n * @hidden\n */\n Sort.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document.body, 'click', this.excelFilterSortAction);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document.body, 'touchend', this.excelFilterSortAction);\n };\n Sort.prototype.excelFilterSortAction = function (e) {\n var popUp = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-grid-popup');\n var gridID = this.parent.element.id + '_e-popup';\n if (popUp && popUp.id === gridID && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-excelfilter')) {\n this.excelFilterSortActionHandler(e);\n }\n };\n /**\n * To destroy the sorting\n *\n * @returns {void}\n * @hidden\n */\n Sort.prototype.destroy = function () {\n this.isModelChanged = false;\n var gridElement = this.parent.element;\n if (!gridElement || (!gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.gridHeader) && !gridElement.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.gridContent))) {\n return;\n }\n if (this.parent.element.querySelector('.e-gridpopup').getElementsByClassName('e-sortdirect').length) {\n this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!this.parent.refreshing && (this.parent.isDestroyed || !this.parent.allowSorting)) {\n this.clearSorting();\n }\n this.isModelChanged = true;\n this.removeEventListener();\n };\n Sort.prototype.cancelBeginEvent = function (e) {\n if (e.requestType === 'sorting') {\n this.restoreSettings();\n this.refreshSortIcons();\n this.isMultiSort = true;\n }\n };\n Sort.prototype.clickHandler = function (e) {\n var gObj = this.parent;\n this.currentTarget = null;\n this.popUpClickHandler(e);\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-headercell');\n if (target && !e.target.classList.contains('e-grptogglebtn') &&\n !(target.classList.contains('e-resized')) &&\n !e.target.classList.contains('e-rhandler') &&\n !e.target.classList.contains('e-columnmenu') &&\n !e.target.classList.contains('e-filtermenudiv') &&\n !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-stackedheadercell') &&\n !(gObj.allowSelection && gObj.selectionSettings.allowColumnSelection &&\n e.target.classList.contains('e-headercell'))) {\n var gObj_1 = this.parent;\n var colObj = gObj_1.getColumnByUid(target.querySelector('.e-headercelldiv').getAttribute('e-mappinguid'));\n if (colObj.type !== 'checkbox') {\n this.initiateSort(target, e, colObj);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.showPopUp(e);\n }\n }\n }\n if (target) {\n target.classList.remove('e-resized');\n }\n this.excelFilterSortActionHandler(e);\n };\n Sort.prototype.excelFilterSortActionHandler = function (e) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-excel-ascending') || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-excel-descending')) {\n var colUid = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-filter-popup').getAttribute('uid');\n var direction = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-excel-descending')) ?\n 'Ascending' : 'Descending';\n this.sortColumn(this.parent.getColumnByUid(colUid).field, direction, false);\n }\n };\n Sort.prototype.keyPressed = function (e) {\n var ele = e.target;\n if (!this.parent.isEdit && (e.action === 'enter' || e.action === 'ctrlEnter' || e.action === 'shiftEnter')\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ele, '.e-headercell')) {\n var target = this.focus.getFocusedElement();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) || !target.classList.contains('e-headercell')\n || !target.querySelector('.e-headercelldiv')) {\n return;\n }\n var col = this.parent.getColumnByUid(target.querySelector('.e-headercelldiv').getAttribute('e-mappinguid'));\n this.initiateSort(target, e, col);\n }\n };\n Sort.prototype.initiateSort = function (target, e, column) {\n var gObj = this.parent;\n var field = column.field;\n this.currentTarget = e.target;\n var direction = !target.getElementsByClassName('e-ascending').length ? 'Ascending' :\n 'Descending';\n this.isMultiSort = e.ctrlKey || this.enableSortMultiTouch ||\n (navigator.userAgent.indexOf('Mac OS') !== -1 && e.metaKey);\n if (e.shiftKey || (this.sortSettings.allowUnsort && target.getElementsByClassName('e-descending').length)\n && !(gObj.groupSettings.columns.indexOf(field) > -1)) {\n this.removeSortColumn(field);\n }\n else {\n this.sortColumn(field, direction, this.isMultiSort);\n }\n };\n Sort.prototype.showPopUp = function (e) {\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-headercell');\n if (this.parent.allowMultiSorting && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) || this.parent.isContextMenuOpen())) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.setCssInGridPopUp)(this.parent.element.querySelector('.e-gridpopup'), e, 'e-sortdirect e-icons e-icon-sortdirect' + (this.sortedColumns.length > 1 ? ' e-spanclicked' : ''));\n }\n };\n Sort.prototype.popUpClickHandler = function (e) {\n var target = e.target;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-headercell') || e.target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.rowCell) ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-gridpopup')) {\n if (target.classList.contains('e-sortdirect')) {\n if (!target.classList.contains('e-spanclicked')) {\n target.classList.add('e-spanclicked');\n this.enableSortMultiTouch = true;\n }\n else {\n target.classList.remove('e-spanclicked');\n this.enableSortMultiTouch = false;\n this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n }\n }\n }\n else {\n this.parent.element.querySelector('.e-gridpopup').style.display = 'none';\n }\n };\n Sort.prototype.addSortIcons = function () {\n var gObj = this.parent;\n var header;\n var filterElement;\n var cols = this.sortSettings.columns;\n var fieldNames = this.parent.getColumns().map(function (c) { return c.field; });\n for (var i = 0, len = cols.length; i < len; i++) {\n header = gObj.getColumnHeaderByField(cols[parseInt(i.toString(), 10)].field);\n if (fieldNames.indexOf(cols[parseInt(i.toString(), 10)].field) === -1 || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(header)) {\n continue;\n }\n this.aria.setSort(header, (cols[parseInt(i.toString(), 10)].direction).toLowerCase());\n if (cols.length > 1) {\n header.querySelector('.e-headercelldiv').insertBefore(this.parent.createElement('span', { className: 'e-sortnumber', innerHTML: (i + 1).toString() }), header.querySelector('.e-headertext'));\n }\n filterElement = header.querySelector('.e-sortfilterdiv');\n if (cols[parseInt(i.toString(), 10)].direction === 'Ascending') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(filterElement, ['e-ascending', 'e-icon-ascending'], []);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(filterElement, ['e-descending', 'e-icon-descending'], []);\n }\n }\n };\n Sort.prototype.removeSortIcons = function (position) {\n var gObj = this.parent;\n var header;\n var cols = this.sortSettings.columns;\n var fieldNames = this.parent.getColumns().map(function (c) { return c.field; });\n for (var i = position ? position : 0, len = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(position) ? position + 1 : cols.length; i < len; i++) {\n header = gObj.getColumnHeaderByField(cols[parseInt(i.toString(), 10)].field);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(header) || (gObj.allowGrouping\n && gObj.groupSettings.columns.indexOf(cols[parseInt(i.toString(), 10)].field) > -1\n && !header.querySelector('.e-sortfilterdiv'))) {\n continue;\n }\n if (fieldNames.indexOf(cols[parseInt(i.toString(), 10)].field) === -1) {\n continue;\n }\n this.aria.setSort(header, 'none');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(header.querySelector('.e-sortfilterdiv'), [], ['e-descending', 'e-icon-descending', 'e-ascending', 'e-icon-ascending']);\n if (header.querySelector('.e-sortnumber')) {\n header.querySelector('.e-headercelldiv').removeChild(header.querySelector('.e-sortnumber'));\n }\n }\n };\n Sort.prototype.getSortColumnFromField = function (field) {\n for (var i = 0, len = this.sortSettings.columns.length; i < len; i++) {\n if (this.sortSettings.columns[parseInt(i.toString(), 10)].field === field) {\n return this.sortSettings.columns[parseInt(i.toString(), 10)];\n }\n }\n return false;\n };\n Sort.prototype.updateAriaAttr = function () {\n var fieldNames = this.parent.getColumns().map(function (c) { return c.field; });\n for (var _i = 0, _a = this.sortedColumns; _i < _a.length; _i++) {\n var col = _a[_i];\n if (fieldNames.indexOf(col) === -1) {\n continue;\n }\n var header = this.parent.getColumnHeaderByField(col);\n this.aria.setSort(header, this.getSortColumnFromField(col).direction);\n }\n };\n Sort.prototype.refreshSortIcons = function () {\n this.removeSortIcons();\n this.isMultiSort = true;\n this.removeSortIcons();\n this.addSortIcons();\n this.isMultiSort = false;\n this.updateAriaAttr();\n };\n Sort.prototype.renderResponsiveChangeAction = function (args) {\n this.responsiveDialogRenderer.action = args.action;\n };\n /**\n * To show the responsive custom sort dialog\n *\n * @param {boolean} enable - specifes dialog open\n * @returns {void}\n * @hidden\n */\n Sort.prototype.showCustomSort = function (enable) {\n this.responsiveDialogRenderer.isCustomDialog = enable;\n this.responsiveDialogRenderer.showResponsiveDialog();\n };\n return Sort;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/actions/toolbar.js": +/*!************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/actions/toolbar.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toolbar: () => (/* binding */ Toolbar)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-navigations */ \"./node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-navigations */ \"./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _services_focus_strategy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/focus-strategy */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n *\n * The `Toolbar` module is used to handle ToolBar actions.\n */\nvar Toolbar = /** @class */ (function () {\n function Toolbar(parent, serviceLocator) {\n this.predefinedItems = {};\n this.isSearched = false;\n this.items = ['Add', 'Edit', 'Update', 'Delete', 'Cancel', 'Print', 'Search',\n 'ColumnChooser', 'PdfExport', 'ExcelExport', 'CsvExport', 'WordExport'];\n this.isRightToolbarMenu = false;\n this.parent = parent;\n this.gridID = parent.element.id;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n }\n Toolbar.prototype.render = function () {\n this.l10n = this.serviceLocator.getService('localization');\n var preItems = ['Add', 'Edit', 'Update', 'Delete', 'Cancel', 'Print',\n 'PdfExport', 'ExcelExport', 'WordExport', 'CsvExport'];\n var isAdaptive = this.parent.enableAdaptiveUI;\n var excludingItems = ['Edit', 'Delete', 'Update', 'Cancel'];\n for (var _i = 0, preItems_1 = preItems; _i < preItems_1.length; _i++) {\n var item = preItems_1[_i];\n var itemStr = item.toLowerCase();\n var localeName = itemStr[0].toUpperCase() + itemStr.slice(1);\n this.predefinedItems[\"\" + item] = {\n id: this.gridID + '_' + itemStr, prefixIcon: 'e-' + itemStr,\n text: this.l10n.getConstant(localeName), tooltipText: this.l10n.getConstant(localeName)\n };\n if (isAdaptive) {\n this.predefinedItems[\"\" + item].text = '';\n this.predefinedItems[\"\" + item].visible = excludingItems.indexOf(item) === -1;\n }\n }\n this.predefinedItems.Search = {\n id: this.gridID + '_search',\n tooltipText: this.l10n.getConstant('Search'), align: 'Right', cssClass: 'e-search-wrapper',\n type: 'Input'\n };\n this.isRightToolbarMenu = false;\n if (this.parent.enableAdaptiveUI && this.isResponsiveToolbarMenuItems(true) && ((this.parent.rowRenderingMode === 'Horizontal') ||\n (this.parent.rowRenderingMode === 'Vertical' && !this.parent.allowFiltering && !this.parent.allowSorting))) {\n this.isRightToolbarMenu = true;\n }\n if (isAdaptive && this.isResponsiveToolbarMenuItems(false)) {\n this.predefinedItems.responsiveToolbarItems = {\n id: this.gridID + '_' + 'responsivetoolbaritems', cssClass: 'e-responsive-toolbar-items e-menu-toolbar', suffixIcon: 'e-' + 'responsivetoolbaritems-btn',\n align: this.isRightToolbarMenu ? 'Left' : 'Right'\n };\n }\n else {\n this.predefinedItems.ColumnChooser = {\n id: this.gridID + '_' + 'columnchooser', cssClass: 'e-cc e-ccdiv e-cc-toolbar', suffixIcon: 'e-' + 'columnchooser-btn',\n text: isAdaptive ? '' : this.l10n.getConstant('Columnchooser'),\n tooltipText: this.l10n.getConstant('Columnchooser'), align: 'Right'\n };\n }\n if (this.parent.rowRenderingMode === 'Vertical') {\n if (this.parent.allowFiltering && this.parent.filterSettings.type !== 'FilterBar') {\n this.predefinedItems.responsiveFilter = {\n id: this.gridID + '_' + 'responsivefilter', cssClass: 'e-gridresponsiveicons e-icons',\n suffixIcon: 'e-' + 'resfilter-icon', tooltipText: this.l10n.getConstant('FilterIcon')\n };\n }\n if (this.parent.allowSorting) {\n this.predefinedItems.responsiveSort = {\n id: this.gridID + '_' + 'responsivesort', cssClass: 'e-gridresponsiveicons e-icons',\n suffixIcon: 'e-' + 'ressort-icon', tooltipText: this.l10n.getConstant('SortIcon')\n };\n }\n }\n if (this.parent.enableAdaptiveUI && this.parent.toolbar && this.parent.toolbar.some(function (item) {\n return (typeof item === 'object' && item.text === 'Search') || item === 'Search';\n })) {\n this.predefinedItems.responsiveBack = {\n id: this.gridID + '_' + 'responsiveback', cssClass: 'e-gridresponsiveicons e-icons',\n suffixIcon: 'e-' + 'resback-icon', visible: false\n };\n }\n this.createToolbar();\n if (this.parent.enableAdaptiveUI) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.responsiveToolbarMenu)) {\n this.renderResponsiveToolbarpopup();\n }\n if (this.toolbar.element) {\n this.toolbar.refreshOverflow();\n }\n }\n };\n Toolbar.prototype.isResponsiveToolbarMenuItems = function (isRight) {\n var items = isRight ? ['Add', 'Edit', 'Delete', 'Search'] : ['Print', 'ColumnChooser', 'PdfExport', 'ExcelExport', 'CsvExport'];\n var toolbarItems = this.parent.toolbar || [];\n for (var i = 0; i < items.length; i++) {\n if (toolbarItems.indexOf(items[parseInt(i.toString(), 10)]) >= 0) {\n return isRight ? false : true;\n }\n }\n return isRight ? true : false;\n };\n /**\n * Gets the toolbar of the Grid.\n *\n * @returns {Element} returns the element\n * @hidden\n */\n Toolbar.prototype.getToolbar = function () {\n return this.toolbar.element;\n };\n /**\n * Destroys the ToolBar.\n *\n * @function destroy\n * @returns {void}\n */\n Toolbar.prototype.destroy = function () {\n if (this.toolbar && !this.toolbar.isDestroyed) {\n if (this.responsiveToolbarMenu) {\n this.responsiveToolbarMenu.destroy();\n }\n this.toolbar.off('render-react-toolbar-template', this.addReactToolbarPortals);\n this.unWireEvent();\n this.removeEventListener();\n this.toolbar.created = null;\n this.toolbar.clicked = null;\n if (!this.toolbar.element) {\n this.parent.destroyTemplate(['toolbarTemplate']);\n if (this.parent.isReact) {\n this.parent.renderTemplates();\n }\n }\n else {\n this.toolbar.destroy();\n }\n if (this.parent.isAngular) {\n var viewStr = 'viewContainerRef';\n var registerTemp = 'registeredTemplate';\n this.toolbar[\"\" + viewStr] = null;\n this.toolbar[\"\" + registerTemp] = null;\n }\n if (this.element.parentNode) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n this.toolbar = null;\n }\n }\n };\n Toolbar.prototype.bindSearchEvents = function () {\n this.searchElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + this.gridID + '_searchbar', this.element);\n this.wireEvent();\n this.refreshToolbarItems();\n if (this.parent.searchSettings) {\n this.updateSearchBox();\n }\n };\n Toolbar.prototype.toolbarCreated = function (isNormal) {\n if (this.element.querySelector('.e-search-wrapper')) {\n if (!this.parent.enableAdaptiveUI || isNormal) {\n var classList = this.parent.cssClass ? 'e-input-group e-search ' + this.parent.cssClass\n : 'e-input-group e-search';\n this.element.querySelector('.e-search-wrapper').innerHTML = '
      \\\n \\\n \\\n \\\n
      ';\n }\n else {\n this.element.querySelector('.e-search-wrapper').innerHTML = '\\\n \\\n ';\n }\n this.element.querySelector('#' + this.gridID + '_clearbutton').style.cursor = 'default';\n }\n if (this.element.querySelector('.e-responsive-toolbar-items')) {\n this.element.querySelector('.e-responsive-toolbar-items').innerHTML = '\n *
      \n * \n * ```\n *\n */\n Grid.prototype.changeDataSource = function (dataSource, columns) {\n this.isChangeDataSourceCall = true;\n this.setProperties({ sortSettings: { columns: [] } }, true);\n this.setProperties({ filterSettings: { columns: [] } }, true);\n this.setProperties({ searchSettings: { key: '' } }, true);\n if (this.allowGrouping) {\n this.setProperties({ groupSettings: { columns: [] } }, true);\n }\n if (columns && columns.length) {\n this.setProperties({ columns: columns }, true);\n }\n if (dataSource) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns)) {\n this.setProperties({ columns: [] }, true);\n }\n this.setProperties({ dataSource: dataSource }, true);\n }\n this.freezeRefresh();\n this.isChangeDataSourceCall = false;\n };\n /**\n * Clears all the sorted columns of the Grid.\n *\n * @returns {void}\n */\n Grid.prototype.clearSorting = function () {\n if (this.sortModule) {\n this.sortModule.clearSorting();\n }\n };\n /**\n * Remove sorted column by field name.\n *\n * @param {string} field - Defines the column field name to remove sort.\n * @returns {void}\n * @hidden\n */\n Grid.prototype.removeSortColumn = function (field) {\n if (this.sortModule) {\n this.sortModule.removeSortColumn(field);\n }\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.clearGridActions = function () {\n this.setProperties({ sortSettings: { columns: [] } }, true);\n this.setProperties({ filterSettings: { columns: [] } }, true);\n this.setProperties({ searchSettings: { key: '' } }, true);\n if (this.allowGrouping) {\n this.setProperties({ groupSettings: { columns: [] } }, false);\n }\n else {\n this.freezeRefresh();\n }\n };\n /**\n * Filters grid row by column name with the given options.\n *\n * @param {string} fieldName - Defines the field name of the column.\n * @param {string} filterOperator - Defines the operator to filter records.\n * @param {string | number | Date | boolean} filterValue - Defines the value used to filter records.\n * @param {string} predicate - Defines the relationship between one filter query and another by using AND or OR predicate.\n * @param {boolean} matchCase - If match case is set to true, the grid filters the records with exact match. if false, it filters case\n * insensitive records (uppercase and lowercase letters treated the same).\n * @param {boolean} ignoreAccent - If ignoreAccent set to true,\n * then filter ignores the diacritic characters or accents while filtering.\n * @param {string} actualFilterValue - Defines the actual filter value for the filter column.\n * @param {string} actualOperator - Defines the actual filter operator for the filter column.\n *\n * @returns {void}\n */\n Grid.prototype.filterByColumn = function (fieldName, filterOperator, filterValue, predicate, matchCase, ignoreAccent, actualFilterValue, actualOperator) {\n if (this.filterModule) {\n this.filterModule.filterByColumn(fieldName, filterOperator, filterValue, predicate, matchCase, ignoreAccent, actualFilterValue, actualOperator);\n }\n };\n /**\n * Clears all the filtered rows of the Grid.\n *\n * @param {string[]} fields - Defines the Fields\n * @returns {void}\n */\n Grid.prototype.clearFiltering = function (fields) {\n if (this.filterModule) {\n this.filterModule.clearFiltering(fields);\n }\n };\n /**\n * Removes filtered column by field name.\n *\n * @param {string} field - Defines column field name to remove filter.\n * @param {boolean} isClearFilterBar - Specifies whether the filter bar value needs to be cleared.\n * @returns {void}\n * @hidden\n */\n Grid.prototype.removeFilteredColsByField = function (field, isClearFilterBar) {\n if (this.filterModule) {\n this.filterModule.removeFilteredColsByField(field, isClearFilterBar);\n }\n };\n /**\n * Selects a row by given index.\n *\n * @param {number} index - Defines the row index.\n * @param {boolean} isToggle - If set to true, then it toggles the selection.\n *\n * @returns {void}\n */\n Grid.prototype.selectRow = function (index, isToggle) {\n if (this.selectionModule) {\n this.selectionModule.selectRow(index, isToggle);\n }\n };\n /**\n * Selects a collection of rows by indexes.\n *\n * @param {number[]} rowIndexes - Specifies the row indexes.\n *\n * @returns {void}\n */\n Grid.prototype.selectRows = function (rowIndexes) {\n if (this.selectionModule) {\n this.selectionModule.selectRows(rowIndexes);\n }\n };\n /**\n * Deselects the current selected rows and cells.\n *\n * @returns {void}\n */\n Grid.prototype.clearSelection = function () {\n if (this.selectionModule) {\n this.selectionModule.clearSelection();\n }\n };\n /**\n * Selects a cell by the given index.\n *\n * @param {IIndex} cellIndex - Defines the row and column indexes.\n * @param {boolean} isToggle - If set to true, then it toggles the selection.\n *\n * @returns {void}\n */\n Grid.prototype.selectCell = function (cellIndex, isToggle) {\n if (this.selectionModule) {\n this.selectionModule.selectCell(cellIndex, isToggle);\n }\n };\n /**\n * Selects a range of cells from start and end indexes.\n *\n * @param {IIndex} startIndex - Specifies the row and column's start index.\n * @param {IIndex} endIndex - Specifies the row and column's end index.\n *\n * @returns {void}\n */\n Grid.prototype.selectCellsByRange = function (startIndex, endIndex) {\n this.selectionModule.selectCellsByRange(startIndex, endIndex);\n };\n /**\n * Searches Grid records using the given key.\n * You can customize the default search option by using the\n * [`searchSettings`](./#searchsettings/).\n *\n * @param {string} searchString - Defines the key.\n *\n * @returns {void}\n */\n Grid.prototype.search = function (searchString) {\n if (this.searchModule) {\n this.searchModule.search(searchString);\n }\n };\n /**\n * By default, prints all the pages of the Grid and hides the pager.\n * > You can customize print options using the\n * [`printMode`](./#printmode).\n *\n * @returns {void}\n */\n Grid.prototype.print = function () {\n if (this.printModule) {\n this.printModule.print();\n }\n };\n /**\n * Delete a record with Given options. If fieldname and data is not given then grid will delete the selected record.\n * > `editSettings.allowDeleting` should be true.\n *\n * @param {string} fieldname - Defines the primary key field, 'Name of the column'.\n * @param {Object} data - Defines the JSON data of the record to be deleted.\n * @returns {void}\n */\n Grid.prototype.deleteRecord = function (fieldname, data) {\n if (this.editModule) {\n this.editModule.deleteRecord(fieldname, data);\n }\n };\n /**\n * Starts edit the selected row. At least one row must be selected before invoking this method.\n * `editSettings.allowEditing` should be true.\n * {% codeBlock src='grid/startEdit/index.md' %}{% endcodeBlock %}\n *\n * @returns {void}\n */\n Grid.prototype.startEdit = function () {\n if (this.editModule) {\n this.editModule.startEdit();\n }\n };\n /**\n * If Grid is in editable state, you can save a record by invoking endEdit.\n *\n * @returns {void}\n */\n Grid.prototype.endEdit = function () {\n if (this.editModule) {\n this.editModule.endEdit();\n }\n };\n /**\n * Cancels edited state.\n *\n * @returns {void}\n */\n Grid.prototype.closeEdit = function () {\n if (this.editModule) {\n this.editModule.closeEdit();\n }\n };\n /**\n * Adds a new record to the Grid. Without passing parameters, it adds empty rows.\n * > `editSettings.allowEditing` should be true.\n *\n * @param {Object} data - Defines the new add record data.\n * @param {number} index - Defines the row index to be added\n * @returns {void}\n */\n Grid.prototype.addRecord = function (data, index) {\n if (this.editModule) {\n this.editModule.addRecord(data, index);\n }\n };\n /**\n * Delete any visible row by TR element.\n *\n * @param {HTMLTableRowElement} tr - Defines the table row element.\n * @returns {void}\n */\n Grid.prototype.deleteRow = function (tr) {\n if (this.editModule) {\n this.editModule.deleteRow(tr);\n }\n };\n /**\n * Changes a particular cell into edited state based on the row index and field name provided in the `batch` mode.\n *\n * @param {number} index - Defines row index to edit a particular cell.\n * @param {string} field - Defines the field name of the column to perform batch edit.\n *\n * @returns {void}\n */\n Grid.prototype.editCell = function (index, field) {\n if (this.editModule) {\n this.editModule.editCell(index, field);\n }\n };\n /**\n * Saves the cell that is currently edited. It does not save the value to the DataSource.\n *\n * @returns {void}\n * {% codeBlock src='grid/saveCell/index.md' %}{% endcodeBlock %}\n */\n Grid.prototype.saveCell = function () {\n if (this.editModule) {\n this.editModule.saveCell();\n }\n };\n /**\n * To update the specified cell by given value without changing into edited state.\n *\n * @param {number} rowIndex Defines the row index.\n * @param {string} field Defines the column field.\n * @param {string | number | boolean | Date} value - Defines the value to be changed.\n *\n * @returns {void}\n */\n Grid.prototype.updateCell = function (rowIndex, field, value) {\n if (this.editModule) {\n this.editModule.updateCell(rowIndex, field, value);\n }\n };\n /**\n * To update the specified row by given values without changing into edited state.\n *\n * {% codeBlock src='grid/updateRow/index.md' %}{% endcodeBlock %}\n *\n * @param {number} index Defines the row index.\n * @param {Object} data Defines the data object to be updated.\n *\n * @returns {void}\n */\n Grid.prototype.updateRow = function (index, data) {\n if (this.editModule) {\n this.editModule.updateRow(index, data);\n }\n };\n /**\n * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.\n *\n * @returns {Object} Returns the batch changes\n */\n Grid.prototype.getBatchChanges = function () {\n if (this.editModule) {\n return this.editModule.getBatchChanges();\n }\n return {};\n };\n /**\n * Enables or disables ToolBar items.\n *\n * @param {string[]} items - Defines the collection of itemID of ToolBar items.\n * @param {boolean} isEnable - Defines the items to be enabled or disabled.\n *\n * @returns {void}\n */\n Grid.prototype.enableToolbarItems = function (items, isEnable) {\n if (this.toolbarModule) {\n this.toolbarModule.enableItems(items, isEnable);\n }\n };\n /**\n * Copy the selected rows or cells data into clipboard.\n *\n * @param {boolean} withHeader - Specifies whether the column header text needs to be copied along with rows or cells.\n * @returns {void}\n */\n Grid.prototype.copy = function (withHeader) {\n if (this.clipboardModule) {\n this.clipboardModule.copy(withHeader);\n }\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.recalcIndentWidth = function () {\n var _this_1 = this;\n if (!this.getHeaderTable().querySelector('.e-emptycell')) {\n return;\n }\n if ((!this.groupSettings.columns.length && !this.isDetail() && !this.isRowDragable()) ||\n this.getHeaderTable().querySelector('.e-emptycell.e-indentRefreshed') ||\n !this.getContentTable()) {\n return;\n }\n var indentWidth = this.getHeaderTable().querySelector('.e-emptycell').parentElement.offsetWidth;\n var headerCol = [].slice.call(this.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.colGroup).childNodes);\n var contentCol = [].slice.call(this.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.colGroup).childNodes);\n var perPixel = indentWidth / 30;\n var i = this.getFrozenMode() === 'Right' ? this.groupSettings.columns.length + this.getColumns().length : 0;\n var parentOffset = this.element.offsetWidth;\n var applyWidth = function (index, width) {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_9__.ispercentageWidth)(_this_1)) {\n var newWidth = (width / parentOffset * 100).toFixed(1) + '%';\n headerCol[parseInt(index.toString(), 10)].style.width = newWidth;\n contentCol[parseInt(index.toString(), 10)].style.width = newWidth;\n }\n else {\n headerCol[parseInt(index.toString(), 10)].style.width = width + 'px';\n contentCol[parseInt(index.toString(), 10)].style.width = width + 'px';\n }\n _this_1.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.columnWidthChanged, { index: index, width: width });\n };\n if (perPixel >= 1) {\n indentWidth = (30 / perPixel);\n }\n if (indentWidth < 1) {\n indentWidth = 1;\n }\n if (this.enableColumnVirtualization || this.isAutoGen || (this.columns.length === this.groupSettings.columns.length)) {\n indentWidth = 30;\n }\n while (i < this.groupSettings.columns.length) {\n applyWidth(i, indentWidth);\n i++;\n }\n if (this.isDetail()) {\n applyWidth(i, indentWidth);\n i++;\n }\n if (this.isRowDragable()) {\n applyWidth(i, indentWidth);\n }\n this.isAutoGen = false;\n this.getHeaderTable().querySelector('.e-emptycell').classList.add('e-indentRefreshed');\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.resetIndentWidth = function () {\n if (this.isDestroyed) {\n return;\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_9__.ispercentageWidth)(this)) {\n this.getHeaderTable().querySelector('.e-emptycell').classList.remove('e-indentRefreshed');\n this.widthService.setWidthToColumns();\n this.recalcIndentWidth();\n if (this.autoFit) {\n this.preventAdjustColumns();\n }\n }\n if ((this.width === 'auto' || typeof (this.width) === 'string' && this.width.indexOf('%') !== -1)\n && this.getColumns().filter(function (col) { return (!col.width || col.width === 'auto') && col.minWidth; }).length > 0) {\n var tgridWidth = this.widthService.getTableWidth(this.getColumns(), true);\n this.widthService.setMinwidthBycalculation(tgridWidth);\n }\n if (this.isFrozenGrid() && this.enableColumnVirtualization && this.widthService) {\n this.widthService.refreshFrozenScrollbar();\n }\n if (this.allowTextWrap && this.textWrapSettings.wrapMode !== 'Content') {\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshHandlers, {});\n }\n if (this.frozenRows && this.scrollModule) {\n this.scrollModule.resizeFrozenRowBorder();\n }\n if (this.enableStickyHeader) {\n this.scrollModule.makeStickyHeader();\n }\n if (this.enableAutoFill && this.selectionSettings.type === 'Multiple' &&\n this.selectionSettings.mode === 'Cell' && this.selectionModule.selectedRowCellIndexes.length) {\n this.selectionModule.updateAutoFillPosition();\n this.selectionModule.drawBorders();\n }\n };\n /**\n * @hidden\n * @returns {boolean} Returns isRowDragable\n */\n Grid.prototype.isRowDragable = function () {\n return this.allowRowDragAndDrop && !this.rowDropSettings.targetID;\n };\n /**\n * Changes the Grid column positions by field names.\n *\n * @param {string} fromFName - Defines the origin field name.\n * @param {string} toFName - Defines the destination field name.\n *\n * @returns {void}\n */\n Grid.prototype.reorderColumns = function (fromFName, toFName) {\n if (this.reorderModule) {\n this.reorderModule.reorderColumns(fromFName, toFName);\n }\n };\n /**\n * Changes the Grid column positions by field index. If you invoke reorderColumnByIndex multiple times,\n * then you won't get the same results every time.\n *\n * @param {number} fromIndex - Defines the origin field index.\n * @param {number} toIndex - Defines the destination field index.\n *\n * @returns {void}\n */\n Grid.prototype.reorderColumnByIndex = function (fromIndex, toIndex) {\n if (this.reorderModule) {\n this.reorderModule.reorderColumnByIndex(fromIndex, toIndex);\n }\n };\n /**\n * Changes the Grid column positions by field index. If you invoke reorderColumnByTargetIndex multiple times,\n * then you will get the same results every time.\n *\n * @param {string} fieldName - Defines the field name.\n * @param {number} toIndex - Defines the destination field index.\n *\n * @returns {void}\n */\n Grid.prototype.reorderColumnByTargetIndex = function (fieldName, toIndex) {\n if (this.reorderModule) {\n this.reorderModule.reorderColumnByTargetIndex(fieldName, toIndex);\n }\n };\n /**\n * Changes the Grid Row position with given indexes.\n *\n * @param {number} fromIndexes - Defines the origin Indexes.\n * @param {number} toIndex - Defines the destination Index.\n *\n * @returns {void}\n */\n Grid.prototype.reorderRows = function (fromIndexes, toIndex) {\n if (this.rowDragAndDropModule) {\n this.rowDragAndDropModule.reorderRows(fromIndexes, toIndex);\n }\n };\n /**\n * @param {ReturnType} e - Defines the Return type\n * @returns {void}\n * @hidden\n */\n Grid.prototype.refreshDataSource = function (e) {\n this.notify('refreshdataSource', e);\n };\n /**\n * @param {boolean} enable -Defines the enable\n * @returns {void}\n * @hidden\n */\n Grid.prototype.disableRowDD = function (enable) {\n var headerTable = this.getHeaderTable();\n var contentTable = this.getContentTable();\n var headerRows = headerTable.querySelectorAll('th.e-rowdragheader, th.e-mastercell');\n var rows = this.getRows();\n var disValue = enable ? 'none' : '';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(headerTable.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.colGroup).childNodes[0], { 'display': disValue });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(contentTable.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.colGroup).childNodes[0], { 'display': disValue });\n for (var i = 0; i < this.getRows().length; i++) {\n var ele = rows[parseInt(i.toString(), 10)].firstElementChild;\n if (enable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ele], 'e-hide');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([ele], ['e-hide']);\n }\n }\n for (var j = 0; j < headerTable.querySelectorAll('th.e-rowdragheader, th.e-mastercell').length; j++) {\n var ele = headerRows[parseInt(j.toString(), 10)];\n if (enable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ele], 'e-hide');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([ele], ['e-hide']);\n }\n }\n };\n /**\n * Changes the column width to automatically fit its content to ensure that the width shows the content without wrapping/hiding.\n * > * This method ignores the hidden columns.\n * > * Uses the `autoFitColumns` method in the `dataBound` event to resize at initial rendering.\n * > * By specifying the start row index and end row index, providing the range within which the maximum width for that column should be considered when applying `autoFitColumns`.\n * > * The width of header rows is always calculated. If the width of a header row exceeds the specified range, its width will be allocated to the specific content rows.\n *\n * @param {string |string[]} fieldNames - Defines the column names.\n * @param {number} startRowIndex - Specifies the start index of the content row.\n * @param {number} endRowIndex - Specifies the end index of content row.\n * @returns {void}\n *\n *\n * ```typescript\n *
      \n * \n * ```\n *\n */\n Grid.prototype.autoFitColumns = function (fieldNames, startRowIndex, endRowIndex) {\n var injectedModules = this.getInjectedModules();\n var resize = injectedModules.find(function (item) {\n if (typeof item === 'function' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item.prototype)) {\n return item.prototype.getModuleName() === 'resize';\n }\n else {\n return item.name === 'Resize';\n }\n });\n if (!this.resizeModule && resize) {\n this.autoFitColumnsResize = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.injectModules();\n }\n if (this.resizeModule) {\n this.resizeModule.autoFitColumns(fieldNames, startRowIndex, endRowIndex);\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Grid.prototype.preventAdjustColumns = function () {\n if ((this.enableAdaptiveUI && this.rowRenderingMode === 'Vertical')\n || (this.allowResizing && this.resizeSettings.mode === 'Auto')) {\n return;\n }\n var columns = this.getColumns();\n var headerTable = this.getHeaderTable();\n var tableWidth = 0;\n for (var i = 0; i < columns.length; i++) {\n if (columns[parseInt(i.toString(), 10)].visible) {\n if (this.groupSettings.columns.length\n && this.groupSettings.columns.indexOf(columns[parseInt(i.toString(), 10)].field) > -1) {\n var headerCol = [].slice.call(headerTable.querySelector('colgroup')\n .querySelectorAll(':not(.e-group-intent):not(.e-detail-intent):not(.e-drag-intent)'));\n if (headerCol[parseInt(i.toString(), 10)].style.display === 'none') {\n continue;\n }\n }\n if (columns[parseInt(i.toString(), 10)].width) {\n tableWidth += parseFloat(columns[parseInt(i.toString(), 10)].width.toString());\n }\n else {\n tableWidth = 0;\n break;\n }\n }\n }\n if (tableWidth) {\n var percentageWidth = this.isPercentageWidthGrid();\n var unit = this.widthUnit(percentageWidth);\n var contentTable = this.getContentTable();\n if (this.groupSettings.columns.length || this.isDetail() || this.isRowDragable()) {\n var indentWidth = this.defaultIndentWidth(percentageWidth);\n var indentWidthUnitFormat = indentWidth.toString() + unit;\n var headerIndentCol = [].slice.call(headerTable.querySelector('colgroup')\n .querySelectorAll('.e-group-intent, .e-detail-intent, .e-drag-intent'));\n var contentIndentCol = [].slice.call(contentTable.querySelector('colgroup')\n .querySelectorAll('.e-group-intent, .e-detail-intent, .e-drag-intent'));\n for (var i = 0; i < headerIndentCol.length; i++) {\n headerIndentCol[parseInt(i.toString(), 10)].style.setProperty('width', indentWidthUnitFormat);\n contentIndentCol[parseInt(i.toString(), 10)].style.setProperty('width', indentWidthUnitFormat);\n tableWidth += indentWidth;\n }\n }\n if ((percentageWidth && tableWidth < 100)\n || (!percentageWidth && tableWidth < contentTable.parentElement.clientWidth)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(contentTable.querySelector('.e-emptyrow'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([headerTable], ['e-tableborder']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([contentTable], ['e-tableborder']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([headerTable, contentTable], ['e-tableborder']);\n }\n }\n var tableWidthUnitFormat = tableWidth.toString() + unit;\n headerTable.style.setProperty('width', tableWidthUnitFormat);\n contentTable.style.setProperty('width', tableWidthUnitFormat);\n }\n else {\n this.restoreAdjustColumns();\n }\n };\n Grid.prototype.restoreAdjustColumns = function () {\n if ((this.enableAdaptiveUI && this.rowRenderingMode === 'Vertical')\n || (this.allowResizing && this.resizeSettings.mode === 'Auto')) {\n return;\n }\n var headerTable = this.getHeaderTable();\n var contentTable = this.getContentTable();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([headerTable, contentTable], ['e-tableborder']);\n headerTable.style.removeProperty('width');\n contentTable.style.removeProperty('width');\n if (this.groupSettings.columns.length || this.isDetail() || this.isRowDragable()) {\n var percentageWidth = this.isPercentageWidthGrid();\n var indentWidthUnitFormat_1 = this.defaultIndentWidth(percentageWidth).toString() + this.widthUnit(percentageWidth);\n var headerIndentCol = [].slice.call(headerTable.querySelector('colgroup')\n .querySelectorAll('.e-group-intent, .e-detail-intent, .e-drag-intent'));\n headerIndentCol.forEach(function (element) {\n element.style.setProperty('width', indentWidthUnitFormat_1);\n });\n headerTable.querySelector('.e-emptycell').classList.remove('e-indentRefreshed');\n this.recalcIndentWidth();\n }\n };\n Grid.prototype.widthUnit = function (percentageWidth) {\n return percentageWidth ? '%' : 'px';\n };\n Grid.prototype.defaultIndentWidth = function (percentageWidth) {\n return percentageWidth ? parseFloat((30 / this.element.offsetWidth * 100).toFixed(1)) : 30;\n };\n Grid.prototype.isPercentageWidthGrid = function () {\n var column = this.getColumns().find(function (col) { return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.width); });\n return column ? column.width.toString().indexOf('%') > -1 : false;\n };\n /**\n * @param {number} x - Defines the number\n * @param {number} y - Defines the number\n * @param {Element} target - Defines the Element\n * @returns {void}\n * @hidden\n */\n Grid.prototype.createColumnchooser = function (x, y, target) {\n if (this.columnChooserModule) {\n this.columnChooserModule.renderColumnChooser(x, y, target);\n }\n };\n Grid.prototype.initializeServices = function () {\n this.serviceLocator.register('widthService', this.widthService = new _services_width_controller__WEBPACK_IMPORTED_MODULE_16__.ColumnWidthService(this));\n this.serviceLocator.register('cellRendererFactory', new _services_cell_render_factory__WEBPACK_IMPORTED_MODULE_17__.CellRendererFactory);\n this.serviceLocator.register('rendererFactory', new _services_renderer_factory__WEBPACK_IMPORTED_MODULE_18__.RendererFactory);\n this.serviceLocator.register('localization', this.localeObj = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getModuleName(), this.defaultLocale, this.locale));\n this.serviceLocator.register('valueFormatter', this.valueFormatterService = new _services_value_formatter__WEBPACK_IMPORTED_MODULE_19__.ValueFormatter(this.locale));\n this.serviceLocator.register('showHideService', this.showHider = new _actions_show_hide__WEBPACK_IMPORTED_MODULE_20__.ShowHide(this));\n this.serviceLocator.register('ariaService', this.ariaService = new _services_aria_service__WEBPACK_IMPORTED_MODULE_21__.AriaService());\n this.serviceLocator.register('focus', this.focusModule = new _services_focus_strategy__WEBPACK_IMPORTED_MODULE_22__.FocusStrategy(this));\n };\n Grid.prototype.processModel = function () {\n var gCols = this.groupSettings.columns;\n var sCols = this.sortSettings.columns;\n var flag;\n var j;\n if (this.allowGrouping) {\n var _loop_3 = function (i, len) {\n flag = false;\n j = 0;\n for (var sLen = sCols.length; j < sLen; j++) {\n if (sCols[parseInt(j.toString(), 10)].field === gCols[parseInt(i.toString(), 10)]) {\n flag = true;\n break;\n }\n }\n if (!flag) {\n sCols.push({ field: gCols[parseInt(i.toString(), 10)], direction: 'Ascending', isFromGroup: true });\n }\n else {\n if (this_3.allowSorting) {\n this_3.sortedColumns.push(sCols[parseInt(j.toString(), 10)].field);\n }\n else {\n sCols[parseInt(j.toString(), 10)].direction = 'Ascending';\n }\n }\n if (!this_3.groupSettings.showGroupedColumn) {\n var column = this_3.enableColumnVirtualization ?\n this_3.columns.filter(function (c) { return c.field === gCols[parseInt(i.toString(), 10)]; })[0]\n : this_3.getColumnByField(gCols[parseInt(i.toString(), 10)]);\n if (column) {\n column.visible = false;\n }\n else {\n this_3.log('initial_action', { moduleName: 'group', columnName: gCols[parseInt(i.toString(), 10)] });\n }\n }\n };\n var this_3 = this;\n for (var i = 0, len = gCols.length; i < len; i++) {\n _loop_3(i, len);\n }\n }\n if (!gCols.length) {\n for (var i = 0; i < sCols.length; i++) {\n this.sortedColumns.push(sCols[parseInt(i.toString(), 10)].field);\n }\n }\n this.rowTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.rowTemplate);\n this.emptyRecordTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.emptyRecordTemplate);\n this.detailTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.detailTemplate);\n this.editTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.editSettings.template);\n this.editHeaderTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.editSettings.headerTemplate);\n this.editFooterTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.editSettings.footerTemplate);\n this.columnChooserTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.columnChooserSettings.template);\n this.columnChooserHeaderTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.columnChooserSettings.headerTemplate);\n this.columnChooserFooterTemplateFn = (0,_util__WEBPACK_IMPORTED_MODULE_9__.templateCompiler)(this.columnChooserSettings.footerTemplate);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parentDetails)) {\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parentDetails.parentKeyFieldValue) ? 'undefined' :\n this.parentDetails.parentKeyFieldValue;\n this.query.where(this.queryString, 'equal', value, true);\n }\n this.initForeignColumn();\n };\n Grid.prototype.initForeignColumn = function () {\n if (this.isForeignKeyEnabled(this.getColumns())) {\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.initForeignKeyColumn, this.getForeignKeyColumns());\n }\n };\n Grid.prototype.enableVerticalRendering = function () {\n if (this.rowRenderingMode === 'Vertical') {\n this.element.classList.add('e-row-responsive');\n }\n else {\n this.element.classList.remove('e-row-responsive');\n }\n };\n Grid.prototype.gridRender = function () {\n var _a;\n this.updateRTL();\n if (this.rowRenderingMode === 'Vertical') {\n this.element.classList.add('e-row-responsive');\n }\n if (this.enableHover) {\n this.element.classList.add('e-gridhover');\n }\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent) || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isSafari()) {\n this.element.classList.add('e-mac-safari');\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.element.classList.add('e-device');\n if (this.adaptiveUIMode === 'Desktop') {\n this.enableAdaptiveUI = false;\n }\n }\n if (this.adaptiveUIMode === 'Mobile' && !(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || this.rowRenderingMode === 'Vertical')) {\n this.enableAdaptiveUI = false;\n }\n if (this.rowHeight) {\n this.element.classList.add('e-grid-min-height');\n }\n if (this.cssClass) {\n if (this.cssClass.indexOf(' ') !== -1) {\n (_a = this.element.classList).add.apply(_a, this.cssClass.split(' '));\n }\n else {\n this.element.classList.add(this.cssClass);\n }\n }\n // If the below if statement is removed, then drag and drop between grids will not work in firefox browser.\n if (this.allowRowDragAndDrop && this.rowDropSettings.targetID && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'mozilla') {\n this.element.classList.add('e-disableuserselect');\n }\n if (this.editSettings.showAddNewRow && (this.enableVirtualization || this.enableInfiniteScrolling)) {\n this.editSettings.newRowPosition = 'Top';\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.element, ['e-responsive', 'e-default'], []);\n var rendererFactory = this.serviceLocator.getService('rendererFactory');\n this.headerModule = rendererFactory.getRenderer(_enum__WEBPACK_IMPORTED_MODULE_23__.RenderType.Header);\n this.contentModule = rendererFactory.getRenderer(_enum__WEBPACK_IMPORTED_MODULE_23__.RenderType.Content);\n this.printModule = new _actions_print__WEBPACK_IMPORTED_MODULE_24__.Print(this, this.scrollModule);\n this.clipboardModule = new _actions_clipboard__WEBPACK_IMPORTED_MODULE_25__.Clipboard(this, this.serviceLocator);\n this.renderModule.render();\n this.eventInitializer();\n this.createGridPopUpElement();\n this.widthService.setWidthToColumns();\n this.updateGridLines();\n this.applyTextWrap();\n this.createTooltip(); //for clip mode ellipsis\n this.enableBoxSelection();\n };\n Grid.prototype.dataReady = function () {\n this.scrollModule.setWidth();\n this.scrollModule.setHeight();\n if (this.height !== 'auto') {\n this.scrollModule.setPadding();\n }\n };\n Grid.prototype.updateRTL = function () {\n if (this.enableRtl) {\n this.element.classList.add('e-rtl');\n }\n else {\n this.element.classList.remove('e-rtl');\n }\n };\n Grid.prototype.createGridPopUpElement = function () {\n var popup = this.createElement('div', { className: 'e-gridpopup' });\n popup.style.display = 'none';\n var content = this.createElement('div', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.content, attrs: { tabIndex: '-1' } });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([content, this.createElement('div', { className: 'e-uptail e-tail' })], popup);\n content.appendChild(this.createElement('span'));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([content, this.createElement('div', { className: 'e-downtail e-tail' })], popup);\n this.element.appendChild(popup);\n };\n Grid.prototype.updateGridLines = function () {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.element, [], ['e-verticallines', 'e-horizontallines', 'e-hidelines', 'e-bothlines']);\n switch (this.gridLines) {\n case 'Horizontal':\n this.element.classList.add('e-horizontallines');\n break;\n case 'Vertical':\n this.element.classList.add('e-verticallines');\n break;\n case 'None':\n this.element.classList.add('e-hidelines');\n break;\n case 'Both':\n this.element.classList.add('e-bothlines');\n break;\n }\n this.updateResizeLines();\n };\n Grid.prototype.updateResizeLines = function () {\n if (this.allowResizing &&\n !(this.gridLines === 'Vertical' || this.gridLines === 'Both')) {\n this.element.classList.add('e-resize-lines');\n }\n else {\n this.element.classList.remove('e-resize-lines');\n }\n };\n /**\n * The function is used to apply text wrap\n *\n * @returns {void}\n * @hidden\n */\n Grid.prototype.applyTextWrap = function () {\n if (this.allowTextWrap) {\n var headerRows = [].slice.call(this.element.getElementsByClassName('e-columnheader'));\n switch (this.textWrapSettings.wrapMode) {\n case 'Header':\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.element, false);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.getContent(), false);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(headerRows, true);\n break;\n case 'Content':\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.getContent(), true);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.element, false);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(headerRows, false);\n break;\n default:\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.element, true);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.getContent(), false);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(headerRows, false);\n }\n if (this.textWrapSettings.wrapMode !== 'Content') {\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshHandlers, {});\n }\n }\n };\n /**\n * The function is used to remove text wrap\n *\n * @returns {void}\n * @hidden\n */\n Grid.prototype.removeTextWrap = function () {\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.element, false);\n var headerRows = [].slice.call(this.element.getElementsByClassName('e-columnheader'));\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(headerRows, false);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.wrap)(this.getContent(), false);\n if (this.textWrapSettings.wrapMode !== 'Content') {\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshHandlers, {});\n }\n };\n /**\n * The function is used to add Tooltip to the grid cell that has ellipsiswithtooltip clip mode.\n *\n * @returns {void}\n * @hidden\n */\n Grid.prototype.createTooltip = function () {\n this.toolTipObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_26__.Tooltip({\n opensOn: 'custom',\n content: '',\n cssClass: this.cssClass ? this.cssClass : null\n }, this.element);\n };\n /** @hidden\n * @returns {void}\n */\n Grid.prototype.freezeRefresh = function () {\n if (this.enableVirtualization || this.enableInfiniteScrolling) {\n this.pageSettings.currentPage = 1;\n }\n this.componentRefresh();\n };\n Grid.prototype.getTooltipStatus = function (element) {\n var headerTable = this.getHeaderTable();\n var headerDivTag = this.enableAdaptiveUI && this.rowRenderingMode === 'Vertical' ? 'e-gridcontent' : 'e-gridheader';\n var htable = this.createTable(headerTable, headerDivTag, 'header');\n var ctable = this.createTable(headerTable, headerDivTag, 'content');\n var table = element.classList.contains('e-headercell') ? htable : ctable;\n var ele = element.classList.contains('e-headercell') ? 'th' : 'tr';\n table.querySelector(ele).className = element.className;\n var targetElement = table.querySelector(ele);\n targetElement.innerHTML = '';\n Array.from(element.childNodes).forEach(function (child) {\n targetElement.appendChild(child.cloneNode(true));\n });\n var width = table.querySelector(ele).getBoundingClientRect().width;\n document.body.removeChild(htable);\n document.body.removeChild(ctable);\n if ((width > element.getBoundingClientRect().width && !element.classList.contains('e-editedbatchcell')) ||\n (this.enableAdaptiveUI && this.rowRenderingMode === 'Vertical' &&\n width > (element.getBoundingClientRect().width * 0.55) - (this.height !== 'auto' ? 16 : 0))) {\n // 0.55 - defines the width of adaptive content cell, 16 - defines the scrollbar width\n return true;\n }\n return false;\n };\n Grid.prototype.mouseMoveHandler = function (e) {\n if (this.isEllipsisTooltip()) {\n var element = (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-ellipsistooltip');\n if (e.type === 'mouseout' && (this.prevElement !== element || element !== (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.relatedTarget, 'e-ellipsistooltip'))) {\n this.toolTipObj.close();\n this.prevElement = null;\n }\n var tagName = e.target.tagName;\n var elemNames = ['A', 'BUTTON', 'INPUT'];\n if (element && e.type !== 'mouseout' && !(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && elemNames.indexOf(tagName) !== -1)) {\n if (this.getTooltipStatus(element)) {\n var col = this.getColumns()[parseInt(element.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.ariaColIndex), 10) - 1];\n var domSetter = col && col.disableHtmlEncode ? 'innerText' : 'innerHTML';\n var contentDiv = this.createElement('div');\n if (element.getElementsByClassName('e-headertext').length) {\n var innerElement = element.getElementsByClassName('e-headertext')[0];\n contentDiv[\"\" + domSetter] = this.sanitize(innerElement.innerText);\n this.toolTipObj.content = contentDiv;\n }\n else {\n contentDiv[\"\" + domSetter] = this.sanitize(element.innerText);\n this.toolTipObj.content = contentDiv;\n }\n if (this.enableHtmlSanitizer) {\n this.toolTipObj.enableHtmlSanitizer = true;\n }\n if (col && col.disableHtmlEncode) {\n this.toolTipObj.enableHtmlParse = false;\n }\n if (element !== this.prevElement) {\n this.toolTipObj['open'](element);\n }\n this.prevElement = element;\n }\n }\n }\n };\n Grid.prototype.isEllipsisTooltip = function () {\n var cols = this.getColumns();\n if (this.clipMode === 'EllipsisWithTooltip') {\n return true;\n }\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].clipMode === 'EllipsisWithTooltip') {\n return true;\n }\n }\n return false;\n };\n Grid.prototype.scrollHandler = function () {\n if (this.isEllipsisTooltip()) {\n this.toolTipObj.close();\n }\n };\n /**\n * To create table for ellipsiswithtooltip\n *\n * @param {Element} table - Defines the table\n * @param {string} tag - Defines the tag\n * @param {string} type - Defines the type\n * @returns {HTMLDivElement} Returns the HTML div ELement\n * @hidden\n */\n Grid.prototype.createTable = function (table, tag, type) {\n var myTableDiv = this.createElement('div');\n myTableDiv.className = this.element.className;\n myTableDiv.style.cssText = 'display: inline-block;visibility:hidden;position:absolute';\n var mySubDiv = this.createElement('div');\n mySubDiv.className = tag;\n var myTable = this.createElement('table');\n myTable.className = table.className;\n myTable.style.cssText = 'table-layout: auto;width: auto';\n var ele = (type === 'header') ? 'th' : 'td';\n var myTr = this.createElement('tr', { attrs: { role: 'row' } });\n var mytd = this.createElement(ele);\n myTr.appendChild(mytd);\n myTable.appendChild(myTr);\n mySubDiv.appendChild(myTable);\n myTableDiv.appendChild(mySubDiv);\n document.body.appendChild(myTableDiv);\n return myTableDiv;\n };\n Grid.prototype.onKeyPressed = function (e) {\n if (e.action === 'tab' || e.action === 'shiftTab') {\n this.toolTipObj.close();\n }\n };\n /**\n * Binding events to the element while component creation.\n *\n * @hidden\n * @returns {void}\n */\n Grid.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'click', this.mouseClickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'touchend', this.mouseClickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusout', this.focusOutHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'dblclick', this.dblClickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keydown', this.keyPressHandler, this);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'resize', this.resetIndentWidth, this);\n if (this.allowKeyboard) {\n this.element.tabIndex = this.element.tabIndex === -1 ? 0 : this.element.tabIndex;\n }\n this.keyboardModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.element, {\n keyAction: this.keyActionHandler.bind(this),\n keyConfigs: this.keyConfigs,\n eventName: 'keydown'\n });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.getContent().firstElementChild, 'scroll', this.scrollHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mouseover', this.mouseMoveHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mouseout', this.mouseMoveHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.getContent(), 'touchstart', this.tapEvent, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document.body, 'keydown', this.keyDownHandler, this);\n };\n /**\n * Unbinding events from the element while component destroy.\n *\n * @hidden\n * @returns {void}\n */\n Grid.prototype.unwireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'click', this.mouseClickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'touchend', this.mouseClickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusout', this.focusOutHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'dblclick', this.dblClickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.getContent().firstElementChild, 'scroll', this.scrollHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseover', this.mouseMoveHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseout', this.mouseMoveHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keydown', this.keyPressHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.getContent(), 'touchstart', this.tapEvent);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document.body, 'keydown', this.keyDownHandler);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'resize', this.resetIndentWidth);\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.addListener = function () {\n if (this.isDestroyed) {\n return;\n }\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.dataReady, this.dataReady, this);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.contentReady, this.recalcIndentWidth, this);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.headerRefreshed, this.recalcIndentWidth, this);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshFrozenPosition, this.refreshFrozenPosition, this);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshSplitFrozenColumn, this.refreshSplitFrozenColumn, this);\n this.dataBoundFunction = this.refreshMediaCol.bind(this);\n this.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_8__.dataBound, this.dataBoundFunction);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.keyPressed, this.onKeyPressed, this);\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.removeListener = function () {\n if (this.isDestroyed) {\n return;\n }\n this.off(_base_constant__WEBPACK_IMPORTED_MODULE_8__.dataReady, this.dataReady);\n this.off(_base_constant__WEBPACK_IMPORTED_MODULE_8__.contentReady, this.recalcIndentWidth);\n this.off(_base_constant__WEBPACK_IMPORTED_MODULE_8__.headerRefreshed, this.recalcIndentWidth);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshFrozenPosition, this.refreshFrozenPosition, this);\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshSplitFrozenColumn, this.refreshSplitFrozenColumn, this);\n this.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_8__.dataBound, this.dataBoundFunction);\n this.off(_base_constant__WEBPACK_IMPORTED_MODULE_8__.keyPressed, this.onKeyPressed);\n };\n /**\n * Get current visible data of grid.\n *\n * @returns {Object[]} Returns the current view records\n *\n * @isGenericType true\n */\n Grid.prototype.getCurrentViewRecords = function () {\n if ((0,_util__WEBPACK_IMPORTED_MODULE_9__.isGroupAdaptive)(this)) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.currentViewData.records) ?\n this.currentViewData : this.currentViewData.records;\n }\n if (this.groupSettings.enableLazyLoading) {\n return this.currentViewData;\n }\n return (this.allowGrouping && this.groupSettings.columns.length && this.currentViewData.length\n && this.currentViewData.records) ? this.currentViewData.records\n : this.currentViewData;\n };\n Grid.prototype.mouseClickHandler = function (e) {\n if (this.isChildGrid(e) || ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-gridpopup') && e.touches) ||\n this.element.getElementsByClassName('e-cloneproperties').length || this.checkEdit(e)) {\n return;\n }\n if (((!this.allowRowDragAndDrop && ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.gridContent) ||\n e.target.tagName === 'TD')) || ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-headercell') &&\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-headercell').querySelector('.e-checkselectall')) ||\n (!(this.allowGrouping || this.allowReordering) && (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-gridheader'))) &&\n e.touches) {\n return;\n }\n if ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-gridheader') && this.allowRowDragAndDrop &&\n !((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-filterbarcell')) && (e.target &&\n ['A', 'BUTTON', 'INPUT'].indexOf(e.target.tagName) === -1)) {\n e.preventDefault();\n }\n var args = this.getRowInfo(e.target);\n var cancel = 'cancel';\n args[\"\" + cancel] = false;\n var isDataRow = false;\n var tr = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n if (tr && tr.getAttribute('data-uid')) {\n var rowObj = this.getRowObjectFromUID(tr.getAttribute('data-uid'));\n isDataRow = rowObj ? rowObj.isDataRow : false;\n }\n if (isDataRow) {\n this.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_8__.recordClick, args);\n }\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.click, e);\n };\n Grid.prototype.checkEdit = function (e) {\n var tr = (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.row);\n var isEdit = this.editSettings.mode !== 'Batch' &&\n this.isEdit && tr && (tr.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.editedRow) || (tr.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.addedRow)) &&\n !this.editSettings.showAddNewRow);\n return !(0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-unboundcelldiv') && (isEdit || ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.rowCell) &&\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.rowCell).classList.contains('e-editedbatchcell')));\n };\n Grid.prototype.dblClickHandler = function (e) {\n var grid = (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-grid');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(grid) || grid.id !== this.element.id || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-unboundcelldiv')) {\n return;\n }\n var dataRow = false;\n var tr = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'tr');\n if (tr && tr.getAttribute('data-uid')) {\n var rowObj = this.getRowObjectFromUID(tr.getAttribute('data-uid'));\n dataRow = rowObj ? rowObj.isDataRow : false;\n }\n var args = this.getRowInfo(e.target);\n args.target = e.target;\n if (dataRow) {\n this.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_8__.recordDoubleClick, args);\n }\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.dblclick, e);\n };\n Grid.prototype.focusOutHandler = function (e) {\n if (this.isChildGrid(e)) {\n return;\n }\n if (!(0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-grid')) {\n this.element.querySelector('.e-gridpopup').style.display = 'None';\n }\n var filterClear = this.element.querySelector('.e-cancel:not(.e-hide)');\n if (filterClear && !filterClear.parentElement.classList.contains('e-tbar-btn')) {\n filterClear.classList.add('e-hide');\n }\n var relatedTarget = e.relatedTarget;\n var ariaOwns = relatedTarget ? relatedTarget.getAttribute('aria-owns') : null;\n if ((!relatedTarget || (!(0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-grid') &&\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ariaOwns) &&\n (ariaOwns)) !== e.target.getAttribute('aria-owns')))\n && !this.keyPress && this.isEdit && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if (this.editSettings.mode === 'Batch' && !((((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-ddl') || (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-ddt')) &&\n ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-multi-select-list-wrapper') || (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-input-filter'))) &&\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-input-group')) && ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-uploader') || (!(relatedTarget &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(relatedTarget, 'e-input-group'))) && !(0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'edit-custom-template')))) {\n this.editModule.saveCell();\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.editNextValCell, {});\n }\n if (this.editSettings.mode === 'Normal' && !this.isWidgetsDestroyed) {\n this.editModule.editFormValidate();\n }\n }\n if (this.editSettings.showAddNewRow) {\n this.editModule.isShowAddedRowValidate = false;\n }\n this.keyPress = false;\n };\n Grid.prototype.isChildGrid = function (e) {\n var gridElement = (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-grid');\n if ((gridElement && gridElement.id !== this.element.id) || ((0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-unboundcelldiv') &&\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridElement))) {\n return true;\n }\n return false;\n };\n /**\n * @param {Object} persistedData - Defines the persisted data\n * @returns {void}\n * @hidden\n */\n Grid.prototype.mergePersistGridData = function (persistedData) {\n var data = this.getLocalData();\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data) || (data === '')) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(persistedData)) {\n var dataObj = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(persistedData) ? persistedData : JSON.parse(data);\n var keys = Object.keys(dataObj);\n this.isProtectedOnChange = true;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if ((typeof this[\"\" + key] === 'object') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this[\"\" + key])) {\n if (Array.isArray(this[\"\" + key]) && key === 'columns') {\n this.setFrozenCount();\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.setColumnIndex)(this[\"\" + key]);\n this.mergeColumns(dataObj[\"\" + key], this[\"\" + key]);\n this.mergedColumns = true;\n this[\"\" + key] = dataObj[\"\" + key];\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this[\"\" + key], dataObj[\"\" + key]);\n }\n }\n else {\n this[\"\" + key] = dataObj[\"\" + key];\n }\n }\n this.isProtectedOnChange = false;\n }\n };\n Grid.prototype.mergeColumns = function (storedColumn, columns) {\n var storedColumns = storedColumn;\n var isFrozenGrid = this.isFrozenGrid();\n var _loop_4 = function (i) {\n var localCol = columns.filter(function (tCol) { return isFrozenGrid ?\n tCol.index === storedColumns[parseInt(i.toString(), 10)][\"\" + _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.initialFrozenColumnIndex] :\n tCol.index === storedColumns[parseInt(i.toString(), 10)].index; })[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(localCol)) {\n if (isFrozenGrid) {\n localCol = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, localCol, {}, true);\n localCol.freeze = storedColumns[parseInt(i.toString(), 10)].freeze;\n }\n if (localCol.columns && localCol.columns.length) {\n this_4.mergeColumns(storedColumns[parseInt(i.toString(), 10)].columns, localCol.columns);\n storedColumns[parseInt(i.toString(), 10)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(localCol, storedColumns[parseInt(i.toString(), 10)], {}, true);\n }\n else {\n storedColumns[parseInt(i.toString(), 10)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(localCol, storedColumns[parseInt(i.toString(), 10)], {}, true);\n }\n }\n };\n var this_4 = this;\n for (var i = 0; i < storedColumns.length; i++) {\n _loop_4(i);\n }\n };\n /**\n * @hidden\n * @returns {boolean} Returns the isDetail\n */\n Grid.prototype.isDetail = function () {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.detailTemplate) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.childGrid);\n };\n Grid.prototype.isCommandColumn = function (columns) {\n var _this_1 = this;\n return columns.some(function (col) {\n if (col.columns) {\n return _this_1.isCommandColumn(col.columns);\n }\n return !!(col.commands || col.commandsTemplate);\n });\n };\n Grid.prototype.isForeignKeyEnabled = function (columns) {\n var _this_1 = this;\n return columns.some(function (col) {\n if (col.columns) {\n return _this_1.isForeignKeyEnabled(col.columns);\n }\n return !!(col.dataSource && col.foreignKeyValue);\n });\n };\n Grid.prototype.keyPressHandler = function (e) {\n var presskey = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, { cancel: false });\n this.trigger('keyPressed', presskey);\n if (presskey.cancel === true || (this.isEdit && e && (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-gridform') &&\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(e.target, 'e-ddl') && e.action === 'open' && e.altKey === true && e.code === 'ArrowDown')) {\n e.stopImmediatePropagation();\n }\n };\n Grid.prototype.keyDownHandler = function (e) {\n if (e.altKey) {\n if (e.keyCode === 74) { //alt j\n if (this.keyA) { //alt A J\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.groupCollapse, { target: e.target, collapse: false });\n this.keyA = false;\n }\n else {\n if (this.focusModule && this.focusModule.currentInfo && this.focusModule.currentInfo.element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.focusModule.currentInfo.element, this.focusModule.currentInfo.elementToFocus], ['e-focused', 'e-focus']);\n this.focusModule.currentInfo.element.tabIndex = -1;\n }\n if (!this.element.classList.contains('e-childgrid')) {\n this.element.focus();\n }\n }\n }\n if (e.keyCode === 87) { //alt w\n var focusModule = this.focusModule;\n if (focusModule) {\n if (!this.currentViewData.length) {\n return;\n }\n focusModule.focusContent();\n focusModule.addOutline();\n }\n }\n if (e.keyCode === 65) { //alt A\n this.keyA = true;\n }\n if (e.keyCode === 72 && this.keyA) { //alt A H\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.groupCollapse, { target: e.target, collapse: true });\n this.keyA = false;\n }\n }\n if (e.keyCode === 13) {\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.enterKeyHandler, e);\n }\n };\n Grid.prototype.keyActionHandler = function (e) {\n if (this.isChildGrid(e) ||\n (this.editModule && ((this.editModule.alertDObj && this.editModule.alertDObj.visible) ||\n (this.editModule.dialogObj && this.editModule.dialogObj.visible))) ||\n ((this.isEdit && (!this.editSettings.showAddNewRow || (this.editSettings.showAddNewRow &&\n this.element.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.editedRow)))) && e.action !== 'escape' && e.action !== 'enter'\n && e.action !== 'shiftEnter' && e.action !== 'tab' && e.action !== 'shiftTab')) {\n return;\n }\n else {\n this.keyPress = true;\n }\n if (this.allowKeyboard) {\n if (e.action === 'ctrlPlusP') {\n e.preventDefault();\n this.print();\n }\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.keyPressed, e);\n }\n };\n /**\n * @param {Function[]} modules - Defines the modules\n * @returns {void}\n * @hidden\n */\n Grid.prototype.setInjectedModules = function (modules) {\n this.injectedModules = modules;\n };\n Grid.prototype.updateColumnObject = function () {\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.prepareColumns)(this.columns, this.enableColumnVirtualization, this);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.setColumnIndex)(this.columns);\n this.initForeignColumn();\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.autoCol, {});\n };\n Grid.prototype.refreshFrozenPosition = function (obj) {\n if (obj && obj.isModeChg) {\n this.refreshColumns();\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.refreshResizePosition, {});\n }\n else {\n this.refreshColumns();\n }\n };\n /**\n * Gets the foreign columns from Grid.\n *\n * @returns {Column[]} Returns Foreign key column\n */\n Grid.prototype.getForeignKeyColumns = function () {\n return this.getColumns().filter(function (col) {\n return col.isForeignColumn();\n });\n };\n /**\n * @hidden\n * @param {boolean} accurateHeight - Defines the accurate row height\n * @returns {number} Returns row height\n */\n Grid.prototype.getRowHeight = function (accurateHeight) {\n return this.rowHeight ? this.rowHeight : (0,_util__WEBPACK_IMPORTED_MODULE_9__.getRowHeight)(this.element, accurateHeight);\n };\n /**\n * Refreshes the Grid column changes.\n *\n * @returns {void}\n */\n Grid.prototype.refreshColumns = function () {\n this.freezeColumnRefresh = true;\n this.setFrozenCount();\n this.updateFrozenColumnsWidth();\n if (this.isFrozenGrid()) {\n this.isPreventScrollEvent = true;\n }\n this.updateColumnObject();\n this.checkLockColumns(this.getColumns());\n this.refresh();\n if (this.isFrozenGrid() && this.enableColumnVirtualization) {\n var left = this.getContent().querySelector('.e-movablescrollbar').scrollLeft;\n this.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.headerContent).scrollLeft = left;\n this.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.content).scrollLeft = left;\n }\n };\n /**\n * Export Grid data to Excel file(.xlsx).\n *\n * @param {ExcelExportProperties} excelExportProperties - Defines the export properties of the Grid.\n * @param {boolean} isMultipleExport - Define to enable multiple export.\n * @param {Workbook} workbook - Defines the Workbook if multiple export is enabled.\n * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.\n * @returns {Promise} Returns the excelexport\n */\n Grid.prototype.excelExport = function (excelExportProperties, isMultipleExport, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n workbook, isBlob) {\n if (this.exportGrids && this.exportGrids.length) {\n var gridIds = this.exportGrids.slice();\n return this.exportMultipleExcelGrids(gridIds, excelExportProperties, isMultipleExport, workbook, isBlob);\n }\n else {\n return this.excelExportModule ?\n this.excelExportModule.Map(this, excelExportProperties, isMultipleExport, workbook, false, isBlob) : null;\n }\n };\n /**\n * Export Grid data to CSV file.\n *\n * @param {ExcelExportProperties} excelExportProperties - Defines the export properties of the Grid.\n * @param {boolean} isMultipleExport - Define to enable multiple export.\n * @param {Workbook} workbook - Defines the Workbook if multiple export is enabled.\n * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.\n * @returns {Promise} Returns csv export\n */\n Grid.prototype.csvExport = function (excelExportProperties, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isMultipleExport, workbook, isBlob) {\n return this.excelExportModule ?\n this.excelExportModule.Map(this, excelExportProperties, isMultipleExport, workbook, true, isBlob) : null;\n };\n /**\n * Export Grid data to PDF document.\n *\n * @param {pdfExportProperties} pdfExportProperties - Defines the export properties of the Grid.\n * @param {isMultipleExport} isMultipleExport - Define to enable multiple export.\n * @param {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.\n * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.\n *\n * @returns {Promise} Returns pdfexport\n */\n Grid.prototype.pdfExport = function (pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {\n if (this.exportGrids && this.exportGrids.length) {\n var gridIds = this.exportGrids.slice();\n return this.exportMultiplePdfGrids(gridIds, pdfExportProperties, isMultipleExport, pdfDoc, isBlob);\n }\n else {\n return this.pdfExportModule ? this.pdfExportModule.Map(this, pdfExportProperties, isMultipleExport, pdfDoc, isBlob) : null;\n }\n };\n Grid.prototype.exportMultiplePdfGrids = function (gridIds, pdfExportProperties, isMultipleExport, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pdfDoc, isBlob) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var _this = this;\n if (gridIds.length !== 0) {\n var currentGridId = gridIds.shift();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var currentGridInstance = document.getElementById(currentGridId).ej2_instances[0];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var exportPromise = currentGridInstance.pdfExportModule ?\n currentGridInstance.pdfExportModule.Map(currentGridInstance, pdfExportProperties, isMultipleExport, pdfDoc, isBlob)\n : Promise.resolve();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return exportPromise.then(function (exportedGridResults) {\n isMultipleExport = gridIds.length === 1 ? false : true;\n return _this.exportMultiplePdfGrids(gridIds, pdfExportProperties, isMultipleExport, exportedGridResults, isBlob);\n });\n }\n return null;\n };\n Grid.prototype.exportMultipleExcelGrids = function (gridIds, excelExportProperties, isMultipleExport, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n workbook, isBlob) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var _this = this;\n if (gridIds.length !== 0) {\n var currentGridId = gridIds.shift();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var currentGridInstance = document.getElementById(currentGridId).ej2_instances[0];\n var exportPromise = currentGridInstance.excelExportModule ?\n currentGridInstance.excelExportModule.Map(currentGridInstance, excelExportProperties, isMultipleExport, workbook, false, isBlob) : null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return exportPromise.then(function (exportedGridResults) {\n isMultipleExport = gridIds.length === 1 ? false : true;\n return _this.exportMultipleExcelGrids(gridIds, excelExportProperties, isMultipleExport, exportedGridResults, isBlob);\n });\n }\n return null;\n };\n /**\n * Groups a column by column name.\n *\n * @param {string} columnName - Defines the column name to group.\n *\n * @returns {void}\n */\n Grid.prototype.groupColumn = function (columnName) {\n if (this.groupModule) {\n this.groupModule.groupColumn(columnName);\n }\n };\n /**\n * Expands all the grouped rows of the Grid.\n *\n * @returns {void}\n */\n Grid.prototype.groupExpandAll = function () {\n if (this.groupModule) {\n this.groupModule.expandAll();\n }\n };\n /**\n * Collapses all the grouped rows of the Grid.\n *\n * @returns {void}\n */\n Grid.prototype.groupCollapseAll = function () {\n if (this.groupModule) {\n this.groupModule.collapseAll();\n }\n };\n /**\n * Expands or collapses grouped rows by target element.\n *\n * @param {Element} target - Defines the target element of the grouped row.\n * @returns {void}\n */\n // public expandCollapseRows(target: Element): void {\n // if (this.groupModule) {\n // this.groupModule.expandCollapseRows(target);\n // }\n // }\n /**\n * Clears all the grouped columns of the Grid.\n *\n * @returns {void}\n */\n Grid.prototype.clearGrouping = function () {\n if (this.groupModule) {\n this.groupModule.clearGrouping();\n }\n };\n /**\n * Ungroups a column by column name.\n *\n * {% codeBlock src='grid/ungroupColumn/index.md' %}{% endcodeBlock %}\n *\n * @param {string} columnName - Defines the column name to ungroup.\n *\n * @returns {void}\n */\n Grid.prototype.ungroupColumn = function (columnName) {\n if (this.groupModule) {\n this.groupModule.ungroupColumn(columnName);\n }\n };\n /**\n * Column chooser can be displayed on screen by given position(X and Y axis).\n *\n * @param {number} x - Defines the X axis.\n * @param {number} y - Defines the Y axis.\n *\n * @returns {void}\n */\n Grid.prototype.openColumnChooser = function (x, y) {\n if (this.columnChooserModule) {\n this.columnChooserModule.openColumnChooser(x, y);\n }\n };\n Grid.prototype.scrollRefresh = function () {\n var _this_1 = this;\n var refresh = function () {\n _this_1.scrollModule.refresh();\n _this_1.off(_base_constant__WEBPACK_IMPORTED_MODULE_8__.contentReady, refresh);\n };\n this.on(_base_constant__WEBPACK_IMPORTED_MODULE_8__.contentReady, refresh, this);\n };\n /**\n * Collapses a detail row with the given target.\n *\n * @param {Element} target - Defines the expanded element to collapse.\n * @returns {void}\n */\n // public detailCollapse(target: number | Element): void {\n // if (this.detailRowModule) {\n // this.detailRowModule.collapse(target);\n // }\n // }\n /**\n * Collapses all the detail rows of the Grid.\n *\n * @returns {void}\n */\n Grid.prototype.detailCollapseAll = function () {\n if (this.detailRowModule) {\n this.detailRowModule.collapseAll();\n }\n };\n /**\n * Expands a detail row with the given target.\n *\n * @param {Element} target - Defines the collapsed element to expand.\n * @returns {void}\n */\n // public detailExpand(target: number | Element): void {\n // if (this.detailRowModule) {\n // this.detailRowModule.expand(target);\n // }\n // }\n /**\n * Expands all the detail rows of the Grid.\n *\n * @returns {void}\n */\n Grid.prototype.detailExpandAll = function () {\n if (this.detailRowModule) {\n this.detailRowModule.expandAll();\n }\n };\n /**\n * Deselects the currently selected cells.\n *\n * @returns {void}\n */\n Grid.prototype.clearCellSelection = function () {\n if (this.selectionModule) {\n this.selectionModule.clearCellSelection();\n }\n };\n /**\n * Deselects the currently selected rows.\n *\n * @returns {void}\n */\n Grid.prototype.clearRowSelection = function () {\n if (this.selectionModule) {\n this.selectionModule.clearRowSelection();\n }\n };\n /**\n * Selects a collection of cells by row and column indexes.\n *\n * @param {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.\n *\n * @returns {void}\n */\n Grid.prototype.selectCells = function (rowCellIndexes) {\n if (this.selectionModule) {\n this.selectionModule.selectCells(rowCellIndexes);\n }\n };\n /**\n * Selects a range of rows from start and end row indexes.\n *\n * @param {number} startIndex - Specifies the start row index.\n * @param {number} endIndex - Specifies the end row index.\n *\n * @returns {void}\n */\n Grid.prototype.selectRowsByRange = function (startIndex, endIndex) {\n if (this.selectionModule) {\n this.selectionModule.selectRowsByRange(startIndex, endIndex);\n }\n };\n /**\n * @hidden\n * @returns {boolean} Returns whether context menu is open or not\n */\n Grid.prototype.isContextMenuOpen = function () {\n return this.contextMenuModule && this.contextMenuModule.isOpen;\n };\n /**\n * @param {Function} module - Defines the module\n * @returns {boolean} return the injected modules\n * @hidden\n */\n Grid.prototype.ensureModuleInjected = function (module) {\n return this.getInjectedModules().indexOf(module) >= 0;\n };\n /**\n * Destroys the given template reference.\n *\n * @param {string[]} propertyNames - Defines the collection of template name.\n * @param {any} index - specifies the index\n *\n * @returns {void}\n */\n // eslint-disable-next-line\n Grid.prototype.destroyTemplate = function (propertyNames, index) {\n this.clearTemplate(propertyNames, index);\n };\n /**\n * @param {string | string[]} type - Defines the type\n * @param {Object} args - Defines the arguments\n * @returns {void}\n * @hidden\n * @private\n */\n Grid.prototype.log = function (type, args) {\n var injectedModules = this.getInjectedModules();\n var logger = injectedModules.find(function (item) { return item.name === 'Logger'; });\n if (!logger) {\n Grid_1.Inject(_actions_logger__WEBPACK_IMPORTED_MODULE_27__.Logger);\n this.enableLogger = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.injectModules();\n }\n // eslint-disable-next-line\n this.loggerModule ? this.loggerModule.log(type, args) : (function () { return 0; })();\n };\n /**\n * @param {Element} element - Defines the element\n * @returns {void}\n * @hidden\n */\n Grid.prototype.applyBiggerTheme = function (element) {\n if (this.element.classList.contains('e-bigger')) {\n element.classList.add('e-bigger');\n }\n };\n /**\n * @hidden\n * @returns {Object} Returns the previous row data\n */\n Grid.prototype.getPreviousRowData = function () {\n var previousRowData = this.getRowsObject()[this.getRows().length - 1].data;\n return previousRowData;\n };\n /**\n * Hides the scrollbar placeholder of Grid content when grid content is not overflown.\n *\n * @returns {void}\n */\n Grid.prototype.hideScroll = function () {\n var content = this.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.content);\n if (content.scrollHeight <= content.clientHeight) {\n this.scrollModule.removePadding();\n content.style.overflowY = 'auto';\n }\n };\n /**\n * Get row index by primary key or row data.\n *\n * @param {string | Object} value - Defines the primary key value.\n *\n * @returns {number} Returns the index\n */\n Grid.prototype.getRowIndexByPrimaryKey = function (value) {\n var pkName = this.getPrimaryKeyFieldNames()[0];\n value = typeof value === 'object' ? value[\"\" + pkName] : value;\n var rows = this.getRowsObject();\n for (var i = 0; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)].isDetailRow || rows[parseInt(i.toString(), 10)].isCaptionRow) {\n continue;\n }\n var pKvalue = rows[parseInt(i.toString(), 10)].data[\"\" + pkName];\n if (pkName.split('.').length > 1) {\n pKvalue = (0,_util__WEBPACK_IMPORTED_MODULE_9__.performComplexDataOperation)(pkName, rows[parseInt(i.toString(), 10)].data);\n }\n if (pKvalue === value) {\n return rows[parseInt(i.toString(), 10)].index;\n }\n }\n return -1;\n };\n /**\n * @param {string} field - Defines the field name\n * @param {boolean} isForeignKey - Defines the foreign key\n * @returns {Column} returns the column\n * @hidden\n */\n // Need to have all columns while filtering with ColumnVirtualization.\n Grid.prototype.grabColumnByFieldFromAllCols = function (field, isForeignKey) {\n var column;\n this.columnModel = [];\n this.updateColumnModel(this.columns);\n var gCols = this.columnModel;\n for (var i = 0; i < gCols.length; i++) {\n if ((!isForeignKey && field === gCols[parseInt(i.toString(), 10)].field) ||\n (isForeignKey && gCols[parseInt(i.toString(), 10)].isForeignColumn() &&\n field === gCols[parseInt(i.toString(), 10)].foreignKeyValue)) {\n column = gCols[parseInt(i.toString(), 10)];\n break;\n }\n }\n return column;\n };\n /**\n * @param {string} uid - Defines the uid\n * @returns {Column} returns the column\n * @hidden\n */\n // Need to have all columns while filtering with ColumnVirtualization.\n Grid.prototype.grabColumnByUidFromAllCols = function (uid) {\n var column;\n this.columnModel = [];\n this.updateColumnModel(this.columns);\n var gCols = this.columnModel;\n for (var i = 0; i < gCols.length; i++) {\n if (uid === gCols[parseInt(i.toString(), 10)].uid) {\n column = gCols[parseInt(i.toString(), 10)];\n }\n }\n return column;\n };\n /**\n * Get all filtered records from the Grid and it returns array of objects for the local dataSource, returns a promise object if the Grid has remote data.\n *\n * @returns {Object[] | Promise} Returns the filtered records\n */\n Grid.prototype.getFilteredRecords = function () {\n if ((this.allowFiltering && this.filterSettings.columns.length) || this.searchSettings.key.length) {\n var query = this.renderModule.data.generateQuery(true);\n if (this.dataSource && this.renderModule.data.isRemote() && this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_11__.DataManager) {\n return this.renderModule.data.getData(this.dataSource, query);\n }\n else {\n if (this.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_11__.DataManager) {\n return this.dataSource.executeLocal(query);\n }\n else {\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_11__.DataManager(this.dataSource, query).executeLocal(query);\n }\n }\n }\n return [];\n };\n Grid.prototype.getUserAgent = function () {\n var userAgent = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.userAgent.toLowerCase();\n return /iphone|ipod|ipad|macintosh/.test(userAgent);\n };\n /**\n * @param {TouchEventArgs} e - Defines the TouchEventArgs\n * @returns {void}\n * @hidden\n */\n // Need to have all columns while filtering with ColumnVirtualization.\n // eslint-disable-next-line\n Grid.prototype.tapEvent = function (e) {\n if (this.getUserAgent()) {\n if (!_util__WEBPACK_IMPORTED_MODULE_9__.Global.timer) {\n _util__WEBPACK_IMPORTED_MODULE_9__.Global.timer = setTimeout(function () {\n _util__WEBPACK_IMPORTED_MODULE_9__.Global.timer = null;\n }, 300);\n }\n else {\n clearTimeout(_util__WEBPACK_IMPORTED_MODULE_9__.Global.timer);\n _util__WEBPACK_IMPORTED_MODULE_9__.Global.timer = null;\n this.dblClickHandler(e);\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.doubleTap, e);\n }\n }\n };\n /**\n * @param {string} prefix - specifies the prefix\n * @returns {string} returns the row uid\n * @hidden\n */\n Grid.prototype.getRowUid = function (prefix) {\n return \"\" + prefix + this.rowUid++;\n };\n /**\n * @param {string} uid - specifies the uid\n * @returns {Element} returns the element\n * @hidden\n */\n Grid.prototype.getRowElementByUID = function (uid) {\n var rowEle;\n var rows = [];\n var cntRows = [].slice.call(this.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody).children);\n if (this.frozenRows) {\n rows = [].slice.call(this.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody).children);\n rows = rows.concat(cntRows);\n }\n else {\n rows = cntRows;\n }\n for (var _i = 0, rows_2 = rows; _i < rows_2.length; _i++) {\n var row = rows_2[_i];\n if (row.getAttribute('data-uid') === uid) {\n rowEle = row;\n break;\n }\n }\n return rowEle;\n };\n /**\n * Gets the hidden columns from the Grid.\n *\n * @returns {Column[]} Returns the Column\n */\n Grid.prototype.getHiddenColumns = function () {\n var cols = [];\n for (var _i = 0, _a = this.columnModel; _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.visible === false) {\n cols.push(col);\n }\n }\n return cols;\n };\n /**\n * Calculates the page size by parent element height\n *\n * @param {number | string } containerHeight - specifies the container height\n * @returns {number} returns the page size\n */\n Grid.prototype.calculatePageSizeByParentHeight = function (containerHeight) {\n if (this.allowPaging) {\n if ((this.allowTextWrap && this.textWrapSettings.wrapMode === 'Header') || (!this.allowTextWrap)) {\n var pagesize = 0;\n if (containerHeight.indexOf('%') !== -1) {\n containerHeight = parseInt(containerHeight, 10) / 100 * this.element.clientHeight;\n }\n var nonContentHeight = this.getNoncontentHeight() + this.getRowHeight();\n if (containerHeight > nonContentHeight) {\n var contentHeight = 0;\n contentHeight = containerHeight - this.getNoncontentHeight();\n pagesize = (contentHeight / this.getRowHeight());\n }\n if (pagesize > 0) {\n return Math.floor(pagesize);\n }\n }\n }\n return 0;\n };\n Grid.prototype.getNoncontentHeight = function () {\n var height = 0;\n if (this.getHeaderContent() && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getHeaderContent().clientHeight)) {\n height += this.getHeaderContent().clientHeight;\n }\n if (this.toolbar && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-toolbar').clientHeight)) {\n height += this.element.querySelector('.e-toolbar').clientHeight;\n }\n if (this.allowPaging && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-gridpager').clientHeight)) {\n height += this.element.querySelector('.e-gridpager').clientHeight;\n }\n if (this.showColumnChooser && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-columnheader').clientHeight)) {\n height += this.element.querySelector('.e-columnheader').clientHeight;\n }\n if (this.allowGrouping && this.groupSettings.showDropArea && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-groupdroparea').clientHeight)) {\n height += this.element.querySelector('.e-groupdroparea').clientHeight;\n }\n if (this.aggregates.length > 0 && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-summaryrow').clientHeight)) {\n for (var i = 0; i < this.element.getElementsByClassName('e-summaryrow').length; i++) {\n height += this.element.getElementsByClassName('e-summaryrow')[parseInt(i.toString(), 10)].clientHeight;\n }\n }\n return height;\n };\n /**\n *To perform aggregate operation on a column.\n *\n * @param {AggregateColumnModel} summaryCol - Pass Aggregate Column details.\n * @param {Object} summaryData - Pass JSON Array for which its field values to be calculated.\n *\n * @returns {number} returns the summary values\n */\n Grid.prototype.getSummaryValues = function (summaryCol, summaryData) {\n return _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_12__.DataUtil.aggregates[summaryCol.type.toLowerCase()](summaryData, summaryCol.field);\n };\n /**\n * Sends a Post request to export Grid to Excel file in server side.\n *\n * @param {string} url - Pass Url for server side excel export action.\n *\n * @param {ExportHeaders} headers - The headers to include in the export request.\n *\n * @returns {void}\n */\n Grid.prototype.serverExcelExport = function (url, headers) {\n this.isExcel = true;\n this.exportGrid(url, headers);\n };\n /**\n * Sends a Post request to export Grid to Pdf file in server side.\n *\n * @param {string} url - Pass Url for server side pdf export action.\n *\n * @param {ExportHeaders} headers - The headers to include in the export request.\n *\n * @returns {void}\n */\n Grid.prototype.serverPdfExport = function (url, headers) {\n this.isExcel = false;\n this.exportGrid(url, headers);\n };\n /**\n * Sends a Post request to export Grid to CSV file in server side.\n *\n * @param {string} url - Pass Url for server side csv export action.\n *\n * @param {ExportHeaders} headers - The headers to include in the export request.\n *\n * @returns {void}\n */\n Grid.prototype.serverCsvExport = function (url, headers) {\n this.isExcel = true;\n this.exportGrid(url, headers);\n };\n /**\n * @param {string} url - Defines exporting url\n * @param {ExportHeaders} headers - The optional headers for the export request.\n * @returns {void}\n * @hidden\n */\n Grid.prototype.exportGrid = function (url, headers) {\n var _this_1 = this;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var grid = this;\n var query = grid.getDataModule().generateQuery(true);\n var state = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_28__.UrlAdaptor().processQuery(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_11__.DataManager({ url: '' }), query);\n var queries = JSON.parse(state.data);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var gridModel = JSON.parse(this.addOnPersist(['allowGrouping', 'allowPaging', 'pageSettings', 'sortSettings', 'allowPdfExport', 'allowExcelExport', 'aggregates',\n 'filterSettings', 'groupSettings', 'columns', 'locale', 'searchSettings']));\n var include = ['field', 'headerText', 'type', 'format', 'visible', 'foreignKeyValue', 'foreignKeyField',\n 'template', 'index', 'width', 'textAlign', 'headerTextAlign', 'columns'];\n gridModel.filterSettings.columns = queries.where;\n gridModel.searchSettings.fields = queries.search && queries.search[0]['fields'] || [];\n gridModel.sortSettings.columns = queries.sorted;\n gridModel.columns = this.setHeaderText(gridModel.columns, include);\n var form = this.createElement('form', { id: 'ExportForm' });\n form.style.display = 'none';\n var gridInput = this.createElement('input', { id: 'gridInput', attrs: { name: 'gridModel' } });\n gridInput.value = JSON.stringify(gridModel);\n form.method = 'POST';\n form.action = url;\n form.appendChild(gridInput);\n if (headers && headers.headers && Array.isArray(headers.headers)) {\n headers.headers.forEach(function (header) {\n Object.keys(header).forEach(function (key) {\n var value = typeof header[\"\" + key] === 'string' ? header[\"\" + key] : JSON.stringify(header[\"\" + key]);\n var headerInput = _this_1.createElement('input', { attrs: { name: key, value: value, type: 'hidden' } });\n form.appendChild(headerInput);\n });\n });\n }\n document.body.appendChild(form);\n form.submit();\n form.remove();\n };\n /**\n * @param {Column[]} columns - Defines array of columns\n * @param {string[]} include - Defines array of sting\n * @returns {Column[]} returns array of columns\n * @hidden\n */\n Grid.prototype.setHeaderText = function (columns, include) {\n for (var i = 0; i < columns.length; i++) {\n var column = this.getColumnByUid(columns[parseInt(i.toString(), 10)].uid);\n columns[parseInt(i.toString(), 10)].headerText = column.headerText;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.template)) {\n columns[parseInt(i.toString(), 10)].template = 'true';\n }\n if (columns[parseInt(i.toString(), 10)].format) {\n columns[parseInt(i.toString(), 10)].format = (0,_util__WEBPACK_IMPORTED_MODULE_9__.getNumberFormat)(this.getFormat(columns[parseInt(i.toString(), 10)].format), columns[parseInt(i.toString(), 10)].type, this.isExcel, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.defaultCurrencyCode);\n }\n if (columns[parseInt(i.toString(), 10)].columns) {\n this.setHeaderText(columns[parseInt(i.toString(), 10)].columns, include);\n }\n var keys = Object.keys(columns[parseInt(i.toString(), 10)]);\n for (var j = 0; j < keys.length; j++) {\n if (include.indexOf(keys[parseInt(j.toString(), 10)]) < 0) {\n delete columns[parseInt(i.toString(), 10)][keys[parseInt(j.toString(), 10)]];\n }\n }\n }\n return columns;\n };\n Grid.prototype.getFormat = function (format) {\n return typeof (format) === 'object' ? !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format.format) ?\n format.format : format.skeleton : format;\n };\n /**\n * @hidden\n * @returns {boolean} returns the isCollapseStateEnabled\n */\n Grid.prototype.isCollapseStateEnabled = function () {\n var isExpanded = 'isExpanded';\n return this[\"\" + isExpanded] === false;\n };\n /**\n * @param {number} key - Defines the primary key value.\n * @param {Object} rowData - Defines the rowData\n * @returns {void}\n */\n Grid.prototype.updateRowValue = function (key, rowData) {\n var args = {\n requestType: 'save', data: rowData\n };\n this.showSpinner();\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.updateData, args);\n this.refresh();\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.setForeignKeyData = function () {\n this.dataBind();\n var colpending = this.getDataModule().getForeignKeyDataState();\n if (colpending.isPending) {\n this.getDataModule().setForeignKeyDataState({});\n colpending.resolver();\n }\n else {\n this.getDataModule().setForeignKeyDataState({ isDataChanged: false });\n if (this.contentModule || this.headerModule) {\n this.renderModule.render();\n }\n }\n };\n /**\n * @param {string} field - specifies the field\n * @returns {void}\n * @hidden\n */\n Grid.prototype.resetFilterDlgPosition = function (field) {\n var header = this.getColumnHeaderByField(field);\n if (header) {\n var target = header.querySelector('.e-filtermenudiv');\n var filterDlg = this.element.querySelector('.e-filter-popup');\n if (target) {\n var gClient = this.element.getBoundingClientRect();\n var fClient = target.getBoundingClientRect();\n if (filterDlg) {\n if ((filterDlg.offsetWidth + fClient.right) > gClient.right) {\n filterDlg.style.left = ((fClient.right - filterDlg.offsetWidth) - gClient.left).toString() + 'px';\n }\n else {\n filterDlg.style.left = (fClient.right - gClient.left).toString() + 'px';\n }\n }\n }\n }\n };\n /**\n * @param {any} callBack - specifies the callBack method\n * @returns {void}\n * @hidden\n */\n // eslint-disable-next-line\n Grid.prototype.renderTemplates = function (callBack) {\n var isReactChild = this.parentDetails && this.parentDetails.parentInstObj && this.parentDetails.parentInstObj.isReact;\n var isReactPrintGrid = this.printGridParent && this.printGridParent.isReact;\n if ((isReactChild || isReactPrintGrid) && this['portals']) {\n var parentInstObj = isReactPrintGrid ? this.printGridParent : this.parentDetails.parentInstObj;\n parentInstObj['portals'] = parentInstObj['portals'].concat(this['portals']);\n parentInstObj.renderTemplates(callBack);\n this['portals'] = undefined;\n }\n else {\n var portals = 'portals';\n this.notify('reactTemplateRender', this[\"\" + portals]);\n this.renderReactTemplates(callBack);\n }\n };\n /**\n * Apply the changes to the Grid without refreshing the rows.\n *\n * @param {BatchChanges} changes - Defines changes to be updated.\n * @returns {void}\n */\n Grid.prototype.batchUpdate = function (changes) {\n this.processRowChanges(changes);\n };\n /**\n * Apply the changes to the Grid in one batch after 50ms without refreshing the rows.\n *\n * @param {BatchChanges} changes - Defines changes to be updated.\n * @returns {void}\n */\n Grid.prototype.batchAsyncUpdate = function (changes) {\n this.processBulkRowChanges(changes);\n };\n Grid.prototype.processBulkRowChanges = function (changes) {\n var _this_1 = this;\n if (!this.dataToBeUpdated) {\n this.dataToBeUpdated = Object.assign({ addedRecords: [], changedRecords: [], deletedRecords: [] }, changes);\n setTimeout(function () {\n _this_1.processRowChanges(_this_1.dataToBeUpdated);\n _this_1.dataToBeUpdated = null;\n }, this.asyncTimeOut);\n }\n else {\n var loopstring = [_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.addedRecords, _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.changedRecords, _base_string_literals__WEBPACK_IMPORTED_MODULE_10__.deletedRecords];\n var keyField = this.getPrimaryKeyFieldNames()[0];\n for (var i = 0; i < loopstring.length; i++) {\n if (changes[loopstring[parseInt(i.toString(), 10)]]) {\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.compareChanges)(this, changes, loopstring[parseInt(i.toString(), 10)], keyField);\n }\n }\n }\n };\n Grid.prototype.processRowChanges = function (changes) {\n var _this_1 = this;\n var keyField = this.getPrimaryKeyFieldNames()[0];\n changes = Object.assign({ addedRecords: [], changedRecords: [], deletedRecords: [] }, changes);\n var promise = this.getDataModule().saveChanges(changes, keyField, {}, this.getDataModule().generateQuery().requiresCount());\n if (this.getDataModule().isRemote()) {\n promise.then(function () {\n _this_1.setNewData();\n });\n }\n else {\n this.setNewData();\n }\n };\n Grid.prototype.setNewData = function () {\n var _this_1 = this;\n var oldValues = JSON.parse(JSON.stringify(this.getCurrentViewRecords()));\n var getData = this.getDataModule().getData({}, this.getDataModule().generateQuery().requiresCount());\n getData.then(function (e) {\n _this_1.bulkRefresh(e.result, oldValues, e.count);\n });\n };\n Grid.prototype.deleteRowElement = function (row) {\n var tr = this.getRowElementByUID(row.uid);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(tr);\n };\n Grid.prototype.bulkRefresh = function (result, oldValues, count) {\n var _this_1 = this;\n var rowObj = this.getRowsObject();\n var keyField = this.getPrimaryKeyFieldNames()[0];\n var _loop_5 = function (i) {\n if (!result.filter(function (e) { return e[\"\" + keyField] === rowObj[parseInt(i.toString(), 10)].data[\"\" + keyField]; }).length) {\n this_5.deleteRowElement(rowObj[parseInt(i.toString(), 10)]);\n rowObj.splice(i, 1);\n i--;\n }\n out_i_1 = i;\n };\n var this_5 = this, out_i_1;\n for (var i = 0; i < rowObj.length; i++) {\n _loop_5(i);\n i = out_i_1;\n }\n var _loop_6 = function (i) {\n var isRowExist;\n oldValues.filter(function (e) {\n if (e[\"\" + keyField] === result[parseInt(i.toString(), 10)][\"\" + keyField]) {\n if (e !== result[parseInt(i.toString(), 10)]) {\n _this_1.setRowData(result[parseInt(i.toString(), 10)][\"\" + keyField], result[parseInt(i.toString(), 10)]);\n }\n isRowExist = true;\n }\n });\n if (!isRowExist) {\n this_6.renderRowElement(result[parseInt(i.toString(), 10)], i);\n }\n };\n var this_6 = this;\n for (var i = 0; i < result.length; i++) {\n _loop_6(i);\n }\n this.currentViewData = result;\n var rows = [].slice.call(this.getContentTable().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.row));\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.resetRowIndex)(this, this.getRowsObject(), rows);\n (0,_util__WEBPACK_IMPORTED_MODULE_9__.setRowElements)(this);\n if (this.allowPaging) {\n this.notify(_base_constant__WEBPACK_IMPORTED_MODULE_8__.inBoundModelChanged, { module: 'pager', properties: { totalRecordsCount: count } });\n }\n };\n Grid.prototype.renderRowElement = function (data, index) {\n var row = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_15__.RowRenderer(this.serviceLocator, null, this);\n var model = new _services_row_model_generator__WEBPACK_IMPORTED_MODULE_29__.RowModelGenerator(this);\n var modelData = model.generateRows([data]);\n var tr = row.render(modelData[0], this.getColumns());\n this.addRowObject(modelData[0], index);\n var tbody = this.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n if (tbody.querySelector('.e-emptyrow')) {\n var emptyRow = tbody.querySelector('.e-emptyrow');\n emptyRow.parentNode.removeChild(emptyRow);\n if (this.frozenRows && this.element.querySelector('.e-frozenrow-empty')) {\n this.element.querySelector('.e-frozenrow-empty').classList.remove('e-frozenrow-empty');\n }\n }\n if (this.frozenRows && index < this.frozenRows) {\n tbody = this.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n }\n else {\n tbody = this.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n }\n tbody = this.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n tbody.appendChild(tr);\n };\n Grid.prototype.addRowObject = function (row, index) {\n this.getRowsObject().splice(index, 1, row);\n };\n /**\n * @hidden\n * @returns {void}\n */\n Grid.prototype.updateVisibleExpandCollapseRows = function () {\n var rows = this.getRowsObject();\n for (var i = 0, len = rows.length; i < len; i++) {\n if ((rows[parseInt(i.toString(), 10)].isDataRow || rows[parseInt(i.toString(), 10)].isAggregateRow)\n && this.getRowElementByUID(rows[parseInt(i.toString(), 10)].uid)\n && this.getRowElementByUID(rows[parseInt(i.toString(), 10)].uid).style.display === 'none') {\n rows[parseInt(i.toString(), 10)].visible = false;\n }\n else {\n rows[parseInt(i.toString(), 10)].visible = true;\n }\n }\n };\n /**\n * Method to sanitize any suspected untrusted strings and scripts before rendering them.\n *\n * @param {string} value - Specifies the html value to sanitize\n * @returns {string} Returns the sanitized html string\n * @hidden\n */\n Grid.prototype.sanitize = function (value) {\n if (this.enableHtmlSanitizer) {\n return _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(value);\n }\n return value;\n };\n /**\n * @param {string | number} height - specifies the height\n * @returns {number | string} - specifies the height number\n * @hidden\n */\n Grid.prototype.getHeight = function (height) {\n if (!Number.isInteger(height) && height.indexOf('%') !== -1) {\n height = parseInt(height, 10) / 100 * this.element.clientHeight;\n }\n else if (!Number.isInteger(height) && this.height !== 'auto') {\n height = parseInt(height, 10);\n }\n else {\n height = this.height;\n }\n return height;\n };\n /**\n * @hidden\n * @returns {Element} - returns frozen right content\n\n */\n Grid.prototype.getFrozenRightContent = function () {\n return this.contentModule.getPanel();\n };\n /**\n * @hidden\n * @returns {Element} - returns frozen right header\n\n */\n Grid.prototype.getFrozenRightHeader = function () {\n return this.headerModule.getPanel();\n };\n /**\n * @hidden\n * @returns {Element} - returns movable header tbody\n\n */\n Grid.prototype.getMovableHeaderTbody = function () {\n return this.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n };\n /**\n * @hidden\n * @returns {Element} - returns movable content tbody\n\n */\n Grid.prototype.getMovableContentTbody = function () {\n return this.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n };\n /**\n * @hidden\n * @returns {Element} - returns frozen header tbody\n\n */\n Grid.prototype.getFrozenHeaderTbody = function () {\n return this.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n };\n /**\n * @hidden\n * @returns {Element} - returns frozen left content tbody\n\n */\n Grid.prototype.getFrozenLeftContentTbody = function () {\n return this.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n };\n /**\n * @hidden\n * @returns {Element} - returns frozen right header tbody\n\n */\n Grid.prototype.getFrozenRightHeaderTbody = function () {\n return this.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n };\n /**\n * @returns {Element} returns frozen right content tbody\n\n * @hidden\n */\n Grid.prototype.getFrozenRightContentTbody = function () {\n return this.getContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_10__.tbody);\n };\n /**\n * @param {boolean} isCustom - Defines custom filter dialog open\n * @returns {void}\n * @hidden\n */\n Grid.prototype.showResponsiveCustomFilter = function (isCustom) {\n if (this.filterModule) {\n this.filterModule.showCustomFilter(isCustom || this.rowRenderingMode === 'Vertical');\n }\n };\n /**\n * @param {boolean} isCustom - Defines custom sort dialog open\n * @returns {void}\n * @hidden\n */\n Grid.prototype.showResponsiveCustomSort = function (isCustom) {\n if (this.sortModule) {\n this.sortModule.showCustomSort(isCustom || this.rowRenderingMode === 'Vertical');\n }\n };\n /**\n * @param {boolean} isCustom - Defines custom column chooser dialog open\n * @returns {void}\n * @hidden\n */\n Grid.prototype.showResponsiveCustomColumnChooser = function (isCustom) {\n if (this.columnChooserModule) {\n this.columnChooserModule.showCustomColumnChooser(isCustom || this.rowRenderingMode === 'Vertical');\n }\n };\n /**\n * To manually show the vertical row mode filter dialog\n *\n * @returns {void}\n */\n Grid.prototype.showAdaptiveFilterDialog = function () {\n if (this.enableAdaptiveUI) {\n this.showResponsiveCustomFilter(true);\n }\n };\n /**\n * To manually show the vertical row sort filter dialog\n *\n * @returns {void}\n */\n Grid.prototype.showAdaptiveSortDialog = function () {\n if (this.enableAdaptiveUI) {\n this.showResponsiveCustomSort(true);\n }\n };\n /**\n * @param {boolean} isColVirtualization - Defines column virtualization\n * @returns {Column[]} returns array of column models\n * @hidden\n */\n Grid.prototype.getCurrentVisibleColumns = function (isColVirtualization) {\n var cols = [];\n var gridCols = isColVirtualization ? this.getColumns() : this.columnModel;\n for (var _i = 0, gridCols_1 = gridCols; _i < gridCols_1.length; _i++) {\n var col = gridCols_1[_i];\n if (col.visible) {\n cols.push(col);\n }\n }\n return cols;\n };\n Grid.prototype.enableInfiniteAggrgate = function () {\n if (this.enableInfiniteScrolling && this.groupSettings.columns.length && !this.groupSettings.disablePageWiseAggregates\n && !this.groupSettings.enableLazyLoading) {\n this.setProperties({ groupSettings: { disablePageWiseAggregates: true } }, true);\n }\n };\n var Grid_1;\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)([])\n ], Grid.prototype, \"currentViewData\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"parentDetails\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"showHider\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)([])\n ], Grid.prototype, \"columns\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Grid.prototype, \"enableAltRow\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Grid.prototype, \"enableHover\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableAutoFill\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Grid.prototype, \"allowKeyboard\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableStickyHeader\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowTextWrap\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, TextWrapSettings)\n ], Grid.prototype, \"textWrapSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, ResizeSettings)\n ], Grid.prototype, \"resizeSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowPaging\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, _models_page_settings__WEBPACK_IMPORTED_MODULE_30__.PageSettings)\n ], Grid.prototype, \"pageSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, LoadingIndicator)\n ], Grid.prototype, \"loadingIndicator\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Grid.prototype, \"enableVirtualMaskRow\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableVirtualization\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableColumnVirtualization\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableInfiniteScrolling\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, SearchSettings)\n ], Grid.prototype, \"searchSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowSorting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Ellipsis')\n ], Grid.prototype, \"clipMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Grid.prototype, \"allowMultiSorting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowExcelExport\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowPdfExport\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, SortSettings)\n ], Grid.prototype, \"sortSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, InfiniteScrollSettings)\n ], Grid.prototype, \"infiniteScrollSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Grid.prototype, \"allowSelection\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(-1)\n ], Grid.prototype, \"selectedRowIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, SelectionSettings)\n ], Grid.prototype, \"selectionSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowFiltering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Horizontal')\n ], Grid.prototype, \"rowRenderingMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableAdaptiveUI\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Both')\n ], Grid.prototype, \"adaptiveUIMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowReordering\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowResizing\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowRowDragAndDrop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, RowDropSettings)\n ], Grid.prototype, \"rowDropSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, FilterSettings)\n ], Grid.prototype, \"filterSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"allowGrouping\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableImmutableMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"showColumnMenu\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"autoFit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, GroupSettings)\n ], Grid.prototype, \"groupSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, EditSettings)\n ], Grid.prototype, \"editSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([], _models_aggregate__WEBPACK_IMPORTED_MODULE_31__.AggregateRow)\n ], Grid.prototype, \"aggregates\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"showColumnChooser\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, _models_column_chooser_settings__WEBPACK_IMPORTED_MODULE_32__.ColumnChooserSettings)\n ], Grid.prototype, \"columnChooserSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Grid.prototype, \"enableHeaderFocus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Grid.prototype, \"height\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Grid.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Default')\n ], Grid.prototype, \"gridLines\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"rowTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"emptyRecordTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"detailTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"childGrid\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"queryString\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('AllPages')\n ], Grid.prototype, \"printMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Expanded')\n ], Grid.prototype, \"hierarchyPrintMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)([])\n ], Grid.prototype, \"dataSource\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Grid.prototype, \"rowHeight\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"query\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('USD')\n ], Grid.prototype, \"currencyCode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"exportGrids\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"toolbar\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"contextMenuItems\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"columnMenuItems\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"toolbarTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Grid.prototype, \"pagerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Grid.prototype, \"frozenRows\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Grid.prototype, \"frozenColumns\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Grid.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('All')\n ], Grid.prototype, \"columnQueryMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], Grid.prototype, \"currentAction\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Grid.prototype, \"ej2StatePersistenceVersion\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"load\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDataBound\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"queryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"headerCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"actionBegin\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"actionComplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"actionFailure\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"dataBound\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"recordDoubleClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"recordClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowSelecting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowSelected\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDeselecting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDeselected\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellSelecting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellSelected\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellDeselecting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellDeselected\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnSelecting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnSelected\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnDeselecting\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnDeselected\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnDragStart\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnDrag\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnDrop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"printComplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforePrint\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"pdfQueryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"pdfHeaderQueryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"pdfAggregateQueryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"excelAggregateQueryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"exportDetailDataBound\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"exportDetailTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"excelQueryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"excelHeaderQueryCellInfo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeExcelExport\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"excelExportComplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforePdfExport\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"pdfExportComplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDragStartHelper\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"detailDataBound\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDragStart\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDrag\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"rowDrop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"toolbarClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeOpenColumnChooser\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeOpenAdaptiveDialog\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"batchAdd\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"batchDelete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"batchCancel\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeBatchAdd\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeBatchDelete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeBatchSave\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beginEdit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"commandClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellEdit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellSave\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"cellSaved\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"resizeStart\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"resizing\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"resizeStop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"keyPressed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeDataBound\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"contextMenuOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"contextMenuClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnMenuOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnMenuClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"checkBoxChange\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeCopy\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforePaste\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeAutoFill\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"columnDataStateChange\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"dataStateChange\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"dataSourceChanged\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"exportGroupCaption\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"lazyLoadGroupExpand\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"lazyLoadGroupCollapse\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Grid.prototype, \"beforeDetailTemplateDetach\", void 0);\n Grid = Grid_1 = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Grid);\n return Grid;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/base/grid.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addedRecords: () => (/* binding */ addedRecords),\n/* harmony export */ addedRow: () => (/* binding */ addedRow),\n/* harmony export */ ariaColIndex: () => (/* binding */ ariaColIndex),\n/* harmony export */ ariaRowIndex: () => (/* binding */ ariaRowIndex),\n/* harmony export */ beforeOpen: () => (/* binding */ beforeOpen),\n/* harmony export */ change: () => (/* binding */ change),\n/* harmony export */ changedRecords: () => (/* binding */ changedRecords),\n/* harmony export */ colGroup: () => (/* binding */ colGroup),\n/* harmony export */ content: () => (/* binding */ content),\n/* harmony export */ create: () => (/* binding */ create),\n/* harmony export */ deletedRecords: () => (/* binding */ deletedRecords),\n/* harmony export */ downArrow: () => (/* binding */ downArrow),\n/* harmony export */ editedRow: () => (/* binding */ editedRow),\n/* harmony export */ enter: () => (/* binding */ enter),\n/* harmony export */ focus: () => (/* binding */ focus),\n/* harmony export */ frozenContent: () => (/* binding */ frozenContent),\n/* harmony export */ frozenHeader: () => (/* binding */ frozenHeader),\n/* harmony export */ frozenLeft: () => (/* binding */ frozenLeft),\n/* harmony export */ frozenRight: () => (/* binding */ frozenRight),\n/* harmony export */ gridChkBox: () => (/* binding */ gridChkBox),\n/* harmony export */ gridContent: () => (/* binding */ gridContent),\n/* harmony export */ gridFooter: () => (/* binding */ gridFooter),\n/* harmony export */ gridHeader: () => (/* binding */ gridHeader),\n/* harmony export */ groupCaptionRow: () => (/* binding */ groupCaptionRow),\n/* harmony export */ headerContent: () => (/* binding */ headerContent),\n/* harmony export */ initialFrozenColumnIndex: () => (/* binding */ initialFrozenColumnIndex),\n/* harmony export */ leftRight: () => (/* binding */ leftRight),\n/* harmony export */ movableContent: () => (/* binding */ movableContent),\n/* harmony export */ movableHeader: () => (/* binding */ movableHeader),\n/* harmony export */ open: () => (/* binding */ open),\n/* harmony export */ pageDown: () => (/* binding */ pageDown),\n/* harmony export */ pageUp: () => (/* binding */ pageUp),\n/* harmony export */ row: () => (/* binding */ row),\n/* harmony export */ rowCell: () => (/* binding */ rowCell),\n/* harmony export */ shiftEnter: () => (/* binding */ shiftEnter),\n/* harmony export */ shiftTab: () => (/* binding */ shiftTab),\n/* harmony export */ tab: () => (/* binding */ tab),\n/* harmony export */ table: () => (/* binding */ table),\n/* harmony export */ tbody: () => (/* binding */ tbody),\n/* harmony export */ upArrow: () => (/* binding */ upArrow)\n/* harmony export */ });\n/**\n * Specifies class names\n */\n/** @hidden */\nvar rowCell = 'e-rowcell';\n/** @hidden */\nvar gridHeader = 'e-gridheader';\n/** @hidden */\nvar gridContent = 'e-gridcontent';\n/** @hidden */\nvar gridFooter = 'e-gridfooter';\n/** @hidden */\nvar headerContent = 'e-headercontent';\n/** @hidden */\nvar movableContent = 'e-movablecontent';\n/** @hidden */\nvar movableHeader = 'e-movableheader';\n/** @hidden */\nvar frozenContent = 'e-frozencontent';\n/** @hidden */\nvar frozenHeader = 'e-frozenheader';\n/** @hidden */\nvar content = 'e-content';\n/** @hidden */\nvar table = 'e-table';\n/** @hidden */\nvar row = 'e-row';\n/** @hidden */\nvar gridChkBox = 'e-gridchkbox';\n/** @hidden */\nvar editedRow = 'e-editedrow';\n/** @hidden */\nvar addedRow = 'e-addedrow';\n/** @hidden */\nvar groupCaptionRow = 'e-groupcaptionrow';\n/**\n * Specifies repeated strings\n */\n/** @hidden */\nvar changedRecords = 'changedRecords';\n/** @hidden */\nvar addedRecords = 'addedRecords';\n/** @hidden */\nvar deletedRecords = 'deletedRecords';\n/** @hidden */\nvar leftRight = 'Left-Right';\n/** @hidden */\nvar frozenRight = 'frozen-right';\n/** @hidden */\nvar frozenLeft = 'frozen-left';\n/** @hidden */\nvar ariaColIndex = 'aria-colindex';\n/** @hidden */\nvar ariaRowIndex = 'aria-rowindex';\n/** @hidden */\nvar tbody = 'tbody';\n/** @hidden */\nvar colGroup = 'colgroup';\n/** @hidden */\nvar open = 'open';\n/** @hidden */\nvar change = 'change';\n/** @hidden */\nvar focus = 'focus';\n/** @hidden */\nvar create = 'created';\n/** @hidden */\nvar beforeOpen = 'beforeOpen';\n/** @hidden */\nvar downArrow = 'downArrow';\n/** @hidden */\nvar upArrow = 'upArrow';\n/** @hidden */\nvar pageUp = 'PageUp';\n/** @hidden */\nvar pageDown = 'PageDown';\n/** @hidden */\nvar enter = 'enter';\n/** @hidden */\nvar shiftEnter = 'shiftEnter';\n/** @hidden */\nvar tab = 'tab';\n/** @hidden */\nvar shiftTab = 'shiftTab';\n/** @hidden */\nvar initialFrozenColumnIndex = 'initialFrozenColumnIndex';\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js": +/*!******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Global: () => (/* binding */ Global),\n/* harmony export */ addBiggerDialog: () => (/* binding */ addBiggerDialog),\n/* harmony export */ addFixedColumnBorder: () => (/* binding */ addFixedColumnBorder),\n/* harmony export */ addRemoveActiveClasses: () => (/* binding */ addRemoveActiveClasses),\n/* harmony export */ addRemoveEventListener: () => (/* binding */ addRemoveEventListener),\n/* harmony export */ addStickyColumnPosition: () => (/* binding */ addStickyColumnPosition),\n/* harmony export */ appendChildren: () => (/* binding */ appendChildren),\n/* harmony export */ applyBiggerTheme: () => (/* binding */ applyBiggerTheme),\n/* harmony export */ applyStickyLeftRightPosition: () => (/* binding */ applyStickyLeftRightPosition),\n/* harmony export */ calculateAggregate: () => (/* binding */ calculateAggregate),\n/* harmony export */ capitalizeFirstLetter: () => (/* binding */ capitalizeFirstLetter),\n/* harmony export */ checkDepth: () => (/* binding */ checkDepth),\n/* harmony export */ checkIsVirtual: () => (/* binding */ checkIsVirtual),\n/* harmony export */ clearReactVueTemplates: () => (/* binding */ clearReactVueTemplates),\n/* harmony export */ compareChanges: () => (/* binding */ compareChanges),\n/* harmony export */ createCboxWithWrap: () => (/* binding */ createCboxWithWrap),\n/* harmony export */ createEditElement: () => (/* binding */ createEditElement),\n/* harmony export */ distinctStringValues: () => (/* binding */ distinctStringValues),\n/* harmony export */ doesImplementInterface: () => (/* binding */ doesImplementInterface),\n/* harmony export */ ensureFirstRow: () => (/* binding */ ensureFirstRow),\n/* harmony export */ ensureLastRow: () => (/* binding */ ensureLastRow),\n/* harmony export */ eventPromise: () => (/* binding */ eventPromise),\n/* harmony export */ extend: () => (/* binding */ extend),\n/* harmony export */ extendObjWithFn: () => (/* binding */ extendObjWithFn),\n/* harmony export */ findCellIndex: () => (/* binding */ findCellIndex),\n/* harmony export */ frozenDirection: () => (/* binding */ frozenDirection),\n/* harmony export */ generateExpandPredicates: () => (/* binding */ generateExpandPredicates),\n/* harmony export */ getActualPropFromColl: () => (/* binding */ getActualPropFromColl),\n/* harmony export */ getActualProperties: () => (/* binding */ getActualProperties),\n/* harmony export */ getActualRowHeight: () => (/* binding */ getActualRowHeight),\n/* harmony export */ getCellByColAndRowIndex: () => (/* binding */ getCellByColAndRowIndex),\n/* harmony export */ getCellFromRow: () => (/* binding */ getCellFromRow),\n/* harmony export */ getCellsByTableName: () => (/* binding */ getCellsByTableName),\n/* harmony export */ getCollapsedRowsCount: () => (/* binding */ getCollapsedRowsCount),\n/* harmony export */ getColumnByForeignKeyValue: () => (/* binding */ getColumnByForeignKeyValue),\n/* harmony export */ getColumnModelByFieldName: () => (/* binding */ getColumnModelByFieldName),\n/* harmony export */ getColumnModelByUid: () => (/* binding */ getColumnModelByUid),\n/* harmony export */ getComplexFieldID: () => (/* binding */ getComplexFieldID),\n/* harmony export */ getCustomDateFormat: () => (/* binding */ getCustomDateFormat),\n/* harmony export */ getDatePredicate: () => (/* binding */ getDatePredicate),\n/* harmony export */ getEditedDataIndex: () => (/* binding */ getEditedDataIndex),\n/* harmony export */ getElementIndex: () => (/* binding */ getElementIndex),\n/* harmony export */ getExpandedState: () => (/* binding */ getExpandedState),\n/* harmony export */ getFilterMenuPostion: () => (/* binding */ getFilterMenuPostion),\n/* harmony export */ getForeignData: () => (/* binding */ getForeignData),\n/* harmony export */ getGroupKeysAndFields: () => (/* binding */ getGroupKeysAndFields),\n/* harmony export */ getListHeight: () => (/* binding */ getListHeight),\n/* harmony export */ getNumberFormat: () => (/* binding */ getNumberFormat),\n/* harmony export */ getObject: () => (/* binding */ getObject),\n/* harmony export */ getParentIns: () => (/* binding */ getParentIns),\n/* harmony export */ getParsedFieldID: () => (/* binding */ getParsedFieldID),\n/* harmony export */ getPosition: () => (/* binding */ getPosition),\n/* harmony export */ getPredicates: () => (/* binding */ getPredicates),\n/* harmony export */ getPrintGridModel: () => (/* binding */ getPrintGridModel),\n/* harmony export */ getPrototypesOfObj: () => (/* binding */ getPrototypesOfObj),\n/* harmony export */ getRowHeight: () => (/* binding */ getRowHeight),\n/* harmony export */ getRowIndexFromElement: () => (/* binding */ getRowIndexFromElement),\n/* harmony export */ getScrollBarWidth: () => (/* binding */ getScrollBarWidth),\n/* harmony export */ getScrollWidth: () => (/* binding */ getScrollWidth),\n/* harmony export */ getStateEventArgument: () => (/* binding */ getStateEventArgument),\n/* harmony export */ getTransformValues: () => (/* binding */ getTransformValues),\n/* harmony export */ getUid: () => (/* binding */ getUid),\n/* harmony export */ getUpdateUsingRaf: () => (/* binding */ getUpdateUsingRaf),\n/* harmony export */ getVisiblePage: () => (/* binding */ getVisiblePage),\n/* harmony export */ getZIndexCalcualtion: () => (/* binding */ getZIndexCalcualtion),\n/* harmony export */ groupCaptionRowLeftRightPos: () => (/* binding */ groupCaptionRowLeftRightPos),\n/* harmony export */ groupReorderRowObject: () => (/* binding */ groupReorderRowObject),\n/* harmony export */ headerValueAccessor: () => (/* binding */ headerValueAccessor),\n/* harmony export */ inArray: () => (/* binding */ inArray),\n/* harmony export */ infiniteAppendElements: () => (/* binding */ infiniteAppendElements),\n/* harmony export */ infiniteRemoveElements: () => (/* binding */ infiniteRemoveElements),\n/* harmony export */ isActionPrevent: () => (/* binding */ isActionPrevent),\n/* harmony export */ isCellHaveWidth: () => (/* binding */ isCellHaveWidth),\n/* harmony export */ isChildColumn: () => (/* binding */ isChildColumn),\n/* harmony export */ isComplexField: () => (/* binding */ isComplexField),\n/* harmony export */ isEditable: () => (/* binding */ isEditable),\n/* harmony export */ isExportColumns: () => (/* binding */ isExportColumns),\n/* harmony export */ isGroupAdaptive: () => (/* binding */ isGroupAdaptive),\n/* harmony export */ isRowEnteredInGrid: () => (/* binding */ isRowEnteredInGrid),\n/* harmony export */ ispercentageWidth: () => (/* binding */ ispercentageWidth),\n/* harmony export */ iterateArrayOrObject: () => (/* binding */ iterateArrayOrObject),\n/* harmony export */ iterateExtend: () => (/* binding */ iterateExtend),\n/* harmony export */ measureColumnDepth: () => (/* binding */ measureColumnDepth),\n/* harmony export */ padZero: () => (/* binding */ padZero),\n/* harmony export */ parents: () => (/* binding */ parents),\n/* harmony export */ parentsUntil: () => (/* binding */ parentsUntil),\n/* harmony export */ performComplexDataOperation: () => (/* binding */ performComplexDataOperation),\n/* harmony export */ prepareColumns: () => (/* binding */ prepareColumns),\n/* harmony export */ pushuid: () => (/* binding */ pushuid),\n/* harmony export */ recursive: () => (/* binding */ recursive),\n/* harmony export */ refreshFilteredColsUid: () => (/* binding */ refreshFilteredColsUid),\n/* harmony export */ refreshForeignData: () => (/* binding */ refreshForeignData),\n/* harmony export */ registerEventHandlers: () => (/* binding */ registerEventHandlers),\n/* harmony export */ removeAddCboxClasses: () => (/* binding */ removeAddCboxClasses),\n/* harmony export */ removeElement: () => (/* binding */ removeElement),\n/* harmony export */ removeEventHandlers: () => (/* binding */ removeEventHandlers),\n/* harmony export */ resetCachedRowIndex: () => (/* binding */ resetCachedRowIndex),\n/* harmony export */ resetColandRowSpanStickyPosition: () => (/* binding */ resetColandRowSpanStickyPosition),\n/* harmony export */ resetColspanGroupCaption: () => (/* binding */ resetColspanGroupCaption),\n/* harmony export */ resetDialogAppend: () => (/* binding */ resetDialogAppend),\n/* harmony export */ resetRowIndex: () => (/* binding */ resetRowIndex),\n/* harmony export */ setChecked: () => (/* binding */ setChecked),\n/* harmony export */ setColumnIndex: () => (/* binding */ setColumnIndex),\n/* harmony export */ setComplexFieldID: () => (/* binding */ setComplexFieldID),\n/* harmony export */ setCssInGridPopUp: () => (/* binding */ setCssInGridPopUp),\n/* harmony export */ setDisplayValue: () => (/* binding */ setDisplayValue),\n/* harmony export */ setFormatter: () => (/* binding */ setFormatter),\n/* harmony export */ setRowElements: () => (/* binding */ setRowElements),\n/* harmony export */ setStyleAndAttributes: () => (/* binding */ setStyleAndAttributes),\n/* harmony export */ setValidationRuels: () => (/* binding */ setValidationRuels),\n/* harmony export */ sliceElements: () => (/* binding */ sliceElements),\n/* harmony export */ templateCompiler: () => (/* binding */ templateCompiler),\n/* harmony export */ toggleFilterUI: () => (/* binding */ toggleFilterUI),\n/* harmony export */ toogleCheckbox: () => (/* binding */ toogleCheckbox),\n/* harmony export */ updateColumnTypeForExportColumns: () => (/* binding */ updateColumnTypeForExportColumns),\n/* harmony export */ updatecloneRow: () => (/* binding */ updatecloneRow),\n/* harmony export */ valueAccessor: () => (/* binding */ valueAccessor),\n/* harmony export */ wrap: () => (/* binding */ wrap)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/adaptors.js\");\n/* harmony import */ var _models_column__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../models/column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _actions_print__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../actions/print */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/print.js\");\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n//https://typescript.codeplex.com/discussions/401501\n/**\n * Function to check whether target object implement specific interface\n *\n * @param {Object} target - specifies the target\n * @param {string} checkFor - specifies the checkfors\n * @returns {boolean} returns the boolean\n * @hidden\n */\nfunction doesImplementInterface(target, checkFor) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return target.prototype && checkFor in target.prototype;\n}\n/**\n * Function to get value from provided data\n *\n * @param {string} field - specifies the field\n * @param {Object} data - specifies the data\n * @param {ColumnModel} column - specifies the column\n * @returns {Object} returns the object\n * @hidden\n */\n// eslint-disable-next-line\nfunction valueAccessor(field, data, column) {\n return ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(field) || field === '') ? '' : _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(field, data);\n}\n/**\n * Defines the method used to apply custom header cell values from external function and display this on each header cell rendered.\n *\n * @param {string} field - specifies the field\n * @param {ColumnModel} column - specifies the column\n * @returns {object} headerValueAccessor\n * @hidden\n */\nfunction headerValueAccessor(field, column) {\n return ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(field) || field === '') ? '' : _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.getObject(field, column);\n}\n/**\n * The function used to update Dom using requestAnimationFrame.\n *\n * @param {Function} updateFunction - Function that contains the actual action\n * @param {object} callBack - defines the callback\n * @returns {void}\n * @hidden\n */\n// eslint-disable-next-line\nfunction getUpdateUsingRaf(updateFunction, callBack) {\n requestAnimationFrame(function () {\n try {\n callBack(null, updateFunction());\n }\n catch (e) {\n callBack(e);\n }\n });\n}\n/**\n * @hidden\n * @param {PdfExportProperties | ExcelExportProperties} exportProperties - Defines the export properties\n * @returns {boolean} Returns isExportColumns\n */\nfunction isExportColumns(exportProperties) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(exportProperties.columns) && exportProperties.columns.length > 0;\n}\n/**\n * @param {PdfExportProperties | ExcelExportProperties} exportProperties - Defines the export properties\n * @param {IGrid} gObj - Defines the grid object\n * @returns {void}\n * @hidden\n */\nfunction updateColumnTypeForExportColumns(exportProperties, gObj) {\n var exportColumns = exportProperties.columns;\n var gridColumns = gObj.columns;\n for (var i = 0; i < exportColumns.length; i++) {\n if (gridColumns.length - 1 >= i) {\n if (gridColumns[parseInt(i.toString(), 10)].columns) {\n for (var j = 0; j < gridColumns[parseInt(i.toString(), 10)].columns.length; j++) {\n exportColumns[parseInt(i.toString(), 10)].columns[parseInt(j.toString(), 10)]\n .type = gridColumns[parseInt(i.toString(), 10)].columns[parseInt(j.toString(), 10)].type;\n }\n }\n else {\n exportColumns[parseInt(i.toString(), 10)].type = gridColumns[parseInt(i.toString(), 10)].type;\n }\n }\n }\n}\n/**\n * @hidden\n * @param {IGrid} grid - Defines the grid\n * @returns {void}\n */\nfunction updatecloneRow(grid) {\n var nRows = [];\n var actualRows = grid.vRows;\n for (var i = 0; i < actualRows.length; i++) {\n if (actualRows[parseInt(i.toString(), 10)].isDataRow) {\n nRows.push(actualRows[parseInt(i.toString(), 10)]);\n }\n else if (!actualRows[parseInt(i.toString(), 10)].isDataRow) {\n nRows.push(actualRows[parseInt(i.toString(), 10)]);\n if (!actualRows[parseInt(i.toString(), 10)].isExpand && actualRows[parseInt(i.toString(), 10)].isCaptionRow) {\n i += getCollapsedRowsCount(actualRows[parseInt(i.toString(), 10)], grid);\n }\n }\n }\n grid.vcRows = nRows;\n}\nvar count = 0;\n/**\n * @hidden\n * @param {Row} val - Defines the value\n * @param {IGrid} grid - Defines the grid\n * @returns {number} Returns the collapsed row count\n */\nfunction getCollapsedRowsCount(val, grid) {\n count = 0;\n var gSummary = 'gSummary';\n var total = 'count';\n var gLen = grid.groupSettings.columns.length;\n var records = 'records';\n var items = 'items';\n var value = val[\"\" + gSummary];\n var dataRowCnt = 0;\n var agrCnt = 'aggregatesCount';\n if (value === val.data[\"\" + total]) {\n if (grid.groupSettings.columns.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val[\"\" + agrCnt]) && val[\"\" + agrCnt]) {\n if (grid.groupSettings.columns.length !== 1) {\n count += (val.indent !== 0 && (value) < 2) ? (val[\"\" + gSummary] * ((gLen - val.indent) + (gLen - val.indent) * val[\"\" + agrCnt])) :\n (val[\"\" + gSummary] * ((gLen - val.indent) + (gLen - val.indent - 1) * val[\"\" + agrCnt])) + val[\"\" + agrCnt];\n }\n else if (grid.groupSettings.columns.length === 1) {\n count += (val[\"\" + gSummary] * (gLen - val.indent)) + val[\"\" + agrCnt];\n }\n }\n else if (grid.groupSettings.columns.length) {\n if (grid.groupSettings.columns.length !== 1) {\n count += val[\"\" + gSummary] * (grid.groupSettings.columns.length - val.indent);\n }\n else {\n count += val[\"\" + gSummary];\n }\n }\n return count;\n }\n else {\n for (var i = 0, len = val.data[\"\" + items].length; i < len; i++) {\n var gLevel = val.data[\"\" + items][parseInt(i.toString(), 10)];\n count += gLevel[\"\" + items].length + ((gLen !== grid.columns.length) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gLevel[\"\" + items][\"\" + records]) ? gLevel[\"\" + items][\"\" + records].length : 0);\n dataRowCnt += (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gLevel[\"\" + items][\"\" + records]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val[\"\" + agrCnt])) ? gLevel[\"\" + items][\"\" + records].length :\n gLevel[\"\" + items].length;\n if (gLevel[\"\" + items].GroupGuid && gLevel[\"\" + items].childLevels !== 0) {\n recursive(gLevel);\n }\n }\n count += val.data[\"\" + items].length;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val[\"\" + agrCnt])) {\n if (val[\"\" + agrCnt] && count && dataRowCnt !== 0) {\n count += ((count - dataRowCnt) * val[\"\" + agrCnt]) + val[\"\" + agrCnt];\n }\n }\n }\n return count;\n}\n/**\n * @param {Object[]} row - Defines the row\n * @returns {void}\n * @hidden\n */\nfunction recursive(row) {\n var items = 'items';\n var rCount = 'count';\n for (var j = 0, length_1 = row[\"\" + items].length; j < length_1; j++) {\n var nLevel = row[\"\" + items][parseInt(j.toString(), 10)];\n count += nLevel[\"\" + rCount];\n if (nLevel[\"\" + items].childLevels !== 0) {\n recursive(nLevel);\n }\n }\n}\n/**\n * @param {Object[]} collection - Defines the array\n * @param {Object} predicate - Defines the predicate\n * @returns {Object} Returns the object\n * @hidden\n */\nfunction iterateArrayOrObject(collection, predicate) {\n var result = [];\n for (var i = 0, len = collection.length; i < len; i++) {\n var pred = predicate(collection[parseInt(i.toString(), 10)], i);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pred)) {\n result.push(pred);\n }\n }\n return result;\n}\n/**\n * @param {Object[]} array - Defines the array\n * @returns {Object} Returns the object\n * @hidden\n */\nfunction iterateExtend(array) {\n var obj = [];\n for (var i = 0; i < array.length; i++) {\n obj.push((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, getActualProperties(array[parseInt(i.toString(), 10)]), {}, true));\n }\n return obj;\n}\n/**\n * @param {string | Function} template - Defines the template\n * @returns {Function} Returns the function\n * @hidden\n */\nfunction templateCompiler(template) {\n if (template) {\n try {\n var validSelector = template[0] !== '<';\n if (typeof template === 'function') {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n else if (validSelector && document.querySelectorAll(template).length) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(document.querySelector(template).innerHTML.trim());\n }\n else {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n }\n catch (e) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n }\n return undefined;\n}\n/**\n * @param {Element} node - Defines the column\n * @param {Object} customAttributes - Defines the index\n * @returns {void}\n * @hidden\n */\nfunction setStyleAndAttributes(node, customAttributes) {\n var copyAttr = {};\n var literals = ['style', 'class'];\n //Dont touch the original object - make a copy\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(copyAttr, customAttributes, {});\n if ('style' in copyAttr) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(node, copyAttr[literals[0]]);\n delete copyAttr[literals[0]];\n }\n if ('class' in copyAttr) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([node], copyAttr[literals[1]]);\n delete copyAttr[literals[1]];\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(node, copyAttr);\n}\n/**\n * @param {Object} copied - Defines the column\n * @param {Object} first - Defines the inndex\n * @param {Object} second - Defines the second object\n * @param {string[]} exclude - Defines the exclude\n * @returns {Object} Returns the object\n * @hidden\n */\nfunction extend(copied, first, second, exclude) {\n var moved = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(copied, first, second);\n var values = Object.keys(moved);\n for (var i = 0; i < values.length; i++) {\n if (exclude && exclude.indexOf(values[parseInt(i.toString(), 10)]) !== -1) {\n delete moved[values[parseInt(i.toString(), 10)]];\n }\n }\n return moved;\n}\n/**\n * @param {Column[]} columnModel - Defines the column\n * @param {number} ind - Defines the inndex\n * @returns {number} - Returns the columnindex\n * @hidden\n */\nfunction setColumnIndex(columnModel, ind) {\n if (ind === void 0) { ind = 0; }\n for (var i = 0, len = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columnModel) ? columnModel.length : 0); i < len; i++) {\n if (columnModel[parseInt(i.toString(), 10)].columns) {\n columnModel[parseInt(i.toString(), 10)].index = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columnModel[parseInt(i.toString(), 10)].index) ? ind\n : columnModel[parseInt(i.toString(), 10)].index;\n ind++;\n ind = setColumnIndex(columnModel[parseInt(i.toString(), 10)].columns, ind);\n }\n else {\n columnModel[parseInt(i.toString(), 10)].index = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columnModel[parseInt(i.toString(), 10)].index) ? ind\n : columnModel[parseInt(i.toString(), 10)].index;\n ind++;\n }\n }\n return ind;\n}\n/**\n * @param {Column[] | string[] | ColumnModel[]} columns - Defines the column\n * @param {boolean} autoWidth - Defines the autowidth\n * @param {IGrid} gObj - Defines the class name\n * @returns {Column} - Returns the columns\n * @hidden\n */\nfunction prepareColumns(columns, autoWidth, gObj) {\n for (var c = 0, len = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns) ? columns.length : 0); c < len; c++) {\n var column = void 0;\n if (typeof columns[parseInt(c.toString(), 10)] === 'string') {\n column = new _models_column__WEBPACK_IMPORTED_MODULE_2__.Column({ field: columns[parseInt(c.toString(), 10)] }, gObj);\n }\n else if (!(columns[parseInt(c.toString(), 10)] instanceof _models_column__WEBPACK_IMPORTED_MODULE_2__.Column) || columns[parseInt(c.toString(), 10)].columns) {\n if (!columns[parseInt(c.toString(), 10)].columns) {\n column = new _models_column__WEBPACK_IMPORTED_MODULE_2__.Column(columns[parseInt(c.toString(), 10)], gObj);\n }\n else {\n columns[parseInt(c.toString(), 10)].columns = prepareColumns(columns[parseInt(c.toString(), 10)].columns, null, gObj);\n column = new _models_column__WEBPACK_IMPORTED_MODULE_2__.Column(columns[parseInt(c.toString(), 10)], gObj);\n }\n }\n else {\n column = columns[parseInt(c.toString(), 10)];\n }\n if (column.type && column.type.toLowerCase() === 'checkbox') {\n column.allowReordering = false;\n }\n column.headerText = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerText) ? column.foreignKeyValue || column.field || '' : column.headerText;\n column.foreignKeyField = column.foreignKeyField || column.field;\n column.valueAccessor = (typeof column.valueAccessor === 'string' ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.valueAccessor, window)\n : column.valueAccessor) || valueAccessor;\n column.headerValueAccessor = typeof column.headerValueAccessor === 'string' ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.headerValueAccessor, window)\n : column.headerValueAccessor;\n column.width = autoWidth && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.width) ? 200 : column.width;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.visible)) {\n column.visible = true;\n }\n columns[parseInt(c.toString(), 10)] = column;\n }\n return columns;\n}\n/**\n * @param {HTMLElement} popUp - Defines the popup element\n * @param {MouseEvent | TouchEvent} e - Defines the moouse event\n * @param {string} className - Defines the class name\n * @returns {void}\n * @hidden\n */\nfunction setCssInGridPopUp(popUp, e, className) {\n var popUpSpan = popUp.querySelector('span');\n var position = popUp.parentElement.getBoundingClientRect();\n var targetPosition = e.target.getBoundingClientRect();\n popUpSpan.className = className;\n popUp.style.display = '';\n var isBottomTail = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.clientY) ? e.changedTouches[0].clientY :\n e.clientY) > popUp.offsetHeight + 10;\n popUp.style.top = targetPosition.top - position.top +\n (isBottomTail ? -(popUp.offsetHeight + 10) : popUp.offsetHeight + 10) + 'px'; //10px for tail element\n popUp.style.left = getPopupLeftPosition(popUp, e, targetPosition, position.left) + 'px';\n if (isBottomTail) {\n popUp.querySelector('.e-downtail').style.display = '';\n popUp.querySelector('.e-uptail').style.display = 'none';\n }\n else {\n popUp.querySelector('.e-downtail').style.display = 'none';\n popUp.querySelector('.e-uptail').style.display = '';\n }\n}\n/**\n * @param {HTMLElement} popup - Defines the popup element\n * @param {MouseEvent | TouchEvent} e - Defines the mouse event\n * @param {Object} targetPosition - Defines the target position\n * @param {number} targetPosition.top - Defines the top position\n * @param {number} targetPosition.left - Defines the left position\n * @param {number} targetPosition.right - Defines the right position\n * @param {number} left - Defines the left position\n * @returns {number} Returns the popup left position\n * @hidden\n */\nfunction getPopupLeftPosition(popup, e, targetPosition, left) {\n var width = popup.offsetWidth / 2;\n var x = getPosition(e).x;\n if (x - targetPosition.left < width) {\n return targetPosition.left - left;\n }\n else if (targetPosition.right - x < width) {\n return targetPosition.right - left - width * 2;\n }\n else {\n return x - left - width;\n }\n}\n/**\n * @param {Object} obj - Defines the object\n * @returns {Object} Returns the Properties\n * @hidden\n */\nfunction getActualProperties(obj) {\n if (obj instanceof _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('properties', obj);\n }\n else {\n return obj;\n }\n}\n/**\n * @param {Element} elem - Defines the element\n * @param {string} selector - Defines the string selector\n * @param {boolean} isID - Defines the isID\n * @returns {Element} Returns the element\n * @hidden\n */\nfunction parentsUntil(elem, selector, isID) {\n var parent = elem;\n while (parent) {\n if (isID ? parent.id === selector : parent.classList.contains(selector)) {\n break;\n }\n parent = parent.parentElement;\n }\n return parent;\n}\n/**\n * @param {Element} element - Defines the element\n * @param {Element} elements - Defines the element\n * @returns {number} Returns the element index\n * @hidden\n */\nfunction getElementIndex(element, elements) {\n var index = -1;\n for (var i = 0, len = elements.length; i < len; i++) {\n if (elements[parseInt(i.toString(), 10)].isEqualNode(element)) {\n index = i;\n break;\n }\n }\n return index;\n}\n/**\n * @param {Object} value - Defines the value\n * @param {Object} collection - defines the collection\n * @returns {number} Returns the array\n * @hidden\n */\nfunction inArray(value, collection) {\n for (var i = 0, len = collection.length; i < len; i++) {\n if (collection[parseInt(i.toString(), 10)] === value) {\n return i;\n }\n }\n return -1;\n}\n/**\n * @param {Object} collection - Defines the collection\n * @returns {Object} Returns the object\n * @hidden\n */\nfunction getActualPropFromColl(collection) {\n var coll = [];\n for (var i = 0, len = collection.length; i < len; i++) {\n // eslint-disable-next-line no-prototype-builtins\n if (collection[parseInt(i.toString(), 10)].hasOwnProperty('properties')) {\n coll.push(collection[parseInt(i.toString(), 10)].properties);\n }\n else {\n coll.push(collection[parseInt(i.toString(), 10)]);\n }\n }\n return coll;\n}\n/**\n * @param {Element} target - Defines the target element\n * @param {string} selector - Defines the selector\n * @returns {void}\n * @hidden\n */\nfunction removeElement(target, selector) {\n var elements = [].slice.call(target.querySelectorAll(selector));\n for (var i = 0; i < elements.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elements[parseInt(i.toString(), 10)]);\n }\n}\n/**\n * @param {MouseEvent | TouchEvent} e Defines the mouse event\n * @returns {IPosition} Returns the position\n * @hidden\n */\nfunction getPosition(e) {\n var position = {};\n position.x = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.clientX) ? e.changedTouches[0].clientX :\n e.clientX);\n position.y = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.clientY) ? e.changedTouches[0].clientY :\n e.clientY);\n return position;\n}\nvar uid = 0;\n/**\n * @param {string} prefix - Defines the prefix string\n * @returns {string} Returns the uid\n * @hidden\n */\nfunction getUid(prefix) {\n return prefix + uid++;\n}\n/**\n * @param {Element | DocumentFragment} elem - Defines the element\n * @param {Element[] | NodeList} children - Defines the Element\n * @returns {Element} Returns the element\n * @hidden\n */\nfunction appendChildren(elem, children) {\n for (var i = 0, len = children.length; i < len; i++) {\n if (len === children.length) {\n elem.appendChild(children[parseInt(i.toString(), 10)]);\n }\n else {\n elem.appendChild(children[0]);\n }\n }\n return elem;\n}\n/**\n * @param {Element} elem - Defines the element\n * @param {string} selector - Defines the selector\n * @param {boolean} isID - Defines isID\n * @returns {Element} Return the element\n * @hidden\n */\nfunction parents(elem, selector, isID) {\n var parent = elem;\n var parents = [];\n while (parent) {\n if (isID ? parent.id === selector : parent.classList.contains(selector)) {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\n/**\n * @param {AggregateType | string} type - Defines the type\n * @param {Object} data - Defines the data\n * @param {AggregateColumnModel} column - Defines the column\n * @param {Object} context - Defines the context\n * @returns {Object} Returns the calculated aggragate\n * @hidden\n */\nfunction calculateAggregate(type, data, column, context) {\n if (type === 'Custom') {\n var temp = column.customAggregate;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n return temp ? temp.call(context, data, column) : '';\n }\n return (column.field in data || data instanceof Array) ? _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.DataUtil.aggregates[type.toLowerCase()](data, column.field) : null;\n}\n/** @hidden */\nvar scrollWidth = null;\n/** @hidden\n * @returns {number} - Returns the scrollbarwidth\n */\nfunction getScrollBarWidth() {\n if (scrollWidth !== null) {\n return scrollWidth;\n }\n var divNode = document.createElement('div');\n var value = 0;\n divNode.style.cssText = 'width:100px;height: 100px;overflow: scroll;position: absolute;top: -9999px;';\n document.body.appendChild(divNode);\n value = (divNode.offsetWidth - divNode.clientWidth) | 0;\n document.body.removeChild(divNode);\n return scrollWidth = value;\n}\n/** @hidden */\nvar rowHeight;\n/** @hidden */\nvar accurateRowHeight;\n/**\n * @param {HTMLElement} element - Defines the element\n * @param {boolean} accurateHeight - Defines the accurate row height\n * @returns {number} Returns the roww height\n * @hidden\n */\nfunction getRowHeight(element, accurateHeight) {\n if (accurateHeight && accurateRowHeight !== undefined) {\n return accurateRowHeight;\n }\n if (rowHeight !== undefined) {\n return rowHeight;\n }\n var table = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('table', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.table, attrs: { role: 'grid' } });\n table.style.visibility = 'hidden';\n table.innerHTML = 'A';\n element.appendChild(table);\n var rect = table.querySelector('td').getBoundingClientRect();\n element.removeChild(table);\n accurateRowHeight = rect.height;\n rowHeight = Math.ceil(rect.height);\n if (accurateHeight) {\n return accurateRowHeight;\n }\n return rowHeight;\n}\n/**\n * @param {HTMLElement} element - Defines the HTMl element\n * @returns {number} Returns the row height\n * @hidden\n */\nfunction getActualRowHeight(element) {\n var table = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('table', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.table, attrs: { role: 'grid' } });\n table.style.visibility = 'hidden';\n table.innerHTML = 'A';\n element.appendChild(table);\n var rect = table.querySelector('tr').getBoundingClientRect();\n element.removeChild(table);\n return rect.height;\n}\n/**\n * @param {string} field - Defines the field\n * @returns {boolean} - Returns is complex field\n * @hidden\n */\nfunction isComplexField(field) {\n return field.split('.').length > 1;\n}\n/**\n * @param {string} field - Defines the field\n * @returns {string} - Returns the get complex field ID\n * @hidden\n */\nfunction getComplexFieldID(field) {\n if (field === void 0) { field = ''; }\n return field.replace(/\\./g, '___');\n}\n/**\n * @param {string} field - Defines the field\n * @returns {string} - Returns the parsed column field id\n * @hidden\n */\nfunction getParsedFieldID(field) {\n if (field === void 0) { field = ''; }\n return field.replace(/[^a-zA-Z0-9_.]/g, '\\\\$&');\n}\n/**\n * @param {string} field - Defines the field\n * @returns {string} - Returns the set complex field ID\n * @hidden\n */\nfunction setComplexFieldID(field) {\n if (field === void 0) { field = ''; }\n return field.replace(/___/g, '.');\n}\n/**\n * @param {Column} col - Defines the column\n * @param {string} type - Defines the type\n * @param {Element} elem - Defines th element\n * @returns {boolean} Returns is Editable\n * @hidden\n */\nfunction isEditable(col, type, elem) {\n var row = parentsUntil(elem, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.row);\n var isOldRow = !row ? true : row && !row.classList.contains('e-insertedrow');\n if (type === 'beginEdit' && isOldRow) {\n if (col.isIdentity || col.isPrimaryKey || !col.allowEditing) {\n return false;\n }\n return true;\n }\n else if (type === 'add' && col.isIdentity) {\n return false;\n }\n else {\n if (isOldRow && !col.allowEditing && !col.isIdentity && !col.isPrimaryKey) {\n return false;\n }\n return true;\n }\n}\n/**\n * @param {Element} elem - Defines th element\n * @returns {boolean} Returns is Editable\n * @hidden\n */\nfunction isCellHaveWidth(elem) {\n return elem.getBoundingClientRect().width === 0 ? false : true;\n}\n/**\n * @param {IGrid} inst - Defines the IGrid\n * @returns {boolean} Returns is action prevent in boolean\n * @hidden\n */\nfunction isActionPrevent(inst) {\n var dlg = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + inst.element.id + 'EditConfirm', inst.element);\n return inst.editSettings.mode === 'Batch' &&\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-updatedtd', inst.element).length || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-gridform.e-formvalidator', inst.element).length)\n && inst.editSettings.showConfirmDialog && (dlg ? dlg.classList.contains('e-popup-close') : true);\n}\n/**\n * @param {any} elem - Defines the element\n * @param {boolean} action - Defines the boolean for action\n * @returns {void}\n * @hidden\n */\n// eslint-disable-next-line\nfunction wrap(elem, action) {\n var clName = 'e-wrap';\n elem = elem instanceof Array ? elem : [elem];\n for (var i = 0; i < elem.length; i++) {\n if (action) {\n elem[parseInt(i.toString(), 10)].classList.add(clName);\n }\n else {\n elem[parseInt(i.toString(), 10)].classList.remove(clName);\n }\n }\n}\n/**\n * @param {ServiceLocator} serviceLocator - Defines the service locator\n * @param {Column} column - Defines the column\n * @returns {void}\n * @hidden\n */\nfunction setFormatter(serviceLocator, column) {\n var fmtr = serviceLocator.getService('valueFormatter');\n var format = 'format';\n var args;\n if (column.type === 'date' || column.type === 'datetime' || column.type === 'dateonly') {\n args = { type: column.type === 'dateonly' ? 'date' : column.type, skeleton: column.format };\n if ((typeof (column.format) === 'string') && column.format !== 'yMd') {\n args[\"\" + format] = column.format;\n }\n }\n switch (column.type) {\n case 'date':\n column.setFormatter(fmtr.getFormatFunction(args));\n column.setParser(fmtr.getParserFunction(args));\n break;\n case 'dateonly':\n column.setFormatter(fmtr.getFormatFunction(args));\n column.setParser(fmtr.getParserFunction(args));\n break;\n case 'datetime':\n column.setFormatter(fmtr.getFormatFunction(args));\n column.setParser(fmtr.getParserFunction(args));\n break;\n case 'number':\n column.setFormatter(fmtr.getFormatFunction({ format: column.format }));\n column.setParser(fmtr.getParserFunction({ format: column.format }));\n break;\n }\n}\n/**\n * @param {Element} cells - Defines the cell element\n * @param {boolean} add - Defines the add\n * @param {string} args - Defines the args\n * @returns {void}\n * @hidden\n */\nfunction addRemoveActiveClasses(cells, add) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n for (var i = 0, len = cells.length; i < len; i++) {\n if (add) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cells[parseInt(i.toString(), 10)], args.slice(), []);\n cells[parseInt(i.toString(), 10)].setAttribute('aria-selected', 'true');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cells[parseInt(i.toString(), 10)], [], args.slice());\n cells[parseInt(i.toString(), 10)].removeAttribute('aria-selected');\n }\n }\n}\n/**\n * @param {string} result - Defines th string\n * @returns {string} Returns the distinct staing values\n * @hidden\n */\nfunction distinctStringValues(result) {\n var temp = {};\n var res = [];\n for (var i = 0; i < result.length; i++) {\n if (!(result[parseInt(i.toString(), 10)] in temp)) {\n res.push(result[parseInt(i.toString(), 10)].toString());\n temp[result[parseInt(i.toString(), 10)]] = 1;\n }\n }\n return res;\n}\n/**\n * @param {Element} target - Defines the target\n * @param {Dialog} dialogObj - Defines the dialog\n * @returns {void}\n * @hidden\n */\nfunction getFilterMenuPostion(target, dialogObj) {\n var elementVisible = dialogObj.element.style.display;\n dialogObj.element.style.display = 'block';\n var dlgWidth = dialogObj.width;\n var newpos = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculateRelativeBasedPosition)(target, dialogObj.element);\n dialogObj.element.style.display = elementVisible;\n dialogObj.element.style.top = (newpos.top + target.getBoundingClientRect().height) - 5 + 'px';\n var leftPos = ((newpos.left - dlgWidth) + target.clientWidth);\n if (leftPos < 1) {\n dialogObj.element.style.left = (dlgWidth + leftPos) - 16 + 'px'; // right calculation\n }\n else {\n dialogObj.element.style.left = leftPos + -4 + 'px';\n }\n}\n/**\n * @param {Object} args - Defines the args\n * @param {Popup} args.popup - Defines the args for popup\n * @param {Dialog} dialogObj - Defines the dialog obj\n * @returns {void}\n * @hidden\n */\nfunction getZIndexCalcualtion(args, dialogObj) {\n args.popup.element.style.zIndex = (dialogObj.zIndex + 1).toString();\n}\n/**\n * @param {string} operator - Defines the operator\n * @param {string} columnUid - Defines the column uid\n * @param {Column} column - Defines the column\n * @param {string} columnType - Defines the column type\n * @param {Dialog} dlgObj - Defines the dialog\n * @param {string} previousValue - Defines the previous operator\n * @returns {void}\n * @hidden\n */\nfunction toggleFilterUI(operator, columnUid, column, columnType, dlgObj, previousValue) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterTemplate)) {\n var columnID = '';\n if (columnType === 'string') {\n columnID = 'strui-' + columnUid;\n }\n else if (columnType === 'number') {\n columnID = 'numberui-' + columnUid;\n }\n else if (columnType === 'boolean') {\n columnID = 'bool-ui-' + columnUid;\n }\n else if (columnType === 'date') {\n columnID = 'dateui-' + columnUid;\n }\n var isPreviousValue = previousValue === 'in' || previousValue === 'notin';\n var isMultiSelect = operator === 'in' || operator === 'notin';\n var multiselectParent = parentsUntil(dlgObj.element.querySelector(\"#multiselect\" + columnID), 'e-control-wrapper');\n var singleInputParent = parentsUntil(dlgObj.element.querySelector(\"#\" + columnID), 'e-popup-flmenu');\n if (multiselectParent) {\n multiselectParent.style.display = isMultiSelect ? 'inline-flex' : 'none';\n }\n if (singleInputParent) {\n singleInputParent.style.display = isMultiSelect ? 'none' : 'inline-flex';\n }\n }\n}\n/**\n * @param {Element} elem - Defines the element\n * @returns {void}\n * @hidden\n */\nfunction toogleCheckbox(elem) {\n var span = elem.querySelector('.e-frame');\n var input = span.previousSibling;\n if (span.classList.contains('e-check')) {\n input.checked = false;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(span, ['e-uncheck'], ['e-check']);\n }\n else {\n input.checked = true;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(span, ['e-check'], ['e-uncheck']);\n }\n}\n/**\n * @param {HTMLInputElement} elem - Defines the element\n * @param {boolean} checked - Defines is checked\n * @returns {void}\n * @hidden\n */\nfunction setChecked(elem, checked) {\n elem.checked = checked;\n}\n/**\n * @param {string} uid - Defines the string\n * @param {Element} elem - Defines the Element\n * @param {string} className - Defines the classname\n * @returns {Element} Returns the box wrap\n * @hidden\n */\nfunction createCboxWithWrap(uid, elem, className) {\n var div = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: className });\n div.appendChild(elem);\n div.setAttribute('uid', uid);\n return div;\n}\n/**\n * @param {Element} elem - Defines the element\n * @param {boolean} checked - Defines is checked\n * @returns {void}\n * @hidden\n */\nfunction removeAddCboxClasses(elem, checked) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([elem], ['e-check', 'e-stop', 'e-uncheck']);\n if (checked) {\n elem.classList.add('e-check');\n }\n else {\n elem.classList.add('e-uncheck');\n }\n}\n/**\n * Refresh the Row model's foreign data.\n *\n * @param {IRow} row - Grid Row model object.\n * @param {Column[]} columns - Foreign columns array.\n * @param {Object} data - Updated Row data.\n * @returns {void}\n * @hidden\n */\nfunction refreshForeignData(row, columns, data) {\n for (var i = 0; i < (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns) ? columns.length : 0); i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(columns[parseInt(i.toString(), 10)].field, getForeignData(columns[parseInt(i.toString(), 10)], data), row.foreignKeyData);\n }\n var cells = row.cells;\n for (var i = 0; i < cells.length; i++) {\n if (cells[parseInt(i.toString(), 10)].isForeignKey) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('foreignKeyData', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(cells[parseInt(i.toString(), 10)].column.field, row.foreignKeyData), cells[parseInt(i.toString(), 10)]);\n }\n }\n}\n/**\n * Get the foreign data for the corresponding cell value.\n *\n * @param {Column} column - Foreign Key column\n * @param {Object} data - Row data.\n * @param {string | number} lValue - cell value.\n * @param {Object} foreignKeyData - foreign data source.\n * @returns {Object} Returns the object\n * @hidden\n */\nfunction getForeignData(column, data, lValue, foreignKeyData) {\n var fField = column.foreignKeyField;\n var key = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(lValue) ? lValue : valueAccessor(column.field, data, column));\n key = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(key) ? '' : key;\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query();\n var fdata = foreignKeyData || ((column.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager) && column.dataSource.dataSource.json.length ?\n column.dataSource.dataSource.json : column.columnData);\n if (key.getDay) {\n query.where(getDatePredicate({ field: fField, operator: 'equal', value: key, matchCase: false }));\n }\n else {\n query.where(fField, '==', key, false);\n }\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager(fdata).executeLocal(query);\n}\n/**\n * To use to get the column's object by the foreign key value.\n *\n * @param {string} foreignKeyValue - Defines ForeignKeyValue.\n * @param {Column[]} columns - Array of column object.\n * @returns {Column} Returns the element\n * @hidden\n */\nfunction getColumnByForeignKeyValue(foreignKeyValue, columns) {\n var column;\n return columns.some(function (col) {\n column = col;\n return col.foreignKeyValue === foreignKeyValue;\n }) && column;\n}\n/**\n * @param {number} value - Defines the date or month value\n * @returns {string} Returns string\n * @hidden\n */\nfunction padZero(value) {\n if (value < 10) {\n return '0' + value;\n }\n return String(value);\n}\n/**\n * @param {PredicateModel} filterObject - Defines the filterObject\n * @param {string} type - Defines the type\n * @param {boolean} isExecuteLocal - Defines whether the data actions performed in client and used for dateonly type field\n * @returns {Predicate} Returns the Predicate\n * @hidden\n */\nfunction getDatePredicate(filterObject, type, isExecuteLocal) {\n var datePredicate;\n var prevDate;\n var nextDate;\n var prevObj = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, getActualProperties(filterObject));\n var nextObj = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, getActualProperties(filterObject));\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterObject.value) || filterObject.value === '') {\n datePredicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Predicate(prevObj.field, prevObj.operator, prevObj.value, false);\n return datePredicate;\n }\n var value = new Date(filterObject.value);\n if (type === 'dateonly' && !isExecuteLocal) {\n if (typeof (prevObj.value) === 'string') {\n prevObj.value = new Date(prevObj.value);\n }\n var dateOnlyString = prevObj.value.getFullYear() + '-' + padZero(prevObj.value.getMonth() + 1) + '-' + padZero(prevObj.value.getDate());\n var predicates = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Predicate(prevObj.field, prevObj.operator, dateOnlyString, false);\n datePredicate = predicates;\n }\n else {\n filterObject.operator = filterObject.operator.toLowerCase();\n if (filterObject.operator === 'equal' || filterObject.operator === 'notequal') {\n if (type === 'datetime') {\n prevDate = new Date(value.setSeconds(value.getSeconds() - 1));\n nextDate = new Date(value.setSeconds(value.getSeconds() + 2));\n filterObject.value = new Date(value.setSeconds(nextDate.getSeconds() - 1));\n }\n else {\n prevDate = new Date(value.setHours(0) - 1);\n nextDate = new Date(value.setHours(24));\n }\n prevObj.value = prevDate;\n nextObj.value = nextDate;\n if (filterObject.operator === 'equal') {\n prevObj.operator = 'greaterthan';\n nextObj.operator = 'lessthan';\n }\n else if (filterObject.operator === 'notequal') {\n prevObj.operator = 'lessthanorequal';\n nextObj.operator = 'greaterthanorequal';\n }\n var predicateSt = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Predicate(prevObj.field, prevObj.operator, prevObj.value, false);\n var predicateEnd = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Predicate(nextObj.field, nextObj.operator, nextObj.value, false);\n datePredicate = filterObject.operator === 'equal' ? predicateSt.and(predicateEnd) : predicateSt.or(predicateEnd);\n }\n else {\n if (type === 'date' && (filterObject.operator === 'lessthanorequal' || filterObject.operator === 'greaterthan')) {\n prevObj.value = new Date(value.setHours(24) - 1);\n }\n if (typeof (prevObj.value) === 'string') {\n prevObj.value = new Date(prevObj.value);\n }\n var predicates = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Predicate(prevObj.field, prevObj.operator, prevObj.value, false);\n datePredicate = predicates;\n }\n }\n if (filterObject.setProperties) {\n filterObject.setProperties({ ejpredicate: datePredicate }, true);\n }\n else {\n filterObject.ejpredicate = datePredicate;\n }\n return datePredicate;\n}\n/**\n * @param {IGrid} grid - Defines the IGrid\n * @returns {boolean} Returns true if group adaptive is true\n * @hidden\n */\nfunction isGroupAdaptive(grid) {\n return grid.enableVirtualization && grid.groupSettings.columns.length > 0 && grid.isVirtualAdaptive &&\n !grid.groupSettings.enableLazyLoading;\n}\n/**\n * @param {string} field - Defines the Field\n * @param {Object} object - Defines the objec\n * @returns {any} Returns the object\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getObject(field, object) {\n if (field === void 0) { field = ''; }\n if (field) {\n var value = object;\n var splits = field.split('.');\n for (var i = 0; i < splits.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value); i++) {\n value = value[splits[parseInt(i.toString(), 10)]];\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(value)) {\n var newCase = splits[parseInt(i.toString(), 10)].charAt(0).toUpperCase()\n + splits[parseInt(i.toString(), 10)].slice(1);\n value = object[\"\" + newCase] || object[(\"\" + newCase).charAt(0).toLowerCase() + (\"\" + newCase).slice(1)];\n }\n }\n return value;\n }\n}\n/**\n * @param {string | Object} format - defines the format\n * @param {string} colType - Defines the coltype\n * @returns {string} Returns the custom Data format\n * @hidden\n */\nfunction getCustomDateFormat(format, colType) {\n var intl = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization();\n var formatvalue;\n var formatter = 'format';\n var type = 'type';\n if (colType === 'date') {\n formatvalue = typeof (format) === 'object' ?\n intl.getDatePattern({ type: format[\"\" + type] ? format[\"\" + type] : 'date', format: format[\"\" + formatter] }, false) :\n intl.getDatePattern({ type: 'dateTime', skeleton: format }, false);\n }\n else {\n formatvalue = typeof (format) === 'object' ?\n intl.getDatePattern({ type: format[\"\" + type] ? format[\"\" + type] : 'dateTime', format: format[\"\" + formatter] }, false) :\n intl.getDatePattern({ type: 'dateTime', skeleton: format }, false);\n }\n return formatvalue;\n}\n/**\n * @param {IGrid} gObj - Defines the IGrid\n * @param {HierarchyGridPrintMode} hierarchyPrintMode - Defines the hierarchyPrintMode\n * @returns {Object} Returns the object\n * @hidden\n */\nfunction getExpandedState(gObj, hierarchyPrintMode) {\n var rows = gObj.getRowsObject();\n var obj = {};\n for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {\n var row = rows_1[_i];\n if (row.isExpand && !row.isDetailRow) {\n var index = gObj.allowPaging && gObj.printMode === 'AllPages' ? row.index +\n (gObj.pageSettings.currentPage * gObj.pageSettings.pageSize) - gObj.pageSettings.pageSize : row.index;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index)) {\n obj[parseInt(index.toString(), 10)] = {};\n obj[parseInt(index.toString(), 10)].isExpand = true;\n if (gObj.childGrid) {\n obj[parseInt(index.toString(), 10)].gridModel = getPrintGridModel(row.childGrid, hierarchyPrintMode);\n obj[parseInt(index.toString(), 10)].gridModel.query = gObj.childGrid.query;\n }\n }\n }\n }\n return obj;\n}\n/**\n * @param {IGrid} gObj - Defines the grid objct\n * @param {HierarchyGridPrintMode} hierarchyPrintMode - Defines the hierarchyPrintMode\n * @returns {IGrid} Returns the IGrid\n * @hidden\n */\nfunction getPrintGridModel(gObj, hierarchyPrintMode) {\n if (hierarchyPrintMode === void 0) { hierarchyPrintMode = 'Expanded'; }\n var printGridModel = {};\n if (!gObj) {\n return printGridModel;\n }\n for (var _i = 0, _a = _actions_print__WEBPACK_IMPORTED_MODULE_7__.Print.printGridProp; _i < _a.length; _i++) {\n var key = _a[_i];\n if (key === 'columns') {\n printGridModel[\"\" + key] = getActualPropFromColl(gObj[\"\" + key]);\n }\n else if (key === 'allowPaging') {\n printGridModel[\"\" + key] = gObj.printMode === 'CurrentPage';\n }\n else {\n printGridModel[\"\" + key] = getActualProperties(gObj[\"\" + key]);\n }\n }\n printGridModel['enableHover'] = false;\n if ((gObj.childGrid || gObj.detailTemplate) && hierarchyPrintMode !== 'None') {\n printGridModel.expandedRows = getExpandedState(gObj, hierarchyPrintMode);\n }\n return printGridModel;\n}\n/**\n * @param {Object} copied - Defines the copied object\n * @param {Object} first - Defines the first object\n * @param {Object} second - Defines the second object\n * @param {boolean} deep - Defines the deep\n * @returns {Object} Returns the extended object\n * @hidden\n */\nfunction extendObjWithFn(copied, first, second, deep) {\n var res = copied || {};\n var len = arguments.length;\n if (deep) {\n len = len - 1;\n }\n for (var i = 1; i < len; i++) {\n // eslint-disable-next-line prefer-rest-params\n if (!arguments[parseInt(i.toString(), 10)]) {\n continue;\n }\n // eslint-disable-next-line prefer-rest-params\n var obj1 = arguments[parseInt(i.toString(), 10)];\n var keys = Object.keys(Object.getPrototypeOf(obj1)).length ?\n Object.keys(obj1).concat(getPrototypesOfObj(obj1)) : Object.keys(obj1);\n for (var i_1 = 0; i_1 < keys.length; i_1++) {\n var source = res[keys[parseInt(i_1.toString(), 10)]];\n var cpy = obj1[keys[parseInt(i_1.toString(), 10)]];\n var cln = void 0;\n if (deep && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isObject)(cpy) || Array.isArray(cpy))) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isObject)(cpy)) {\n cln = source ? source : {};\n res[keys[parseInt(i_1.toString(), 10)]] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, cln, cpy, deep);\n }\n else {\n cln = source ? source : [];\n res[keys[parseInt(i_1.toString(), 10)]] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)([], cln, cpy, deep);\n }\n }\n else {\n res[keys[parseInt(i_1.toString(), 10)]] = cpy;\n }\n }\n }\n return res;\n}\n/**\n * @param {Object} obj - Defines the obj\n * @returns {string[]} Returns the string\n * @hidden\n */\nfunction getPrototypesOfObj(obj) {\n var keys = [];\n while (Object.getPrototypeOf(obj) && Object.keys(Object.getPrototypeOf(obj)).length) {\n keys = keys.concat(Object.keys(Object.getPrototypeOf(obj)));\n obj = Object.getPrototypeOf(obj);\n }\n return keys;\n}\n/**\n * @param {Column[]} column - Defines the Column\n * @returns {number} Returns the column Depth\n * @hidden\n */\nfunction measureColumnDepth(column) {\n var max = 0;\n for (var i = 0; i < (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) ? column.length : 0); i++) {\n var depth = checkDepth(column[parseInt(i.toString(), 10)], 0);\n if (max < depth) {\n max = depth;\n }\n }\n return max + 1;\n}\n/**\n * @param {Column} col - Defines the Column\n * @param {number} index - Defines the index\n * @returns {number} Returns the depth\n * @hidden\n */\nfunction checkDepth(col, index) {\n var max = index;\n var indices = [];\n if (col.columns) {\n index++;\n for (var i = 0; i < col.columns.length; i++) {\n indices[parseInt(i.toString(), 10)] = checkDepth(col.columns[parseInt(i.toString(), 10)], index);\n }\n for (var j = 0; j < indices.length; j++) {\n if (max < indices[parseInt(j.toString(), 10)]) {\n max = indices[parseInt(j.toString(), 10)];\n }\n }\n index = max;\n }\n return index;\n}\n/**\n * @param {IGrid} gObj - Defines the IGrid\n * @param {PredicateModel[]} filteredCols - Defines the PredicateModel\n * @returns {void}\n * @hidden\n */\nfunction refreshFilteredColsUid(gObj, filteredCols) {\n for (var i = 0; i < filteredCols.length; i++) {\n filteredCols[parseInt(i.toString(), 10)].uid = filteredCols[parseInt(i.toString(), 10)].isForeignKey ?\n getColumnByForeignKeyValue(filteredCols[parseInt(i.toString(), 10)].field, gObj.getForeignKeyColumns()).uid\n : gObj.enableColumnVirtualization ? getColumnModelByFieldName(gObj, filteredCols[parseInt(i.toString(), 10)].field).uid\n : gObj.getColumnByField(filteredCols[parseInt(i.toString(), 10)].field).uid;\n }\n}\n/** @hidden */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nvar Global;\n(function (Global) {\n // eslint-disable-next-line prefer-const\n Global.timer = null;\n})(Global || (Global = {}));\n/**\n * @param {Element} element - Defines the element\n * @returns {Object} Returns the transform values\n * @hidden\n */\nfunction getTransformValues(element) {\n var style = document.defaultView.getComputedStyle(element, null);\n var transformV = style.getPropertyValue('transform');\n var replacedTv = transformV.replace(/,/g, '');\n var translateX = parseFloat((replacedTv).split(' ')[4]);\n var translateY = parseFloat((replacedTv).split(' ')[5]);\n return { width: translateX, height: translateY };\n}\n/**\n * @param {Element} rootElement - Defines the root Element\n * @param {Element} element - Defines the element\n * @returns {void}\n * @hidden\n */\nfunction applyBiggerTheme(rootElement, element) {\n if (rootElement.classList.contains('e-bigger')) {\n element.classList.add('e-bigger');\n }\n}\n/**\n * @param {IGrid} gObj - Defines grid object\n * @returns {number} - Returns scroll width\n * @hidden\n */\nfunction getScrollWidth(gObj) {\n var scrollElem = gObj.getContent().firstElementChild;\n return scrollElem.scrollWidth > scrollElem.offsetWidth ? getScrollBarWidth() : 0;\n}\n/**\n * @param {IGrid} gObj - Defines grid object\n * @param {number} idx - Defines the index\n * @returns {number} Returns colSpan index\n * @hidden\n */\nfunction resetColspanGroupCaption(gObj, idx) {\n var colspan = 0;\n var cols = gObj.getColumns();\n var width = idx * 30;\n if (gObj.isRowDragable()) {\n colspan++;\n width += 30;\n }\n colspan += (gObj.groupSettings.columns.length - idx);\n width += (30 * (gObj.groupSettings.columns.length - idx));\n var gridWidth = (gObj.width === 'auto' ? gObj.element.offsetWidth : gObj.width.toString().indexOf('%') !== -1 ?\n gObj.element.getBoundingClientRect().width : parseInt(gObj.width.toString(), 10)) - getScrollWidth(gObj);\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseInt(cols[parseInt(i.toString(), 10)].width.toString(), 10);\n colspan++;\n }\n if (width > gridWidth) {\n colspan--;\n break;\n }\n }\n return colspan;\n}\n/**\n * @param {HTMLElement} tr - Defines the tr Element\n * @param {IGrid} gObj - Defines grid object\n * @returns {void}\n * @hidden\n */\nfunction groupCaptionRowLeftRightPos(tr, gObj) {\n var width = 0;\n var idx = 0;\n var frozenCount = gObj.getVisibleFrozenLeftCount();\n for (var j = 0; j < tr.childNodes.length; j++) {\n var td = tr.childNodes[parseInt(j.toString(), 10)];\n if (frozenCount === idx) {\n break;\n }\n if (td.classList.contains('e-groupcaption') || td.classList.contains('e-summarycell')) {\n idx += parseInt(td.getAttribute('colspan'), 10);\n }\n td.classList.add('e-leftfreeze');\n if (td.classList.contains('e-groupcaption') && parseInt(td.getAttribute('colspan'), 10) === 1) {\n td.classList.add('e-freezeleftborder');\n }\n applyStickyLeftRightPosition(td, width, gObj.enableRtl, 'Left');\n if (td.classList.contains('e-indentcell') || td.classList.contains('e-recordplusexpand') ||\n td.classList.contains('e-recordpluscollapse')) {\n width += 30;\n }\n if (td.classList.contains('e-groupcaption')) {\n var colspan = parseInt(td.getAttribute('colspan'), 10);\n if (gObj.isRowDragable()) {\n colspan--;\n width += 30;\n }\n colspan = colspan - (gObj.groupSettings.columns.length - j);\n width = width + (30 * (gObj.groupSettings.columns.length - j));\n var cols = gObj.getColumns();\n for (var i = 0; i < cols.length; i++) {\n if ((parseInt(td.getAttribute('colspan'), 10) > 1) &&\n (parseInt(cols[parseInt(i.toString(), 10)].width.toString(), 10)\n + width) > (parseInt(gObj.width.toString(), 10) - getScrollWidth(gObj))) {\n var newColspan = resetColspanGroupCaption(gObj, j);\n td.setAttribute('colspan', newColspan.toString());\n break;\n }\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseInt(cols[parseInt(i.toString(), 10)].width.toString(), 10);\n colspan--;\n }\n if (colspan === 0) {\n break;\n }\n }\n }\n if (td.classList.contains('e-summarycell')) {\n var uid_1 = td.getAttribute('e-mappinguid');\n var column = gObj.getColumnByUid(uid_1);\n width += parseInt(column.width.toString(), 10);\n }\n }\n}\n/**\n * @param {Element} row - Defines row element\n * @param {IGrid} gridObj - Defines grid object\n * @returns {boolean} Returns isRowEnteredInGrid\n * @hidden\n */\nfunction ensureLastRow(row, gridObj) {\n var content = gridObj.getContent().firstElementChild;\n return row && (row.getBoundingClientRect().top - content.getBoundingClientRect().top +\n gridObj.getRowHeight()) > content.offsetHeight;\n}\n/**\n * @param {Element} row - Defines row element\n * @param {number} rowTop - Defines row top number\n * @returns {boolean} Returns first row is true\n * @hidden\n */\nfunction ensureFirstRow(row, rowTop) {\n return row && row.getBoundingClientRect().top < rowTop;\n}\n/**\n * @param {number} index - Defines index\n * @param {IGrid} gObj - Defines grid object\n * @returns {boolean} Returns isRowEnteredInGrid\n * @hidden\n */\nfunction isRowEnteredInGrid(index, gObj) {\n var rowHeight = gObj.getRowHeight();\n var startIndex = gObj.getContent().firstElementChild.scrollTop / rowHeight;\n var endIndex = startIndex + (gObj.getContent().firstElementChild.offsetHeight / rowHeight);\n return index < endIndex && index > startIndex;\n}\n/**\n * @param {IGrid} gObj - Defines the grid object\n * @param {Object} data - Defines the query\n * @returns {number} Returns the edited data index\n * @hidden\n */\nfunction getEditedDataIndex(gObj, data) {\n var keyField = gObj.getPrimaryKeyFieldNames()[0];\n var dataIndex;\n gObj.getCurrentViewRecords().filter(function (e, index) {\n if (keyField.includes('.')) {\n var currentValue = getObject(keyField, e);\n var originalValue = getObject(keyField, data);\n if (currentValue === originalValue) {\n dataIndex = index;\n }\n }\n else {\n if (e[\"\" + keyField] === data[\"\" + keyField]) {\n dataIndex = index;\n }\n }\n });\n return dataIndex;\n}\n/**\n * @param {Object} args - Defines the argument\n * @param {Query} query - Defines the query\n * @returns {FilterStateObj} Returns the filter state object\n * @hidden\n */\nfunction eventPromise(args, query) {\n var state = getStateEventArgument(query);\n var def = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Deferred();\n state.dataSource = def.resolve;\n state.action = args;\n return { state: state, deffered: def };\n}\n/**\n * @param {Query} query - Defines the query\n * @returns {Object} Returns the state event argument\n * @hidden\n */\nfunction getStateEventArgument(query) {\n var adaptr = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.UrlAdaptor();\n var dm = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager({ url: '', adaptor: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.UrlAdaptor });\n var state = adaptr.processQuery(dm, query);\n var data = JSON.parse(state.data);\n return data;\n}\n/**\n * @param {IGrid} gObj - Defines the Igrid\n * @returns {boolean} Returns the ispercentageWidth\n * @hidden\n */\nfunction ispercentageWidth(gObj) {\n var columns = gObj.getVisibleColumns();\n var percentageCol = 0;\n var undefinedWidthCol = 0;\n for (var i = 0; i < columns.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(columns[parseInt(i.toString(), 10)].width)) {\n undefinedWidthCol++;\n }\n else if (columns[parseInt(i.toString(), 10)].width.toString().indexOf('%') !== -1) {\n percentageCol++;\n }\n }\n return (gObj.width === 'auto' || typeof (gObj.width) === 'string' && gObj.width.indexOf('%') !== -1) &&\n !gObj.groupSettings.showGroupedColumn && gObj.groupSettings.columns.length\n && percentageCol && !undefinedWidthCol;\n}\n/**\n * @param {IGrid} gObj - Defines the IGrid\n * @param {Row[]} rows - Defines the row\n * @param {HTMLTableRowElement[]} rowElms - Row elements\n * @param {number} index - Row index\n * @param {number} startRowIndex - Start Row Index\n * @returns {void}\n * @hidden\n */\nfunction resetRowIndex(gObj, rows, rowElms, index, startRowIndex) {\n var startIndex = index ? index : 0;\n for (var i = startRowIndex ? startRowIndex : 0; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)] && rows[parseInt(i.toString(), 10)].isDataRow) {\n rows[parseInt(i.toString(), 10)].index = startIndex;\n rows[parseInt(i.toString(), 10)].isAltRow = gObj.enableAltRow ? startIndex % 2 !== 0 : false;\n rowElms[parseInt(i.toString(), 10)].setAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex, (startIndex + 1).toString());\n if (rows[parseInt(i.toString(), 10)].isAltRow) {\n rowElms[parseInt(i.toString(), 10)].classList.add('e-altrow');\n }\n else {\n rowElms[parseInt(i.toString(), 10)].classList.remove('e-altrow');\n }\n for (var j = 0; j < rowElms[parseInt(i.toString(), 10)].cells.length; j++) {\n rowElms[parseInt(i.toString(), 10)].cells[parseInt(j.toString(), 10)].setAttribute('index', startIndex.toString());\n }\n startIndex++;\n }\n }\n if (!rows.length) {\n gObj.renderModule.emptyRow(true);\n }\n}\n/**\n * @param {IGrid} gObj - Defines the IGrid\n * @returns {void}\n * @hidden\n */\nfunction resetCachedRowIndex(gObj) {\n var rowObjects = gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache ?\n gObj.getRowsObject() : gObj.vRows;\n var rowElements = gObj.getRows();\n for (var i = 0, startIndex = 0, k = 0; i < rowObjects.length; i++) {\n var rowObject = rowObjects[parseInt(i.toString(), 10)];\n if (rowObject.isDataRow) {\n rowObject.index = startIndex;\n rowObject.isAltRow = gObj.enableAltRow ? startIndex % 2 !== 0 : false;\n var rowElement = gObj.getRowElementByUID(rowObject.uid);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowElement)) {\n rowElements[parseInt(k.toString(), 10)] = rowElement;\n rowElement.setAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex, (startIndex + 1).toString());\n if (rowObject.isAltRow) {\n rowElement.classList.add('e-altrow');\n }\n else {\n rowElement.classList.remove('e-altrow');\n }\n for (var j = 0; j < rowElement.cells.length; j++) {\n rowElement.cells[parseInt(j.toString(), 10)].setAttribute('index', startIndex.toString());\n }\n k++;\n }\n startIndex++;\n }\n }\n if (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache) {\n gObj.infiniteScrollModule.resetInfiniteCache(rowObjects);\n }\n}\n/**\n * @param {IGrid} gObj - Defines the IGrid\n * @param {RowDropEventArgs} args - Defines the row drop event argument\n * @param {HTMLTableRowElement[]} tr - Row elements\n * @param {Row} dropRObj - dropped row object\n * @returns {void}\n * @hidden\n */\nfunction groupReorderRowObject(gObj, args, tr, dropRObj) {\n var rowObjects = gObj.enableVirtualization ? gObj.vRows : gObj.getRowsObject();\n var orderChangeRowObjects = [];\n var dropRowObject = dropRObj ? dropRObj :\n gObj.getRowObjectFromUID(args.target.closest('tr').getAttribute('data-uid'));\n var rowObjectDropIndex;\n for (var i = 0; i < args.rows.length; i++) {\n var orderChangeRowObject = gObj.getRowObjectFromUID(args.rows[parseInt(i.toString(), 10)].getAttribute('data-uid'));\n if (dropRowObject === orderChangeRowObject) {\n rowObjectDropIndex = rowObjects.indexOf(dropRowObject);\n }\n orderChangeRowObjects.push(rowObjects.splice(rowObjects.indexOf(orderChangeRowObject), 1)[0]);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowObjectDropIndex)) {\n rowObjectDropIndex = rowObjects.indexOf(dropRowObject);\n if (args.fromIndex > args.dropIndex) {\n rowObjects.splice.apply(rowObjects, [rowObjectDropIndex, 0].concat(orderChangeRowObjects));\n }\n else {\n rowObjects.splice.apply(rowObjects, [rowObjectDropIndex + 1, 0].concat(orderChangeRowObjects));\n }\n }\n else {\n rowObjects.splice.apply(rowObjects, [rowObjectDropIndex, 0].concat(orderChangeRowObjects));\n }\n if (!gObj.enableVirtualization && !gObj.infiniteScrollSettings.enableCache) {\n var record = {};\n var currentViewData = gObj.getCurrentViewRecords();\n for (var i = 0, len = tr.length; i < len; i++) {\n var index = parseInt(tr[parseInt(i.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n record[parseInt(i.toString(), 10)] = currentViewData[parseInt(index.toString(), 10)];\n }\n var rows = gObj.getRows();\n for (var i = 0, len = tr.length; i < len; i++) {\n rows[parseInt(i.toString(), 10)] = tr[parseInt(i.toString(), 10)];\n currentViewData[parseInt(i.toString(), 10)] = record[parseInt(i.toString(), 10)];\n }\n }\n if (gObj.enableInfiniteScrolling && gObj.infiniteScrollSettings.enableCache) {\n gObj.infiniteScrollModule.resetInfiniteCache(rowObjects);\n }\n}\n/**\n * @param {IGrid} gObj - Defines the grid object\n * @param {Object} changes - Defines the changes\n * @param {string} type - Defines the type\n * @param {string} keyField - Defines the keyfield\n * @returns {void}\n * @hidden\n */\nfunction compareChanges(gObj, changes, type, keyField) {\n var newArray = gObj.dataToBeUpdated[\"\" + type].concat(changes[\"\" + type]).reduce(function (r, o) {\n r[o[\"\" + keyField]] = r[o[\"\" + keyField]] === undefined ? o : Object.assign(r[o[\"\" + keyField]], o);\n return r;\n }, {});\n gObj.dataToBeUpdated[\"\" + type] = Object.keys(newArray).map(function (k) { return newArray[\"\" + k]; });\n}\n/**\n * @param {IGrid} gObj - Defines the grid object\n * @returns {void}\n * @hidden\n */\nfunction setRowElements(gObj) {\n if (gObj.enableInfiniteScrolling && (gObj.childGrid || gObj.detailTemplate)) {\n (gObj).contentModule.rowElements = [].slice.call(gObj.getContentTable().rows)\n .filter(function (row) { return (row.classList.contains('e-row') || row.classList.contains('e-detailrow'))\n && !row.classList.contains('e-addedrow'); });\n return;\n }\n (gObj).contentModule.rowElements =\n [].slice.call(gObj.element.querySelectorAll('.e-row:not(.e-addedrow):not(.e-cloneproperties .e-row)'));\n}\n/**\n * @param {Element} row - Defines the row\n * @param {number} start - Defines the start index\n * @param {number} end - Defines the end index\n * @returns {void}\n * @hidden\n */\nfunction sliceElements(row, start, end) {\n var cells = row.children;\n var len = cells.length;\n var k = 0;\n for (var i = 0; i < len; i++, k++) {\n if (i >= start && i < end) {\n continue;\n }\n row.removeChild(row.children[parseInt(k.toString(), 10)]);\n k--;\n }\n}\n/**\n * @param {IGrid} gObj - Defines the grid\n * @param {Dialog} dlgObj - Defines the dialog\n * @returns {void}\n * @hidden\n */\nfunction resetDialogAppend(gObj, dlgObj) {\n var element = gObj.createElement('div', { className: 'e-grid-popup', id: gObj.element.id + '_e-popup' });\n var pos = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculatePosition)(gObj.element, 'left', 'Top');\n if (document.getElementById(gObj.element.id + '_e-popup')) {\n element = document.getElementById(gObj.element.id + '_e-popup');\n }\n element.style.top = pos.top + 'px';\n element.style.left = pos.left + 'px';\n element.style.zIndex = (dlgObj.zIndex).toString();\n element.style.width = dlgObj.element.offsetWidth + 'px';\n element.appendChild(dlgObj.element);\n var sbPanel = parentsUntil(gObj.element, 'sb-demo-section') || parentsUntil(gObj.element, 'e-grid-dialog-fixed');\n if (sbPanel) {\n var sbPos = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculateRelativeBasedPosition)(gObj.element, sbPanel);\n element.style.top = sbPos.top + 'px';\n element.style.left = sbPos.left + 'px';\n sbPanel.insertBefore(element, sbPanel.firstChild);\n }\n else {\n document.body.insertBefore(element, document.body.firstChild);\n }\n}\n/**\n * @param {Column} column - Defines the column\n * @param {string} uid - Defines the uid\n * @returns {boolean} Returns is child column\n * @hidden\n */\nfunction isChildColumn(column, uid) {\n var uids = [];\n uids.push(column.uid);\n pushuid(column, uids);\n if (uids.indexOf(uid) > -1) {\n return true;\n }\n else {\n return false;\n }\n}\n/**\n * @param {Column} column - Defines the column\n * @param {string[]} uids - Defines the uid\n * @returns {void}\n * @hidden\n */\nfunction pushuid(column, uids) {\n for (var i = 0; i < column.columns.length; i++) {\n if (column.columns[parseInt(i.toString(), 10)].uid) {\n uids.push(column.columns[parseInt(i.toString(), 10)].uid);\n }\n if (column.columns[parseInt(i.toString(), 10)].columns &&\n column.columns[parseInt(i.toString(), 10)].columns.length) {\n pushuid(column.columns[parseInt(i.toString(), 10)], uids);\n }\n }\n}\n/**\n * @param {Column} column - Defines the column\n * @returns {string} Returns the direction\n * @hidden\n */\nfunction frozenDirection(column) {\n if (column.columns[0].freeze || column.columns[0].isFrozen) {\n if (column.columns[0].freeze === 'Left' || column.columns[0].isFrozen) {\n return 'Left';\n }\n else if (column.columns[0].freeze === 'Right') {\n return 'Right';\n }\n else if (column.columns[0].freeze === 'Fixed') {\n return 'Fixed';\n }\n else {\n return 'None';\n }\n }\n else {\n if (column.columns[0].columns && column.columns[0].columns.length) {\n return frozenDirection(column.columns[0]);\n }\n else {\n return 'None';\n }\n }\n}\n/**\n * @param {Element} row - Defines the row\n * @returns {void}\n * @hidden\n */\nfunction addFixedColumnBorder(row) {\n if (row.querySelector('.e-fixedfreeze')) {\n var cells = [].slice.call(row.querySelectorAll('.e-filterbarcell:not(.e-hide),.e-summarycell:not(.e-hide),.e-headercell:not(.e-hide),.e-rowcell:not(.e-hide)'));\n for (var j = 0; j < cells.length; j++) {\n if (cells[parseInt(j.toString(), 10)].classList.contains('e-fixedfreeze') && (!(cells[j - 1]) ||\n (cells[j - 1] && !cells[j - 1].classList.contains('e-fixedfreeze')))) {\n cells[parseInt(j.toString(), 10)].classList.add('e-freezeleftborder');\n }\n if (cells[parseInt(j.toString(), 10)].classList.contains('e-fixedfreeze') && (!(cells[j + 1]) ||\n (cells[j + 1] && !cells[j + 1].classList.contains('e-fixedfreeze')))) {\n cells[parseInt(j.toString(), 10)].classList.add('e-freezerightborder');\n }\n }\n }\n}\n/**\n * @param {HTMLElement} node - Defines the row\n * @param {number} width - Defines the width\n * @param {boolean} isRtl - Boolean property\n * @param {string} position - Defines the position\n * @returns {void}\n * @hidden\n */\nfunction applyStickyLeftRightPosition(node, width, isRtl, position) {\n if (position === 'Left') {\n if (isRtl) {\n node.style.right = width + 'px';\n }\n else {\n node.style.left = width + 'px';\n }\n }\n if (position === 'Right') {\n if (isRtl) {\n node.style.left = width + 'px';\n }\n else {\n node.style.right = width + 'px';\n }\n }\n}\n/**\n * @param {IGrid} gObj - Defines the grid\n * @param {Column} column - Defines the column\n * @param {Element} node - Defines the Element\n * @param {number} colSpan - Defines the colSpan value\n * @returns {void}\n * @hidden\n */\nfunction resetColandRowSpanStickyPosition(gObj, column, node, colSpan) {\n var columns = gObj.getColumns();\n var index = column.index;\n if (column.freeze === 'Left' && column.border !== 'Left') {\n var idx = index + (colSpan - 1);\n while (columns[parseInt(idx.toString(), 10)].visible === false) {\n idx++;\n }\n if (columns[parseInt(idx.toString(), 10)].border === 'Left') {\n node.classList.add('e-freezeleftborder');\n }\n }\n else if (column.freeze === 'Right' || column.freeze === 'Fixed') {\n var width = 0;\n for (var j = index + 1; j < index + colSpan; j++) {\n if (j === columns.length) {\n break;\n }\n if (columns[parseInt(j.toString(), 10)].visible) {\n width += parseInt(columns[parseInt(j.toString(), 10)].width.toString(), 10);\n }\n else {\n colSpan++;\n }\n }\n if (gObj.enableRtl) {\n node.style.left = parseInt(node.style.left, 10) - width + 'px';\n }\n else {\n node.style.right = parseInt(node.style.right, 10) - width + 'px';\n }\n }\n}\n/**\n * @param {IGrid} gObj - Defines the grid\n * @param {number} rowIndex - Defines the row index\n * @param {number} colIndex - Defines the colum index\n * @returns {void}\n * @hidden\n */\nfunction getCellFromRow(gObj, rowIndex, colIndex) {\n var row = (gObj.getRowByIndex(rowIndex));\n for (var i = 0; i < row.cells.length; i++) {\n if (parseInt(row.cells[parseInt(i.toString(), 10)].getAttribute('aria-colindex').toString(), 10) - 1 === colIndex) {\n return row.cells[parseInt(i.toString(), 10)];\n }\n }\n return null;\n}\n/**\n * @param {IGrid} gObj - Defines the grid\n * @param {Column} column - Defines the column\n * @param {Element} node - Defines the Element\n * @returns {void}\n * @hidden\n */\nfunction addStickyColumnPosition(gObj, column, node) {\n if (column.freeze === 'Left' || column.isFrozen) {\n node.classList.add('e-leftfreeze');\n if (column.border === 'Left') {\n node.classList.add('e-freezeleftborder');\n }\n if (column.index === 0) {\n applyStickyLeftRightPosition(node, (gObj.getIndentCount() * 30), gObj.enableRtl, 'Left');\n if (gObj.enableColumnVirtualization) {\n column.valueX = (gObj.getIndentCount() * 30);\n }\n }\n else {\n var cols = gObj.getColumns();\n var width = gObj.getIndentCount() * 30;\n for (var i = 0; i < cols.length; i++) {\n if (column.uid === cols[parseInt(i.toString(), 10)].uid) {\n break;\n }\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n applyStickyLeftRightPosition(node, width, gObj.enableRtl, 'Left');\n if (gObj.enableColumnVirtualization) {\n column.valueX = width;\n }\n }\n }\n else if (column.freeze === 'Right') {\n node.classList.add('e-rightfreeze');\n var cols = gObj.getColumns();\n if (column.border === 'Right') {\n node.classList.add('e-freezerightborder');\n }\n if (column.index === cols[cols.length - 1].index) {\n var width = gObj.getFrozenMode() === 'Right' && gObj.isRowDragable() ? 30 : 0;\n applyStickyLeftRightPosition(node, width, gObj.enableRtl, 'Right');\n if (gObj.enableColumnVirtualization) {\n column.valueX = width;\n }\n }\n else {\n var width = gObj.getFrozenMode() === 'Right' && gObj.isRowDragable() ? 30 : 0;\n for (var i = cols.length - 1; i >= 0; i--) {\n if (column.uid === cols[parseInt(i.toString(), 10)].uid) {\n break;\n }\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n applyStickyLeftRightPosition(node, width, gObj.enableRtl, 'Right');\n if (gObj.enableColumnVirtualization) {\n column.valueX = width;\n }\n }\n }\n else if (column.freeze === 'Fixed') {\n node.classList.add('e-fixedfreeze');\n var cols = gObj.getColumns();\n var width = 0;\n if (gObj.getVisibleFrozenLeftCount()) {\n width = gObj.getIndentCount() * 30;\n }\n else if (gObj.getFrozenMode() === 'Right') {\n width = gObj.groupSettings.columns.length * 30;\n }\n for (var i = 0; i < cols.length; i++) {\n if (column.uid === cols[parseInt(i.toString(), 10)].uid) {\n break;\n }\n if ((cols[parseInt(i.toString(), 10)].freeze === 'Left' || cols[parseInt(i.toString(), 10)].isFrozen) ||\n cols[parseInt(i.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n }\n applyStickyLeftRightPosition(node, (width - 1), gObj.enableRtl, 'Left');\n width = gObj.getFrozenMode() === 'Right' && gObj.isRowDragable() ? 30 : 0;\n for (var i = cols.length - 1; i >= 0; i--) {\n if (column.uid === cols[parseInt(i.toString(), 10)].uid) {\n break;\n }\n if (cols[parseInt(i.toString(), 10)].freeze === 'Right' || cols[parseInt(i.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n }\n applyStickyLeftRightPosition(node, (width - 1), gObj.enableRtl, 'Right');\n }\n else {\n node.classList.add('e-unfreeze');\n }\n}\n/**\n * @param {IGrid} gObj - Defines the grid Object\n * @param {Column} col - Defines the column\n * @param {number} rowIndex - Defines the rowindex\n * @returns {Element} Returns the element\n * @hidden\n */\nfunction getCellsByTableName(gObj, col, rowIndex) {\n return [].slice.call(gObj.getDataRows()[parseInt(rowIndex.toString(), 10)].getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell));\n}\n/**\n * @param {IGrid} gObj - Defines the column\n * @param {Column} col - Defines the index\n * @param {number} rowIndex - Defines the rules\n * @param {number} index - Defines the movable column rules\n * @returns {Element} Returns the Element\n * @hidden\n */\nfunction getCellByColAndRowIndex(gObj, col, rowIndex, index) {\n return getCellsByTableName(gObj, col, rowIndex)[parseInt(index.toString(), 10)];\n}\n/**\n * @param {Column} col - Defines the column\n * @param {number} index - Defines the index\n * @param {Object} rules - Defines the rules\n * @param {Object} mRules - Defines the movable column rules\n * @param {Object} frRules - Defines the Frozen rules\n * @param {number} len - Defines the length\n * @param {boolean} isCustom - Defines custom form validation\n * @returns {void}\n * @hidden\n */\nfunction setValidationRuels(col, index, rules, mRules, frRules, len, isCustom) {\n if (isCustom) {\n rules[getComplexFieldID(col.field)] = col.validationRules;\n }\n else {\n if (col.getFreezeTableName() === _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.frozenLeft\n || (!index && col.getFreezeTableName() === _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.frozenRight) || len === 1) {\n rules[getComplexFieldID(col.field)] = col.validationRules;\n }\n else if (col.getFreezeTableName() === 'movable' || !col.getFreezeTableName()) {\n mRules[getComplexFieldID(col.field)] = col.validationRules;\n }\n else if (col.getFreezeTableName() === _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.frozenRight) {\n frRules[getComplexFieldID(col.field)] = col.validationRules;\n }\n }\n}\n/**\n * @param {string} numberFormat - Format\n * @param {string} type - Value type\n * @param {boolean} isExcel - Boolean property\n * @param {string} currencyCode - Specifies the currency code to be used for formatting.\n * @returns {string} returns formated value\n * @hidden\n */\nfunction getNumberFormat(numberFormat, type, isExcel, currencyCode) {\n var format;\n var intl = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization();\n if (type === 'number') {\n try {\n format = intl.getNumberPattern({ format: numberFormat, currency: currencyCode, useGrouping: true }, true);\n }\n catch (error) {\n format = numberFormat;\n }\n }\n else if (type === 'date' || type === 'time' || type === 'datetime') {\n try {\n format = intl.getDatePattern({ skeleton: numberFormat, type: type }, isExcel);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format)) {\n // eslint-disable-next-line\n throw 'error';\n }\n }\n catch (error) {\n try {\n format = intl.getDatePattern({ format: numberFormat, type: type }, isExcel);\n }\n catch (error) {\n format = numberFormat;\n }\n }\n }\n else {\n format = numberFormat;\n }\n if (type !== 'number') {\n var patternRegex = /G|H|c|'| a|yy|y|EEEE|E/g;\n var mtch_1 = { 'G': '', 'H': 'h', 'c': 'd', '\\'': '\"', ' a': ' AM/PM', 'yy': 'yy', 'y': 'yyyy', 'EEEE': 'dddd', 'E': 'ddd' };\n format = format.replace(patternRegex, function (pattern) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return mtch_1[\"\" + pattern];\n });\n }\n return format;\n}\n/**\n * @param {IGrid} gObj - Grid instance\n * @returns {void}\n * @hidden\n */\nfunction addBiggerDialog(gObj) {\n if (gObj.enableAdaptiveUI) {\n var dialogs = document.getElementsByClassName('e-responsive-dialog');\n for (var i = 0; i < dialogs.length; i++) {\n dialogs[parseInt(i.toString(), 10)].classList.add('e-bigger');\n }\n }\n}\n/**\n * @param {string} value - specifies the trr\n * @param {Object} mapObject - specifies the idx\n * @returns {Object | string} returns object or string\n * @hidden\n */\nfunction performComplexDataOperation(value, mapObject) {\n var returnObj;\n var length = value.split('.').length;\n var splits = value.split('.');\n var duplicateMap = mapObject;\n for (var i = 0; i < length; i++) {\n returnObj = duplicateMap[splits[parseInt(i.toString(), 10)]];\n duplicateMap = returnObj;\n }\n return returnObj;\n}\n/**\n * @param {Object} tr - specifies the trr\n * @param {number} idx - specifies the idx\n * @param {string} displayVal - specifies the displayval\n * @param {Row} rows - specifies the rows\n * @param {IGrid} parent - Grid instance\n * @param {boolean} isContent - check for content renderer\n * @returns {void}\n * @hidden\n */\nfunction setDisplayValue(tr, idx, displayVal, rows, parent, isContent) {\n var trs = Object.keys(tr);\n var actualIndex = idx;\n for (var i = 0; i < trs.length; i++) {\n var td = tr[trs[parseInt(i.toString(), 10)]].querySelectorAll('td.e-rowcell')[parseInt(idx.toString(), 10)];\n if (parent && !parent.isFrozenGrid() && !parent.isRowDragable()) {\n td = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(td) && (parseInt(td.getAttribute('aria-colindex'), 10) - 1 === idx ||\n (parentsUntil(td, 'e-addedrow') && td.parentElement.childNodes[parseInt(idx.toString(), 10)] === td)))\n ? td : tr[parseInt(i.toString(), 10)].querySelector(\"td[aria-colindex=\\\"\" + (idx + 1) + \"\\\"]\");\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(td)) {\n continue;\n }\n else {\n idx = (parent.getContentTable().querySelector('.e-detailrowcollapse, .e-detailrowexpand')) ?\n (td.cellIndex - 1) : td.cellIndex;\n }\n }\n if (tr[trs[parseInt(i.toString(), 10)]].querySelectorAll('td.e-rowcell').length && td) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(tr[trs[parseInt(i.toString(), 10)]].querySelectorAll('td.e-rowcell')[parseInt(idx.toString(), 10)], { 'display': displayVal });\n if (tr[trs[parseInt(i.toString(), 10)]].querySelectorAll('td.e-rowcell')[parseInt(idx.toString(), 10)].classList.contains('e-hide')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tr[trs[parseInt(i.toString(), 10)]].querySelectorAll('td.e-rowcell')[parseInt(idx.toString(), 10)]], ['e-hide']);\n }\n if ((isContent && parent.isRowDragable()) || (parent && parent.isDetail())) {\n var index = idx + 1;\n rows[trs[parseInt(i.toString(), 10)]].cells[parseInt(index.toString(), 10)].visible = displayVal === '' ? true : false;\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rows[trs[parseInt(i.toString(), 10)]])) {\n rows[trs[parseInt(i.toString(), 10)]].cells[parseInt(idx.toString(), 10)].visible = displayVal === '' ? true : false;\n if (rows[trs[parseInt(i.toString(), 10)]].cells[parseInt(idx.toString(), 10)].visible === false) {\n tr[trs[parseInt(i.toString(), 10)]].querySelectorAll('td.e-rowcell')[parseInt(idx.toString(), 10)].classList.add('e-hide');\n }\n }\n }\n idx = actualIndex;\n }\n }\n}\n// eslint-disable-next-line\n/** @hidden */\nfunction addRemoveEventListener(parent, evt, isOn, module) {\n for (var _i = 0, evt_1 = evt; _i < evt_1.length; _i++) {\n var inst = evt_1[_i];\n if (isOn) {\n parent.on(inst.event, inst.handler, module);\n }\n else {\n parent.off(inst.event, inst.handler);\n }\n }\n}\n// eslint-disable-next-line\n/** @hidden */\nfunction createEditElement(parent, column, classNames, attr) {\n var complexFieldName = getComplexFieldID(column.field);\n attr = Object.assign(attr, {\n id: parent.element.id + complexFieldName,\n name: complexFieldName, 'e-mappinguid': column.uid\n });\n return parent.createElement('input', {\n className: classNames, attrs: attr\n });\n}\n/**\n * @param {IGrid} gObj - Grid instance\n * @param {string} uid - Defines column's uid\n * @returns {Column} returns column model\n * @hidden\n */\nfunction getColumnModelByUid(gObj, uid) {\n var column;\n for (var _i = 0, _a = (gObj.columnModel); _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.uid === uid) {\n column = col;\n break;\n }\n }\n return column;\n}\n/**\n * @param {IGrid} gObj - Grid instance\n * @param {string} field - Defines column's uid\n * @returns {Column} returns column model\n * @hidden\n */\nfunction getColumnModelByFieldName(gObj, field) {\n var column;\n if (!gObj.columnModel) {\n gObj.getColumns();\n }\n for (var _i = 0, _a = (gObj.columnModel); _i < _a.length; _i++) {\n var col = _a[_i];\n if (col.field === field) {\n column = col;\n break;\n }\n }\n return column;\n}\n/**\n * @param {string} id - Defines component id\n * @param {string[]} evts - Defines events\n * @param {object} handlers - Defines event handlers\n * @param {any} instance - Defines class instance\n * @returns {void}\n * @hidden\n */\n// eslint-disable-next-line\nfunction registerEventHandlers(id, evts, handlers, instance) {\n instance.eventHandlers[\"\" + id] = {};\n for (var i = 0; i < evts.length; i++) {\n instance.eventHandlers[\"\" + id][evts[parseInt(i.toString(), 10)]] = handlers[evts[parseInt(i.toString(), 10)]];\n }\n}\n/**\n * @param {any} component - Defines component instance\n * @param {string[]} evts - Defines events\n * @param {any} instance - Defines class instance\n * @returns {void}\n * @hidden\n */\n// eslint-disable-next-line\nfunction removeEventHandlers(component, evts, instance) {\n for (var i = 0; i < evts.length; i++) {\n if (component.isDestroyed) {\n break;\n }\n component.removeEventListener(evts[parseInt(i.toString(), 10)], instance.eventHandlers[component.element.id][evts[parseInt(i.toString(), 10)]]);\n }\n}\n/**\n * @param {IGrid | IXLFilter} parent - Defines parent instance\n * @param {string[]} templates - Defines the templates name which are needs to clear\n * @returns {void}\n * @hidden\n */\nfunction clearReactVueTemplates(parent, templates) {\n parent.destroyTemplate(templates);\n if (parent.isReact) {\n parent.renderTemplates();\n }\n}\n/**\n *\n * @param { HTMLElement[] } removeElem - Defines checkbox wrapper element\n * @returns {void}\n * @hidden\n */\nfunction infiniteRemoveElements(removeElem) {\n for (var i = 0; i < removeElem.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(removeElem[i]);\n }\n}\n/**\n *\n * @param { HTMLElement[] } appendElem - Defines checkbox wrapper element\n * @param { HTMLElement } ulElement - Defines ul element\n * @returns {void}\n * @hidden\n */\nfunction infiniteAppendElements(appendElem, ulElement) {\n for (var i = 0; i < appendElem.length; i++) {\n ulElement.insertBefore(appendElem[i], ulElement.children[i]);\n }\n}\n/**\n *\n * @param { HTMLElement } element - Defines checkbox wrapper element\n * @param { boolean } isChooser - Defines checkbox filter column chooser\n * @returns { number } list height value\n * @hidden\n */\nfunction getListHeight(element, isChooser) {\n var listDiv = isChooser ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('li', { className: 'e-cclist' })\n : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-ftrchk' });\n listDiv.style.visibility = 'hidden';\n if (isChooser) {\n listDiv.style.listStyle = 'none';\n }\n listDiv.innerHTML = isChooser ? '
      A
      ' :\n '
      A
      ';\n element.appendChild(listDiv);\n var rect = listDiv.getBoundingClientRect();\n element.removeChild(listDiv);\n var listHeight = Math.round(rect.height);\n return listHeight;\n}\n/**\n *\n * @param { Element } row - Defines row element\n * @returns { number } row index\n */\nfunction getRowIndexFromElement(row) {\n return parseInt(row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n}\n/**\n *\n * @param { IGrid } grid - Defines grid instance\n * @returns { IGrid } returns parent grid instance\n */\nfunction getParentIns(grid) {\n return grid.parentDetails && grid.parentDetails.parentInstObj ?\n getParentIns(grid.parentDetails.parentInstObj) : grid;\n}\n/**\n *\n * @param { string[] } fields - Defines grouped fields\n * @param { values } values - Defines caption keys\n * @param { any } instance - Defines dynamic class instance\n * @returns { Predicate } returns filter predicate\n */\n// eslint-disable-next-line\nfunction generateExpandPredicates(fields, values, instance) {\n var filterCols = [];\n for (var i = 0; i < fields.length; i++) {\n var column = instance.parent.getColumnByField(fields[parseInt(i.toString(), 10)]);\n var value = values[parseInt(i.toString(), 10)] === 'null' ? null : values[parseInt(i.toString(), 10)];\n var pred = {\n field: fields[parseInt(i.toString(), 10)], predicate: 'or', uid: column.uid, operator: 'equal', type: column.type,\n matchCase: instance.allowCaseSensitive, ignoreAccent: instance.parent.filterSettings.ignoreAccent\n };\n if (value === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n filterCols = filterCols.concat(_common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_9__.CheckBoxFilterBase.generateNullValuePredicates(pred));\n }\n else {\n filterCols.push(extend({}, { value: value }, pred));\n }\n }\n return _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_9__.CheckBoxFilterBase.getPredicate(filterCols);\n}\n/**\n *\n * @param { Predicate } pred - Defines filter predicate\n * @returns { Predicate[] } Returns formed predicate\n */\nfunction getPredicates(pred) {\n var predicateList = [];\n for (var _i = 0, _a = Object.keys(pred); _i < _a.length; _i++) {\n var prop = _a[_i];\n predicateList.push(pred[\"\" + prop]);\n }\n return predicateList;\n}\n/**\n *\n * @param { number } index - Defines group caption indent\n * @param { Row[] } rowsObject - Defines rows object\n * @returns { { fields: string[], keys: string[] } } Returns grouped keys and values\n */\nfunction getGroupKeysAndFields(index, rowsObject) {\n var fields = [];\n var keys = [];\n for (var i = index; i >= 0; i--) {\n if (rowsObject[parseInt(i.toString(), 10)].isCaptionRow\n && fields.indexOf(rowsObject[parseInt(i.toString(), 10)].data.field) === -1\n && (rowsObject[parseInt(i.toString(), 10)].indent < rowsObject[parseInt(index.toString(), 10)].indent || i === index)) {\n fields.push(rowsObject[parseInt(i.toString(), 10)].data.field);\n keys.push(rowsObject[parseInt(i.toString(), 10)].data.key);\n if (rowsObject[parseInt(i.toString(), 10)].indent === 0) {\n break;\n }\n }\n }\n return { fields: fields, keys: keys };\n}\n// eslint-disable-next-line\n/**\n *\n * @param { number[][] } checkActiveMatrix - Defines matrix to check\n * @param { number[] } checkCellIndex - Defines index to check\n * @param { boolean } next - Defines select next or previous index\n * @returns { number[] } - Returns next active current index\n */\nfunction findCellIndex(checkActiveMatrix, checkCellIndex, next) {\n var activeMatrix = checkActiveMatrix;\n var cellIndex = checkCellIndex;\n var currentCellIndexPass = false;\n if (next) {\n for (var i = cellIndex[0]; i < activeMatrix.length; i++) {\n var rowCell = activeMatrix[parseInt(i.toString(), 10)];\n for (var j = 0; j < rowCell.length; j++) {\n if (currentCellIndexPass && activeMatrix[parseInt(i.toString(), 10)][parseInt(j.toString(), 10)] === 1) {\n cellIndex = [i, j];\n return cellIndex;\n }\n if (!currentCellIndexPass && cellIndex.toString() === [i, j].toString()) {\n currentCellIndexPass = true;\n }\n }\n }\n }\n else {\n for (var i = cellIndex[0]; i >= 0; i--) {\n var rowCell = activeMatrix[parseInt(i.toString(), 10)];\n for (var j = rowCell.length - 1; j >= 0; j--) {\n if (currentCellIndexPass && activeMatrix[parseInt(i.toString(), 10)][parseInt(j.toString(), 10)] === 1) {\n cellIndex = [i, j];\n return cellIndex;\n }\n if (!currentCellIndexPass && cellIndex.toString() === [i, j].toString()) {\n currentCellIndexPass = true;\n }\n }\n }\n }\n return cellIndex;\n}\n/**\n *\n * @param { string } string - Defines string need to capitalized first letter\n * @returns { string } - Returns capitalized first letter string\n */\nfunction capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n/**\n *\n * @param { IGrid } grid - Defines parent instance\n * @returns { boolean } - Returns is virtual\n */\nfunction checkIsVirtual(grid) {\n return !(isGroupAdaptive(grid) || grid.groupSettings.enableLazyLoading\n || (!grid.enableVirtualization && grid.enableColumnVirtualization));\n}\n/**\n *\n * @param { number[] } blockes - Defines block indexes\n * @returns { number[] } - Returns is visible page\n */\nfunction getVisiblePage(blockes) {\n var visiblePage = [];\n for (var i = 0; i < blockes.length; i++) {\n var page = Math.ceil(blockes[parseInt(i.toString(), 10)] / 2);\n if (visiblePage.indexOf(page) === -1) {\n visiblePage.push(page);\n }\n }\n return visiblePage;\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/common.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/common.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CheckBoxFilterBase: () => (/* reexport safe */ _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilterBase),\n/* harmony export */ ExcelFilterBase: () => (/* reexport safe */ _common_excel_filter_base__WEBPACK_IMPORTED_MODULE_1__.ExcelFilterBase)\n/* harmony export */ });\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n/* harmony import */ var _common_excel_filter_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/excel-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.js\");\n/**\n * Common export\n */\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/common.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CheckBoxFilterBase: () => (/* binding */ CheckBoxFilterBase)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js\");\n/* tslint:disable-next-line:max-line-length */\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * @hidden\n * `CheckBoxFilterBase` module is used to handle filtering action.\n */\nvar CheckBoxFilterBase = /** @class */ (function () {\n /**\n * Constructor for checkbox filtering module\n *\n * @param {IXLFilter} parent - specifies the IXLFilter\n * @hidden\n */\n function CheckBoxFilterBase(parent) {\n this.searchInputArgs = null;\n this.isExecuteLocal = false;\n this.queryFilteredColumn = [];\n this.existingPredicate = {};\n this.foreignKeyQuery = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n /** @hidden */\n this.filterState = true;\n this.values = {};\n this.renderEmpty = false;\n this.isCheckboxFilterTemplate = false;\n this.infiniteRenderMod = false;\n // for infinite scroll ui\n this.infiniteInitialLoad = false;\n this.infiniteSearchValChange = false;\n this.infinitePermenantLocalData = [];\n this.infiniteQueryExecutionPending = false;\n this.infiniteSkipCnt = 0;\n this.infiniteScrollAppendDiff = 0;\n this.prevInfiniteScrollDirection = '';\n this.infiniteLoadedElem = [];\n this.infiniteDataCount = 0;\n this.infiniteLocalSelectAll = true;\n this.localInfiniteSelectAllClicked = false;\n this.localInfiniteSelectionInteracted = false;\n this.infiniteManualSelectMaintainPred = [];\n this.parent = parent;\n this.id = this.parent.element.id;\n this.valueFormatter = new _services_value_formatter__WEBPACK_IMPORTED_MODULE_2__.ValueFormatter(this.parent.locale);\n this.cBoxTrue = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.createCheckBox)(this.parent.createElement, false, { checked: true, label: ' ' });\n this.cBoxFalse = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.createCheckBox)(this.parent.createElement, false, { checked: false, label: ' ' });\n this.cBoxTrue.insertBefore(this.parent.createElement('input', {\n className: 'e-chk-hidden', attrs: { type: 'checkbox' }\n }), this.cBoxTrue.firstChild);\n this.cBoxFalse.insertBefore(this.parent.createElement('input', {\n className: 'e-chk-hidden', attrs: { 'type': 'checkbox' }\n }), this.cBoxFalse.firstChild);\n this.cBoxFalse.querySelector('.e-frame').classList.add('e-uncheck');\n if (this.parent.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], ['e-rtl']);\n }\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], this.parent.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.cBoxTrue, this.cBoxFalse], [this.parent.cssClass]);\n }\n }\n }\n /**\n * @returns {void}\n * @hidden\n */\n CheckBoxFilterBase.prototype.destroy = function () {\n this.closeDialog();\n };\n CheckBoxFilterBase.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlg, 'click', this.clickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlg, 'keyup', this.keyupHandler, this);\n this.searchHandler = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.debounce)(this.searchBoxKeyUp, 200);\n var elem = this.dialogObj.element.querySelector('.e-searchinput');\n if (elem) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(elem, 'keyup', this.searchHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(elem, 'input', this.searchHandler, this);\n }\n };\n CheckBoxFilterBase.prototype.unWireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlg, 'click', this.clickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlg, 'keyup', this.keyupHandler);\n var elem = this.dialogObj.element.querySelector('.e-searchinput');\n if (elem) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(elem, 'keyup', this.searchHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(elem, 'input', this.searchHandler);\n }\n };\n CheckBoxFilterBase.prototype.foreignKeyFilter = function (args, fColl, mPredicate) {\n var _this = this;\n var fPredicate = {};\n var filterCollection = [];\n var query = this.foreignKeyQuery.clone();\n this.options.column.dataSource.\n executeQuery(query.where(mPredicate)).then(function (e) {\n _this.options.column.columnData = e.result;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.generateQuery, { predicate: fPredicate, column: _this.options.column });\n args.ejpredicate = fPredicate.predicate.predicates;\n var fpred = fPredicate.predicate.predicates;\n for (var i = 0; i < fpred.length; i++) {\n filterCollection.push({\n field: fpred[parseInt(i.toString(), 10)].field,\n predicate: 'or',\n matchCase: fpred[parseInt(i.toString(), 10)].ignoreCase,\n ignoreAccent: fpred[parseInt(i.toString(), 10)].ignoreAccent,\n operator: fpred[parseInt(i.toString(), 10)].operator,\n value: fpred[parseInt(i.toString(), 10)].value,\n type: _this.options.type\n });\n }\n args.filterCollection = filterCollection.length ? filterCollection :\n fColl.filter(function (col) { return col.field = _this.options.field; });\n _this.options.handler(args);\n });\n };\n CheckBoxFilterBase.prototype.searchBoxClick = function (e) {\n var target = e.target;\n if (target.classList.contains('e-searchclear')) {\n this.sInput.value = target.classList.contains('e-chkcancel-icon') ? '' : this.sInput.value;\n if (this.isCheckboxFilterTemplate) {\n this.parent.notify('refreshCheckbox', { event: e });\n }\n else {\n this.refreshCheckboxes();\n }\n this.updateSearchIcon();\n this.sInput.focus();\n }\n };\n CheckBoxFilterBase.prototype.searchBoxKeyUp = function (e) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.sInput)) {\n return;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) || (e.key !== 'ArrowUp' && e.key !== 'ArrowDown' && e.key !== 'Tab' && !(e.key === 'Tab' && e.shiftKey))) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.loadingIndicator) && this.parent.loadingIndicator.indicatorType === 'Shimmer') {\n this.parent.showMaskRow(undefined, this.dialogObj.element);\n }\n if (this.isCheckboxFilterTemplate) {\n this.parent.notify('refreshCheckbox', { event: e });\n }\n else {\n this.refreshCheckboxes();\n }\n this.updateSearchIcon();\n }\n };\n CheckBoxFilterBase.prototype.updateSearchIcon = function () {\n if (this.sInput.value.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.sIcon, ['e-chkcancel-icon'], ['e-search-icon']);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.body.querySelector('.e-chkcancel-icon'))) {\n document.body.querySelector('.e-chkcancel-icon').setAttribute('title', this.localeObj.getConstant('Clear'));\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.sIcon, ['e-search-icon'], ['e-chkcancel-icon']);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.body.querySelector('.e-searchclear.e-search-icon'))) {\n document.body.querySelector('.e-searchclear.e-search-icon').setAttribute('title', this.localeObj.getConstant('Search'));\n }\n }\n };\n /**\n * Gets the localized label by locale keyword.\n *\n * @param {string} key - Defines localization key\n * @returns {string} - returns localization label\n */\n CheckBoxFilterBase.prototype.getLocalizedLabel = function (key) {\n return this.localeObj.getConstant(key);\n };\n CheckBoxFilterBase.prototype.updateDataSource = function () {\n var dataSource = this.options.dataSource;\n var str = 'object';\n if (!(dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager)) {\n for (var i = 0; i < dataSource.length; i++) {\n // eslint-disable-next-line valid-typeof\n if (typeof dataSource !== str) {\n var obj = {};\n obj[this.options.field] = dataSource[parseInt(i.toString(), 10)];\n dataSource[parseInt(i.toString(), 10)] = obj;\n }\n }\n }\n };\n CheckBoxFilterBase.prototype.updateModel = function (options) {\n this.options = options;\n this.existingPredicate = options.actualPredicate || {};\n this.options.dataSource = options.dataSource;\n this.options.dataManager = options.dataManager ? options.dataManager : options.dataSource;\n this.updateDataSource();\n this.options.type = options.type;\n this.options.format = options.format || '';\n this.options.ignoreAccent = options.ignoreAccent || false;\n this.options.filteredColumns = options.filteredColumns || this.parent.filterSettings.columns;\n this.options.query = options.query || new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n this.options.allowCaseSensitive = options.allowCaseSensitive || false;\n this.options.uid = options.column.uid;\n this.options.disableHtmlEncode = options.column.disableHtmlEncode || false;\n this.values = {};\n this.localeObj = options.localeObj;\n this.isFiltered = options.filteredColumns.length;\n this.infiniteRenderMod = this.parent.filterSettings && this.parent.filterSettings.enableInfiniteScrolling ? true : false;\n this.infiniteUnloadParentExistPred = this.infiniteRenderMod && this.existingPredicate[this.options.column.field] ? this.existingPredicate[this.options.column.field].slice() : [];\n };\n CheckBoxFilterBase.prototype.getAndSetChkElem = function (options) {\n this.dlg = this.parent.createElement('div', {\n id: this.id + this.options.type + '_excelDlg',\n attrs: { uid: this.options.column.uid },\n className: 'e-checkboxfilter e-filter-popup'\n });\n this.sBox = this.parent.createElement('div', { className: 'e-searchcontainer' });\n if (!options.hideSearchbox) {\n this.sInput = this.parent.createElement('input', {\n id: this.id + '_SearchBox',\n className: 'e-searchinput'\n });\n this.sIcon = this.parent.createElement('span', {\n className: 'e-searchclear e-search-icon e-icons e-input-group-icon', attrs: {\n type: 'text', title: this.getLocalizedLabel('Search')\n }\n });\n this.searchBox = this.parent.createElement('span', { className: 'e-searchbox e-fields' });\n this.searchBox.appendChild(this.sInput);\n this.sBox.appendChild(this.searchBox);\n this.searchInputArgs = {\n element: this.sInput, floatLabelType: 'Never', properties: {\n placeholder: this.getLocalizedLabel('Search'),\n cssClass: this.parent.cssClass\n }\n };\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_6__.Input.createInput(this.searchInputArgs, this.parent.createElement);\n this.searchBox.querySelector('.e-input-group').appendChild(this.sIcon);\n }\n this.spinner = this.parent.createElement('div', { className: 'e-spinner' }); //for spinner\n this.cBox = this.parent.createElement('div', {\n id: this.id + this.options.type + '_CheckBoxList',\n className: 'e-checkboxlist e-fields'\n });\n this.spinner.appendChild(this.cBox);\n this.sBox.appendChild(this.spinner);\n return this.sBox;\n };\n CheckBoxFilterBase.prototype.showDialog = function (options) {\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_4__.filterBeforeOpen,\n columnName: this.options.field, columnType: this.options.type, cancel: false\n };\n var filterModel = 'filterModel';\n args[\"\" + filterModel] = this;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.cBoxFltrBegin, args);\n if (args.cancel) {\n options.cancel = args.cancel;\n return;\n }\n this.dialogObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_7__.Dialog({\n visible: false, content: this.sBox,\n close: this.closeDialog.bind(this),\n enableRtl: this.parent.enableRtl,\n width: (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(options.target, 'e-bigger')))\n || this.parent.element.classList.contains('e-device') ? 260 : 255,\n target: this.parent.element, animationSettings: { effect: 'None' },\n buttons: [{\n click: this.btnClick.bind(this),\n buttonModel: {\n content: this.getLocalizedLabel(this.isExcel ? 'OKButton' : 'FilterButton'),\n cssClass: this.parent.cssClass ? 'e-primary' + ' ' + this.parent.cssClass : 'e-primary',\n isPrimary: true\n }\n },\n {\n click: this.btnClick.bind(this),\n buttonModel: { cssClass: this.parent.cssClass ? 'e-flat' + ' ' + this.parent.cssClass : 'e-flat',\n content: this.getLocalizedLabel(this.isExcel ? 'CancelButton' : 'ClearButton') }\n }],\n created: this.dialogCreated.bind(this),\n open: this.dialogOpen.bind(this),\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n var isStringTemplate = 'isStringTemplate';\n this.dialogObj[\"\" + isStringTemplate] = true;\n this.renderResponsiveFilter(options);\n var dialogLabel = this.parent.filterSettings && this.parent.filterSettings.type === 'CheckBox' ?\n this.getLocalizedLabel('CheckBoxFilterDialogARIA') : this.getLocalizedLabel('ExcelFilterDialogARIA');\n this.dlg.setAttribute('aria-label', dialogLabel);\n if (options.isResponsiveFilter) {\n var responsiveCnt = document.querySelector('.e-responsive-dialog > .e-dlg-content > .e-mainfilterdiv');\n responsiveCnt.appendChild(this.dlg);\n }\n else {\n this.parent.element.appendChild(this.dlg);\n }\n this.dialogObj.appendTo(this.dlg);\n this.dialogObj.element.style.maxHeight = options.isResponsiveFilter ? 'none' : this.options.height + 'px';\n this.dialogObj.show();\n if (this.parent && this.parent.filterSettings && (this.parent.filterSettings.type === 'CheckBox'\n || (this.options.column && this.options.column.filter && this.options.column.filter.type === 'CheckBox')) &&\n this.parent.getContent().firstElementChild.offsetHeight < this.dialogObj.element.offsetHeight &&\n !(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(this.parent.element, 'e-gantt-dialog')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.resetDialogAppend)(this.parent, this.dialogObj);\n }\n var content = this.dialogObj.element.querySelector('.e-dlg-content');\n content.appendChild(this.sBox);\n this.wireEvents();\n if (!this.parent.enableAdaptiveUI) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.loadingIndicator) && this.parent.loadingIndicator.indicatorType === 'Shimmer'\n && !this.infiniteRenderMod) {\n this.parent.showMaskRow(undefined, this.dialogObj.element);\n }\n if (this.infiniteRenderMod && this.parent.filterSettings && this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n this.showMask();\n }\n }\n else {\n if (this.infiniteRenderMod && this.parent.filterSettings && this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n this.getAllData();\n return;\n }\n if (this.infiniteRenderMod) {\n this.cBox.style.marginTop = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getListHeight)(this.cBox) + 'px';\n }\n }\n if (!(this.infiniteRenderMod && this.parent.filterSettings && this.parent.filterSettings.loadingIndicator === 'Shimmer')) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.createSpinner)({ target: this.spinner, cssClass: this.parent.cssClass ? this.parent.cssClass : null }, this.parent.createElement);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.showSpinner)(this.spinner);\n }\n this.getAllData();\n };\n CheckBoxFilterBase.prototype.renderResponsiveFilter = function (options) {\n if (options.isResponsiveFilter) {\n this.dialogObj.buttons = [{}];\n this.dialogObj.position = { X: '', Y: '' };\n this.dialogObj.target = document.querySelector('.e-resfilter > .e-dlg-content > .e-mainfilterdiv');\n this.dialogObj.width = '100%';\n }\n };\n CheckBoxFilterBase.prototype.dialogCreated = function (e) {\n if (this.options.isResponsiveFilter) {\n this.dialogObj.element.style.left = '0px';\n }\n else {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getFilterMenuPostion)(this.options.target, this.dialogObj);\n }\n else {\n this.dialogObj.position = { X: 'center', Y: 'center' };\n }\n }\n if (this.options.column.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.filterDialogCreated, e);\n }\n };\n CheckBoxFilterBase.prototype.openDialog = function (options) {\n this.updateModel(options);\n this.getAndSetChkElem(options);\n this.showDialog(options);\n };\n CheckBoxFilterBase.prototype.closeDialog = function () {\n if (this.infiniteRenderMod && this.infinitePermenantLocalData.length && !this.options.isRemote) {\n this.options.dataSource.dataSource.json = this.infinitePermenantLocalData;\n }\n if (this.dialogObj && !this.dialogObj.isDestroyed) {\n this.isBlanks = false;\n var filterTemplateCol = this.options.columns.filter(function (col) { return col.getFilterItemTemplate(); });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var registeredTemplate = this.parent.registeredTemplate;\n if (filterTemplateCol.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(registeredTemplate) && registeredTemplate.filterItemTemplate) {\n this.parent.destroyTemplate(['filterItemTemplate']);\n }\n if ((this.parent.isReact || this.parent.isVue) && this.parent.destroyTemplate !== undefined) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.clearReactVueTemplates)(this.parent, ['filterItemTemplate']);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.filterMenuClose, { field: this.options.field });\n this.unWireEvents();\n if (this.searchInputArgs && this.searchInputArgs.element && this.searchInputArgs.element.parentElement) {\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_6__.Input.destroy(this.searchInputArgs);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.searchInputArgs.element);\n }\n this.searchInputArgs = null;\n this.sInput = null;\n if (this.parent.isReact && this.options.column.filter && typeof (this.options.column.filter.itemTemplate) !== 'string'\n && (this.options.column.filter.type === 'CheckBox' || this.options.column.filter.type === 'Excel')) {\n this.dialogObj.element.querySelector('.e-dlg-content').innerHTML = '';\n }\n this.dialogObj.destroy();\n if (this.dialogObj['dlgClosedBy'] === 'escape') {\n this.parent.isColumnMenuFilterClosing = true;\n }\n if (this.dlg && this.dlg.parentElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.dlg);\n var gridPopup = document.getElementById(this.parent.element.id + '_e-popup');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridPopup)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(gridPopup);\n gridPopup = null;\n }\n }\n this.dlg = null;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.filterDialogClose, {});\n }\n };\n /**\n * @param {Column} col - Defines column details\n * @returns {void}\n * @hidden\n */\n CheckBoxFilterBase.prototype.clearFilter = function (col) {\n // eslint-disable-next-line max-len\n var args = { instance: this, handler: this.clearFilter, cancel: false };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.fltrPrevent, args);\n if (args.cancel) {\n return;\n }\n this.options.handler({ action: 'clear-filter', field: col ? col.field : this.options.field });\n };\n CheckBoxFilterBase.prototype.btnClick = function (e) {\n if (this.filterState) {\n if ((e.target.tagName.toLowerCase() === 'input' && e.target.classList.contains('e-searchinput')) ||\n e.keyCode === 13) {\n if (!this.isCheckboxFilterTemplate) {\n this.fltrBtnHandler();\n }\n }\n else {\n var text = e.target.firstChild.textContent.toLowerCase();\n if (this.getLocalizedLabel(this.isExcel ? 'OKButton' : 'FilterButton').toLowerCase() === text) {\n if (!this.isCheckboxFilterTemplate) {\n this.fltrBtnHandler();\n }\n }\n else if (this.getLocalizedLabel('ClearButton').toLowerCase() === text) {\n this.clearFilter();\n }\n }\n this.closeDialog();\n }\n else if (e.target && e.target.firstChild &&\n e.target.firstChild.textContent.toLowerCase() === this.getLocalizedLabel('CancelButton').toLowerCase()) {\n this.closeDialog();\n }\n else if (!(e.target.tagName.toLowerCase() === 'input')) {\n this.clearFilter();\n this.closeDialog();\n }\n if (this.options.column.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.afterFilterColumnMenuClose, {});\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.focusModule)) {\n this.parent.focusModule.filterfocus();\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n CheckBoxFilterBase.prototype.fltrBtnHandler = function () {\n var _this = this;\n if (this.infiniteRenderMod) {\n this.cBox.innerHTML = '';\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.appendChildren)(this.cBox, this.infiniteLoadedElem.slice());\n }\n var checked = [].slice.call(this.cBox.querySelectorAll('.e-check:not(.e-selectall):not(.e-add-current)'));\n var check = checked;\n var optr = 'equal';\n var ddlValue = this.dialogObj.element.querySelector('.e-dropdownlist');\n if (ddlValue) {\n this.options.operator = optr = ddlValue.ej2_instances[0].value;\n }\n this.isMenuNotEqual = this.options.operator === 'notequal';\n var searchInput;\n if (!this.options.hideSearchbox) {\n searchInput = this.searchBox.querySelector('.e-searchinput');\n }\n var caseSen = this.options.allowCaseSensitive;\n var defaults = {\n field: this.options.field, predicate: this.isMenuNotEqual ? 'and' : 'or', uid: this.options.uid,\n operator: optr, type: this.options.type, matchCase: caseSen, ignoreAccent: this.options.ignoreAccent\n };\n var isNotEqual = this.itemsCnt !== checked.length && this.itemsCnt - checked.length < checked.length;\n if (isNotEqual && searchInput && searchInput.value === '') {\n optr = this.isMenuNotEqual ? 'equal' : 'notequal';\n checked = [].slice.call(this.cBox.querySelectorAll('.e-uncheck:not(.e-selectall)'));\n defaults.predicate = this.isMenuNotEqual ? 'or' : 'and';\n defaults.operator = optr;\n }\n var val;\n var length;\n var coll = [];\n if ((checked.length !== this.itemsCnt || (searchInput && searchInput.value && searchInput.value !== ''))\n || this.infiniteRenderMod) {\n if (!this.infiniteRenderMod) {\n coll = this.complexQueryPredicate(checked, defaults, isNotEqual);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(coll)) {\n return;\n }\n coll = this.filterPreventColumns ? this.filterPreventColumns : coll;\n }\n else if (this.infiniteRenderMod &&\n (!this.infiniteSearchPred || (this.infiniteSearchPred && !this.infiniteSearchPred.isComplex))) {\n this.infiniteFltrBtnHandler(coll);\n }\n else {\n if (this.infiniteSearchPred.isComplex) {\n coll = this.complexQueryPredicate(checked, defaults, isNotEqual);\n }\n }\n if ((this.options.type === 'date' || this.options.type === 'datetime') && check.length) {\n length = check.length - 1;\n val = this.values[(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(check[parseInt(length.toString(), 10)], 'e-ftrchk').getAttribute('uid')];\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val) && isNotEqual) {\n coll.push({\n field: defaults.field, matchCase: defaults.matchCase, operator: 'equal',\n predicate: 'or', value: null\n });\n }\n }\n var addCurrSelection = this.infiniteRenderMod ? this.sBox.querySelector('.e-add-current') :\n this.cBox.querySelector('.e-add-current');\n if (addCurrSelection && addCurrSelection.classList.contains('e-check')) {\n var existingPredicate_1 = this.existingPredicate[this.options.field];\n if (existingPredicate_1) {\n var _loop_1 = function (j) {\n if (!coll.some(function (data) {\n return data\n .value === existingPredicate_1[parseInt(j.toString(), 10)].value;\n })) {\n coll.push(existingPredicate_1[parseInt(j.toString(), 10)]);\n }\n };\n for (var j = 0; j < existingPredicate_1.length; j++) {\n _loop_1(j);\n }\n }\n else {\n return;\n }\n }\n if (!this.infiniteRenderMod) {\n this.initiateFilter(coll);\n }\n else if (coll.length) {\n this.initiateFilter(coll);\n }\n else if (this.sBox.querySelector('.e-selectall').classList.contains('e-check') && !coll.length) {\n var isClearFilter = this.options.filteredColumns.some(function (value) {\n return _this.options.field === value.field;\n });\n if (isClearFilter) {\n this.clearFilter();\n }\n }\n }\n else {\n var isClearFilter = this.options.filteredColumns.some(function (value) {\n return _this.options.field === value.field;\n });\n if (isClearFilter) {\n this.clearFilter();\n }\n }\n };\n CheckBoxFilterBase.prototype.complexQueryPredicate = function (checkBoxChecked, defaults, isNotEqual) {\n var value;\n var fObj;\n var coll = [];\n for (var i = 0; i < checkBoxChecked.length; i++) {\n value = this.values[(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(checkBoxChecked[parseInt(i.toString(), 10)], 'e-ftrchk').getAttribute('uid')];\n fObj = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, { value: value }, defaults);\n if (value && !value.toString().length) {\n fObj.operator = isNotEqual ? 'notequal' : 'equal';\n }\n if (value === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n coll = coll.concat(CheckBoxFilterBase.generateNullValuePredicates(defaults));\n }\n else {\n coll.push(fObj);\n }\n }\n var filterColumns = this.filterPreventColumns && this.filterPreventColumns.length ?\n this.filterPreventColumns[0] : fObj;\n if (filterColumns && !this.notifyFilterPrevEvent(filterColumns)) {\n this.filterPreventColumns = coll;\n return null;\n }\n else {\n return coll;\n }\n };\n CheckBoxFilterBase.prototype.infiniteFltrBtnHandler = function (coll) {\n var value;\n if (this.infiniteManualSelectMaintainPred.length) {\n for (var i = 0; i < this.infiniteManualSelectMaintainPred.length; i++) {\n var pred = this.infiniteManualSelectMaintainPred[i];\n value = pred.value + '';\n if (value === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n var dummyDefaults = { predicate: pred.predicate, field: pred.field, type: pred.type, uid: pred.uid, operator: pred.operator,\n matchCase: pred.matchCase, ignoreAccent: pred.ignoreAccent };\n coll.push.apply(coll, CheckBoxFilterBase.generateNullValuePredicates(dummyDefaults));\n }\n else {\n coll.push(this.infiniteManualSelectMaintainPred[i]);\n }\n this.notifyFilterPrevEvent(this.infiniteManualSelectMaintainPred[i]);\n }\n }\n if (!this.localInfiniteSelectAllClicked && this.sInput.value === '' && !(!this.options.parentCurrentViewDataCount && coll.length)) {\n for (var i = 0; i < this.infiniteUnloadParentExistPred.length; i++) {\n coll.unshift(this.infiniteUnloadParentExistPred[i]);\n this.notifyFilterPrevEvent(this.existingPredicate[this.options.field][i]);\n }\n }\n if (this.sInput.value !== '' && (!this.localInfiniteSelectAllClicked || this.infiniteLocalSelectAll)) {\n this.infiniteSearchPred['predicate'] = 'or';\n coll.unshift(this.infiniteSearchPred);\n this.notifyFilterPrevEvent(this.infiniteSearchPred);\n }\n };\n CheckBoxFilterBase.prototype.notifyFilterPrevEvent = function (predicate) {\n var args = {\n instance: this, handler: this.fltrBtnHandler, arg1: predicate.field, arg2: predicate.predicate, arg3: predicate.operator,\n arg4: predicate.matchCase, arg5: predicate.ignoreAccent, arg6: predicate.value, cancel: false\n };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.fltrPrevent, args);\n if (args.cancel) {\n return false;\n }\n return true;\n };\n // eslint-disable-next-line\n /** @hidden */\n CheckBoxFilterBase.generateNullValuePredicates = function (defaults) {\n var coll = [];\n if (defaults.type === 'string') {\n coll.push({\n field: defaults.field, ignoreAccent: defaults.ignoreAccent, matchCase: defaults.matchCase,\n operator: defaults.operator, predicate: defaults.predicate, value: ''\n });\n }\n coll.push({\n field: defaults.field,\n matchCase: defaults.matchCase, operator: defaults.operator, predicate: defaults.predicate, value: null\n });\n coll.push({\n field: defaults.field, matchCase: defaults.matchCase, operator: defaults.operator,\n predicate: defaults.predicate, value: undefined\n });\n return coll;\n };\n // eslint-disable-next-line\n /** @hidden */\n CheckBoxFilterBase.prototype.initiateFilter = function (fColl) {\n var firstVal = fColl[0];\n var predicate;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(firstVal)) {\n predicate = firstVal.ejpredicate ? firstVal.ejpredicate :\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate(firstVal.field, firstVal.operator, firstVal.value, !firstVal.matchCase, firstVal.ignoreAccent);\n for (var j = 1; j < fColl.length; j++) {\n predicate = fColl[parseInt(j.toString(), 10)].ejpredicate !== undefined ?\n predicate[fColl[parseInt(j.toString(), 10)].predicate](fColl[parseInt(j.toString(), 10)].ejpredicate) :\n predicate[fColl[parseInt(j.toString(), 10)].predicate](fColl[parseInt(j.toString(), 10)].field, fColl[parseInt(j.toString(), 10)].operator, fColl[parseInt(j.toString(), 10)].value, !fColl[parseInt(j.toString(), 10)].matchCase, fColl[parseInt(j.toString(), 10)].ignoreAccent);\n }\n var args = {\n action: 'filtering', filterCollection: fColl, field: this.options.field,\n ejpredicate: _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate.or(predicate)\n };\n this.options.handler(args);\n }\n };\n CheckBoxFilterBase.prototype.isForeignColumn = function (col) {\n return col.isForeignColumn ? col.isForeignColumn() : false;\n };\n CheckBoxFilterBase.prototype.refreshCheckboxes = function () {\n var _this = this;\n var val = this.sInput.value;\n var column = this.options.column;\n var query = this.isForeignColumn(column) ? this.foreignKeyQuery.clone() : this.options.query.clone();\n var foreignQuery = this.options.query.clone();\n var pred = query.queries.filter(function (e) { return e && e.fn === 'onWhere'; })[0];\n query.queries = [];\n foreignQuery.queries = [];\n var parsed = (this.options.type !== 'string' && parseFloat(val)) ? parseFloat(val) : val;\n var operator = this.options.isRemote ?\n (this.options.type === 'string' ? 'contains' : 'equal') : (this.options.type ? 'contains' : 'equal');\n var matchCase = true;\n var ignoreAccent = this.options.ignoreAccent;\n var field = this.isForeignColumn(column) ? column.foreignKeyValue : column.field;\n parsed = (parsed === '' || parsed === undefined) ? undefined : parsed;\n var coll = [];\n var defaults = {\n field: field, predicate: 'or', uid: this.options.uid,\n operator: 'equal', type: this.options.type, matchCase: matchCase, ignoreAccent: ignoreAccent\n };\n var predicte;\n var moduleName = this.options.dataManager.adaptor.getModuleName;\n if (this.options.type === 'boolean') {\n if (parsed !== undefined &&\n this.getLocalizedLabel('FilterTrue').toLowerCase().indexOf(parsed.toLowerCase()) !== -1) {\n parsed = 'true';\n }\n else if (parsed !== undefined &&\n this.getLocalizedLabel('FilterFalse').toLowerCase().indexOf(parsed.toLowerCase()) !== -1) {\n parsed = 'false';\n }\n if (parsed !== undefined &&\n this.getLocalizedLabel('FilterTrue').toLowerCase().indexOf(parsed.toLowerCase()) !== -1 && moduleName) {\n // eslint-disable-next-line no-constant-condition\n parsed = (moduleName() === 'ODataAdaptor' || 'ODataV4Adaptor') ? true : 0;\n }\n else if (parsed !== undefined &&\n this.getLocalizedLabel('FilterFalse').toLowerCase().indexOf(parsed.toLowerCase()) !== -1 && moduleName) {\n // eslint-disable-next-line no-constant-condition\n parsed = (moduleName() === 'ODataAdaptor' || 'ODataV4Adaptor') ? false : 0;\n }\n operator = 'equal';\n }\n if ((this.options.type === 'date' || this.options.type === 'datetime' || this.options.type === 'dateonly') && this.options.format) {\n var intl = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization();\n var format = typeof (this.options.format) === 'string' ? this.options.format :\n this.options.format.format;\n if (format) {\n parsed = intl.parseDate(val, { format: format }) || new Date(val);\n }\n else {\n parsed = new Date(val);\n }\n if (this.options.type === 'dateonly') {\n parsed = parsed.getFullYear() + '-' + (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.padZero)(parsed.getMonth() + 1) + '-' + (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.padZero)(parsed.getDate());\n }\n }\n this.infiniteSearchValChange = true;\n this.infiniteLoadedElem = [];\n this.infiniteLocalSelectAll = true;\n this.localInfiniteSelectAllClicked = false;\n this.localInfiniteSelectionInteracted = false;\n this.infiniteSkipCnt = 0;\n this.infiniteDataCount = 0;\n this.infiniteManualSelectMaintainPred = [];\n if (this.sInput.value === '') {\n this.infiniteUnloadParentExistPred = this.infiniteRenderMod && this.existingPredicate[this.options.column.field] ? this.existingPredicate[this.options.column.field].slice() : [];\n }\n else {\n this.infiniteUnloadParentExistPred = [];\n }\n this.addDistinct(query);\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_4__.filterSearchBegin,\n filterModel: this, columnName: field, column: column,\n operator: operator, matchCase: matchCase, ignoreAccent: ignoreAccent, filterChoiceCount: null,\n query: query, value: parsed\n };\n if (this.infiniteRenderMod && this.parent.filterSettings.itemsCount) {\n args.filterChoiceCount = this.parent.filterSettings.itemsCount;\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.actionBegin, args, function (filterargs) {\n // eslint-disable-next-line no-self-assign\n filterargs.operator = filterargs.operator;\n predicte = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate(field, filterargs.operator, args.value, filterargs.matchCase, filterargs.ignoreAccent);\n if (_this.options.type === 'date' || _this.options.type === 'datetime' || _this.options.type === 'dateonly') {\n operator = 'equal';\n var filterObj = {\n field: field, operator: operator, value: parsed, matchCase: matchCase,\n ignoreAccent: ignoreAccent\n };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parsed)) {\n predicte = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getDatePredicate)(filterObj, _this.options.type);\n }\n }\n if (val && typeof val === 'string' && _this.isBlanks &&\n _this.getLocalizedLabel('Blanks').toLowerCase().indexOf(val.toLowerCase()) >= 0) {\n coll = coll.concat(CheckBoxFilterBase.generateNullValuePredicates(defaults));\n var emptyValPredicte = CheckBoxFilterBase.generatePredicate(coll);\n emptyValPredicte.predicates.push(predicte);\n predicte = emptyValPredicte;\n query.where(emptyValPredicte);\n }\n else if (val.length) {\n predicte = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pred) ? predicte.and(pred.e) : predicte;\n query.where(predicte);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pred)) {\n predicte = pred.e;\n query.where(pred.e);\n }\n _this.infiniteSearchPred = predicte;\n filterargs.filterChoiceCount = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterargs.filterChoiceCount) ? filterargs.filterChoiceCount : 1000;\n if (_this.infiniteRenderMod && _this.parent.filterSettings.itemsCount !== filterargs.filterChoiceCount) {\n _this.parent.filterSettings.itemsCount = args.filterChoiceCount;\n }\n var fPredicate = {};\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.showSpinner)(_this.spinner);\n _this.renderEmpty = false;\n if (_this.isForeignColumn(column) && val.length) {\n var colData = ('result' in column.dataSource) ? new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(column.dataSource.result) :\n column.dataSource;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n colData.executeQuery(query).then(function (e) {\n var columnData = _this.options.column.columnData;\n _this.options.column.columnData = e.result;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.generateQuery, { predicate: fPredicate, column: column });\n if (fPredicate.predicate.predicates.length) {\n foreignQuery.where(fPredicate.predicate);\n }\n else {\n _this.renderEmpty = true;\n }\n _this.options.column.columnData = columnData;\n if (_this.infiniteRenderMod) {\n _this.infiniteInitialLoad = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.fullData) ? true : false;\n _this.makeInfiniteScrollRequest(foreignQuery);\n foreignQuery.requiresCount();\n }\n else {\n foreignQuery.take(filterargs.filterChoiceCount);\n }\n _this.search(filterargs, foreignQuery);\n });\n }\n else {\n if (_this.infiniteRenderMod && _this.parent.filterSettings.itemsCount) {\n _this.infiniteInitialLoad = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.fullData) ? true : false;\n _this.makeInfiniteScrollRequest(query);\n query.requiresCount();\n }\n else {\n query.take(filterargs.filterChoiceCount);\n }\n _this.search(filterargs, query);\n }\n });\n };\n CheckBoxFilterBase.prototype.search = function (args, query) {\n if (this.parent.dataSource && 'result' in this.parent.dataSource) {\n this.filterEvent(args, query);\n }\n else {\n this.processSearch(query);\n }\n };\n CheckBoxFilterBase.prototype.getPredicateFromCols = function (columns, isExecuteLocal) {\n var predicates = CheckBoxFilterBase.getPredicate(columns, isExecuteLocal);\n var predicateList = [];\n var fPredicate = {};\n var isGrid = this.parent.getForeignKeyColumns !== undefined;\n var foreignColumn = isGrid ? this.parent.getForeignKeyColumns() : [];\n for (var _i = 0, _a = Object.keys(predicates); _i < _a.length; _i++) {\n var prop = _a[_i];\n var col = void 0;\n if (isGrid && !this.parent.getColumnByField(prop)) {\n col = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getColumnByForeignKeyValue)(prop, foreignColumn);\n }\n if (col) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.generateQuery, { predicate: fPredicate, column: col });\n if (fPredicate.predicate.predicates.length) {\n predicateList.push(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate.or(fPredicate.predicate.predicates));\n }\n }\n else {\n predicateList.push(predicates[\"\" + prop]);\n }\n }\n return predicateList.length && _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate.and(predicateList);\n };\n CheckBoxFilterBase.prototype.getQuery = function () {\n return this.parent.getQuery ? this.parent.getQuery().clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n };\n CheckBoxFilterBase.prototype.getAllData = function () {\n var _this = this;\n this.customQuery = false;\n var query = this.getQuery();\n var moduleName = this.options.dataManager.adaptor.getModuleName;\n if (!(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getDataModule) && moduleName && moduleName() === 'ODataV4Adaptor')) {\n query.requiresCount(); //consider take query\n }\n this.addDistinct(query);\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_4__.filterChoiceRequest, query: query, filterChoiceCount: null\n };\n var filterModel = 'filterModel';\n args[\"\" + filterModel] = this;\n if (this.infiniteRenderMod && this.parent.filterSettings.itemsCount) {\n args.filterChoiceCount = this.parent.filterSettings.itemsCount;\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.actionBegin, args, function (args) {\n args.filterChoiceCount = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.filterChoiceCount) ? args.filterChoiceCount : 1000;\n if (_this.infiniteRenderMod && _this.parent.filterSettings.itemsCount !== args.filterChoiceCount) {\n _this.parent.filterSettings.itemsCount = args.filterChoiceCount;\n }\n if (!_this.infiniteRenderMod) {\n query.take(args.filterChoiceCount);\n }\n if (!args.query.distincts.length || _this.infiniteRenderMod) {\n _this.customQuery = true;\n _this.queryGenerate(query);\n }\n if (_this.infiniteRenderMod) {\n _this.infiniteInitialLoad = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.fullData) ? true : false;\n _this.makeInfiniteScrollRequest(query);\n }\n if (_this.parent.dataSource && 'result' in _this.parent.dataSource) {\n _this.filterEvent(args, query);\n }\n else {\n _this.processDataOperation(query, true);\n }\n });\n };\n CheckBoxFilterBase.prototype.addDistinct = function (query) {\n var _this = this;\n var filteredColumn = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.distinct(this.options.filteredColumns, 'field');\n if (filteredColumn.indexOf(this.options.column.field) <= -1) {\n filteredColumn = filteredColumn.concat(this.options.column.field);\n }\n var moduleName = this.options.dataManager.adaptor.getModuleName;\n if (moduleName && moduleName() === 'ODataV4Adaptor' && this.parent &&\n this.parent.query instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query) {\n var gridQuery = this.parent.query;\n for (var i = 0; i < gridQuery.queries.length; i++) {\n var queryOptions = gridQuery.queries[parseInt(i.toString(), 10)];\n if (queryOptions.fn === 'onWhere') {\n this.getPredicateFields(queryOptions.e);\n this.queryFilteredColumn.map(function (field) {\n if (filteredColumn.indexOf(field) === -1) {\n filteredColumn.push(field);\n }\n });\n this.queryFilteredColumn = [];\n }\n }\n }\n if (!this.infiniteRenderMod) {\n query.distinct(filteredColumn);\n }\n if (this.infiniteRenderMod && !this.options.isRemote && this.sInput.value === '') {\n this.options.dataSource = this.options.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager ?\n this.options.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.options.dataSource);\n this.infinitePermenantLocalData = this.options.dataSource.dataSource.json.slice();\n var query1 = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n this.queryGenerate(query1);\n var result = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.options.dataSource.dataSource).executeLocal(query1);\n this.options.dataSource.dataSource.json = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.distinct(result, this.options.column.field, true);\n if (this.isForeignColumn(this.options.column)) {\n this.options.column.dataSource = this.options.column.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager ?\n this.options.column.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.options.column.dataSource);\n this.options.dataSource.dataSource.json = this.options.dataSource.dataSource.json.map(function (item, i) {\n return Object.assign({}, item, _this.options.column.dataSource.dataSource.json[i]);\n });\n }\n }\n else if (this.infiniteRenderMod && this.options.isRemote) {\n query.select(this.options.column.field);\n query.sortBy(this.options.column.field, 'ascending');\n var moduleName_1 = this.options.dataManager.adaptor.getModuleName;\n if (moduleName_1 && moduleName_1() && (moduleName_1() === 'ODataV4Adaptor' || moduleName_1() === 'WebApiAdaptor'\n || moduleName_1() === 'CustomDataAdaptor' || moduleName_1() === 'GraphQLAdaptor' || moduleName_1() === 'ODataAdaptor')) {\n query.distinct(filteredColumn);\n }\n }\n return query;\n };\n CheckBoxFilterBase.prototype.getPredicateFields = function (query) {\n var _this = this;\n if (query.isComplex && query.predicates) {\n query.predicates.forEach(function (predicate) {\n if (Array.isArray(predicate)) {\n predicate.forEach(function (p) { return _this.getPredicateFields(p); });\n }\n else {\n _this.getPredicateFields(predicate);\n }\n });\n }\n else {\n if (query.field && !query.isComplex) {\n if (this.queryFilteredColumn.indexOf(query.field) <= -1) {\n this.queryFilteredColumn = this.queryFilteredColumn.concat(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.distinct([query.field], 'field'));\n }\n }\n }\n };\n CheckBoxFilterBase.prototype.filterEvent = function (args, query) {\n var _this = this;\n var defObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.eventPromise)(args, query);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.dataStateChange, defObj.state);\n this.addInfiniteScrollEvent(query);\n var def = defObj.deffered;\n def.promise.then(function (e) {\n _this.infiniteDataCount = _this.infiniteRenderMod && !_this.infiniteDataCount ? e['count'] : _this.infiniteDataCount;\n var dataResult = _this.infiniteRenderMod ? e['result'] : e;\n _this.dataSuccess(dataResult);\n });\n };\n CheckBoxFilterBase.prototype.addInfiniteScrollEvent = function (query) {\n if (this.infiniteRenderMod) {\n this.infiniteQuery = query.clone();\n if (this.infiniteInitialLoad) {\n this.cBox.classList.add('e-checkbox-infinitescroll');\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.cBox, 'scroll', this.infiniteScrollHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.cBox, 'mouseup', this.infiniteScrollMouseKeyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.cBox, 'mousedown', this.infiniteScrollMouseKeyDownHandler, this);\n }\n else if (this.infiniteSearchValChange) {\n this.cBox.innerHTML = '';\n }\n }\n };\n CheckBoxFilterBase.prototype.infiniteScrollMouseKeyDownHandler = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.cBox, 'scroll', this.infiniteScrollHandler);\n };\n CheckBoxFilterBase.prototype.infiniteScrollMouseKeyUpHandler = function (e) {\n var _this = this;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.cBox, 'scroll', this.infiniteScrollHandler, this);\n var target = this.cBox;\n if (target.children.length > 1 && (target.scrollTop >= target.scrollHeight - target.offsetHeight || target.scrollTop <= 0)) {\n this.infiniteScrollHandler();\n }\n _base_util__WEBPACK_IMPORTED_MODULE_8__.Global.timer = setTimeout(function () { _this.clickHandler(e); _base_util__WEBPACK_IMPORTED_MODULE_8__.Global.timer = null; }, 0);\n };\n CheckBoxFilterBase.prototype.getShimmerTemplate = function () {\n return '';\n };\n /**\n * @returns {void}\n * @hidden\n */\n CheckBoxFilterBase.prototype.showMask = function () {\n var maskRowCount = 5;\n var maskItemHeight;\n var maskList = this.parent.createElement('div', { id: this.id + this.options.type + '_CheckBoxMaskList',\n className: 'e-checkboxlist e-fields e-infinite-list e-masklist' });\n maskList.style.zIndex = '10';\n var wrapperElem = this.cBox;\n this.removeMask();\n if (wrapperElem) {\n var computedStyle = getComputedStyle(wrapperElem);\n var liHeight = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getListHeight)(wrapperElem);\n var height = wrapperElem.children.length ? parseInt(computedStyle.height, 10) :\n Math.floor(parseInt(computedStyle.height.split('px')[0], 10)) - 5;\n if (this.parent.enableAdaptiveUI && this.infiniteRenderMod) {\n maskList.style.height = (height - liHeight) + 'px';\n this.dlg.querySelector('.e-dlg-content').style.overflow = 'hidden';\n }\n var backgroundColor = this.isExcel && !wrapperElem.children.length && !this.dlg.classList.contains('e-excelfilter') ?\n '' : getComputedStyle(this.dlg.querySelector('.e-dlg-content')).backgroundColor;\n maskList.style.cssText = 'width: ' + computedStyle.width + '; min-height: ' + computedStyle.minHeight + '; height: ' +\n height + 'px; margin: ' + computedStyle.margin + '; border-style: ' + computedStyle.borderStyle + '; border-width: '\n + computedStyle.borderWidth + '; border-color: ' + computedStyle.borderColor + '; position: absolute; background-color: ' +\n backgroundColor + ';';\n maskRowCount = Math.floor(height / liHeight);\n maskRowCount = wrapperElem.children.length > maskRowCount ? wrapperElem.children.length : maskRowCount;\n maskItemHeight = liHeight + 'px';\n }\n var maskTemplate = '
      '\n + '
      '\n + this.getShimmerTemplate() + this.getShimmerTemplate() + '
      ';\n maskList.innerHTML = '';\n if (!wrapperElem.children.length) {\n this.spinner.insertAdjacentHTML('beforebegin', maskTemplate);\n this.spinner.parentElement.querySelector('.e-ftrchk.e-mask-ftrchk').style.cssText =\n 'width: 100%; height: ' + maskItemHeight + ';';\n this.spinner.parentElement.querySelector('.e-checkbox-wrapper').style.width = '100%';\n var maskSpan = [].slice.call(this.spinner.parentElement\n .querySelectorAll('.e-mask:not(.e-mask-checkbox-filter-intent):not(.e-mask-checkbox-filter-span-intent)'));\n maskSpan[0].classList.add('e-mask-checkbox-filter-intent');\n maskSpan[1].classList.add('e-mask-checkbox-filter-span-intent');\n }\n this.spinner.insertBefore(maskList, this.cBox);\n for (var i = 0; maskRowCount && i < maskRowCount; i++) {\n maskList.innerHTML += maskTemplate;\n maskList.lastElementChild.style.cssText =\n 'width: 100%; height: ' + maskItemHeight + ';';\n maskList.lastElementChild.querySelector('.e-checkbox-wrapper').style.width = '100%';\n var maskSpan = [].slice.call(maskList\n .querySelectorAll('.e-mask:not(.e-mask-checkbox-filter-intent):not(.e-mask-checkbox-filter-span-intent)'));\n maskSpan[0].classList.add('e-mask-checkbox-filter-intent');\n maskSpan[1].classList.add('e-mask-checkbox-filter-span-intent');\n }\n if (this.cBox) {\n maskList.scrollTop = this.cBox.scrollTop;\n }\n };\n CheckBoxFilterBase.prototype.removeMask = function () {\n var maskLists = this.dialogObj.element.querySelectorAll('.e-mask-ftrchk');\n if (maskLists.length) {\n for (var i = 0; i < maskLists.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(maskLists[i]);\n }\n }\n var maskParent = this.dialogObj.element.querySelector('.e-checkboxlist.e-masklist');\n if (maskParent) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.dialogObj.element.querySelector('.e-checkboxlist.e-masklist'));\n }\n };\n CheckBoxFilterBase.prototype.infiniteScrollHandler = function () {\n var target = this.cBox;\n if (target.scrollTop >= target.scrollHeight - target.offsetHeight && !this.infiniteQueryExecutionPending\n && this.infiniteLoadedElem.length <= (this.infiniteSkipCnt + this.parent.filterSettings.itemsCount)\n && this.cBox.children.length === this.parent.filterSettings.itemsCount * 3\n && (!this.infiniteDataCount || this.infiniteDataCount > (this.infiniteSkipCnt + this.parent.filterSettings.itemsCount))) {\n this.makeInfiniteScrollRequest();\n this.prevInfiniteScrollDirection = 'down';\n }\n else if (target.scrollTop >= target.scrollHeight - target.offsetHeight && !this.infiniteQueryExecutionPending\n && this.infiniteLoadedElem.length > (this.infiniteSkipCnt + this.parent.filterSettings.itemsCount)\n && this.cBox.children.length === this.parent.filterSettings.itemsCount * 3) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.infiniteRemoveElements)(([].slice.call(this.cBox.children)).splice(0, this.parent.filterSettings.itemsCount));\n this.infiniteSkipCnt += this.prevInfiniteScrollDirection === 'down' ? this.parent.filterSettings.itemsCount :\n (this.parent.filterSettings.itemsCount * 3);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.appendChildren)(this.cBox, this.infiniteLoadedElem.slice(this.infiniteSkipCnt, this.parent.filterSettings.itemsCount +\n this.infiniteSkipCnt));\n this.prevInfiniteScrollDirection = 'down';\n }\n else if (target.scrollTop === 0 && !this.infiniteInitialLoad && !this.infiniteSearchValChange && this.infiniteSkipCnt\n && this.infiniteLoadedElem.length && this.infiniteLoadedElem.length > this.parent.filterSettings.itemsCount * 3\n && this.cBox.children.length === this.parent.filterSettings.itemsCount * 3) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.infiniteRemoveElements)(([].slice.call(this.cBox.children)).splice((this.parent.filterSettings\n .itemsCount * 2), this.parent.filterSettings.itemsCount));\n this.infiniteSkipCnt -= this.prevInfiniteScrollDirection === 'up' ? this.parent.filterSettings.itemsCount :\n (this.parent.filterSettings.itemsCount * 3);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.infiniteAppendElements)([].slice.call(this.infiniteLoadedElem.slice(this.infiniteSkipCnt, this.infiniteSkipCnt +\n this.parent.filterSettings.itemsCount)), this.cBox);\n this.cBox.scrollTop = this.infiniteScrollAppendDiff;\n this.prevInfiniteScrollDirection = 'up';\n }\n else if (target.scrollTop === 0 && !this.infiniteInitialLoad && !this.infiniteSearchValChange && this.infiniteSkipCnt\n && this.infiniteLoadedElem.length && this.cBox.children.length < this.parent.filterSettings.itemsCount * 3) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.infiniteRemoveElements)(([].slice.call(this.cBox.children)).splice((this.parent.filterSettings\n .itemsCount * 2), this.infiniteDataCount % this.parent.filterSettings.itemsCount));\n this.infiniteSkipCnt = (Math.floor(this.infiniteDataCount / this.parent.filterSettings.itemsCount) - 3) *\n this.parent.filterSettings.itemsCount;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.infiniteAppendElements)([].slice.call(this.infiniteLoadedElem.slice(this.infiniteSkipCnt, this.infiniteSkipCnt +\n this.parent.filterSettings.itemsCount)), this.cBox);\n this.cBox.scrollTop = this.infiniteScrollAppendDiff;\n this.prevInfiniteScrollDirection = 'up';\n }\n };\n CheckBoxFilterBase.prototype.makeInfiniteScrollRequest = function (query) {\n var _this = this;\n if (!this.infiniteInitialLoad && this.parent.filterSettings && this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n setTimeout(function () {\n if (_this.infiniteQueryExecutionPending) {\n _this.showMask();\n }\n }, 500);\n }\n else if (!this.infiniteInitialLoad) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.createSpinner)({ target: this.spinner, cssClass: this.parent.cssClass ? this.parent.cssClass : null }, this.parent\n .createElement);\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.showSpinner)(this.spinner);\n }\n var fName = 'fn';\n if (this.infiniteQuery && this.infiniteQuery.queries && this.infiniteQuery.queries.length) {\n for (var i = 0; i < this.infiniteQuery.queries.length; i++) {\n if (this.infiniteQuery.queries[i][\"\" + fName] === 'onTake'\n || this.infiniteQuery.queries[i][\"\" + fName] === 'onSkip') {\n this.infiniteQuery.queries.splice(i, 1);\n i--;\n }\n }\n }\n var existQuery = query ? true : false;\n query = query ? query : this.infiniteQuery;\n if (this.infiniteInitialLoad || this.infiniteSearchValChange) {\n this.infiniteSkipCnt = 0;\n }\n else {\n this.infiniteSkipCnt += this.parent.filterSettings.itemsCount;\n }\n query.skip(this.infiniteSkipCnt);\n if (this.infiniteInitialLoad || this.infiniteSearchValChange) {\n query.take(this.parent.filterSettings.itemsCount * 3);\n this.infiniteSkipCnt += this.parent.filterSettings.itemsCount * 2;\n }\n else {\n query.take(this.parent.filterSettings.itemsCount);\n }\n if (!existQuery) {\n if (this.parent.dataSource && 'result' in this.parent.dataSource) {\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_4__.filterChoiceRequest, query: query, filterChoiceCount: null, filterModel: this\n };\n if (this.infiniteRenderMod && this.parent.filterSettings.itemsCount) {\n args.filterChoiceCount = this.parent.filterSettings.itemsCount;\n }\n this.filterEvent(args, query);\n }\n else {\n this.processDataOperation(query);\n this.infiniteQueryExecutionPending = true;\n }\n }\n };\n CheckBoxFilterBase.prototype.processDataOperation = function (query, isInitial) {\n var _this = this;\n this.options.dataSource = this.options.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager ?\n this.options.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.options.dataSource);\n var allPromise = [];\n var runArray = [];\n if (this.isForeignColumn(this.options.column) && isInitial) {\n var colData = ('result' in this.options.column.dataSource) ?\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.options.column.dataSource.result) :\n this.options.column.dataSource;\n this.foreignKeyQuery.params = query.params;\n allPromise.push(colData.executeQuery(this.foreignKeyQuery));\n runArray.push(function (data) { return _this.foreignKeyData = data; });\n }\n this.addInfiniteScrollEvent(query);\n if (this.infiniteRenderMod && this.infiniteInitialLoad && !this.options.isRemote) {\n var field = this.isForeignColumn(this.options.column) ? this.options.foreignKeyValue :\n this.options.column.field;\n this.options.dataSource.executeQuery(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query().sortBy(field, _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.fnAscending)).then(function (e) {\n _this.options.dataSource.dataSource.json = e.result;\n _this.executeQueryOperations(query, allPromise, runArray);\n });\n }\n else {\n this.executeQueryOperations(query, allPromise, runArray);\n }\n };\n CheckBoxFilterBase.prototype.executeQueryOperations = function (query, allPromise, runArray) {\n var _this = this;\n allPromise.push(this.options.dataSource.executeQuery(query));\n runArray.push(this.dataSuccess.bind(this));\n var i = 0;\n Promise.all(allPromise).then(function (e) {\n _this.infiniteQueryExecutionPending = _this.infiniteRenderMod ? false : _this.infiniteQueryExecutionPending;\n for (var j = 0; j < e.length; j++) {\n _this.infiniteDataCount = _this.infiniteRenderMod && !_this.infiniteDataCount ? e[j].count : _this.infiniteDataCount;\n runArray[i++](e[parseInt(j.toString(), 10)].result);\n }\n }).catch(function () {\n if (_this.infiniteRenderMod && _this.parent.filterSettings && _this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n _this.parent.showMaskRow(undefined, _this.dialogObj.element);\n }\n });\n };\n CheckBoxFilterBase.prototype.dataSuccess = function (e) {\n if (!this.infiniteInitialLoad && this.infiniteDataCount && ((this.infiniteSkipCnt >= this.infiniteDataCount\n && !this.infiniteSearchValChange) || (e.length === 0))) {\n return;\n }\n this.fullData = e;\n var args1 = { dataSource: this.fullData, executeQuery: true, field: this.options.field };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.beforeCheckboxRenderer, args1);\n if (args1.executeQuery) {\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n if (!this.customQuery) {\n this.isExecuteLocal = true;\n this.queryGenerate(query);\n this.isExecuteLocal = false;\n }\n // query.select(this.options.field);\n var result = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(args1.dataSource).executeLocal(query);\n var col = this.options.column;\n this.filteredData = CheckBoxFilterBase.getDistinct(result, this.options.field, col, this.foreignKeyData, this).records || [];\n }\n var data = args1.executeQuery ? this.filteredData : args1.dataSource;\n this.processDataSource(null, true, data, args1);\n if ((this.infiniteRenderMod && this.infiniteInitialLoad) || !this.infiniteRenderMod) {\n if (this.sInput) {\n this.sInput.focus();\n }\n else if (this.dlg.querySelector('.e-chk-hidden') && this.dlg.querySelector('.e-ftrchk')) {\n this.dlg.querySelector('.e-chk-hidden').focus();\n this.dlg.querySelector('.e-ftrchk').classList.add('e-chkfocus');\n }\n }\n if (this.infiniteInitialLoad || this.infiniteSearchValChange) {\n this.infiniteInitialLoad = false;\n this.infiniteSearchValChange = false;\n }\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_4__.filterAfterOpen,\n columnName: this.options.field, columnType: this.options.type\n };\n var filterModel = 'filterModel';\n args[\"\" + filterModel] = this;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.cBoxFltrComplete, args);\n if (this.isCheckboxFilterTemplate) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.hideSpinner)(this.spinner);\n }\n };\n CheckBoxFilterBase.prototype.queryGenerate = function (query) {\n if (this.parent.searchSettings && this.parent.searchSettings.key.length) {\n var moduleName = this.options.dataManager.adaptor.getModuleName;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getDataModule) && moduleName && moduleName() === 'ODataV4Adaptor') {\n this.parent.getDataModule().searchQuery(query);\n }\n else {\n var searchSettings = this.parent.searchSettings;\n var fields = searchSettings.fields.length ? searchSettings.fields\n : this.options.columns.map(function (f) { return f.field; });\n query.search(searchSettings.key, fields, searchSettings.operator, searchSettings.ignoreCase, searchSettings.ignoreAccent);\n }\n }\n if ((this.options.filteredColumns.length)) {\n var cols = [];\n for (var i = 0; i < this.options.filteredColumns.length; i++) {\n var filterColumn = this.options.filteredColumns[parseInt(i.toString(), 10)];\n if (this.options.uid) {\n filterColumn.uid = filterColumn.uid || this.parent.getColumnByField(filterColumn.field).uid;\n if (filterColumn.uid !== this.options.uid) {\n cols.push(this.options.filteredColumns[parseInt(i.toString(), 10)]);\n }\n }\n else {\n if (filterColumn.field !== this.options.field) {\n cols.push(this.options.filteredColumns[parseInt(i.toString(), 10)]);\n }\n }\n }\n var predicate = this.getPredicateFromCols(cols, this.isExecuteLocal);\n if (predicate) {\n query.where(predicate);\n }\n }\n };\n CheckBoxFilterBase.prototype.processDataSource = function (query, isInitial, dataSource, args) {\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.showSpinner)(this.spinner);\n // query = query ? query : this.options.query.clone();\n // query.requiresCount();\n // let result: Object = new DataManager(dataSource as JSON[]).executeLocal(query);\n // let res: { result: Object[] } = result as { result: Object[] };\n this.isExecuteLocal = true;\n this.updateResult();\n this.isExecuteLocal = false;\n var args1 = { dataSource: this.fullData, isCheckboxFilterTemplate: false, column: this.options.column,\n element: this.cBox, type: this.options.type, format: this.options.type, btnObj: this.options.isResponsiveFilter ? null :\n this.dialogObj.btnObj[0], searchBox: this.searchBox };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.beforeCheckboxfilterRenderer, args1);\n this.isCheckboxFilterTemplate = args1.isCheckboxFilterTemplate;\n if (!this.isCheckboxFilterTemplate) {\n this.createFilterItems(dataSource, isInitial, args);\n }\n else if (this.infiniteRenderMod && this.parent.filterSettings && this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n this.removeMask();\n }\n };\n CheckBoxFilterBase.prototype.processSearch = function (query) {\n this.processDataOperation(query);\n };\n CheckBoxFilterBase.prototype.updateResult = function () {\n this.result = {};\n var predicate = this.infiniteRenderMod && this.existingPredicate[this.options.field] ?\n this.getPredicateFromCols(this.existingPredicate[this.options.field], this.isExecuteLocal) :\n this.getPredicateFromCols(this.options.filteredColumns, this.isExecuteLocal);\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n if (predicate) {\n query.where(predicate);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.beforeCheckboxRendererQuery, { query: query });\n var result = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.fullData).executeLocal(query);\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var res = result_1[_i];\n this.result[(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getObject)(this.options.field, res)] = true;\n }\n };\n CheckBoxFilterBase.prototype.clickHandler = function (e) {\n var _a;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_base_util__WEBPACK_IMPORTED_MODULE_8__.Global.timer)) {\n clearTimeout(_base_util__WEBPACK_IMPORTED_MODULE_8__.Global.timer);\n }\n var target = e.target;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.loadingIndicator) && this.parent.loadingIndicator.indicatorType === 'Shimmer'\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-mask-ftrchk')) {\n return;\n }\n var elem = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-checkbox-wrapper');\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(target, 'e-searchbox')) {\n this.searchBoxClick(e);\n }\n if (elem && !this.isCheckboxFilterTemplate) {\n var selectAll = elem.querySelector('.e-selectall');\n if (selectAll) {\n this.updateAllCBoxes(!selectAll.classList.contains('e-check'));\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.toogleCheckbox)(elem.parentElement);\n if (this.infiniteRenderMod && !elem.parentElement.querySelector('.e-add-current')) {\n this.localInfiniteSelectionInteracted = true;\n var caseSen = this.options.allowCaseSensitive;\n var span = elem.parentElement.querySelector('.e-frame');\n var input = span.previousSibling;\n var optr = input.checked ? 'equal' : 'notequal';\n var pred = input.checked ? 'or' : 'and';\n var defaults = { field: this.options.field, predicate: pred, uid: this.options.uid,\n operator: optr, type: this.options.type, matchCase: caseSen, ignoreAccent: this.options.ignoreAccent\n };\n var value = this.values[(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(input, 'e-ftrchk').getAttribute('uid')];\n this.updateInfiniteManualSelectPred(defaults, value);\n if (this.infiniteRenderMod && !this.options.isRemote && this.options.parentTotalDataCount\n && this.infiniteUnloadParentExistPred.length) {\n var predicate = this.getPredicateFromCols((_a = this.options.filteredColumns).concat.apply(_a, this.infiniteManualSelectMaintainPred), true);\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query();\n if (predicate) {\n query.where(predicate);\n }\n var result = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.infinitePermenantLocalData).executeLocal(query);\n if (this.options.parentTotalDataCount !== result.length) {\n this.options.parentTotalDataCount = result.length;\n }\n if (!this.options.parentTotalDataCount && this.infiniteUnloadParentExistPred.length) {\n this.infiniteUnloadParentExistPred = [];\n }\n }\n if (this.infiniteUnloadParentExistPred.length && (this.options.parentTotalDataCount === this.infiniteDataCount\n || !this.options.parentTotalDataCount)) {\n this.infiniteUnloadParentExistPred = [];\n }\n }\n }\n this.updateIndeterminatenBtn();\n elem.querySelector('.e-chk-hidden').focus();\n }\n this.setFocus((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(elem, 'e-ftrchk'));\n };\n CheckBoxFilterBase.prototype.updateInfiniteManualSelectPred = function (defaults, value) {\n for (var i = 0; i < this.infiniteManualSelectMaintainPred.length; i++) {\n var predmdl = this.infiniteManualSelectMaintainPred[i];\n if (predmdl.value + '' === value + '' && (predmdl.operator === 'equal' || predmdl.operator === 'notequal')) {\n this.infiniteManualSelectMaintainPred.splice(i, 1);\n break;\n }\n }\n if ((defaults.predicate === 'or' && (!this.localInfiniteSelectAllClicked || !this.infiniteLocalSelectAll))\n || (defaults.predicate === 'and' && (!this.localInfiniteSelectAllClicked || this.infiniteLocalSelectAll))) {\n this.infiniteManualSelectMaintainPred.push((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, { value: value }, defaults));\n if (defaults.predicate === 'or') {\n this.options.parentTotalDataCount++;\n }\n else {\n this.options.parentTotalDataCount--;\n }\n }\n };\n /**\n * Method to set the next target element on keyboard navigation using arrow keys.\n *\n * @param {KeyboardEventArgs} e - Defines the Keyboard event argument\n * @param {HTMLElement[]} focusableElements - Defines the Focusable elements\n * @returns {void}\n */\n CheckBoxFilterBase.prototype.focusNextOrPrev = function (e, focusableElements) {\n var nextIndex = (e.key === 'ArrowUp') ? focusableElements.indexOf(document.activeElement) - 1\n : focusableElements.indexOf(document.activeElement) + 1;\n var nextElement = focusableElements[((nextIndex + focusableElements.length) % focusableElements.length)];\n // Set focus on the next / previous element\n if (nextElement) {\n nextElement.focus();\n var target = nextElement.classList.contains('e-chk-hidden') ? (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(nextElement, 'e-ftrchk') : nextElement;\n this.setFocus(target);\n }\n };\n CheckBoxFilterBase.prototype.keyupHandler = function (e) {\n if (e.key === 'Tab' || ((e.key === 'ArrowUp' || e.key === 'ArrowDown') && !e.altKey)) {\n this.setFocus((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.parentsUntil)(e.target, 'e-ftrchk'));\n }\n if ((e.key === 'ArrowUp' || e.key === 'ArrowDown') && !e.altKey && this.parent.filterSettings\n && this.parent.filterSettings.type === 'CheckBox') {\n e.preventDefault();\n var focusableElements = Array.from(this.dlg.querySelectorAll('input, button, [tabindex]:not([tabindex=\"-1\"])'));\n this.focusNextOrPrev(e, focusableElements);\n }\n };\n CheckBoxFilterBase.prototype.setFocus = function (elem) {\n var prevElem = this.dlg.querySelector('.e-chkfocus');\n if (prevElem) {\n prevElem.classList.remove('e-chkfocus');\n }\n if (elem && elem !== prevElem) {\n elem.classList.add('e-chkfocus');\n }\n };\n CheckBoxFilterBase.prototype.updateAllCBoxes = function (checked) {\n if (this.infiniteRenderMod) {\n this.localInfiniteSelectAllClicked = true;\n this.infiniteLocalSelectAll = checked;\n this.infiniteUnloadParentExistPred = [];\n this.infiniteManualSelectMaintainPred = [];\n }\n var cBoxes = this.infiniteRenderMod ?\n this.infiniteLoadedElem.map(function (arr) {\n return arr.querySelector('.e-frame');\n }) : [].slice.call(this.cBox.querySelectorAll('.e-frame:not(.e-add-current)'));\n for (var _i = 0, cBoxes_1 = cBoxes; _i < cBoxes_1.length; _i++) {\n var cBox = cBoxes_1[_i];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.removeAddCboxClasses)(cBox, checked);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.setChecked)(cBox.previousSibling, checked);\n }\n };\n CheckBoxFilterBase.prototype.dialogOpen = function () {\n if (this.parent.element.classList.contains('e-device')) {\n this.dialogObj.element.querySelector('.e-input-group').classList.remove('e-input-focus');\n if (!this.options.isResponsiveFilter) {\n this.dialogObj.element.querySelector('.e-btn').focus();\n }\n }\n };\n CheckBoxFilterBase.prototype.createCheckbox = function (value, checked, data) {\n var elem = checked ? this.cBoxTrue.cloneNode(true) :\n this.cBoxFalse.cloneNode(true);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.setChecked)(elem.querySelector('input'), checked);\n var label = elem.querySelector('.e-label');\n var dummyData = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.extendObjWithFn)({}, data, { column: this.options.column, parent: this.parent });\n var innerText = this.options.disableHtmlEncode ? 'textContent' : 'innerHTML';\n label[\"\" + innerText] = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && value.toString().length ?\n this.parent.enableHtmlSanitizer ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(value) : value : this.getLocalizedLabel('Blanks');\n var checkboxUid = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getUid)('cbox');\n label.setAttribute('id', checkboxUid + 'cboxLabel');\n elem.querySelector('input').setAttribute('aria-labelledby', label.id);\n if (label.innerHTML === this.getLocalizedLabel('Blanks')) {\n this.isBlanks = true;\n }\n if (typeof value === 'boolean') {\n label.innerHTML = value === true ? this.getLocalizedLabel('FilterTrue') : this.getLocalizedLabel('FilterFalse');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], ['e-checkboxfiltertext']);\n if (this.options.template && data[this.options.column.field] !== this.getLocalizedLabel('SelectAll')\n && data[this.options.column.field] !== this.getLocalizedLabel('AddCurrentSelection')) {\n label.innerHTML = '';\n var isReactCompiler = this.parent.isReact && this.options.column.filter\n && typeof (this.options.column.filter.itemTemplate) !== 'string' &&\n !(this.options.column.filter.itemTemplate.prototype && this.options.column.filter.itemTemplate.prototype.CSPTemplate);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.parent.parentDetails.parentInstObj.isReact;\n if (isReactCompiler || isReactChild) {\n this.options.template(dummyData, this.parent, 'filterItemTemplate', null, null, null, label);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.appendChildren)(label, this.options.template(dummyData, this.parent, 'filterItemTemplate', null, null, null, null, this.parent.root));\n }\n }\n return elem;\n };\n CheckBoxFilterBase.prototype.updateIndeterminatenBtn = function () {\n var cnt = this.infiniteRenderMod ? this.infiniteLoadedElem.length : this.cBox.children.length - 1;\n var className = [];\n var disabled = false;\n var elem = this.infiniteRenderMod ? this.sBox.querySelector('.e-selectall') : this.cBox.querySelector('.e-selectall');\n var selected = this.infiniteRenderMod ? this.infiniteLoadedElem.filter(function (arr) { return arr.querySelector('.e-check'); }).length :\n this.cBox.querySelectorAll('.e-check:not(.e-selectall):not(.e-add-current)').length;\n if (this.cBox.querySelector('.e-add-current')) {\n cnt -= 1;\n }\n var btn;\n if (!this.options.isResponsiveFilter) {\n btn = this.dialogObj.btnObj[0];\n btn.disabled = false;\n }\n var input = elem.previousSibling;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.setChecked)(input, false);\n input.indeterminate = false;\n if (this.infiniteRenderMod && this.sInput.value === '' && !this.options.parentCurrentViewDataCount && !this.localInfiniteSelectionInteracted\n && (!this.localInfiniteSelectAllClicked || (!this.infiniteLocalSelectAll && !selected)) && (cnt !== selected || cnt === selected)) {\n selected = 0;\n }\n else if (this.infiniteRenderMod && this.infiniteLoadedElem.length < this.infiniteDataCount\n && this.infiniteUnloadParentExistPred.length && (!selected || cnt === selected) && this.infiniteLocalSelectAll) {\n if (!selected) {\n selected += this.infiniteUnloadParentExistPred.length;\n }\n else {\n cnt += this.infiniteUnloadParentExistPred.length;\n }\n }\n if (cnt === selected) {\n if (this.infiniteRenderMod) {\n this.infiniteLocalSelectAll = true;\n this.localInfiniteSelectAllClicked = true;\n this.infiniteManualSelectMaintainPred = [];\n }\n className = ['e-check'];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.setChecked)(input, true);\n }\n else if (selected) {\n className = ['e-stop'];\n input.indeterminate = true;\n }\n else {\n if (this.infiniteRenderMod) {\n this.infiniteLocalSelectAll = false;\n this.localInfiniteSelectAllClicked = true;\n this.infiniteManualSelectMaintainPred = [];\n }\n className = ['e-uncheck'];\n disabled = true;\n if (btn) {\n btn.disabled = true;\n }\n }\n if (btn) {\n this.filterState = !btn.disabled;\n btn.dataBind();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([elem], ['e-check', 'e-stop', 'e-uncheck']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([elem], className);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshCustomFilterOkBtn, { disabled: disabled });\n };\n CheckBoxFilterBase.prototype.createFilterItems = function (data, isInitial, args1) {\n var _a, _b, _c;\n var cBoxes = this.parent.createElement('div');\n var btn;\n var disabled = false;\n if (!this.options.isResponsiveFilter) {\n btn = this.dialogObj.btnObj[0];\n }\n var nullCounter = -1;\n var key = 'ejValue';\n if (!args1.executeQuery) {\n key = args1.field;\n }\n for (var i = 0; i < data.length; i++) {\n var val = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(key, data[parseInt(i.toString(), 10)]);\n if (val === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val)) {\n nullCounter = nullCounter + 1;\n }\n }\n if (!this.infiniteRenderMod) {\n this.itemsCnt = nullCounter !== -1 ? data.length - nullCounter : data.length;\n }\n if (this.infiniteRenderMod && this.parent.filterSettings && this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n this.removeMask();\n }\n if (data.length && !this.renderEmpty) {\n var selectAllValue = this.getLocalizedLabel('SelectAll');\n var innerDiv = this.cBox.querySelector('.e-checkfltrnmdiv');\n if (innerDiv) {\n innerDiv.classList.remove('e-checkfltrnmdiv');\n }\n var checkBox = this.createCheckbox(selectAllValue, false, (_a = {}, _a[this.options.field] = selectAllValue, _a));\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([checkBox], this.parent.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([checkBox], [this.parent.cssClass]);\n }\n }\n if (this.infiniteInitialLoad || !this.infiniteRenderMod) {\n var selectAll = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.createCboxWithWrap)((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getUid)('cbox'), checkBox, 'e-ftrchk');\n selectAll.querySelector('.e-frame').classList.add('e-selectall');\n if (this.infiniteRenderMod) {\n selectAll.classList.add('e-infinitescroll');\n if (this.parent.enableAdaptiveUI) {\n this.spinner.style.height = (this.spinner.offsetHeight - (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getListHeight)(this.cBox)) + 'px';\n }\n this.sBox.insertBefore(selectAll, this.spinner);\n }\n else {\n cBoxes.appendChild(selectAll);\n }\n }\n else if (this.sBox.querySelector('.e-ftrchk .e-selectall')) {\n this.sBox.querySelector('.e-ftrchk .e-selectall').previousSibling.disabled = false;\n this.sBox.querySelector('.e-ftrchk .e-selectall').parentElement.classList.remove('e-checkbox-disabled');\n }\n var predicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate('field', 'equal', this.options.field);\n if (this.options.foreignKeyValue) {\n predicate = predicate.or('field', 'equal', this.options.foreignKeyValue);\n }\n var isColFiltered = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.options.filteredColumns).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query().where(predicate)).length;\n if (this.sInput && this.sInput.value) {\n var predicateCheckBox = this.createCheckbox(this.getLocalizedLabel('AddCurrentSelection'), false, (_b = {},\n _b[this.options.field] = this.getLocalizedLabel('AddCurrentSelection'),\n _b));\n if (this.parent.cssClass) {\n if (this.parent.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([predicateCheckBox], this.parent.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([predicateCheckBox], [this.parent.cssClass]);\n }\n }\n if ((this.infiniteRenderMod && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.sBox.children[2])\n && this.sBox.children[2].innerText !== this.getLocalizedLabel('AddCurrentSelection'))) || !this.infiniteRenderMod) {\n var predicateElement = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.createCboxWithWrap)((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getUid)('cbox'), predicateCheckBox, 'e-ftrchk');\n predicateElement.querySelector('.e-frame').classList.add('e-add-current');\n if (this.infiniteRenderMod) {\n predicateElement.classList.add('e-infinitescroll');\n this.sBox.insertBefore(predicateElement, this.spinner);\n var checkBoxListElem = this.spinner.querySelector('.e-checkboxlist');\n var reduceHeight = Math.ceil(predicateElement.getBoundingClientRect().height);\n checkBoxListElem.style.height = (parseInt(getComputedStyle(checkBoxListElem).height.split('px')[0], 10) - reduceHeight)\n + 'px';\n checkBoxListElem.style.minHeight = checkBoxListElem.style.height;\n }\n else {\n cBoxes.appendChild(predicateElement);\n }\n }\n else if (this.sBox.querySelector('.e-ftrchk .e-add-current')) {\n this.sBox.querySelector('.e-ftrchk .e-add-current').previousSibling.disabled = false;\n this.sBox.querySelector('.e-ftrchk .e-add-current').parentElement.classList.remove('e-checkbox-disabled');\n }\n }\n else if (this.infiniteRenderMod && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.sBox.children[2])\n && this.sBox.children[2].innerText === this.getLocalizedLabel('AddCurrentSelection')) {\n var checkBoxListElem = this.spinner.querySelector('.e-checkboxlist');\n var increaseHeight = Math.ceil(this.sBox.children[2].getBoundingClientRect().height);\n checkBoxListElem.style.height = (parseInt(getComputedStyle(checkBoxListElem).height.split('px')[0], 10) + increaseHeight)\n + 'px';\n checkBoxListElem.style.minHeight = checkBoxListElem.style.height;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.sBox.children[2]);\n }\n var isRndere = void 0;\n for (var i = 0; i < data.length; i++) {\n var uid = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getUid)('cbox');\n this.values[\"\" + uid] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(key, data[parseInt(i.toString(), 10)]);\n var value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(this.options.field, data[parseInt(i.toString(), 10)]);\n if (this.options.formatFn) {\n value = this.valueFormatter.toView(value, this.options.formatFn);\n }\n var args_1 = { value: value, column: this.options.column, data: data[parseInt(i.toString(), 10)] };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.filterCboxValue, args_1);\n value = args_1.value;\n if ((value === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value))) {\n if (isRndere) {\n continue;\n }\n isRndere = true;\n }\n if (this.infiniteRenderMod) {\n this.updateInfiniteUnLoadedCheckboxExistPred(value, this.infiniteUnloadParentExistPred);\n }\n var checkbox = this.localInfiniteSelectAllClicked ?\n this.createCheckbox(value, this.infiniteLocalSelectAll, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('dataObj', data[i])) :\n this.createCheckbox(value, this.getCheckedState(isColFiltered, this.values[\"\" + uid]), (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('dataObj', data[i]));\n cBoxes.appendChild((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.createCboxWithWrap)(uid, checkbox, 'e-ftrchk'));\n if (this.infiniteRenderMod) {\n cBoxes.lastChild.style.height = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getListHeight)(this.cBox) + 'px';\n }\n }\n var scrollTop = this.cBox.scrollTop;\n if (!this.infiniteRenderMod || this.infiniteSearchValChange) {\n this.cBox.innerHTML = '';\n }\n else if (this.infiniteRenderMod && this.cBox.children.length) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.infiniteRemoveElements)(([].slice.call(this.cBox.children)).splice(0, this.parent.filterSettings.itemsCount));\n }\n if (this.infiniteRenderMod) {\n (_c = this.infiniteLoadedElem).push.apply(_c, [].slice.call(cBoxes.children));\n this.itemsCnt = nullCounter !== -1 ? this.infiniteLoadedElem.length - nullCounter : this.infiniteLoadedElem.length;\n }\n if (this.infiniteUnloadParentExistPred.length && (this.infiniteLoadedElem.length >= this.infiniteDataCount\n || !this.options.parentCurrentViewDataCount || (this.options.parentTotalDataCount === this.infiniteDataCount\n && this.options.parentCurrentViewDataCount))) {\n this.infiniteUnloadParentExistPred = [];\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.appendChildren)(this.cBox, [].slice.call(cBoxes.children));\n if (this.infiniteRenderMod && !this.infiniteScrollAppendDiff) {\n this.infiniteScrollAppendDiff = Math.round(scrollTop - this.cBox.scrollTop);\n }\n this.updateIndeterminatenBtn();\n if (!this.infiniteRenderMod) {\n if (btn) {\n btn.disabled = false;\n }\n disabled = false;\n }\n else {\n if (btn && btn.disabled) {\n disabled = true;\n }\n else {\n disabled = false;\n }\n }\n }\n else {\n cBoxes.appendChild(this.parent.createElement('span', { innerHTML: this.getLocalizedLabel('NoResult') }));\n this.cBox.innerHTML = '';\n if (this.infiniteRenderMod) {\n var selectAll = this.sBox.querySelector('.e-ftrchk .e-selectall');\n if (selectAll) {\n var selectAllParent = selectAll.parentElement.parentElement;\n if (selectAll.classList.contains('e-check')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.toogleCheckbox)(selectAllParent);\n }\n else if (selectAll.classList.contains('e-stop')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.toogleCheckbox)(selectAllParent);\n selectAll.classList.remove('e-stop');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.toogleCheckbox)(selectAllParent);\n }\n selectAll.previousSibling.disabled = true;\n selectAll.parentElement.classList.add('e-checkbox-disabled');\n }\n var addCurrSelection = this.sBox.querySelector('.e-ftrchk .e-add-current');\n if (addCurrSelection) {\n var addCurrSelectionParent = addCurrSelection.parentElement.parentElement;\n if (addCurrSelection.classList.contains('e-check')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.toogleCheckbox)(addCurrSelectionParent);\n }\n addCurrSelection.previousSibling.disabled = true;\n addCurrSelection.parentElement.classList.add('e-checkbox-disabled');\n }\n }\n this.cBox.appendChild(this.parent.createElement('div', { className: 'e-checkfltrnmdiv' }));\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.appendChildren)(this.cBox.children[0], [].slice.call(cBoxes.children));\n if (btn) {\n btn.disabled = true;\n }\n disabled = true;\n this.filterState = !disabled;\n }\n if (btn && data.length) {\n this.filterState = !btn.disabled;\n btn.dataBind();\n }\n var args = { requestType: _base_constant__WEBPACK_IMPORTED_MODULE_4__.filterChoiceRequest, dataSource: this.renderEmpty ? [] : data };\n var filterModel = 'filterModel';\n args[\"\" + filterModel] = this;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.cBoxFltrComplete, args);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshCustomFilterOkBtn, { disabled: disabled });\n if (this.infiniteRenderMod && this.infiniteInitialLoad) {\n this.cBox.style.marginTop = '0px';\n }\n (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_9__.hideSpinner)(this.spinner);\n };\n CheckBoxFilterBase.prototype.updateInfiniteUnLoadedCheckboxExistPred = function (value, updatePredArr) {\n for (var j = 0; j < updatePredArr.length; j++) {\n var pred = updatePredArr[j];\n var predValue = pred.value instanceof Date ?\n this.valueFormatter.toView(pred.value, this.options.formatFn) : pred.value;\n var column = this.options.column;\n if (column.isForeignColumn()) {\n var foreignDataObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getForeignData)(column, {}, predValue, this.foreignKeyData)[0];\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.foreignKeyField, foreignDataObj);\n }\n if (value === predValue && (pred.operator === 'equal' || pred.operator === 'notequal')) {\n this.infiniteManualSelectMaintainPred.push(updatePredArr[j]);\n updatePredArr.splice(j, 1);\n j--;\n }\n }\n };\n CheckBoxFilterBase.prototype.getCheckedState = function (isColFiltered, value) {\n if (!this.isFiltered || !isColFiltered) {\n return true;\n }\n else {\n var checkState = this.sInput && this.sInput.value ? true : this.result[\"\" + value];\n if (this.infiniteRenderMod) {\n return checkState;\n }\n else {\n return this.options.operator === 'notequal' ? !checkState : checkState;\n }\n }\n };\n CheckBoxFilterBase.getDistinct = function (json, field, column, foreignKeyData, checkboxFilter) {\n var len = json.length;\n var result = [];\n var value;\n var ejValue = 'ejValue';\n var lookup = {};\n var isForeignKey = column && column.isForeignColumn ? column.isForeignColumn() : false;\n while (len--) {\n value = json[parseInt(len.toString(), 10)];\n if (column && column.type === 'dateonly' && typeof value[\"\" + field] === 'string' && value[\"\" + field]) {\n var arr = value[\"\" + field].split(/[^0-9.]/);\n value[\"\" + field] = new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10));\n }\n value = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getObject)(field, value); //local remote diff, check with mdu\n var currentFilterValue = (typeof value === 'string') && !((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(checkboxFilter)) &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n !((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(checkboxFilter.parent)) && !((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(checkboxFilter.parent.filterSettings)) &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n !((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(checkboxFilter.parent.filterSettings.enableCaseSensitivity)) ? value.toLowerCase() : value;\n if (!(currentFilterValue in lookup)) {\n var obj = {};\n obj[\"\" + ejValue] = value;\n lookup[\"\" + currentFilterValue] = true;\n if (isForeignKey) {\n var foreignDataObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getForeignData)(column, {}, value, foreignKeyData)[0];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(_base_constant__WEBPACK_IMPORTED_MODULE_4__.foreignKeyData, foreignDataObj, json[parseInt(len.toString(), 10)]);\n value = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.foreignKeyValue, foreignDataObj);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(field, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? null : value, obj);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('dataObj', json[parseInt(len.toString(), 10)], obj);\n result.push(obj);\n }\n }\n return _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.group(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.sort(result, field, _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.fnAscending), 'ejValue');\n };\n CheckBoxFilterBase.getPredicate = function (columns, isExecuteLocal) {\n var cols = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.distinct(columns, 'field', true) || [];\n var collection = [];\n var pred = {};\n for (var i = 0; i < cols.length; i++) {\n collection = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(columns).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query().where('field', 'equal', cols[parseInt(i.toString(), 10)].field));\n if (collection.length !== 0) {\n pred[cols[parseInt(i.toString(), 10)].field] = CheckBoxFilterBase.generatePredicate(collection, isExecuteLocal);\n }\n }\n return pred;\n };\n CheckBoxFilterBase.generatePredicate = function (cols, isExecuteLocal) {\n var len = cols ? cols.length : 0;\n var predicate;\n var operate = 'or';\n var first = CheckBoxFilterBase.updateDateFilter(cols[0]);\n first.ignoreAccent = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(first.ignoreAccent) ? first.ignoreAccent : false;\n if (first.type === 'date' || first.type === 'datetime' || first.type === 'dateonly') {\n predicate = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getDatePredicate)(first, first.type, isExecuteLocal);\n }\n else {\n predicate = first.ejpredicate ? first.ejpredicate :\n new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate(first.field, first.operator, first.value, !CheckBoxFilterBase.getCaseValue(first), first.ignoreAccent);\n }\n for (var p = 1; p < len; p++) {\n cols[parseInt(p.toString(), 10)] = CheckBoxFilterBase.updateDateFilter(cols[parseInt(p.toString(), 10)]);\n if (len > 2 && p > 1 && ((cols[p].predicate === 'or' && cols[p - 1].predicate === 'or')\n || (cols[p].predicate === 'and' && cols[p - 1].predicate === 'and'))) {\n if (cols[p].type === 'date' || cols[p].type === 'datetime' || cols[p].type === 'dateonly') {\n predicate.predicates.push((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getDatePredicate)(cols[parseInt(p.toString(), 10)], cols[p].type, isExecuteLocal));\n }\n else {\n predicate.predicates.push(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate(cols[p].field, cols[parseInt(p.toString(), 10)].operator, cols[parseInt(p.toString(), 10)].value, !CheckBoxFilterBase.getCaseValue(cols[parseInt(p.toString(), 10)]), cols[parseInt(p.toString(), 10)].ignoreAccent));\n }\n }\n else {\n if (cols[p].type === 'date' || cols[p].type === 'datetime' || cols[p].type === 'dateonly') {\n if (cols[parseInt(p.toString(), 10)].predicate === 'and' && cols[parseInt(p.toString(), 10)].operator === 'equal') {\n predicate = predicate[\"\" + operate]((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getDatePredicate)(cols[parseInt(p.toString(), 10)], cols[parseInt(p.toString(), 10)].type, isExecuteLocal), cols[parseInt(p.toString(), 10)].type, cols[parseInt(p.toString(), 10)].ignoreAccent);\n }\n else {\n predicate = predicate[(cols[parseInt(p.toString(), 10)].predicate)]((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getDatePredicate)(cols[parseInt(p.toString(), 10)], cols[parseInt(p.toString(), 10)].type, isExecuteLocal), cols[parseInt(p.toString(), 10)].type, cols[parseInt(p.toString(), 10)].ignoreAccent);\n }\n }\n else {\n predicate = cols[parseInt(p.toString(), 10)].ejpredicate ?\n predicate[cols[parseInt(p.toString(), 10)]\n .predicate](cols[parseInt(p.toString(), 10)].ejpredicate) :\n predicate[(cols[parseInt(p.toString(), 10)].predicate)](cols[parseInt(p.toString(), 10)].field, cols[parseInt(p.toString(), 10)].operator, cols[parseInt(p.toString(), 10)].value, !CheckBoxFilterBase.getCaseValue(cols[parseInt(p.toString(), 10)]), cols[parseInt(p.toString(), 10)].ignoreAccent);\n }\n }\n }\n return predicate || null;\n };\n CheckBoxFilterBase.getCaseValue = function (filter) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filter.matchCase)) {\n if (filter.type === 'string' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filter.type) && typeof (filter.value) === 'string') {\n return false;\n }\n else {\n return true;\n }\n }\n else {\n return filter.matchCase;\n }\n };\n CheckBoxFilterBase.updateDateFilter = function (filter) {\n if ((filter.type === 'date' || filter.type === 'datetime' || filter.type === 'dateonly' || filter.value instanceof Date)) {\n filter.type = filter.type || 'date';\n }\n return filter;\n };\n return CheckBoxFilterBase;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExcelFilterBase: () => (/* binding */ ExcelFilterBase)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-navigations */ \"./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js\");\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * @hidden\n * `ExcelFilter` module is used to handle filtering action.\n */\nvar ExcelFilterBase = /** @class */ (function (_super) {\n __extends(ExcelFilterBase, _super);\n /**\n * Constructor for excel filtering module\n *\n * @param {IXLFilter} parent - parent details\n * @param {Object} customFltrOperators - operator details\n * @hidden\n */\n function ExcelFilterBase(parent, customFltrOperators) {\n var _this = _super.call(this, parent) || this;\n _this.childRefs = [];\n _this.eventHandlers = {};\n _this.isDevice = false;\n _this.focusedMenuItem = null;\n _this.customFilterOperators = customFltrOperators;\n _this.isExcel = true;\n return _this;\n }\n ExcelFilterBase.prototype.getCMenuDS = function (type, operator) {\n var options = {\n number: ['Equal', 'NotEqual', '', 'LessThan', 'LessThanOrEqual', 'GreaterThan',\n 'GreaterThanOrEqual', 'Between', '', 'CustomFilter'],\n string: ['Equal', 'NotEqual', '', 'StartsWith', 'EndsWith', '', 'Contains', 'NotContains', '', 'CustomFilter']\n };\n options.date = options.number;\n options.datetime = options.number;\n options.dateonly = options.number;\n var model = [];\n for (var i = 0; i < options[\"\" + type].length; i++) {\n if (options[\"\" + type][parseInt(i.toString(), 10)].length) {\n if (operator) {\n model.push({\n text: this.getLocalizedLabel(options[\"\" + type][parseInt(i.toString(), 10)]) + '...',\n iconCss: 'e-icons e-icon-check ' + (operator === options[\"\" + type][parseInt(i.toString(), 10)].toLowerCase() ? '' : 'e-emptyicon')\n });\n }\n else {\n model.push({\n text: this.getLocalizedLabel(options[\"\" + type][parseInt(i.toString(), 10)]) + '...'\n });\n }\n }\n else {\n model.push({ separator: true });\n }\n }\n return model;\n };\n /**\n * To destroy the filter bar.\n *\n * @returns {void}\n * @hidden\n */\n ExcelFilterBase.prototype.destroy = function () {\n if (this.dlg) {\n this.unwireExEvents();\n _super.prototype.closeDialog.call(this);\n }\n if (!this.isDevice && this.menuObj) {\n var li = this.menuObj.element.querySelector('li.e-focused');\n if (!(li && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(li, 'e-excel-menu'))) {\n this.destroyCMenu();\n }\n }\n if (this.dlgObj && !this.dlgObj.isDestroyed) {\n this.removeDialog();\n }\n };\n ExcelFilterBase.prototype.createMenu = function (type, isFiltered, isCheckIcon, eleOptions) {\n var options = { string: 'TextFilter', date: 'DateFilter', dateonly: 'DateFilter', datetime: 'DateTimeFilter', number: 'NumberFilter' };\n this.menu = this.parent.createElement('div', { className: 'e-contextmenu-wrapper' });\n if (this.parent.enableRtl) {\n this.menu.classList.add('e-rtl');\n }\n else {\n this.menu.classList.remove('e-rtl');\n }\n if (this.parent.cssClass) {\n this.menu.classList.add(this.parent.cssClass);\n }\n var ul = this.parent.createElement('ul');\n var icon = isFiltered ? 'e-excl-filter-icon e-filtered' : 'e-excl-filter-icon';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.parent.allowSorting && this.parent.getModuleName() === 'grid'\n && !this.options.isResponsiveFilter) {\n var hdrele = this.parent.getColumnHeaderByUid(eleOptions.uid).getAttribute('aria-sort');\n var colIsSort = this.parent.getColumnByField(eleOptions.field).allowSorting;\n var isAsc = (!colIsSort || hdrele === 'ascending') ? 'e-disabled e-excel-ascending' : 'e-excel-ascending';\n var isDesc = (!colIsSort || hdrele === 'descending') ? 'e-disabled e-excel-descending' : 'e-excel-descending';\n var ascName = (type === 'string') ? this.getLocalizedLabel('SortAtoZ') : (type === 'datetime' || type === 'date') ?\n this.getLocalizedLabel('SortByOldest') : this.getLocalizedLabel('SortSmallestToLargest');\n var descName = (type === 'string') ? this.getLocalizedLabel('SortZtoA') : (type === 'datetime' || type === 'date') ?\n this.getLocalizedLabel('SortByNewest') : this.getLocalizedLabel('SortLargestToSmallest');\n ul.appendChild(this.createMenuElem(ascName, isAsc, 'e-sortascending'));\n ul.appendChild(this.createMenuElem(descName, isDesc, 'e-sortdescending'));\n var separator = this.parent.createElement('li', { className: 'e-separator e-menu-item e-excel-separator' });\n ul.appendChild(separator);\n }\n if (!this.options.isResponsiveFilter) {\n ul.appendChild(this.createMenuElem(this.getLocalizedLabel('ClearFilter'), isFiltered ? '' : 'e-disabled', icon));\n }\n if (type !== 'boolean') {\n ul.appendChild(this.createMenuElem(this.getLocalizedLabel(options[\"\" + type]), 'e-submenu', isCheckIcon && this.ensureTextFilter() ? 'e-icon-check' : icon + ' e-emptyicon', true));\n }\n this.menu.appendChild(ul);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.beforeFltrcMenuOpen, { element: this.menu });\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.refreshCustomFilterClearBtn, { isFiltered: isFiltered });\n };\n ExcelFilterBase.prototype.createMenuElem = function (val, className, iconName, isSubMenu) {\n var li = this.parent.createElement('li', { className: className + ' e-menu-item' });\n li.innerHTML = val;\n li.tabIndex = li.classList.contains('e-disabled') ? -1 : 0;\n li.insertBefore(this.parent.createElement('span', { className: 'e-menu-icon e-icons ' + iconName, attrs: { 'aria-hidden': 'true' } }), li.firstChild);\n if (isSubMenu) {\n li.appendChild(this.parent.createElement('span', { className: 'e-icons e-caret' }));\n }\n return li;\n };\n ExcelFilterBase.prototype.wireExEvents = function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlg, 'mouseover', this.hoverHandler, this);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlg, 'click', this.clickExHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlg, 'keyup', this.keyUp, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlg, 'keydown', this.keyDown, this);\n };\n ExcelFilterBase.prototype.unwireExEvents = function () {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlg, 'mouseover', this.hoverHandler);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlg, 'click', this.clickExHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlg, 'keyup', this.keyUp);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlg, 'keydown', this.keyDown);\n };\n ExcelFilterBase.prototype.clickExHandler = function (e) {\n var options = { string: 'TextFilter', date: 'DateFilter', datetime: 'DateTimeFilter', number: 'NumberFilter' };\n var menuItem = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-menu-item');\n if (menuItem) {\n if (this.getLocalizedLabel('ClearFilter') === menuItem.innerText.trim()) {\n this.clearFilter();\n this.closeDialog();\n }\n else if ((this.options.isResponsiveFilter || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice)\n && this.getLocalizedLabel(options[this.options.type]) === menuItem.innerText.trim()) {\n this.hoverHandler(e);\n }\n }\n };\n ExcelFilterBase.prototype.focusNextOrPrevElement = function (e, focusableElements, focusClassName) {\n var nextIndex = (e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)) ? focusableElements.indexOf(document.activeElement) - 1\n : focusableElements.indexOf(document.activeElement) + 1;\n var nextElement = focusableElements[((nextIndex + focusableElements.length) % focusableElements.length)];\n // Set focus on the next / previous element\n if (nextElement) {\n nextElement.focus();\n var focusClass = nextElement.classList.contains('e-chk-hidden') ? 'e-chkfocus' : focusClassName;\n var target = nextElement.classList.contains('e-chk-hidden') ? (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(nextElement, 'e-ftrchk') : (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(nextElement, 'e-menu-item');\n this.excelSetFocus(target, focusClass);\n }\n };\n ExcelFilterBase.prototype.keyUp = function (e) {\n if ((e.key === 'Tab' && e.shiftKey) || e.key === 'Tab') {\n var focusClass = e.target.classList.contains('e-chk-hidden') ? 'e-chkfocus' : 'e-menufocus';\n var target = e.target.classList.contains('e-menu-item')\n ? (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-menu-item') : (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-ftrchk');\n this.excelSetFocus(target, focusClass);\n }\n else if ((e.key === 'ArrowUp' || e.key === 'ArrowDown') && !e.altKey) {\n e.preventDefault();\n var focusableElements = Array.from(this.dlg.querySelectorAll('input, button, [tabindex]:not([tabindex=\"-1\"]), .e-menu-item:not(.e-disabled):not(.e-separator)'));\n this.focusNextOrPrevElement(e, focusableElements, 'e-menufocus');\n }\n else if ((e.key === 'Enter' || e.code === 'ArrowRight') && e.target.classList.contains('e-menu-item')) {\n e.preventDefault();\n e.target.click();\n if (e.target.classList.contains('e-submenu')) {\n this.hoverHandler(e);\n this.menuObj.element.querySelector('.e-menu-item').focus();\n this.excelSetFocus((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(this.menuObj.element.querySelector('.e-menu-item'), 'e-menu-item'), 'e-focused');\n this.focusedMenuItem = this.menuObj.element.querySelector('.e-menu-item');\n }\n }\n };\n ExcelFilterBase.prototype.keyDown = function (e) {\n //prevented up and down arrow key press default functionality to prevent the browser scroll when performing keyboard navigation in excel filter element.\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n }\n };\n ExcelFilterBase.prototype.excelSetFocus = function (elem, className) {\n var prevElem = this.cmenu.querySelector('.' + className);\n var menuFocusElem = this.menu.querySelector('.' + className);\n if (prevElem) {\n prevElem.classList.remove(className);\n }\n if (menuFocusElem && menuFocusElem.classList.contains('e-menufocus')) {\n menuFocusElem.classList.remove(className);\n }\n if (elem) {\n elem.classList.add(className);\n }\n };\n ExcelFilterBase.prototype.destroyCMenu = function () {\n this.isCMenuOpen = false;\n if (this.menuObj && !this.menuObj.isDestroyed) {\n this.menuObj.destroy();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.menuObj.element, 'keydown', this.contextKeyDownHandler);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.cmenu);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.renderResponsiveCmenu, { target: null, header: '', isOpen: false, col: this.options.column });\n }\n };\n ExcelFilterBase.prototype.hoverHandler = function (e) {\n if (this.options.isResponsiveFilter && e.type === 'mouseover') {\n return;\n }\n var target = e.target.querySelector('.e-contextmenu');\n var li = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-menu-item');\n var focused = this.menu.querySelector('.e-focused');\n var isSubMenu;\n if (focused) {\n focused.classList.remove('e-focused');\n }\n if (li) {\n li.classList.add('e-focused');\n isSubMenu = li.classList.contains('e-submenu');\n }\n if (target) {\n return;\n }\n if (!isSubMenu) {\n var submenu = this.menu.querySelector('.e-submenu');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(submenu)) {\n submenu.classList.remove('e-selected');\n }\n this.destroyCMenu();\n }\n var selectedMenu = this.ensureTextFilter();\n if (!this.isCMenuOpen && isSubMenu) {\n li.classList.add('e-selected');\n this.isCMenuOpen = true;\n var menuOptions = {\n items: this.getCMenuDS(this.options.type, selectedMenu ? selectedMenu.replace(/\\s/g, '') : undefined),\n select: this.selectHandler.bind(this),\n onClose: this.destroyCMenu.bind(this),\n enableRtl: this.parent.enableRtl,\n animationSettings: { effect: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? 'ZoomIn' : 'None' },\n beforeClose: this.preventClose.bind(this),\n cssClass: this.options.isResponsiveFilter && this.parent.cssClass ?\n 'e-res-contextmenu-wrapper' + ' ' + this.parent.cssClass : this.options.isResponsiveFilter ?\n 'e-res-contextmenu-wrapper' : this.parent.cssClass ? this.parent.cssClass : ''\n };\n this.parent.element.appendChild(this.cmenu);\n this.menuObj = new _syncfusion_ej2_navigations__WEBPACK_IMPORTED_MODULE_3__.ContextMenu(menuOptions, this.cmenu);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.menuObj.element, 'keydown', this.contextKeyDownHandler, this);\n var client = this.menu.querySelector('.e-submenu').getBoundingClientRect();\n var pos = { top: 0, left: 0 };\n if (this.options.isResponsiveFilter) {\n var options = { string: 'TextFilter', date: 'DateFilter', datetime: 'DateTimeFilter', number: 'NumberFilter' };\n var content = document.querySelector('.e-responsive-dialog > .e-dlg-header-content');\n var height = content.offsetHeight + 4;\n this.menuObj.element.style.height = 'calc(100% - ' + height + 'px)';\n this.menuObj['open'](height, 0, document.body);\n var header = this.getLocalizedLabel(options[this.options.type]);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.renderResponsiveCmenu, {\n target: this.menuObj.element.parentElement, header: header, isOpen: true\n });\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.isDevice = true;\n var contextRect = this.getContextBounds();\n pos.top = (window.innerHeight - contextRect.height) / 2;\n pos.left = (window.innerWidth - contextRect.width) / 2;\n this.closeDialog();\n this.isDevice = false;\n }\n else {\n pos.top = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE ? window.pageYOffset + client.top : window.scrollY + client.top;\n pos.left = this.getCMenuYPosition(this.dlg);\n }\n this.menuObj['open'](pos.top, pos.left, e.target);\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyBiggerTheme)(this.parent.element, this.menuObj.element.parentElement);\n }\n };\n ExcelFilterBase.prototype.contextKeyDownHandler = function (e) {\n if ((e.key === 'Tab' && e.shiftKey) || e.key === 'Tab') {\n e.preventDefault();\n var focusableElements = Array.from(this.menuObj.element.querySelectorAll('[tabindex]:not([tabindex=\"-1\"]), .e-menu-item:not(.e-disabled):not(.e-separator)'));\n // Focus the next / previous context menu item\n this.focusNextOrPrevElement(e, focusableElements, 'e-focused');\n }\n else if (e.key === 'ArrowLeft' || e.key === 'Escape') {\n e.preventDefault();\n this.menuObj.close();\n this.focusedMenuItem = null;\n document.querySelector('.e-submenu.e-menu-item').classList.remove('e-selected');\n document.querySelector('.e-submenu.e-menu-item').focus();\n }\n };\n ExcelFilterBase.prototype.ensureTextFilter = function () {\n var selectedMenu;\n var predicates = this.existingPredicate[this.options.field];\n if (predicates && predicates.length === 2) {\n if (predicates[0].operator === 'greaterthanorequal' && predicates[1].operator === 'lessthanorequal') {\n selectedMenu = 'between';\n }\n else {\n selectedMenu = 'customfilter';\n }\n }\n else {\n if (predicates && predicates.length === 1) {\n this.optrData = this.customFilterOperators[this.options.type + 'Operator'];\n selectedMenu = predicates[0].operator;\n }\n }\n return selectedMenu;\n };\n ExcelFilterBase.prototype.preventClose = function (args) {\n if (this.options && this.options.isResponsiveFilter && args.event) {\n var target = args.event.target;\n var isFilterBack = target.classList && (target.classList.contains('e-resfilterback')\n || target.classList.contains('e-res-back-btn') || target.classList.contains('e-menu-item'));\n args.cancel = !isFilterBack;\n }\n else {\n if (args.event instanceof MouseEvent && args.event.target && args.event.target.classList &&\n args.event.target.classList.contains('e-submenu')) {\n args.cancel = true;\n }\n }\n };\n ExcelFilterBase.prototype.getContextBounds = function () {\n this.menuObj.element.style.display = 'block';\n return this.menuObj.element.getBoundingClientRect();\n };\n ExcelFilterBase.prototype.getCMenuYPosition = function (target) {\n var contextWidth = this.getContextBounds().width;\n var targetPosition = target.getBoundingClientRect();\n var leftPos = targetPosition.right + contextWidth - this.parent.element.clientWidth;\n var targetBorder = target.offsetWidth - target.clientWidth;\n targetBorder = targetBorder ? targetBorder + 1 : 0;\n return (leftPos < 1) ? (targetPosition.right + 1 - targetBorder) : (targetPosition.left - contextWidth - 1 + targetBorder);\n };\n ExcelFilterBase.prototype.openDialog = function (options) {\n var _this = this;\n this.updateModel(options);\n this.getAndSetChkElem(options);\n this.showDialog(options);\n if (options.cancel) {\n return;\n }\n this.dialogObj.dataBind();\n var filterLength = (this.existingPredicate[options.field] && this.existingPredicate[options.field].length) ||\n this.options.filteredColumns.filter(function (col) {\n return _this.options.field === col.field;\n }).length;\n this.createMenu(options.type, filterLength > 0, (filterLength === 1 || filterLength === 2), options);\n this.dlg.insertBefore(this.menu, this.dlg.firstChild);\n this.dlg.classList.add('e-excelfilter');\n if (this.parent && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.getContent) && this.parent.getContent()\n && this.parent.getContent().firstElementChild\n .offsetHeight < this.dlg.offsetHeight && !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(this.parent.element, 'e-gantt-dialog')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetDialogAppend)(this.parent, this.dialogObj);\n }\n if (this.parent.enableRtl) {\n this.dlg.classList.add('e-rtl');\n }\n this.dlg.classList.remove('e-checkboxfilter');\n this.cmenu = this.parent.createElement('ul', { className: 'e-excel-menu' });\n var menuItems = this.dlg.querySelectorAll('.e-menu-item');\n menuItems.forEach(function (menuItem) {\n if (menuItem.scrollWidth > menuItem.clientWidth) {\n menuItem.setAttribute('title', menuItem.textContent);\n }\n });\n if (options.column.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.filterDialogCreated, {});\n }\n this.wireExEvents();\n };\n ExcelFilterBase.prototype.closeDialog = function () {\n this.destroy();\n };\n ExcelFilterBase.prototype.selectHandler = function (e) {\n if (e.item) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.filterCmenuSelect, {});\n this.menuItem = e.item;\n this.closeDialog();\n this.renderDialogue(e);\n }\n };\n /**\n * @hidden\n * @param {MenuEventArgs} e - event args\n * @returns {void}\n */\n ExcelFilterBase.prototype.renderDialogue = function (e) {\n var _this = this;\n var target = e ? e.element : undefined;\n var column = this.options.field;\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(column);\n var mainDiv = this.parent.createElement('div', {\n className: 'e-xlfl-maindiv',\n id: isComplex ? complexFieldName + '-xlflmenu' : column + '-xlflmenu'\n });\n this.dlgDiv = this.parent.createElement('div', {\n className: 'e-xlflmenu',\n id: isComplex ? complexFieldName + '-xlfldlg' : column + '-xlfldlg'\n });\n if (this.options.isResponsiveFilter) {\n var responsiveCnt = document.querySelector('.e-resfilter > .e-dlg-content > .e-xl-customfilterdiv');\n responsiveCnt.appendChild(this.dlgDiv);\n }\n else {\n this.parent.element.appendChild(this.dlgDiv);\n }\n this.dlgObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.Dialog({\n header: this.getLocalizedLabel('CustomFilter'),\n isModal: true,\n overlayClick: this.removeDialog.bind(this),\n showCloseIcon: true,\n locale: this.parent.locale,\n closeOnEscape: true,\n target: document.body,\n // target: this.parent.element,\n visible: false,\n enableRtl: this.parent.enableRtl,\n open: function () {\n var rows = [].slice.call(_this.dlgObj.element.querySelectorAll('table.e-xlfl-table tr.e-xlfl-fields'));\n for (var i = 0; i < rows.length; i++) {\n var valInput = rows[i].children[1].querySelector('.e-control');\n var dropDownList = rows[i]\n .querySelector('.e-dropdownlist.e-control')['ej2_instances'][0];\n if (dropDownList.value === 'isempty' || dropDownList.value === 'isnotempty' ||\n dropDownList.value === 'isnull' || dropDownList.value === 'isnotnull') {\n valInput['ej2_instances'][0]['enabled'] = false;\n }\n else if (valInput && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput.getAttribute('disabled'))) {\n valInput['ej2_instances'][0]['enabled'] = true;\n }\n }\n var row = _this.dlgObj.element.querySelector('table.e-xlfl-table>tr');\n if (_this.options.column.filterTemplate) {\n var templateField_1 = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(_this.options.column.field) ?\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(_this.options.column.field) : _this.options.column.field;\n var isReactCompiler = _this.parent.isReact && typeof (_this.options.column.filterTemplate) !== 'string' &&\n !(_this.options.column.filterTemplate.prototype && _this.options.column.filterTemplate.prototype.CSPTemplate);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var isReactChild = _this.parent.parentDetails && _this.parent.parentDetails.parentInstObj &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.parent.parentDetails.parentInstObj.isReact;\n if (isReactCompiler || isReactChild) {\n _this.parent.renderTemplates(function () {\n row.querySelector('#' + templateField_1 + '-xlfl-frstvalue').focus();\n });\n }\n else {\n row.querySelector('#' + templateField_1 + '-xlfl-frstvalue').focus();\n }\n }\n else {\n //(row.cells[1].querySelector('input:not([type=hidden])') as HTMLElement).focus();\n }\n },\n close: this.removeDialog.bind(this),\n created: this.createdDialog.bind(this, target, column),\n buttons: [{\n click: this.filterBtnClick.bind(this, column),\n buttonModel: {\n content: this.getLocalizedLabel('OKButton'), isPrimary: true,\n cssClass: this.parent.cssClass ? 'e-xlfl-okbtn' + ' ' + this.parent.cssClass : 'e-xlfl-okbtn'\n }\n },\n {\n click: this.removeDialog.bind(this),\n buttonModel: { content: this.getLocalizedLabel('CancelButton'),\n cssClass: this.parent.cssClass ? 'e-xlfl-cancelbtn' + ' ' + this.parent.cssClass : 'e-xlfl-cancelbtn' }\n }],\n content: mainDiv,\n width: 430,\n animationSettings: { effect: 'None' },\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n var isStringTemplate = 'isStringTemplate';\n this.dlgObj[\"\" + isStringTemplate] = true;\n this.renderResponsiveDialog();\n this.dlgDiv.setAttribute('aria-label', this.getLocalizedLabel('CustomFilterDialogARIA'));\n this.childRefs.unshift(this.dlgObj);\n this.dlgObj.appendTo(this.dlgDiv);\n };\n ExcelFilterBase.prototype.renderResponsiveDialog = function () {\n if (this.options.isResponsiveFilter) {\n var rowResponsiveDlg = document.querySelector('.e-row-responsive-filter');\n if (rowResponsiveDlg) {\n rowResponsiveDlg.classList.remove('e-row-responsive-filter');\n }\n this.dlgObj.buttons = [{}];\n this.dlgObj.header = undefined;\n this.dlgObj.position = { X: '', Y: '' };\n this.dlgObj.target = document.querySelector('.e-resfilter > .e-dlg-content > .e-xl-customfilterdiv');\n this.dlgObj.width = '100%';\n this.dlgObj.isModal = false;\n this.dlgObj.showCloseIcon = false;\n }\n };\n /**\n * @hidden\n * @returns {void}\n */\n ExcelFilterBase.prototype.removeDialog = function () {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.customFilterClose, {});\n if ((this.parent.isReact || this.parent.isVue) && this.parent.destroyTemplate !== undefined) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.clearReactVueTemplates)(this.parent, ['filterTemplate']);\n }\n this.removeObjects(this.childRefs);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.dlgDiv);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.filterDialogClose, {});\n };\n ExcelFilterBase.prototype.createdDialog = function (target, column) {\n this.renderCustomFilter(target, column);\n this.dlgObj.element.style.left = '0px';\n if (!this.options.isResponsiveFilter) {\n this.dlgObj.element.style.top = '0px';\n }\n else {\n var content = document.querySelector('.e-responsive-dialog > .e-dlg-header-content');\n var height = content.offsetHeight + 4;\n this.dlgObj.element.style.top = height + 'px';\n }\n if (!this.options.isResponsiveFilter && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && window.innerWidth < 440) {\n this.dlgObj.element.style.width = '90%';\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.beforeCustomFilterOpen, { column: column, dialog: this.dialogObj });\n this.dlgObj.show();\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyBiggerTheme)(this.parent.element, this.dlgObj.element.parentElement);\n };\n ExcelFilterBase.prototype.renderCustomFilter = function (target, column) {\n var dlgConetntEle = this.dlgObj.element.querySelector('.e-xlfl-maindiv');\n var dlgFields = this.parent.createElement('div', { innerHTML: this.getLocalizedLabel('ShowRowsWhere'), className: 'e-xlfl-dlgfields' });\n dlgConetntEle.appendChild(dlgFields);\n //column name\n var fieldSet = this.parent.createElement('div', { innerHTML: this.options.displayName, className: 'e-xlfl-fieldset' });\n dlgConetntEle.appendChild(fieldSet);\n this.renderFilterUI(column, dlgConetntEle);\n };\n /**\n * @hidden\n * @param {string} col - Defines column details\n * @returns {void}\n */\n ExcelFilterBase.prototype.filterBtnClick = function (col) {\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(col);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(col);\n var colValue = isComplex ? complexFieldName : col;\n var fValue = this.dlgDiv.querySelector('#' + colValue + '-xlfl-frstvalue').ej2_instances[0];\n var fOperator = this.dlgDiv.querySelector('#' + colValue + '-xlfl-frstoptr').ej2_instances[0];\n var sValue = this.dlgDiv.querySelector('#' + colValue + '-xlfl-secndvalue').ej2_instances[0];\n var sOperator = this.dlgDiv.querySelector('#' + colValue + '-xlfl-secndoptr').ej2_instances[0];\n var checkBoxValue;\n if (this.options.type === 'string') {\n var checkBox = this.dlgDiv.querySelector('#' + colValue + '-xlflmtcase').ej2_instances[0];\n checkBoxValue = checkBox.checked;\n }\n var predicateSelector = this.dlgDiv.querySelector('#' + colValue + 'e-xlfl-frstpredicate').ej2_instances[0];\n var predicate = (predicateSelector.checked ? 'and' : 'or');\n this.filterByColumn(this.options.field, fOperator.value, fValue.value, predicate, checkBoxValue, this.options.ignoreAccent, sOperator.value, sValue.value);\n this.removeDialog();\n };\n /**\n * @hidden\n * Filters grid row by column name with given options.\n *\n * @param {string} fieldName - Defines the field name of the filter column.\n * @param {string} firstOperator - Defines the first operator by how to filter records.\n * @param {string | number | Date | boolean} firstValue - Defines the first value which is used to filter records.\n * @param {string} predicate - Defines the relationship between one filter query with another by using AND or OR predicate.\n * @param {boolean} matchCase - If ignore case set to true, then filter records with exact match or else\n * filter records with case insensitive(uppercase and lowercase letters treated as same).\n * @param {boolean} ignoreAccent - If ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.\n * @param {string} secondOperator - Defines the second operator by how to filter records.\n * @param {string | number | Date | boolean} secondValue - Defines the first value which is used to filter records.\n * @returns {void}\n */\n ExcelFilterBase.prototype.filterByColumn = function (fieldName, firstOperator, firstValue, predicate, matchCase, ignoreAccent, secondOperator, secondValue) {\n var col = this.parent.getColumnByField ? this.parent.getColumnByField(fieldName) : this.options.column;\n var field = this.isForeignColumn(col) ? col.foreignKeyValue : fieldName;\n var fColl = [];\n var mPredicate;\n var arg = {\n instance: this, handler: this.filterByColumn, arg1: fieldName, arg2: firstOperator, arg3: firstValue, arg4: predicate,\n arg5: matchCase, arg6: ignoreAccent, arg7: secondOperator, arg8: secondValue, cancel: false\n };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.fltrPrevent, arg);\n if (arg.cancel) {\n return;\n }\n fColl.push({\n field: field,\n predicate: predicate,\n matchCase: matchCase,\n ignoreAccent: ignoreAccent,\n operator: firstOperator,\n value: arg.arg3,\n type: this.options.type\n });\n mPredicate = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Predicate(field, firstOperator.toLowerCase(), arg.arg3, !matchCase, ignoreAccent);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(secondOperator)) {\n fColl.push({\n field: field,\n predicate: predicate,\n matchCase: matchCase,\n ignoreAccent: ignoreAccent,\n operator: secondOperator,\n value: arg.arg8,\n type: this.options.type\n });\n mPredicate = mPredicate[\"\" + predicate](field, secondOperator.toLowerCase(), secondValue, !matchCase, ignoreAccent);\n }\n var args = {\n action: 'filtering', filterCollection: fColl, field: this.options.field,\n ejpredicate: mPredicate, actualPredicate: fColl\n };\n if (this.isForeignColumn(col)) {\n this.foreignKeyFilter(args, fColl, mPredicate);\n }\n else {\n this.options.handler(args);\n }\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderOperatorUI = function (column, table, elementID, predicates, isFirst) {\n var fieldElement = this.parent.createElement('tr', { className: 'e-xlfl-fields', attrs: { role: 'row' } });\n table.appendChild(fieldElement);\n var xlfloptr = this.parent.createElement('td', { className: 'e-xlfl-optr' });\n fieldElement.appendChild(xlfloptr);\n var optrDiv = this.parent.createElement('div', { className: 'e-xlfl-optrdiv' });\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(column);\n var optrInput = this.parent\n .createElement('input', { id: isComplex ? complexFieldName + elementID : column + elementID });\n optrDiv.appendChild(optrInput);\n xlfloptr.appendChild(optrDiv);\n var optr = this.options.type + 'Operator';\n var dropDatasource = this.customFilterOperators[\"\" + optr];\n this.optrData = dropDatasource;\n var selectedValue = this.dropSelectedVal(this.options.column, predicates, isFirst);\n //Trailing three dots are sliced.\n var menuText = '';\n if (this.menuItem) {\n menuText = this.menuItem.text.slice(0, -3);\n if (menuText !== this.getLocalizedLabel('CustomFilter')) {\n selectedValue = isFirst ? menuText : undefined;\n }\n if (menuText === this.getLocalizedLabel('Between')) {\n selectedValue = this.getLocalizedLabel(isFirst ? 'GreaterThanOrEqual' : 'LessThanOrEqual');\n }\n }\n var col = this.options.column;\n var dropOptr = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_6__.DropDownList((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.extend)({\n dataSource: dropDatasource,\n fields: { text: 'text', value: 'value' },\n text: selectedValue,\n enableRtl: this.parent.enableRtl,\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, col.filter.params));\n this.childRefs.unshift(dropOptr);\n var evt = { 'open': this.dropDownOpen.bind(this), 'change': this.dropDownValueChange.bind(this) };\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.registerEventHandlers)(optrInput.id, [_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.open, _base_string_literals__WEBPACK_IMPORTED_MODULE_7__.change], evt, this);\n dropOptr.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.open, this.eventHandlers[optrInput.id][_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.open]);\n dropOptr.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.change, this.eventHandlers[optrInput.id][_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.change]);\n dropOptr.appendTo(optrInput);\n var operator = this.getSelectedValue(selectedValue);\n return { fieldElement: fieldElement, operator: operator };\n };\n ExcelFilterBase.prototype.removeHandlersFromComponent = function (component) {\n if (component.element.classList.contains('e-dropdownlist')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.removeEventHandlers)(component, [_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.open, _base_string_literals__WEBPACK_IMPORTED_MODULE_7__.change], this);\n }\n else if (component.element.classList.contains('e-autocomplete')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.removeEventHandlers)(component, [_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, _base_string_literals__WEBPACK_IMPORTED_MODULE_7__.focus], this);\n }\n };\n ExcelFilterBase.prototype.dropDownOpen = function (args) {\n args.popup.element.style.zIndex = (this.dialogObj.zIndex + 1).toString();\n };\n ExcelFilterBase.prototype.dropDownValueChange = function (args) {\n if (args.element.id.includes('-xlfl-frstoptr')) {\n this.firstOperator = args.value.toString();\n }\n else {\n this.secondOperator = args.value.toString();\n }\n var valInput = args.element.closest('.e-xlfl-fields').children[1].querySelector('.e-control');\n var dropDownList = args.element['ej2_instances'][0];\n if (dropDownList.value === 'isempty' || dropDownList.value === 'isnotempty' ||\n dropDownList.value === 'isnull' || dropDownList.value === 'isnotnull') {\n valInput['ej2_instances'][0]['enabled'] = false;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput.getAttribute('disabled'))) {\n valInput['ej2_instances'][0]['enabled'] = true;\n }\n };\n /**\n * @hidden\n * @returns {FilterUI} returns filter UI\n */\n ExcelFilterBase.prototype.getFilterUIInfo = function () {\n return { firstOperator: this.firstOperator, secondOperator: this.secondOperator, field: this.options.field };\n };\n ExcelFilterBase.prototype.getSelectedValue = function (text) {\n var selectedField = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(this.optrData).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query().where('text', 'equal', text));\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedField[0]) ? selectedField[0].value : '';\n };\n ExcelFilterBase.prototype.dropSelectedVal = function (col, predicates, isFirst) {\n var operator;\n if (predicates && predicates.length > 0) {\n operator = predicates.length === 2 ?\n (isFirst ? predicates[0].operator : predicates[1].operator) :\n (isFirst ? predicates[0].operator : undefined);\n }\n else if (isFirst && col.type === 'string' && !col.filter.operator) {\n operator = 'startswith';\n }\n else {\n operator = isFirst ? col.filter.operator || 'equal' : undefined;\n }\n return this.getSelectedText(operator);\n };\n ExcelFilterBase.prototype.getSelectedText = function (operator) {\n var selectedField = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(this.optrData).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Query().where('value', 'equal', operator));\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedField[0]) ? selectedField[0].text : '';\n };\n ExcelFilterBase.prototype.renderFilterUI = function (column, dlgConetntEle) {\n var predicates = this.existingPredicate[\"\" + column];\n var table = this.parent.createElement('table', { className: 'e-xlfl-table', attrs: { role: 'grid' } });\n dlgConetntEle.appendChild(table);\n var colGroup = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.colGroup);\n colGroup.innerHTML = '';\n table.appendChild(colGroup);\n //Renders first dropdown\n var optr = this.renderOperatorUI(column, table, '-xlfl-frstoptr', predicates, true);\n this.firstOperator = optr.operator;\n //Renders first value\n this.renderFlValueUI(column, optr, '-xlfl-frstvalue', predicates, true);\n var predicate = this.parent.createElement('tr', { className: 'e-xlfl-predicate', attrs: { role: 'row' } });\n table.appendChild(predicate);\n //Renders first radion button\n this.renderRadioButton(column, predicate, predicates);\n //Renders second dropdown\n optr = this.renderOperatorUI(column, table, '-xlfl-secndoptr', predicates, false);\n this.secondOperator = optr.operator;\n //Renders second text box\n this.renderFlValueUI(column, optr, '-xlfl-secndvalue', predicates, false);\n };\n ExcelFilterBase.prototype.renderRadioButton = function (column, tr, predicates) {\n var td = this.parent.createElement('td', { className: 'e-xlfl-radio', attrs: { 'colSpan': '2' } });\n tr.appendChild(td);\n var radioDiv = this.parent.createElement('div', { className: 'e-xlfl-radiodiv' });\n radioDiv.style.display = 'inline-block';\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(column);\n var frstpredicate = this.parent.createElement('input', { id: isComplex ? complexFieldName + 'e-xlfl-frstpredicate' : column + 'e-xlfl-frstpredicate', attrs: { 'type': 'radio' } });\n var secndpredicate = this.parent.createElement('input', { id: isComplex ? complexFieldName + 'e-xlfl-secndpredicate' : column + 'e-xlfl-secndpredicate', attrs: { 'type': 'radio' } });\n //appends into div\n radioDiv.appendChild(frstpredicate);\n radioDiv.appendChild(secndpredicate);\n td.appendChild(radioDiv);\n if (this.options.type === 'string') {\n this.renderMatchCase(column, tr, td, '-xlflmtcase', predicates);\n }\n // Initialize AND RadioButton component.\n var andRadio = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_9__.RadioButton({\n label: this.getLocalizedLabel('AND'),\n name: 'default', checked: true,\n enableRtl: this.parent.enableRtl,\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n this.childRefs.unshift(andRadio);\n // Initialize OR RadioButton component.\n var orRadio = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_9__.RadioButton({\n label: this.getLocalizedLabel('OR'),\n name: 'default',\n enableRtl: this.parent.enableRtl,\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n this.childRefs.unshift(orRadio);\n var flValue = predicates && predicates.length === 2 ? predicates[1].predicate : 'and';\n if (flValue === 'and') {\n andRadio.checked = true;\n orRadio.checked = false;\n }\n else {\n orRadio.checked = true;\n andRadio.checked = false;\n }\n // Render initialized RadioButton.\n andRadio.appendTo(frstpredicate);\n orRadio.appendTo(secndpredicate);\n andRadio.element.nextElementSibling.classList.add('e-xlfl-radio-and');\n orRadio.element.nextElementSibling.classList.add('e-xlfl-radio-or');\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ExcelFilterBase.prototype.removeObjects = function (elements) {\n for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {\n var obj = elements_1[_i];\n if (obj && !obj.isDestroyed) {\n this.removeHandlersFromComponent(obj);\n obj.destroy();\n }\n }\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderFlValueUI = function (column, optr, elementId, predicates, isFirst) {\n var value = this.parent.createElement('td', { className: 'e-xlfl-value' });\n optr.fieldElement.appendChild(value);\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(column);\n var valueDiv = this.parent.createElement('div', { className: 'e-xlfl-valuediv' });\n var isFilteredCol = this.options.filteredColumns.some(function (col) { return column === col.field; });\n var fltrPredicates = this.options.filteredColumns.filter(function (col) { return col.field === column; });\n if (this.options.column.filterTemplate) {\n var data = {};\n var columnObj = this.options.column;\n if (isFilteredCol && elementId) {\n data = this.getExcelFilterData(elementId, data, columnObj, predicates, fltrPredicates);\n }\n var isReactCompiler = this.parent.isReact && typeof (this.options.column.filterTemplate) !== 'string' &&\n !(this.options.column.filterTemplate.prototype && this.options.column.filterTemplate.prototype.CSPTemplate);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.parent.parentDetails.parentInstObj.isReact;\n var tempID = this.parent.element.id + columnObj.uid + 'filterTemplate';\n if (isReactCompiler || isReactChild) {\n this.options.column.getFilterTemplate()(data, this.parent, 'filterTemplate', tempID, null, null, valueDiv);\n }\n else {\n var element = this.options.column.getFilterTemplate()(data, this.parent, 'filterTemplate', tempID, null, null, null, this.parent.root);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.appendChildren)(valueDiv, element);\n }\n if (isReactCompiler || isReactChild) {\n this.parent.renderTemplates(function () {\n valueDiv.querySelector('input').id = isComplex ? complexFieldName + elementId : column + elementId;\n value.appendChild(valueDiv);\n });\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.parent.isAngular ? valueDiv.children[0] : valueDiv.querySelector('input')).id = isComplex ?\n complexFieldName + elementId : column + elementId;\n value.appendChild(valueDiv);\n }\n }\n else {\n var valueInput = this.parent\n .createElement('input', { id: isComplex ? complexFieldName + elementId : column + elementId });\n valueDiv.appendChild(valueInput);\n value.appendChild(valueDiv);\n var flValue = void 0;\n var predicate = void 0;\n if (predicates && predicates.length > 0) {\n predicate = predicates.length === 2 ?\n (isFirst ? predicates[0] : predicates[1]) :\n (isFirst ? predicates[0] : undefined);\n flValue = (predicate && predicate.operator === optr.operator) ? predicate.value : undefined;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(flValue)) {\n flValue = undefined;\n }\n }\n var types = {\n 'string': this.renderAutoComplete.bind(this),\n 'number': this.renderNumericTextBox.bind(this),\n 'date': this.renderDate.bind(this),\n 'dateonly': this.renderDate.bind(this),\n 'datetime': this.renderDateTime.bind(this)\n };\n types[this.options.type](this.options, column, valueInput, flValue, this.parent.enableRtl);\n }\n };\n ExcelFilterBase.prototype.getExcelFilterData = function (elementId, data, columnObj, predicates, fltrPredicates) {\n var predIndex = elementId === '-xlfl-frstvalue' ? 0 : 1;\n if (elementId === '-xlfl-frstvalue' || fltrPredicates.length > 1) {\n data = { column: predicates instanceof Array ? predicates[parseInt(predIndex.toString(), 10)] : predicates };\n var indx = this.options.column.columnData && fltrPredicates.length > 1 ?\n (this.options.column.columnData.length === 1 ? 0 : 1) : predIndex;\n data[this.options.field] = columnObj.foreignKeyValue ?\n this.options.column.columnData[parseInt(indx.toString(), 10)][columnObj.foreignKeyValue] :\n fltrPredicates[parseInt(indx.toString(), 10)].value;\n if (this.options.foreignKeyValue) {\n data[this.options.foreignKeyValue] = this.options.column\n .columnData[parseInt(indx.toString(), 10)][columnObj.foreignKeyValue];\n }\n }\n return data;\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderMatchCase = function (column, tr, matchCase, elementId, predicates) {\n var matchCaseDiv = this.parent.createElement('div', { className: 'e-xlfl-matchcasediv' });\n matchCaseDiv.style.display = 'inline-block';\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(column);\n var matchCaseInput = this.parent.createElement('input', { id: isComplex ? complexFieldName + elementId : column + elementId, attrs: { 'type': 'checkbox' } });\n matchCaseDiv.appendChild(matchCaseInput);\n matchCase.appendChild(matchCaseDiv);\n var flValue = predicates && predicates.length > 0 ?\n (predicates && predicates.length === 2 ? predicates[1].matchCase : predicates[0].matchCase) :\n false;\n // Initialize Match Case check box.\n var checkbox = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_10__.CheckBox({\n label: this.getLocalizedLabel('MatchCase'),\n enableRtl: this.parent.enableRtl, checked: flValue,\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n this.childRefs.unshift(checkbox);\n // Render initialized CheckBox.\n checkbox.appendTo(matchCaseInput);\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderDate = function (options, column, inputValue, fValue, isRtl) {\n var format = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getCustomDateFormat)(options.format, options.type) || options.format;\n var datePicker = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_11__.DatePicker((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.extend)({\n format: format,\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n placeholder: this.getLocalizedLabel('CustomFilterDatePlaceHolder'),\n width: '100%',\n enableRtl: isRtl,\n value: new Date(fValue),\n locale: this.parent.locale\n }, options.column.filter.params));\n this.childRefs.unshift(datePicker);\n datePicker.appendTo(inputValue);\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderDateTime = function (options, column, inputValue, fValue, isRtl) {\n var format = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getCustomDateFormat)(options.format, options.type);\n var dateTimePicker = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_12__.DateTimePicker((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.extend)({\n format: format,\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n placeholder: this.getLocalizedLabel('CustomFilterDatePlaceHolder'),\n width: '100%',\n enableRtl: isRtl,\n value: new Date(fValue),\n locale: this.parent.locale\n }, options.column.filter.params));\n this.childRefs.unshift(dateTimePicker);\n dateTimePicker.appendTo(inputValue);\n };\n ExcelFilterBase.prototype.completeAction = function (e) {\n e.result = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.distinctStringValues)(e.result);\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderNumericTextBox = function (options, column, inputValue, fValue, isRtl) {\n var numericTextBox = new _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_13__.NumericTextBox((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.extend)({\n format: options.format,\n placeholder: this.getLocalizedLabel('CustomFilterPlaceHolder'),\n enableRtl: isRtl,\n value: fValue,\n locale: this.parent.locale,\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, options.column.filter.params));\n this.childRefs.unshift(numericTextBox);\n numericTextBox.appendTo(inputValue);\n };\n // eslint-disable-next-line max-len\n ExcelFilterBase.prototype.renderAutoComplete = function (options, column, inputValue, fValue, isRtl) {\n var colObj = this.options.column;\n var isForeignColumn = this.isForeignColumn(colObj);\n var dataSource = isForeignColumn ? colObj.dataSource : options.dataSource;\n var fields = { value: isForeignColumn ? colObj.foreignKeyValue : column };\n var actObj = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_14__.AutoComplete((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.extend)({\n dataSource: dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager ? dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(dataSource),\n fields: fields,\n query: this.getQuery(),\n sortOrder: 'Ascending',\n locale: this.parent.locale,\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n autofill: true,\n placeholder: this.getLocalizedLabel('CustomFilterPlaceHolder'),\n enableRtl: isRtl,\n text: fValue\n }, colObj.filter.params));\n if (dataSource && 'result' in dataSource) {\n var defObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.eventPromise)({ requestType: 'stringfilterrequest' }, this.getQuery());\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.dataStateChange, defObj.state);\n var def = defObj.deffered;\n def.promise.then(function (e) {\n actObj.dataSource = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(e);\n });\n }\n this.childRefs.unshift(actObj);\n var evt = { 'actionComplete': this.acActionComplete(actObj, column), 'focus': this.acFocus(actObj, column, options, inputValue) };\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.registerEventHandlers)(inputValue.id, [_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, _base_string_literals__WEBPACK_IMPORTED_MODULE_7__.focus], evt, this);\n actObj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.focus, this.eventHandlers[inputValue.id][_base_string_literals__WEBPACK_IMPORTED_MODULE_7__.focus]);\n actObj.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete, this.eventHandlers[inputValue.id][_base_constant__WEBPACK_IMPORTED_MODULE_2__.actionComplete]);\n actObj.appendTo(inputValue);\n };\n ExcelFilterBase.prototype.acActionComplete = function (actObj, column) {\n return function (e) {\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n e.result = e.result.filter(function (obj, index, arr) {\n return arr.map(function (mapObject) {\n return isComplex ? (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.performComplexDataOperation)(actObj.fields.value, mapObject)\n : mapObject[actObj.fields.value];\n }).indexOf(isComplex ? (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.performComplexDataOperation)(actObj.fields.value, obj) :\n obj[actObj.fields.value]) === index;\n });\n };\n };\n ExcelFilterBase.prototype.acFocus = function (actObj, column, options, inputValue) {\n var _this = this;\n return function () {\n var isComplex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isComplexField)(column);\n var complexFieldName = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(column);\n var columnvalue = isComplex ? complexFieldName : column;\n actObj.filterType = _this.dlgDiv.querySelector('#' + columnvalue +\n (inputValue.id === (columnvalue + '-xlfl-frstvalue') ?\n '-xlfl-frstoptr' :\n '-xlfl-secndoptr')).ej2_instances[0].value;\n actObj.ignoreCase = options.type === 'string' ?\n !_this.dlgDiv.querySelector('#' + columnvalue + '-xlflmtcase').ej2_instances[0].checked :\n true;\n actObj.filterType = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(actObj.filterType) ? actObj.filterType :\n 'equal';\n };\n };\n return ExcelFilterBase;\n}(_common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_15__.CheckBoxFilterBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/index.js": +/*!**************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/index.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Aggregate: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Aggregate),\n/* harmony export */ AutoCompleteEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.AutoCompleteEditCell),\n/* harmony export */ BatchEdit: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.BatchEdit),\n/* harmony export */ BatchEditRender: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.BatchEditRender),\n/* harmony export */ BooleanEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.BooleanEditCell),\n/* harmony export */ BooleanFilterUI: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.BooleanFilterUI),\n/* harmony export */ Cell: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_3__.Cell),\n/* harmony export */ CellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.CellRenderer),\n/* harmony export */ CellRendererFactory: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.CellRendererFactory),\n/* harmony export */ CellType: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.CellType),\n/* harmony export */ CheckBoxFilter: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.CheckBoxFilter),\n/* harmony export */ CheckBoxFilterBase: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilterBase),\n/* harmony export */ Clipboard: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Clipboard),\n/* harmony export */ Column: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_3__.Column),\n/* harmony export */ ColumnChooser: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ColumnChooser),\n/* harmony export */ ColumnMenu: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ColumnMenu),\n/* harmony export */ ComboboxEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.ComboboxEditCell),\n/* harmony export */ CommandColumn: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.CommandColumn),\n/* harmony export */ CommandColumnModel: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_3__.CommandColumnModel),\n/* harmony export */ CommandColumnRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.CommandColumnRenderer),\n/* harmony export */ ContentRender: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.ContentRender),\n/* harmony export */ ContextMenu: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ContextMenu),\n/* harmony export */ Data: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Data),\n/* harmony export */ DateFilterUI: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.DateFilterUI),\n/* harmony export */ DatePickerEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.DatePickerEditCell),\n/* harmony export */ DefaultEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.DefaultEditCell),\n/* harmony export */ DetailRow: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.DetailRow),\n/* harmony export */ DialogEdit: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.DialogEdit),\n/* harmony export */ DialogEditRender: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.DialogEditRender),\n/* harmony export */ DropDownEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.DropDownEditCell),\n/* harmony export */ Edit: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Edit),\n/* harmony export */ EditCellBase: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.EditCellBase),\n/* harmony export */ EditRender: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.EditRender),\n/* harmony export */ EditSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.EditSettings),\n/* harmony export */ ExcelExport: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ExcelExport),\n/* harmony export */ ExcelFilter: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ExcelFilter),\n/* harmony export */ ExcelFilterBase: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_0__.ExcelFilterBase),\n/* harmony export */ ExportHelper: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ExportHelper),\n/* harmony export */ ExportValueFormatter: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ExportValueFormatter),\n/* harmony export */ Filter: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Filter),\n/* harmony export */ FilterCellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.FilterCellRenderer),\n/* harmony export */ FilterSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.FilterSettings),\n/* harmony export */ FlMenuOptrUI: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.FlMenuOptrUI),\n/* harmony export */ ForeignKey: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.ForeignKey),\n/* harmony export */ Freeze: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Freeze),\n/* harmony export */ Global: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.Global),\n/* harmony export */ Grid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.Grid),\n/* harmony export */ GridColumn: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_3__.GridColumn),\n/* harmony export */ Group: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Group),\n/* harmony export */ GroupCaptionCellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.GroupCaptionCellRenderer),\n/* harmony export */ GroupCaptionEmptyCellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.GroupCaptionEmptyCellRenderer),\n/* harmony export */ GroupLazyLoadRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.GroupLazyLoadRenderer),\n/* harmony export */ GroupModelGenerator: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.GroupModelGenerator),\n/* harmony export */ GroupSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.GroupSettings),\n/* harmony export */ HeaderCellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.HeaderCellRenderer),\n/* harmony export */ HeaderRender: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.HeaderRender),\n/* harmony export */ IndentCellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.IndentCellRenderer),\n/* harmony export */ InfiniteScroll: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.InfiniteScroll),\n/* harmony export */ InfiniteScrollSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.InfiniteScrollSettings),\n/* harmony export */ InlineEdit: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.InlineEdit),\n/* harmony export */ InlineEditRender: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.InlineEditRender),\n/* harmony export */ InterSectionObserver: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.InterSectionObserver),\n/* harmony export */ LazyLoadGroup: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.LazyLoadGroup),\n/* harmony export */ LoadingIndicator: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.LoadingIndicator),\n/* harmony export */ Logger: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Logger),\n/* harmony export */ MaskedTextBoxCellEdit: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.MaskedTextBoxCellEdit),\n/* harmony export */ MultiSelectEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.MultiSelectEditCell),\n/* harmony export */ NormalEdit: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.NormalEdit),\n/* harmony export */ NumberFilterUI: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.NumberFilterUI),\n/* harmony export */ NumericEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.NumericEditCell),\n/* harmony export */ Page: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Page),\n/* harmony export */ PdfExport: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.PdfExport),\n/* harmony export */ Predicate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.Predicate),\n/* harmony export */ Print: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Print),\n/* harmony export */ Render: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.Render),\n/* harmony export */ RenderType: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.RenderType),\n/* harmony export */ Reorder: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Reorder),\n/* harmony export */ Resize: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Resize),\n/* harmony export */ ResizeSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ResizeSettings),\n/* harmony export */ ResponsiveDialogAction: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ResponsiveDialogAction),\n/* harmony export */ ResponsiveDialogRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.ResponsiveDialogRenderer),\n/* harmony export */ ResponsiveToolbarAction: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ResponsiveToolbarAction),\n/* harmony export */ Row: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_3__.Row),\n/* harmony export */ RowDD: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.RowDD),\n/* harmony export */ RowDropSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.RowDropSettings),\n/* harmony export */ RowModelGenerator: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.RowModelGenerator),\n/* harmony export */ RowRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.RowRenderer),\n/* harmony export */ Scroll: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Scroll),\n/* harmony export */ Search: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Search),\n/* harmony export */ SearchSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.SearchSettings),\n/* harmony export */ Selection: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Selection),\n/* harmony export */ SelectionSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.SelectionSettings),\n/* harmony export */ ServiceLocator: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.ServiceLocator),\n/* harmony export */ Sort: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Sort),\n/* harmony export */ SortDescriptor: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.SortDescriptor),\n/* harmony export */ SortSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.SortSettings),\n/* harmony export */ StackedColumn: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_3__.StackedColumn),\n/* harmony export */ StackedHeaderCellRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.StackedHeaderCellRenderer),\n/* harmony export */ StringFilterUI: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.StringFilterUI),\n/* harmony export */ TextWrapSettings: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.TextWrapSettings),\n/* harmony export */ TimePickerEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.TimePickerEditCell),\n/* harmony export */ ToggleEditCell: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.ToggleEditCell),\n/* harmony export */ Toolbar: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.Toolbar),\n/* harmony export */ ToolbarItem: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ToolbarItem),\n/* harmony export */ ValueFormatter: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.ValueFormatter),\n/* harmony export */ VirtualContentRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.VirtualContentRenderer),\n/* harmony export */ VirtualElementHandler: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.VirtualElementHandler),\n/* harmony export */ VirtualHeaderRenderer: () => (/* reexport safe */ _renderer__WEBPACK_IMPORTED_MODULE_4__.VirtualHeaderRenderer),\n/* harmony export */ VirtualRowModelGenerator: () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_5__.VirtualRowModelGenerator),\n/* harmony export */ VirtualScroll: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.VirtualScroll),\n/* harmony export */ accessPredicate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.accessPredicate),\n/* harmony export */ actionBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.actionBegin),\n/* harmony export */ actionComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.actionComplete),\n/* harmony export */ actionFailure: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.actionFailure),\n/* harmony export */ addBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addBegin),\n/* harmony export */ addBiggerDialog: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addBiggerDialog),\n/* harmony export */ addComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addComplete),\n/* harmony export */ addDeleteAction: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addDeleteAction),\n/* harmony export */ addFixedColumnBorder: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addFixedColumnBorder),\n/* harmony export */ addRemoveActiveClasses: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses),\n/* harmony export */ addRemoveEventListener: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addRemoveEventListener),\n/* harmony export */ addStickyColumnPosition: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addStickyColumnPosition),\n/* harmony export */ addedRecords: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addedRecords),\n/* harmony export */ addedRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.addedRow),\n/* harmony export */ afterContentRender: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.afterContentRender),\n/* harmony export */ afterFilterColumnMenuClose: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.afterFilterColumnMenuClose),\n/* harmony export */ appendChildren: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.appendChildren),\n/* harmony export */ appendInfiniteContent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.appendInfiniteContent),\n/* harmony export */ applyBiggerTheme: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.applyBiggerTheme),\n/* harmony export */ applyStickyLeftRightPosition: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition),\n/* harmony export */ ariaColIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex),\n/* harmony export */ ariaRowIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ariaRowIndex),\n/* harmony export */ autoCol: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.autoCol),\n/* harmony export */ batchAdd: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.batchAdd),\n/* harmony export */ batchCancel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.batchCancel),\n/* harmony export */ batchCnfrmDlgCancel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.batchCnfrmDlgCancel),\n/* harmony export */ batchDelete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.batchDelete),\n/* harmony export */ batchEditFormRendered: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.batchEditFormRendered),\n/* harmony export */ batchForm: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.batchForm),\n/* harmony export */ beforeAutoFill: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeAutoFill),\n/* harmony export */ beforeBatchAdd: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeBatchAdd),\n/* harmony export */ beforeBatchCancel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeBatchCancel),\n/* harmony export */ beforeBatchDelete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeBatchDelete),\n/* harmony export */ beforeBatchSave: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeBatchSave),\n/* harmony export */ beforeCellFocused: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeCellFocused),\n/* harmony export */ beforeCheckboxRenderer: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeCheckboxRenderer),\n/* harmony export */ beforeCheckboxRendererQuery: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeCheckboxRendererQuery),\n/* harmony export */ beforeCheckboxfilterRenderer: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeCheckboxfilterRenderer),\n/* harmony export */ beforeCopy: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeCopy),\n/* harmony export */ beforeCustomFilterOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeCustomFilterOpen),\n/* harmony export */ beforeDataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeDataBound),\n/* harmony export */ beforeDetailTemplateDetach: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeDetailTemplateDetach),\n/* harmony export */ beforeExcelExport: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeExcelExport),\n/* harmony export */ beforeFltrcMenuOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeFltrcMenuOpen),\n/* harmony export */ beforeFragAppend: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeFragAppend),\n/* harmony export */ beforeOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeOpen),\n/* harmony export */ beforeOpenAdaptiveDialog: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeOpenAdaptiveDialog),\n/* harmony export */ beforeOpenColumnChooser: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeOpenColumnChooser),\n/* harmony export */ beforePaste: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforePaste),\n/* harmony export */ beforePdfExport: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforePdfExport),\n/* harmony export */ beforePrint: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforePrint),\n/* harmony export */ beforeRefreshOnDataChange: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeRefreshOnDataChange),\n/* harmony export */ beforeStartEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beforeStartEdit),\n/* harmony export */ beginEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.beginEdit),\n/* harmony export */ bulkSave: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.bulkSave),\n/* harmony export */ cBoxFltrBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cBoxFltrBegin),\n/* harmony export */ cBoxFltrComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cBoxFltrComplete),\n/* harmony export */ calculateAggregate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.calculateAggregate),\n/* harmony export */ cancelBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cancelBegin),\n/* harmony export */ capitalizeFirstLetter: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.capitalizeFirstLetter),\n/* harmony export */ captionActionComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.captionActionComplete),\n/* harmony export */ cellDeselected: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellDeselected),\n/* harmony export */ cellDeselecting: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellDeselecting),\n/* harmony export */ cellEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellEdit),\n/* harmony export */ cellFocused: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellFocused),\n/* harmony export */ cellSave: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellSave),\n/* harmony export */ cellSaved: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellSaved),\n/* harmony export */ cellSelected: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellSelected),\n/* harmony export */ cellSelecting: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellSelecting),\n/* harmony export */ cellSelectionBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellSelectionBegin),\n/* harmony export */ cellSelectionComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.cellSelectionComplete),\n/* harmony export */ change: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.change),\n/* harmony export */ changedRecords: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.changedRecords),\n/* harmony export */ checkBoxChange: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.checkBoxChange),\n/* harmony export */ checkDepth: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.checkDepth),\n/* harmony export */ checkIsVirtual: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.checkIsVirtual),\n/* harmony export */ checkScrollReset: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.checkScrollReset),\n/* harmony export */ clearReactVueTemplates: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.clearReactVueTemplates),\n/* harmony export */ click: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.click),\n/* harmony export */ closeBatch: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.closeBatch),\n/* harmony export */ closeEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.closeEdit),\n/* harmony export */ closeFilterDialog: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.closeFilterDialog),\n/* harmony export */ closeInline: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.closeInline),\n/* harmony export */ colGroup: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.colGroup),\n/* harmony export */ colGroupRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.colGroupRefresh),\n/* harmony export */ columnChooserCancelBtnClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnChooserCancelBtnClick),\n/* harmony export */ columnChooserClose: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnChooserClose),\n/* harmony export */ columnChooserOpened: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnChooserOpened),\n/* harmony export */ columnChooserSearch: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnChooserSearch),\n/* harmony export */ columnChooserUpdate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnChooserUpdate),\n/* harmony export */ columnDataStateChange: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDataStateChange),\n/* harmony export */ columnDeselected: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDeselected),\n/* harmony export */ columnDeselecting: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDeselecting),\n/* harmony export */ columnDrag: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDrag),\n/* harmony export */ columnDragStart: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDragStart),\n/* harmony export */ columnDragStop: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDragStop),\n/* harmony export */ columnDrop: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnDrop),\n/* harmony export */ columnMenuClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnMenuClick),\n/* harmony export */ columnMenuOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnMenuOpen),\n/* harmony export */ columnPositionChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnPositionChanged),\n/* harmony export */ columnSelected: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnSelected),\n/* harmony export */ columnSelecting: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnSelecting),\n/* harmony export */ columnSelectionBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnSelectionBegin),\n/* harmony export */ columnSelectionComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnSelectionComplete),\n/* harmony export */ columnVisibilityChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnVisibilityChanged),\n/* harmony export */ columnWidthChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnWidthChanged),\n/* harmony export */ columnsPrepared: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.columnsPrepared),\n/* harmony export */ commandClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.commandClick),\n/* harmony export */ commandColumnDestroy: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.commandColumnDestroy),\n/* harmony export */ compareChanges: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.compareChanges),\n/* harmony export */ componentRendered: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.componentRendered),\n/* harmony export */ content: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.content),\n/* harmony export */ contentReady: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.contentReady),\n/* harmony export */ contextMenuClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.contextMenuClick),\n/* harmony export */ contextMenuOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.contextMenuOpen),\n/* harmony export */ create: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.create),\n/* harmony export */ createCboxWithWrap: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.createCboxWithWrap),\n/* harmony export */ createEditElement: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.createEditElement),\n/* harmony export */ createVirtualValidationForm: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.createVirtualValidationForm),\n/* harmony export */ created: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.created),\n/* harmony export */ crudAction: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.crudAction),\n/* harmony export */ customFilterClose: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.customFilterClose),\n/* harmony export */ dataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dataBound),\n/* harmony export */ dataReady: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dataReady),\n/* harmony export */ dataSourceChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dataSourceChanged),\n/* harmony export */ dataSourceModified: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dataSourceModified),\n/* harmony export */ dataStateChange: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dataStateChange),\n/* harmony export */ dblclick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dblclick),\n/* harmony export */ deleteBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.deleteBegin),\n/* harmony export */ deleteComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.deleteComplete),\n/* harmony export */ deletedRecords: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.deletedRecords),\n/* harmony export */ destroy: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.destroy),\n/* harmony export */ destroyAutoFillElements: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.destroyAutoFillElements),\n/* harmony export */ destroyChildGrid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.destroyChildGrid),\n/* harmony export */ destroyEditForm: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.destroyEditForm),\n/* harmony export */ destroyForm: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.destroyForm),\n/* harmony export */ destroyed: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.destroyed),\n/* harmony export */ detachDetailTemplate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.detachDetailTemplate),\n/* harmony export */ detailDataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.detailDataBound),\n/* harmony export */ detailIndentCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.detailIndentCellInfo),\n/* harmony export */ detailLists: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.detailLists),\n/* harmony export */ detailStateChange: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.detailStateChange),\n/* harmony export */ dialogDestroy: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.dialogDestroy),\n/* harmony export */ distinctStringValues: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.distinctStringValues),\n/* harmony export */ doesImplementInterface: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.doesImplementInterface),\n/* harmony export */ doubleTap: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.doubleTap),\n/* harmony export */ downArrow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.downArrow),\n/* harmony export */ editBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.editBegin),\n/* harmony export */ editComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.editComplete),\n/* harmony export */ editNextValCell: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.editNextValCell),\n/* harmony export */ editReset: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.editReset),\n/* harmony export */ editedRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.editedRow),\n/* harmony export */ endAdd: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.endAdd),\n/* harmony export */ endDelete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.endDelete),\n/* harmony export */ endEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.endEdit),\n/* harmony export */ ensureFirstRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ensureFirstRow),\n/* harmony export */ ensureLastRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ensureLastRow),\n/* harmony export */ enter: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.enter),\n/* harmony export */ enterKeyHandler: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.enterKeyHandler),\n/* harmony export */ eventPromise: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.eventPromise),\n/* harmony export */ excelAggregateQueryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.excelAggregateQueryCellInfo),\n/* harmony export */ excelExportComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.excelExportComplete),\n/* harmony export */ excelHeaderQueryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.excelHeaderQueryCellInfo),\n/* harmony export */ excelQueryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.excelQueryCellInfo),\n/* harmony export */ expandChildGrid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.expandChildGrid),\n/* harmony export */ exportDataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.exportDataBound),\n/* harmony export */ exportDetailDataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.exportDetailDataBound),\n/* harmony export */ exportDetailTemplate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.exportDetailTemplate),\n/* harmony export */ exportGroupCaption: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.exportGroupCaption),\n/* harmony export */ exportRowDataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.exportRowDataBound),\n/* harmony export */ extend: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.extend),\n/* harmony export */ extendObjWithFn: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.extendObjWithFn),\n/* harmony export */ filterAfterOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterAfterOpen),\n/* harmony export */ filterBeforeOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterBeforeOpen),\n/* harmony export */ filterBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterBegin),\n/* harmony export */ filterCboxValue: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterCboxValue),\n/* harmony export */ filterChoiceRequest: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterChoiceRequest),\n/* harmony export */ filterCmenuSelect: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterCmenuSelect),\n/* harmony export */ filterComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterComplete),\n/* harmony export */ filterDialogClose: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterDialogClose),\n/* harmony export */ filterDialogCreated: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterDialogCreated),\n/* harmony export */ filterMenuClose: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterMenuClose),\n/* harmony export */ filterOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterOpen),\n/* harmony export */ filterSearchBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.filterSearchBegin),\n/* harmony export */ findCellIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.findCellIndex),\n/* harmony export */ fltrPrevent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.fltrPrevent),\n/* harmony export */ focus: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.focus),\n/* harmony export */ foreignKeyData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.foreignKeyData),\n/* harmony export */ freezeRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.freezeRefresh),\n/* harmony export */ freezeRender: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.freezeRender),\n/* harmony export */ frozenContent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.frozenContent),\n/* harmony export */ frozenDirection: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.frozenDirection),\n/* harmony export */ frozenHeader: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.frozenHeader),\n/* harmony export */ frozenHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.frozenHeight),\n/* harmony export */ frozenLeft: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.frozenLeft),\n/* harmony export */ frozenRight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.frozenRight),\n/* harmony export */ generateExpandPredicates: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.generateExpandPredicates),\n/* harmony export */ generateQuery: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.generateQuery),\n/* harmony export */ getActualPropFromColl: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getActualPropFromColl),\n/* harmony export */ getActualProperties: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getActualProperties),\n/* harmony export */ getActualRowHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getActualRowHeight),\n/* harmony export */ getAggregateQuery: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getAggregateQuery),\n/* harmony export */ getCellByColAndRowIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getCellByColAndRowIndex),\n/* harmony export */ getCellFromRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getCellFromRow),\n/* harmony export */ getCellsByTableName: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getCellsByTableName),\n/* harmony export */ getCloneProperties: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.getCloneProperties),\n/* harmony export */ getCollapsedRowsCount: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getCollapsedRowsCount),\n/* harmony export */ getColumnByForeignKeyValue: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getColumnByForeignKeyValue),\n/* harmony export */ getColumnModelByFieldName: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getColumnModelByFieldName),\n/* harmony export */ getColumnModelByUid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getColumnModelByUid),\n/* harmony export */ getComplexFieldID: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID),\n/* harmony export */ getCustomDateFormat: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getCustomDateFormat),\n/* harmony export */ getDatePredicate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getDatePredicate),\n/* harmony export */ getEditedDataIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getEditedDataIndex),\n/* harmony export */ getElementIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getElementIndex),\n/* harmony export */ getExpandedState: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getExpandedState),\n/* harmony export */ getFilterBarOperator: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getFilterBarOperator),\n/* harmony export */ getFilterMenuPostion: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getFilterMenuPostion),\n/* harmony export */ getForeignData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getForeignData),\n/* harmony export */ getForeignKeyData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getForeignKeyData),\n/* harmony export */ getGroupKeysAndFields: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getGroupKeysAndFields),\n/* harmony export */ getListHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getListHeight),\n/* harmony export */ getNumberFormat: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getNumberFormat),\n/* harmony export */ getObject: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getObject),\n/* harmony export */ getParentIns: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getParentIns),\n/* harmony export */ getParsedFieldID: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getParsedFieldID),\n/* harmony export */ getPosition: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getPosition),\n/* harmony export */ getPredicates: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getPredicates),\n/* harmony export */ getPrintGridModel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getPrintGridModel),\n/* harmony export */ getPrototypesOfObj: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getPrototypesOfObj),\n/* harmony export */ getRowHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getRowHeight),\n/* harmony export */ getRowIndexFromElement: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getRowIndexFromElement),\n/* harmony export */ getScrollBarWidth: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getScrollBarWidth),\n/* harmony export */ getScrollWidth: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getScrollWidth),\n/* harmony export */ getStateEventArgument: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getStateEventArgument),\n/* harmony export */ getTransformValues: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getTransformValues),\n/* harmony export */ getUid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getUid),\n/* harmony export */ getUpdateUsingRaf: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getUpdateUsingRaf),\n/* harmony export */ getVirtualData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getVirtualData),\n/* harmony export */ getVisiblePage: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getVisiblePage),\n/* harmony export */ getZIndexCalcualtion: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.getZIndexCalcualtion),\n/* harmony export */ gridChkBox: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.gridChkBox),\n/* harmony export */ gridContent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.gridContent),\n/* harmony export */ gridFooter: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.gridFooter),\n/* harmony export */ gridHeader: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.gridHeader),\n/* harmony export */ groupAggregates: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupAggregates),\n/* harmony export */ groupBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupBegin),\n/* harmony export */ groupCaptionRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupCaptionRow),\n/* harmony export */ groupCaptionRowLeftRightPos: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupCaptionRowLeftRightPos),\n/* harmony export */ groupCollapse: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupCollapse),\n/* harmony export */ groupComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupComplete),\n/* harmony export */ groupReorderRowObject: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.groupReorderRowObject),\n/* harmony export */ headerCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.headerCellInfo),\n/* harmony export */ headerContent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.headerContent),\n/* harmony export */ headerDrop: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.headerDrop),\n/* harmony export */ headerRefreshed: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.headerRefreshed),\n/* harmony export */ headerValueAccessor: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.headerValueAccessor),\n/* harmony export */ hierarchyPrint: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.hierarchyPrint),\n/* harmony export */ immutableBatchCancel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.immutableBatchCancel),\n/* harmony export */ inArray: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.inArray),\n/* harmony export */ inBoundModelChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.inBoundModelChanged),\n/* harmony export */ infiniteAppendElements: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteAppendElements),\n/* harmony export */ infiniteCrudCancel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteCrudCancel),\n/* harmony export */ infiniteEditHandler: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteEditHandler),\n/* harmony export */ infinitePageQuery: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infinitePageQuery),\n/* harmony export */ infiniteRemoveElements: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteRemoveElements),\n/* harmony export */ infiniteScrollComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteScrollComplete),\n/* harmony export */ infiniteScrollHandler: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteScrollHandler),\n/* harmony export */ infiniteShowHide: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.infiniteShowHide),\n/* harmony export */ initForeignKeyColumn: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.initForeignKeyColumn),\n/* harmony export */ initialCollapse: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.initialCollapse),\n/* harmony export */ initialEnd: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.initialEnd),\n/* harmony export */ initialFrozenColumnIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.initialFrozenColumnIndex),\n/* harmony export */ initialLoad: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.initialLoad),\n/* harmony export */ isActionPrevent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isActionPrevent),\n/* harmony export */ isCellHaveWidth: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isCellHaveWidth),\n/* harmony export */ isChildColumn: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isChildColumn),\n/* harmony export */ isComplexField: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isComplexField),\n/* harmony export */ isEditable: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isEditable),\n/* harmony export */ isExportColumns: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isExportColumns),\n/* harmony export */ isGroupAdaptive: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isGroupAdaptive),\n/* harmony export */ isRowEnteredInGrid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.isRowEnteredInGrid),\n/* harmony export */ ispercentageWidth: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ispercentageWidth),\n/* harmony export */ iterateArrayOrObject: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.iterateArrayOrObject),\n/* harmony export */ iterateExtend: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.iterateExtend),\n/* harmony export */ keyPressed: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.keyPressed),\n/* harmony export */ lastRowCellBorderUpdated: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.lastRowCellBorderUpdated),\n/* harmony export */ lazyLoadGroupCollapse: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.lazyLoadGroupCollapse),\n/* harmony export */ lazyLoadGroupExpand: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.lazyLoadGroupExpand),\n/* harmony export */ lazyLoadScrollHandler: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.lazyLoadScrollHandler),\n/* harmony export */ leftRight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.leftRight),\n/* harmony export */ load: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.load),\n/* harmony export */ measureColumnDepth: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.measureColumnDepth),\n/* harmony export */ menuClass: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.menuClass),\n/* harmony export */ modelChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.modelChanged),\n/* harmony export */ movableContent: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.movableContent),\n/* harmony export */ movableHeader: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.movableHeader),\n/* harmony export */ nextCellIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.nextCellIndex),\n/* harmony export */ onEmpty: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.onEmpty),\n/* harmony export */ onResize: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.onResize),\n/* harmony export */ open: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.open),\n/* harmony export */ padZero: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.padZero),\n/* harmony export */ pageBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pageBegin),\n/* harmony export */ pageComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pageComplete),\n/* harmony export */ pageDown: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pageDown),\n/* harmony export */ pageUp: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pageUp),\n/* harmony export */ pagerRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pagerRefresh),\n/* harmony export */ parents: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.parents),\n/* harmony export */ parentsUntil: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.parentsUntil),\n/* harmony export */ partialRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.partialRefresh),\n/* harmony export */ pdfAggregateQueryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pdfAggregateQueryCellInfo),\n/* harmony export */ pdfExportComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pdfExportComplete),\n/* harmony export */ pdfHeaderQueryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pdfHeaderQueryCellInfo),\n/* harmony export */ pdfQueryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pdfQueryCellInfo),\n/* harmony export */ performComplexDataOperation: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.performComplexDataOperation),\n/* harmony export */ prepareColumns: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.prepareColumns),\n/* harmony export */ preventBatch: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.preventBatch),\n/* harmony export */ preventFrozenScrollRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.preventFrozenScrollRefresh),\n/* harmony export */ printComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.printComplete),\n/* harmony export */ printGridInit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.printGridInit),\n/* harmony export */ pushuid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.pushuid),\n/* harmony export */ queryCellInfo: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.queryCellInfo),\n/* harmony export */ recordAdded: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.recordAdded),\n/* harmony export */ recordClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.recordClick),\n/* harmony export */ recordDoubleClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.recordDoubleClick),\n/* harmony export */ recursive: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.recursive),\n/* harmony export */ refreshAggregateCell: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshAggregateCell),\n/* harmony export */ refreshAggregates: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshAggregates),\n/* harmony export */ refreshComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshComplete),\n/* harmony export */ refreshCustomFilterClearBtn: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshCustomFilterClearBtn),\n/* harmony export */ refreshCustomFilterOkBtn: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshCustomFilterOkBtn),\n/* harmony export */ refreshExpandandCollapse: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshExpandandCollapse),\n/* harmony export */ refreshFilteredColsUid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshFilteredColsUid),\n/* harmony export */ refreshFooterRenderer: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshFooterRenderer),\n/* harmony export */ refreshForeignData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshForeignData),\n/* harmony export */ refreshFrozenColumns: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshFrozenColumns),\n/* harmony export */ refreshFrozenHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshFrozenHeight),\n/* harmony export */ refreshFrozenPosition: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshFrozenPosition),\n/* harmony export */ refreshHandlers: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshHandlers),\n/* harmony export */ refreshInfiniteCurrentViewData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshInfiniteCurrentViewData),\n/* harmony export */ refreshInfiniteEditrowindex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshInfiniteEditrowindex),\n/* harmony export */ refreshInfiniteModeBlocks: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshInfiniteModeBlocks),\n/* harmony export */ refreshInfinitePersistSelection: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshInfinitePersistSelection),\n/* harmony export */ refreshResizePosition: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshResizePosition),\n/* harmony export */ refreshSplitFrozenColumn: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshSplitFrozenColumn),\n/* harmony export */ refreshVirtualBlock: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualBlock),\n/* harmony export */ refreshVirtualCache: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualCache),\n/* harmony export */ refreshVirtualEditFormCells: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualEditFormCells),\n/* harmony export */ refreshVirtualFrozenHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualFrozenHeight),\n/* harmony export */ refreshVirtualFrozenRows: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualFrozenRows),\n/* harmony export */ refreshVirtualLazyLoadCache: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualLazyLoadCache),\n/* harmony export */ refreshVirtualMaxPage: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualMaxPage),\n/* harmony export */ registerEventHandlers: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.registerEventHandlers),\n/* harmony export */ removeAddCboxClasses: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.removeAddCboxClasses),\n/* harmony export */ removeElement: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.removeElement),\n/* harmony export */ removeEventHandlers: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.removeEventHandlers),\n/* harmony export */ removeInfiniteRows: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.removeInfiniteRows),\n/* harmony export */ renderResponsiveChangeAction: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveChangeAction),\n/* harmony export */ renderResponsiveCmenu: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveCmenu),\n/* harmony export */ renderResponsiveColumnChooserDiv: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveColumnChooserDiv),\n/* harmony export */ reorderBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.reorderBegin),\n/* harmony export */ reorderComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.reorderComplete),\n/* harmony export */ resetCachedRowIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetCachedRowIndex),\n/* harmony export */ resetColandRowSpanStickyPosition: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetColandRowSpanStickyPosition),\n/* harmony export */ resetColspanGroupCaption: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetColspanGroupCaption),\n/* harmony export */ resetColumns: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetColumns),\n/* harmony export */ resetDialogAppend: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetDialogAppend),\n/* harmony export */ resetInfiniteBlocks: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetInfiniteBlocks),\n/* harmony export */ resetRowIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetRowIndex),\n/* harmony export */ resetVirtualFocus: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resetVirtualFocus),\n/* harmony export */ resizeClassList: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.resizeClassList),\n/* harmony export */ resizeStart: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resizeStart),\n/* harmony export */ resizeStop: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.resizeStop),\n/* harmony export */ restoreFocus: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.restoreFocus),\n/* harmony export */ row: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.row),\n/* harmony export */ rowCell: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowCell),\n/* harmony export */ rowDataBound: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDataBound),\n/* harmony export */ rowDeselected: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDeselected),\n/* harmony export */ rowDeselecting: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDeselecting),\n/* harmony export */ rowDrag: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDrag),\n/* harmony export */ rowDragAndDrop: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDragAndDrop),\n/* harmony export */ rowDragAndDropBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDragAndDropBegin),\n/* harmony export */ rowDragAndDropComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDragAndDropComplete),\n/* harmony export */ rowDragStart: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDragStart),\n/* harmony export */ rowDragStartHelper: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDragStartHelper),\n/* harmony export */ rowDrop: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowDrop),\n/* harmony export */ rowModeChange: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowModeChange),\n/* harmony export */ rowPositionChanged: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowPositionChanged),\n/* harmony export */ rowSelected: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowSelected),\n/* harmony export */ rowSelecting: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowSelecting),\n/* harmony export */ rowSelectionBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowSelectionBegin),\n/* harmony export */ rowSelectionComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowSelectionComplete),\n/* harmony export */ rowsAdded: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowsAdded),\n/* harmony export */ rowsRemoved: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rowsRemoved),\n/* harmony export */ rtlUpdated: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.rtlUpdated),\n/* harmony export */ saveComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.saveComplete),\n/* harmony export */ scroll: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.scroll),\n/* harmony export */ scrollToEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.scrollToEdit),\n/* harmony export */ searchBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.searchBegin),\n/* harmony export */ searchComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.searchComplete),\n/* harmony export */ selectRowOnContextOpen: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.selectRowOnContextOpen),\n/* harmony export */ selectVirtualRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.selectVirtualRow),\n/* harmony export */ setChecked: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setChecked),\n/* harmony export */ setColumnIndex: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setColumnIndex),\n/* harmony export */ setComplexFieldID: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setComplexFieldID),\n/* harmony export */ setCssInGridPopUp: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setCssInGridPopUp),\n/* harmony export */ setDisplayValue: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setDisplayValue),\n/* harmony export */ setFormatter: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setFormatter),\n/* harmony export */ setFreezeSelection: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setFreezeSelection),\n/* harmony export */ setFullScreenDialog: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setFullScreenDialog),\n/* harmony export */ setGroupCache: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setGroupCache),\n/* harmony export */ setHeightToFrozenElement: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setHeightToFrozenElement),\n/* harmony export */ setInfiniteCache: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setInfiniteCache),\n/* harmony export */ setInfiniteColFrozenHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setInfiniteColFrozenHeight),\n/* harmony export */ setInfiniteFrozenHeight: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setInfiniteFrozenHeight),\n/* harmony export */ setReorderDestinationElement: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setReorderDestinationElement),\n/* harmony export */ setRowElements: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setRowElements),\n/* harmony export */ setStyleAndAttributes: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setStyleAndAttributes),\n/* harmony export */ setValidationRuels: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setValidationRuels),\n/* harmony export */ setVirtualPageQuery: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.setVirtualPageQuery),\n/* harmony export */ shiftEnter: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.shiftEnter),\n/* harmony export */ shiftTab: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.shiftTab),\n/* harmony export */ showAddNewRowFocus: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.showAddNewRowFocus),\n/* harmony export */ showEmptyGrid: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.showEmptyGrid),\n/* harmony export */ sliceElements: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.sliceElements),\n/* harmony export */ sortBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.sortBegin),\n/* harmony export */ sortComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.sortComplete),\n/* harmony export */ stickyScrollComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.stickyScrollComplete),\n/* harmony export */ summaryIterator: () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_2__.summaryIterator),\n/* harmony export */ tab: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.tab),\n/* harmony export */ table: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.table),\n/* harmony export */ tbody: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.tbody),\n/* harmony export */ templateCompiler: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.templateCompiler),\n/* harmony export */ textWrapRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.textWrapRefresh),\n/* harmony export */ toggleFilterUI: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.toggleFilterUI),\n/* harmony export */ toogleCheckbox: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.toogleCheckbox),\n/* harmony export */ toolbarClick: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.toolbarClick),\n/* harmony export */ toolbarRefresh: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh),\n/* harmony export */ tooltipDestroy: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.tooltipDestroy),\n/* harmony export */ uiUpdate: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.uiUpdate),\n/* harmony export */ ungroupBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ungroupBegin),\n/* harmony export */ ungroupComplete: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.ungroupComplete),\n/* harmony export */ upArrow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.upArrow),\n/* harmony export */ updateColumnTypeForExportColumns: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.updateColumnTypeForExportColumns),\n/* harmony export */ updateData: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.updateData),\n/* harmony export */ updatecloneRow: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.updatecloneRow),\n/* harmony export */ valCustomPlacement: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.valCustomPlacement),\n/* harmony export */ validateVirtualForm: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.validateVirtualForm),\n/* harmony export */ valueAccessor: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.valueAccessor),\n/* harmony export */ virtaulCellFocus: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtaulCellFocus),\n/* harmony export */ virtaulKeyHandler: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtaulKeyHandler),\n/* harmony export */ virtualScrollAddActionBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtualScrollAddActionBegin),\n/* harmony export */ virtualScrollEdit: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEdit),\n/* harmony export */ virtualScrollEditActionBegin: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEditActionBegin),\n/* harmony export */ virtualScrollEditCancel: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEditCancel),\n/* harmony export */ virtualScrollEditSuccess: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEditSuccess),\n/* harmony export */ wrap: () => (/* reexport safe */ _base__WEBPACK_IMPORTED_MODULE_1__.wrap)\n/* harmony export */ });\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base.js\");\n/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions.js\");\n/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./models */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models.js\");\n/* harmony import */ var _renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer.js\");\n/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./services */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services.js\");\n/**\n * Grid component exported items\n */\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Cell: () => (/* reexport safe */ _models_cell__WEBPACK_IMPORTED_MODULE_2__.Cell),\n/* harmony export */ Column: () => (/* reexport safe */ _models_column__WEBPACK_IMPORTED_MODULE_0__.Column),\n/* harmony export */ CommandColumnModel: () => (/* reexport safe */ _models_column__WEBPACK_IMPORTED_MODULE_0__.CommandColumnModel),\n/* harmony export */ GridColumn: () => (/* reexport safe */ _models_column__WEBPACK_IMPORTED_MODULE_0__.GridColumn),\n/* harmony export */ Row: () => (/* reexport safe */ _models_row__WEBPACK_IMPORTED_MODULE_1__.Row),\n/* harmony export */ StackedColumn: () => (/* reexport safe */ _models_column__WEBPACK_IMPORTED_MODULE_0__.StackedColumn)\n/* harmony export */ });\n/* harmony import */ var _models_column__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./models/column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/**\n * Models\n */\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models/aggregate.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models/aggregate.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AggregateColumn: () => (/* binding */ AggregateColumn),\n/* harmony export */ AggregateRow: () => (/* binding */ AggregateRow)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * Configures the Grid's aggregate column.\n */\nvar AggregateColumn = /** @class */ (function (_super) {\n __extends(AggregateColumn, _super);\n function AggregateColumn() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.templateFn = {};\n return _this;\n }\n /**\n * @param {Function} value - specifies the value\n * @returns {void}\n * @hidden\n */\n AggregateColumn.prototype.setFormatter = function (value) {\n this.formatFn = value;\n };\n /**\n * @returns {Function} returns the Function\n * @hidden\n */\n AggregateColumn.prototype.getFormatter = function () {\n return this.formatFn;\n };\n /**\n * @param {Object} helper - specifies the helper\n * @returns {void}\n * @hidden\n */\n AggregateColumn.prototype.setTemplate = function (helper) {\n if (helper === void 0) { helper = {}; }\n if (this.footerTemplate !== undefined) {\n this.templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType, _base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType.Summary)] = { fn: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.footerTemplate, helper),\n property: 'footerTemplate' };\n }\n if (this.groupFooterTemplate !== undefined) {\n this.templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType, _base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType.GroupSummary)] = { fn: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.groupFooterTemplate, helper),\n property: 'groupFooterTemplate' };\n }\n if (this.groupCaptionTemplate !== undefined) {\n this.templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType, _base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType.CaptionSummary)] = { fn: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.groupCaptionTemplate, helper),\n property: 'groupCaptionTemplate' };\n }\n };\n /**\n * @param {CellType} type - specifies the cell type\n * @returns {Object} returns the object\n * @hidden\n */\n AggregateColumn.prototype.getTemplate = function (type) {\n return this.templateFn[(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType, type)];\n };\n /**\n * @param {Object} prop - returns the Object\n * @returns {void}\n * @hidden\n */\n AggregateColumn.prototype.setPropertiesSilent = function (prop) {\n this.setProperties(prop, true);\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"type\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"field\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"columnName\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"format\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"footerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"groupFooterTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"groupCaptionTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], AggregateColumn.prototype, \"customAggregate\", void 0);\n return AggregateColumn;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * Configures the aggregate rows.\n */\nvar AggregateRow = /** @class */ (function (_super) {\n __extends(AggregateRow, _super);\n function AggregateRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([], AggregateColumn)\n ], AggregateRow.prototype, \"columns\", void 0);\n return AggregateRow;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models/aggregate.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Cell: () => (/* binding */ Cell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n/**\n * Cell\n *\n * @hidden\n */\nvar Cell = /** @class */ (function () {\n function Cell(options) {\n this.isSpanned = false;\n this.isRowSpanned = false;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(this, options);\n }\n Cell.prototype.clone = function () {\n var cell = new Cell({});\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(cell, this);\n return cell;\n };\n return Cell;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColumnChooserSettings: () => (/* binding */ ColumnChooserSettings)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n/**\n * Configures the column chooser behavior of the Grid.\n */\nvar ColumnChooserSettings = /** @class */ (function (_super) {\n __extends(ColumnChooserSettings, _super);\n function ColumnChooserSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('startsWith')\n ], ColumnChooserSettings.prototype, \"operator\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ColumnChooserSettings.prototype, \"ignoreAccent\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ColumnChooserSettings.prototype, \"headerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ColumnChooserSettings.prototype, \"template\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ColumnChooserSettings.prototype, \"footerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], ColumnChooserSettings.prototype, \"enableSearching\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ColumnChooserSettings.prototype, \"renderCustomColumnChooser\", void 0);\n return ColumnChooserSettings;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Column: () => (/* binding */ Column),\n/* harmony export */ CommandColumnModel: () => (/* binding */ CommandColumnModel),\n/* harmony export */ GridColumn: () => (/* binding */ GridColumn),\n/* harmony export */ StackedColumn: () => (/* binding */ StackedColumn)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * Represents Grid `Column` model class.\n */\nvar Column = /** @class */ (function () {\n function Column(options, parent) {\n var _this = this;\n /**\n * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.\n *\n * @default true\n */\n this.disableHtmlEncode = true;\n /**\n * If `allowSorting` set to false, then it disables sorting option of a particular column.\n * By default all columns are sortable.\n *\n * @default true\n */\n this.allowSorting = true;\n /**\n * If `allowResizing` is set to false, it disables resize option of a particular column.\n * By default all the columns can be resized.\n *\n * @default true\n */\n this.allowResizing = true;\n /**\n * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.\n * By default all columns are filterable.\n *\n * @default true\n */\n this.allowFiltering = true;\n /**\n * If `allowGrouping` set to false, then it disables grouping of a particular column.\n * By default all columns are groupable.\n *\n * @default true\n */\n this.allowGrouping = true;\n /**\n * If `allowReordering` set to false, then it disables reorder of a particular column.\n * By default all columns can be reorder.\n *\n * @default true\n */\n this.allowReordering = true;\n /**\n * If `showColumnMenu` set to false, then it disable the column menu of a particular column.\n * By default column menu will show for all columns\n *\n * @default true\n */\n this.showColumnMenu = true;\n /**\n * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.\n *\n * @default true\n */\n this.enableGroupByFormat = false;\n /**\n * If `allowEditing` set to false, then it disables editing of a particular column.\n * By default all columns are editable.\n *\n * @default true\n */\n this.allowEditing = true;\n /**\n * It is used to customize the default filter options for a specific columns.\n * * type - Specifies the filter type as menu or checkbox.\n * * ui - to render custom component for specific column it has following functions.\n * * ui.create – It is used for creating custom components.\n * * ui.read - It is used for read the value from the component.\n * * ui.write - It is used to apply component model as dynamically.\n * {% codeBlock src=\"grid/filter-menu-api/index.ts\" %}{% endcodeBlock %}\n *\n * > Check the [`Filter UI`](../../grid/filtering/filter-menu/#custom-component-in-filter-menu) for its customization.\n *\n * @default {}\n */\n this.filter = {};\n /**\n * If `showInColumnChooser` set to false, then hide the particular column in column chooser.\n * By default all columns are displayed in column Chooser.\n *\n * @default true\n */\n this.showInColumnChooser = true;\n /**\n * Defines the `IEditCell` object to customize default edit cell.\n *\n * @default {}\n */\n this.edit = {};\n /**\n * If `allowSearching` set to false, then it disables Searching of a particular column.\n * By default all columns allow Searching.\n *\n * @default true\n */\n this.allowSearching = true;\n /**\n * If `autoFit` set to true, then the particular column content width will be\n * adjusted based on its content in the initial rendering itself.\n * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.\n *\n * @default false\n */\n this.autoFit = false;\n this.sortDirection = 'Descending';\n /**\n * @returns {Function} returns the edit template\n * @hidden */\n this.getEditTemplate = function () { return _this.editTemplateFn; };\n /**\n * @returns {Function} returns the filter template\n * @hidden */\n this.getFilterTemplate = function () { return _this.filterTemplateFn; };\n /**\n * Determines the behavior of the `aria-label` attribute for cells in template columns.\n * If enableAriaLabel is set to false, the aria-label attribute is not applied to template column cells, which affects screen reader accessibility.\n *\n * @default {}\n */\n this.templateOptions = { enableAriaLabel: true };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(this, options);\n this.parent = parent;\n if (this.type === 'none') {\n this.type = null;\n }\n else if (this.type) {\n this.type = typeof (this.type) === 'string' ? this.type.toLowerCase() : undefined;\n }\n if (this.editType) {\n this.editType = this.editType.toLowerCase();\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.uid)) {\n this.uid = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getUid)('grid-column');\n }\n var valueFormatter = new _services_value_formatter__WEBPACK_IMPORTED_MODULE_2__.ValueFormatter();\n if (options.format && (options.format.skeleton || (options.format.format &&\n typeof options.format.format === 'string'))) {\n this.setFormatter(valueFormatter.getFormatFunction((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options.format)));\n this.setParser(valueFormatter.getParserFunction(options.format));\n }\n this.toJSON = function () {\n var col = {};\n var skip = ['filter', 'dataSource', 'headerText', 'template', 'headerTemplate', 'edit',\n 'editTemplate', 'filterTemplate', 'commandsTemplate', 'parent'];\n var keys = Object.keys(_this);\n for (var i = 0; i < keys.length; i++) {\n if (keys[parseInt(i.toString(), 10)] === 'columns') {\n col[keys[parseInt(i.toString(), 10)]] = [];\n for (var j = 0; j < _this[keys[parseInt(i.toString(), 10)]].length; j++) {\n col[keys[parseInt(i.toString(), 10)]].push(_this[keys[parseInt(i.toString(), 10)]][parseInt(j.toString(), 10)].toJSON());\n }\n }\n else if (skip.indexOf(keys[parseInt(i.toString(), 10)]) < 0) {\n col[keys[parseInt(i.toString(), 10)]] = _this[keys[parseInt(i.toString(), 10)]];\n }\n }\n return col;\n };\n if (!this.field) {\n this.allowFiltering = false;\n this.allowGrouping = false;\n this.allowSorting = false;\n if (this.columns) {\n this.allowResizing = this.columns.some(function (col) {\n return col.allowResizing;\n });\n }\n }\n if (this.commands && !this.textAlign) {\n this.textAlign = 'Right';\n }\n if (this.template || this.commandsTemplate) {\n this.templateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(this.template || this.commandsTemplate);\n }\n if (this.headerTemplate) {\n this.headerTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(this.headerTemplate);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.filter) && this.filter.itemTemplate) {\n this.fltrTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(this.filter.itemTemplate);\n }\n if (this.editTemplate) {\n this.editTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(this.editTemplate);\n }\n if (this.filterTemplate) {\n this.filterTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(this.filterTemplate);\n }\n if (this.isForeignColumn() &&\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.editType) || this.editType === 'dropdownedit' || this.editType === 'defaultedit')) {\n this.editType = 'dropdownedit';\n if (this.edit.params && this.edit.params.dataSource) {\n this.edit.params.ddEditedData = true;\n }\n this.edit.params = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: this.dataSource,\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query(), fields: { value: this.foreignKeyField || this.field, text: this.foreignKeyValue }\n }, this.edit.params);\n }\n if (this.sortComparer) {\n var a_1 = this.sortComparer;\n this.sortComparer = function (x, y, xObj, yObj) {\n if (typeof a_1 === 'string') {\n a_1 = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(a_1, window);\n }\n if (_this.sortDirection === 'Descending') {\n var z = x;\n x = y;\n y = z;\n var obj = xObj;\n xObj = yObj;\n yObj = obj;\n }\n return a_1(x, y, xObj, yObj);\n };\n }\n if (!this.sortComparer && this.isForeignColumn()) {\n this.sortComparer = function (x, y) {\n x = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(_this.foreignKeyValue, (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getForeignData)(_this, {}, x)[0]);\n y = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(_this.foreignKeyValue, (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getForeignData)(_this, {}, y)[0]);\n return _this.sortDirection === 'Descending' ? _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.fnDescending(x, y) : _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataUtil.fnAscending(x, y);\n };\n }\n }\n /**\n * @returns {string} returns the sort direction\n * @hidden */\n Column.prototype.getSortDirection = function () {\n return this.sortDirection;\n };\n /**\n * @param {string} direction - specifies the direction\n * @returns {void}\n * @hidden\n */\n Column.prototype.setSortDirection = function (direction) {\n this.sortDirection = direction;\n };\n /**\n * @returns {freezeTable} returns the FreezeTable\n * @hidden */\n Column.prototype.getFreezeTableName = function () {\n return this.freezeTable;\n };\n /**\n * @param {Column} column - specifies the column\n * @returns {void}\n * @hidden\n */\n Column.prototype.setProperties = function (column) {\n //Angular two way binding\n var keys = Object.keys(column);\n var _loop_1 = function (i) {\n if (keys[parseInt(i.toString(), 10)] === 'columns') {\n var cols_1 = column[keys[parseInt(i.toString(), 10)]];\n var _loop_2 = function (j) {\n this_1.columns.find(function (col) {\n return col.field === cols_1[parseInt(j.toString(), 10)]\n .field;\n }).setProperties(cols_1[parseInt(j.toString(), 10)]);\n };\n for (var j = 0; j < cols_1.length; j++) {\n _loop_2(j);\n }\n }\n else {\n this_1[keys[parseInt(i.toString(), 10)]] = column[keys[parseInt(i.toString(), 10)]];\n }\n //Refresh the react columnTemplates on state change\n if (this_1.parent && this_1.parent.isReact) {\n if (keys[parseInt(i.toString(), 10)] === 'template') {\n this_1.templateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(column[keys[parseInt(i.toString(), 10)]]);\n this_1.parent.refreshReactColumnTemplateByUid(this_1.uid, true);\n }\n else if (keys[parseInt(i.toString(), 10)] === 'headerTemplate') {\n this_1.headerTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(column[keys[parseInt(i.toString(), 10)]]);\n this_1.parent.refreshReactHeaderTemplateByUid(this_1.uid);\n }\n else if (keys[parseInt(i.toString(), 10)] === 'editTemplate') {\n this_1.editTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(column[keys[parseInt(i.toString(), 10)]]);\n }\n else if (keys[parseInt(i.toString(), 10)] === 'filterTemplate') {\n this_1.filterTemplateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(column[keys[parseInt(i.toString(), 10)]]);\n }\n else if (keys[parseInt(i.toString(), 10)] === 'commandsTemplate') {\n this_1.templateFn = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.templateCompiler)(column[keys[parseInt(i.toString(), 10)]]);\n }\n }\n };\n var this_1 = this;\n for (var i = 0; i < keys.length; i++) {\n _loop_1(i);\n }\n };\n /**\n * @returns {boolean} returns true for foreign column\n * @hidden\n * It defines the column is foreign key column or not.\n */\n Column.prototype.isForeignColumn = function () {\n return !!(this.dataSource && this.foreignKeyValue);\n };\n /**\n * @returns {Function} returns the function\n * @hidden\n */\n Column.prototype.getFormatter = function () {\n return this.formatFn;\n };\n /**\n * @param {Function} value - specifies the value\n * @returns {void}\n * @hidden\n */\n Column.prototype.setFormatter = function (value) {\n this.formatFn = value;\n };\n /**\n * @returns {Function} returns the function\n * @hidden */\n Column.prototype.getParser = function () {\n return this.parserFn;\n };\n /**\n * @param {Function} value - specifies the value\n * @returns {void}\n * @hidden\n */\n Column.prototype.setParser = function (value) {\n this.parserFn = value;\n };\n /**\n * @returns {Function} returns the function\n * @hidden */\n Column.prototype.getColumnTemplate = function () {\n return this.templateFn;\n };\n /**\n * @returns {Function} returns the function\n * @hidden */\n Column.prototype.getHeaderTemplate = function () {\n return this.headerTemplateFn;\n };\n /**\n * @returns {Function} returns the function\n * @hidden */\n Column.prototype.getFilterItemTemplate = function () {\n return this.fltrTemplateFn;\n };\n /**\n * @returns {string} returns the string\n * @hidden */\n Column.prototype.getDomSetter = function () {\n return this.disableHtmlEncode ? 'textContent' : 'innerHTML';\n };\n return Column;\n}());\n\n/**\n * Define options for custom command buttons.\n */\nvar CommandColumnModel = /** @class */ (function () {\n function CommandColumnModel() {\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], CommandColumnModel.prototype, \"title\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], CommandColumnModel.prototype, \"type\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], CommandColumnModel.prototype, \"buttonOption\", void 0);\n return CommandColumnModel;\n}());\n\n/**\n * Defines Grid column\n */\nvar GridColumn = /** @class */ (function (_super) {\n __extends(GridColumn, _super);\n function GridColumn() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], GridColumn.prototype, \"columns\", void 0);\n return GridColumn;\n}(Column));\n\n/**\n * Defines stacked grid column\n */\nvar StackedColumn = /** @class */ (function (_super) {\n __extends(StackedColumn, _super);\n function StackedColumn() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return StackedColumn;\n}(GridColumn));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models/page-settings.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models/page-settings.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageSettings: () => (/* binding */ PageSettings)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n/**\n * Configures the paging behavior of the Grid.\n */\nvar PageSettings = /** @class */ (function (_super) {\n __extends(PageSettings, _super);\n function PageSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(12)\n ], PageSettings.prototype, \"pageSize\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(8)\n ], PageSettings.prototype, \"pageCount\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1)\n ], PageSettings.prototype, \"currentPage\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], PageSettings.prototype, \"totalRecordsCount\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], PageSettings.prototype, \"enableQueryString\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], PageSettings.prototype, \"pageSizes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], PageSettings.prototype, \"template\", void 0);\n return PageSettings;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models/page-settings.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Row: () => (/* binding */ Row)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n/**\n * Row\n *\n * @hidden\n */\nvar Row = /** @class */ (function () {\n function Row(options, parent) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(this, options);\n this.parent = parent;\n }\n Row.prototype.clone = function () {\n var row = new Row({});\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(row, this);\n row.cells = this.cells.map(function (cell) { return cell.clone(); });\n return row;\n };\n /**\n * Replaces the row data and grid refresh the particular row element only.\n *\n * @param {Object} data - To update new data for the particular row.\n * @returns {void}\n */\n Row.prototype.setRowValue = function (data) {\n if (!this.parent) {\n return;\n }\n var key = this.data[this.parent.getPrimaryKeyFieldNames()[0]];\n this.parent.setRowData(key, data);\n };\n /**\n * Replaces the given field value and refresh the particular cell element only.\n *\n * @param {string} field - Specifies the field name which you want to update.\n * @param {string | number | boolean | Date} value - To update new value for the particular cell.\n * @returns {void}\n */\n Row.prototype.setCellValue = function (field, value) {\n if (!this.parent) {\n return;\n }\n var isValDiff = !(this.data[\"\" + field].toString() === value.toString());\n if (isValDiff) {\n var pKeyField = this.parent.getPrimaryKeyFieldNames()[0];\n var key = this.data[\"\" + pKeyField];\n this.parent.setCellValue(key, field, value);\n this.makechanges(pKeyField, this.data);\n }\n else {\n return;\n }\n };\n Row.prototype.makechanges = function (key, data) {\n if (!this.parent) {\n return;\n }\n var gObj = this.parent;\n var dataManager = gObj.getDataModule().dataManager;\n dataManager.update(key, data);\n };\n return Row;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AutoCompleteEditCell: () => (/* reexport safe */ _renderer_autocomplete_edit_cell__WEBPACK_IMPORTED_MODULE_25__.AutoCompleteEditCell),\n/* harmony export */ BatchEditRender: () => (/* reexport safe */ _renderer_batch_edit_renderer__WEBPACK_IMPORTED_MODULE_10__.BatchEditRender),\n/* harmony export */ BooleanEditCell: () => (/* reexport safe */ _renderer_boolean_edit_cell__WEBPACK_IMPORTED_MODULE_14__.BooleanEditCell),\n/* harmony export */ BooleanFilterUI: () => (/* reexport safe */ _renderer_boolean_filter_ui__WEBPACK_IMPORTED_MODULE_23__.BooleanFilterUI),\n/* harmony export */ CellRenderer: () => (/* reexport safe */ _renderer_cell_renderer__WEBPACK_IMPORTED_MODULE_3__.CellRenderer),\n/* harmony export */ ComboboxEditCell: () => (/* reexport safe */ _renderer_combobox_edit_cell__WEBPACK_IMPORTED_MODULE_26__.ComboboxEditCell),\n/* harmony export */ CommandColumnRenderer: () => (/* reexport safe */ _renderer_command_column_renderer__WEBPACK_IMPORTED_MODULE_19__.CommandColumnRenderer),\n/* harmony export */ ContentRender: () => (/* reexport safe */ _renderer_content_renderer__WEBPACK_IMPORTED_MODULE_1__.ContentRender),\n/* harmony export */ DateFilterUI: () => (/* reexport safe */ _renderer_date_filter_ui__WEBPACK_IMPORTED_MODULE_22__.DateFilterUI),\n/* harmony export */ DatePickerEditCell: () => (/* reexport safe */ _renderer_datepicker_edit_cell__WEBPACK_IMPORTED_MODULE_18__.DatePickerEditCell),\n/* harmony export */ DefaultEditCell: () => (/* reexport safe */ _renderer_default_edit_cell__WEBPACK_IMPORTED_MODULE_15__.DefaultEditCell),\n/* harmony export */ DialogEditRender: () => (/* reexport safe */ _renderer_dialog_edit_renderer__WEBPACK_IMPORTED_MODULE_11__.DialogEditRender),\n/* harmony export */ DropDownEditCell: () => (/* reexport safe */ _renderer_dropdown_edit_cell__WEBPACK_IMPORTED_MODULE_16__.DropDownEditCell),\n/* harmony export */ EditCellBase: () => (/* reexport safe */ _renderer_edit_cell_base__WEBPACK_IMPORTED_MODULE_34__.EditCellBase),\n/* harmony export */ EditRender: () => (/* reexport safe */ _renderer_edit_renderer__WEBPACK_IMPORTED_MODULE_13__.EditRender),\n/* harmony export */ FilterCellRenderer: () => (/* reexport safe */ _renderer_filter_cell_renderer__WEBPACK_IMPORTED_MODULE_5__.FilterCellRenderer),\n/* harmony export */ FlMenuOptrUI: () => (/* reexport safe */ _renderer_filter_menu_operator__WEBPACK_IMPORTED_MODULE_24__.FlMenuOptrUI),\n/* harmony export */ GroupCaptionCellRenderer: () => (/* reexport safe */ _renderer_caption_cell_renderer__WEBPACK_IMPORTED_MODULE_9__.GroupCaptionCellRenderer),\n/* harmony export */ GroupCaptionEmptyCellRenderer: () => (/* reexport safe */ _renderer_caption_cell_renderer__WEBPACK_IMPORTED_MODULE_9__.GroupCaptionEmptyCellRenderer),\n/* harmony export */ GroupLazyLoadRenderer: () => (/* reexport safe */ _renderer_group_lazy_load_renderer__WEBPACK_IMPORTED_MODULE_32__.GroupLazyLoadRenderer),\n/* harmony export */ HeaderCellRenderer: () => (/* reexport safe */ _renderer_header_cell_renderer__WEBPACK_IMPORTED_MODULE_4__.HeaderCellRenderer),\n/* harmony export */ HeaderRender: () => (/* reexport safe */ _renderer_header_renderer__WEBPACK_IMPORTED_MODULE_0__.HeaderRender),\n/* harmony export */ IndentCellRenderer: () => (/* reexport safe */ _renderer_indent_cell_renderer__WEBPACK_IMPORTED_MODULE_8__.IndentCellRenderer),\n/* harmony export */ InlineEditRender: () => (/* reexport safe */ _renderer_inline_edit_renderer__WEBPACK_IMPORTED_MODULE_12__.InlineEditRender),\n/* harmony export */ MaskedTextBoxCellEdit: () => (/* reexport safe */ _renderer_inputmask_edit_cell__WEBPACK_IMPORTED_MODULE_30__.MaskedTextBoxCellEdit),\n/* harmony export */ MultiSelectEditCell: () => (/* reexport safe */ _renderer_multiselect_edit_cell__WEBPACK_IMPORTED_MODULE_27__.MultiSelectEditCell),\n/* harmony export */ NumberFilterUI: () => (/* reexport safe */ _renderer_number_filter_ui__WEBPACK_IMPORTED_MODULE_21__.NumberFilterUI),\n/* harmony export */ NumericEditCell: () => (/* reexport safe */ _renderer_numeric_edit_cell__WEBPACK_IMPORTED_MODULE_17__.NumericEditCell),\n/* harmony export */ Render: () => (/* reexport safe */ _renderer_render__WEBPACK_IMPORTED_MODULE_7__.Render),\n/* harmony export */ ResponsiveDialogRenderer: () => (/* reexport safe */ _renderer_responsive_dialog_renderer__WEBPACK_IMPORTED_MODULE_33__.ResponsiveDialogRenderer),\n/* harmony export */ RowRenderer: () => (/* reexport safe */ _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_2__.RowRenderer),\n/* harmony export */ StackedHeaderCellRenderer: () => (/* reexport safe */ _renderer_stacked_cell_renderer__WEBPACK_IMPORTED_MODULE_6__.StackedHeaderCellRenderer),\n/* harmony export */ StringFilterUI: () => (/* reexport safe */ _renderer_string_filter_ui__WEBPACK_IMPORTED_MODULE_20__.StringFilterUI),\n/* harmony export */ TimePickerEditCell: () => (/* reexport safe */ _renderer_timepicker_edit_cell__WEBPACK_IMPORTED_MODULE_28__.TimePickerEditCell),\n/* harmony export */ ToggleEditCell: () => (/* reexport safe */ _renderer_toggleswitch_edit_cell__WEBPACK_IMPORTED_MODULE_29__.ToggleEditCell),\n/* harmony export */ VirtualContentRenderer: () => (/* reexport safe */ _renderer_virtual_content_renderer__WEBPACK_IMPORTED_MODULE_31__.VirtualContentRenderer),\n/* harmony export */ VirtualElementHandler: () => (/* reexport safe */ _renderer_virtual_content_renderer__WEBPACK_IMPORTED_MODULE_31__.VirtualElementHandler),\n/* harmony export */ VirtualHeaderRenderer: () => (/* reexport safe */ _renderer_virtual_content_renderer__WEBPACK_IMPORTED_MODULE_31__.VirtualHeaderRenderer)\n/* harmony export */ });\n/* harmony import */ var _renderer_header_renderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./renderer/header-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.js\");\n/* harmony import */ var _renderer_content_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./renderer/content-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _renderer_cell_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./renderer/cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _renderer_header_cell_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./renderer/header-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.js\");\n/* harmony import */ var _renderer_filter_cell_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./renderer/filter-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.js\");\n/* harmony import */ var _renderer_stacked_cell_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./renderer/stacked-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.js\");\n/* harmony import */ var _renderer_render__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./renderer/render */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/render.js\");\n/* harmony import */ var _renderer_indent_cell_renderer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./renderer/indent-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.js\");\n/* harmony import */ var _renderer_caption_cell_renderer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./renderer/caption-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/caption-cell-renderer.js\");\n/* harmony import */ var _renderer_batch_edit_renderer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./renderer/batch-edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.js\");\n/* harmony import */ var _renderer_dialog_edit_renderer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./renderer/dialog-edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.js\");\n/* harmony import */ var _renderer_inline_edit_renderer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./renderer/inline-edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.js\");\n/* harmony import */ var _renderer_edit_renderer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./renderer/edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.js\");\n/* harmony import */ var _renderer_boolean_edit_cell__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./renderer/boolean-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.js\");\n/* harmony import */ var _renderer_default_edit_cell__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./renderer/default-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.js\");\n/* harmony import */ var _renderer_dropdown_edit_cell__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./renderer/dropdown-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.js\");\n/* harmony import */ var _renderer_numeric_edit_cell__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./renderer/numeric-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.js\");\n/* harmony import */ var _renderer_datepicker_edit_cell__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./renderer/datepicker-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.js\");\n/* harmony import */ var _renderer_command_column_renderer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./renderer/command-column-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.js\");\n/* harmony import */ var _renderer_string_filter_ui__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./renderer/string-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/string-filter-ui.js\");\n/* harmony import */ var _renderer_number_filter_ui__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./renderer/number-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.js\");\n/* harmony import */ var _renderer_date_filter_ui__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./renderer/date-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/date-filter-ui.js\");\n/* harmony import */ var _renderer_boolean_filter_ui__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./renderer/boolean-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.js\");\n/* harmony import */ var _renderer_filter_menu_operator__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./renderer/filter-menu-operator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-operator.js\");\n/* harmony import */ var _renderer_autocomplete_edit_cell__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./renderer/autocomplete-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/autocomplete-edit-cell.js\");\n/* harmony import */ var _renderer_combobox_edit_cell__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./renderer/combobox-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/combobox-edit-cell.js\");\n/* harmony import */ var _renderer_multiselect_edit_cell__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./renderer/multiselect-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/multiselect-edit-cell.js\");\n/* harmony import */ var _renderer_timepicker_edit_cell__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./renderer/timepicker-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/timepicker-edit-cell.js\");\n/* harmony import */ var _renderer_toggleswitch_edit_cell__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./renderer/toggleswitch-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/toggleswitch-edit-cell.js\");\n/* harmony import */ var _renderer_inputmask_edit_cell__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./renderer/inputmask-edit-cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inputmask-edit-cell.js\");\n/* harmony import */ var _renderer_virtual_content_renderer__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./renderer/virtual-content-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-content-renderer.js\");\n/* harmony import */ var _renderer_group_lazy_load_renderer__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./renderer/group-lazy-load-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.js\");\n/* harmony import */ var _renderer_responsive_dialog_renderer__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./renderer/responsive-dialog-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.js\");\n/* harmony import */ var _renderer_edit_cell_base__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./renderer/edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\n/**\n * Models\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/autocomplete-edit-cell.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/autocomplete-edit-cell.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AutoCompleteEditCell: () => (/* binding */ AutoCompleteEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n/**\n * `AutoCompleteEditCell` is used to handle autocomplete cell type editing.\n *\n * @hidden\n */\nvar AutoCompleteEditCell = /** @class */ (function (_super) {\n __extends(AutoCompleteEditCell, _super);\n function AutoCompleteEditCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AutoCompleteEditCell.prototype.write = function (args) {\n this.column = args.column;\n var isInlineEdit = this.parent.editSettings.mode !== 'Dialog';\n this.object = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.AutoComplete((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ?\n this.parent.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(this.parent.dataSource),\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query().select(args.column.field), enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isEditable)(args.column, args.requestType, args.element),\n fields: { value: args.column.field },\n value: (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getObject)(args.column.field, args.rowData),\n // enableRtl: this.parentect.enableRtl,\n actionComplete: this.selectedValues.bind(this),\n placeholder: isInlineEdit ? '' : args.column.headerText,\n floatLabelType: isInlineEdit ? 'Never' : 'Always'\n }, args.column.edit.params));\n this.object.appendTo(args.element);\n /* tslint:disable-next-line:no-any */\n args.element.setAttribute('name', (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getComplexFieldID)(args.column.field));\n };\n AutoCompleteEditCell.prototype.selectedValues = function (valObj) {\n valObj.result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataUtil.distinct(valObj.result, this.object.fields.value, true);\n if (this.column.dataSource) {\n this.column.dataSource.dataSource.json = valObj.result;\n }\n };\n return AutoCompleteEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_6__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/autocomplete-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BatchEditRender: () => (/* binding */ BatchEditRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n/**\n * Edit render module is used to render grid edit row.\n *\n * @hidden\n */\nvar BatchEditRender = /** @class */ (function () {\n /**\n * Constructor for render module\n *\n * @param {IGrid} parent - specifies the IGrid\n */\n function BatchEditRender(parent) {\n this.parent = parent;\n }\n BatchEditRender.prototype.update = function (elements, args) {\n if (this.parent.isReact && args.columnObject && args.columnObject.template) {\n var parentRow = args.cell.parentElement;\n var newTd = args.cell.cloneNode(true);\n parentRow.insertBefore(newTd, args.cell);\n newTd.focus();\n args.cell.remove();\n args.cell = newTd;\n }\n args.cell.setAttribute('aria-label', args.cell.innerHTML + this.parent.localeObj.getConstant('ColumnHeader') + args.columnObject.field);\n args.cell.innerHTML = '';\n args.cell.appendChild(this.getEditElement(elements, args));\n args.cell.classList.add('e-editedbatchcell');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(args.row, [_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow, 'e-batchrow'], []);\n };\n BatchEditRender.prototype.getEditElement = function (elements, args) {\n var gObj = this.parent;\n var form = this.parent\n .createElement('form', { id: gObj.element.id + 'EditForm', className: 'e-gridform' });\n form.appendChild(elements[args.columnObject.uid]);\n if (args.columnObject.editType === 'booleanedit') {\n args.cell.classList.add('e-boolcell');\n }\n if (!args.columnObject.editType) {\n args.cell.classList.add('e-inputbox');\n }\n return form;\n };\n return BatchEditRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BooleanEditCell: () => (/* binding */ BooleanEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n/**\n * `BooleanEditCell` is used to handle boolean cell type editing.\n *\n * @hidden\n */\nvar BooleanEditCell = /** @class */ (function (_super) {\n __extends(BooleanEditCell, _super);\n function BooleanEditCell() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.activeClasses = ['e-selectionbackground', 'e-active'];\n return _this;\n }\n BooleanEditCell.prototype.create = function (args) {\n var col = args.column;\n var classNames = 'e-field e-boolcell';\n if (col.type === 'checkbox') {\n classNames = 'e-field e-boolcell e-edit-checkselect';\n }\n this.removeEventHandler = this.removeEventListener;\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.createEditElement)(this.parent, args.column, classNames, { type: 'checkbox', value: args.value });\n };\n BooleanEditCell.prototype.read = function (element) {\n return element.checked;\n };\n BooleanEditCell.prototype.write = function (args) {\n var selectChkBox;\n var chkState;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.row)) {\n selectChkBox = args.row.querySelector('.e-edit-checkselect');\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(args.column.field, args.rowData)) {\n chkState = JSON.parse((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(args.column.field, args.rowData).toString().toLowerCase());\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectChkBox) && args.column.type === 'checkbox') {\n this.editType = this.parent.editSettings.mode;\n this.editRow = args.row;\n if (args.requestType !== 'add') {\n var row = this.parent.getRowObjectFromUID(args.row.getAttribute('data-uid'));\n chkState = row ? row.isSelected : false;\n }\n _base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses.apply(void 0, [[].slice.call(args.row.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell)), chkState].concat(this.activeClasses));\n }\n this.obj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.CheckBox((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n label: this.parent.editSettings.mode !== 'Dialog' ? ' ' : args.column.headerText,\n checked: chkState,\n disabled: !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isEditable)(args.column, args.requestType, args.element), enableRtl: this.parent.enableRtl,\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n }, args.column.edit.params));\n this.addEventListener();\n this.obj.appendTo(args.element);\n };\n BooleanEditCell.prototype.addEventListener = function () {\n this.cbChange = this.checkBoxChange.bind(this);\n this.obj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.change, this.cbChange);\n };\n BooleanEditCell.prototype.removeEventListener = function () {\n if (this.obj.isDestroyed) {\n return;\n }\n this.obj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.change, this.cbChange);\n };\n BooleanEditCell.prototype.checkBoxChange = function (args) {\n if (this.editRow && this.editType !== 'Dialog') {\n var add = false;\n if (!args.checked) {\n this.editRow.removeAttribute('aria-selected');\n }\n else {\n add = true;\n this.editRow.setAttribute('aria-selected', add.toString());\n }\n _base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses.apply(void 0, [[].slice.call(this.editRow.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell)), add].concat(this.activeClasses));\n }\n };\n return BooleanEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_4__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BooleanFilterUI: () => (/* binding */ BooleanFilterUI)\n/* harmony export */ });\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n/**\n * `boolfilterui` render boolean column.\n *\n * @hidden\n */\n_syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect.Inject(_syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__.CheckBoxSelection);\nvar BooleanFilterUI = /** @class */ (function () {\n function BooleanFilterUI(parent, serviceLocator, filterSettings) {\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.filterSettings = filterSettings;\n if (this.parent) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterMenuClose, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy, this);\n }\n }\n BooleanFilterUI.prototype.create = function (args) {\n this.elem = this.parent.createElement('input', { className: 'e-flmenu-input', id: 'bool-ui-' + args.column.uid });\n args.target.appendChild(this.elem);\n this.multiSelectElement = this.parent.createElement('input', { className: 'multiselect-input', id: 'multiselectbool-ui-' + args.column.uid });\n args.target.appendChild(this.multiSelectElement);\n this.createDropDownList(args);\n this.createMultiSelectDropDown(args);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.toggleFilterUI)(args.getOptrInstance.dropOptr.value, args.column.uid, args.column, args.column.type, args.dialogObj, args.getOptrInstance.dropOptr['previousValue']);\n };\n BooleanFilterUI.prototype.write = function (args) {\n var operatorDropdown = this.parent.filterModule.filterModule.getOperatorDropdown();\n var dropdownObject = this.getBooleanInstance(args.column.uid);\n var multiSelectObject = this.getMultiSelectInstance(args.column.uid);\n if (operatorDropdown.value === 'in' || operatorDropdown.value === 'notin') {\n multiSelectObject.value = Array.isArray(args.filteredValue) ? args.filteredValue : [];\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.filteredValue) && !Array.isArray(args.filteredValue)) {\n dropdownObject.value = args.filteredValue;\n }\n }\n };\n BooleanFilterUI.prototype.read = function (element, column, filterOptr, filterObj) {\n if (filterOptr === 'in' || filterOptr === 'notin') {\n var filterValue = this.getMultiSelectInstance(column.uid).value;\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', true);\n }\n else {\n var dropdownObject = this.getBooleanInstance(column.uid);\n var filterValue = (dropdownObject.value);\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', false);\n }\n };\n BooleanFilterUI.prototype.createDropDownList = function (args) {\n var _this = this;\n var isForeignColumn = args.column.isForeignColumn();\n var dataSource = isForeignColumn ? args.column.dataSource : this.parent.dataSource;\n var fields = isForeignColumn ? args.column.foreignKeyValue : args.column.field;\n this.dialogObj = args.dialogObj;\n this.dropInstance = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_5__.DropDownList((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager ?\n dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager(dataSource),\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.Query().select(fields),\n fields: { text: fields, value: fields },\n placeholder: args.localizeText.getConstant('SelectValue'),\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n this.dropdownOpen = this.openPopup.bind(this);\n this.dropdownComplete = this.actionComplete(fields);\n this.dropInstance.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_8__.open, this.dropdownOpen);\n this.dropInstance.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.dropdownComplete);\n if (dataSource && 'result' in dataSource) {\n var query = this.parent.getQuery ? this.parent.getQuery().clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.Query();\n var defObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.eventPromise)({ requestType: 'booleanfilterrequest' }, query);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataStateChange, defObj.state);\n var def = defObj.deffered;\n def.promise.then(function (e) {\n _this.dropInstance.dataSource = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager(e);\n _this.dropInstance.dataBind();\n var columns = _this.parent.filterSettings.columns;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (args.column.uid === column.uid) {\n _this.dropInstance.value = column.value;\n }\n }\n });\n }\n this.dropInstance.appendTo(this.elem);\n };\n BooleanFilterUI.prototype.createMultiSelectDropDown = function (args) {\n var isForeignColumn = args.column.isForeignColumn();\n var dataSource = isForeignColumn ? args.column.dataSource : this.parent.dataSource;\n var fields = isForeignColumn ? args.column.foreignKeyValue : args.column.field;\n this.multiSelectCheckBoxInstance = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager ? dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager(dataSource),\n fields: { text: fields, value: fields },\n mode: 'CheckBox',\n showDropDownIcon: true,\n popupHeight: '300px',\n showSelectAll: true,\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.Query().select(fields),\n cssClass: this.parent.cssClass ? 'e-multiselect-flmenu' + ' ' + this.parent.cssClass : 'e-multiselect-flmenu',\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n this.dialogObj = args.dialogObj;\n this.multiSelectDropdownOpen = this.openPopup.bind(this);\n this.multiSelectDropdownComplete = this.actionComplete(fields);\n this.multiSelectCheckBoxInstance.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_8__.open, this.multiSelectDropdownOpen);\n this.multiSelectCheckBoxInstance.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.multiSelectDropdownComplete);\n this.multiSelectCheckBoxInstance.appendTo(this.multiSelectElement);\n };\n BooleanFilterUI.prototype.getBooleanInstance = function (uid) {\n return document.querySelector(\"#bool-ui-\" + uid).ej2_instances[0];\n };\n BooleanFilterUI.prototype.getMultiSelectInstance = function (uid) {\n return document.querySelector(\"#multiselectbool-ui-\" + uid).ej2_instances[0];\n };\n BooleanFilterUI.prototype.openPopup = function (args) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getZIndexCalcualtion)(args, this.dialogObj);\n };\n BooleanFilterUI.prototype.actionComplete = function (fields) {\n return function (e) {\n e.result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.distinct(e.result, fields, true);\n };\n };\n BooleanFilterUI.prototype.destroy = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterMenuClose, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy);\n if (this.dropInstance && !this.dropInstance.isDestroyed) {\n this.dropInstance.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_8__.open, this.dropdownOpen);\n this.dropInstance.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.dropdownComplete);\n this.dropInstance.destroy();\n }\n if (this.multiSelectCheckBoxInstance && !this.multiSelectCheckBoxInstance.isDestroyed) {\n this.multiSelectCheckBoxInstance.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_8__.open, this.multiSelectDropdownOpen);\n this.multiSelectCheckBoxInstance.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.multiSelectDropdownComplete);\n this.multiSelectCheckBoxInstance.destroy();\n }\n };\n return BooleanFilterUI;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/caption-cell-renderer.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/caption-cell-renderer.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GroupCaptionCellRenderer: () => (/* binding */ GroupCaptionCellRenderer),\n/* harmony export */ GroupCaptionEmptyCellRenderer: () => (/* binding */ GroupCaptionEmptyCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * GroupCaptionCellRenderer class which responsible for building group caption cell.\n *\n * @hidden\n */\nvar GroupCaptionCellRenderer = /** @class */ (function (_super) {\n __extends(GroupCaptionCellRenderer, _super);\n function GroupCaptionCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cellUid = 0;\n _this.element = _this.parent\n .createElement('TD', { className: 'e-groupcaption',\n attrs: { id: _this.parent.element.id + 'captioncell', tabindex: '-1' } });\n return _this;\n }\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the GroupedData\n * @returns {Element} returns the element\n */\n GroupCaptionCellRenderer.prototype.render = function (cell, data) {\n this.element.id = this.parent.element.id + 'captioncell' + this.cellUid++;\n var node = this.element.cloneNode();\n var gObj = this.parent;\n var column = cell.column;\n var domSetter = column.getDomSetter ? column.getDomSetter() : 'innerHTML';\n var result;\n var fKeyValue;\n var gTemplateValue;\n data.headerText = cell.column.headerText;\n if (cell.isForeignKey) {\n fKeyValue = this.format(cell.column, cell.column.valueAccessor('foreignKey', data, cell.column));\n }\n var value = cell.isForeignKey ? fKeyValue : cell.column.enableGroupByFormat ? data.key :\n this.format(cell.column, cell.column.valueAccessor('key', data, cell.column));\n for (var j = 0; j < gObj.aggregates.length; j++) {\n var _loop_1 = function (i) {\n if (gObj.getVisibleColumns()[0].field === gObj.aggregates[parseInt(j.toString(), 10)].columns[parseInt(i.toString(), 10)]\n .field && gObj.aggregates[parseInt(j.toString(), 10)].columns[parseInt(i.toString(), 10)].groupCaptionTemplate) {\n var gCaptionTemp = gObj.aggregates[parseInt(j.toString(), 10)]\n .columns[parseInt(i.toString(), 10)].groupCaptionTemplate;\n if (typeof gCaptionTemp === 'string' && gCaptionTemp.includes('$')) {\n gTemplateValue = gObj.aggregates[parseInt(j.toString(), 10)].columns[parseInt(i.toString(), 10)]\n .groupCaptionTemplate.split('$')[0] + data[gObj.getVisibleColumns()[0].field][gObj\n .aggregates[parseInt(j.toString(), 10)].columns[parseInt(i.toString(), 10)].type] +\n gObj.aggregates[parseInt(j.toString(), 10)].columns[parseInt(i.toString(), 10)]\n .groupCaptionTemplate.split('}')[1];\n }\n else {\n var column_1 = (gObj.aggregates[parseInt(j.toString(), 10)]\n .columns[parseInt(i.toString(), 10)]);\n var tempObj = column_1.getTemplate(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType.CaptionSummary);\n var tempID = '';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tempObj)) {\n var tempValue_1 = tempObj.fn(data[column_1.columnName], this_1.parent, tempObj.property, tempID);\n var isReactPrintGrid = this_1.parent.printGridParent\n && this_1.parent.printGridParent.isReact;\n if ((this_1.parent.isReact || isReactPrintGrid) && typeof column_1.groupCaptionTemplate !== 'string') {\n this_1.parent.renderTemplates(function () {\n if (tempValue_1 && tempValue_1.length) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.groupSettings.captionTemplate)) {\n node.appendChild(tempValue_1[0]);\n }\n else {\n node.innerText += ' ' + tempValue_1[0].textContent;\n }\n }\n });\n }\n else {\n if (tempValue_1 && tempValue_1.length) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.groupSettings.captionTemplate)) {\n gTemplateValue = tempValue_1;\n }\n else {\n gTemplateValue = tempValue_1[0].textContent;\n }\n }\n }\n }\n }\n return \"break\";\n }\n };\n var this_1 = this;\n for (var i = 0; i < gObj.aggregates[parseInt(j.toString(), 10)].columns.length; i++) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.groupSettings.captionTemplate)) {\n var isReactCompiler = this.parent.isReact && typeof (gObj.groupSettings.captionTemplate) !== 'string' &&\n !(gObj.groupSettings.captionTemplate.prototype &&\n gObj.groupSettings.captionTemplate.prototype.CSPTemplate);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var isReactPrintGrid = this.parent.printGridParent && this.parent.printGridParent.isReact;\n if (isReactCompiler || isReactChild || isReactPrintGrid) {\n var tempID = gObj.element.id + 'captionTemplate';\n var groupKey = 'groupKey';\n var key = 'key';\n data[\"\" + groupKey] = data[\"\" + key];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.templateCompiler)(gObj.groupSettings.captionTemplate)(data, this.parent, 'captionTemplate', tempID, null, null, node);\n this.parent.renderTemplates();\n }\n else if (this.parent.isVue\n || (gObj.parentDetails && gObj.parentDetails.parentInstObj && gObj.parentDetails.parentInstObj.isVue)) {\n result = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.templateCompiler)(gObj.groupSettings.captionTemplate)(data, this.parent, 'captionTemplate', null, null, null, null, gObj.root);\n }\n else {\n result = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.templateCompiler)(gObj.groupSettings.captionTemplate)(data);\n }\n if (!isReactCompiler && !isReactChild && !isReactPrintGrid) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.appendChildren)(node, result);\n if (gTemplateValue && gTemplateValue.length && gTemplateValue[0].textContent) {\n node.appendChild(gTemplateValue[0]);\n }\n }\n }\n else {\n if (gObj.groupSettings.enableLazyLoading) {\n node[\"\" + domSetter] = this.parent.sanitize(cell.column.headerText) + ': ' + this.parent.sanitize(value) +\n (gTemplateValue ? ' ' + gTemplateValue : '');\n }\n else {\n node[\"\" + domSetter] = this.parent.sanitize(cell.column.headerText) + ': ' + this.parent.sanitize(value) +\n ' - ' + data.count + ' ' + (data.count < 2 ? this.localizer.getConstant('Item') : this.localizer.getConstant('Items'))\n + (gTemplateValue ? ' ' + gTemplateValue : '');\n }\n }\n node.setAttribute('colspan', cell.colSpan.toString());\n node.setAttribute('aria-label', node.innerHTML + this.localizer.getConstant('GroupCaption'));\n node.setAttribute('title', node.textContent);\n return node;\n };\n return GroupCaptionCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_3__.CellRenderer));\n\n/**\n * GroupCaptionEmptyCellRenderer class which responsible for building group caption empty cell.\n *\n * @hidden\n */\nvar GroupCaptionEmptyCellRenderer = /** @class */ (function (_super) {\n __extends(GroupCaptionEmptyCellRenderer, _super);\n function GroupCaptionEmptyCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TD', { className: 'e-groupcaption' });\n return _this;\n }\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the Object\n * @param {string} data.field - Defines the field\n * @param {string} data.key - Defines the key\n * @param {number} data.count - Defines the count\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n GroupCaptionEmptyCellRenderer.prototype.render = function (cell, data) {\n var node = this.element.cloneNode();\n node.innerHTML = ' ';\n node.setAttribute('colspan', cell.colSpan.toString());\n return node;\n };\n return GroupCaptionEmptyCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_3__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/caption-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-merge-renderer.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-merge-renderer.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellMergeRender: () => (/* binding */ CellMergeRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n\n\n\n/**\n * `CellMergeRender` module.\n *\n * @hidden\n */\nvar CellMergeRender = /** @class */ (function () {\n function CellMergeRender(serviceLocator, parent) {\n this.serviceLocator = serviceLocator;\n this.parent = parent;\n }\n CellMergeRender.prototype.render = function (cellArgs, row, i, td) {\n var cellRendererFact = this.serviceLocator.getService('cellRendererFactory');\n var cellRenderer = cellRendererFact.getCellRenderer(row.cells[parseInt(i.toString(), 10)].cellType\n || _base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType.Data);\n var colSpan = row.cells[parseInt(i.toString(), 10)].cellSpan ? row.cells[parseInt(i.toString(), 10)].cellSpan :\n cellArgs.colSpan ? (cellArgs.colSpan + i) <= row.cells.length ? cellArgs.colSpan : row.cells.length - i : 1;\n var rowSpan = cellArgs.rowSpan;\n var visible = 0;\n var spannedCell;\n if (row.index > 0) {\n var rowsObject = this.parent.getRowsObject();\n var cells = this.parent.groupSettings.columns.length > 0 &&\n !rowsObject[row.index - 1].isDataRow ? rowsObject[row.index].cells : rowsObject[row.index - 1].cells;\n var targetCell_1 = row.cells[parseInt(i.toString(), 10)];\n var uid_1 = 'uid';\n spannedCell = cells.filter(function (cell) { return cell.column.uid === targetCell_1.column[\"\" + uid_1]; })[0];\n }\n var colSpanLen = spannedCell && spannedCell.colSpanRange > 1 && spannedCell.rowSpanRange > 1 ?\n spannedCell.colSpanRange : colSpan;\n for (var j = i + 1; j < i + colSpanLen && j < row.cells.length; j++) {\n if (row.cells[parseInt(j.toString(), 10)].visible === false) {\n visible++;\n }\n else {\n row.cells[parseInt(j.toString(), 10)].isSpanned = true;\n }\n }\n if (visible > 0) {\n for (var j = i + colSpan; j < i + colSpan + visible && j < row.cells.length; j++) {\n row.cells[parseInt(j.toString(), 10)].isSpanned = true;\n }\n if (i + colSpan + visible >= row.cells.length) {\n colSpan -= (i + colSpan + visible) - row.cells.length;\n }\n }\n if (row.cells[parseInt(i.toString(), 10)].cellSpan) {\n row.data[cellArgs.column.field] = row.cells[parseInt(i.toString(), 10)].spanText;\n td = cellRenderer.render(row.cells[parseInt(i.toString(), 10)], row.data, { 'index': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.index) ? row.index.toString() : '' });\n }\n if (colSpan > 1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(td, { 'colSpan': colSpan.toString(), 'aria-colSpan': colSpan.toString() });\n }\n if (rowSpan > 1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(td, { 'rowspan': rowSpan.toString(), 'aria-rowspan': rowSpan.toString() });\n row.cells[parseInt(i.toString(), 10)].isRowSpanned = true;\n row.cells[parseInt(i.toString(), 10)].rowSpanRange = Number(rowSpan);\n if (colSpan > 1) {\n row.cells[parseInt(i.toString(), 10)].colSpanRange = Number(colSpan);\n }\n }\n if (row.index > 0 && (spannedCell.rowSpanRange > 1)) {\n row.cells[parseInt(i.toString(), 10)].isSpanned = true;\n row.cells[parseInt(i.toString(), 10)].rowSpanRange = Number(spannedCell.rowSpanRange - 1);\n row.cells[parseInt(i.toString(), 10)].colSpanRange = spannedCell.rowSpanRange > 0 ? spannedCell.colSpanRange : 1;\n }\n if (this.parent.enableColumnVirtualization && !row.cells[parseInt(i.toString(), 10)].cellSpan &&\n !this.containsKey(cellArgs.column.field, cellArgs.data[cellArgs.column.field])) {\n this.backupMergeCells(cellArgs.column.field, cellArgs.data[cellArgs.column.field], cellArgs.colSpan);\n }\n return td;\n };\n CellMergeRender.prototype.backupMergeCells = function (fName, data, span) {\n this.setMergeCells(this.generteKey(fName, data), span);\n };\n CellMergeRender.prototype.generteKey = function (fname, data) {\n return fname + '__' + data.toString();\n };\n CellMergeRender.prototype.splitKey = function (key) {\n return key.split('__');\n };\n CellMergeRender.prototype.containsKey = function (fname, data) {\n // eslint-disable-next-line no-prototype-builtins\n return this.getMergeCells().hasOwnProperty(this.generteKey(fname, data));\n };\n CellMergeRender.prototype.getMergeCells = function () {\n return this.parent.mergeCells;\n };\n CellMergeRender.prototype.setMergeCells = function (key, span) {\n this.parent.mergeCells[\"\" + key] = span;\n };\n CellMergeRender.prototype.updateVirtualCells = function (rows) {\n var mCells = this.getMergeCells();\n for (var _i = 0, _a = Object.keys(mCells); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = mCells[\"\" + key];\n var merge = this.splitKey(key);\n var columnIndex = this.getIndexFromAllColumns(merge[0]);\n var vColumnIndices = this.parent.getColumnIndexesInView();\n var span = value - (vColumnIndices[0] - columnIndex);\n if (columnIndex < vColumnIndices[0] && span > 1) {\n for (var _b = 0, rows_1 = rows; _b < rows_1.length; _b++) {\n var row = rows_1[_b];\n if (row.data[merge[0]].toString() === merge[1].toString()) {\n row.cells[0].cellSpan = span;\n row.cells[0].spanText = merge[1];\n break;\n }\n }\n }\n }\n return rows;\n };\n CellMergeRender.prototype.getIndexFromAllColumns = function (field) {\n var index = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.iterateArrayOrObject)(this.parent.getVisibleColumns(), function (item, index) {\n if (item.field === field) {\n return index;\n }\n return undefined;\n })[0];\n return index;\n };\n return CellMergeRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-merge-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellRenderer: () => (/* binding */ CellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n/**\n * CellRenderer class which responsible for building cell content.\n *\n * @hidden\n */\nvar CellRenderer = /** @class */ (function () {\n function CellRenderer(parent, locator) {\n this.localizer = locator.getService('localization');\n this.formatter = locator.getService('valueFormatter');\n this.parent = parent;\n this.element = this.parent.createElement('TD', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell, attrs: { role: 'gridcell', tabindex: '-1' } });\n this.rowChkBox = this.parent.createElement('input', { className: 'e-checkselect', attrs: { 'type': 'checkbox', 'aria-label': this.localizer.getConstant('SelectRow') } });\n }\n /**\n * Function to return the wrapper for the TD content\n *\n * @returns {string | Element} returns the string\n */\n CellRenderer.prototype.getGui = function () {\n return '';\n };\n /**\n * Function to format the cell value.\n *\n * @param {Column} column - specifies the column\n * @param {Object} value - specifies the value\n * @param {Object} data - specifies the data\n * @returns {string} returns the format\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CellRenderer.prototype.format = function (column, value, data) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.format)) {\n if (column.type === 'number' && isNaN(parseInt(value, 10))) {\n value = null;\n }\n if (column.type === 'dateonly' && typeof value === 'string' && value) {\n var arr = value.split(/[^0-9.]/);\n value = new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10));\n }\n value = this.formatter.toView(value, column.getFormatter());\n }\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? '' : value.toString();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n CellRenderer.prototype.evaluate = function (node, cell, data, attributes, fData, isEdit) {\n var _a;\n var result;\n if (cell.column.template) {\n var isReactCompiler = this.parent.isReact && typeof (cell.column.template) !== 'string' && !(cell.column.template.prototype && cell.column.template.prototype.CSPTemplate);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var isReactPrintGrid = this.parent.printGridParent && this.parent.printGridParent.isReact;\n var literals_1 = ['index'];\n var dummyData = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.extendObjWithFn)({}, data, (_a = {}, _a[_base_constant__WEBPACK_IMPORTED_MODULE_3__.foreignKeyData] = fData, _a.column = cell.column, _a));\n var templateID = this.parent.element.id + cell.column.uid;\n var str = 'isStringTemplate';\n if (isReactCompiler || isReactChild || isReactPrintGrid) {\n var copied = { 'index': attributes[literals_1[0]] };\n cell.column.getColumnTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(copied, dummyData), this.parent, 'columnTemplate', templateID, this.parent[\"\" + str], null, node);\n }\n else {\n result = cell.column.getColumnTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ 'index': attributes[literals_1[0]] }, dummyData), this.parent, 'template', templateID, this.parent[\"\" + str], undefined, undefined, this.parent['root']);\n }\n if (!isReactCompiler && !isReactChild && !isReactPrintGrid) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.appendChildren)(node, result);\n }\n this.parent.notify('template-result', { template: result });\n result = null;\n if (cell.column.templateOptions.enableAriaLabel) {\n node.setAttribute('aria-label', node.innerText + this.localizer.getConstant('TemplateCell') +\n this.localizer.getConstant('ColumnHeader') + cell.column.headerText);\n }\n return false;\n }\n return true;\n };\n /**\n * Function to invoke the custom formatter available in the column object.\n *\n * @param {Column} column - specifies the column\n * @param {Object} value - specifies the value\n * @param {Object} data - specifies the data\n * @returns {Object} returns the object\n */\n CellRenderer.prototype.invokeFormatter = function (column, value, data) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.formatter)) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.doesImplementInterface)(column.formatter, 'getValue')) {\n var formatter = column.formatter;\n value = new formatter().getValue(column, data);\n }\n else if (typeof column.formatter === 'function') {\n value = column.formatter(column, data);\n }\n else {\n value = column.formatter.getValue(column, data);\n }\n }\n return value;\n };\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @param {Object} attributes - specifies the attributes\n * @param {boolean} isExpand - specifies the boolean for expand\n * @param {boolean} isEdit - specifies the boolean for edit\n * @returns {Element} returns the element\n */\n CellRenderer.prototype.render = function (cell, data, attributes, isExpand, isEdit) {\n return this.refreshCell(cell, data, attributes, isEdit);\n };\n /**\n * Function to refresh the cell content based on Column object.\n *\n * @param {Element} td - specifies the element\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @param {Object} attributes - specifies the attribute\n * @returns {void}\n */\n CellRenderer.prototype.refreshTD = function (td, cell, data, attributes) {\n var isEdit = this.parent.editSettings.mode === 'Batch' && td.classList.contains('e-editedbatchcell');\n if (this.parent.isReact) {\n var cellIndex = td.cellIndex;\n var parentRow = td.parentElement;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(td);\n var newTD = this.refreshCell(cell, data, attributes, isEdit);\n this.cloneAttributes(newTD, td);\n if (parentRow.cells.length !== cellIndex - 1) {\n parentRow.insertBefore(newTD, parentRow.cells[parseInt(cellIndex.toString(), 10)]);\n }\n else {\n parentRow.appendChild(newTD);\n }\n }\n else {\n var node = this.refreshCell(cell, data, attributes, isEdit);\n td.innerHTML = '';\n var arialabelText = node.getAttribute('aria-label');\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n arialabelText ? td.setAttribute('aria-label', arialabelText) : null;\n var elements = [].slice.call(node.childNodes);\n for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {\n var elem = elements_1[_i];\n td.appendChild(elem);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n CellRenderer.prototype.cloneAttributes = function (target, source) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var attrs = source.attributes;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var i = attrs.length;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var attr;\n while (i--) {\n attr = attrs[parseInt(i.toString(), 10)];\n target.setAttribute(attr.name, attr.value);\n }\n };\n CellRenderer.prototype.refreshCell = function (cell, data, attributes, isEdit) {\n var _a;\n var node = this.element.cloneNode();\n var column = cell.column;\n var fData;\n if (cell.isForeignKey) {\n fData = cell.foreignKeyData[0] || (_a = {}, _a[column.foreignKeyValue] = column.format ? null : '', _a);\n }\n //Prepare innerHtml\n var innerHtml = this.getGui();\n var value = cell.isForeignKey ? this.getValue(column.foreignKeyValue, fData, column) :\n this.getValue(column.field, data, column);\n if ((column.type === 'date' || column.type === 'datetime') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n value = new Date(value);\n }\n if (column.type === 'dateonly' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) && typeof value === 'string') {\n var arr = value.split(/[^0-9.]/);\n value = new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, parseInt(arr[2], 10));\n }\n value = this.format(column, value, data);\n innerHtml = value.toString();\n if (column.type === 'boolean' && !column.displayAsCheckBox) {\n var localeStr = (value !== 'true' && value !== 'false') ? null : value === 'true' ? 'True' : 'False';\n innerHtml = localeStr ? this.localizer.getConstant(localeStr) : innerHtml;\n }\n var fromFormatter = this.invokeFormatter(column, value, data);\n innerHtml = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.formatter) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fromFormatter) ? '' : fromFormatter.toString() : innerHtml;\n if (this.evaluate(node, cell, data, attributes, fData, isEdit) && column.type !== 'checkbox') {\n this.appendHtml(node, this.parent.sanitize(innerHtml), column.getDomSetter ? column.getDomSetter() : 'innerHTML');\n }\n else if (column.type === 'checkbox') {\n node.classList.add(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.gridChkBox);\n if (this.parent.selectionSettings.persistSelection) {\n value = value === 'true';\n }\n else {\n value = false;\n }\n var checkWrap = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__.createCheckBox)(this.parent.createElement, false, { checked: value, label: ' ' });\n if (this.parent.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([checkWrap], [this.parent.cssClass]);\n }\n this.rowChkBox.id = 'checkbox-' + cell.rowID;\n checkWrap.insertBefore(this.rowChkBox.cloneNode(), checkWrap.firstChild);\n node.appendChild(checkWrap);\n }\n if (this.parent.checkAllRows === 'Check' && this.parent.enableVirtualization) {\n cell.isSelected = true;\n }\n this.setAttributes(node, cell, attributes);\n if (column.type === 'boolean' && column.displayAsCheckBox) {\n var checked = isNaN(parseInt(value.toString(), 10)) ? value === 'true' : parseInt(value.toString(), 10) > 0;\n var checkWrap = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__.createCheckBox)(this.parent.createElement, false, { checked: checked, label: ' ' });\n node.innerHTML = '';\n node.classList.add('e-gridchkbox-cell');\n checkWrap.classList.add('e-checkbox-disabled');\n if (this.parent.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([checkWrap], [this.parent.cssClass]);\n }\n node.appendChild(checkWrap);\n }\n if (node.classList.contains('e-summarycell') && !data.key) {\n var uid = node.getAttribute('e-mappinguid');\n column = this.parent.getColumnByUid(uid);\n node.setAttribute('aria-label', innerHtml + this.localizer.getConstant('ColumnHeader') + cell.column.headerText);\n }\n if (this.parent.isFrozenGrid() && (!data || (data && !data.key))) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addStickyColumnPosition)(this.parent, column, node);\n }\n return node;\n };\n /**\n * Function to specifies how the result content to be placed in the cell.\n *\n * @param {Element} node - specifies the node\n * @param {string|Element} innerHtml - specifies the innerHTML\n * @param {string} property - specifies the element\n * @returns {Element} returns the element\n */\n CellRenderer.prototype.appendHtml = function (node, innerHtml, property) {\n if (property === void 0) { property = 'innerHTML'; }\n node[\"\" + property] = innerHtml;\n return node;\n };\n /**\n * @param {HTMLElement} node - specifies the node\n * @param {cell} cell - specifies the cell\n * @param {Object} attributes - specifies the attributes\n * @returns {void}\n * @hidden\n */\n CellRenderer.prototype.setAttributes = function (node, cell, attributes) {\n var column = cell.column;\n this.buildAttributeFromCell(node, cell, column.type === 'checkbox');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setStyleAndAttributes)(node, attributes);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setStyleAndAttributes)(node, cell.attributes);\n if (column.customAttributes) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setStyleAndAttributes)(node, column.customAttributes);\n }\n if (this.parent.rowRenderingMode === 'Vertical') {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setStyleAndAttributes)(node, { 'data-cell': column.headerText });\n }\n if (column.textAlign) {\n var alignmentClassMap = { right: 'e-rightalign', left: 'e-leftalign', center: 'e-centeralign', justify: 'e-justifyalign' };\n if (alignmentClassMap[column.textAlign.toLowerCase()]) {\n node.classList.add(alignmentClassMap[column.textAlign.toLowerCase()]);\n }\n }\n if (column.clipMode === 'Clip' || (!column.clipMode && this.parent.clipMode === 'Clip')) {\n node.classList.add('e-gridclip');\n }\n else if (column.clipMode === 'EllipsisWithTooltip' || (!column.clipMode && this.parent.clipMode === 'EllipsisWithTooltip')\n && !(this.parent.allowTextWrap && (this.parent.textWrapSettings.wrapMode === 'Content'\n || this.parent.textWrapSettings.wrapMode === 'Both'))) {\n if (column.type !== 'checkbox') {\n node.classList.add('e-ellipsistooltip');\n }\n }\n };\n CellRenderer.prototype.buildAttributeFromCell = function (node, cell, isCheckBoxType) {\n var attr = {};\n var classes = [];\n if (cell.colSpan) {\n attr.colSpan = cell.colSpan;\n }\n if (cell.rowSpan) {\n attr.rowSpan = cell.rowSpan;\n }\n if (cell.isTemplate) {\n classes.push('e-templatecell');\n }\n if (cell.isSelected) {\n classes.push.apply(classes, ['e-selectionbackground', 'e-active']);\n if (isCheckBoxType) {\n node.querySelector('.e-frame').classList.add('e-check');\n }\n }\n if (cell.isColumnSelected) {\n classes.push.apply(classes, ['e-columnselection']);\n }\n if (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.Header) {\n attr[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex] = cell.colIndex + 1;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.index)) {\n attr[_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.ariaColIndex] = cell.index + 1;\n }\n if (!cell.visible) {\n classes.push('e-hide');\n }\n attr.class = classes;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setStyleAndAttributes)(node, attr);\n };\n CellRenderer.prototype.getValue = function (field, data, column) {\n return column.valueAccessor(field, data, column);\n };\n return CellRenderer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/combobox-edit-cell.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/combobox-edit-cell.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ComboboxEditCell: () => (/* binding */ ComboboxEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n/**\n * `ComboBoxEditCell` is used to handle ComboBoxEdit cell type editing.\n *\n * @hidden\n */\nvar ComboboxEditCell = /** @class */ (function (_super) {\n __extends(ComboboxEditCell, _super);\n function ComboboxEditCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComboboxEditCell.prototype.write = function (args) {\n this.column = args.column;\n var isInlineMode = this.parent.editSettings.mode !== 'Dialog';\n this.obj = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.ComboBox((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager ?\n this.parent.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(this.parent.dataSource),\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.Query().select(args.column.field),\n fields: { value: args.column.field },\n value: (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getObject)(args.column.field, args.rowData),\n enableRtl: this.parent.enableRtl, actionComplete: this.finalValue.bind(this),\n placeholder: isInlineMode ? '' : args.column.headerText,\n floatLabelType: isInlineMode ? 'Never' : 'Always',\n enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isEditable)(args.column, args.requestType, args.element),\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, args.column.edit.params));\n this.obj.appendTo(args.element);\n };\n ComboboxEditCell.prototype.finalValue = function (val) {\n val.result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataUtil.distinct(val.result, this.obj.fields.value, true);\n if (this.column.dataSource) {\n this.column.dataSource.dataSource.json = val.result;\n }\n };\n return ComboboxEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_6__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/combobox-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CommandColumnRenderer: () => (/* binding */ CommandColumnRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/button/button.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n/**\n * `CommandColumn` used to render command column in grid\n *\n * @hidden\n */\nvar CommandColumnRenderer = /** @class */ (function (_super) {\n __extends(CommandColumnRenderer, _super);\n function CommandColumnRenderer(parent, locator) {\n var _this = _super.call(this, parent, locator) || this;\n _this.buttonElement = _this.parent.createElement('button', {});\n _this.unbounDiv = _this.parent.createElement('div', { className: 'e-unboundcelldiv' });\n _this.childRefs = [];\n _this.element = _this.parent.createElement('TD', {\n className: 'e-rowcell e-unboundcell', attrs: {\n tabindex: '-1', role: 'gridcell'\n }\n });\n _this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, _this.destroyButtons, _this);\n _this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.commandColumnDestroy, _this.destroyButtons, _this);\n return _this;\n }\n CommandColumnRenderer.prototype.destroyButtons = function (args) {\n for (var i = 0; i < this.childRefs.length; i++) {\n if (this.childRefs[parseInt(i.toString(), 10)] && !this.childRefs[parseInt(i.toString(), 10)].isDestroyed\n && !(this.parent.editSettings.showAddNewRow && this.parent.enableVirtualization\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(this.childRefs[parseInt(i.toString(), 10)].element, 'e-addedrow'))) {\n this.childRefs[parseInt(i.toString(), 10)].destroy();\n if (this.childRefs[parseInt(i.toString(), 10)].element) {\n this.childRefs[parseInt(i.toString(), 10)].element.innerHTML = '';\n }\n }\n }\n this.childRefs = [];\n if (args.type === 'refreshCommandColumn') {\n var elem = this.parent.element.querySelectorAll('.e-gridcontent .e-unboundcell');\n if (elem.length) {\n for (var i = 0; i < elem.length; i++) {\n if (elem[parseInt(i.toString(), 10)] && !(this.parent.editSettings.showAddNewRow && this.parent.enableVirtualization\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(elem[parseInt(i.toString(), 10)], 'e-addedrow'))) {\n if (elem[parseInt(i.toString(), 10)].querySelector('.e-unboundcelldiv')) {\n elem[parseInt(i.toString(), 10)].querySelector('.e-unboundcelldiv').innerHTML = '';\n }\n elem[parseInt(i.toString(), 10)].innerHTML = '';\n }\n }\n elem = null;\n }\n }\n else {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroyButtons);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.commandColumnDestroy, this.destroyButtons);\n }\n };\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @param {Object} attributes - specifies the attributes\n * @param {boolean} isVirtualEdit - specifies virtual scroll editing\n * @returns {Element} returns the element\n */\n CommandColumnRenderer.prototype.render = function (cell, data, attributes, isVirtualEdit) {\n var node = this.element.cloneNode();\n var uid = 'uid';\n node.appendChild(this.unbounDiv.cloneNode());\n node.setAttribute('aria-label', this.localizer.getConstant('CommandColumnAria') + cell.column.headerText);\n if (cell.column.commandsTemplate) {\n if (this.parent.isReact && typeof (cell.column.commandsTemplate) !== 'string' && !(cell.column.commandsTemplate.prototype &&\n cell.column.commandsTemplate.prototype.CSPTemplate)) {\n var tempID = this.parent + 'commandsTemplate';\n cell.column.getColumnTemplate()(data, this.parent, 'commandsTemplate', tempID, null, null, node.firstElementChild);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.appendChildren)(node.firstElementChild, cell.column.getColumnTemplate()(data, this.parent, 'commandsTemplate', null, null, null, null, this.parent.root));\n }\n }\n else {\n for (var _i = 0, _a = cell.commands; _i < _a.length; _i++) {\n var command = _a[_i];\n node = this.renderButton(node, command, attributes.index, command[\"\" + uid]);\n }\n }\n this.setAttributes(node, cell, attributes);\n if ((!this.parent.enableVirtualization && (this.parent.isEdit && (!this.parent.editSettings.showAddNewRow ||\n (this.parent.editSettings.showAddNewRow && (!this.parent.element.querySelector('.e-editedrow')))))) || isVirtualEdit) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([].slice.call(node.getElementsByClassName('e-edit-delete')), 'e-hide');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([].slice.call(node.getElementsByClassName('e-save-cancel')), 'e-hide');\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([].slice.call(node.getElementsByClassName('e-save-cancel')), 'e-hide');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([].slice.call(node.getElementsByClassName('e-edit-delete')), 'e-hide');\n }\n if (this.parent.isFrozenGrid()) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addStickyColumnPosition)(this.parent, cell.column, node);\n }\n return node;\n };\n CommandColumnRenderer.prototype.renderButton = function (node, buttonOption, index, uid) {\n var button = this.buttonElement.cloneNode();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(button, {\n 'id': this.parent.element.id + (buttonOption.type || '') + '_' + index + '_' + uid, 'type': 'button',\n title: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(buttonOption.title) ? buttonOption.title :\n buttonOption.buttonOption.content || this.localizer.getConstant(buttonOption.type) || buttonOption.type,\n 'data-uid': uid\n });\n button.onclick = buttonOption.buttonOption.click;\n buttonOption.buttonOption.cssClass = this.parent.cssClass ?\n buttonOption.buttonOption.cssClass + ' ' + this.parent.cssClass : buttonOption.buttonOption.cssClass;\n var buttonObj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.Button(buttonOption.buttonOption, button);\n this.childRefs.push(buttonObj);\n buttonObj.commandType = buttonOption.type;\n node.firstElementChild.appendChild(buttonObj.element);\n switch (buttonOption.type) {\n case 'Edit':\n case 'Delete':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], ['e-edit-delete', 'e-' + buttonOption.type.toLowerCase() + 'button']);\n break;\n case 'Cancel':\n case 'Save':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], ['e-save-cancel', 'e-' + buttonOption.type.toLowerCase() + 'button']);\n break;\n }\n return node;\n };\n return CommandColumnRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_4__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentRender: () => (/* binding */ ContentRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _row_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _cell_merge_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cell-merge-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-merge-renderer.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _services_group_model_generator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/group-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n// eslint-disable-next-line valid-jsdoc, jsdoc/require-param, jsdoc/require-returns\n/**\n * Content module is used to render grid content\n *\n * @hidden\n */\nvar ContentRender = /** @class */ (function () {\n /**\n * Constructor for content renderer module\n *\n * @param {IGrid} parent - specifies the Igrid\n * @param {ServiceLocator} serviceLocator - specifies the service locator\n */\n function ContentRender(parent, serviceLocator) {\n var _this = this;\n this.rows = [];\n this.freezeRows = [];\n this.movableRows = [];\n this.freezeRowElements = [];\n /** @hidden */\n this.currentInfo = {};\n /** @hidden */\n this.prevCurrentView = [];\n this.isLoaded = true;\n this.drop = function (e) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnDrop, { target: e.target, droppedElement: e.droppedElement });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.droppedElement);\n };\n /** @hidden */\n this.infiniteCache = {};\n /** @hidden */\n this.visibleRows = [];\n this.visibleFrozenRows = [];\n this.rightFreezeRows = [];\n this.isAddRows = false;\n this.isInfiniteFreeze = false;\n this.useGroupCache = false;\n /** @hidden */\n this.tempFreezeRows = [];\n this.rafCallback = function (args) {\n var arg = args;\n return function () {\n _this.ariaService.setBusy(_this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content), false);\n if (_this.parent.isDestroyed) {\n return;\n }\n var rows = _this.rows.slice(0);\n if (_this.parent.enableInfiniteScrolling) {\n if (_this.parent.groupSettings.enableLazyLoading) {\n for (var i = 0; i < _this.visibleRows.length; i++) {\n _this.setRowsInLazyGroup(_this.visibleRows[parseInt(i.toString(), 10)], i);\n }\n }\n rows = _this.parent.getRowsObject();\n var prevPage = arg.prevPage;\n if (_this.parent.infiniteScrollSettings.enableCache && prevPage) {\n var maxBlock = _this.parent.infiniteScrollSettings.maxBlocks;\n rows = [];\n var rowIdx = (parseInt(_this.rowElements[0].getAttribute('aria-rowindex'), 10));\n var startIdx = Math.ceil(rowIdx / _this.parent.pageSettings.pageSize);\n for (var i = 0, count = startIdx; i < maxBlock; i++, count++) {\n if (_this.infiniteCache[parseInt(count.toString(), 10)]) {\n rows = rows.concat(_this.infiniteCache[parseInt(count.toString(), 10)]);\n }\n }\n }\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.contentReady, { rows: rows, args: arg });\n if (_this.parent.editSettings.showAddNewRow && _this.parent.addNewRowFocus) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.showAddNewRowFocus, {});\n _this.parent.addNewRowFocus = false;\n }\n if (_this.parent.autoFit) {\n _this.parent.preventAdjustColumns();\n }\n if (!_this.parent.isInitialLoad) {\n _this.parent.focusModule.setFirstFocusableTabIndex();\n }\n if (_this.isLoaded) {\n _this.parent.isManualRefresh = false;\n if (_this.parent.enableInfiniteScrolling && _this.parent.groupSettings.enableLazyLoading && args.requestType === 'sorting') {\n _this.parent.infiniteScrollModule['groupCaptionAction'] = undefined;\n }\n var isReactChild = _this.parent.parentDetails && _this.parent.parentDetails.parentInstObj &&\n _this.parent.parentDetails.parentInstObj.isReact;\n if ((_this.parent.isReact || isReactChild) && _this.parent.element.querySelectorAll('.e-templatecell').length) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef_1 = _this;\n thisRef_1.parent.renderTemplates(function () {\n thisRef_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataBound, {}, function () {\n if (thisRef_1.parent.allowTextWrap) {\n thisRef_1.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.freezeRender, { case: 'textwrap' });\n }\n });\n });\n }\n else {\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataBound, {}, function () {\n if (_this.parent.allowTextWrap) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.freezeRender, { case: 'textwrap' });\n }\n });\n }\n if (_this.parent.allowTextWrap && _this.parent.height === 'auto') {\n if (_this.parent.getContentTable().scrollHeight > _this.parent.getContent().clientHeight) {\n _this.parent.scrollModule.setPadding();\n }\n else {\n _this.parent.scrollModule.removePadding();\n }\n }\n }\n if (arg) {\n var action = (arg.requestType || '').toLowerCase() + '-complete';\n _this.parent.notify(action, arg);\n if (args.requestType === 'batchsave') {\n args.cancel = false;\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete, args);\n }\n }\n if (_this.isLoaded) {\n _this.parent.hideSpinner();\n }\n };\n };\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.widthService = serviceLocator.getService('widthService');\n this.ariaService = this.serviceLocator.getService('ariaService');\n this.parent.enableDeepCompare = this.parent.getDataModule().isRemote();\n this.generator = this.getModelGenerator();\n if (this.parent.isDestroyed) {\n return;\n }\n if (!this.parent.enableColumnVirtualization && !this.parent.enableVirtualization\n && !this.parent.groupSettings.enableLazyLoading) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnVisibilityChanged, this.setVisible, this);\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.colGroupRefresh, this.colGroupRefresh, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.uiUpdate, this.enableAfterRender, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshInfiniteModeBlocks, this.refreshContentRows, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeCellFocused, this.beforeCellFocused, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.droppableDestroy, this);\n }\n ContentRender.prototype.beforeCellFocused = function (e) {\n if (e.byKey && (e.keyArgs.action === 'upArrow' || e.keyArgs.action === 'downArrow')) {\n this.pressedKey = e.keyArgs.action;\n }\n else {\n this.pressedKey = undefined;\n }\n };\n /**\n * The function is used to render grid content div\n *\n * @returns {void}\n */\n ContentRender.prototype.renderPanel = function () {\n var gObj = this.parent;\n var div = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent);\n if (div) {\n this.ariaService.setOptions(this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content), { busy: false });\n this.setPanel(div);\n return;\n }\n div = this.parent.createElement('div', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent });\n var innerDiv = this.parent.createElement('div', {\n className: _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content\n });\n this.ariaService.setOptions(innerDiv, { busy: false });\n if (this.parent.enableColumnVirtualization && this.parent.isFrozenGrid()) {\n this.renderHorizontalScrollbar(div);\n innerDiv.classList.add('e-virtual-content');\n }\n div.appendChild(innerDiv);\n this.setPanel(div);\n gObj.element.appendChild(div);\n };\n ContentRender.prototype.renderHorizontalScrollbar = function (element) {\n var parent = this.parent.createElement('div', { className: 'e-movablescrollbar' });\n var child = this.parent.createElement('div', { className: 'e-movablechild' });\n var scrollbarHeight = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getScrollBarWidth)().toString();\n this.setScrollbarHeight(child, scrollbarHeight);\n this.setScrollbarHeight(parent, scrollbarHeight);\n parent.appendChild(child);\n element.appendChild(parent);\n };\n ContentRender.prototype.setScrollbarHeight = function (ele, height) {\n ele.style.minHeight = height + 'px';\n ele.style.maxHeight = height + 'px';\n };\n /**\n * The function is used to render grid content table\n *\n * @returns {void}\n */\n ContentRender.prototype.renderTable = function () {\n var contentDiv = this.getPanel();\n var virtualTable = contentDiv.querySelector('.e-virtualtable');\n var virtualTrack = contentDiv.querySelector('.e-virtualtrack');\n if (this.parent.enableVirtualization && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(virtualTable) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(virtualTrack)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(virtualTable);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(virtualTrack);\n }\n contentDiv.appendChild(this.createContentTable('_content_table'));\n this.setTable(contentDiv.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.table));\n if (this.parent.selectionSettings.type === 'Multiple') {\n this.ariaService.setOptions(this.parent.element, {\n multiselectable: true\n });\n }\n this.initializeContentDrop();\n if (this.parent.frozenRows) {\n this.parent.getHeaderContent().classList.add('e-frozenhdr');\n }\n };\n /**\n * The function is used to create content table elements\n *\n * @param {string} id - specifies the id\n * @returns {Element} returns the element\n * @hidden\n */\n ContentRender.prototype.createContentTable = function (id) {\n var innerDiv = this.getPanel().firstElementChild;\n if (this.getTable()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.getTable());\n }\n var table = innerDiv.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.table) ? innerDiv.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.table) :\n this.parent.createElement('table', {\n className: _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.table, attrs: {\n role: 'presentation',\n id: this.parent.element.id + id\n }\n });\n table.style.cssText = 'border-collapse: separate; border-spacing: .25px;';\n this.setColGroup(this.parent.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.colGroup).cloneNode(true));\n table.appendChild(this.getColGroup());\n table.appendChild(this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } }));\n innerDiv.appendChild(table);\n return innerDiv;\n };\n /**\n * Refresh the content of the Grid.\n *\n * @param {NotifyArgs} args - specifies the args\n * @returns {void}\n */\n // tslint:disable-next-line:max-func-body-length\n ContentRender.prototype.refreshContentRows = function (args) {\n var _this = this;\n if (args === void 0) { args = {}; }\n var gObj = this.parent;\n if (gObj.currentViewData.length === 0) {\n return;\n }\n if (gObj.editSettings && gObj.editModule && gObj.editSettings.mode === 'Batch' && gObj.editModule.formObj\n && gObj.editSettings.showConfirmDialog === false) {\n gObj.editModule.destroyForm();\n }\n var dataSource = this.currentMovableRows || gObj.currentViewData;\n var isReact = gObj.isReact && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.rowTemplate);\n var isReactPrintGrid = this.parent.printGridParent && this.parent.printGridParent.isReact;\n var frag = isReact || isReactPrintGrid ? gObj.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } }) : document.createDocumentFragment();\n if (!this.initialPageRecords) {\n this.initialPageRecords = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)([], dataSource);\n }\n var hdrfrag = isReact ? gObj.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } }) : document.createDocumentFragment();\n var refFrag;\n var refHdrfrag;\n if ((gObj.isReact || isReactPrintGrid) && gObj.rowTemplate) {\n refFrag = frag;\n refHdrfrag = hdrfrag;\n }\n var columns = gObj.getColumns();\n var tr;\n var hdrTbody;\n var trElement;\n var row = new _row_renderer__WEBPACK_IMPORTED_MODULE_4__.RowRenderer(this.serviceLocator, null, this.parent);\n var isInfiniteScroll = this.parent.enableInfiniteScrolling\n && args.requestType === 'infiniteScroll';\n var isColumnVirtualInfiniteProcess = this.isInfiniteColumnvirtualization() && args.requestType !== 'virtualscroll';\n var infiniteDetail = gObj.enableInfiniteScrolling && (gObj.childGrid || gObj.detailTemplate) ? true : false;\n var infiniteDetailModified = infiniteDetail && ((args.action === 'add' && args.requestType === 'save')\n || args.requestType === 'delete');\n if (infiniteDetailModified) {\n args.startIndex = 0;\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.detachDetailTemplate, {});\n }\n if (!(isInfiniteScroll && (gObj.childGrid || gObj.detailTemplate) && !gObj.infiniteScrollSettings.enableCache)) {\n if (infiniteDetail) {\n this.parent.infiniteScrollModule.infiniteDetailDestroy = true;\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroyChildGrid, isInfiniteScroll && (gObj.childGrid || gObj.detailTemplate)\n && gObj.infiniteScrollSettings.enableCache ? args : {});\n }\n this.rowElements = [];\n this.rows = [];\n this.tempFreezeRows = [];\n var tbdy;\n var tableName;\n var isGroupFrozenHdr = this.parent.frozenRows && this.parent.groupSettings.columns.length ? true : false;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(gObj)) {\n if (['sorting', 'filtering', 'searching', 'grouping', 'ungrouping', 'reorder', 'save', 'delete']\n .some(function (value) { return args.requestType === value; })) {\n this.emptyVcRows();\n }\n }\n var modelData;\n modelData = this.checkCache(modelData, args);\n if (!this.isAddRows && !this.useGroupCache) {\n modelData = this.generator.generateRows(dataSource, args);\n }\n this.setGroupCache(modelData, args);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.setInfiniteCache, { isInfiniteScroll: isInfiniteScroll, modelData: modelData, args: args });\n var isFrozenLeft = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var registeredTemplates = this.parent.registeredTemplate;\n if (!(args.requestType === 'infiniteScroll' && !this.parent.infiniteScrollSettings.enableCache) && registeredTemplates\n && registeredTemplates.template && !args.isFrozen && !isFrozenLeft) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var templatetoclear = [];\n for (var i = 0; i < registeredTemplates.template.length; i++) {\n for (var j = 0; j < registeredTemplates.template[parseInt(i.toString(), 10)].rootNodes.length; j++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(registeredTemplates.template[parseInt(i.toString(), 10)]\n .rootNodes[parseInt(j.toString(), 10)].parentNode)) {\n templatetoclear.push(registeredTemplates.template[parseInt(i.toString(), 10)]);\n }\n }\n }\n this.parent.destroyTemplate(['template'], templatetoclear);\n }\n if ((this.parent.isReact || this.parent.isVue) && !(args.requestType === 'infiniteScroll' && !this.parent.infiniteScrollSettings.enableCache) && !args.isFrozen) {\n var templates = [\n this.parent.isVue ? 'template' : 'columnTemplate', 'rowTemplate', 'detailTemplate',\n 'captionTemplate', 'commandsTemplate', 'groupFooterTemplate', 'groupCaptionTemplate'\n ];\n if (args.requestType === 'infiniteScroll' && this.parent.infiniteScrollSettings.enableCache) {\n templates = [\n this.parent.isVue ? 'template' : 'columnTemplate', 'commandsTemplate'\n ];\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.clearReactVueTemplates)(this.parent, templates);\n }\n if (this.parent.enableColumnVirtualization) {\n var cellMerge = new _cell_merge_renderer__WEBPACK_IMPORTED_MODULE_5__.CellMergeRender(this.serviceLocator, this.parent);\n cellMerge.updateVirtualCells(modelData);\n }\n this.tbody = this.getTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n var startIndex = 0;\n var blockLoad = true;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(gObj) && gObj.vcRows.length) {\n var top_1 = 'top';\n var scrollTop = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.virtualInfo.offsets) ? args.virtualInfo.offsets.top :\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.scrollTop) ? args.scrollTop[\"\" + top_1] : 0);\n if (scrollTop !== 0) {\n var offsets_1 = gObj.vGroupOffsets;\n var bSize = gObj.pageSettings.pageSize / 2;\n var values = Object.keys(offsets_1).map(function (key) { return offsets_1[\"\" + key]; });\n for (var m = 0; m < values.length; m++) {\n if (scrollTop < values[parseInt(m.toString(), 10)]) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.virtualInfo) && args.virtualInfo.direction === 'up') {\n startIndex = m > 0 ? ((m - 1) * bSize) : (m * bSize);\n break;\n }\n else {\n startIndex = m * bSize;\n if (this.parent.contentModule.isEndBlock(m) || this.parent.contentModule.isEndBlock(m + 1)) {\n args.virtualInfo.blockIndexes = [m, m + 1];\n }\n break;\n }\n }\n }\n if (Math.round(scrollTop + this.contentPanel.firstElementChild.offsetHeight) >=\n this.contentPanel.firstElementChild.scrollHeight && !args.rowObject) {\n blockLoad = false;\n }\n }\n }\n var isVFFrozenOnly = gObj.frozenRows && this.parent.enableVirtualization\n && args.requestType === 'reorder';\n if ((gObj.frozenRows && args.requestType === 'virtualscroll' && args.virtualInfo.sentinelInfo.axis === 'X') || isVFFrozenOnly) {\n var bIndex = args.virtualInfo.blockIndexes;\n var page = args.virtualInfo.page;\n args.virtualInfo.blockIndexes = [1, 2];\n if (isVFFrozenOnly) {\n args.virtualInfo.page = 1;\n }\n var data = isVFFrozenOnly ? this.initialPageRecords : dataSource;\n var mhdrData = this.vgenerator\n .generateRows(data, args);\n mhdrData.splice(this.parent.frozenRows);\n for (var i = 0; i < this.parent.frozenRows; i++) {\n // mhdrData[parseInt(i.toString(), 10)].cells.splice(0, this.parent.getFrozenColumns());\n tr = row.render(mhdrData[parseInt(i.toString(), 10)], columns);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.addFixedColumnBorder)(tr);\n hdrfrag.appendChild(tr);\n }\n args.virtualInfo.blockIndexes = bIndex;\n args.virtualInfo.page = page;\n if (isVFFrozenOnly && args.virtualInfo.page === 1) {\n modelData.splice(0, this.parent.frozenRows);\n }\n }\n this.virtualFrozenHdrRefresh(hdrfrag, modelData, row, args, dataSource, columns);\n if (this.parent.groupSettings.enableLazyLoading && !this.useGroupCache && this.parent.groupSettings.columns.length) {\n (this.parent.enableVirtualization ? this.parent.lazyLoadRender :\n this.parent.contentModule).refRowsObj[this.parent.pageSettings.currentPage] = [];\n }\n if ((this.parent.enableInfiniteScrolling && this.parent.groupSettings.enableLazyLoading && args.requestType === 'delete')\n || infiniteDetailModified) { // || (this.parent.infiniteScrollSettings && this.parent.infiniteScrollSettings.enableCache))\n this.visibleRows = [];\n }\n var _loop_1 = function (i, len) {\n this_1.rows.push(modelData[parseInt(i.toString(), 10)]);\n if (this_1.parent.groupSettings.enableLazyLoading && !this_1.useGroupCache && this_1.parent.groupSettings.columns.length) {\n (this_1.parent.enableVirtualization ? this_1.parent.lazyLoadRender :\n this_1.parent.contentModule).refRowsObj[this_1.parent.pageSettings.currentPage].push(modelData[parseInt(i.toString(), 10)]);\n this_1.setRowsInLazyGroup(modelData[parseInt(i.toString(), 10)], i);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(modelData[parseInt(i.toString(), 10)].indent)) {\n return \"continue\";\n }\n }\n this_1.setInfiniteVisibleRows(args, modelData[parseInt(i.toString(), 10)]);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(gObj) && args.virtualInfo && args.virtualInfo.blockIndexes\n && (this_1.rowElements.length >= (args.virtualInfo.blockIndexes.length * this_1.parent.contentModule.getBlockSize()))\n && blockLoad) {\n this_1.parent.currentViewData['records'] = this_1.rows.map(function (m) { return m.data; });\n return \"break\";\n }\n if (!gObj.rowTemplate) {\n tr = row.render(modelData[parseInt(i.toString(), 10)], columns);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.addFixedColumnBorder)(tr);\n var isVFreorder = this_1.ensureFrozenHeaderRender(args);\n if (gObj.frozenRows && (i < gObj.frozenRows || isGroupFrozenHdr) && !isInfiniteScroll && args.requestType !== 'virtualscroll' && isVFreorder\n && this_1.ensureVirtualFrozenHeaderRender(args)) {\n hdrfrag.appendChild(tr);\n }\n else {\n frag.appendChild(tr);\n }\n var rowIdx = parseInt(tr.getAttribute('aria-rowindex'), 10) - 1;\n if (rowIdx + 1 === gObj.frozenRows) {\n isGroupFrozenHdr = false;\n }\n if (modelData[parseInt(i.toString(), 10)].isExpand) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.expandChildGrid, tr.cells[gObj.groupSettings.columns.length]);\n }\n }\n else {\n var rowTemplateID = gObj.element.id + 'rowTemplate';\n var elements = void 0;\n if (gObj.isReact || isReactPrintGrid) {\n var isHeader = gObj.frozenRows && i < gObj.frozenRows;\n var copied = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ index: i }, dataSource[parseInt(i.toString(), 10)]);\n gObj.getRowTemplate()(copied, gObj, 'rowTemplate', rowTemplateID, null, null, isHeader ? hdrfrag : frag);\n if (gObj.requireTemplateRef) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef_2 = this_1;\n thisRef_2.parent.renderTemplates(function () {\n if (gObj.frozenRows && i < gObj.frozenRows) {\n tr = refHdrfrag.childNodes[parseInt(i.toString(), 10)];\n }\n else {\n trElement = refFrag.childNodes[parseInt(i.toString(), 10)];\n }\n var arg = { data: modelData[parseInt(i.toString(), 10)].data,\n row: trElement ? trElement : tr };\n thisRef_2.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowDataBound, arg);\n if (modelData[parseInt(i.toString(), 10)].isDataRow || (thisRef_2.parent.enableVirtualization &&\n thisRef_2.parent.groupSettings.enableLazyLoading)) {\n thisRef_2.rowElements.push(arg.row);\n }\n thisRef_2.ariaService.setOptions(thisRef_2.parent.element, {\n colcount: gObj.getColumns().length.toString()\n });\n if (i === modelData.length - 1) {\n refFrag = null;\n refHdrfrag = null;\n }\n });\n return \"continue\";\n }\n }\n else {\n elements = gObj.getRowTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ index: i }, dataSource[parseInt(i.toString(), 10)]), gObj, 'rowTemplate', rowTemplateID, undefined, undefined, undefined, this_1.parent['root']);\n }\n if (!gObj.isReact && elements[0].tagName === 'TBODY') {\n for (var j = 0; j < elements.length; j++) {\n var isTR = elements[parseInt(j.toString(), 10)].nodeName.toLowerCase() === 'tr';\n if (isTR || (elements[parseInt(j.toString(), 10)].querySelectorAll && elements[parseInt(j.toString(), 10)].querySelectorAll('tr').length)) {\n tr = isTR ? elements[parseInt(j.toString(), 10)] : elements[parseInt(j.toString(), 10)].querySelector('tr');\n }\n }\n if (gObj.frozenRows && i < gObj.frozenRows) {\n hdrfrag.appendChild(tr);\n }\n else {\n frag.appendChild(tr);\n }\n }\n else {\n if (gObj.frozenRows && i < gObj.frozenRows) {\n tr = !gObj.isReact ? (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(hdrfrag, elements) : hdrfrag.lastElementChild;\n }\n else {\n // frag.appendChild(tr);\n if (!gObj.isReact) {\n tr = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(frag, elements);\n }\n trElement = gObj.isReact ? frag.lastElementChild : tr.lastElementChild;\n }\n }\n var arg = { data: modelData[parseInt(i.toString(), 10)].data, row: trElement ? trElement : tr };\n this_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowDataBound, arg);\n }\n if (modelData[parseInt(i.toString(), 10)].isDataRow || (this_1.parent.enableVirtualization &&\n this_1.parent.groupSettings.enableLazyLoading)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.rowTemplate) && (gObj.isAngular || gObj.isVue3 || gObj.isVue)) {\n this_1.rowElements.push(trElement ? trElement : tr);\n }\n else {\n this_1.rowElements.push(tr);\n }\n }\n this_1.ariaService.setOptions(this_1.parent.element, { colcount: gObj.getColumns().length.toString() });\n };\n var this_1 = this;\n for (var i = startIndex, len = modelData.length; i < len; i++) {\n var state_1 = _loop_1(i, len);\n if (state_1 === \"break\")\n break;\n }\n var isReactChild = gObj.parentDetails && gObj.parentDetails.parentInstObj && gObj.parentDetails.parentInstObj.isReact;\n if ((gObj.isReact || isReactChild) && !gObj.requireTemplateRef) {\n gObj.renderTemplates();\n }\n if (this.parent.enableInfiniteScrolling && this.parent.groupSettings.enableLazyLoading) {\n this.parent.contentModule.refRowsObj[this.parent.pageSettings.currentPage] =\n this.parent.contentModule['groupCache'][this.parent.pageSettings.currentPage];\n }\n if (this.parent.groupSettings.enableLazyLoading && !this.useGroupCache && this.parent.groupSettings.columns.length) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshExpandandCollapse, {\n rows: (this.parent.enableVirtualization ? this.parent.lazyLoadRender :\n this.parent.contentModule).refRowsObj[this.parent.pageSettings.currentPage]\n });\n }\n gObj.removeMaskRow();\n this.parent.notify('removeGanttShimmer', { requestType: 'hideShimmer' });\n if ((gObj.frozenRows && args.requestType !== 'virtualscroll' && !isInfiniteScroll && this.ensureVirtualFrozenHeaderRender(args))\n || (args.requestType === 'virtualscroll' && args.virtualInfo.sentinelInfo && args.virtualInfo.sentinelInfo.axis === 'X')) {\n hdrTbody = gObj.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody);\n if (isReact) {\n var parentTable = hdrTbody.parentElement;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(hdrTbody);\n parentTable.appendChild(hdrfrag);\n }\n else {\n hdrTbody.innerHTML = '';\n hdrTbody.appendChild(hdrfrag);\n }\n if (!gObj.isInitialLoad) {\n gObj.scrollModule.setHeight();\n }\n }\n // if (!gObj.enableVirtualization && hdrTbody && gObj.frozenRows && idx === 0 && cont.offsetHeight === Number(gObj.height)) {\n // cont.style.height = (cont.offsetHeight - hdrTbody.offsetHeight) + 'px';\n // }\n args.rows = this.rows.slice(0);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getUpdateUsingRaf)(function () {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeFragAppend, args);\n if (!_this.parent.enableVirtualization && (!_this.parent.enableColumnVirtualization || isColumnVirtualInfiniteProcess)\n && !isInfiniteScroll) {\n if (!gObj.isReact) {\n _this.tbody.innerHTML = '';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.tbody.parentElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(_this.tbody);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody));\n }\n _this.tbody = _this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } });\n }\n if (gObj.rowTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(gObj.element.id + 'rowTemplate', 'RowTemplate', gObj);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.infiniteScrollModule) && ((_this.parent.enableInfiniteScrolling\n && !_this.isInfiniteColumnvirtualization()) || isColumnVirtualInfiniteProcess)) {\n _this.isAddRows = false;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.removeInfiniteRows, { args: args });\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.appendInfiniteContent, {\n tbody: tbdy ? tbdy : _this.tbody, frag: frag, args: args, rows: _this.rows,\n rowElements: _this.rowElements, visibleRows: _this.visibleRows,\n tableName: tableName\n });\n if (_this.isInfiniteColumnvirtualization() && _this.parent.isFrozenGrid()) {\n var virtualTable = _this.parent.getContent().querySelector('.e-virtualtable');\n var transform = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getTransformValues)(virtualTable);\n _this.parent.contentModule.resetStickyLeftPos(transform.width);\n _this.widthService.refreshFrozenScrollbar();\n }\n }\n else {\n _this.useGroupCache = false;\n _this.appendContent(_this.tbody, frag, args);\n }\n if (_this.parent.editSettings.showAddNewRow && (_this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling)) {\n var newRow = _this.parent.element.querySelector('.e-addrow-removed');\n if (newRow) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(newRow);\n }\n }\n var startAdd = !_this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.addedRow);\n if (_this.parent.editSettings.showAddNewRow && _this.parent.editSettings.mode === 'Normal') {\n if (startAdd) {\n if (_this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling) {\n _this.parent.isAddNewRow = true;\n }\n _this.parent.isEdit = false;\n _this.parent.addRecord();\n }\n if (startAdd || ((_this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling) &&\n ['sorting', 'filtering', 'searching', 'grouping', 'ungrouping', 'reorder']\n .some(function (value) { return args.requestType === value; }))) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.showAddNewRowFocus, {});\n }\n }\n if (_this.parent.getVisibleFrozenRightCount() && _this.parent.getContent() && (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getScrollWidth)(_this.parent) > 0) {\n _this.parent.element.classList.add('e-right-shadow');\n }\n frag = null;\n }, this.rafCallback((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, args)));\n };\n ContentRender.prototype.isInfiniteColumnvirtualization = function () {\n return this.parent.enableColumnVirtualization && this.parent.enableInfiniteScrolling;\n };\n ContentRender.prototype.enableCacheOnInfiniteColumnVirtual = function () {\n return this.isInfiniteColumnvirtualization() && this.parent.infiniteScrollSettings.enableCache;\n };\n ContentRender.prototype.emptyVcRows = function () {\n this.parent.vcRows = [];\n this.parent.vRows = [];\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ContentRender.prototype.appendContent = function (tbody, frag, args, tableName) {\n var isReact = this.parent.isReact && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.rowTemplate);\n if (isReact) {\n this.getTable().appendChild(frag);\n }\n else {\n tbody.appendChild(frag);\n this.getTable().appendChild(tbody);\n }\n if (this.parent.rowRenderingMode === 'Vertical' && this.parent.allowTextWrap && (this.parent.textWrapSettings.wrapMode === 'Header'\n || this.parent.textWrapSettings.wrapMode === 'Both')) {\n var cells = tbody.querySelectorAll('td');\n for (var i = 0; i < cells.length; i++) {\n var headerCellHeight = parseFloat(document.defaultView.getComputedStyle(cells[parseInt(i.toString(), 10)], '::before').getPropertyValue('height'));\n var cellHeight = cells[parseInt(i.toString(), 10)].offsetHeight;\n if (headerCellHeight > cellHeight) {\n cells[parseInt(i.toString(), 10)].style.height = headerCellHeight + 'px';\n cells[parseInt(i.toString(), 10)].style.boxSizing = 'content-box';\n }\n }\n }\n if (this.parent.getVisibleFrozenLeftCount() && this.parent.enableColumnVirtualization) {\n this.widthService.refreshFrozenScrollbar();\n }\n };\n ContentRender.prototype.setRowsInLazyGroup = function (row, index) {\n if (this.parent.groupSettings.enableLazyLoading && !this.useGroupCache && this.parent.groupSettings.columns.length) {\n (this.parent.enableVirtualization ? this.parent.lazyLoadRender :\n this.parent.contentModule).maintainRows(row, index);\n }\n };\n ContentRender.prototype.setGroupCache = function (data, args) {\n if (!this.useGroupCache && this.parent.groupSettings.enableLazyLoading) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.setGroupCache, { args: args, data: data });\n }\n };\n ContentRender.prototype.ensureFrozenHeaderRender = function (args) {\n return !((this.parent.enableVirtualization\n && (args.requestType === 'reorder' || args.requestType === 'refresh')) || (this.parent.infiniteScrollSettings.enableCache\n && this.parent.frozenRows && this.parent.infiniteScrollModule.requestType === 'delete'\n && this.parent.pageSettings.currentPage !== 1));\n };\n ContentRender.prototype.ensureVirtualFrozenHeaderRender = function (args) {\n return !(this.parent.enableVirtualization && args.requestType === 'delete');\n };\n ContentRender.prototype.checkCache = function (modelData, args) {\n if (this.parent.infiniteScrollSettings.enableCache && args.requestType === 'infiniteScroll') {\n this.isAddRows = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.infiniteCache[this.parent.pageSettings.currentPage]);\n if (this.isAddRows) {\n var data = this.infiniteCache[this.parent.pageSettings.currentPage];\n modelData = this.parent.pageSettings.currentPage === 1 ? data.slice(this.parent.frozenRows) : data;\n }\n return modelData;\n }\n if (this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length && (args.requestType === 'paging'\n || args.requestType === 'columnstate' || args.requestType === 'reorder' || args.requestType === 'virtualscroll')\n && (this.parent.enableVirtualization ? this.parent.lazyLoadRender :\n this.parent.contentModule).getGroupCache()[this.parent.pageSettings.currentPage]) {\n if (!this.parent.enableVirtualization) {\n this.useGroupCache = true;\n }\n return this.parent.enableVirtualization ? this.parent.getRowsObject() :\n this.parent.contentModule.initialGroupRows(args.requestType === 'reorder');\n }\n return null;\n };\n ContentRender.prototype.setInfiniteVisibleRows = function (args, data) {\n if (this.parent.enableInfiniteScrolling && !this.parent.infiniteScrollSettings.enableCache\n && !(this.isInfiniteColumnvirtualization() && args.requestType === 'virtualscroll')) {\n this.visibleRows.push(data);\n }\n };\n ContentRender.prototype.getCurrentBlockInfiniteRecords = function () {\n var data = [];\n if (this.parent.infiniteScrollSettings.enableCache) {\n if (!Object.keys(this.infiniteCache).length) {\n return [];\n }\n var rows = this.parent.getRows();\n var index = parseInt(rows[this.parent.frozenRows].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n var first = Math.ceil((index + 1) / this.parent.pageSettings.pageSize);\n index = parseInt(rows[rows.length - 1].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n var last = Math.ceil((index + (rows.length ? 1 : 0)) / this.parent.pageSettings.pageSize);\n for (var i = first; i <= last; i++) {\n data = !data.length ? this.infiniteCache[parseInt(i.toString(), 10)]\n : data.concat(this.infiniteCache[parseInt(i.toString(), 10)]);\n }\n if (this.parent.frozenRows && this.parent.pageSettings.currentPage > 1) {\n data = this.infiniteCache[1].slice(0, this.parent.frozenRows).concat(data);\n }\n }\n return data;\n };\n ContentRender.prototype.getReorderedRows = function (args) {\n return this.parent.contentModule.getReorderedFrozenRows(args);\n };\n ContentRender.prototype.virtualFrozenHdrRefresh = function (hdrfrag, modelData, row, args, dataSource, columns) {\n if (this.parent.frozenRows && this.parent.enableVirtualization\n && (args.requestType === 'reorder' || args.requestType === 'refresh')) {\n var tr = void 0;\n var fhdrData = this.getReorderedRows(args);\n for (var i = 0; i < fhdrData.length; i++) {\n tr = row.render(fhdrData[parseInt(i.toString(), 10)], columns);\n hdrfrag.appendChild(tr);\n }\n if (args.virtualInfo.page === 1) {\n modelData.splice(0, this.parent.frozenRows);\n }\n }\n };\n ContentRender.prototype.getInfiniteRows = function () {\n var rows = [];\n if (this.parent.enableInfiniteScrolling) {\n if (this.parent.infiniteScrollSettings.enableCache) {\n var keys = Object.keys(this.infiniteCache);\n for (var i = 0; i < keys.length; i++) {\n rows = rows.concat(this.infiniteCache[keys[parseInt(i.toString(), 10)]]);\n }\n }\n else {\n rows = this.visibleRows;\n }\n }\n return rows;\n };\n ContentRender.prototype.getInfiniteMovableRows = function () {\n var infiniteCacheRows = this.getCurrentBlockInfiniteRecords();\n var infiniteRows = this.parent.enableInfiniteScrolling ? infiniteCacheRows.length ? infiniteCacheRows\n : this.visibleRows : [];\n return infiniteRows;\n };\n /**\n * Get the content div element of grid\n *\n * @returns {Element} returns the element\n */\n ContentRender.prototype.getPanel = function () {\n return this.contentPanel;\n };\n /**\n * Set the content div element of grid\n *\n * @param {Element} panel - specifies the panel\n * @returns {void}\n */\n ContentRender.prototype.setPanel = function (panel) {\n this.contentPanel = panel;\n };\n /**\n * Get the content table element of grid\n *\n * @returns {Element} returns the element\n */\n ContentRender.prototype.getTable = function () {\n return this.contentTable;\n };\n /**\n * Set the content table element of grid\n *\n * @param {Element} table - specifies the table\n * @returns {void}\n */\n ContentRender.prototype.setTable = function (table) {\n this.contentTable = table;\n };\n /**\n * Get the Movable Row collection in the Freeze pane Grid.\n *\n * @returns {Row[] | HTMLCollectionOf} returns the row\n */\n ContentRender.prototype.getRows = function () {\n var infiniteRows = this.getInfiniteRows();\n return infiniteRows.length ? infiniteRows : this.rows;\n };\n /**\n * Get the content table data row elements\n *\n * @returns {Element} returns the element\n */\n ContentRender.prototype.getRowElements = function () {\n return this.rowElements;\n };\n /**\n * Get the content table data row elements\n *\n * @param {Element[]} elements - specifies the elements\n * @returns {void}\n */\n ContentRender.prototype.setRowElements = function (elements) {\n this.rowElements = elements;\n };\n /**\n * Get the header colgroup element\n *\n * @returns {Element} returns the element\n */\n ContentRender.prototype.getColGroup = function () {\n return this.colgroup;\n };\n /**\n * Set the header colgroup element\n *\n * @param {Element} colGroup - specifies the colgroup\n * @returns {Element} returns the element\n */\n ContentRender.prototype.setColGroup = function (colGroup) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(colGroup)) {\n colGroup.id = 'content-' + colGroup.id;\n }\n return this.colgroup = colGroup;\n };\n /**\n * Function to hide content table column based on visible property\n *\n * @param {Column[]} columns - specifies the column\n * @returns {void}\n */\n ContentRender.prototype.setVisible = function (columns) {\n var gObj = this.parent;\n var rows = this.getRows();\n var testRow;\n rows.some(function (r) { if (r.isDataRow) {\n testRow = r;\n } return r.isDataRow; });\n var needFullRefresh = true;\n if (!gObj.groupSettings.columns.length && testRow) {\n needFullRefresh = false;\n }\n var tr = gObj.getDataRows();\n var args = {};\n var infiniteData = this.infiniteRowVisibility();\n var contentrows = infiniteData ? infiniteData\n : this.rows.filter(function (row) { return !row.isDetailRow; });\n for (var c = 0, clen = columns.length; c < clen; c++) {\n var column = columns[parseInt(c.toString(), 10)];\n var idx = this.parent.getNormalizedColumnIndex(column.uid);\n var colIdx = this.parent.getColumnIndexByUid(column.uid);\n var displayVal = column.visible === true ? '' : 'none';\n if (idx !== -1 && testRow && idx < testRow.cells.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.getColGroup().childNodes[parseInt(idx.toString(), 10)], { 'display': displayVal });\n }\n if (!needFullRefresh) {\n this.setDisplayNone(tr, colIdx, displayVal, contentrows);\n }\n if (!this.parent.invokedFromMedia && column.hideAtMedia) {\n this.parent.updateMediaColumns(column);\n }\n this.parent.invokedFromMedia = false;\n }\n if (needFullRefresh) {\n this.refreshContentRows({ requestType: 'refresh' });\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.partialRefresh, { rows: contentrows, args: args });\n if (this.parent.editSettings.showAddNewRow && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.showAddNewRowFocus, {});\n }\n }\n };\n /**\n * @param {Object} tr - specifies the trr\n * @param {number} idx - specifies the idx\n * @param {string} displayVal - specifies the displayval\n * @param {Row} rows - specifies the rows\n * @returns {void}\n * @hidden\n */\n ContentRender.prototype.setDisplayNone = function (tr, idx, displayVal, rows) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setDisplayValue)(tr, idx, displayVal, rows, this.parent, this.parent.isRowDragable());\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.infiniteShowHide, { visible: displayVal, index: idx, isFreeze: this.isInfiniteFreeze });\n };\n ContentRender.prototype.infiniteRowVisibility = function (isFreeze) {\n var infiniteData;\n if (this.parent.enableInfiniteScrolling) {\n this.isInfiniteFreeze = isFreeze;\n if (this.parent.infiniteScrollSettings.enableCache) {\n infiniteData = this.getCurrentBlockInfiniteRecords();\n }\n else {\n infiniteData = isFreeze ? this.visibleFrozenRows : this.visibleRows;\n }\n }\n return infiniteData;\n };\n ContentRender.prototype.colGroupRefresh = function () {\n if (this.getColGroup()) {\n var colGroup = this.getHeaderColGroup();\n this.getTable().replaceChild(colGroup, this.getColGroup());\n this.setColGroup(colGroup);\n }\n };\n ContentRender.prototype.getHeaderColGroup = function () {\n return this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader)\n .querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.colGroup + ':not(.e-masked-colgroup)').cloneNode(true);\n };\n ContentRender.prototype.initializeContentDrop = function () {\n var gObj = this.parent;\n this.droppable = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Droppable(gObj.element, {\n accept: '.e-dragclone',\n drop: this.drop\n });\n };\n ContentRender.prototype.droppableDestroy = function () {\n if (this.droppable && !this.droppable.isDestroyed) {\n this.droppable.destroy();\n }\n };\n ContentRender.prototype.canSkip = function (column, row, index) {\n /**\n * Skip the toggle visiblity operation when one of the following success\n * 1. Grid has empty records\n * 2. column visible property is unchanged\n * 3. cell`s isVisible property is same as column`s visible property.\n */\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row) || //(1)\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.visible) || //(2)\n row.cells[parseInt(index.toString(), 10)].visible === column.visible; //(3)\n };\n ContentRender.prototype.getModelGenerator = function () {\n return this.generator = this.parent.allowGrouping ? new _services_group_model_generator__WEBPACK_IMPORTED_MODULE_6__.GroupModelGenerator(this.parent) : new _services_row_model_generator__WEBPACK_IMPORTED_MODULE_7__.RowModelGenerator(this.parent);\n };\n ContentRender.prototype.renderEmpty = function (tbody) {\n this.getTable().appendChild(tbody);\n if (this.parent.frozenRows) {\n this.parent.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody).innerHTML = '';\n }\n };\n ContentRender.prototype.setSelection = function (uid, set, clearAll) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.setFreezeSelection, { uid: uid, set: set, clearAll: clearAll });\n var row = this.getRows().filter(function (row) { return clearAll || uid === row.uid; });\n for (var j = 0; j < row.length; j++) {\n row[parseInt(j.toString(), 10)].isSelected = set;\n var cells = row[parseInt(j.toString(), 10)].cells;\n for (var k = 0; k < cells.length; k++) {\n cells[parseInt(k.toString(), 10)].isSelected = set;\n }\n }\n };\n ContentRender.prototype.getRowByIndex = function (index) {\n index = this.getInfiniteRowIndex(index);\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? this.parent.getDataRows()[parseInt(index.toString(), 10)] : undefined;\n };\n ContentRender.prototype.getInfiniteRowIndex = function (index) {\n if (this.parent.infiniteScrollSettings.enableCache && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index)) {\n var fRows = this.parent.frozenRows;\n var idx = fRows > index ? 0 : fRows;\n var firstRowIndex = parseInt(this.parent.getRows()[parseInt(idx.toString(), 10)]\n .getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n index = fRows > index ? index : (index - firstRowIndex) + fRows;\n }\n return index;\n };\n ContentRender.prototype.getVirtualRowIndex = function (index) {\n return index;\n };\n ContentRender.prototype.enableAfterRender = function (e) {\n if (e.module === 'group' && e.enable) {\n this.generator = this.getModelGenerator();\n }\n };\n ContentRender.prototype.setRowObjects = function (rows) {\n this.rows = rows;\n };\n /**\n * @param {NotifyArgs} args - specifies the args\n * @returns {void}\n * @hidden\n */\n ContentRender.prototype.immutableModeRendering = function (args) {\n var _this = this;\n if (args === void 0) { args = {}; }\n var gObj = this.parent;\n gObj.hideSpinner();\n var key = gObj.getPrimaryKeyFieldNames()[0];\n var oldKeys = {};\n var newKeys = {};\n var newRowObjs = [];\n var oldIndexes = {};\n var oldRowObjs = gObj.getRowsObject().slice();\n var batchChangeKeys = this.getBatchEditedRecords(key, oldRowObjs);\n var newIndexes = {};\n var hasBatch = Object.keys(batchChangeKeys).length !== 0;\n if (gObj.getContent().querySelector('.e-emptyrow') || args.requestType === 'reorder'\n || this.parent.groupSettings.columns.length) {\n this.refreshContentRows(args);\n }\n else {\n if (gObj.currentViewData.length === 0) {\n return;\n }\n var oldRowElements = {};\n var tbody = gObj.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody, { attrs: { role: 'rowgroup' } });\n var dataSource = gObj.currentViewData;\n var trs = [].slice.call(this.getTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody).children);\n if (this.prevCurrentView.length) {\n var prevLen = this.prevCurrentView.length;\n var currentLen = dataSource.length;\n if (prevLen === currentLen) {\n for (var i = 0; i < currentLen; i++) {\n if (this.parent.editSettings.mode === 'Batch'\n && trs[parseInt(i.toString(), 10)].classList.contains('e-insertedrow')) {\n trs.splice(i, 1);\n --i;\n continue;\n }\n newKeys[dataSource[parseInt(i.toString(), 10)][\"\" + key]] = oldKeys[this.prevCurrentView[parseInt(i.toString(), 10)][\"\" + key]] = i;\n newIndexes[parseInt(i.toString(), 10)] = dataSource[parseInt(i.toString(), 10)][\"\" + key];\n oldRowElements[oldRowObjs[parseInt(i.toString(), 10)].uid] = trs[parseInt(i.toString(), 10)];\n oldIndexes[parseInt(i.toString(), 10)] = this.prevCurrentView[parseInt(i.toString(), 10)][\"\" + key];\n }\n }\n else {\n for (var i = 0; i < currentLen; i++) {\n newKeys[dataSource[parseInt(i.toString(), 10)][\"\" + key]] = i;\n newIndexes[parseInt(i.toString(), 10)] = dataSource[parseInt(i.toString(), 10)][\"\" + key];\n }\n for (var i = 0; i < prevLen; i++) {\n if (this.parent.editSettings.mode === 'Batch'\n && trs[parseInt(i.toString(), 10)].classList.contains('e-insertedrow')) {\n trs.splice(i, 1);\n --i;\n continue;\n }\n oldRowElements[oldRowObjs[parseInt(i.toString(), 10)].uid] = trs[parseInt(i.toString(), 10)];\n oldKeys[this.prevCurrentView[parseInt(i.toString(), 10)][\"\" + key]] = i;\n oldIndexes[parseInt(i.toString(), 10)] = this.prevCurrentView[parseInt(i.toString(), 10)][\"\" + key];\n }\n }\n }\n for (var i = 0; i < dataSource.length; i++) {\n var oldIndex = oldKeys[dataSource[parseInt(i.toString(), 10)][\"\" + key]];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldIndex)) {\n var isEqual = false;\n if (this.parent.enableDeepCompare) {\n isEqual = this.objectEqualityChecker(this.prevCurrentView[parseInt(oldIndex.toString(), 10)], dataSource[parseInt(i.toString(), 10)]);\n }\n var tr = oldRowElements[oldRowObjs[parseInt(oldIndex.toString(), 10)]\n .uid];\n newRowObjs.push(oldRowObjs[parseInt(oldIndex.toString(), 10)]);\n if (this.rowElements[parseInt(oldIndex.toString(), 10)] && this.rowElements[parseInt(oldIndex.toString(), 10)].getAttribute('data-uid') === newRowObjs[parseInt(i.toString(), 10)].uid\n && ((hasBatch && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(batchChangeKeys[newIndexes[parseInt(i.toString(), 10)]]))\n || (!hasBatch && (isEqual\n || this.prevCurrentView[parseInt(oldIndex.toString(), 10)] === dataSource[parseInt(i.toString(), 10)])))) {\n if (oldIndex !== i) {\n this.refreshImmutableContent(i, tr, newRowObjs[parseInt(i.toString(), 10)]);\n }\n tbody.appendChild(tr);\n continue;\n }\n if ((hasBatch && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(batchChangeKeys[newIndexes[parseInt(i.toString(), 10)]]))\n || (!this.parent.enableDeepCompare\n && dataSource[parseInt(i.toString(), 10)] !== this.prevCurrentView[parseInt(oldIndex.toString(), 10)])\n || (this.parent.enableDeepCompare && !isEqual)) {\n oldRowObjs[parseInt(oldIndex.toString(), 10)].setRowValue(dataSource[parseInt(i.toString(), 10)]);\n }\n tbody.appendChild(tr);\n this.refreshImmutableContent(i, tr, newRowObjs[parseInt(i.toString(), 10)]);\n }\n else {\n var row = new _row_renderer__WEBPACK_IMPORTED_MODULE_4__.RowRenderer(this.serviceLocator, null, gObj);\n var args_1 = { startIndex: i };\n var modelData = this.generator.generateRows([dataSource[parseInt(i.toString(), 10)]], args_1);\n newRowObjs.push(modelData[0]);\n var tr = row.render(modelData[0], gObj.getColumns());\n tbody.appendChild(tr);\n this.refreshImmutableContent(i, tr, newRowObjs[parseInt(i.toString(), 10)]);\n }\n }\n this.rows = newRowObjs;\n this.rowElements = [].slice.call(tbody.children);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.getTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.tbody));\n this.getTable().appendChild(tbody);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataBound, {}, function () {\n if (_this.parent.allowTextWrap) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.freezeRender, { case: 'textwrap' });\n }\n });\n if (args) {\n var action = (args.requestType || '').toLowerCase() + '-complete';\n this.parent.notify(action, args);\n }\n }\n };\n ContentRender.prototype.objectEqualityChecker = function (old, next) {\n var keys = Object.keys(old);\n var isEqual = true;\n for (var i = 0; i < keys.length; i++) {\n if (old[keys[parseInt(i.toString(), 10)]] !== next[keys[parseInt(i.toString(), 10)]]) {\n var isDate = old[keys[parseInt(i.toString(), 10)]] instanceof Date\n && next[keys[parseInt(i.toString(), 10)]] instanceof Date;\n if (!isDate || (old[keys[parseInt(i.toString(), 10)]]\n .getTime() !== next[keys[parseInt(i.toString(), 10)]].getTime())) {\n isEqual = false;\n break;\n }\n }\n }\n return isEqual;\n };\n ContentRender.prototype.getBatchEditedRecords = function (primaryKey, rows) {\n var keys = {};\n var changes = this.parent.getBatchChanges();\n var changedRecords = [];\n var addedRecords = [];\n if (Object.keys(changes).length) {\n changedRecords = changes.changedRecords;\n addedRecords = changes.addedRecords;\n }\n var args = { cancel: false };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.immutableBatchCancel, { rows: rows, args: args });\n if (addedRecords.length) {\n if (this.parent.editSettings.newRowPosition === 'Bottom') {\n rows.splice(rows.length - 1, addedRecords.length);\n }\n else {\n if (!args.cancel) {\n rows.splice(0, addedRecords.length);\n }\n }\n }\n for (var i = 0; i < changedRecords.length; i++) {\n keys[changedRecords[parseInt(i.toString(), 10)][\"\" + primaryKey]] = i;\n }\n return keys;\n };\n ContentRender.prototype.refreshImmutableContent = function (index, tr, row) {\n row.isAltRow = this.parent.enableAltRow ? index % 2 !== 0 : false;\n if (row.isAltRow) {\n tr.classList.add('e-altrow');\n }\n else {\n tr.classList.remove('e-altrow');\n }\n row.index = index;\n row.edit = undefined;\n row.isDirty = false;\n tr.setAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex, (index + 1).toString());\n this.updateCellIndex(tr, index);\n };\n ContentRender.prototype.updateCellIndex = function (rowEle, index) {\n for (var i = 0; i < rowEle.cells.length; i++) {\n rowEle.cells[parseInt(i.toString(), 10)].setAttribute('index', index.toString());\n }\n };\n return ContentRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/date-filter-ui.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/date-filter-ui.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DateFilterUI: () => (/* binding */ DateFilterUI)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n/**\n * `datefilterui` render date column.\n *\n * @hidden\n */\nvar DateFilterUI = /** @class */ (function () {\n function DateFilterUI(parent, serviceLocator, filterSettings) {\n this.dpOpen = this.openPopup.bind(this);\n this.parent = parent;\n this.locator = serviceLocator;\n this.fltrSettings = filterSettings;\n if (this.parent) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.filterMenuClose, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy, this);\n }\n }\n DateFilterUI.prototype.create = function (args) {\n var format = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getCustomDateFormat)(args.column.format, args.column.type);\n this.dialogObj = args.dialogObj;\n this.inputElem = this.parent.createElement('input', { className: 'e-flmenu-input', id: 'dateui-' + args.column.uid });\n args.target.appendChild(this.inputElem);\n if (args.column.type === 'date' || args.column.type === 'dateonly') {\n this.datePickerObj = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_3__.DatePicker((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n format: format,\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n placeholder: args.localizeText.getConstant('ChooseDate'),\n width: '100%',\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n }\n else if (args.column.type === 'datetime') {\n this.datePickerObj = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_4__.DateTimePicker((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n format: format,\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n placeholder: args.localizeText.getConstant('ChooseDate'),\n width: '100%',\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n }\n this.datePickerObj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.open, this.dpOpen);\n this.datePickerObj.appendTo(this.inputElem);\n };\n DateFilterUI.prototype.write = function (args) {\n var dateuiObj = document.querySelector('#dateui-' + args.column.uid).ej2_instances[0];\n dateuiObj.value = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.filteredValue) ? new Date(args.filteredValue) : null;\n };\n DateFilterUI.prototype.read = function (element, column, filterOptr, filterObj) {\n var dateuiObj = document.querySelector('#dateui-' + column.uid).ej2_instances[0];\n var filterValue = dateuiObj.value;\n filterValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterValue) ? null : filterValue;\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', true);\n };\n DateFilterUI.prototype.openPopup = function (args) {\n args.popup.element.style.zIndex = (this.dialogObj.zIndex + 1).toString();\n };\n DateFilterUI.prototype.destroy = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.filterMenuClose, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.datePickerObj) || this.datePickerObj.isDestroyed) {\n return;\n }\n this.datePickerObj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.open, this.dpOpen);\n this.datePickerObj.destroy();\n };\n return DateFilterUI;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/date-filter-ui.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DatePickerEditCell: () => (/* binding */ DatePickerEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/maskbase/masked-date-time.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * `DatePickerEditCell` is used to handle datepicker cell type editing.\n *\n * @hidden\n */\nvar DatePickerEditCell = /** @class */ (function (_super) {\n __extends(DatePickerEditCell, _super);\n function DatePickerEditCell(parent) {\n var _this = _super.call(this, parent) || this;\n _this.isMaskModuleInjected = true;\n return _this;\n }\n DatePickerEditCell.prototype.write = function (args) {\n this.edit = this.parent.editModule;\n if (args.column.editType === 'datepickeredit') {\n this.obj = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_1__.DatePicker((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(dateanddatetimerender(args, this.parent.editSettings.mode, this.parent.enableRtl, this.parent.cssClass, this), args.column.edit.params));\n if (this.isMaskModuleInjected) {\n _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_1__.DatePicker.Inject(_syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_2__.MaskedDateTime);\n this.isMaskModuleInjected = false;\n }\n }\n if (args.column.editType === 'datetimepickeredit') {\n this.obj = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_3__.DateTimePicker((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(dateanddatetimerender(args, this.parent.editSettings.mode, this.parent.enableRtl, this.parent.cssClass, this), args.column.edit.params));\n }\n this.obj.appendTo(args.element);\n };\n return DatePickerEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_4__.EditCellBase));\n\n// eslint-disable-next-line\nfunction dateanddatetimerender(args, mode, rtl, css, datePickerEditCell) {\n var isInline = mode !== 'Dialog';\n var format = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getCustomDateFormat)(args.column.format, args.column.type);\n var value = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getObject)(args.column.field, args.rowData);\n value = value ? new Date(value) : null;\n return {\n floatLabelType: isInline ? 'Never' : 'Always',\n value: value,\n format: format,\n placeholder: isInline ?\n '' : args.column.headerText, enableRtl: rtl,\n enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.isEditable)(args.column, args.requestType, args.element) && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.isCellHaveWidth)((0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.element, 'e-rowcell')),\n cssClass: css ? css : null,\n close: datePickerClose.bind(datePickerEditCell)\n };\n}\n// eslint-disable-next-line\nfunction datePickerClose(args) {\n if (args.event && args.event.action === 'escape') {\n this.edit.editCellDialogClose = true;\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultEditCell: () => (/* binding */ DefaultEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/textbox/textbox.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * `DefaultEditCell` is used to handle default cell type editing.\n *\n * @hidden\n */\nvar DefaultEditCell = /** @class */ (function (_super) {\n __extends(DefaultEditCell, _super);\n function DefaultEditCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DefaultEditCell.prototype.create = function (args) {\n var attr = {\n type: 'text', value: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.value) ? args.value : ''\n };\n var inputElement = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.createEditElement)(this.parent, args.column, 'e-field e-input e-defaultcell', attr);\n if (args.column.textAlign) {\n inputElement.style.textAlign = args.column.textAlign;\n }\n return inputElement;\n };\n DefaultEditCell.prototype.read = function (element) {\n if (element.type === 'hidden' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.ej2_instances[0]) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.ej2_instances[0].textarea)) {\n return element.ej2_instances[0].value;\n }\n else {\n return element.value;\n }\n };\n DefaultEditCell.prototype.write = function (args) {\n var col = args.column;\n var isInline = this.parent.editSettings.mode !== 'Dialog';\n var props = {\n element: args.element, floatLabelType: this.parent.editSettings.mode !== 'Dialog' ? 'Never' : 'Always',\n enableRtl: this.parent.enableRtl, enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isEditable)(args.column, args.requestType, args.element) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isCellHaveWidth)((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(args.element, 'e-rowcell')),\n placeholder: isInline ? '' : args.column.headerText,\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.edit) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.edit.params) && col.edit.params.multiline) {\n var cellValue = (col.valueAccessor(col.field, args.rowData, col));\n props['value'] = cellValue;\n }\n this.obj = new _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.TextBox((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(props, col.edit.params));\n this.obj.appendTo(args.element);\n if (this.parent.editSettings.mode === 'Batch') {\n this.obj.element.addEventListener('keydown', this.keyEventHandler);\n }\n };\n DefaultEditCell.prototype.keyEventHandler = function (args) {\n if (args.key === 'Enter' || args.key === 'Tab') {\n var evt = new Event('change', { bubbles: false, cancelable: true });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.dispatchEvent(evt);\n }\n };\n DefaultEditCell.prototype.destroy = function () {\n if (this.obj && !this.obj.isDestroyed) {\n this.obj.element.removeEventListener('keydown', this.keyEventHandler);\n this.obj.destroy();\n this.obj.element.remove();\n }\n };\n return DefaultEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_3__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-expand-cell-renderer.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-expand-cell-renderer.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DetailExpandCellRenderer: () => (/* binding */ DetailExpandCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * ExpandCellRenderer class which responsible for building group expand cell.\n *\n * @hidden\n */\nvar DetailExpandCellRenderer = /** @class */ (function (_super) {\n __extends(DetailExpandCellRenderer, _super);\n function DetailExpandCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TD', {\n className: 'e-detailrowcollapse',\n attrs: { 'aria-expanded': 'false', tabindex: '-1' }\n });\n return _this;\n }\n /**\n * Function to render the detail expand cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @param {Object} attributes - specifies the attributes\n * @returns {Element} returns the element\n */\n DetailExpandCellRenderer.prototype.render = function (cell, data, attributes) {\n var node = this.element.cloneNode();\n if (attributes && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(attributes['class'])) {\n node.className = '';\n node.className = attributes['class'];\n node.appendChild(this.parent.createElement('a', { className: 'e-icons e-dtdiagonaldown e-icon-gdownarrow', attrs: {\n href: '#', 'title': this.localizer.getConstant('Expanded')\n } }));\n }\n else {\n node.appendChild(this.parent.createElement('a', { className: 'e-icons e-dtdiagonalright e-icon-grightarrow', attrs: {\n href: '#', 'title': this.localizer.getConstant('Collapsed')\n } }));\n }\n if (cell.isSelected) {\n node.classList.add('e-selectionbackground', 'e-active');\n }\n return node;\n };\n return DetailExpandCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_1__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-expand-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-header-indent-renderer.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-header-indent-renderer.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DetailHeaderIndentCellRenderer: () => (/* binding */ DetailHeaderIndentCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n/**\n * DetailHeaderIndentCellRenderer class which responsible for building detail header indent cell.\n *\n * @hidden\n */\nvar DetailHeaderIndentCellRenderer = /** @class */ (function (_super) {\n __extends(DetailHeaderIndentCellRenderer, _super);\n function DetailHeaderIndentCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TH', { className: 'e-detailheadercell' });\n return _this;\n }\n /**\n * Function to render the detail indent cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DetailHeaderIndentCellRenderer.prototype.render = function (cell, data) {\n var node = this.element.cloneNode();\n node.appendChild(this.parent.createElement('div', { className: 'e-emptycell' }));\n return node;\n };\n return DetailHeaderIndentCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_0__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-header-indent-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DialogEditRender: () => (/* binding */ DialogEditRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _responsive_dialog_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./responsive-dialog-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n/**\n * Edit render module is used to render grid edit row.\n *\n * @hidden\n */\nvar DialogEditRender = /** @class */ (function () {\n /**\n * Constructor for render module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n */\n function DialogEditRender(parent, serviceLocator) {\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dialogDestroy, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy, this);\n }\n DialogEditRender.prototype.setLocaleObj = function () {\n this.l10n = this.serviceLocator.getService('localization');\n };\n DialogEditRender.prototype.addNew = function (elements, args) {\n this.isEdit = false;\n this.createDialog(elements, args);\n };\n DialogEditRender.prototype.update = function (elements, args) {\n this.isEdit = true;\n this.createDialog(elements, args);\n };\n DialogEditRender.prototype.createDialogHeader = function (args) {\n var _this = this;\n var gObj = this.parent;\n var header;\n if (this.parent.enableAdaptiveUI) {\n var responsiveDlgRenderer = new _responsive_dialog_renderer__WEBPACK_IMPORTED_MODULE_2__.ResponsiveDialogRenderer(this.parent, this.serviceLocator);\n responsiveDlgRenderer.action = this.isEdit ? _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isEdit : _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isAdd;\n return responsiveDlgRenderer.renderResponsiveHeader(undefined, args);\n }\n else {\n if (gObj.editSettings.headerTemplate) {\n header = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.initializeCSPTemplate)(function () {\n return _this.getDialogEditTemplateElement('HeaderTemplate', args).outerHTML;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n });\n }\n else if (this.isEdit) {\n header = this.l10n.getConstant('EditFormTitle') + args.primaryKeyValue[0];\n }\n else {\n header = this.l10n.getConstant('AddFormTitle');\n }\n }\n return header;\n };\n DialogEditRender.prototype.createDialog = function (elements, args) {\n var _this = this;\n var gObj = this.parent;\n this.dialog = this.parent.createElement('div', { id: gObj.element.id + '_dialogEdit_wrapper' });\n this.dialog.style.width = 'auto';\n if (gObj.enableAdaptiveUI) {\n this.dialog.classList.add('e-responsive-dialog');\n }\n gObj.element.appendChild(this.dialog);\n this.setLocaleObj();\n this.dialog.setAttribute('aria-label', this.l10n.getConstant('DialogEdit'));\n // let position: PositionDataModel = this.parent.element.getBoundingClientRect().height < 400 ?\n // { X: 'center', Y: 'top' } : { X: 'center', Y: 'center' };\n this.dialogObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.Dialog((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n header: this.createDialogHeader(args), isModal: true, visible: true,\n cssClass: this.parent.cssClass ? 'e-edit-dialog' + ' ' + this.parent.cssClass : 'e-edit-dialog',\n content: this.getEditElement(elements, args),\n showCloseIcon: true,\n allowDragging: true,\n // position: position,\n close: this.dialogClose.bind(this),\n created: this.dialogCreated.bind(this),\n closeOnEscape: true, width: gObj.editSettings.template ? 'auto' : '330px',\n target: args.target ? args.target : document.body, animationSettings: { effect: 'None' },\n footerTemplate: gObj.editSettings.footerTemplate ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.initializeCSPTemplate)(function () {\n return _this.getDialogEditTemplateElement('FooterTemplate', args).outerHTML;\n }) : null,\n buttons: [{\n click: this.btnClick.bind(this),\n buttonModel: { content: this.l10n.getConstant('SaveButton'),\n cssClass: this.parent.cssClass ? 'e-primary' + ' ' + this.parent.cssClass : 'e-primary',\n isPrimary: true }\n },\n { click: this.btnClick.bind(this),\n buttonModel: {\n cssClass: this.parent.cssClass ? 'e-flat' + ' ' + this.parent.cssClass : 'e-flat',\n content: this.l10n.getConstant('CancelButton')\n } }]\n }, gObj.editSettings.dialog ? (gObj.editSettings.dialog.params || {}) : {}));\n args.dialog = this.dialogObj;\n var isStringTemplate = 'isStringTemplate';\n this.dialogObj[\"\" + isStringTemplate] = true;\n this.renderResponsiveDialog();\n this.dialogObj.appendTo(this.dialog);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.applyBiggerTheme)(this.parent.element, this.dialogObj.element.parentElement);\n if (gObj.enableAdaptiveUI) {\n this.dialogObj.show(true);\n }\n };\n DialogEditRender.prototype.dialogCreated = function () {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.addBiggerDialog)(this.parent);\n };\n DialogEditRender.prototype.renderResponsiveDialog = function () {\n var _this = this;\n if (this.parent.enableAdaptiveUI) {\n if (this.parent.adaptiveDlgTarget) {\n this.dialogObj.target = this.parent.adaptiveDlgTarget;\n }\n this.dialogObj.buttons = [{}];\n this.dialogObj.showCloseIcon = true;\n this.dialogObj.visible = false;\n this.dialogObj.width = '100%';\n this.dialogObj.open = function () {\n _this.dialogObj.element.style.maxHeight = '100%';\n };\n }\n };\n DialogEditRender.prototype.btnClick = function (e) {\n if (this.l10n.getConstant('CancelButton').toLowerCase() === e.target.innerText.trim().toLowerCase()) {\n this.dialogClose();\n }\n else {\n this.parent.endEdit();\n }\n };\n DialogEditRender.prototype.dialogClose = function () {\n this.parent.closeEdit();\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DialogEditRender.prototype.destroy = function (args) {\n var dialogEditTemplates = ['template', 'headerTemplate', 'footerTemplate'];\n for (var i = 0; i < dialogEditTemplates.length; i++) {\n if (this.parent.editSettings[dialogEditTemplates[parseInt(i.toString(), 10)]]) {\n var templateName = dialogEditTemplates[parseInt(i.toString(), 10)].charAt(0).toUpperCase()\n + dialogEditTemplates[parseInt(i.toString(), 10)].slice(1);\n var editTemplateID = this.parent.element.id + 'editSettings' + templateName;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(editTemplateID, templateName, this.parent.editSettings);\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroyForm, {});\n this.parent.isEdit = false;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.toolbarRefresh, {});\n if (this.dialog && !this.dialogObj.isDestroyed) {\n this.dialogObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.dialog);\n }\n };\n DialogEditRender.prototype.getDialogEditTemplateElement = function (dialogTemp, args) {\n var tempDiv = this.parent.createElement('div', { className: 'e-dialog' + dialogTemp });\n var dummyData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, args.rowData, { isAdd: !this.isEdit }, true);\n var templateID = this.parent.element.id + 'editSettings' + dialogTemp;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.appendChildren)(tempDiv, (dialogTemp === 'HeaderTemplate' ? this.parent.getEditHeaderTemplate() :\n this.parent.getEditFooterTemplate())(dummyData, this.parent, 'editSettings' + dialogTemp, templateID));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(templateID, dialogTemp, this.parent.editSettings);\n return tempDiv;\n };\n DialogEditRender.prototype.getEditElement = function (elements, args) {\n var _this = this;\n var gObj = this.parent;\n var div = this.parent.createElement('div', { className: this.isEdit ? _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.editedRow : 'e-insertedrow' });\n var form = args.form =\n this.parent.createElement('form', { id: gObj.element.id + 'EditForm', className: 'e-gridform' });\n if (this.parent.editSettings.template) {\n var editTemplateID = this.parent.element.id + 'editSettingsTemplate';\n var dummyData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, args.rowData, { isAdd: !this.isEdit }, true);\n var isReactCompiler = this.parent.isReact && typeof (this.parent.editSettings.template) !== 'string' &&\n !(this.parent.editSettings.template.prototype &&\n this.parent.editSettings.template.prototype.CSPTemplate);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if (isReactCompiler || isReactChild) {\n this.parent.getEditTemplate()(dummyData, this.parent, 'editSettingsTemplate', editTemplateID, null, null, form);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.appendChildren)(form, this.parent.getEditTemplate()(dummyData, this.parent, 'editSettingsTemplate', editTemplateID, null, null, null, gObj.root));\n }\n var setRules = function () {\n var columns = _this.parent.getColumns();\n for (var i = 0; i < columns.length; i++) {\n if (columns[parseInt(i.toString(), 10)].validationRules) {\n _this.parent.editModule.formObj.rules[columns[parseInt(i.toString(), 10)].field] =\n columns[parseInt(i.toString(), 10)].validationRules;\n }\n }\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.updateBlazorTemplate)(editTemplateID, 'Template', this.parent.editSettings, true, setRules);\n div.appendChild(form);\n return div;\n }\n var table = this.parent.createElement('table', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.table, attrs: { cellspacing: '6px', role: 'grid' } });\n var tbody = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.tbody, { attrs: { role: 'rowgroup' } });\n var cols = gObj.getColumns();\n for (var i = 0; i < cols.length; i++) {\n if (this.parent.editModule.checkColumnIsGrouped(cols[parseInt(i.toString(), 10)]) || cols[parseInt(i.toString(), 10)].commands\n || cols[parseInt(i.toString(), 10)].commandsTemplate || cols[parseInt(i.toString(), 10)].type === 'checkbox') {\n continue;\n }\n var tr = this.parent.createElement('tr', { attrs: { role: 'row' } });\n var dataCell = this.parent.createElement('td', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.rowCell });\n dataCell.style.cssText = \"text-align: \" + (this.parent.enableRtl ? 'right' : 'left') + \"; width: 190px;\";\n elements[cols[parseInt(i.toString(), 10)].uid].classList.remove('e-input');\n dataCell.appendChild(elements[cols[parseInt(i.toString(), 10)].uid]);\n tr.appendChild(dataCell);\n tbody.appendChild(tr);\n }\n table.appendChild(tbody);\n form.appendChild(table);\n div.appendChild(form);\n return div;\n };\n DialogEditRender.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dialogDestroy, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroy);\n };\n return DialogEditRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropDownEditCell: () => (/* binding */ DropDownEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n/**\n * `DropDownEditCell` is used to handle dropdown cell type editing.\n *\n * @hidden\n */\nvar DropDownEditCell = /** @class */ (function (_super) {\n __extends(DropDownEditCell, _super);\n function DropDownEditCell(parent) {\n var _this = \n //constructor\n _super.call(this) || this;\n _this.parent = parent;\n _this.flag = false;\n _this.removeEventHandler = _this.removeEventListener;\n return _this;\n }\n DropDownEditCell.prototype.write = function (args) {\n var isInline = this.parent.editSettings.mode !== 'Dialog';\n this.column = args.column;\n var pred = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Predicate(args.column.field, 'notequal', null, true, false);\n var params = {};\n if (args.column.edit.params) {\n var keys = Object.keys(args.column.edit.params);\n for (var i = 0; i < keys.length; i++) {\n params[keys[parseInt(i.toString(), 10)]] = keys[parseInt(i.toString(), 10)] === 'query' ?\n args.column.edit.params[keys[parseInt(i.toString(), 10)]].clone() :\n args.column.edit.params[keys[parseInt(i.toString(), 10)]];\n }\n }\n this.obj = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__.DropDownList((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager ?\n this.parent.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager(this.parent.dataSource),\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query().where(pred).select(args.column.field), enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isEditable)(args.column, args.requestType, args.element) && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.isCellHaveWidth)((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(args.element, 'e-rowcell')),\n fields: { value: args.column.field },\n value: (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getObject)(args.column.field, args.rowData),\n enableRtl: this.parent.enableRtl,\n placeholder: isInline ? '' : args.column.headerText, popupHeight: '200px',\n floatLabelType: isInline ? 'Never' : 'Always',\n sortOrder: 'Ascending',\n cssClass: this.parent.cssClass ? this.parent.cssClass : null,\n close: this.dropDownClose.bind(this)\n }, params));\n if (this.parent.enableVirtualization) {\n if (params.dataSource) {\n this.obj.dataSource = params.dataSource;\n }\n else {\n this.obj.dataSource = args.column.isForeignColumn() ? [args.foreignKeyData[0]] : [args.rowData];\n }\n }\n this.addEventListener();\n this.obj.query.params = this.parent.query.params;\n this.obj.appendTo(args.element);\n /* tslint:disable-next-line:no-any */\n args.element.setAttribute('name', (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getComplexFieldID)(args.column.field));\n };\n DropDownEditCell.prototype.dropDownClose = function (args) {\n if (args.event) {\n if (args.event.action === 'escape') {\n this.parent.editModule.editCellDialogClose = true;\n }\n else if (this.parent.isEdit && this.parent.editSettings.mode === 'Batch' && args.event.action === 'enter') {\n args.event.stopPropagation();\n }\n }\n };\n DropDownEditCell.prototype.addEventListener = function () {\n this.ddCreated = this.dropdownCreated.bind(this);\n this.ddOpen = this.dropDownOpen.bind(this);\n this.ddBeforeOpen = this.dropdownBeforeOpen.bind(this);\n this.ddComplete = this.ddActionComplete.bind(this);\n this.obj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.create, this.ddCreated);\n this.obj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.open, this.ddOpen);\n this.obj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.beforeOpen, this.ddBeforeOpen);\n this.obj.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_6__.actionComplete, this.ddComplete);\n };\n DropDownEditCell.prototype.removeEventListener = function () {\n if (this.obj.isDestroyed) {\n return;\n }\n this.obj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.create, this.ddCreated);\n this.obj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.open, this.ddOpen);\n this.obj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.beforeOpen, this.ddBeforeOpen);\n this.obj.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_6__.actionComplete, this.ddComplete);\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n DropDownEditCell.prototype.dropdownCreated = function (e) {\n this.flag = true;\n };\n DropDownEditCell.prototype.dropdownBeforeOpen = function () {\n if (this.parent.enableVirtualization) {\n if (this.column.edit.params && this.column.edit.params.dataSource) {\n this.obj.dataSource = this.column.edit.params.dataSource;\n }\n else {\n this.obj.dataSource = !this.column.isForeignColumn() ? (this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager ?\n this.parent.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager(this.parent.dataSource))\n : this.column.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager ?\n this.column.dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager(this.column.dataSource);\n }\n }\n };\n DropDownEditCell.prototype.ddActionComplete = function (e) {\n e.result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.DataUtil.distinct(e.result, this.obj.fields.value, true);\n if (this.flag && this.column.dataSource && !(this.column.edit.params &&\n this.column.edit.params.ddEditedData)) {\n if ('result' in this.column.dataSource) {\n this.column.dataSource.result = e.result;\n }\n else if (this.column.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_3__.DataManager) {\n this.column.dataSource.dataSource.json = e.result;\n }\n }\n this.flag = false;\n };\n DropDownEditCell.prototype.dropDownOpen = function (args) {\n var dlgElement = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.obj.element, 'e-dialog');\n if (this.parent.editSettings.mode === 'Dialog' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dlgElement)) {\n var dlgObj = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + dlgElement.id, document).ej2_instances[0];\n args.popup.element.style.zIndex = (dlgObj.zIndex + 1).toString();\n }\n };\n return DropDownEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_8__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditCellBase: () => (/* binding */ EditCellBase)\n/* harmony export */ });\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n/**\n * `DropDownEditCell` is used to handle dropdown cell type editing.\n *\n * @hidden\n */\nvar EditCellBase = /** @class */ (function () {\n function EditCellBase(parent) {\n this.parent = parent;\n }\n EditCellBase.prototype.create = function (args) {\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_0__.createEditElement)(this.parent, args.column, 'e-field', { type: 'text' });\n };\n EditCellBase.prototype.read = function (element) {\n return element.ej2_instances[0].value;\n };\n EditCellBase.prototype.destroy = function () {\n if (this.obj && !this.obj.isDestroyed) {\n if (this.removeEventHandler) {\n this.removeEventHandler();\n }\n this.obj.destroy();\n this.obj.element.remove();\n }\n };\n return EditCellBase;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditRender: () => (/* binding */ EditRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _inline_edit_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inline-edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.js\");\n/* harmony import */ var _batch_edit_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./batch-edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.js\");\n/* harmony import */ var _dialog_edit_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dialog-edit-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * Edit render module is used to render grid edit row.\n *\n * @hidden\n */\nvar EditRender = /** @class */ (function () {\n /**\n * Constructor for render module\n *\n * @param {IGrid} parent -specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n */\n function EditRender(parent, serviceLocator) {\n //Internal variables\n this.editType = {\n 'Inline': _inline_edit_renderer__WEBPACK_IMPORTED_MODULE_1__.InlineEditRender,\n 'Normal': _inline_edit_renderer__WEBPACK_IMPORTED_MODULE_1__.InlineEditRender, 'Batch': _batch_edit_renderer__WEBPACK_IMPORTED_MODULE_2__.BatchEditRender, 'Dialog': _dialog_edit_renderer__WEBPACK_IMPORTED_MODULE_3__.DialogEditRender\n };\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.renderer = new this.editType[this.parent.editSettings.mode](parent, serviceLocator);\n this.focus = serviceLocator.getService('focus');\n }\n EditRender.prototype.addNew = function (args) {\n this.renderer.addNew(this.getEditElements(args), args);\n this.convertWidget(args);\n };\n EditRender.prototype.update = function (args) {\n this.renderer.update(this.getEditElements(args), args);\n var isCustomFormValidation = args.isCustomFormValidation;\n if (!isCustomFormValidation) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.beforeStartEdit, args);\n this.convertWidget(args);\n }\n };\n EditRender.prototype.convertWidget = function (args) {\n var gObj = this.parent;\n var isFocused;\n var cell;\n var value;\n var form = gObj.editSettings.mode === 'Dialog' ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + gObj.element.id + '_dialogEdit_wrapper .e-gridform', document) : gObj.editSettings.showAddNewRow &&\n gObj.element.querySelector('.e-editedrow') ? gObj.element.querySelector('.e-editedrow').getElementsByClassName('e-gridform')[0]\n : gObj.element.getElementsByClassName('e-gridform')[0];\n var cols = gObj.editSettings.mode !== 'Batch' ? gObj.getColumns() : [gObj.getColumnByField(args.columnName)];\n for (var _i = 0, cols_1 = cols; _i < cols_1.length; _i++) {\n var col = cols_1[_i];\n if (this.parent.editSettings.template && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.field)) {\n var cellArgs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, args);\n cellArgs.element = form.querySelector('[name=' + (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getComplexFieldID)(col.field) + ']');\n if (typeof col.edit.write === 'string') {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getObject)(col.edit.write, window)(cellArgs);\n }\n else {\n col.edit.write(cellArgs);\n }\n continue;\n }\n if (this.parent.editModule.checkColumnIsGrouped(col) || col.commands) {\n continue;\n }\n // eslint-disable-next-line\n value = (col.valueAccessor(col.field, args.rowData, col));\n cell = form.querySelector('[e-mappinguid=' + col.uid + ']');\n var temp = col.edit.write;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell)) {\n if (typeof temp === 'string') {\n temp = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getObject)(temp, window);\n temp({\n rowData: args.rowData, element: cell, column: col, requestType: args.requestType, row: args.row,\n foreignKeyData: col.isForeignColumn() && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getObject)(col.field, args.foreignKeyData)\n });\n }\n else {\n col.edit.write({\n rowData: args.rowData, element: cell, column: col, requestType: args.requestType, row: args.row,\n foreignKeyData: col.isForeignColumn() && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getObject)(col.field, args.foreignKeyData)\n });\n }\n if (!isFocused && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.getAttribute('disabled')) && !(0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(cell, 'e-checkbox-disabled')) {\n this.focusElement(cell, args.type);\n isFocused = true;\n }\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n EditRender.prototype.focusElement = function (elem, type) {\n var chkBox = this.parent.element.querySelector('.e-edit-checkselect');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(chkBox) && chkBox.nextElementSibling) {\n chkBox.nextElementSibling.classList.add('e-focus');\n }\n if (this.parent.editSettings.mode === 'Batch') {\n this.focus.onClick({ target: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(elem, 'td') }, true);\n }\n else {\n var isFocus = (this.parent.enableVirtualization || this.parent.enableColumnVirtualization) && this.parent.editSettings.mode === 'Normal' ? false : true;\n var focusElement = elem.classList.contains('e-dropdownlist') ? elem.parentElement : elem;\n if ((isFocus || ((this.parent.enableVirtualization || this.parent.enableColumnVirtualization) && this.parent.editSettings.newRowPosition === 'Bottom'\n && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(elem, _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.addedRow))) && (!this.parent.editSettings.showAddNewRow ||\n (this.parent.editSettings.showAddNewRow && (!(0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(elem, _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.addedRow)) || this.parent.addNewRowFocus))) {\n focusElement.focus();\n if (this.parent.enableVirtualization && this.parent.contentModule &&\n this.parent.contentModule.content) {\n this.parent.contentModule.content.scrollTop += this.parent.getRowHeight();\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n focusElement.focus({ preventScroll: true });\n }\n }\n if (elem.classList.contains('e-defaultcell')) {\n elem.setSelectionRange(elem.value.length, elem.value.length);\n }\n };\n EditRender.prototype.getEditElements = function (args) {\n var gObj = this.parent;\n var elements = {};\n var cols = gObj.editSettings.mode !== 'Batch' ? gObj.getColumns() : [gObj.getColumnByField(args.columnName)];\n if (args.isCustomFormValidation) {\n cols = this.parent.columnModel;\n }\n if (this.parent.editSettings.template) {\n return {};\n }\n for (var i = 0, len = cols.length; i < len; i++) {\n var col = cols[parseInt(i.toString(), 10)];\n if (col.commands || col.commandsTemplate) {\n var cellRendererFact = this.serviceLocator.getService('cellRendererFactory');\n var model = new _services_row_model_generator__WEBPACK_IMPORTED_MODULE_7__.RowModelGenerator(this.parent);\n var cellRenderer = cellRendererFact.getCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_8__.CellType.CommandColumn);\n var cells = model.generateRows(args.rowData)[0].cells;\n var cell = cells.filter(function (cell) { return cell.rowID; });\n var td = cellRenderer.render(cell[parseInt(i.toString(), 10)], args.rowData, { 'index': args.row ? (parseInt(args.row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.ariaRowIndex), 10) - 1).toString() : 0 }, this.parent.enableVirtualization);\n var div = td.firstElementChild;\n div.setAttribute('textAlign', td.getAttribute('textAlign'));\n elements[col.uid] = div;\n continue;\n }\n if (col.type === 'dateonly' && args.rowData[col.field] instanceof Date) {\n var cellValue = args.rowData[col.field];\n args.rowData[col.field] = cellValue.getFullYear() + '-' + (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.padZero)(cellValue.getMonth() + 1) + '-' + (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.padZero)(cellValue.getDate());\n }\n var value = (col.valueAccessor(col.field, args.rowData, col));\n var tArgs = { column: col, value: value, type: args.requestType, data: args.rowData };\n var temp = col.edit.create;\n var input = void 0;\n if (col.editTemplate) {\n input = this.parent.createElement('span', { attrs: { 'e-mappinguid': col.uid } });\n var tempID = this.parent.element.id + col.uid + 'editTemplate';\n var tempData = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.extendObjWithFn)({}, args.rowData, { column: col });\n var isReactCompiler = this.parent.isReact && typeof (col.editTemplate) !== 'string' &&\n !(col.editTemplate.prototype && col.editTemplate.prototype.CSPTemplate);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if (isReactCompiler || isReactChild) {\n col.getEditTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ 'index': args.rowIndex }, tempData), this.parent, 'editTemplate', tempID, null, null, input);\n this.parent.renderTemplates();\n }\n else {\n var template = col.getEditTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ 'index': args.rowIndex }, tempData), this.parent, 'editTemplate', tempID, null, null, null, gObj.root);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.appendChildren)(input, template);\n }\n }\n else {\n if (typeof temp === 'string') {\n temp = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getObject)(temp, window);\n input = temp(tArgs);\n }\n else {\n input = col.edit.create(tArgs);\n }\n if (typeof input === 'string') {\n var div = this.parent.createElement('div');\n div.innerHTML = input;\n input = div.firstChild;\n }\n var isInput = input.tagName !== 'input' && input.querySelectorAll('input').length;\n var complexFieldName = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getComplexFieldID)(col.field);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(isInput ? input.querySelector('input') : input, {\n name: complexFieldName, 'e-mappinguid': col.uid,\n id: gObj.element.id + complexFieldName\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(input, ['e-input', 'e-field'], []);\n if (col.textAlign === 'Right') {\n input.classList.add('e-ralign');\n }\n if ((col.isPrimaryKey || col.isIdentity) && args.requestType === 'beginEdit' ||\n (col.isIdentity && args.requestType === 'add')) { // already disabled in cell plugins\n input.setAttribute('disabled', '');\n }\n }\n elements[col.uid] = input;\n }\n return elements;\n };\n EditRender.prototype.destroy = function () {\n this.renderer.removeEventListener();\n };\n return EditRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/expand-cell-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/expand-cell-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExpandCellRenderer: () => (/* binding */ ExpandCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _indent_cell_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./indent-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * ExpandCellRenderer class which responsible for building group expand cell.\n *\n * @hidden\n */\nvar ExpandCellRenderer = /** @class */ (function (_super) {\n __extends(ExpandCellRenderer, _super);\n function ExpandCellRenderer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Function to render the expand cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @param {string} data.field - Defines the field\n * @param {string} data.key - Defines the key\n * @param {Object} attr - specifies the attribute\n * @param {boolean} isExpand - specifies isexpand\n * @returns {Element} returns the element\n */\n ExpandCellRenderer.prototype.render = function (cell, data, attr, isExpand) {\n var node = this.element.cloneNode();\n node.setAttribute('ej-mappingname', data.field);\n node.setAttribute('ej-mappingvalue', data.key);\n node.setAttribute('aria-expanded', isExpand ? 'true' : 'false');\n node.setAttribute('tabindex', '-1');\n if (this.parent.infiniteScrollSettings && this.parent.infiniteScrollSettings.enableCache &&\n !this.parent.groupSettings.enableLazyLoading) {\n cell.cellType = _base_enum__WEBPACK_IMPORTED_MODULE_0__.CellType.Indent;\n node.className = isExpand ? 'e-recordplusexpand e-disablepointer' : 'e-recordpluscollapse e-disablepointer';\n }\n else {\n node.className = isExpand ? 'e-recordplusexpand' : 'e-recordpluscollapse';\n node.appendChild(this.parent.createElement('a', {\n className: isExpand ? 'e-icons e-gdiagonaldown e-icon-gdownarrow' : 'e-icons e-gnextforward e-icon-grightarrow',\n attrs: { href: '#', 'title': isExpand ? this.localizer.getConstant('Expanded') : this.localizer.getConstant('Collapsed') }\n }));\n }\n return node;\n };\n return ExpandCellRenderer;\n}(_indent_cell_renderer__WEBPACK_IMPORTED_MODULE_1__.IndentCellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/expand-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterCellRenderer: () => (/* binding */ FilterCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * FilterCellRenderer class which responsible for building filter cell.\n *\n * @hidden\n */\nvar FilterCellRenderer = /** @class */ (function (_super) {\n __extends(FilterCellRenderer, _super);\n function FilterCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TH', { className: 'e-filterbarcell', attrs: { role: 'columnheader' } });\n return _this;\n }\n /**\n * Function to return the wrapper for the TH content.\n *\n * @returns {string} returns the gui\n */\n FilterCellRenderer.prototype.getGui = function () {\n return this.parent.createElement('div');\n };\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {Cell} cell\n * @param {Object} data\n */\n /* tslint:disable-next-line:max-func-body-length */\n FilterCellRenderer.prototype.render = function (cell, data) {\n var tr = this.parent.element.querySelector('.e-filterbar');\n var node = this.element.cloneNode();\n var innerDIV = this.getGui();\n var input;\n var column = cell.column;\n tr.appendChild(node);\n node.setAttribute('e-mappinguid', column.uid);\n if (column.filterTemplate) {\n var fltrData = {};\n if (data) {\n fltrData[column.field] = data[column.field];\n }\n var col = 'column';\n fltrData[\"\" + col] = column;\n if (column.visible) {\n if (this.parent.filterSettings.type === 'FilterBar') {\n node.classList.add('e-fltrtemp');\n }\n var isReactCompiler = this.parent.isReact && typeof (column.filterTemplate) !== 'string' &&\n !(column.filterTemplate.prototype && column.filterTemplate.prototype.CSPTemplate);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var tempID = this.parent.element.id + column.uid + 'filterTemplate';\n if (isReactCompiler || isReactChild) {\n column.getFilterTemplate()(fltrData, this.parent, 'filterTemplate', tempID, null, null, node);\n this.parent.renderTemplates();\n }\n else {\n var element = column.getFilterTemplate()(fltrData, this.parent, 'filterTemplate', tempID, null, null, null, this.parent.root);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.appendChildren)(node, element);\n }\n }\n else {\n node.classList.add('e-hide');\n }\n }\n else {\n if (column.type !== 'checkbox') {\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.allowFiltering) || column.allowFiltering) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterBarTemplate)) {\n node.classList.add('e-fltrtemp');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(innerDIV, {\n 'class': 'e-fltrtempdiv'\n });\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterBarTemplate.create)) {\n input = this.parent.createElement('input', {\n id: column.field + '_filterBarcell', className: 'e-filterUi_input e-filtertext e-fltrTemp',\n attrs: { type: 'search', title: column.headerText }\n });\n innerDIV.appendChild(input);\n }\n else {\n var args = { column: column, node: Element };\n var temp = column.filterBarTemplate.create;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n input = temp(args);\n if (typeof input === 'string') {\n var div = this.parent.createElement('div');\n div.innerHTML = input;\n input = div.firstChild;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(innerDIV, {\n class: 'e-filterUi_input e-filtertext e-fltrTemp',\n title: column.headerText,\n id: column.field + '_filterBarcell'\n });\n innerDIV.appendChild(input);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(innerDIV, {\n 'class': 'e-filterdiv e-fltrinputdiv'\n });\n input = this.parent.createElement('input', {\n id: column.field + '_filterBarcell', className: 'e-filtertext',\n attrs: {\n type: 'search', title: column.headerText + cell.attributes.title,\n value: data[cell.column.field] ? data[cell.column.field] : ''\n }\n });\n innerDIV.appendChild(input);\n var args = {\n element: input, floatLabelType: 'Never',\n properties: {\n enableRtl: this.parent.enableRtl, showClearButton: true, cssClass: this.parent.cssClass\n }\n };\n this.parent.filterModule.inputList.push(args);\n _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.Input.createInput(args, this.parent.createElement);\n }\n //TODO: apply intial filtering\n if (column.allowFiltering === false || column.field === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.field)) {\n input.setAttribute('disabled', 'true');\n input.classList.add('e-disable');\n }\n var clearIconElem = innerDIV.querySelector('.e-clear-icon');\n if (clearIconElem) {\n clearIconElem.setAttribute('title', this.parent.localeObj.getConstant('ClearButton'));\n }\n if (!column.visible) {\n node.classList.add('e-hide');\n }\n this.appendHtml(node, innerDIV);\n // render's the dropdownlist component if showFilterBarOperator sets to true\n if (this.parent.filterSettings.showFilterBarOperator && this.parent.filterSettings.type === 'FilterBar' &&\n !this.parent.isPrinting && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterTemplate) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterBarTemplate)) {\n this.operatorIconRender(innerDIV, column, cell);\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.allowFiltering) || column.allowFiltering) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterBarTemplate)) {\n var templateWrite = column.filterBarTemplate.write;\n var args = { element: input, column: column };\n if (typeof templateWrite === 'string') {\n templateWrite = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(templateWrite, window);\n }\n templateWrite.call(this, args);\n }\n }\n else {\n if (!column.visible) {\n node.classList.add('e-hide');\n }\n }\n }\n if (this.parent.isFrozenGrid()) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addStickyColumnPosition)(this.parent, column, node);\n }\n return node;\n };\n /**\n * Function to specifies how the result content to be placed in the cell.\n *\n * @param {Element} node - specifies the node\n * @param {string|Element} innerHtml - specifies the innerHTML\n * @returns {Element} retruns the element\n */\n FilterCellRenderer.prototype.appendHtml = function (node, innerHtml) {\n node.appendChild(innerHtml);\n return node;\n };\n FilterCellRenderer.prototype.operatorIconRender = function (innerDIV, column, cell) {\n var gObj = this.parent;\n var operators;\n var fbicon = this.parent.createElement('input', {\n className: ' e-filterbaroperator e-icons e-icon-filter',\n id: cell.column.uid\n });\n innerDIV.querySelector('span').appendChild(fbicon);\n if (column.filter && column.filter.operator) {\n operators = column.filter.operator;\n }\n else if (gObj.filterSettings.columns.length) {\n for (var i = 0, a = gObj.filterSettings.columns; i < a.length; i++) {\n var col = a[parseInt(i.toString(), 10)];\n if (col.field === column.field) {\n operators = col.operator;\n break;\n }\n else {\n operators = 'equal';\n }\n }\n }\n else {\n operators = 'equal';\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.filterModule.operators[column.field])) {\n operators = gObj.filterModule.operators[column.field];\n }\n this.dropOptr = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_3__.DropDownList({\n fields: { text: 'text', value: 'value' },\n popupHeight: 'auto',\n value: operators,\n width: '0px',\n enabled: column.allowFiltering,\n popupWidth: 'auto',\n enableRtl: this.parent.enableRtl,\n change: this.internalEvent.bind(this),\n beforeOpen: function () {\n var operator = gObj.filterModule.customOperators;\n this.dataSource = operator[gObj.getColumnByUid(this.element.id).type + 'Operator'];\n for (var i = 0; i < this.dataSource.length; i++) {\n if (column.filter && column.filter.operator && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.filterModule.operators[column.field]) &&\n this.dataSource[parseInt(i.toString(), 10)].value === column.filter.operator) {\n this.value = column.filter.operator;\n }\n }\n },\n cssClass: this.parent.cssClass ? 'e-popup-flbar' + ' ' + this.parent.cssClass : 'e-popup-flbar'\n });\n this.dropOptr.appendTo(fbicon);\n var spanElmt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.dropOptr.element, 'span');\n spanElmt.classList.add('e-filterbardropdown');\n spanElmt.removeAttribute('tabindex');\n };\n FilterCellRenderer.prototype.internalEvent = function (e) {\n var gObj = this.parent;\n var col = gObj.getColumnByUid(e.element.getAttribute('id'));\n e.column = col;\n gObj.filterModule.operators[col.field] = e.value;\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.getFilterBarOperator, e);\n };\n return FilterCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_5__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-operator.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-operator.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FlMenuOptrUI: () => (/* binding */ FlMenuOptrUI)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n\n\n\n\n\n/**\n * `filter operators` render boolean column.\n *\n * @hidden\n */\nvar FlMenuOptrUI = /** @class */ (function () {\n function FlMenuOptrUI(parent, customFltrOperators, serviceLocator, filterSettings) {\n this.ddOpen = this.dropDownOpen.bind(this);\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.filterSettings = filterSettings;\n this.customFilterOperators = customFltrOperators;\n if (this.parent) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.filterMenuClose, this.destroyDropDownList, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroyDropDownList, this);\n }\n }\n /**\n * @param {Element} dlgConetntEle - specifies the content element\n * @param {Element} target - specifies the target\n * @param {Column} column - specifies the column\n * @param {Dialog} dlgObj - specifies the dialog\n * @param {Object[]} operator - specifies the operator list\n * @returns {void}\n * @hidden\n */\n // eslint-disable-next-line max-len\n FlMenuOptrUI.prototype.renderOperatorUI = function (dlgConetntEle, target, column, dlgObj, operator) {\n var _this = this;\n this.dialogObj = dlgObj;\n var optr = column.type + 'Operator';\n this.optrData = this.customOptr = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(operator) ? operator :\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.filterSettings.operators) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.filterSettings.operators[\"\" + optr])) ?\n this.parent.filterSettings.operators[\"\" + optr] : this.customFilterOperators[\"\" + optr];\n var dropDatasource = this.customOptr;\n var selectedValue = this.dropSelectedVal(column, optr);\n var optrDiv = this.parent.createElement('div', { className: 'e-flm_optrdiv' });\n dlgConetntEle.appendChild(optrDiv);\n var optrInput = this.parent.createElement('input', { id: column.uid + '-floptr' });\n optrDiv.appendChild(optrInput);\n this.dropOptr = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__.DropDownList({\n dataSource: dropDatasource,\n fields: { text: 'text', value: 'value' },\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n enableRtl: this.parent.enableRtl,\n text: selectedValue,\n change: function () {\n var valInput = document.querySelector('.e-flmenu-valuediv').querySelector('input');\n if (_this.dropOptr.value === 'isempty' || _this.dropOptr.value === 'isnotempty' ||\n _this.dropOptr.value === 'isnotnull' || _this.dropOptr.value === 'isnull') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput['ej2_instances'])) {\n valInput['ej2_instances'][0]['enabled'] = false;\n }\n else {\n valInput.setAttribute('disabled', 'true');\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput.getAttribute('disabled'))) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput['ej2_instances'])) {\n valInput['ej2_instances'][0]['enabled'] = true;\n }\n else {\n valInput.removeAttribute('disabled');\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.toggleFilterUI)(_this.dropOptr.value, column.uid, column, column.type, dlgObj, _this.dropOptr['previousValue']);\n }\n });\n this.dropOptr.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.open, this.ddOpen);\n this.dropOptr.appendTo('#' + column.uid + '-floptr');\n };\n FlMenuOptrUI.prototype.renderResponsiveDropDownList = function (args) {\n args.popup.element.style.width = '100%';\n };\n FlMenuOptrUI.prototype.dropDownOpen = function (args) {\n args.popup.element.style.zIndex = (this.dialogObj.zIndex + 1).toString();\n if (this.parent.enableAdaptiveUI) {\n this.renderResponsiveDropDownList(args);\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n FlMenuOptrUI.prototype.dropSelectedVal = function (col, optr) {\n var selValue = '';\n var columns = this.parent.filterSettings.columns;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (col.field === column.field || (col.isForeignColumn() && col.foreignKeyValue === column.field)) {\n var selectedField = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(this.optrData).executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query().where('value', 'equal', column.operator));\n selValue = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedField[0]) ? selectedField[0].text : '';\n }\n }\n if (selValue === '') { // rewuired or not\n if (col.filter.operator) {\n var optrLen = Object.keys(this.optrData).length;\n for (var i = 0; i < optrLen; i++) {\n if (this.optrData[parseInt(i.toString(), 10)].value === col.filter.operator) {\n selValue = this.optrData[parseInt(i.toString(), 10)].text;\n }\n }\n }\n else {\n selValue = this.optrData[0].text;\n }\n }\n return selValue;\n };\n /**\n * @returns {string} returns the operator\n * @hidden\n */\n FlMenuOptrUI.prototype.getFlOperator = function () {\n return this.dropOptr.value;\n };\n FlMenuOptrUI.prototype.destroyDropDownList = function () {\n if (this.dropOptr.isDestroyed) {\n return;\n }\n this.dropOptr.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.open, this.ddOpen);\n this.dropOptr.destroy();\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.filterMenuClose, this.destroyDropDownList);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.destroy, this.destroyDropDownList);\n };\n return FlMenuOptrUI;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-operator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterMenuRenderer: () => (/* binding */ FilterMenuRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _filter_menu_operator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./filter-menu-operator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-operator.js\");\n/* harmony import */ var _string_filter_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./string-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/string-filter-ui.js\");\n/* harmony import */ var _number_filter_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./number-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.js\");\n/* harmony import */ var _boolean_filter_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./boolean-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.js\");\n/* harmony import */ var _date_filter_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./date-filter-ui */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/date-filter-ui.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `filter menu` render boolean column.\n *\n * @hidden\n */\nvar FilterMenuRenderer = /** @class */ (function () {\n function FilterMenuRenderer(parent, filterSettings, serviceLocator, customFltrOperators, fltrObj) {\n this.isDialogOpen = false;\n this.maxHeight = '350px';\n this.isMenuCheck = false;\n this.colTypes = {\n 'string': _string_filter_ui__WEBPACK_IMPORTED_MODULE_1__.StringFilterUI, 'number': _number_filter_ui__WEBPACK_IMPORTED_MODULE_2__.NumberFilterUI, 'date': _date_filter_ui__WEBPACK_IMPORTED_MODULE_3__.DateFilterUI, 'dateonly': _date_filter_ui__WEBPACK_IMPORTED_MODULE_3__.DateFilterUI, 'boolean': _boolean_filter_ui__WEBPACK_IMPORTED_MODULE_4__.BooleanFilterUI, 'datetime': _date_filter_ui__WEBPACK_IMPORTED_MODULE_3__.DateFilterUI\n };\n this.parent = parent;\n this.filterSettings = filterSettings;\n this.serviceLocator = serviceLocator;\n this.customFilterOperators = customFltrOperators;\n this.filterObj = fltrObj;\n this.flMuiObj = new _filter_menu_operator__WEBPACK_IMPORTED_MODULE_5__.FlMenuOptrUI(this.parent, this.customFilterOperators, this.serviceLocator);\n this.l10n = this.serviceLocator.getService('localization');\n this.menuFilterBase = new _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_6__.CheckBoxFilterBase(parent);\n }\n FilterMenuRenderer.prototype.clearCustomFilter = function (col) {\n this.clearBtnClick(col);\n };\n FilterMenuRenderer.prototype.applyCustomFilter = function (args) {\n this.filterBtnClick(args.col);\n };\n FilterMenuRenderer.prototype.openDialog = function (args) {\n this.options = args;\n this.col = this.parent.getColumnByField(args.field);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.col.filter) || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.col.filter.type) || this.col.filter.type === 'Menu')) { ///\n this.renderDlgContent(args.target, this.col);\n }\n };\n FilterMenuRenderer.prototype.closeDialog = function (target) {\n var _this = this;\n if (!this.dlgObj) {\n return;\n }\n var elem = document.getElementById(this.dlgObj.element.id);\n if (this.dlgObj && !this.dlgObj.isDestroyed && elem) {\n var argument = { cancel: false, column: this.col, target: target, element: elem };\n if (argument.cancel) {\n this.parent.isColumnMenuFilterClosing = false;\n return;\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_7__.filterMenuClose, argument);\n this.isDialogOpen = false;\n if (this.isMenuCheck) {\n this.menuFilterBase.unWireEvents();\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_7__.cBoxFltrComplete, this.actionComplete);\n this.isMenuCheck = false;\n }\n var column = this.col;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter.ui)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter.ui.destroy)) {\n var temp = column.filter.ui.destroy;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n temp();\n }\n if ((this.parent.isReact || this.parent.isVue) && this.col.filterTemplate && this.col.filterTemplate instanceof Function) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.parent.clearTemplate(['filterTemplate'], undefined, function () {\n _this.dlgObj.destroy();\n });\n }\n else {\n this.dlgObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n }\n var gridPopup = document.getElementById(this.parent.element.id + '_e-popup');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gridPopup)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(gridPopup);\n gridPopup = null;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgObj['storeActiveElement'])) {\n this.dlgObj['storeActiveElement'].focus();\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_7__.filterDialogClose, {});\n };\n FilterMenuRenderer.prototype.renderDlgContent = function (target, column) {\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_7__.filterBeforeOpen,\n columnName: column.field, columnType: column.type\n };\n var filterModel = 'filterModel';\n args[\"\" + filterModel] = this;\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_7__.actionBegin, args);\n var mainDiv = this.parent.createElement('div', { className: 'e-flmenu-maindiv', id: column.uid + '-flmenu' });\n this.dlgDiv = this.parent.createElement('div', { className: 'e-flmenu', id: column.uid + '-flmdlg' });\n this.dlgDiv.setAttribute('aria-label', this.l10n.getConstant('FilterMenuDialogARIA'));\n if (this.parent.enableAdaptiveUI) {\n var responsiveCnt = document.querySelector('.e-resfilter > .e-dlg-content > .e-mainfilterdiv');\n responsiveCnt.appendChild(this.dlgDiv);\n }\n else {\n this.parent.element.appendChild(this.dlgDiv);\n }\n this.dlgObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_8__.Dialog({\n showCloseIcon: false,\n closeOnEscape: false,\n locale: this.parent.locale,\n visible: false,\n enableRtl: this.parent.enableRtl,\n created: this.dialogCreated.bind(this, target, column),\n position: this.parent.element.classList.contains('e-device') ? { X: 'center', Y: 'center' } : { X: '', Y: '' },\n target: this.parent.element.classList.contains('e-device') ? document.body : this.parent.element,\n buttons: [{\n click: this.filterBtnClick.bind(this, column),\n buttonModel: {\n content: this.l10n.getConstant('FilterButton'), isPrimary: true,\n cssClass: this.parent.cssClass ? 'e-flmenu-okbtn' + ' ' + this.parent.cssClass : 'e-flmenu-okbtn'\n }\n },\n {\n click: this.clearBtnClick.bind(this, column),\n buttonModel: { content: this.l10n.getConstant('ClearButton'),\n cssClass: this.parent.cssClass ? 'e-flmenu-cancelbtn' + ' ' + this.parent.cssClass : 'e-flmenu-cancelbtn' }\n }],\n content: mainDiv,\n width: (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(target, 'e-bigger'))) || this.parent.element.classList.contains('e-device') ? 260 : 250,\n animationSettings: { effect: 'None' },\n cssClass: this.parent.cssClass ? 'e-filter-popup' + ' ' + this.parent.cssClass : 'e-filter-popup'\n });\n var isStringTemplate = 'isStringTemplate';\n this.dlgObj[\"\" + isStringTemplate] = true;\n this.renderResponsiveDialog();\n this.dlgObj.appendTo(this.dlgDiv);\n };\n FilterMenuRenderer.prototype.renderResponsiveDialog = function () {\n var gObj = this.parent;\n if (gObj.enableAdaptiveUI) {\n this.dlgObj.position = { X: '', Y: '' };\n this.dlgObj.target = document.querySelector('.e-resfilter > .e-dlg-content > .e-mainfilterdiv');\n this.dlgObj.width = '100%';\n this.dlgObj.isModal = false;\n this.dlgObj.buttons = [{}];\n }\n };\n FilterMenuRenderer.prototype.dialogCreated = function (target, column) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && target) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_9__.getFilterMenuPostion)(target, this.dlgObj);\n }\n else if (!this.options.isResponsiveFilter) {\n this.dlgObj.position = { X: 'center', Y: 'center' };\n }\n this.currentDialogCreatedColumn = column;\n this.renderFilterUI(target, column);\n if (!(column.isForeignColumn() && !(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter.ui)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter.ui.create)))) {\n this.afterRenderFilterUI();\n }\n var isReactCompiler = this.parent.isReact && typeof (column.filterTemplate) !== 'string';\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filterTemplate) && !(isReactCompiler || isReactChild)) {\n this.dlgDiv.querySelector('.e-flmenu-valuediv').firstElementChild.focus();\n this.dlgDiv.querySelector('.e-flmenu-valuediv').firstElementChild.classList.add('e-input-focus');\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgDiv.querySelector('.e-flmenu-input'))) {\n this.dlgDiv.querySelector('.e-flmenu-input').focus();\n this.dlgDiv.querySelector('.e-flmenu-input').parentElement.classList.add('e-input-focus');\n }\n };\n /**\n * Function to notify filterDialogCreated and trigger actionComplete\n *\n * @returns {void}\n * @hidden\n */\n FilterMenuRenderer.prototype.afterRenderFilterUI = function () {\n var column = this.currentDialogCreatedColumn;\n if (column.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_7__.filterDialogCreated, {});\n }\n if (this.parent.enableAdaptiveUI) {\n this.dlgObj.element.style.left = '0px';\n this.dlgObj.element.style.maxHeight = 'none';\n }\n else {\n this.dlgObj.element.style.maxHeight = this.maxHeight;\n }\n this.dlgObj.show();\n if (this.parent.getContent().firstElementChild.offsetHeight < this.dlgObj.element.offsetHeight &&\n !(0,_base_util__WEBPACK_IMPORTED_MODULE_9__.parentsUntil)(this.parent.element, 'e-gantt-dialog')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_9__.resetDialogAppend)(this.parent, this.dlgObj);\n }\n var optrInput = this.dlgObj.element.querySelector('.e-flm_optrdiv').querySelector('input');\n var valInput = this.dlgObj.element.querySelector('.e-flmenu-valuediv').querySelector('input');\n if (optrInput.value === 'Empty' || optrInput.value === 'Not Empty' ||\n optrInput.value === 'Null' || optrInput.value === 'Not Null') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput['ej2_instances'])) {\n valInput['ej2_instances'][0]['enabled'] = false;\n }\n else {\n valInput.setAttribute('disabled', 'true');\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput && valInput.getAttribute('disabled'))) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(valInput['ej2_instances'])) {\n valInput['ej2_instances'][0]['enabled'] = true;\n }\n else {\n valInput.removeAttribute('disabled');\n }\n }\n if (!column.filterTemplate) {\n this.writeMethod(column, this.dlgObj.element.querySelector('#' + column.uid + '-flmenu'));\n }\n var args = {\n requestType: _base_constant__WEBPACK_IMPORTED_MODULE_7__.filterAfterOpen,\n columnName: column.field, columnType: column.type\n };\n var filterModel = 'filterModel';\n args[\"\" + filterModel] = this;\n this.isDialogOpen = true;\n if (!this.isMenuCheck) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_7__.actionComplete, args);\n }\n };\n FilterMenuRenderer.prototype.renderFilterUI = function (target, col) {\n var dlgConetntEle = this.dlgObj.element.querySelector('.e-flmenu-maindiv');\n this.parent.log('column_type_missing', { column: col });\n this.renderOperatorUI(dlgConetntEle, target, col);\n this.renderFlValueUI(dlgConetntEle, target, col);\n };\n FilterMenuRenderer.prototype.renderOperatorUI = function (dlgConetntEle, target, column) {\n this.flMuiObj.renderOperatorUI(dlgConetntEle, target, column, this.dlgObj, this.filterObj.menuOperator);\n };\n FilterMenuRenderer.prototype.renderFlValueUI = function (dlgConetntEle, target, column) {\n var valueDiv = this.parent.createElement('div', { className: 'e-flmenu-valuediv' });\n var fObj = this.filterObj;\n dlgConetntEle.appendChild(valueDiv);\n var instanceofFilterUI = new this.colTypes[column.type](this.parent, this.serviceLocator, this.parent.filterSettings);\n if (column.filterTemplate) {\n var fltrData = {};\n var valueInString = 'value';\n fltrData[column.field] = fltrData[\"\" + valueInString] = fObj.values[column.field];\n if (column.foreignKeyValue) {\n fltrData[column.foreignKeyValue] = fObj.values[column.field];\n fltrData[column.field] = undefined;\n }\n var col = 'column';\n fltrData[\"\" + col] = column;\n var isReactCompiler = this.parent.isReact && typeof (column.filterTemplate) !== 'string' &&\n !(column.filterTemplate.prototype && column.filterTemplate.prototype.CSPTemplate);\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var tempID = this.parent.element.id + column.uid + 'filterTemplate';\n if (isReactCompiler || isReactChild) {\n column.getFilterTemplate()(fltrData, this.parent, 'filterTemplate', tempID, null, null, valueDiv);\n this.parent.renderTemplates();\n }\n else {\n var compElement = column.getFilterTemplate()(fltrData, this.parent, 'filterTemplate', tempID, null, null, null, this.parent.root);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_9__.appendChildren)(valueDiv, compElement);\n }\n if (this.isMenuCheck) {\n this.menuFilterBase.cBox = this.dlgObj.element.querySelector('.e-checkboxlist.e-fields');\n this.menuFilterBase.wireEvents();\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_7__.cBoxFltrComplete, this.actionComplete, this);\n this.menuFilterBase.getAllData();\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter.ui)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.filter.ui.create)) {\n var temp = column.filter.ui.create;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n temp({\n column: column, target: valueDiv,\n getOptrInstance: this.flMuiObj, dialogObj: this.dlgObj\n });\n }\n else {\n instanceofFilterUI.create({\n column: column, target: valueDiv,\n getOptrInstance: this.flMuiObj, localizeText: this.l10n, dialogObj: this.dlgObj\n });\n }\n }\n };\n FilterMenuRenderer.prototype.writeMethod = function (col, dlgContentEle) {\n var flValue;\n var target = dlgContentEle.querySelector('.e-flmenu-valinput');\n var instanceofFilterUI = new this.colTypes[col.type](this.parent, this.serviceLocator, this.parent.filterSettings);\n var columns = this.filterSettings.columns;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (col.uid === column.uid) {\n flValue = column.value;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter.ui)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter.ui.write)) {\n var temp = col.filter.ui.write;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n temp({ column: col, target: target, parent: this.parent, filteredValue: flValue });\n }\n else {\n instanceofFilterUI.write({ column: col, target: target, parent: this.parent, filteredValue: flValue });\n }\n };\n FilterMenuRenderer.prototype.filterBtnClick = function (col) {\n var flValue;\n var targ = this.dlgObj.element.querySelector('.e-flmenu-valuediv input');\n var flOptrValue = this.flMuiObj.getFlOperator();\n var instanceofFilterUI = new this.colTypes[col.type](this.parent, this.serviceLocator, this.parent.filterSettings);\n if (col.filterTemplate) {\n var element = this.dlgDiv.querySelector('.e-flmenu-valuediv');\n var fltrValue = void 0;\n if (element.children[0].value) {\n fltrValue = element.children[0].value;\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.children[0].ej2_instances)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fltrValue = (this.parent.isAngular ? element.children[0] :\n element.querySelector('input')).ej2_instances[0].value;\n }\n else {\n var eControl = element.querySelector('.e-control');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eControl)) {\n fltrValue = col.type === 'boolean' ? eControl.checked :\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eControl.ej2_instances) ?\n eControl.ej2_instances[0].value :\n eControl.value;\n }\n }\n }\n this.filterObj.filterByColumn(col.field, flOptrValue, fltrValue);\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter.ui) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.filter.ui.read)) {\n var temp = col.filter.ui.read;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n // eslint-disable-next-line\n flValue = temp({ element: targ, column: col, operator: flOptrValue, fltrObj: this.filterObj });\n }\n else {\n instanceofFilterUI.read(targ, col, flOptrValue, this.filterObj);\n }\n }\n this.closeDialog();\n if (this.parent.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_7__.afterFilterColumnMenuClose, {});\n }\n };\n FilterMenuRenderer.prototype.closeResponsiveDialog = function () {\n this.closeDialog();\n };\n FilterMenuRenderer.prototype.clearBtnClick = function (column) {\n this.filterObj.removeFilteredColsByField(column.field);\n this.closeDialog();\n if (this.parent.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_7__.afterFilterColumnMenuClose, {});\n }\n };\n FilterMenuRenderer.prototype.destroy = function () {\n this.closeDialog();\n };\n /**\n * @returns {FilterUI} returns the filterUI\n * @hidden\n */\n FilterMenuRenderer.prototype.getFilterUIInfo = function () {\n return { field: this.col.field, operator: this.flMuiObj.getFlOperator() };\n };\n FilterMenuRenderer.prototype.getOperatorDropdown = function () {\n return this.flMuiObj.dropOptr;\n };\n FilterMenuRenderer.prototype.renderCheckBoxMenu = function () {\n this.isMenuCheck = true;\n this.menuFilterBase.updateModel(this.options);\n this.menuFilterBase.getAndSetChkElem(this.options);\n this.dlgObj.buttons = [{\n click: this.menuFilterBase.btnClick.bind(this.menuFilterBase),\n buttonModel: {\n content: this.menuFilterBase.getLocalizedLabel('FilterButton'),\n cssClass: 'e-primary', isPrimary: true\n }\n },\n {\n click: this.menuFilterBase.btnClick.bind(this.menuFilterBase),\n buttonModel: { cssClass: 'e-flat', content: this.menuFilterBase.getLocalizedLabel('ClearButton') }\n }];\n this.menuFilterBase.dialogObj = this.dlgObj;\n this.menuFilterBase.dlg = this.dlgObj.element;\n this.menuFilterBase.dlg.classList.add('e-menucheckbox');\n this.menuFilterBase.dlg.classList.remove('e-checkboxfilter');\n this.maxHeight = '800px';\n return this.menuFilterBase.sBox.innerHTML;\n };\n FilterMenuRenderer.prototype.actionComplete = function (args) {\n if (this.isMenuCheck) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_7__.actionComplete, args);\n }\n };\n return FilterMenuRenderer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/footer-renderer.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/footer-renderer.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FooterRenderer: () => (/* binding */ FooterRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _content_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./content-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js\");\n/* harmony import */ var _row_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/summary-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n/**\n * Footer module is used to render grid content\n *\n * @hidden\n */\nvar FooterRenderer = /** @class */ (function (_super) {\n __extends(FooterRenderer, _super);\n function FooterRenderer(gridModule, serviceLocator) {\n var _this = _super.call(this, gridModule, serviceLocator) || this;\n _this.aggregates = {};\n _this.parent = gridModule;\n _this.locator = serviceLocator;\n _this.modelGenerator = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_1__.SummaryModelGenerator(_this.parent);\n _this.addEventListener();\n return _this;\n }\n /**\n * The function is used to render grid footer div\n *\n * @returns {void}\n */\n FooterRenderer.prototype.renderPanel = function () {\n var div = this.parent.createElement('div', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridFooter });\n var innerDiv = this.parent.createElement('div', { className: 'e-summarycontent' });\n div.appendChild(innerDiv);\n this.setPanel(div);\n if (this.parent.getPager() != null) {\n this.parent.element.insertBefore(div, this.parent.getPager());\n }\n else {\n this.parent.element.appendChild(div);\n }\n };\n /**\n * The function is used to render grid footer table\n *\n * @returns {void}\n */\n FooterRenderer.prototype.renderTable = function () {\n var innerDiv = this.createContentTable('_footer_table');\n var table = innerDiv.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.table);\n var tFoot = this.parent.createElement('tfoot');\n table.appendChild(tFoot);\n this.setTable(table);\n };\n FooterRenderer.prototype.renderSummaryContent = function (e, table, cStart, cEnd) {\n var input = this.parent.dataSource instanceof Array ? !this.parent.getDataModule().isRemote() &&\n this.parent.parentDetails ? this.getData() : this.parent.dataSource : this.parent.currentViewData;\n var summaries = this.modelGenerator.getData();\n var dummies = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cStart) ? this.modelGenerator.getColumns() :\n this.modelGenerator.getColumns(cStart);\n // eslint-disable-next-line max-len\n var rows = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cStart) ? this.modelGenerator.generateRows(input, e || this.aggregates) :\n this.modelGenerator.generateRows(input, e || this.aggregates, cStart, cEnd);\n var fragment = document.createDocumentFragment();\n var rowrenderer = new _row_renderer__WEBPACK_IMPORTED_MODULE_3__.RowRenderer(this.locator, null, this.parent);\n rowrenderer.element = this.parent.createElement('TR', { className: 'e-summaryrow', attrs: { role: 'row' } });\n for (var srow = 0, len = summaries.length; srow < len; srow++) {\n var row = rows[parseInt(srow.toString(), 10)];\n if (!row) {\n continue;\n }\n var tr = rowrenderer.render(row, dummies);\n if (tr.querySelectorAll('.e-leftfreeze').length && tr.querySelectorAll('.e-indentcell').length) {\n var td = tr.querySelectorAll('.e-indentcell');\n for (var i = 0; i < td.length; i++) {\n td[parseInt(i.toString(), 10)].classList.add('e-leftfreeze');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.applyStickyLeftRightPosition)(td[parseInt(i.toString(), 10)], i * 30, this.parent.enableRtl, 'Left');\n }\n }\n if (this.parent.isFrozenGrid() && tr.querySelectorAll('.e-summarycell').length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([].slice.call(tr.querySelectorAll('.e-summarycell')), ['e-freezeleftborder', 'e-freezerightborder']);\n }\n fragment.appendChild(tr);\n }\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if ((this.parent.isReact || isReactChild) && summaries.length && this.parent.isInitialLoad) {\n this.parent.renderTemplates(function () {\n table.tFoot.innerHTML = '';\n table.tFoot.appendChild(fragment);\n });\n }\n else {\n table.tFoot.appendChild(fragment);\n }\n this.aggregates = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) ? e : this.aggregates;\n };\n FooterRenderer.prototype.refresh = function (e) {\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if (!(this.parent.isReact || isReactChild) || !this.parent.isInitialLoad) {\n this.getTable().tFoot.innerHTML = '';\n }\n this.renderSummaryContent(e, this.getTable(), undefined, undefined);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) && this.parent.isAutoFitColumns) {\n this.parent.autoFitColumns();\n }\n this.onScroll();\n };\n FooterRenderer.prototype.refreshCol = function () {\n // frozen table\n var mheaderCol = this.parent.enableColumnVirtualization ? this.parent.headerModule.getColGroup() :\n this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader).querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.colGroup).cloneNode(true);\n this.getTable().replaceChild(mheaderCol, this.getColGroup());\n this.setColGroup(mheaderCol);\n };\n FooterRenderer.prototype.onWidthChange = function (args) {\n this.getColFromIndex(args.index).style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(args.width);\n if (this.parent.allowResizing && args.module === 'resize') {\n this.updateFooterTableWidth(this.getTable());\n }\n };\n FooterRenderer.prototype.onScroll = function (e) {\n if (e === void 0) { e = {\n left: this.parent.getContent().firstChild.scrollLeft\n }; }\n this.getTable().parentElement.scrollLeft = e.left;\n };\n FooterRenderer.prototype.getColFromIndex = function (index) {\n return this.getColGroup().children[parseInt(index.toString(), 10)];\n };\n FooterRenderer.prototype.columnVisibilityChanged = function () {\n this.refresh();\n };\n FooterRenderer.prototype.addEventListener = function () {\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.colGroupRefresh, handler: this.refreshCol },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.columnWidthChanged, handler: this.onWidthChange },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.scroll, handler: this.onScroll },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.columnVisibilityChanged, handler: this.columnVisibilityChanged },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshFooterRenderer, handler: this.refreshFooterRenderer }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n };\n FooterRenderer.prototype.removeEventListener = function () {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n };\n FooterRenderer.prototype.updateFooterTableWidth = function (tFoot) {\n var tHead = this.parent.getHeaderTable();\n if (tHead && tFoot) {\n tFoot.style.width = tHead.style.width;\n }\n };\n FooterRenderer.prototype.refreshFooterRenderer = function (editedData) {\n var aggregates = this.onAggregates(editedData);\n this.refresh(aggregates);\n };\n FooterRenderer.prototype.getIndexByKey = function (data, ds) {\n var key = this.parent.getPrimaryKeyFieldNames()[0];\n for (var i = 0; i < ds.length; i++) {\n if (ds[parseInt(i.toString(), 10)][\"\" + key] === data[\"\" + key]) {\n return i;\n }\n }\n return -1;\n };\n FooterRenderer.prototype.getData = function () {\n return this.parent.getDataModule().dataManager.executeLocal(this.parent.getDataModule().generateQuery(true));\n };\n FooterRenderer.prototype.onAggregates = function (editedData) {\n editedData = editedData instanceof Array ? editedData : [];\n var field = this.parent.getPrimaryKeyFieldNames()[0];\n var dataSource = [];\n var isModified = false;\n var batchChanges = {};\n var gridData = 'dataSource';\n var isFiltered = false;\n if (!(this.parent.renderModule.data.isRemote() || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource)\n && this.parent.dataSource.result)) && ((this.parent.allowFiltering\n && this.parent.filterSettings.columns.length) || this.parent.searchSettings.key.length)) {\n isFiltered = true;\n }\n var currentViewData;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.dataSource) && this.parent.dataSource.result) {\n currentViewData = this.parent.getCurrentViewRecords();\n }\n else {\n currentViewData = this.parent.dataSource instanceof Array ?\n (isFiltered ? this.parent.getFilteredRecords() : this.parent.dataSource) : (this.parent.dataSource[\"\" + gridData].json.length ?\n (isFiltered ? this.parent.getFilteredRecords() : this.parent.dataSource[\"\" + gridData].json)\n : this.parent.getCurrentViewRecords());\n }\n if (this.parent.parentDetails && !this.parent.getDataModule().isRemote()) {\n currentViewData = this.getData();\n }\n if (this.parent.editModule) {\n batchChanges = this.parent.editModule.getBatchChanges();\n }\n if (Object.keys(batchChanges).length) {\n for (var i = 0; i < currentViewData.length; i++) {\n isModified = false;\n // eslint-disable-next-line max-len\n if (batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.changedRecords].length && this.getIndexByKey(currentViewData[parseInt(i.toString(), 10)], batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.changedRecords]) > -1) {\n isModified = true;\n // eslint-disable-next-line max-len\n dataSource.push(batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.changedRecords][this.getIndexByKey(currentViewData[parseInt(i.toString(), 10)], batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.changedRecords])]);\n }\n // eslint-disable-next-line max-len\n if (batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.deletedRecords].length && this.getIndexByKey(currentViewData[parseInt(i.toString(), 10)], batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.deletedRecords]) > -1) {\n isModified = true;\n }\n else if (!isModified) {\n dataSource.push(currentViewData[parseInt(i.toString(), 10)]);\n }\n }\n if (batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.addedRecords].length) {\n for (var i = 0; i < batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.addedRecords].length; i++) {\n dataSource.push(batchChanges[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.addedRecords][parseInt(i.toString(), 10)]);\n }\n }\n }\n else {\n if (editedData.length) {\n var data = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.iterateExtend)(currentViewData);\n dataSource = data.map(function (item) {\n var idVal = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataUtil.getObject(field, item);\n var value;\n var hasVal = editedData.some(function (cItem) {\n value = cItem;\n return idVal === _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataUtil.getObject(field, cItem);\n });\n return hasVal ? value : item;\n });\n }\n else {\n dataSource = currentViewData;\n }\n }\n var eData = editedData;\n if ((eData.type && eData.type === 'cancel')) {\n dataSource = currentViewData;\n }\n var aggregate = {};\n var agrVal;\n var aggregateRows = this.parent.aggregates;\n for (var i = 0; i < aggregateRows.length; i++) {\n for (var j = 0; j < aggregateRows[parseInt(i.toString(), 10)].columns.length; j++) {\n var data = [];\n var type = aggregateRows[parseInt(i.toString(), 10)]\n .columns[parseInt(j.toString(), 10)].type.toString();\n data = dataSource;\n var types = type.split(',').map(function (t) { return t.trim(); });\n for (var _i = 0, types_1 = types; _i < types_1.length; _i++) {\n var aggregateType = types_1[_i];\n agrVal = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.calculateAggregate)(aggregateType, data, aggregateRows[parseInt(i.toString(), 10)]\n .columns[parseInt(j.toString(), 10)], this.parent);\n aggregate[aggregateRows[parseInt(i.toString(), 10)].columns[parseInt(j.toString(), 10)].field + ' - ' + aggregateType.toLowerCase()] = agrVal;\n }\n }\n }\n var result = {\n result: dataSource,\n count: dataSource.length,\n aggregates: aggregate\n };\n return result;\n };\n return FooterRenderer;\n}(_content_renderer__WEBPACK_IMPORTED_MODULE_7__.ContentRender));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/footer-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GroupLazyLoadRenderer: () => (/* binding */ GroupLazyLoadRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _content_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./content-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../renderer/row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _services_group_model_generator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/group-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js\");\n/* harmony import */ var _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/summary-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n/**\n * GroupLazyLoadRenderer is used to perform lazy load grouping\n *\n * @hidden\n */\nvar GroupLazyLoadRenderer = /** @class */ (function (_super) {\n __extends(GroupLazyLoadRenderer, _super);\n function GroupLazyLoadRenderer(parent, locator) {\n var _this = _super.call(this, parent, locator) || this;\n _this.childCount = 0;\n _this.scrollData = [];\n _this.isFirstChildRow = false;\n _this.isScrollDown = false;\n _this.isScrollUp = false;\n _this.groupCache = {};\n _this.cacheRowsObj = {};\n _this.startIndexes = {};\n _this.captionCounts = {};\n _this.rowsByUid = {};\n _this.objIdxByUid = {};\n _this.initialGroupCaptions = {};\n _this.requestType = ['paging', 'columnstate', 'reorder', 'cancel', 'save', 'beginEdit', 'add', 'delete',\n 'filterBeforeOpen', 'filterchoicerequest', 'infiniteScroll', 'virtualscroll'];\n _this.scrollTopCache = undefined;\n /** @hidden */\n _this.refRowsObj = {};\n /** @hidden */\n _this.cacheMode = false;\n /** @hidden */\n _this.cacheBlockSize = 5;\n /** @hidden */\n _this.ignoreAccent = _this.parent.allowFiltering ? _this.parent.filterSettings.ignoreAccent : false;\n /** @hidden */\n _this.allowCaseSensitive = false;\n /** @hidden */\n _this.lazyLoadQuery = [];\n _this.locator = locator;\n _this.groupGenerator = new _services_group_model_generator__WEBPACK_IMPORTED_MODULE_1__.GroupModelGenerator(_this.parent);\n _this.summaryModelGen = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_2__.GroupSummaryModelGenerator(_this.parent);\n _this.captionModelGen = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_2__.CaptionSummaryModelGenerator(_this.parent);\n _this.rowRenderer = new _renderer_row_renderer__WEBPACK_IMPORTED_MODULE_3__.RowRenderer(_this.locator, null, _this.parent);\n _this.eventListener();\n return _this;\n }\n GroupLazyLoadRenderer.prototype.eventListener = function () {\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_4__.actionBegin, this.actionBegin.bind(this));\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_4__.actionComplete, this.actionComplete.bind(this));\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.initialEnd, this.setLazyLoadPageSize, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.setGroupCache, this.setCache, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.lazyLoadScrollHandler, this.scrollHandler, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.columnVisibilityChanged, this.setVisible, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_4__.groupCollapse, this.collapseShortcut, this);\n };\n /**\n * @param {HTMLTableRowElement} tr - specifies the table row element\n * @returns {void}\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.captionExpand = function (tr) {\n var _this = this;\n var page = this.parent.pageSettings.currentPage;\n var rowsObject = this.groupCache[parseInt(page.toString(), 10)];\n var uid = tr.getAttribute('data-uid');\n this.refreshCaches();\n if ((!this.scrollTopCache || this.parent.scrollModule['content'].scrollTop > this.scrollTopCache) &&\n !this.parent.enableVirtualization) {\n this.scrollTopCache = this.parent.scrollModule['content'].scrollTop;\n }\n var oriIndex = this.getRowObjectIndexByUid(uid);\n var isRowExist = rowsObject[oriIndex + 1] ?\n rowsObject[parseInt(oriIndex.toString(), 10)].indent < rowsObject[oriIndex + 1].indent : false;\n if (this.parent.enableVirtualization) {\n isRowExist = this.cacheRowsObj[\"\" + uid] ? true : false;\n }\n var data = rowsObject[parseInt(oriIndex.toString(), 10)];\n var key = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getGroupKeysAndFields)(oriIndex, rowsObject);\n for (var i = 0; i < key.fields.length; i++) {\n var column = this.parent.getColumnByField(key.fields[parseInt(i.toString(), 10)]);\n if (column.enableGroupByFormat) {\n key.keys[parseInt(i.toString(), 10)] = this.locator.getService('valueFormatter').fromView(key.keys[parseInt(i.toString(), 10)], column.getParser(), (column.type === 'dateonly' ? 'date' : column.type));\n }\n }\n var e = { captionRowElement: tr, groupInfo: data, enableCaching: true, cancel: false };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.lazyLoadGroupExpand, e, function (args) {\n if (args.cancel) {\n return;\n }\n args.keys = key.keys;\n args.fields = key.fields;\n args.rowIndex = tr.rowIndex;\n args.makeRequest = !args.enableCaching || !isRowExist;\n if (!args.enableCaching && isRowExist) {\n _this.clearCache([uid]);\n }\n args.skip = 0;\n args.take = _this.pageSize;\n data.isExpand = true;\n if (_this.rowsByUid[parseInt(page.toString(), 10)][data.uid]) {\n _this.rowsByUid[parseInt(page.toString(), 10)][data.uid].isExpand = true;\n }\n _this.captionRowExpand(args);\n });\n };\n /**\n * @param {HTMLTableRowElement} tr - specifies the table row element\n * @returns {void}\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.captionCollapse = function (tr) {\n var _this = this;\n var cache = this.groupCache[this.parent.pageSettings.currentPage];\n var rowIdx = tr.rowIndex;\n var uid = tr.getAttribute('data-uid');\n this.refreshCaches();\n var captionIndex = this.getRowObjectIndexByUid(uid);\n var e = {\n captionRowElement: tr, groupInfo: cache[parseInt(captionIndex.toString(), 10)], cancel: false\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.lazyLoadGroupCollapse, e, function (args) {\n if (args.cancel) {\n return;\n }\n args.isExpand = false;\n for (var i = 0; i < _this.lazyLoadQuery.length; i++) {\n var query = _this.lazyLoadQuery[parseInt(i.toString(), 10)];\n var where = query[0];\n var removeCollapse = args.groupInfo.data;\n if (removeCollapse['key'] === where['value']) {\n _this.lazyLoadQuery.splice(i, 1);\n }\n }\n _this.removeRows(captionIndex, rowIdx, uid);\n if (_this.parent.enableInfiniteScrolling || _this.parent.enableVirtualization) {\n _this.groupCache[_this.parent.pageSettings.currentPage] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)([], _this.refRowsObj[_this.parent.pageSettings.currentPage]);\n _this.refreshRowObjects([], captionIndex);\n }\n });\n };\n /**\n * @returns {void}\n * @hidden */\n GroupLazyLoadRenderer.prototype.setLazyLoadPageSize = function () {\n var scrollEle = this.parent.getContent().firstElementChild;\n var blockSize = Math.floor(scrollEle.offsetHeight / this.parent.getRowHeight()) - 1;\n this.pageSize = this.pageSize ? this.pageSize : blockSize * 3;\n this.blockSize = Math.ceil(this.pageSize / 2);\n };\n /**\n * @returns {void}\n * @hidden */\n GroupLazyLoadRenderer.prototype.clearLazyGroupCache = function () {\n this.clearCache();\n };\n GroupLazyLoadRenderer.prototype.clearCache = function (uids) {\n uids = uids ? uids : this.getInitialCaptionIndexes();\n var cache = this.groupCache[this.parent.pageSettings.currentPage];\n if (uids.length) {\n for (var i = 0; i < uids.length; i++) {\n var capIdx = this.getRowObjectIndexByUid(uids[parseInt(i.toString(), 10)]);\n var capRow = cache[parseInt(capIdx.toString(), 10)];\n if (!capRow) {\n continue;\n }\n if (this.captionCounts[this.parent.pageSettings.currentPage][capRow.uid]) {\n for (var i_1 = capIdx + 1; i_1 < cache.length; i_1++) {\n if (cache[parseInt(i_1.toString(), 10)].indent === capRow.indent\n || cache[parseInt(i_1.toString(), 10)].indent < capRow.indent) {\n delete this.captionCounts[this.parent.pageSettings.currentPage][capRow.uid];\n break;\n }\n if (cache[parseInt(i_1.toString(), 10)].isCaptionRow) {\n delete this.captionCounts[this.parent.pageSettings.currentPage][cache[parseInt(i_1.toString(), 10)].uid];\n }\n }\n }\n if (capRow.isExpand) {\n var tr = this.parent.getRowElementByUID(capRow.uid);\n if (!tr) {\n return;\n }\n this.parent.groupModule.expandCollapseRows(tr.querySelector('.e-recordplusexpand'));\n }\n var child = this.getNextChilds(capIdx);\n if (!child.length) {\n continue;\n }\n var subChild = [];\n if (child[child.length - 1].isCaptionRow) {\n subChild = this.getChildRowsByParentIndex(cache.indexOf(child[child.length - 1]), false, false, null, true, true);\n }\n var start = cache.indexOf(child[0]);\n var end = subChild.length ? cache.indexOf(subChild[subChild.length - 1]) : cache.indexOf(child[child.length - 1]);\n cache.splice(start, end - (start - 1));\n this.refreshCaches();\n }\n }\n };\n GroupLazyLoadRenderer.prototype.refreshCaches = function () {\n var page = this.parent.pageSettings.currentPage;\n var cache = this.groupCache[parseInt(page.toString(), 10)];\n if (this.parent.enableInfiniteScrolling) {\n this.rowsByUid[parseInt(page.toString(), 10)] = [];\n this.objIdxByUid[parseInt(page.toString(), 10)] = [];\n }\n else {\n this.rowsByUid = {};\n this.objIdxByUid = {};\n }\n for (var i = 0; i < cache.length; i++) {\n this.maintainRows(cache[parseInt(i.toString(), 10)], i);\n }\n };\n GroupLazyLoadRenderer.prototype.getInitialCaptionIndexes = function () {\n var page = this.parent.pageSettings.currentPage;\n var uids = [];\n for (var i = 0; i < this.initialGroupCaptions[parseInt(page.toString(), 10)].length; i++) {\n uids.push(this.initialGroupCaptions[parseInt(page.toString(), 10)][parseInt(i.toString(), 10)].uid);\n }\n return uids;\n };\n /**\n * @param {string} uid - specifies the uid\n * @returns {number} returns the row object uid\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.getRowObjectIndexByUid = function (uid) {\n return this.objIdxByUid[this.parent.pageSettings.currentPage][\"\" + uid];\n };\n GroupLazyLoadRenderer.prototype.collapseShortcut = function (args) {\n if (this.parent.groupSettings.columns.length &&\n args.target && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.content) && args.target.parentElement.tagName === 'TR') {\n if (!args.collapse && (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.parentsUntil)(args.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_6__.row)) {\n return;\n }\n var row = args.target.parentElement;\n var uid = row.getAttribute('data-uid');\n if (args.collapse) {\n var rowObj = this.getRowByUid(uid);\n var capRow = this.getRowByUid(rowObj.parentUid);\n if (capRow.isCaptionRow && capRow.isExpand) {\n var capEle = this.getRowElementByUid(rowObj.parentUid);\n this.parent.groupModule.expandCollapseRows(capEle.cells[rowObj.indent - 1]);\n }\n }\n else {\n var capRow = this.getRowByUid(uid);\n if (capRow.isCaptionRow && !capRow.isExpand) {\n var capEle = this.getRowElementByUid(uid);\n this.parent.groupModule.expandCollapseRows(capEle.cells[capRow.indent]);\n }\n }\n }\n };\n GroupLazyLoadRenderer.prototype.getRowByUid = function (uid) {\n return this.rowsByUid[this.parent.pageSettings.currentPage][\"\" + uid];\n };\n GroupLazyLoadRenderer.prototype.actionBegin = function (args) {\n if (!args.cancel) {\n if (!this.requestType.some(function (value) { return value === args.requestType; })) {\n this.groupCache = {};\n this.resetRowMaintenance();\n if (this.parent.enableVirtualization) {\n this.parent.contentModule.currentInfo = {};\n }\n }\n if (args.requestType === 'reorder' && this.parent.groupSettings.columns.length) {\n var keys = Object.keys(this.groupCache);\n for (var j = 0; j < keys.length; j++) {\n var cache = this.groupCache[keys[parseInt(j.toString(), 10)]];\n for (var i = 0; i < cache.length; i++) {\n if (cache[parseInt(i.toString(), 10)].isCaptionRow && !this.captionModelGen.isEmpty()) {\n this.changeCaptionRow(cache[parseInt(i.toString(), 10)], null, keys[parseInt(j.toString(), 10)]);\n }\n if (cache[parseInt(i.toString(), 10)].isDataRow) {\n var from = args.fromIndex + cache[parseInt(i.toString(), 10)].indent;\n var to = args.toIndex + cache[parseInt(i.toString(), 10)].indent;\n this.moveCells(cache[parseInt(i.toString(), 10)].cells, from, to);\n }\n }\n }\n }\n if (args.requestType === 'delete'\n || (args.action === 'add' && args.requestType === 'save')) {\n this.groupCache = {};\n this.resetRowMaintenance();\n if (this.parent.enableVirtualization) {\n this.parent.contentModule.currentInfo = {};\n }\n }\n }\n };\n GroupLazyLoadRenderer.prototype.actionComplete = function (args) {\n if (!args.cancel && args.requestType !== 'columnstate' && args.requestType !== 'beginEdit'\n && args.requestType !== 'delete' && args.requestType !== 'save' && args.requestType !== 'reorder'\n && args.requestType !== 'infiniteScroll') {\n this.scrollReset();\n }\n };\n GroupLazyLoadRenderer.prototype.resetRowMaintenance = function () {\n this.startIndexes = {};\n this.captionCounts = {};\n this.rowsByUid = {};\n this.objIdxByUid = {};\n this.initialGroupCaptions = {};\n };\n GroupLazyLoadRenderer.prototype.moveCells = function (arr, from, to) {\n if (from >= arr.length) {\n var k = from - arr.length;\n while ((k--) + 1) {\n arr.push(undefined);\n }\n }\n arr.splice(from, 0, arr.splice(to, 1)[0]);\n };\n GroupLazyLoadRenderer.prototype.removeRows = function (idx, trIdx, uid) {\n var page = this.parent.pageSettings.currentPage;\n var rows = this.groupCache[parseInt(page.toString(), 10)];\n var trs = [].slice.call(this.parent.getContent().querySelectorAll('tr'));\n var aggUid;\n var count = 0;\n if (this.parent.aggregates.length) {\n var agg = this.getAggregateByCaptionIndex(idx);\n aggUid = agg.length ? agg[agg.length - 1].uid : undefined;\n }\n var indent = rows[parseInt(idx.toString(), 10)].indent;\n this.addClass(this.getNextChilds(parseInt(idx.toString(), 10)));\n rows[parseInt(idx.toString(), 10)].isExpand = false;\n if (this.rowsByUid[parseInt(page.toString(), 10)][rows[parseInt(idx.toString(), 10)].uid]) {\n this.rowsByUid[parseInt(page.toString(), 10)][rows[parseInt(idx.toString(), 10)].uid].isExpand = false;\n }\n var capUid;\n for (var i = idx + 1; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)].indent === indent || rows[parseInt(i.toString(), 10)].indent < indent) {\n capUid = rows[parseInt(i.toString(), 10)].uid;\n break;\n }\n if (rows[parseInt(i.toString(), 10)].isCaptionRow && rows[parseInt(i.toString(), 10)].isExpand) {\n this.addClass(this.getNextChilds(i));\n }\n }\n for (var i = trIdx + 1; i < trs.length; i++) {\n if (trs[parseInt(i.toString(), 10)].getAttribute('data-uid') === capUid) {\n break;\n }\n else if (trs[parseInt(i.toString(), 10)].getAttribute('data-uid') === aggUid) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(trs[parseInt(i.toString(), 10)]);\n break;\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(trs[parseInt(i.toString(), 10)]);\n this.refRowsObj[parseInt(page.toString(), 10)].splice(trIdx + 1, 1);\n count = count + 1;\n }\n }\n if (this.parent.enableVirtualization) {\n this.cacheRowsObj[\"\" + uid] = this.groupCache[parseInt(page.toString(), 10)].slice(idx + 1, idx + 1 + count);\n this.groupCache[parseInt(page.toString(), 10)].splice(idx + 1, count);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshVirtualLazyLoadCache, { rows: [], uid: rows[parseInt(idx.toString(), 10)].uid, count: count });\n this.parent.contentModule.setVirtualHeight();\n this.parent.islazyloadRequest = false;\n }\n if (this.parent.scrollModule['content'].scrollTop > this.scrollTopCache && !this.parent.enableVirtualization) {\n this.parent.scrollModule['content'].scrollTop = this.scrollTopCache;\n }\n if (this.parent.getContentTable().scrollHeight < this.parent.getContent().clientHeight && this.parent.height !== 'auto') {\n this.parent.scrollModule.setLastRowCell();\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshExpandandCollapse, { rows: this.refRowsObj[parseInt(page.toString(), 10)] });\n };\n GroupLazyLoadRenderer.prototype.addClass = function (rows) {\n var last = rows[this.blockSize];\n if (last) {\n last.lazyLoadCssClass = 'e-lazyload-middle-down';\n }\n };\n GroupLazyLoadRenderer.prototype.getNextChilds = function (index, rowObjects) {\n var group = this.groupCache[this.parent.pageSettings.currentPage];\n var rows = rowObjects ? rowObjects : group;\n var indent = group[parseInt(index.toString(), 10)].indent + 1;\n var childRows = [];\n for (var i = rowObjects ? 0 : index + 1; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)].indent < indent) {\n break;\n }\n if (rows[parseInt(i.toString(), 10)].indent === indent) {\n childRows.push(rows[parseInt(i.toString(), 10)]);\n }\n }\n return childRows;\n };\n GroupLazyLoadRenderer.prototype.lazyLoadHandler = function (args) {\n this.setStartIndexes();\n var tr = this.parent.getContent().querySelectorAll('tr')[args.index];\n var uid = tr.getAttribute('data-uid');\n var captionIndex = this.getRowObjectIndexByUid(uid);\n var captionRow = this.groupCache[this.parent.pageSettings.currentPage][parseInt(captionIndex.toString(), 10)];\n var rows = args.isRowExist ? args.isScroll ? this.scrollData\n : this.parent.enableVirtualization ? this.cacheRowsObj[\"\" + uid] :\n this.getChildRowsByParentIndex(captionIndex, true, true, null, true) : [];\n this.scrollData = [];\n if (!args.isRowExist) {\n this.setRowIndexes(captionIndex, captionRow);\n this.refreshCaptionRowCount(this.groupCache[this.parent.pageSettings.currentPage][parseInt(captionIndex.toString(), 10)], args.count);\n if (Object.keys(args.data).indexOf('GroupGuid') !== -1) {\n for (var i = 0; i < args.data.length; i++) {\n var data = this.groupGenerator.generateCaptionRow(args.data[parseInt(i.toString(), 10)], args.level, captionRow.parentGid, undefined, 0, captionRow.uid);\n rows.push(data);\n if (this.parent.aggregates.length) {\n rows = rows.concat((this.summaryModelGen.generateRows(args.data[parseInt(i.toString(), 10)], { level: args.level + 1, parentUid: data.uid })));\n }\n }\n }\n else {\n this.groupGenerator.index = this.getStartIndex(captionIndex, args.isScroll);\n rows = this.groupGenerator.generateDataRows(args.data, args.level, captionRow.parentGid, 0, captionRow.uid);\n }\n }\n var trIdx = args.isScroll ? this.rowIndex : args.index;\n var nxtChild = this.getNextChilds(captionIndex, rows);\n var lastRow = !args.up ? this.hasLastChildRow(args.isScroll, args.count, nxtChild.length) : true;\n if (!args.isRowExist && !lastRow) {\n nxtChild[this.blockSize].lazyLoadCssClass = 'e-lazyload-middle-down';\n }\n if (!lastRow) {\n nxtChild[nxtChild.length - 1].lazyLoadCssClass = 'e-not-lazyload-end';\n }\n var aggregates = !args.isScroll && !args.isRowExist ? this.getAggregateByCaptionIndex(captionIndex) : [];\n if (!args.up) {\n if (!args.isRowExist || (this.parent.enableVirtualization && args.isRowExist && this.cacheRowsObj[\"\" + uid])) {\n this.refreshRowObjects(rows, args.isScroll ? this.rowObjectIndex : captionIndex);\n }\n }\n if (this.parent.enableVirtualization) {\n var uid_1 = args.isScroll ? this.groupCache[this.parent.pageSettings.currentPage][this.rowIndex].uid : captionRow.uid;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshVirtualLazyLoadCache, { rows: rows, uid: uid_1 });\n this.parent.contentModule.setVirtualHeight();\n this.parent.contentModule.isTop = false;\n }\n this.render(trIdx, rows, lastRow, aggregates);\n if (this.isFirstChildRow && !args.up) {\n this.parent.getContent().firstElementChild.scrollTop = rows.length * this.parent.getRowHeight();\n }\n this.isFirstChildRow = false;\n this.rowIndex = undefined;\n this.rowObjectIndex = undefined;\n this.childCount = 0;\n for (var i = 0; i < rows.length; i++) {\n this.refRowsObj[this.parent.pageSettings.currentPage].splice(captionIndex + i + 1, 0, rows[parseInt(i.toString(), 10)]);\n }\n if (lastRow && tr.querySelector('.e-lastrowcell')) {\n this.parent.groupModule.lastCaptionRowBorder();\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshExpandandCollapse, { rows: this.refRowsObj[this.parent.pageSettings.currentPage] });\n if (this.parent.enableVirtualMaskRow) {\n this.parent.removeMaskRow();\n }\n };\n GroupLazyLoadRenderer.prototype.setRowIndexes = function (capIdx, row) {\n if (!this.captionCounts[this.parent.pageSettings.currentPage]) {\n this.captionCounts[this.parent.pageSettings.currentPage] = {};\n }\n if (row.isCaptionRow) {\n this.captionCounts[this.parent.pageSettings.currentPage][row.uid] = row.data.count;\n }\n };\n GroupLazyLoadRenderer.prototype.getStartIndex = function (capIdx, isScroll) {\n var page = this.parent.pageSettings.currentPage;\n var cache = this.groupCache[parseInt(page.toString(), 10)];\n if (isScroll) {\n return cache[this.rowObjectIndex].index + 1;\n }\n var count = 0;\n var idx = 0;\n var prevCapRow = this.getRowByUid(cache[parseInt(capIdx.toString(), 10)].parentUid);\n if (prevCapRow) {\n idx = this.prevCaptionCount(prevCapRow);\n }\n if (cache[parseInt(capIdx.toString(), 10)].indent > 0) {\n for (var i = capIdx - 1; i >= 0; i--) {\n if (cache[parseInt(i.toString(), 10)].indent < cache[parseInt(capIdx.toString(), 10)].indent) {\n break;\n }\n if (cache[parseInt(i.toString(), 10)].isCaptionRow && cache[parseInt(i.toString(), 10)]\n .indent === cache[parseInt(capIdx.toString(), 10)].indent) {\n count = count + cache[parseInt(i.toString(), 10)].data.count;\n }\n }\n }\n var index = count + idx\n + this.startIndexes[parseInt(page.toString(), 10)][cache[parseInt(capIdx.toString(), 10)].parentGid];\n return index;\n };\n GroupLazyLoadRenderer.prototype.prevCaptionCount = function (prevCapRow) {\n var page = this.parent.pageSettings.currentPage;\n var cache = this.groupCache[parseInt(page.toString(), 10)];\n var idx = 0;\n for (var i = cache.indexOf(prevCapRow) - 1; i >= 0; i--) {\n if (cache[parseInt(i.toString(), 10)].indent === 0) {\n break;\n }\n if (cache[parseInt(i.toString(), 10)].indent < prevCapRow.indent) {\n break;\n }\n if (cache[parseInt(i.toString(), 10)].isCaptionRow && cache[parseInt(i.toString(), 10)].indent === prevCapRow.indent) {\n var count = this.captionCounts[parseInt(page.toString(), 10)][cache[parseInt(i.toString(), 10)].uid];\n idx = idx + (count ? count : cache[parseInt(i.toString(), 10)].data.count);\n }\n }\n var capRow = this.getRowByUid(prevCapRow.parentUid);\n if (capRow) {\n idx = idx + this.prevCaptionCount(capRow);\n }\n return idx;\n };\n GroupLazyLoadRenderer.prototype.setStartIndexes = function () {\n var cache = this.groupCache[this.parent.pageSettings.currentPage];\n if (!this.startIndexes[this.parent.pageSettings.currentPage]) {\n var indexes = [];\n var idx = void 0;\n for (var i = 0; i < cache.length; i++) {\n if (cache[parseInt(i.toString(), 10)].isCaptionRow) {\n if (!indexes.length) {\n indexes.push(0);\n }\n else {\n indexes.push(cache[parseInt(idx.toString(), 10)].data.count + indexes[indexes.length - 1]);\n }\n idx = i;\n }\n }\n this.startIndexes[this.parent.pageSettings.currentPage] = indexes;\n }\n };\n GroupLazyLoadRenderer.prototype.hasLastChildRow = function (isScroll, captionCount, rowCount) {\n return isScroll ? captionCount === this.childCount + rowCount : captionCount === rowCount;\n };\n GroupLazyLoadRenderer.prototype.refreshCaptionRowCount = function (row, count) {\n row.data.count = count;\n };\n GroupLazyLoadRenderer.prototype.render = function (trIdx, rows, hasLastChildRow, aggregates) {\n var tr = this.parent.getContent().querySelectorAll('tr')[parseInt(trIdx.toString(), 10)];\n var scrollEle = this.parent.getContent().firstElementChild;\n var rowHeight = this.parent.getRowHeight();\n if (tr && aggregates.length) {\n for (var i = aggregates.length - 1; i >= 0; i--) {\n tr.insertAdjacentElement('afterend', this.rowRenderer.render(aggregates[parseInt(i.toString(), 10)], this.parent.getColumns()));\n }\n }\n if (tr && rows.length) {\n for (var i = rows.length - 1; i >= 0; i--) {\n if (this.confirmRowRendering(rows[parseInt(i.toString(), 10)])) {\n tr.insertAdjacentElement('afterend', this.rowRenderer.render(rows[parseInt(i.toString(), 10)], this.parent.getColumns()));\n if (this.isScrollDown) {\n scrollEle.scrollTop = scrollEle.scrollTop - rowHeight;\n }\n if (this.isScrollUp) {\n scrollEle.scrollTop = scrollEle.scrollTop + rowHeight;\n }\n }\n }\n }\n this.isScrollDown = false;\n this.isScrollUp = false;\n };\n /**\n * @param {Row} row - specifies the row\n * @param {number} index - specifies the index\n * @returns {void}\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.maintainRows = function (row, index) {\n var page = this.parent.pageSettings.currentPage;\n if (!this.rowsByUid[parseInt(page.toString(), 10)]) {\n this.rowsByUid[parseInt(page.toString(), 10)] = {};\n this.objIdxByUid[parseInt(page.toString(), 10)] = {};\n }\n if (row.uid) {\n this.rowsByUid[parseInt(page.toString(), 10)][row.uid] = row;\n }\n this.objIdxByUid[parseInt(page.toString(), 10)][row.uid] = index;\n };\n GroupLazyLoadRenderer.prototype.confirmRowRendering = function (row) {\n var check = true;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.indent) && !row.isDataRow && !row.isCaptionRow) {\n var cap = this.getRowByUid(row.parentUid);\n if (cap.isCaptionRow && !cap.isExpand) {\n check = false;\n }\n }\n return check;\n };\n GroupLazyLoadRenderer.prototype.refreshRowObjects = function (newRows, index) {\n var page = this.parent.pageSettings.currentPage;\n var rowsObject = this.groupCache[parseInt(page.toString(), 10)];\n this.rowsByUid[parseInt(page.toString(), 10)] = {};\n this.objIdxByUid[parseInt(page.toString(), 10)] = {};\n var newRowsObject = [];\n var k = 0;\n for (var i = 0; i < rowsObject.length; i++) {\n if (i === index) {\n this.maintainRows(rowsObject[parseInt(i.toString(), 10)], k);\n newRowsObject.push(rowsObject[parseInt(i.toString(), 10)]);\n k++;\n for (var j = 0; j < newRows.length; j++) {\n this.maintainRows(newRows[parseInt(j.toString(), 10)], k);\n newRowsObject.push(newRows[parseInt(j.toString(), 10)]);\n k++;\n }\n }\n else {\n this.maintainRows(rowsObject[parseInt(i.toString(), 10)], k);\n newRowsObject.push(rowsObject[parseInt(i.toString(), 10)]);\n k++;\n }\n }\n this.groupCache[this.parent.pageSettings.currentPage] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)([], newRowsObject);\n this.updateCurrentViewData();\n };\n GroupLazyLoadRenderer.prototype.getAggregateByCaptionIndex = function (index) {\n var cache = this.groupCache[this.parent.pageSettings.currentPage];\n var parent = cache[parseInt(index.toString(), 10)];\n var indent = parent.indent;\n var uid = parent.uid;\n var agg = [];\n for (var i = index + 1; i < cache.length; i++) {\n if (cache[parseInt(i.toString(), 10)].indent === indent) {\n break;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cache[parseInt(i.toString(), 10)].indent) && cache[parseInt(i.toString(), 10)].parentUid === uid) {\n agg.push(cache[parseInt(i.toString(), 10)]);\n }\n }\n return agg;\n };\n GroupLazyLoadRenderer.prototype.getChildRowsByParentIndex = function (index, deep, block, data, includeAgg, includeCollapseAgg) {\n var cache = data ? data : this.groupCache[this.parent.pageSettings.currentPage];\n var parentRow = cache[parseInt(index.toString(), 10)];\n var agg = [];\n if (!parentRow.isCaptionRow || (parentRow.isCaptionRow && !parentRow.isExpand && !includeCollapseAgg)) {\n return [];\n }\n if (includeAgg && this.parent.aggregates.length) {\n agg = this.getAggregateByCaptionIndex(index);\n }\n var indent = parentRow.indent;\n var uid = parentRow.uid;\n var rows = [];\n var count = 0;\n for (var i = index + 1; i < cache.length; i++) {\n if (cache[parseInt(i.toString(), 10)].parentUid === uid) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cache[parseInt(i.toString(), 10)].indent)) {\n continue;\n }\n count++;\n rows.push(cache[parseInt(i.toString(), 10)]);\n if (deep && cache[parseInt(i.toString(), 10)].isCaptionRow) {\n rows = rows.concat(this.getChildRowsByParentIndex(i, deep, block, data, includeAgg));\n }\n if (block && count === this.pageSize) {\n break;\n }\n }\n if (cache[parseInt(i.toString(), 10)].indent === indent) {\n break;\n }\n }\n return rows.concat(agg);\n };\n /**\n * @param {boolean} isReorder - specifies the isreorder\n * @returns {Row[]} returns the row\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.initialGroupRows = function (isReorder) {\n var rows = [];\n var cache = this.groupCache[this.parent.pageSettings.currentPage];\n if (isReorder) {\n return this.getRenderedRowsObject();\n }\n for (var i = 0; i < cache.length; i++) {\n if (cache[parseInt(i.toString(), 10)].indent === 0) {\n rows.push(cache[parseInt(i.toString(), 10)]);\n rows = rows.concat(this.getChildRowsByParentIndex(i, true, true, cache, true));\n }\n }\n return rows;\n };\n /**\n * @returns {Row[]} retruns the row\n * @hidden */\n GroupLazyLoadRenderer.prototype.getRenderedRowsObject = function () {\n var rows = [];\n var trs = [].slice.call(this.parent.getContent().querySelectorAll('tr'));\n for (var i = 0; i < trs.length; i++) {\n rows.push(this.getRowByUid(trs[parseInt(i.toString(), 10)].getAttribute('data-uid')));\n }\n return rows;\n };\n GroupLazyLoadRenderer.prototype.getCacheRowsOnDownScroll = function (index) {\n var rows = [];\n var rowsObject = this.groupCache[this.parent.pageSettings.currentPage];\n var k = index;\n for (var i = 0; i < this.pageSize; i++) {\n if (!rowsObject[parseInt(k.toString(), 10)] || rowsObject[parseInt(k.toString(), 10)]\n .indent < rowsObject[parseInt(index.toString(), 10)].indent) {\n break;\n }\n if (rowsObject[parseInt(k.toString(), 10)].indent === rowsObject[parseInt(index.toString(), 10)].indent) {\n rows.push(rowsObject[parseInt(k.toString(), 10)]);\n if (rowsObject[parseInt(k.toString(), 10)].isCaptionRow && rowsObject[parseInt(k.toString(), 10)].isExpand) {\n rows = rows.concat(this.getChildRowsByParentIndex(k, true, true, null, true));\n }\n }\n if (rowsObject[parseInt(k.toString(), 10)].indent > rowsObject[parseInt(index.toString(), 10)].indent\n || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(rowsObject[parseInt(k.toString(), 10)].indent)) {\n i--;\n }\n k++;\n }\n return rows;\n };\n GroupLazyLoadRenderer.prototype.getCacheRowsOnUpScroll = function (start, end, index) {\n var rows = [];\n var rowsObject = this.groupCache[this.parent.pageSettings.currentPage];\n var str = false;\n for (var i = 0; i < rowsObject.length; i++) {\n if (str && (!rowsObject[parseInt(i.toString(), 10)] || rowsObject[parseInt(i.toString(), 10)]\n .indent < rowsObject[parseInt(index.toString(), 10)].indent || rowsObject[parseInt(i.toString(), 10)].uid === end)) {\n break;\n }\n if (!str && rowsObject[parseInt(i.toString(), 10)].uid === start) {\n str = true;\n }\n if (str && rowsObject[parseInt(i.toString(), 10)].indent === rowsObject[parseInt(index.toString(), 10)].indent) {\n rows.push(rowsObject[parseInt(i.toString(), 10)]);\n if (rowsObject[parseInt(i.toString(), 10)].isCaptionRow && rowsObject[parseInt(i.toString(), 10)].isExpand) {\n rows = rows.concat(this.getChildRowsByParentIndex(i, true, true, null, true));\n }\n }\n }\n return rows;\n };\n GroupLazyLoadRenderer.prototype.scrollHandler = function (e) {\n if (this.parent.isDestroyed || this.childCount) {\n return;\n }\n var downTrs = [].slice.call(this.parent.getContent().getElementsByClassName('e-lazyload-middle-down'));\n var upTrs = [].slice.call(this.parent.getContent().getElementsByClassName('e-lazyload-middle-up'));\n var endTrs = [].slice.call(this.parent.getContent().getElementsByClassName('e-not-lazyload-end'));\n var tr;\n var lazyLoadDown = false;\n var lazyLoadUp = false;\n var lazyLoadEnd = false;\n if (e.scrollDown && downTrs.length) {\n var result = this.findRowElements(downTrs);\n tr = result.tr;\n lazyLoadDown = result.entered;\n }\n if (!e.scrollDown && endTrs) {\n for (var i = 0; i < endTrs.length; i++) {\n var top_1 = endTrs[parseInt(i.toString(), 10)].getBoundingClientRect().top;\n var scrollHeight = this.parent.getContent().scrollHeight;\n if (top_1 > 0 && top_1 < scrollHeight) {\n tr = endTrs[parseInt(i.toString(), 10)];\n lazyLoadEnd = true;\n this.rowIndex = tr.rowIndex;\n break;\n }\n }\n }\n if (!e.scrollDown && upTrs.length && !lazyLoadEnd) {\n var result = this.findRowElements(upTrs);\n tr = result.tr;\n lazyLoadUp = result.entered;\n }\n if (tr && !tr.classList.contains('e-masked-row')) {\n if (lazyLoadDown && e.scrollDown && lazyLoadDown && tr) {\n this.scrollDownHandler(tr);\n }\n if (!e.scrollDown && lazyLoadEnd && tr) {\n this.scrollUpEndRowHandler(tr);\n }\n if (this.cacheMode && !e.scrollDown && !lazyLoadEnd && lazyLoadUp && tr) {\n this.scrollUpHandler(tr);\n }\n }\n };\n GroupLazyLoadRenderer.prototype.scrollUpEndRowHandler = function (tr) {\n var page = this.parent.pageSettings.currentPage;\n var rows = this.groupCache[parseInt(page.toString(), 10)];\n var uid = tr.getAttribute('data-uid');\n var index = this.rowObjectIndex = this.getRowObjectIndexByUid(uid);\n var idx = index;\n var childRow = rows[parseInt(index.toString(), 10)];\n var parentCapRow = this.getRowByUid(childRow.parentUid);\n var capRowObjIdx = this.getRowObjectIndexByUid(parentCapRow.uid);\n var captionRowEle = this.parent.getContent().querySelector('tr[data-uid=' + parentCapRow.uid + ']');\n var capRowEleIndex = captionRowEle.rowIndex;\n var child = this.getChildRowsByParentIndex(capRowObjIdx);\n var childIdx = child.indexOf(childRow);\n var currentPage = Math.ceil(childIdx / this.pageSize);\n if (currentPage === 1) {\n return;\n }\n this.childCount = currentPage * this.pageSize;\n index = this.getCurrentBlockEndIndex(childRow, index);\n if (this.childCount < parentCapRow.data.count) {\n tr.classList.remove('e-not-lazyload-end');\n childRow.lazyLoadCssClass = '';\n var isRowExist = rows[index + 1] ? childRow.indent === rows[index + 1].indent : false;\n this.scrollData = isRowExist ? this.getCacheRowsOnDownScroll(index + 1) : [];\n var key = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getGroupKeysAndFields)(capRowObjIdx, rows);\n var args = {\n rowIndex: capRowEleIndex, makeRequest: !isRowExist, groupInfo: parentCapRow, fields: key.fields,\n keys: key.keys, skip: this.childCount, take: this.pageSize, isScroll: true\n };\n if (this.cacheMode && this.childCount >= (this.pageSize * this.cacheBlockSize)) {\n var child_1 = this.getChildRowsByParentIndex(capRowObjIdx);\n var currenBlock = Math.ceil((child_1.indexOf(rows[parseInt(idx.toString(), 10)]) / this.pageSize));\n var removeBlock = currenBlock - (this.cacheBlockSize - 1);\n this.removeBlock(uid, isRowExist, removeBlock, child_1);\n args.cachedRowIndex = (removeBlock * this.pageSize);\n }\n this.captionRowExpand(args);\n }\n else {\n this.childCount = 0;\n }\n };\n GroupLazyLoadRenderer.prototype.scrollDownHandler = function (tr) {\n var page = this.parent.pageSettings.currentPage;\n var rows = this.groupCache[parseInt(page.toString(), 10)];\n var uid = tr.getAttribute('data-uid');\n var index = this.getRowObjectIndexByUid(uid);\n var idx = index;\n var childRow = rows[parseInt(index.toString(), 10)];\n var parentCapRow = this.getRowByUid(childRow.parentUid);\n var capRowObjIdx = this.getRowObjectIndexByUid(parentCapRow.uid);\n var captionRowEle = this.getRowElementByUid(parentCapRow.uid);\n var capRowEleIndex = captionRowEle.rowIndex;\n var child = this.getChildRowsByParentIndex(capRowObjIdx);\n if (child.length === 0) {\n return;\n }\n var childIdx = child.indexOf(childRow);\n var currentPage = Math.ceil(childIdx / this.pageSize);\n this.childCount = currentPage * this.pageSize;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(child[this.childCount - 1])) {\n return;\n }\n if (this.parent.enableVirtualization) {\n this.parent.islazyloadRequest = true;\n }\n index = this.rowObjectIndex = this.getRowObjectIndexByUid(child[this.childCount - 1].uid);\n var lastchild = rows[parseInt(index.toString(), 10)];\n var lastRow = this.getRowElementByUid(lastchild.uid);\n this.rowIndex = lastRow.rowIndex;\n index = this.getCurrentBlockEndIndex(lastchild, index);\n if (this.childCount === parentCapRow.data.count) {\n this.parent.islazyloadRequest = false;\n }\n if (this.childCount < parentCapRow.data.count) {\n var isRowExist = rows[index + 1] ? childRow.indent === rows[index + 1].indent : false;\n if (isRowExist && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getRowElementByUid(rows[index + 1].uid))) {\n this.parent.islazyloadRequest = false;\n this.childCount = 0;\n return;\n }\n if (currentPage > 1 || !this.cacheMode) {\n tr.classList.remove('e-lazyload-middle-down');\n lastRow.classList.remove('e-not-lazyload-end');\n lastchild.lazyLoadCssClass = '';\n }\n this.scrollData = isRowExist ? this.getCacheRowsOnDownScroll(this.rowObjectIndex + 1) : [];\n var query = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getGroupKeysAndFields)(capRowObjIdx, rows);\n var args = {\n rowIndex: capRowEleIndex, makeRequest: !isRowExist, groupInfo: parentCapRow, fields: query.fields,\n keys: query.keys, skip: this.childCount, take: this.pageSize, isScroll: true\n };\n if (this.cacheMode && (this.childCount - this.pageSize) >= (this.pageSize * this.cacheBlockSize)) {\n this.isScrollDown = true;\n var child_2 = this.getChildRowsByParentIndex(capRowObjIdx);\n var currenBlock = Math.ceil((child_2.indexOf(rows[parseInt(idx.toString(), 10)]) / this.pageSize)) - 1;\n var removeBlock = (currenBlock - (this.cacheBlockSize - 1)) + 1;\n this.removeBlock(uid, isRowExist, removeBlock, child_2, lastchild);\n args.cachedRowIndex = (removeBlock * this.pageSize);\n }\n this.captionRowExpand(args);\n }\n else {\n this.childCount = 0;\n this.parent.islazyloadRequest = false;\n }\n };\n GroupLazyLoadRenderer.prototype.getCurrentBlockEndIndex = function (row, index) {\n var page = this.parent.pageSettings.currentPage;\n var rows = this.groupCache[parseInt(page.toString(), 10)];\n if (row.isCaptionRow) {\n if (row.isExpand) {\n var childCount = this.getChildRowsByParentIndex(index, true).length;\n this.rowIndex = this.rowIndex + childCount;\n }\n var agg = this.getAggregateByCaptionIndex(index);\n this.rowObjectIndex = this.rowObjectIndex + agg.length;\n var idx = index;\n for (var i = idx + 1; i < rows.length; i++) {\n if (rows[parseInt(i.toString(), 10)].indent === rows[parseInt(index.toString(), 10)].indent\n || rows[parseInt(i.toString(), 10)].indent < rows[parseInt(index.toString(), 10)].indent) {\n index = idx;\n break;\n }\n else {\n idx++;\n }\n }\n }\n return index;\n };\n GroupLazyLoadRenderer.prototype.removeBlock = function (uid, isRowExist, removeBlock, child, lastchild) {\n var page = this.parent.pageSettings.currentPage;\n var rows = this.groupCache[parseInt(page.toString(), 10)];\n var uid1 = child[(((removeBlock + 1) * this.pageSize) - 1) - this.blockSize].uid;\n var uid2 = child[(removeBlock * this.pageSize) - this.pageSize].uid;\n var uid3 = child[(removeBlock * this.pageSize)].uid;\n var firstIdx = this.getRowObjectIndexByUid(uid1);\n rows[parseInt(firstIdx.toString(), 10)].lazyLoadCssClass = 'e-lazyload-middle-up';\n this.getRowElementByUid(uid1).classList.add('e-lazyload-middle-up');\n if (lastchild) {\n this.getRowElementByUid(uid3).classList.add('e-not-lazyload-first');\n this.getRowByUid(uid3).lazyLoadCssClass = 'e-not-lazyload-first';\n this.getRowByUid(uid2).lazyLoadCssClass = '';\n }\n if (isRowExist) {\n this.removeTopRows(lastchild ? lastchild.uid : uid, uid2, uid3);\n }\n else {\n this.uid1 = uid2;\n this.uid2 = uid3;\n this.uid3 = lastchild ? lastchild.uid : uid;\n }\n };\n GroupLazyLoadRenderer.prototype.scrollUpHandler = function (tr) {\n var page = this.parent.pageSettings.currentPage;\n var rows = this.groupCache[parseInt(page.toString(), 10)];\n var uid = tr.getAttribute('data-uid');\n var row = this.getRowByUid(uid);\n var index = this.rowObjectIndex = this.getRowObjectIndexByUid(uid);\n var parentCapRow = this.getRowByUid(row.parentUid);\n var capRowObjIdx = this.rowIndex = this.getRowObjectIndexByUid(parentCapRow.uid);\n var captionRowEle = this.parent.getRowElementByUID(parentCapRow.uid);\n var capRowEleIndex = captionRowEle.rowIndex;\n var child = this.getChildRowsByParentIndex(capRowObjIdx);\n var childIdx = child.indexOf(rows[parseInt(index.toString(), 10)]);\n var currenBlock = Math.floor((childIdx / this.pageSize));\n var idx = this.blockSize;\n if ((this.blockSize * 2) > this.pageSize) {\n idx = (this.blockSize * 2) - this.pageSize;\n idx = this.blockSize - idx;\n }\n var start = child[(childIdx - (idx - 1)) - this.pageSize].uid;\n var end = child[childIdx - (idx - 1)].uid;\n this.scrollData = this.getCacheRowsOnUpScroll(start, end, index - (idx - 1));\n this.isFirstChildRow = currenBlock > 1;\n if (this.isFirstChildRow) {\n this.scrollData[0].lazyLoadCssClass = 'e-not-lazyload-first';\n }\n this.getRowByUid(end).lazyLoadCssClass = '';\n this.getRowElementByUid(end).classList.remove('e-not-lazyload-first');\n var removeBlock = currenBlock + this.cacheBlockSize;\n if (child.length !== parentCapRow.data.count && (removeBlock * this.pageSize > child.length)) {\n this.isFirstChildRow = false;\n this.scrollData[0].lazyLoadCssClass = '';\n this.getRowElementByUid(end).classList.add('e-not-lazyload-first');\n return;\n }\n var count = removeBlock * this.pageSize > parentCapRow.data.count\n ? parentCapRow.data.count : removeBlock * this.pageSize;\n var size = removeBlock * this.pageSize > parentCapRow.data.count\n ? (this.pageSize - ((this.pageSize * removeBlock) - parentCapRow.data.count)) : this.pageSize;\n var childRows = this.getChildRowsByParentIndex(rows.indexOf(child[count - 1]), true, false, null, true);\n var uid1 = childRows.length ? childRows[childRows.length - 1].uid : child[(count - 1)].uid;\n var uid2 = child[count - size].uid;\n var uid3 = child[(count - size) - 1].uid;\n var lastIdx = this.objIdxByUid[parseInt(page.toString(), 10)][\"\" + uid2] - idx;\n if (rows[parseInt(lastIdx.toString(), 10)].lazyLoadCssClass === 'e-lazyload-middle-down') {\n var trEle = this.getRowElementByUid(rows[parseInt(lastIdx.toString(), 10)].uid);\n if (trEle) {\n trEle.classList.add('e-lazyload-middle-down');\n }\n }\n this.getRowByUid(uid1).lazyLoadCssClass = '';\n this.getRowByUid(uid3).lazyLoadCssClass = 'e-not-lazyload-end';\n this.getRowElementByUid(uid3).classList.add('e-not-lazyload-end');\n this.removeBottomRows(uid1, uid2, uid3);\n this.rowIndex = tr.rowIndex - idx;\n if (tr.classList.length > 1) {\n tr.classList.remove('e-lazyload-middle-up');\n }\n else {\n tr.removeAttribute('class');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.getRowElementByUid(start))) {\n this.childCount = 0;\n this.scrollData = [];\n return;\n }\n var key = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getGroupKeysAndFields)(this.getRowObjectIndexByUid(parentCapRow.uid), rows);\n var args = {\n rowIndex: capRowEleIndex, makeRequest: false, groupInfo: parentCapRow, fields: key.fields,\n keys: key.keys, skip: this.childCount, take: this.pageSize, isScroll: true, scrollUp: true\n };\n this.isScrollUp = true;\n this.captionRowExpand(args);\n };\n GroupLazyLoadRenderer.prototype.findRowElements = function (rows) {\n var entered = false;\n var tr;\n for (var i = 0; i < rows.length; i++) {\n var rowIdx = rows[parseInt(i.toString(), 10)].rowIndex;\n if (this.parent.enableVirtualization) {\n var currentInfo = this.parent.contentModule.currentInfo;\n if (currentInfo && currentInfo.blockIndexes && currentInfo.blockIndexes[0] > 1) {\n rowIdx = rowIdx + (this.parent.contentModule.offsets[currentInfo.blockIndexes[0] - 1] /\n this.parent.getRowHeight());\n }\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_5__.isRowEnteredInGrid)(rowIdx, this.parent)) {\n entered = true;\n this.rowIndex = rowIdx;\n tr = rows[parseInt(i.toString(), 10)];\n break;\n }\n }\n return { entered: entered, tr: tr };\n };\n GroupLazyLoadRenderer.prototype.getRowElementByUid = function (uid) {\n return this.parent.getContent().querySelector('tr[data-uid=' + uid + ']');\n };\n GroupLazyLoadRenderer.prototype.removeTopRows = function (uid1, uid2, uid3) {\n var trs = [].slice.call(this.parent.getContent().querySelectorAll('tr'));\n var start = false;\n for (var i = 0; i < trs.length; i++) {\n if (trs[parseInt(i.toString(), 10)].getAttribute('data-uid') === uid3) {\n var tr = this.parent.getContent().querySelector('tr[data-uid=' + uid1 + ']');\n if (tr) {\n this.rowIndex = tr.rowIndex;\n }\n break;\n }\n if (trs[parseInt(i.toString(), 10)].getAttribute('data-uid') === uid2) {\n start = true;\n }\n if (start) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(trs[parseInt(i.toString(), 10)]);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n GroupLazyLoadRenderer.prototype.removeBottomRows = function (uid1, uid2, uid3) {\n var trs = [].slice.call(this.parent.getContent().querySelectorAll('tr'));\n var trigger = false;\n for (var i = 0; i < trs.length; i++) {\n if (trs[parseInt(i.toString(), 10)].getAttribute('data-uid') === uid2) {\n trigger = true;\n }\n if (trigger) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(trs[parseInt(i.toString(), 10)]);\n if (trs[parseInt(i.toString(), 10)].getAttribute('data-uid') === uid1) {\n break;\n }\n }\n }\n };\n GroupLazyLoadRenderer.prototype.setCache = function (e) {\n var page = this.parent.pageSettings.currentPage;\n if (this.parent.enableVirtualization) {\n this.parent.lazyLoadRender = this;\n }\n if (this.parent.enableInfiniteScrolling && e.args.requestType === 'infiniteScroll' &&\n e.args['prevPage'] !== e.args['currentPage']) {\n this.groupCache[parseInt(page.toString(), 10)] = this.initialGroupCaptions[parseInt(page.toString(), 10)] = this.groupCache[e.args['prevPage']]\n .concat((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)([], e.data));\n var groupCacheKeys = Object.keys(this.groupCache);\n for (var i = 0; i < groupCacheKeys.length; i++) {\n if (e.args['currentPage'] !== parseInt(groupCacheKeys[parseInt(i.toString(), 10)], 10)) {\n delete this.groupCache[\"\" + groupCacheKeys[parseInt(i.toString(), 10)]];\n delete this.initialGroupCaptions[\"\" + groupCacheKeys[parseInt(i.toString(), 10)]];\n }\n }\n }\n else {\n this.groupCache[parseInt(page.toString(), 10)] =\n this.initialGroupCaptions[parseInt(page.toString(), 10)] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)([], e.data);\n }\n };\n GroupLazyLoadRenderer.prototype.captionRowExpand = function (args) {\n var _this = this;\n var captionRow = args.groupInfo;\n var level = this.parent.groupSettings.columns.indexOf(captionRow.data.field) + 1;\n var pred = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.generateExpandPredicates)(args.fields, args.keys, this);\n var predicateList = (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.getPredicates)(pred);\n var lazyLoad = { level: level, skip: args.skip, take: args.take, where: predicateList };\n args.lazyLoadQuery = lazyLoad;\n args.requestType = 'onDemandGroupInfo';\n if (args.makeRequest) {\n var query = this.parent.renderModule.data.generateQuery(true);\n if (!query.isCountRequired) {\n query.isCountRequired = true;\n }\n query.lazyLoad.push({ key: 'onDemandGroupInfo', value: lazyLoad });\n this.lazyLoadQuery.push(lazyLoad['where']);\n if (args.isScroll && this.parent.enableVirtualMaskRow) {\n this.parent.showMaskRow();\n }\n else {\n this.parent.showSpinner();\n }\n this.parent.renderModule.data.getData(args, query).then(function (e) {\n if (_this.parent.enableVirtualization) {\n _this.parent.islazyloadRequest = true;\n }\n _this.parent.hideSpinner();\n _this.parent.removeMaskRow();\n if (e.result.length === 0) {\n return;\n }\n if (_this.cacheMode && _this.uid1 && _this.uid2) {\n _this.removeTopRows(_this.uid3, _this.uid1, _this.uid2);\n _this.uid1 = _this.uid2 = _this.uid3 = undefined;\n }\n _this.lazyLoadHandler({\n data: e.result, count: e.count, level: level, index: args.rowIndex,\n isRowExist: false, isScroll: args.isScroll, up: false, rowIndex: args.cachedRowIndex\n });\n })\n .catch(function (e) { return _this.parent.renderModule.dataManagerFailure(e, { requestType: 'grouping' }); });\n }\n else {\n this.lazyLoadHandler({\n data: null, count: args.groupInfo.data.count, level: level, index: args.rowIndex,\n isRowExist: true, isScroll: args.isScroll, up: args.scrollUp, rowIndex: args.cachedRowIndex\n });\n }\n };\n GroupLazyLoadRenderer.prototype.scrollReset = function (top) {\n this.parent.getContent().firstElementChild.scrollTop = top ? this.parent.getContent().firstElementChild.scrollTop + top : 0;\n };\n GroupLazyLoadRenderer.prototype.updateCurrentViewData = function () {\n var records = [];\n this.getRows().filter(function (row) {\n if (row.isDataRow) {\n records[row.index] = row.data;\n }\n });\n this.parent.currentViewData = records.length ? records : this.parent.currentViewData;\n };\n /**\n * @returns {Row[]} returns the row\n * @hidden */\n GroupLazyLoadRenderer.prototype.getGroupCache = function () {\n return this.groupCache;\n };\n /**\n * @returns {Row[]} returns the row\n * @hidden */\n GroupLazyLoadRenderer.prototype.getRows = function () {\n return this.groupCache[this.parent.pageSettings.currentPage] || [];\n };\n /**\n * @returns {Element} returns the element\n * @hidden */\n GroupLazyLoadRenderer.prototype.getRowElements = function () {\n return [].slice.call(this.parent.getContent().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.row));\n };\n /**\n * @param {number} index - specifies the index\n * @returns {Element} returns the element\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.getRowByIndex = function (index) {\n var tr = [].slice.call(this.parent.getContent().getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.row));\n var row;\n for (var i = 0; !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) && i < tr.length; i++) {\n if (parseInt(tr[parseInt(i.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.ariaRowIndex).toString(), 10) - 1 === index) {\n row = tr[parseInt(i.toString(), 10)];\n break;\n }\n }\n return row;\n };\n /**\n * Tucntion to set the column visibility\n *\n * @param {Column[]} columns - specifies the column\n * @returns {void}\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.setVisible = function (columns) {\n var gObj = this.parent;\n var rows = this.getRows();\n var testRow;\n rows.some(function (r) { if (r.isDataRow) {\n testRow = r;\n } return r.isDataRow; });\n var contentrows = this.getRows().filter(function (row) { return !row.isDetailRow; });\n for (var i = 0; i < columns.length; i++) {\n var column = columns[parseInt(i.toString(), 10)];\n var idx = this.parent.getNormalizedColumnIndex(column.uid);\n var colIdx = this.parent.getColumnIndexByUid(column.uid);\n var displayVal = column.visible === true ? '' : 'none';\n if (idx !== -1 && testRow && idx < testRow.cells.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.getColGroup().childNodes[parseInt(idx.toString(), 10)], { 'display': displayVal });\n }\n this.setDisplayNone(gObj.getDataRows(), colIdx, displayVal, contentrows, idx);\n if (!this.parent.invokedFromMedia && column.hideAtMedia) {\n this.parent.updateMediaColumns(column);\n }\n this.parent.invokedFromMedia = false;\n }\n };\n /**\n * Function to set display.\n *\n * @param {Object} tr - specifies the row object\n * @param {number} idx - specifies the index\n * @param {string} displayVal - specifies the display value\n * @param {Row[]} rows - specifies the array of rows\n * @param {number} oriIdx - specifies the index\n * @returns {void}\n * @hidden\n */\n GroupLazyLoadRenderer.prototype.setDisplayNone = function (tr, idx, displayVal, rows, oriIdx) {\n if (!this.parent.groupSettings.columns.length) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_5__.setDisplayValue)(tr, idx, displayVal, rows);\n }\n else {\n var keys = Object.keys(this.groupCache);\n for (var j = 0; j < keys.length; j++) {\n var uids = this.rowsByUid[keys[parseInt(j.toString(), 10)]];\n var idxs = Object.keys(uids);\n for (var i = 0; i < idxs.length; i++) {\n var tr_1 = this.parent.getContent()\n .querySelector('tr[data-uid=' + idxs[parseInt(i.toString(), 10)] + ']');\n var row = uids[idxs[parseInt(i.toString(), 10)]];\n if (row.isCaptionRow) {\n if (!this.captionModelGen.isEmpty()) {\n this.changeCaptionRow(row, tr_1, keys[parseInt(j.toString(), 10)]);\n }\n else {\n row.cells[row.indent + 1].colSpan = displayVal === '' ? row.cells[row.indent + 1].colSpan + 1\n : row.cells[row.indent + 1].colSpan - 1;\n if (tr_1) {\n tr_1.cells[row.indent + 1].colSpan = row.cells[row.indent + 1].colSpan;\n }\n }\n }\n if (row.isDataRow) {\n this.showAndHideCells(tr_1, idx, displayVal, false);\n row.cells[parseInt(oriIdx.toString(), 10)].visible = displayVal === '' ? true : false;\n }\n if (!row.isCaptionRow && !row.isDataRow && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.indent)) {\n row.cells[parseInt(oriIdx.toString(), 10)].visible = displayVal === '' ? true : false;\n row.visible = row.cells.some(function (cell) { return cell.isDataCell && cell.visible; });\n this.showAndHideCells(tr_1, idx, displayVal, true, row);\n }\n }\n }\n }\n };\n GroupLazyLoadRenderer.prototype.changeCaptionRow = function (row, tr, index) {\n var capRow = row;\n var captionData = row.data;\n var data = this.groupGenerator.generateCaptionRow(captionData, capRow.indent, capRow.parentGid, undefined, capRow.tIndex, capRow.parentUid);\n data.uid = row.uid;\n data.isExpand = row.isExpand;\n data.lazyLoadCssClass = row.lazyLoadCssClass;\n this.rowsByUid[parseInt(index.toString(), 10)][row.uid] = data;\n this.groupCache[parseInt(index.toString(), 10)][this.objIdxByUid[parseInt(index.toString(), 10)][row.uid]] = data;\n if (tr) {\n var tbody = this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_6__.tbody);\n tbody.replaceChild(this.rowRenderer.render(data, this.parent.getColumns()), tr);\n }\n };\n GroupLazyLoadRenderer.prototype.showAndHideCells = function (tr, idx, displayVal, isSummary, row) {\n if (tr) {\n var cls = isSummary ? 'td.e-summarycell' : 'td.e-rowcell';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(tr.querySelectorAll(cls)[parseInt(idx.toString(), 10)], { 'display': displayVal });\n if (tr.querySelectorAll(cls)[parseInt(idx.toString(), 10)].classList.contains('e-hide')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tr.querySelectorAll(cls)[parseInt(idx.toString(), 10)]], ['e-hide']);\n }\n if (isSummary) {\n if (row.visible && tr.classList.contains('e-hide')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([tr], ['e-hide']);\n }\n else if (!row.visible) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([tr], ['e-hide']);\n }\n }\n }\n };\n return GroupLazyLoadRenderer;\n}(_content_renderer__WEBPACK_IMPORTED_MODULE_7__.ContentRender));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeaderCellRenderer: () => (/* binding */ HeaderCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _services_aria_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/aria-service */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/common/common.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * HeaderCellRenderer class which responsible for building header cell content.\n *\n * @hidden\n */\nvar HeaderCellRenderer = /** @class */ (function (_super) {\n __extends(HeaderCellRenderer, _super);\n function HeaderCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent\n .createElement('TH', { className: 'e-headercell', attrs: { tabindex: '-1', role: 'columnheader' } });\n _this.ariaService = new _services_aria_service__WEBPACK_IMPORTED_MODULE_1__.AriaService();\n _this.hTxtEle = _this.parent.createElement('span', { className: 'e-headertext' });\n _this.sortEle = _this.parent.createElement('div', { className: 'e-sortfilterdiv e-icons', attrs: { 'aria-hidden': 'true' } });\n _this.gui = _this.parent.createElement('div');\n _this.chkAllBox = _this.parent.createElement('input', { className: 'e-checkselectall', attrs: { 'type': 'checkbox', 'aria-label': _this.localizer.getConstant('SelectAllCheckbox') } });\n return _this;\n }\n /**\n * Function to return the wrapper for the TH content.\n *\n * @returns {string | Element} returns the element\n */\n HeaderCellRenderer.prototype.getGui = function () {\n return this.gui.cloneNode();\n };\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {Cell} cell - specifies the column\n * @param {Object} data - specifies the data\n * @param {object} attributes - specifies the aattributes\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n HeaderCellRenderer.prototype.render = function (cell, data, attributes) {\n var node = this.element.cloneNode();\n var fltrMenuEle = this.parent.createElement('div', { className: 'e-filtermenudiv e-icons e-icon-filter', attrs: { 'aria-hidden': 'true' } });\n return this.prepareHeader(cell, node, fltrMenuEle);\n };\n /**\n * Function to refresh the cell content based on Column object.\n *\n * @param {Cell} cell - specifies the cell\n * @param {Element} node - specifies the noe\n * @returns {Element} returns the element\n */\n HeaderCellRenderer.prototype.refresh = function (cell, node) {\n this.clean(node);\n var fltrMenuEle = this.parent.createElement('div', { className: 'e-filtermenudiv e-icons e-icon-filter', attrs: { 'aria-hidden': 'true' } });\n return this.prepareHeader(cell, node, fltrMenuEle);\n };\n HeaderCellRenderer.prototype.clean = function (node) {\n node.innerHTML = '';\n };\n /* tslint:disable-next-line:max-func-body-length */\n HeaderCellRenderer.prototype.prepareHeader = function (cell, node, fltrMenuEle) {\n var column = cell.column;\n var ariaAttr = {};\n var elementDesc = '';\n //Prepare innerHtml\n var innerDIV = this.getGui();\n var hValueAccer;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(innerDIV, {\n 'e-mappinguid': column.uid,\n 'class': 'e-headercelldiv'\n });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerValueAccessor)) {\n hValueAccer = this.getValue(column.headerText, column);\n }\n if (this.parent.rowHeight && this.parent.allowSorting && column.allowSorting && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.field)) {\n node.classList.add('e-sort-icon');\n }\n if (column.type !== 'checkbox') {\n var value = column.headerText;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(hValueAccer)) {\n value = hValueAccer;\n }\n var headerText = this.hTxtEle.cloneNode();\n headerText[column.getDomSetter()] = this.parent.sanitize(value);\n innerDIV.appendChild(headerText);\n }\n else {\n column.editType = 'booleanedit';\n var checkAllWrap = (0,_syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_2__.createCheckBox)(this.parent.createElement, false, { checked: false, label: ' ' });\n this.chkAllBox.id = 'checkbox-' + column.uid;\n checkAllWrap.insertBefore(this.chkAllBox.cloneNode(), checkAllWrap.firstChild);\n if (this.parent.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([checkAllWrap], [this.parent.cssClass]);\n }\n innerDIV.appendChild(checkAllWrap);\n innerDIV.classList.add('e-headerchkcelldiv');\n }\n this.buildAttributeFromCell(node, cell);\n this.appendHtml(node, innerDIV);\n node.appendChild(this.sortEle.cloneNode());\n if ((this.parent.allowFiltering && this.parent.filterSettings.type !== 'FilterBar') &&\n (column.allowFiltering && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.field)) &&\n !(this.parent.showColumnMenu && column.showColumnMenu)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(fltrMenuEle, {\n 'e-mappinguid': 'e-flmenu-' + column.uid\n });\n elementDesc = elementDesc.length ? elementDesc + '. ' + this.localizer.getConstant('FilterDescription') : this.localizer.getConstant('FilterDescription');\n node.classList.add('e-fltr-icon');\n var matchFlColumns = [];\n if (this.parent.filterSettings.columns.length && this.parent.filterSettings.columns.length !== matchFlColumns.length) {\n var foreignColumn = this.parent.getForeignKeyColumns();\n for (var index = 0; index < this.parent.columns.length; index++) {\n for (var count = 0; count < this.parent.filterSettings.columns.length; count++) {\n if (this.parent.filterSettings.columns[parseInt(count.toString(), 10)].field === column.field\n || (foreignColumn.length\n && column.foreignKeyValue === this.parent.filterSettings.columns[parseInt(count.toString(), 10)].field)) {\n fltrMenuEle.classList.add('e-filtered');\n matchFlColumns.push(column.field);\n break;\n }\n }\n }\n }\n node.appendChild(fltrMenuEle.cloneNode());\n }\n if (cell.className) {\n node.classList.add(cell.className);\n }\n if (column.customAttributes) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.setStyleAndAttributes)(node, column.customAttributes);\n }\n if (this.parent.allowSorting && column.allowSorting) {\n ariaAttr.sort = 'none';\n elementDesc = elementDesc.length ? elementDesc + '. ' + this.localizer.getConstant('SortDescription') : this.localizer.getConstant('SortDescription');\n }\n if ((this.parent.allowGrouping && column.allowGrouping) || this.parent.allowReordering && column.allowReordering) {\n ariaAttr.grabbed = false;\n elementDesc = elementDesc.length ? elementDesc + '. ' + this.localizer.getConstant('GroupDescription') : this.localizer.getConstant('GroupDescription');\n }\n if (this.parent.showColumnMenu && column.type !== 'checkbox' && !column.template) {\n elementDesc = elementDesc.length ? elementDesc + '. ' + this.localizer.getConstant('ColumnMenuDescription') : this.localizer.getConstant('ColumnMenuDescription');\n }\n node = this.extendPrepareHeader(column, node);\n var result;\n var gridObj = this.parent;\n var colIndex = gridObj.getColumnIndexByField(column.field);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerTemplate)) {\n //need to pass the template id for blazor headertemplate\n var headerTempID = gridObj.element.id + column.uid + 'headerTemplate';\n var str = 'isStringTemplate';\n var col = column;\n var isReactCompiler = this.parent.isReact && typeof (column.headerTemplate) !== 'string' && !(column.headerTemplate.prototype && column.headerTemplate.prototype.CSPTemplate);\n var isReactChild_1 = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var isReactPrintGrid = this.parent.printGridParent && this.parent.printGridParent.isReact;\n if (isReactCompiler || isReactChild_1 || isReactPrintGrid) {\n var copied = { 'index': colIndex };\n node.firstElementChild.innerHTML = '';\n column.getHeaderTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(copied, col), gridObj, 'headerTemplate', headerTempID, this.parent[\"\" + str], null, node.firstElementChild);\n this.parent.renderTemplates();\n }\n else {\n result = column.getHeaderTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ 'index': colIndex }, col), gridObj, 'headerTemplate', headerTempID, this.parent[\"\" + str], undefined, undefined, this.parent['root']);\n node.firstElementChild.innerHTML = '';\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.appendChildren)(node.firstElementChild, result);\n }\n }\n this.ariaService.setOptions(node, ariaAttr);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerTextAlign) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.textAlign)) {\n var alignment = column.headerTextAlign || column.textAlign;\n if (alignment.toLowerCase() === 'right' || alignment.toLowerCase() === 'left') {\n node.classList.add(alignment.toLowerCase() === 'right' ? 'e-rightalign' : 'e-leftalign');\n }\n else if (alignment.toLowerCase() === 'center') {\n node.classList.add('e-centeralign');\n }\n else if (alignment.toLowerCase() === 'justify') {\n node.classList.add('e-justifyalign');\n }\n }\n if (column.clipMode === 'Clip' || (!column.clipMode && this.parent.clipMode === 'Clip')) {\n node.classList.add('e-gridclip');\n }\n else if ((column.clipMode === 'EllipsisWithTooltip' || (!column.clipMode && this.parent.clipMode === 'EllipsisWithTooltip'))\n && !(gridObj.allowTextWrap && (gridObj.textWrapSettings.wrapMode === 'Header'\n || gridObj.textWrapSettings.wrapMode === 'Both'))) {\n if (column.type !== 'checkbox') {\n node.classList.add('e-ellipsistooltip');\n }\n }\n if (elementDesc) {\n var titleElem = (this.parent.createElement('span', { id: 'headerTitle-' + column.uid, innerHTML: elementDesc }));\n titleElem.style.display = 'none';\n node.appendChild(titleElem);\n node.setAttribute('aria-describedby', titleElem.id);\n }\n node.setAttribute('aria-rowspan', (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.rowSpan) ? cell.rowSpan : 1).toString());\n node.setAttribute('aria-colspan', '1');\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n if (((this.parent.isReact && this.parent.requireTemplateRef)\n || (isReactChild && this.parent.parentDetails.parentInstObj.requireTemplateRef))\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerTemplate)) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef_1 = this;\n thisRef_1.parent.renderTemplates(function () {\n thisRef_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.headerCellInfo, { cell: cell, node: node });\n });\n }\n else {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_4__.headerCellInfo, { cell: cell, node: node });\n }\n if (this.parent.isFrozenGrid()) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.addStickyColumnPosition)(this.parent, column, node);\n }\n return node;\n };\n HeaderCellRenderer.prototype.getValue = function (field, column) {\n return column.headerValueAccessor(field, column);\n };\n HeaderCellRenderer.prototype.extendPrepareHeader = function (column, node) {\n if (this.parent.showColumnMenu && column.showColumnMenu && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.field)) {\n var element = (this.parent.createElement('div', { className: 'e-icons e-columnmenu', attrs: { 'aria-hidden': 'true' } }));\n var matchFilteredColumns = [];\n if (this.parent.filterSettings.columns.length && this.parent.filterSettings.columns.length !== matchFilteredColumns.length) {\n for (var i = 0; i < this.parent.columns.length; i++) {\n for (var j = 0; j < this.parent.filterSettings.columns.length; j++) {\n if (this.parent.filterSettings.columns[parseInt(j.toString(), 10)].field === column.field) {\n element.classList.add('e-filtered');\n matchFilteredColumns.push(column.field);\n break;\n }\n }\n }\n }\n node.classList.add('e-fltr-icon');\n node.appendChild(element);\n }\n if (this.parent.allowResizing) {\n var handler = this.parent.createElement('div');\n handler.className = column.allowResizing ? 'e-rhandler e-rcursor' : 'e-rsuppress';\n node.appendChild(handler);\n }\n return node;\n };\n /**\n * Function to specifies how the result content to be placed in the cell.\n *\n * @param {Element} node - specifies the node\n * @param {string|Element} innerHtml - specifies the innerHtml\n * @returns {Element} returns the element\n */\n HeaderCellRenderer.prototype.appendHtml = function (node, innerHtml) {\n node.appendChild(innerHtml);\n return node;\n };\n return HeaderCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_5__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-indent-renderer.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-indent-renderer.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeaderIndentCellRenderer: () => (/* binding */ HeaderIndentCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n/**\n * HeaderIndentCellRenderer class which responsible for building header indent cell.\n *\n * @hidden\n */\nvar HeaderIndentCellRenderer = /** @class */ (function (_super) {\n __extends(HeaderIndentCellRenderer, _super);\n function HeaderIndentCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TH', { className: 'e-grouptopleftcell' });\n return _this;\n }\n /**\n * Function to render the indent cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n HeaderIndentCellRenderer.prototype.render = function (cell, data) {\n var node = this.element.cloneNode();\n node.appendChild(this.parent.createElement('div', { className: 'e-headercelldiv e-emptycell', innerHTML: '' }));\n return node;\n };\n return HeaderIndentCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_0__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-indent-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeaderRender: () => (/* binding */ HeaderRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _row_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./row-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/button/button.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n// eslint-disable-next-line valid-jsdoc, jsdoc/require-param\n/**\n * Content module is used to render grid content\n *\n * @hidden\n */\nvar HeaderRender = /** @class */ (function () {\n /**\n * Constructor for header renderer module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} serviceLocator - specifies the serviceLocator\n */\n function HeaderRender(parent, serviceLocator) {\n var _this = this;\n this.frzIdx = 0;\n this.notfrzIdx = 0;\n this.isFirstCol = false;\n this.isReplaceDragEle = true;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.helper = function (e) {\n var gObj = _this.parent;\n var target = _this.draggable.currentStateTarget;\n var parentEle = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(target, 'e-headercell');\n if (!(gObj.allowReordering || gObj.allowGrouping) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parentEle)\n && parentEle.getElementsByClassName('e-checkselectall').length > 0)) {\n return false;\n }\n var visualElement = _this.parent.createElement('div', { className: 'e-cloneproperties e-dragclone e-headerclone' });\n var element = target.classList.contains('e-headercell') ? target : parentEle;\n if (!element || (!gObj.allowReordering && element.classList.contains('e-stackedheadercell'))) {\n return false;\n }\n var height = element.offsetHeight;\n var headercelldiv = element.querySelector('.e-headercelldiv') || element.querySelector('.e-stackedheadercelldiv');\n var col;\n if (headercelldiv) {\n if (element.querySelector('.e-stackedheadercelldiv')) {\n col = gObj.getStackedHeaderColumnByHeaderText(headercelldiv.innerText.trim(), gObj.columns);\n }\n else {\n col = gObj.getColumnByUid(headercelldiv.getAttribute('e-mappinguid'));\n }\n _this.column = col;\n if (_this.column.lockColumn) {\n return false;\n }\n visualElement.setAttribute('e-mappinguid', _this.column.uid);\n }\n if (col && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.headerTemplate)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.headerTemplate)) {\n var colIndex = gObj.getColumnIndexByField(col.field);\n var result = col.getHeaderTemplate()((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ 'index': colIndex }, col), gObj, 'headerTemplate', null, null, null, null, gObj.root);\n var isReactCompiler = gObj.isReact && typeof (col.headerTemplate) !== 'string';\n var isReactChild = gObj.parentDetails && gObj.parentDetails.parentInstObj &&\n gObj.parentDetails.parentInstObj.isReact;\n if (isReactCompiler || isReactChild) {\n gObj.renderTemplates();\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.appendChildren)(visualElement, result);\n }\n else {\n visualElement.innerHTML = col.headerTemplate;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(visualElement.firstChild) && visualElement.firstChild.nodeType === 1) {\n visualElement.firstChild.style.pointerEvents = 'none';\n }\n }\n else {\n visualElement.innerHTML = headercelldiv ?\n col.headerText : element.firstElementChild.innerHTML;\n }\n visualElement.style.width = element.offsetWidth + 'px';\n visualElement.style.height = element.offsetHeight + 'px';\n visualElement.style.lineHeight = (height - 6).toString() + 'px';\n gObj.element.appendChild(visualElement);\n return visualElement;\n };\n this.dragStart = function (e) {\n var gObj = _this.parent;\n gObj.element.querySelector('.e-gridpopup').style.display = 'none';\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDragStart, { target: _this.draggable.currentStateTarget, column: _this.column, event: e.event });\n };\n this.drag = function (e) {\n var gObj = _this.parent;\n var target = e.target;\n if (target) {\n var closest = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-grid');\n var cloneElement = _this.parent.element.querySelector('.e-cloneproperties');\n if (!closest || closest.getAttribute('id') !== gObj.element.getAttribute('id')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(cloneElement, ['e-notallowedcur'], ['e-defaultcur']);\n if (gObj.allowReordering) {\n gObj.element.querySelector('.e-reorderuparrow').style.display = 'none';\n gObj.element.querySelector('.e-reorderdownarrow').style.display = 'none';\n }\n if (!gObj.groupSettings.allowReordering) {\n return;\n }\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDrag, { target: e.target, column: _this.column, event: e.event });\n }\n };\n this.dragStop = function (e) {\n var gObj = _this.parent;\n var cancel;\n gObj.element.querySelector('.e-gridpopup').style.display = 'none';\n if ((!(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-headercell') && !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-groupdroparea')) ||\n (!gObj.allowReordering && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-headercell')) ||\n (!e.helper.getAttribute('e-mappinguid') && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(e.target, 'e-groupdroparea'))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.helper);\n cancel = true;\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnDragStop, { target: e.target, event: e.event, column: _this.column, cancel: cancel });\n };\n this.drop = function (e) {\n var gObj = _this.parent;\n var uid = e.droppedElement.getAttribute('e-mappinguid');\n var closest = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-grid');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(e.droppedElement);\n if (closest && closest.getAttribute('id') !== gObj.element.getAttribute('id') ||\n !(gObj.allowReordering || gObj.allowGrouping)) {\n return;\n }\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerDrop, { target: e.target, uid: uid, droppedElement: e.droppedElement });\n };\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.ariaService = this.serviceLocator.getService('ariaService');\n this.widthService = this.serviceLocator.getService('widthService');\n if (this.parent.isDestroyed) {\n return;\n }\n if (!this.parent.enableColumnVirtualization) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnVisibilityChanged, this.setVisible, this);\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnPositionChanged, this.colPosRefresh, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.initialEnd, this.renderCustomToolbar, this);\n if (this.parent.rowRenderingMode === 'Vertical') {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.uiUpdate, this.updateCustomResponsiveToolbar, this);\n }\n }\n /**\n * The function is used to render grid header div\n *\n * @returns {void}\n */\n HeaderRender.prototype.renderPanel = function () {\n var div = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridHeader);\n var isRendered = (div != null);\n div = isRendered ? div : this.parent.createElement('div', { className: 'e-gridheader' });\n var innerDiv = isRendered ? div.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent) :\n this.parent.createElement('div', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent });\n this.toggleStackClass(div);\n div.appendChild(innerDiv);\n this.setPanel(div);\n if (!isRendered) {\n this.parent.element.appendChild(div);\n }\n };\n /**\n * The function is used to render grid header div\n *\n * @returns {void}\n */\n HeaderRender.prototype.renderTable = function () {\n var headerDiv = this.getPanel();\n headerDiv.appendChild(this.createHeaderTable());\n this.setTable(headerDiv.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.table));\n this.initializeHeaderDrag();\n this.initializeHeaderDrop();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerRefreshed, { rows: this.rows });\n };\n /**\n * Get the header content div element of grid\n *\n * @returns {Element} returns the element\n */\n HeaderRender.prototype.getPanel = function () {\n return this.headerPanel;\n };\n /**\n * Set the header content div element of grid\n *\n * @param {Element} panel - specifies the panel element\n * @returns {void}\n */\n HeaderRender.prototype.setPanel = function (panel) {\n this.headerPanel = panel;\n };\n /**\n * Get the header table element of grid\n *\n * @returns {Element} returns the element\n */\n HeaderRender.prototype.getTable = function () {\n return this.headerTable;\n };\n /**\n * Set the header table element of grid\n *\n * @param {Element} table - specifies the table element\n * @returns {void}\n */\n HeaderRender.prototype.setTable = function (table) {\n this.headerTable = table;\n };\n /**\n * Get the header colgroup element\n *\n * @returns {Element} returns the element\n */\n HeaderRender.prototype.getColGroup = function () {\n return this.colgroup;\n };\n /**\n * Set the header colgroup element\n *\n * @param {Element} colGroup - specifies the colgroup\n * @returns {Element} returns the element\n */\n HeaderRender.prototype.setColGroup = function (colGroup) {\n return this.colgroup = colGroup;\n };\n /**\n * Get the header row element collection.\n *\n * @returns {Element[]} returns the element\n */\n HeaderRender.prototype.getRows = function () {\n var table = this.getTable();\n return table.tHead.rows;\n };\n /**\n * The function is used to create header table elements\n *\n * @returns {Element} returns the element\n * @hidden\n */\n HeaderRender.prototype.createHeaderTable = function () {\n var table = this.createTable();\n var innerDiv = this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent);\n innerDiv.appendChild(table);\n return innerDiv;\n };\n /**\n * The function is used to create header table elements\n *\n * @param {Element} tableEle - specifies the table Element\n * @param {freezeTable} tableName - specifies the table name\n * @returns {Element} returns the element\n * @hidden\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n HeaderRender.prototype.createHeader = function (tableEle, tableName) {\n if (tableEle === void 0) { tableEle = null; }\n var gObj = this.parent;\n if (this.getTable()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.getTable());\n }\n var table = this.parent.createElement('table', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.table, attrs: { role: 'presentation' } });\n table.style.cssText = 'border-collapse: separate; border-spacing: .25px;';\n var findHeaderRow = this.createHeaderContent(tableName);\n var thead = findHeaderRow.thead;\n var tbody = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody, { className: this.parent.frozenRows ||\n ((this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) && this.parent.editSettings.showAddNewRow) ? '' :\n 'e-hide', attrs: { role: 'rowgroup' } });\n this.caption = this.parent.createElement('caption', { innerHTML: this.parent.element.id + '_header_table', className: 'e-hide' });\n var colGroup = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.colGroup);\n var rowBody = this.parent.createElement('tr', { attrs: { role: 'row' }, className: (this.parent.enableVirtualization ||\n this.parent.enableInfiniteScrolling) && this.parent.editSettings.showAddNewRow ? 'e-hide' : '' });\n var bodyCell;\n var rows = this.rows = findHeaderRow.rows;\n for (var i = 0, len = rows.length; i < len; i++) {\n for (var j = 0, len_1 = rows[parseInt(i.toString(), 10)].cells.length; j < len_1; j++) {\n bodyCell = this.parent.createElement('td');\n rowBody.appendChild(bodyCell);\n }\n }\n if (gObj.allowFiltering || gObj.allowSorting || gObj.allowGrouping) {\n table.classList.add('e-sortfilter');\n }\n this.updateColGroup(colGroup);\n tbody.appendChild(rowBody);\n table.appendChild(this.setColGroup(colGroup));\n table.appendChild(thead);\n table.appendChild(tbody);\n table.appendChild(this.caption);\n return table;\n };\n /**\n * @param {Element} tableEle - specifies the column\n * @returns {Element} returns the element\n * @hidden\n */\n HeaderRender.prototype.createTable = function (tableEle) {\n if (tableEle === void 0) { tableEle = null; }\n return this.createHeader(tableEle);\n };\n HeaderRender.prototype.createHeaderContent = function (tableName) {\n var gObj = this.parent;\n var columns = gObj.getColumns();\n var thead = this.parent.createElement('thead', { attrs: { 'role': 'rowgroup' } });\n var colHeader = this.parent.createElement('tr', { className: 'e-columnheader', attrs: { role: 'row' } });\n var rowRenderer = new _row_renderer__WEBPACK_IMPORTED_MODULE_4__.RowRenderer(this.serviceLocator, _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.Header, gObj);\n rowRenderer.element = colHeader;\n var rows = [];\n var headerRow;\n this.colDepth = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.measureColumnDepth)(gObj.columns);\n for (var i = 0, len = this.colDepth; i < len; i++) {\n rows[parseInt(i.toString(), 10)] = this.generateRow(i);\n rows[parseInt(i.toString(), 10)].cells = [];\n }\n rows = this.ensureColumns(rows);\n rows = this.getHeaderCells(rows, tableName);\n if (gObj.isRowDragable() && this.parent.getFrozenMode() === 'Right') {\n for (var i = 0, len = rows.length; i < len; i++) {\n rows[parseInt(i.toString(), 10)].cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.RowDragHIcon));\n }\n }\n var headerTemplateColumn = columns.filter(function (a) { return a.headerTemplate; });\n if (headerTemplateColumn.length && (this.parent.isReact || this.parent.isVue)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.clearReactVueTemplates)(this.parent, ['headerTemplate']);\n }\n for (var i = 0, len = this.colDepth; i < len; i++) {\n headerRow = rowRenderer.render(rows[parseInt(i.toString(), 10)], columns);\n if (this.parent.rowHeight && headerRow.querySelector('.e-headercell')) {\n headerRow.style.height = this.parent.rowHeight + 'px';\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.addFixedColumnBorder)(headerRow);\n thead.appendChild(headerRow);\n }\n var findHeaderRow = {\n thead: thead,\n rows: rows\n };\n return findHeaderRow;\n };\n HeaderRender.prototype.updateColGroup = function (colGroup) {\n var cols = this.parent.getColumns();\n var col;\n var indexes = this.parent.getColumnIndexesInView();\n colGroup.id = this.parent.element.id + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.colGroup;\n if (this.parent.allowGrouping) {\n for (var i = 0, len = this.parent.groupSettings.columns.length; i < len; i++) {\n if (this.parent.enableColumnVirtualization && indexes.indexOf(i) === -1) {\n continue;\n }\n col = this.parent.createElement('col', { className: 'e-group-intent' });\n colGroup.appendChild(col);\n }\n }\n if (this.parent.detailTemplate || this.parent.childGrid) {\n col = this.parent.createElement('col', { className: 'e-detail-intent' });\n colGroup.appendChild(col);\n }\n if (this.parent.isRowDragable() && this.parent.getFrozenMode() !== 'Right') {\n col = this.parent.createElement('col', { className: 'e-drag-intent' });\n colGroup.appendChild(col);\n }\n for (var i = 0, len = cols.length; i < len; i++) {\n col = this.parent.createElement('col');\n if (cols[parseInt(i.toString(), 10)].visible === false) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(col, { 'display': 'none' });\n }\n colGroup.appendChild(col);\n }\n if (this.parent.isRowDragable() && this.parent.getFrozenMode() === 'Right') {\n col = this.parent.createElement('col', { className: 'e-drag-intent' });\n colGroup.appendChild(col);\n }\n return colGroup;\n };\n HeaderRender.prototype.ensureColumns = function (rows) {\n //TODO: generate dummy column for group, detail, stacked row here; ensureColumns here\n var gObj = this.parent;\n var indexes = this.parent.getColumnIndexesInView();\n for (var i = 0, len = rows.length; i < len; i++) {\n if (gObj.allowGrouping) {\n for (var c = 0, len_2 = gObj.groupSettings.columns.length; c < len_2; c++) {\n if (this.parent.enableColumnVirtualization && indexes.indexOf(c) === -1) {\n continue;\n }\n rows[parseInt(i.toString(), 10)].cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.HeaderIndent));\n }\n }\n if (gObj.detailTemplate || gObj.childGrid) {\n var args = {};\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.detailIndentCellInfo, args);\n rows[parseInt(i.toString(), 10)].cells.push(this.generateCell(args, _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.DetailHeader));\n }\n if (gObj.isRowDragable() && this.parent.getFrozenMode() !== 'Right') {\n rows[parseInt(i.toString(), 10)].cells.push(this.generateCell({}, _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.RowDragHIcon));\n }\n }\n return rows;\n };\n HeaderRender.prototype.getHeaderCells = function (rows, tableName) {\n var thead = this.parent.getHeaderTable() && this.parent.getHeaderTable().querySelector('thead');\n var cols = this.parent.enableColumnVirtualization ?\n this.parent.getColumns(this.parent.enablePersistence) : this.parent.columns;\n this.frzIdx = 0;\n this.notfrzIdx = 0;\n if (this.parent.lockcolPositionCount) {\n for (var i = 0; i < (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cols) ? cols.length : 0); i++) {\n this.lockColsRendered = false;\n rows = this.appendCells(cols[parseInt(i.toString(), 10)], rows, 0, i === 0, false, i === (cols.length - 1), thead, tableName, false);\n }\n }\n for (var i = 0, len = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cols) ? cols.length : 0); i < len; i++) {\n this.notfrzIdx = 0;\n this.lockColsRendered = true;\n rows = this.appendCells(cols[parseInt(i.toString(), 10)], rows, 0, i === 0, false, i === (len - 1), thead, tableName, false);\n }\n return rows;\n };\n HeaderRender.prototype.appendCells = function (cols, rows, index, isFirstObj, isFirstCol, isLastCol, isMovable, tableName, isStackLastCol) {\n var lastCol = isLastCol ? isStackLastCol ? 'e-laststackcell' : 'e-lastcell' : '';\n var isLockColumn = !this.parent.lockcolPositionCount\n || (cols.lockColumn && !this.lockColsRendered) || (!cols.lockColumn && this.lockColsRendered);\n if (!cols.columns) {\n if (isLockColumn) {\n rows[parseInt(index.toString(), 10)].cells.push(this.generateCell(cols, _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.Header, this.colDepth - index, (isFirstObj ? '' : (isFirstCol ? 'e-firstcell' : '')) + lastCol, index, this.parent.getColumnIndexByUid(cols.uid)));\n }\n if (this.parent.lockcolPositionCount) {\n if ((this.frzIdx + this.notfrzIdx < this.parent.frozenColumns) &&\n ((cols.lockColumn && !this.lockColsRendered) || (!cols.lockColumn && this.lockColsRendered))) {\n this.frzIdx++;\n }\n else {\n this.notfrzIdx++;\n }\n }\n else {\n this.frzIdx++;\n }\n }\n else {\n this.isFirstCol = false;\n var colSpan = this.getCellCnt(cols, 0);\n if (colSpan) {\n var stackedLockColsCount = this.getStackedLockColsCount(cols, 0);\n var isStackedLockColumn = this.parent.lockcolPositionCount === 0\n || (!this.lockColsRendered && stackedLockColsCount !== 0)\n || (this.lockColsRendered && (colSpan - stackedLockColsCount) !== 0);\n if (isStackedLockColumn) {\n rows[parseInt(index.toString(), 10)].cells.push(new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell({\n cellType: _base_enum__WEBPACK_IMPORTED_MODULE_5__.CellType.StackedHeader, column: cols,\n colSpan: this.getColSpan(colSpan, stackedLockColsCount),\n className: isFirstObj ? '' : (isFirstCol ? 'e-firstcell' : '')\n }));\n }\n }\n if (this.parent.lockcolPositionCount && !this.lockColsRendered) {\n for (var i = 0; i < cols.columns.length; i++) {\n rows = this.appendCells(cols.columns[parseInt(i.toString(), 10)], rows, index + 1, isFirstObj, i === 0, i === (cols.columns.length - 1) && isLastCol, isMovable, tableName, false);\n }\n }\n if (this.lockColsRendered) {\n for (var i = 0, len = cols.columns.length; i < len; i++) {\n isFirstObj = isFirstObj && i === 0;\n var isFirstCol_1 = this.isFirstCol = cols.columns[parseInt(i.toString(), 10)].visible\n && !isFirstObj;\n var isLaststackedCol = i === (len - 1) && isLastCol;\n rows = this.appendCells(cols.columns[parseInt(i.toString(), 10)], rows, index + 1, isFirstObj, isFirstCol_1 && !isLaststackedCol, isLaststackedCol, isMovable, tableName, true);\n }\n }\n }\n return rows;\n };\n HeaderRender.prototype.getStackedLockColsCount = function (col, lockColsCount) {\n if (col.columns) {\n for (var i = 0; i < col.columns.length; i++) {\n lockColsCount = this.getStackedLockColsCount(col.columns[parseInt(i.toString(), 10)], lockColsCount);\n }\n }\n else if (col.lockColumn) {\n lockColsCount++;\n }\n return lockColsCount;\n };\n HeaderRender.prototype.getColSpan = function (colSpan, stackedLockColsCount) {\n colSpan = !this.lockColsRendered ? stackedLockColsCount : colSpan - stackedLockColsCount;\n return colSpan;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n HeaderRender.prototype.generateRow = function (index) {\n return new _models_row__WEBPACK_IMPORTED_MODULE_7__.Row({});\n };\n HeaderRender.prototype.generateCell = function (column, cellType, rowSpan, className, rowIndex, colIndex) {\n var opt = {\n 'visible': column.visible,\n 'isDataCell': false,\n 'isTemplate': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerTemplate),\n 'rowID': '',\n 'column': column,\n 'cellType': cellType,\n 'rowSpan': rowSpan,\n 'className': className,\n 'index': rowIndex,\n 'colIndex': colIndex\n };\n if (!opt.rowSpan || opt.rowSpan < 2) {\n delete opt.rowSpan;\n }\n return new _models_cell__WEBPACK_IMPORTED_MODULE_6__.Cell(opt);\n };\n /**\n * Function to hide header table column based on visible property\n *\n * @param {Column[]} columns - specifies the column\n * @returns {void}\n */\n HeaderRender.prototype.setVisible = function (columns) {\n var gObj = this.parent;\n var displayVal;\n var idx;\n for (var c = 0, clen = columns.length; c < clen; c++) {\n var column = columns[parseInt(c.toString(), 10)];\n idx = gObj.getNormalizedColumnIndex(column.uid);\n displayVal = column.visible ? '' : 'none';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.getColGroup().children[parseInt(idx.toString(), 10)], { 'display': displayVal });\n if (gObj.editSettings.showAddNewRow && gObj.element.querySelector('.e-addedrow')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(gObj.element.querySelector('.e-addedrow').querySelector('colgroup').childNodes[parseInt(idx.toString(), 10)], { 'display': displayVal });\n }\n }\n this.refreshUI();\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.isAddNewRow = true;\n }\n };\n HeaderRender.prototype.colPosRefresh = function () {\n this.refreshUI();\n };\n /**\n * Refresh the header of the Grid.\n *\n * @returns {void}\n */\n HeaderRender.prototype.refreshUI = function () {\n var headerDiv = this.getPanel();\n this.toggleStackClass(headerDiv);\n var table = this.getTable();\n var tableName = undefined;\n if (table) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(table);\n if (this.parent.editSettings.showAddNewRow && !this.parent.isAddNewRow && table.querySelector('.e-addedrow') &&\n (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {\n (table.querySelector('.e-addedrow')).classList.add('e-addrow-removed');\n this.parent.isAddNewRow = true;\n }\n table.removeChild(table.firstChild);\n table.removeChild(table.childNodes[0]);\n var colGroup = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.colGroup);\n var findHeaderRow = this.createHeaderContent(tableName);\n this.rows = findHeaderRow.rows;\n table.insertBefore(findHeaderRow.thead, table.firstChild);\n this.updateColGroup(colGroup);\n table.insertBefore(this.setColGroup(colGroup), table.firstChild);\n this.appendContent(table);\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.colGroupRefresh, {});\n this.widthService.setWidthToColumns();\n this.parent.updateDefaultCursor();\n this.initializeHeaderDrag();\n var rows = [].slice.call(headerDiv.querySelectorAll('tr.e-columnheader'));\n for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {\n var row = rows_1[_i];\n var gCells = [].slice.call(row.getElementsByClassName('e-grouptopleftcell'));\n if (gCells.length) {\n gCells[gCells.length - 1].classList.add('e-lastgrouptopleftcell');\n }\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerRefreshed, { rows: this.rows });\n if (this.parent.enableColumnVirtualization && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(table, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.movableHeader)) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerRefreshed, { rows: this.rows, args: { isFrozen: false, isXaxis: true } });\n }\n if (this.parent.allowTextWrap && this.parent.textWrapSettings.wrapMode === 'Header') {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.wrap)(rows, true);\n }\n }\n var firstHeaderCell = this.parent.getHeaderContent().querySelector('.e-headercell:not(.e-hide)');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(firstHeaderCell)) {\n firstHeaderCell.tabIndex = 0;\n }\n };\n HeaderRender.prototype.toggleStackClass = function (div) {\n var column = this.parent.columns;\n var stackedHdr = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column) ? column.some(function (column) { return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.columns); })\n : false);\n if (stackedHdr) {\n div.classList.add('e-stackedheader');\n }\n else {\n div.classList.remove('e-stackedheader');\n }\n };\n HeaderRender.prototype.appendContent = function (table) {\n this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent).appendChild(table);\n };\n HeaderRender.prototype.getCellCnt = function (col, cnt) {\n if (col.columns) {\n for (var i = 0, len = col.columns.length; i < len; i++) {\n cnt = this.getCellCnt(col.columns[parseInt(i.toString(), 10)], cnt);\n }\n }\n else {\n if (col.visible) {\n cnt++;\n }\n }\n return cnt;\n };\n HeaderRender.prototype.initializeHeaderDrag = function () {\n var gObj = this.parent;\n if (!(this.parent.allowReordering || (this.parent.allowGrouping && this.parent.groupSettings.showDropArea))) {\n return;\n }\n this.draggable = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Draggable(gObj.getHeaderContent(), {\n dragTarget: '.e-headercell',\n distance: 5,\n helper: this.helper,\n dragStart: this.dragStart,\n drag: this.drag,\n dragStop: this.dragStop,\n abort: '.e-rhandler',\n isReplaceDragEle: this.isReplaceDragEle\n });\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.droppableDestroy, this);\n };\n HeaderRender.prototype.initializeHeaderDrop = function () {\n var gObj = this.parent;\n this.droppable = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Droppable(gObj.getHeaderContent(), {\n accept: '.e-dragclone',\n drop: this.drop\n });\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_2__.destroy, this.droppableDestroy, this);\n };\n HeaderRender.prototype.droppableDestroy = function () {\n if (this.droppable && !this.droppable.isDestroyed) {\n this.droppable.destroy();\n }\n if (this.draggable && !this.draggable.isDestroyed) {\n this.draggable.destroy();\n }\n };\n HeaderRender.prototype.renderCustomToolbar = function () {\n var _this = this;\n var gObj = this.parent;\n if (gObj.rowRenderingMode === 'Vertical' && !gObj.toolbar\n && (gObj.allowSorting || (gObj.allowFiltering && gObj.filterSettings.type !== 'FilterBar'))) {\n var div = gObj.createElement('div', { className: 'e-res-toolbar e-toolbar' });\n var toolbarItems = gObj.createElement('div', { className: 'e-toolbar-items' });\n var toolbarLeft = gObj.createElement('div', { className: 'e-toolbar-left' });\n var count = this.parent.allowFiltering && this.parent.allowSorting ? 2 : 1;\n for (var i = 0; i < count; i++) {\n var toolbarItem = gObj.createElement('div', { className: 'e-toolbar-item e-gridresponsiveicons e-icons e-tbtn-align' });\n var cls = count === 1 ? this.parent.allowSorting ? 'sort'\n : 'filter' : i === 1 ? 'sort' : 'filter';\n var button = gObj.createElement('button', { className: 'e-tbar-btn e-control e-btn e-lib e-icon-btn' });\n var span = gObj.createElement('span', { className: 'e-btn-icon e-res' + cls + '-icon e-icons' });\n button.appendChild(span);\n var btnObj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_8__.Button({\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n btnObj.appendTo(button);\n button.onclick = function (e) {\n if (e.target.classList.contains('e-ressort-btn')\n || e.target.classList.contains('e-ressort-icon') ||\n e.target.querySelector('.e-ressort-icon')) {\n _this.parent.showResponsiveCustomSort();\n }\n else {\n _this.parent.showResponsiveCustomFilter();\n }\n };\n toolbarItem.appendChild(button);\n toolbarLeft.appendChild(toolbarItem);\n }\n toolbarItems.appendChild(toolbarLeft);\n div.appendChild(toolbarItems);\n gObj.element.insertBefore(div, this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.gridHeader));\n }\n else {\n if (gObj.enableAdaptiveUI && !gObj.toolbar) {\n gObj.getContent().classList.add('e-responsive-header');\n }\n }\n };\n HeaderRender.prototype.updateCustomResponsiveToolbar = function (args) {\n var resToolbar = this.parent.element.querySelector('.e-responsive-toolbar');\n if (args.module === 'toolbar') {\n if (resToolbar) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(resToolbar);\n }\n else {\n this.renderCustomToolbar();\n }\n }\n };\n return HeaderRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IndentCellRenderer: () => (/* binding */ IndentCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * IndentCellRenderer class which responsible for building group indent cell.\n *\n * @hidden\n */\nvar IndentCellRenderer = /** @class */ (function (_super) {\n __extends(IndentCellRenderer, _super);\n function IndentCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TD', { className: 'e-indentcell' });\n return _this;\n }\n /**\n * Function to render the indent cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n IndentCellRenderer.prototype.render = function (cell, data) {\n var node = this.element.cloneNode();\n (0,_base_util__WEBPACK_IMPORTED_MODULE_0__.setStyleAndAttributes)(node, cell.attributes);\n return node;\n };\n return IndentCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_1__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InlineEditRender: () => (/* binding */ InlineEditRender)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n/**\n * Edit render module is used to render grid edit row.\n *\n * @hidden\n */\nvar InlineEditRender = /** @class */ (function () {\n /**\n * Constructor for render module\n *\n * @param {IGrid} parent - returns the IGrid\n */\n function InlineEditRender(parent) {\n this.parent = parent;\n }\n InlineEditRender.prototype.addNew = function (elements, args) {\n this.isEdit = false;\n var tbody;\n if ((this.parent.frozenRows || ((this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) &&\n this.parent.editSettings.showAddNewRow)) && this.parent.editSettings.newRowPosition === 'Top') {\n tbody = this.parent.getHeaderTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody);\n }\n else {\n tbody = this.parent.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody);\n }\n args.row = this.parent.createElement('tr', { className: 'e-row e-addedrow' });\n if (this.parent.getContentTable().querySelector('.e-emptyrow') && !this.parent.editSettings.showAddNewRow) {\n var emptyRow = this.parent.getContentTable().querySelector('.e-emptyrow');\n emptyRow.parentNode.removeChild(emptyRow);\n if (this.parent.frozenRows && this.parent.element.querySelector('.e-frozenrow-empty')) {\n this.parent.element.querySelector('.e-frozenrow-empty').classList.remove('e-frozenrow-empty');\n }\n }\n if (this.parent.editSettings.newRowPosition === 'Top') {\n tbody.insertBefore(args.row, tbody.firstChild);\n }\n else {\n tbody.appendChild(args.row);\n }\n args.row.appendChild(this.getEditElement(elements, false, undefined, args, true));\n this.parent.editModule.checkLastRow(args.row, args);\n };\n InlineEditRender.prototype.update = function (elements, args) {\n this.isEdit = true;\n var tdElement = [].slice.call(args.row.querySelectorAll('td.e-rowcell'));\n args.row.innerHTML = '';\n args.row.appendChild(this.getEditElement(elements, true, tdElement, args, true));\n args.row.classList.add(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.editedRow);\n this.parent.editModule.checkLastRow(args.row, args);\n };\n // eslint-disable-next-line max-len\n InlineEditRender.prototype.getEditElement = function (elements, isEdit, tdElement, args, isFrozen) {\n var gObj = this.parent;\n var gLen = 0;\n var isDetail = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.detailTemplate) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.childGrid) ? 1 : 0;\n if (gObj.allowGrouping) {\n gLen = gObj.groupSettings.columns.length;\n }\n var td = this.parent.createElement('td', {\n className: 'e-editcell e-normaledit',\n attrs: {\n colspan: (gObj.getCurrentVisibleColumns(this.parent.enableColumnVirtualization).length +\n this.parent.getIndentCount()).toString()\n }\n });\n var form = args.form =\n this.parent.createElement('form', { id: gObj.element.id + 'EditForm', className: 'e-gridform' });\n if (this.parent.editSettings.template) {\n this.appendChildren(form, args.rowData, isFrozen);\n td.appendChild(form);\n return td;\n }\n var table = this.parent.createElement('table', { className: 'e-table e-inline-edit', attrs: { cellspacing: '0.25', role: 'grid' } });\n table.appendChild(gObj.getContentTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.colGroup).cloneNode(true));\n var tbody = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_1__.tbody, { attrs: { role: 'rowgroup' } });\n var tr = this.parent.createElement('tr');\n if (this.parent.rowHeight) {\n tr.style.height = this.parent.rowHeight + 'px';\n }\n var i = 0;\n if (isDetail) {\n tr.insertBefore(this.parent.createElement('td', { className: 'e-detailrowcollapse' }), tr.firstChild);\n }\n if (gObj.isRowDragable()) {\n tr.appendChild(this.parent.createElement('td', { className: 'e-dragindentcell' }));\n }\n while (i < gLen) {\n tr.appendChild(this.parent.createElement('td', { className: 'e-indentcell' }));\n i++;\n }\n var m = 0;\n i = 0;\n var inputValue;\n var isFirstVisibleCell = true;\n var cols = args.isCustomFormValidation ? this.parent.columnModel : gObj.getColumns();\n while ((isEdit && m < tdElement.length && i < cols.length) || i < cols.length) {\n var span = isEdit && tdElement[parseInt(m.toString(), 10)] ?\n tdElement[parseInt(m.toString(), 10)].getAttribute('colspan') : null;\n var col = cols[parseInt(i.toString(), 10)];\n inputValue = (elements[col.uid]).value;\n var td_1 = this.parent.createElement('td', { className: _base_string_literals__WEBPACK_IMPORTED_MODULE_1__.rowCell, attrs: { 'colspan': span ? span : '' } });\n td_1.style.cssText = col.textAlign ? \"text-align: \" + col.textAlign + \";\" : '';\n if (col.visible) {\n td_1.appendChild(elements[col.uid]);\n if (this.parent.rowRenderingMode === 'Vertical') {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.setStyleAndAttributes)(td_1, { 'data-cell': col.headerText });\n if (i === 0) {\n td_1.classList.add('e-responsive-editcell');\n }\n }\n if (col.editType === 'booleanedit') {\n td_1.classList.add('e-boolcell');\n }\n else if (col.commands || col.commandsTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([td_1], 'e-unboundcell');\n }\n if (!this.parent.enableRtl && (gObj.gridLines === 'Vertical' || gObj.gridLines === 'Both') &&\n gLen && isFirstVisibleCell) {\n td_1.classList.add('e-grid-group-first-cell');\n isFirstVisibleCell = false;\n }\n }\n else {\n td_1.classList.add('e-hide');\n }\n if (this.parent.isFrozenGrid()) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addStickyColumnPosition)(this.parent, col, td_1);\n if (this.parent.isSpan) {\n var colSpan = td_1.getAttribute('colspan') ? parseInt(td_1.getAttribute('colspan'), 10) : 1;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.resetColandRowSpanStickyPosition)(this.parent, col, td_1, colSpan);\n }\n if (this.parent.enableColumnVirtualization) {\n if (col.freeze === 'Left' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.valueX)) {\n td_1.style.left = (col.valueX - this.parent.translateX) + 'px';\n }\n else if (col.freeze === 'Right' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.valueX)) {\n td_1.style.right = (col.valueX + this.parent.translateX) + 'px';\n }\n else if (col.freeze === 'Fixed') {\n td_1.style.left = (this.parent.leftrightColumnWidth('left') - this.parent.translateX) + 'px';\n td_1.style.right = (this.parent.leftrightColumnWidth('right') + this.parent.translateX) + 'px';\n }\n }\n }\n td_1.setAttribute('aria-label', inputValue + this.parent.localeObj.getConstant('ColumnHeader') + col.headerText);\n tr.appendChild(td_1);\n i = span ? i + parseInt(span, 10) : i + 1;\n m++;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addFixedColumnBorder)(tr);\n tbody.appendChild(tr);\n table.appendChild(tbody);\n form.appendChild(table);\n td.appendChild(form);\n return td;\n };\n InlineEditRender.prototype.removeEventListener = function () {\n //To destroy the renderer\n };\n InlineEditRender.prototype.appendChildren = function (form, data, isFrozen) {\n var _this = this;\n var dummyData = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, data, { isAdd: !this.isEdit, isFrozen: isFrozen }, true);\n var editTemplateID = this.parent.element.id + 'editSettingsTemplate';\n if (this.parent.isReact && typeof (this.parent.editSettings.template) !== 'string' &&\n !(this.parent.editSettings.template.prototype &&\n this.parent.editSettings.template.prototype.CSPTemplate)) {\n this.parent.getEditTemplate()(dummyData, this.parent, 'editSettingsTemplate', editTemplateID, null, null, form);\n this.parent.renderTemplates();\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.appendChildren)(form, this.parent.getEditTemplate()(dummyData, this.parent, 'editSettingsTemplate', editTemplateID, null, null, null, this.parent.root));\n }\n // eslint-disable-next-line\n var setRules = function () {\n var cols = _this.parent.getColumns();\n for (var i = 0; i < cols.length; i++) {\n if (cols[parseInt(i.toString(), 10)].validationRules) {\n _this.parent.editModule.formObj.rules[cols[parseInt(i.toString(), 10)].field] =\n cols[parseInt(i.toString(), 10)].validationRules;\n }\n }\n };\n };\n return InlineEditRender;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inputmask-edit-cell.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inputmask-edit-cell.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MaskedTextBoxCellEdit: () => (/* binding */ MaskedTextBoxCellEdit)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * `MaskedTextBoxCellEdit` is used to handle masked input cell type editing.\n *\n * @hidden\n */\nvar MaskedTextBoxCellEdit = /** @class */ (function (_super) {\n __extends(MaskedTextBoxCellEdit, _super);\n function MaskedTextBoxCellEdit() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MaskedTextBoxCellEdit.prototype.write = function (args) {\n this.column = args.column;\n var isInlineEdit = this.parent.editSettings.mode !== 'Dialog';\n this.obj = new _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_1__.MaskedTextBox((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n fields: { value: args.column.field },\n value: (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getObject)(args.column.field, args.rowData),\n floatLabelType: isInlineEdit ? 'Never' : 'Always',\n mask: '000-000-0000',\n enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isEditable)(args.column, args.requestType, args.element) && (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.isCellHaveWidth)((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(args.element, 'e-rowcell')),\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, args.column.edit.params));\n this.obj.appendTo(args.element);\n };\n return MaskedTextBoxCellEdit;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_3__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/inputmask-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/multiselect-edit-cell.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/multiselect-edit-cell.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MultiSelectEditCell: () => (/* binding */ MultiSelectEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * `MultiSelectEditCell` is used to handle multiselect dropdown cell type editing.\n *\n * @hidden\n */\nvar MultiSelectEditCell = /** @class */ (function (_super) {\n __extends(MultiSelectEditCell, _super);\n function MultiSelectEditCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MultiSelectEditCell.prototype.write = function (args) {\n this.column = args.column;\n var isInline = this.parent.editSettings.mode !== 'Dialog';\n this.obj = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n fields: { text: args.column.field, value: args.column.field },\n value: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(args.column.field, args.rowData),\n enableRtl: this.parent.enableRtl,\n placeholder: isInline ? '' : args.column.headerText, popupHeight: '200px',\n floatLabelType: isInline ? 'Never' : 'Always',\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, args.column.edit.params));\n this.obj.appendTo(args.element);\n args.element.setAttribute('name', (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.getComplexFieldID)(args.column.field));\n };\n return MultiSelectEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_3__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/multiselect-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NumberFilterUI: () => (/* binding */ NumberFilterUI)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n\n\n\n\n\n\n/**\n * `numberfilterui` render number column.\n *\n * @hidden\n */\n_syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect.Inject(_syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__.CheckBoxSelection);\nvar NumberFilterUI = /** @class */ (function () {\n function NumberFilterUI(parent, serviceLocator, filterSettings) {\n this.filterSettings = filterSettings;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n if (this.parent) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterMenuClose, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy, this);\n }\n }\n NumberFilterUI.prototype.keyEventHandler = function (args) {\n if (args.keyCode === 13 || args.keyCode === 9) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent('change', false, true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.dispatchEvent(evt);\n }\n };\n NumberFilterUI.prototype.create = function (args) {\n this.numericInstance = this.parent.createElement('input', { className: 'e-flmenu-input', id: 'numberui-' + args.column.uid });\n this.multiSelectCheckBoxInstance = this.parent.createElement('input', { className: 'multiselect-input', id: 'multiselectnumberui-' + args.column.uid });\n args.target.appendChild(this.numericInstance);\n args.target.appendChild(this.multiSelectCheckBoxInstance);\n this.createNumericTextBox(args);\n this.createMultiSelectDropDown(args);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.toggleFilterUI)(args.getOptrInstance.dropOptr.value, args.column.uid, args.column, args.column.type, args.dialogObj, args.getOptrInstance.dropOptr['previousValue']);\n };\n NumberFilterUI.prototype.write = function (args) {\n var operatorDropdown = this.parent.filterModule.filterModule.getOperatorDropdown();\n var numericObject = this.getNumericInstance(args.column.uid);\n var multiSelectObject = this.getMultiSelectInstance(args.column.uid);\n if (operatorDropdown.value === 'in' || operatorDropdown.value === 'notin') {\n multiSelectObject.value = Array.isArray(args.filteredValue) ? args.filteredValue : [];\n }\n else {\n numericObject.element.addEventListener('keydown', this.keyEventHandler);\n if (!Array.isArray(args.filteredValue)) {\n numericObject.value = args.filteredValue;\n }\n }\n };\n NumberFilterUI.prototype.read = function (element, column, filterOptr, filterObj) {\n if (filterOptr === 'in' || filterOptr === 'notin') {\n var filterValue = this.getMultiSelectInstance(column.uid).value;\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', true);\n }\n else {\n var filterValue = this.getNumericInstance(column.uid).value;\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', true);\n }\n };\n NumberFilterUI.prototype.createNumericTextBox = function (args) {\n this.numericTxtObj = new _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_5__.NumericTextBox((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n format: typeof (args.column.format) === 'string' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(args.column.format) ? args.column.format :\n args.column.format.format,\n locale: this.parent.locale,\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n placeholder: args.localizeText.getConstant('EnterValue'),\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n this.numericTxtObj.appendTo(this.numericInstance);\n };\n NumberFilterUI.prototype.createMultiSelectDropDown = function (args) {\n var isForeignColumn = args.column.isForeignColumn();\n var dataSource = isForeignColumn ? args.column.dataSource : this.parent.dataSource;\n var fields = isForeignColumn ? args.column.foreignKeyValue : args.column.field;\n this.multiSelectObj = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager ? dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.DataManager(dataSource),\n fields: { text: fields, value: fields },\n mode: 'CheckBox',\n showDropDownIcon: true,\n popupHeight: '300px',\n showSelectAll: true,\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_7__.Query().select(fields),\n cssClass: this.parent.cssClass ? 'e-multiselect-flmenu' + ' ' + this.parent.cssClass : 'e-multiselect-flmenu',\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n this.dialogObj = args.dialogObj;\n this.dropdownOpen = this.openPopup.bind(this);\n this.dropdownComplete = this.actionComplete(fields);\n this.multiSelectObj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_8__.open, this.dropdownOpen);\n this.multiSelectObj.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.dropdownComplete);\n this.multiSelectObj.appendTo(this.multiSelectCheckBoxInstance);\n };\n NumberFilterUI.prototype.getNumericInstance = function (uid) {\n return document.querySelector(\"#numberui-\" + uid).ej2_instances[0];\n };\n NumberFilterUI.prototype.getMultiSelectInstance = function (uid) {\n return document.querySelector(\"#multiselectnumberui-\" + uid).ej2_instances[0];\n };\n NumberFilterUI.prototype.openPopup = function (args) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getZIndexCalcualtion)(args, this.dialogObj);\n };\n NumberFilterUI.prototype.actionComplete = function (fields) {\n return function (e) {\n e.result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_9__.DataUtil.distinct(e.result, fields, true);\n };\n };\n NumberFilterUI.prototype.destroy = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterMenuClose, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy);\n if (this.numericTxtObj && !this.numericTxtObj.isDestroyed) {\n this.numericTxtObj.destroy();\n }\n if (this.multiSelectObj && !this.multiSelectObj.isDestroyed) {\n this.multiSelectObj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_8__.open, this.dropdownOpen);\n this.multiSelectObj.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.dropdownComplete);\n this.multiSelectObj.destroy();\n }\n };\n return NumberFilterUI;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NumericEditCell: () => (/* binding */ NumericEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-inputs */ \"./node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n\n\n\n/**\n * `NumericEditCell` is used to handle numeric cell type editing.\n *\n * @hidden\n */\nvar NumericEditCell = /** @class */ (function () {\n function NumericEditCell(parent) {\n this.parent = parent;\n }\n NumericEditCell.prototype.keyEventHandler = function (args) {\n if (args.keyCode === 13 || args.keyCode === 9) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent('change', false, true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.dispatchEvent(evt);\n }\n };\n NumericEditCell.prototype.create = function (args) {\n this.instances = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.parent.locale);\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.createEditElement)(this.parent, args.column, 'e-field', {});\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n NumericEditCell.prototype.read = function (element) {\n return this.obj.value;\n };\n NumericEditCell.prototype.write = function (args) {\n var col = args.column;\n var isInline = this.parent.editSettings.mode !== 'Dialog';\n this.obj = new _syncfusion_ej2_inputs__WEBPACK_IMPORTED_MODULE_2__.NumericTextBox((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n value: parseFloat((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(args.column.field, args.rowData)),\n enableRtl: this.parent.enableRtl,\n placeholder: isInline ? '' : args.column.headerText,\n enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isEditable)(args.column, args.requestType, args.element) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isCellHaveWidth)((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(args.element, 'e-rowcell')),\n floatLabelType: this.parent.editSettings.mode !== 'Dialog' ? 'Never' : 'Always',\n locale: this.parent.locale,\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, col.edit.params));\n args.element.setAttribute('name', (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getComplexFieldID)(args.column.field));\n this.obj.appendTo(args.element);\n this.obj.element.addEventListener('keydown', this.keyEventHandler);\n };\n NumericEditCell.prototype.destroy = function () {\n if (this.obj && !this.obj.isDestroyed) {\n this.obj.element.removeEventListener('keydown', this.keyEventHandler);\n this.obj.destroy();\n this.obj.element.remove();\n }\n };\n return NumericEditCell;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/render.js": +/*!************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/render.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Render: () => (/* binding */ Render)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _actions_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actions/data */ \"./node_modules/@syncfusion/ej2-grids/src/grid/actions/data.js\");\n/* harmony import */ var _models_column__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../models/column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _renderer_content_renderer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../renderer/content-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js\");\n/* harmony import */ var _renderer_header_renderer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../renderer/header-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.js\");\n/* harmony import */ var _renderer_cell_renderer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../renderer/cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _renderer_header_cell_renderer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../renderer/header-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.js\");\n/* harmony import */ var _renderer_stacked_cell_renderer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../renderer/stacked-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.js\");\n/* harmony import */ var _renderer_indent_cell_renderer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../renderer/indent-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.js\");\n/* harmony import */ var _renderer_caption_cell_renderer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../renderer/caption-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/caption-cell-renderer.js\");\n/* harmony import */ var _renderer_expand_cell_renderer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../renderer/expand-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/expand-cell-renderer.js\");\n/* harmony import */ var _renderer_header_indent_renderer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../renderer/header-indent-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-indent-renderer.js\");\n/* harmony import */ var _renderer_detail_header_indent_renderer__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../renderer/detail-header-indent-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-header-indent-renderer.js\");\n/* harmony import */ var _renderer_detail_expand_cell_renderer__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../renderer/detail-expand-cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-expand-cell-renderer.js\");\n/* harmony import */ var _row_drag_drop_renderer__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./row-drag-drop-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-drop-renderer.js\");\n/* harmony import */ var _renderer_row_drag_header_indent_render__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../renderer/row-drag-header-indent-render */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-header-indent-render.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Content module is used to render grid content\n *\n * @hidden\n */\nvar Render = /** @class */ (function () {\n /**\n * Constructor for render module\n *\n * @param {IGrid} parent - specifies the IGrid\n * @param {ServiceLocator} locator - specifies the serviceLocator\n */\n function Render(parent, locator) {\n this.emptyGrid = false;\n this.counter = 0;\n this.parent = parent;\n this.locator = locator;\n this.data = new _actions_data__WEBPACK_IMPORTED_MODULE_1__.Data(parent, locator);\n this.l10n = locator.getService('localization');\n this.ariaService = this.locator.getService('ariaService');\n this.renderer = this.locator.getService('rendererFactory');\n this.addEventListener();\n }\n /**\n * To initialize grid header, content and footer rendering\n *\n * @returns {void}\n */\n Render.prototype.render = function () {\n var gObj = this.parent;\n this.headerRenderer = this.renderer.getRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Header);\n this.contentRenderer = this.renderer.getRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Content);\n this.headerRenderer.renderPanel();\n this.contentRenderer.renderPanel();\n if (gObj.getColumns().length) {\n this.isLayoutRendered = true;\n this.headerRenderer.renderTable();\n this.contentRenderer.renderTable();\n this.emptyRow(false);\n }\n this.parent.scrollModule.setWidth();\n this.parent.scrollModule.setHeight();\n if (this.parent.height !== 'auto') {\n this.parent.scrollModule.setPadding();\n }\n this.refreshDataManager();\n };\n /**\n * Refresh the entire Grid.\n *\n * @param {NotifyArgs} e - specifies the NotifyArgs\n * @returns {void}\n */\n Render.prototype.refresh = function (e) {\n var _this = this;\n if (e === void 0) { e = { requestType: 'refresh' }; }\n var gObj = this.parent;\n gObj.notify(e.requestType + \"-begin\", e);\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionBegin, e, function (args) {\n if (args === void 0) { args = { requestType: 'refresh' }; }\n if (args.cancel) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.cancelBegin, args);\n if (args.action === 'clearFilter' && _this.parent.filterSettings.type === 'Menu') {\n _this.parent.filterSettings.columns[_this.parent.filterModule.filterObjIndex] = _this.parent.filterModule.prevFilterObject;\n var iconClass = _this.parent.showColumnMenu && _this.parent.filterModule['column'].showColumnMenu ? '.e-columnmenu' : '.e-icon-filter';\n var col = _this.parent.element.querySelector('[e-mappinguid=\"' + _this.parent.filterModule['column'].uid + '\"]').parentElement;\n var flIcon = col.querySelector(iconClass);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.filterModule.prevFilterObject)) {\n flIcon.classList.add('e-filtered');\n }\n }\n if (args.action === 'clear-filter' && (_this.parent.filterSettings.type === 'CheckBox' || _this.parent.filterSettings.type === 'Excel')) {\n _this.parent.filterSettings.columns = _this.parent.filterModule.checkboxPrevFilterObject;\n }\n if (args.requestType === 'grouping') {\n // Remove the dropped column name from groupsettings.columns if args.cancel is true\n var index = gObj.groupSettings.columns.indexOf(args.columnName);\n if (index !== -1) {\n gObj.setProperties({ groupSettings: { Columns: gObj.groupSettings.columns.splice(index, 1) } }, true);\n gObj.setProperties({ sortSettings: { Columns: gObj.sortSettings.columns.splice(index, 1) } }, true);\n var column = gObj.getColumnByField(args.columnName);\n var headerCell = gObj.getColumnHeaderByField(column.field);\n column.visible = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(headerCell) && !headerCell.classList.contains('e-hide'));\n }\n }\n return;\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroyEditForm, args);\n if (args.requestType === 'virtualscroll' && (_this.parent.getDataModule().isRemote() || 'result' in _this.parent.dataSource)\n && args.virtualInfo && args.virtualInfo.direction === 'down') {\n _this.parent.contentModule.prevInfo = args.virtualInfo;\n }\n if (_this.parent.groupModule && args.preventFocusOnGroup) {\n _this.parent.groupModule.preventFocusOnGroup = args.preventFocusOnGroup;\n }\n if (gObj.allowSelection && (args.action === 'clearFilter' || args.action === 'clear-filter' ||\n (args.requestType === 'searching' && args.searchString === '') || args.action === 'add')) {\n gObj.selectionModule['rmtHdrChkbxClicked'] = false;\n }\n if (gObj.allowPaging && gObj.pageSettings.pageSizes && gObj.pagerModule.pagerObj.isAllPage &&\n (args.action === 'add' && args.requestType === 'save') && gObj.pagerModule.pagerObj.checkAll) {\n gObj.setProperties({ pageSettings: { pageSize: gObj.pageSettings.pageSize + 1 } }, true);\n }\n if (args.requestType === 'delete' && gObj.allowPaging) {\n var dataLength = args.data.length;\n var count = gObj.pageSettings.totalRecordsCount - dataLength;\n var currentViewData = gObj.getCurrentViewRecords().length;\n // eslint-disable-next-line max-len\n if ((!(currentViewData - dataLength) && count && ((gObj.pageSettings.currentPage - 1) * gObj.pageSettings.pageSize) === count) || (count && count <= dataLength)) {\n gObj.prevPageMoving = true;\n gObj.setProperties({\n pageSettings: {\n totalRecordsCount: count, currentPage: Math.ceil(count / gObj.pageSettings.pageSize)\n }\n }, true);\n gObj.pagerModule.pagerObj.totalRecordsCount = count;\n }\n }\n if (args.requestType === 'reorder' && _this.parent.dataSource && 'result' in _this.parent.dataSource) {\n _this.contentRenderer.refreshContentRows(args);\n }\n else if ((args.requestType === 'paging' || args.requestType === 'columnstate' || args.requestType === 'reorder')\n && _this.parent.groupSettings.enableLazyLoading && _this.parent.groupSettings.columns.length\n && (_this.parent.enableVirtualization ? _this.parent.lazyLoadRender :\n _this.parent.contentModule).getGroupCache()[_this.parent.pageSettings.currentPage]) {\n _this.contentRenderer.refreshContentRows(args);\n }\n else {\n _this.refreshDataManager(args);\n }\n });\n };\n /**\n * @returns {void}\n * @hidden\n */\n Render.prototype.resetTemplates = function () {\n var gObj = this.parent;\n var gridColumns = gObj.getColumns();\n if (gObj.detailTemplate) {\n var detailTemplateID = gObj.element.id + 'detailTemplate';\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.blazorTemplates[\"\" + detailTemplateID] = [];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(detailTemplateID, 'DetailTemplate');\n }\n if (gObj.groupSettings.captionTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + 'captionTemplate', 'CaptionTemplate');\n }\n if (gObj.rowTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + 'rowTemplate', 'RowTemplate');\n }\n if (gObj.toolbarTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + 'toolbarTemplate', 'ToolbarTemplate');\n }\n if (gObj.pageSettings.template) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + '_template', 'pageSettings');\n }\n for (var i = 0; i < gridColumns.length; i++) {\n if (gridColumns[parseInt(i.toString(), 10)].template) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.blazorTemplates[gObj.element.id + gridColumns[parseInt(i.toString(), 10)].uid] = [];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + gridColumns[parseInt(i.toString(), 10)].uid, 'Template');\n }\n if (gridColumns[parseInt(i.toString(), 10)].headerTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + gridColumns[parseInt(i.toString(), 10)].uid + 'headerTemplate', 'HeaderTemplate');\n }\n if (gridColumns[parseInt(i.toString(), 10)].filterTemplate) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(gObj.element.id + gridColumns[parseInt(i.toString(), 10)].uid + 'filterTemplate', 'FilterTemplate');\n }\n }\n var guid = 'guid';\n for (var k = 0; k < gObj.aggregates.length; k++) {\n for (var j = 0; j < gObj.aggregates[parseInt(k.toString(), 10)].columns.length; j++) {\n if (gObj.aggregates[parseInt(k.toString(), 10)].columns[parseInt(j.toString(), 10)].footerTemplate) {\n var tempID = gObj.element.id + gObj.aggregates[parseInt(k.toString(), 10)].columns[parseInt(j.toString(), 10)][\"\" + guid] + 'footerTemplate';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(tempID, 'FooterTemplate');\n }\n if (gObj.aggregates[parseInt(k.toString(), 10)].columns[parseInt(j.toString(), 10)].groupFooterTemplate) {\n var tempID = gObj.element.id + gObj.aggregates[parseInt(k.toString(), 10)].columns[parseInt(j.toString(), 10)][\"\" + guid] + 'groupFooterTemplate';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(tempID, 'GroupFooterTemplate');\n }\n if (gObj.aggregates[parseInt(k.toString(), 10)].columns[parseInt(j.toString(), 10)].groupCaptionTemplate) {\n var tempID = gObj.element.id + gObj.aggregates[parseInt(k.toString(), 10)].columns[parseInt(j.toString(), 10)][\"\" + guid] + 'groupCaptionTemplate';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.resetBlazorTemplate)(tempID, 'GroupCaptionTemplate');\n }\n }\n }\n };\n Render.prototype.refreshComplete = function (e) {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, e);\n };\n /**\n * The function is used to refresh the dataManager\n *\n * @param {NotifyArgs} args - specifies the args\n * @returns {void}\n */\n Render.prototype.refreshDataManager = function (args) {\n var _this = this;\n if (args === void 0) { args = {}; }\n var gObj = this.parent;\n var maskRow = (gObj.loadingIndicator.indicatorType === 'Shimmer' && args.requestType !== 'virtualscroll'\n && args.requestType !== 'infiniteScroll') || ((args.requestType === 'virtualscroll' || args.requestType === 'infiniteScroll')\n && gObj.enableVirtualMaskRow);\n if (args.requestType !== 'virtualscroll' && !args.isCaptionCollapse && !maskRow) {\n this.parent.showSpinner();\n }\n if (maskRow) {\n gObj.showMaskRow(args.requestType === 'virtualscroll' ? args.virtualInfo.sentinelInfo.axis\n : args.requestType === 'infiniteScroll' ? args.direction : undefined);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.resetInfiniteBlocks, args);\n this.emptyGrid = false;\n var dataManager;\n var isFActon = this.isNeedForeignAction();\n this.ariaService.setBusy(this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_4__.content), true);\n if (isFActon) {\n var deffered = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Deferred();\n dataManager = this.getFData(deffered, args);\n }\n if (!dataManager) {\n if (gObj.allowPaging && !gObj.getDataModule().dataManager.dataSource.offline && gObj.pageSettings\n && gObj.pageSettings.pageSizes && gObj.pagerModule && gObj.pagerModule.pagerObj && gObj.pagerModule.pagerObj.isAllPage) {\n gObj.pagerModule.pagerObj.isAllPage = undefined;\n }\n dataManager = this.data.getData(args, this.data.generateQuery().requiresCount());\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dataManager = dataManager.then(function (e) {\n var query = _this.data.generateQuery().requiresCount();\n if (_this.emptyGrid) {\n var def = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Deferred();\n def.resolve({ result: [], count: 0 });\n return def.promise;\n }\n return _this.data.getData(args, query);\n });\n }\n var foreignKeyColumns = this.parent.getForeignKeyColumns();\n var foreignKeyLength = foreignKeyColumns.length;\n if (this.parent.columnQueryMode === 'ExcludeHidden' && foreignKeyLength) {\n foreignKeyLength = foreignKeyColumns.filter(function (col) { return col.visible !== false; }).length;\n }\n if (foreignKeyLength && (!isFActon || this.parent.searchSettings.key.length)) {\n var deffered_1 = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Deferred();\n dataManager = dataManager.then(function (e) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.getForeignKeyData, { dataManager: dataManager, result: e, promise: deffered_1, action: args });\n return deffered_1.promise;\n });\n }\n if (this.parent.groupSettings.disablePageWiseAggregates && this.parent.groupSettings.columns.length) {\n dataManager = dataManager.then(function (e) { return _this.validateGroupRecords(e); });\n }\n dataManager.then(function (e) { return _this.dataManagerSuccess(e, args); })\n .catch(function (e) { return _this.dataManagerFailure(e, args); });\n };\n Render.prototype.getFData = function (deferred, args) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.getForeignKeyData, { isComplex: true, promise: deferred, action: args });\n return deferred.promise;\n };\n Render.prototype.isNeedForeignAction = function () {\n var gObj = this.parent;\n return !!((gObj.allowFiltering && gObj.filterSettings.columns.length) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.searchSettings.key) && gObj.searchSettings.key.length))\n && this.foreignKey(this.parent.getForeignKeyColumns());\n };\n Render.prototype.foreignKey = function (columns) {\n var _this = this;\n return columns.some(function (col) {\n var fbool = false;\n fbool = _this.parent.filterSettings.columns.some(function (value) {\n return col.uid === value.uid;\n });\n return !!(fbool || _this.parent.searchSettings.key.length);\n });\n };\n Render.prototype.sendBulkRequest = function (args) {\n var _this = this;\n args.requestType = 'batchsave';\n var gObj = this.parent;\n if (gObj.allowPaging && gObj.pageSettings.pageSizes && gObj.pagerModule.pagerObj.isAllPage && gObj.pagerModule.pagerObj.checkAll) {\n var dataLength = args['changes'].addedRecords.length;\n if (dataLength) {\n gObj.setProperties({ pageSettings: { pageSize: gObj.pageSettings.pageSize + dataLength } }, true);\n }\n }\n if (gObj.allowPaging && (args.changes.addedRecords.length ||\n args.changes.deletedRecords.length ||\n args.changes.changedRecords.length) && gObj.pageSettings\n && gObj.pageSettings.pageSizes && gObj.pagerModule && gObj.pagerModule.pagerObj\n && !gObj.getDataModule().dataManager.dataSource.offline && gObj.pagerModule.pagerObj.isAllPage) {\n gObj.pagerModule.pagerObj.isAllPage = undefined;\n }\n var promise = this.data.saveChanges(args.changes, this.parent.getPrimaryKeyFieldNames()[0], args.original);\n var query = this.data.generateQuery().requiresCount();\n if (this.data.dataManager.dataSource.offline) {\n this.refreshDataManager({ requestType: 'batchsave' });\n return;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n promise.then(function (e) {\n _this.data.getData(args, query)\n .then(function (e) { return _this.dmSuccess(e, args); })\n .catch(function (e) { return _this.dmFailure(e, args); });\n })\n .catch(function (e) { return _this.dmFailure(e, args); });\n }\n };\n Render.prototype.dmSuccess = function (e, args) {\n this.dataManagerSuccess(e, args);\n };\n Render.prototype.dmFailure = function (e, args) {\n this.dataManagerFailure(e, args);\n };\n /**\n * Render empty row to Grid which is used at the time to represent to no records.\n *\n * @returns {void}\n * @hidden\n */\n Render.prototype.renderEmptyRow = function () {\n this.emptyRow(true);\n };\n Render.prototype.emptyRow = function (isTrigger) {\n var gObj = this.parent;\n var tbody = this.contentRenderer.getTable().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.tbody);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tbody)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(tbody);\n }\n tbody = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.tbody, { attrs: { role: 'rowgroup' } });\n var spanCount = gObj.allowRowDragAndDrop && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.rowDropSettings.targetID) ? 1 : 0;\n if (gObj.detailTemplate || gObj.childGrid) {\n ++spanCount;\n }\n var className = gObj.editSettings.showAddNewRow && gObj.editSettings.newRowPosition === 'Bottom' ?\n 'e-emptyrow e-show-added-row' : 'e-emptyrow';\n var tr = this.parent.createElement('tr', { className: className, attrs: { role: 'row' } });\n var td;\n if (gObj.emptyRecordTemplate) {\n var emptyRecordTemplateID = gObj.element.id + 'emptyRecordTemplate';\n td = this.parent.createElement('td', { attrs: { colspan: (gObj.getVisibleColumns().length +\n spanCount + gObj.groupSettings.columns.length).toString() } });\n if (gObj.isVue || (gObj.parentDetails && gObj.parentDetails.parentInstObj && gObj.parentDetails.parentInstObj.isVue)) {\n td.appendChild(gObj.getEmptyRecordTemplate()(gObj.dataSource, gObj, 'emptyRecordTemplate', emptyRecordTemplateID, undefined, undefined, undefined, this.parent['root'])[1]);\n }\n else {\n td.appendChild(gObj.getEmptyRecordTemplate()(gObj.dataSource, gObj, 'emptyRecordTemplate', emptyRecordTemplateID, undefined, undefined, undefined, this.parent['root'])[0]);\n }\n if (gObj.isReact) {\n this.parent.renderTemplates();\n }\n }\n else {\n td = this.parent.createElement('td', {\n innerHTML: this.l10n.getConstant('EmptyRecord'),\n attrs: { colspan: (gObj.getVisibleColumns().length + spanCount + (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gObj.groupSettings.columns) ?\n gObj.groupSettings.columns.length : 0)).toString() }\n });\n }\n if (gObj.isFrozenGrid()) {\n td.classList.add('e-leftfreeze');\n td.style.left = 0 + 'px';\n }\n if (gObj.frozenRows && gObj.element.querySelector('.e-frozenrow-border')) {\n this.parent.element.querySelector('.e-frozenrow-border').classList.add('e-frozenrow-empty');\n }\n tr.appendChild(td);\n tbody.appendChild(tr);\n this.contentRenderer.renderEmpty(tbody);\n if (isTrigger) {\n if (!this.parent.isInitialLoad) {\n this.parent.focusModule.setFirstFocusableTabIndex();\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataBound, {});\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.onEmpty, { rows: [new _models_row__WEBPACK_IMPORTED_MODULE_6__.Row({ isDataRow: true, cells: [new _models_cell__WEBPACK_IMPORTED_MODULE_7__.Cell({ isDataCell: true, visible: true })] })] });\n if (gObj.editSettings.showAddNewRow) {\n gObj.addRecord();\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.showAddNewRowFocus, {});\n }\n }\n };\n Render.prototype.dynamicColumnChange = function () {\n if (this.parent.getCurrentViewRecords().length) {\n this.updateColumnType(this.parent.getCurrentViewRecords()[0]);\n }\n };\n Render.prototype.updateColumnType = function (record) {\n var columns = this.parent.getColumns();\n var value;\n var cFormat = 'customFormat';\n var equalTo = 'equalTo';\n var data = record && record.items ? record.items[0] : record;\n var fmtr = this.locator.getService('valueFormatter');\n for (var i = 0, len = columns.length; i < len; i++) {\n value = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getObject)(columns[parseInt(i.toString(), 10)].field || '', data);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns[parseInt(i.toString(), 10)][\"\" + cFormat])) {\n columns[parseInt(i.toString(), 10)].format = columns[parseInt(i.toString(), 10)][\"\" + cFormat];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns[parseInt(i.toString(), 10)].validationRules)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(columns[parseInt(i.toString(), 10)].validationRules[\"\" + equalTo])) {\n columns[parseInt(i.toString(), 10)].validationRules[\"\" + equalTo][0] = this.parent.element.id + columns[parseInt(i.toString(), 10)].validationRules[\"\" + equalTo][0];\n }\n if (columns[parseInt(i.toString(), 10)].isForeignColumn() && columns[parseInt(i.toString(), 10)].columnData) {\n value = (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getObject)(columns[parseInt(i.toString(), 10)].foreignKeyValue || '', columns[parseInt(i.toString(), 10)].columnData[0]);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n this.isColTypeDef = true;\n if (!columns[parseInt(i.toString(), 10)].type) {\n columns[parseInt(i.toString(), 10)].type = value.getDay ? (value.getHours() > 0 || value.getMinutes() > 0 ||\n value.getSeconds() > 0 || value.getMilliseconds() > 0 ? 'datetime' : 'date') : typeof (value);\n }\n }\n else {\n columns[parseInt(i.toString(), 10)].type = columns[parseInt(i.toString(), 10)].type || null;\n }\n var valueFormatter = new _services_value_formatter__WEBPACK_IMPORTED_MODULE_9__.ValueFormatter();\n if (columns[parseInt(i.toString(), 10)].format && (columns[parseInt(i.toString(), 10)].format.skeleton\n || (columns[parseInt(i.toString(), 10)].format.format &&\n typeof columns[parseInt(i.toString(), 10)].format.format === 'string'))) {\n columns[parseInt(i.toString(), 10)].setFormatter(valueFormatter.getFormatFunction((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, columns[parseInt(i.toString(), 10)].format)));\n columns[parseInt(i.toString(), 10)].setParser(valueFormatter.getParserFunction(columns[parseInt(i.toString(), 10)].format));\n }\n if (typeof (columns[parseInt(i.toString(), 10)].format) === 'string') {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.setFormatter)(this.locator, columns[parseInt(i.toString(), 10)]);\n }\n else if (!columns[parseInt(i.toString(), 10)].format && columns[parseInt(i.toString(), 10)].type === 'number') {\n columns[parseInt(i.toString(), 10)].setParser(fmtr.getParserFunction({ format: 'n2' }));\n }\n if (columns[parseInt(i.toString(), 10)].type === 'dateonly' && !columns[parseInt(i.toString(), 10)].format) {\n columns[parseInt(i.toString(), 10)].format = 'yMd';\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.setFormatter)(this.locator, columns[parseInt(i.toString(), 10)]);\n }\n }\n };\n /**\n * @param {ReturnType} e - specifies the return type\n * @param {NotifyArgs} args - specifies the Notifyargs\n * @returns {void}\n * @hidden\n */\n // tslint:disable-next-line:max-func-body-length\n Render.prototype.dataManagerSuccess = function (e, args) {\n var _this = this;\n var gObj = this.parent;\n this.contentRenderer = this.renderer.getRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Content);\n this.headerRenderer = this.renderer.getRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Header);\n e.actionArgs = args;\n var detailGrid = gObj.childGrid || gObj.detailTemplate ? true : false;\n var isInfiniteDelete = this.parent.enableInfiniteScrolling && !this.parent.infiniteScrollSettings.enableCache &&\n !gObj.groupSettings.enableLazyLoading && ((args.requestType === 'delete' && !detailGrid) || (args.requestType === 'save' &&\n this.parent.infiniteScrollModule.requestType === 'add' && !(gObj.sortSettings.columns.length ||\n gObj.filterSettings.columns.length || this.parent.groupSettings.columns.length || gObj.searchSettings.key || detailGrid)));\n // tslint:disable-next-line:max-func-body-length\n gObj.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.beforeDataBound, e, function (dataArgs) {\n if (dataArgs.cancel) {\n return;\n }\n dataArgs.result = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataArgs.result) ? [] : dataArgs.result;\n var len = Object.keys(dataArgs.result).length;\n if (_this.parent.isDestroyed) {\n return;\n }\n if ((!gObj.getColumns().length && !len) && !(gObj.columns.length && gObj.columns[0] instanceof _models_column__WEBPACK_IMPORTED_MODULE_10__.Column)) {\n gObj.hideSpinner();\n return;\n }\n if (_this.isInfiniteEnd(args) && !len) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteEditHandler, { e: args, result: e.result, count: e.count, agg: e.aggregates });\n return;\n }\n _this.parent.isEdit = false;\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.editReset, {});\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.tooltipDestroy, {});\n if (args && !((args.requestType === 'infiniteScroll' || args.requestType === 'delete' || args.action === 'add') &&\n gObj.enableInfiniteScrolling)) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.commandColumnDestroy, { type: 'refreshCommandColumn' });\n }\n _this.contentRenderer.prevCurrentView = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.currentViewData) && _this.parent.currentViewData.slice();\n gObj.currentViewData = dataArgs.result;\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshInfiniteCurrentViewData, { args: args, data: dataArgs.result });\n if (dataArgs.count && !gObj.allowPaging && (gObj.enableVirtualization || gObj.enableInfiniteScrolling)) {\n gObj.totalDataRecordsCount = dataArgs.count;\n }\n if (!len && dataArgs.count && gObj.allowPaging && args && args.requestType !== 'delete') {\n if (_this.parent.groupSettings.enableLazyLoading\n && (args.requestType === 'grouping' || args.requestType === 'ungrouping')) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.groupComplete, args);\n }\n gObj.prevPageMoving = true;\n gObj.pageSettings.totalRecordsCount = dataArgs.count;\n if (args.requestType !== 'paging') {\n gObj.pageSettings.currentPage = Math.ceil(dataArgs.count / gObj.pageSettings.pageSize);\n }\n gObj.dataBind();\n return;\n }\n if ((!gObj.getColumns().length && len || !_this.isLayoutRendered) && !(0,_base_util__WEBPACK_IMPORTED_MODULE_8__.isGroupAdaptive)(gObj)) {\n gObj.removeMaskRow();\n _this.updatesOnInitialRender(dataArgs);\n }\n if (!_this.isColTypeDef && gObj.getCurrentViewRecords()) {\n if (_this.data.dataManager.dataSource.offline && gObj.dataSource && gObj.dataSource.length) {\n _this.updateColumnType(gObj.dataSource[0]);\n }\n else {\n _this.updateColumnType(gObj.getCurrentViewRecords()[0]);\n }\n }\n if (!_this.parent.isInitialLoad && _this.parent.groupSettings.disablePageWiseAggregates &&\n !_this.parent.groupSettings.columns.length) {\n dataArgs.result = _this.parent.dataSource instanceof Array ? _this.parent.dataSource : _this.parent.currentViewData;\n }\n if ((_this.parent.isReact || _this.parent.isVue) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args.requestType !== 'infiniteScroll' && !args.isFrozen) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.clearReactVueTemplates)(_this.parent, ['footerTemplate']);\n }\n if (_this.parent.isAngular && _this.parent.allowGrouping && _this.parent.groupSettings.captionTemplate\n && !(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args.requestType === 'infiniteScroll')) {\n _this.parent.destroyTemplate(['groupSettings_captionTemplate']);\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataReady, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({ count: dataArgs.count, result: dataArgs.result, aggregates: dataArgs.aggregates, loadSummaryOnEmpty: false }, args));\n if ((gObj.groupSettings.columns.length || (args && args.requestType === 'ungrouping'))\n && (args && args.requestType !== 'filtering')) {\n _this.headerRenderer.refreshUI();\n }\n if (len) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_8__.isGroupAdaptive)(gObj)) {\n var content = 'content';\n args.scrollTop = { top: _this.contentRenderer[\"\" + content].scrollTop };\n }\n if (!isInfiniteDelete) {\n if (_this.parent.enableImmutableMode) {\n _this.contentRenderer.immutableModeRendering(args);\n }\n else {\n _this.contentRenderer.refreshContentRows(args);\n }\n }\n else {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.infiniteEditHandler, { e: args, result: e.result, count: e.count, agg: e.aggregates });\n }\n }\n else {\n if (args && args.isCaptionCollapse) {\n return;\n }\n if (!gObj.getColumns().length) {\n gObj.element.innerHTML = '';\n alert(_this.l10n.getConstant('EmptyDataSourceError')); //ToDO: change this alert as dialog\n return;\n }\n _this.contentRenderer.setRowElements([]);\n _this.contentRenderer.setRowObjects([]);\n _this.ariaService.setBusy(_this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_4__.content), false);\n gObj.removeMaskRow();\n _this.renderEmptyRow();\n if (gObj.enableColumnVirtualization && !len) {\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.contentReady, { rows: gObj.getRowsObject(), args: {} });\n }\n if (args) {\n var action = (args.requestType || '').toLowerCase() + '-complete';\n _this.parent.notify(action, args);\n if (args.requestType === 'batchsave') {\n args.cancel = false;\n args.rows = [];\n args.isFrozen = !args.isFrozen;\n _this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, args);\n }\n }\n if (_this.parent.autoFit) {\n _this.parent.preventAdjustColumns();\n }\n _this.parent.hideSpinner();\n }\n _this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.toolbarRefresh, {});\n _this.setRowCount(_this.parent.getCurrentViewRecords().length);\n if ('query' in e) {\n _this.parent.getDataModule().isQueryInvokedFromData = false;\n }\n });\n };\n /**\n * @param {object} e - specifies the object\n * @param {Object[]} e.result - specifies the result\n * @param {NotifyArgs} args - specifies the args\n * @returns {void}\n * @hidden\n */\n Render.prototype.dataManagerFailure = function (e, args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.contentModule)) {\n this.ariaService.setOptions(this.parent.getContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_4__.content), { busy: false, invalid: true });\n this.setRowCount(1);\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionFailure, e && e.error ? e : { error: e });\n this.parent.hideSpinner();\n this.parent.removeMaskRow();\n if (args.requestType === 'save' || args.requestType === 'delete'\n || args.name === 'bulk-save') {\n return;\n }\n this.parent.currentViewData = [];\n this.renderEmptyRow();\n if (!this.parent.isInitialLoad) {\n this.parent.focusModule.setFirstFocusableTabIndex();\n }\n this.parent.log('actionfailure', { error: e });\n };\n Render.prototype.setRowCount = function (dataRowCount) {\n this.ariaService.setOptions(this.parent.element, {\n rowcount: dataRowCount ? dataRowCount.toString() : '1'\n });\n };\n Render.prototype.isInfiniteEnd = function (args) {\n return this.parent.enableInfiniteScrolling && !this.parent.infiniteScrollSettings.enableCache && args.requestType === 'delete';\n };\n Render.prototype.updatesOnInitialRender = function (e) {\n this.isLayoutRendered = true;\n var isEmptyCol = false;\n if (this.parent.columns.length < 1) {\n this.buildColumns(e.result[0]);\n isEmptyCol = true;\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.prepareColumns)(this.parent.columns, null, this.parent);\n if (isEmptyCol) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshSplitFrozenColumn, {});\n }\n this.headerRenderer.renderTable();\n this.contentRenderer.renderTable();\n this.parent.isAutoGen = true;\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_3__.autoCol, {});\n };\n Render.prototype.iterateComplexColumns = function (obj, field, split) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n var childKeys = typeof obj[keys[parseInt(i.toString(), 10)]] === 'object'\n && obj[keys[parseInt(i.toString(), 10)]] && !(obj[keys[parseInt(i.toString(), 10)]] instanceof Date) ?\n Object.keys(obj[keys[parseInt(i.toString(), 10)]]) : [];\n if (childKeys.length) {\n this.iterateComplexColumns(obj[keys[parseInt(i.toString(), 10)]], field + (keys[parseInt(i.toString(), 10)] + '.'), split);\n }\n else {\n split[this.counter] = field + keys[parseInt(i.toString(), 10)];\n this.counter++;\n }\n }\n };\n Render.prototype.buildColumns = function (record) {\n var cols = [];\n var complexCols = {};\n this.iterateComplexColumns(record, '', complexCols);\n var columns = Object.keys(complexCols).filter(function (e) { return complexCols[\"\" + e] !== 'BlazId'; }).\n map(function (field) { return complexCols[\"\" + field]; });\n for (var i = 0, len = columns.length; i < len; i++) {\n cols[parseInt(i.toString(), 10)] = { 'field': columns[parseInt(i.toString(), 10)] };\n if (this.parent.enableColumnVirtualization) {\n cols[parseInt(i.toString(), 10)].width = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cols[parseInt(i.toString(), 10)].width) ?\n cols[parseInt(i.toString(), 10)].width : 200;\n }\n }\n this.parent.setProperties({ 'columns': cols }, true);\n };\n Render.prototype.instantiateRenderer = function () {\n this.renderer.addRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Header, new _renderer_header_renderer__WEBPACK_IMPORTED_MODULE_11__.HeaderRender(this.parent, this.locator));\n this.renderer.addRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Content, new _renderer_content_renderer__WEBPACK_IMPORTED_MODULE_12__.ContentRender(this.parent, this.locator));\n var cellrender = this.locator.getService('cellRendererFactory');\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Header, new _renderer_header_cell_renderer__WEBPACK_IMPORTED_MODULE_13__.HeaderCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Data, new _renderer_cell_renderer__WEBPACK_IMPORTED_MODULE_14__.CellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.StackedHeader, new _renderer_stacked_cell_renderer__WEBPACK_IMPORTED_MODULE_15__.StackedHeaderCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Indent, new _renderer_indent_cell_renderer__WEBPACK_IMPORTED_MODULE_16__.IndentCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupCaption, new _renderer_caption_cell_renderer__WEBPACK_IMPORTED_MODULE_17__.GroupCaptionCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupCaptionEmpty, new _renderer_caption_cell_renderer__WEBPACK_IMPORTED_MODULE_17__.GroupCaptionEmptyCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Expand, new _renderer_expand_cell_renderer__WEBPACK_IMPORTED_MODULE_18__.ExpandCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.HeaderIndent, new _renderer_header_indent_renderer__WEBPACK_IMPORTED_MODULE_19__.HeaderIndentCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.StackedHeader, new _renderer_stacked_cell_renderer__WEBPACK_IMPORTED_MODULE_15__.StackedHeaderCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.DetailHeader, new _renderer_detail_header_indent_renderer__WEBPACK_IMPORTED_MODULE_20__.DetailHeaderIndentCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.RowDragHIcon, new _renderer_row_drag_header_indent_render__WEBPACK_IMPORTED_MODULE_21__.RowDragDropHeaderRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.DetailExpand, new _renderer_detail_expand_cell_renderer__WEBPACK_IMPORTED_MODULE_22__.DetailExpandCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.DetailFooterIntent, new _renderer_indent_cell_renderer__WEBPACK_IMPORTED_MODULE_16__.IndentCellRenderer(this.parent, this.locator));\n cellrender.addCellRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.RowDragIcon, new _row_drag_drop_renderer__WEBPACK_IMPORTED_MODULE_23__.RowDragDropRenderer(this.parent, this.locator));\n };\n Render.prototype.addEventListener = function () {\n var _this = this;\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.initialLoad, this.instantiateRenderer, this);\n this.parent.on('refreshdataSource', this.dataManagerSuccess, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.modelChanged, this.refresh, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.refreshComplete, this.refreshComplete, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.bulkSave, this.sendBulkRequest, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.showEmptyGrid, function () { _this.emptyGrid = true; }, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.autoCol, this.dynamicColumnChange, this);\n };\n /**\n * @param {ReturnType} e - specifies the Return type\n * @returns {Promise} returns the object\n * @hidden\n */\n Render.prototype.validateGroupRecords = function (e) {\n var _this = this;\n var index = e.result.length - 1;\n if (index < 0) {\n return Promise.resolve(e);\n }\n var group0 = e.result[0];\n var groupN = e.result[parseInt(index.toString(), 10)];\n var predicate = [];\n var addWhere = function (input) {\n var groups = [group0, groupN];\n for (var i = 0; i < groups.length; i++) {\n predicate.push(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Predicate('field', '==', groups[parseInt(i.toString(), 10)].field).and(_this.getPredicate('key', 'equal', groups[parseInt(i.toString(), 10)].key)));\n }\n input.where(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Predicate.or(predicate));\n };\n var query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Query();\n addWhere(query);\n var curDm = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(e.result);\n var curFilter = curDm.executeLocal(query);\n var newQuery = this.data.generateQuery(true);\n var rPredicate = [];\n if (this.data.isRemote()) {\n var groups = [group0, groupN];\n for (var i = 0; i < groups.length; i++) {\n rPredicate.push(this.getPredicate(groups[parseInt(i.toString(), 10)].field, 'equal', groups[parseInt(i.toString(), 10)].key));\n }\n newQuery.where(_syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Predicate.or(rPredicate));\n }\n else {\n addWhere(newQuery);\n }\n var deferred = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.Deferred();\n this.data.getData({}, newQuery).then(function (r) {\n _this.updateGroupInfo(curFilter, r.result);\n deferred.resolve(e);\n }).catch(function (e) { return deferred.reject(e); });\n return deferred.promise;\n };\n /**\n * @param {string} key - Defines the key\n * @param {string} operator - Defines the operator\n * @param {string | number | Date} value - Defines the value\n * @returns {Predicate} - Returns the predicate\n * @hidden */\n Render.prototype.getPredicate = function (key, operator, value) {\n if (value instanceof Date) {\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_8__.getDatePredicate)({ field: key, operator: operator, value: value });\n }\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Predicate(key, operator, value);\n };\n /**\n * @param {Object[]} current - Defines the current object\n * @param {Object[]} untouched - Defines the object needs to merge\n * @returns {Object[]} - Returns the updated group information\n * @hidden */\n Render.prototype.updateGroupInfo = function (current, untouched) {\n var dm = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_5__.DataManager(untouched);\n var elements = current;\n for (var i = 0; i < elements.length; i++) {\n var updatedGroup = dm.executeLocal(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Query()\n .where(new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_24__.Predicate('field', '==', elements[parseInt(i.toString(), 10)].field).and(this.getPredicate('key', 'equal', elements[parseInt(i.toString(), 10)].key))))[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(updatedGroup)) {\n elements[parseInt(i.toString(), 10)].count = updatedGroup.count;\n var itemGroup = elements[parseInt(i.toString(), 10)].items;\n var updatedGroupItem = updatedGroup.items;\n if (itemGroup.GroupGuid) {\n elements[parseInt(i.toString(), 10)].items =\n this.updateGroupInfo(elements[parseInt(i.toString(), 10)].items, updatedGroup.items);\n }\n var rows = this.parent.aggregates;\n for (var j = 0; j < rows.length; j++) {\n var row = rows[parseInt(j.toString(), 10)];\n for (var k = 0; k < row.columns.length; k++) {\n var column = row.columns[parseInt(k.toString(), 10)];\n var types = column.type instanceof Array ? (column.type) : [(column.type)];\n for (var l = 0; l < types.length; l++) {\n var key = column.field + ' - ' + types[parseInt(l.toString(), 10)].toLowerCase();\n var data = itemGroup.level ? updatedGroupItem.records : updatedGroup.items;\n var context = this.parent;\n if (types[parseInt(l.toString(), 10)] === 'Custom') {\n var data_1 = itemGroup.level ? updatedGroupItem : updatedGroup;\n var temp = column\n .customAggregate;\n if (typeof temp === 'string') {\n temp = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(temp, window);\n }\n elements[parseInt(i.toString(), 10)].aggregates[\"\" + key] = temp ? temp.call(context, data_1, row.columns[parseInt(k.toString(), 10)]) : '';\n }\n else {\n elements[parseInt(i.toString(), 10)].aggregates[\"\" + key] = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_25__.DataUtil.aggregates[types[parseInt(l.toString(), 10)].toLowerCase()](data, row.columns[parseInt(k.toString(), 10)].field);\n }\n }\n }\n }\n }\n }\n return current;\n };\n return Render;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/render.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResponsiveDialogRenderer: () => (/* binding */ ResponsiveDialogRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/button/button.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n\n\n\n\n\n\n/**\n *\n * The `ResponsiveDialogRenderer` module is used to render the responsive dialogs.\n */\nvar ResponsiveDialogRenderer = /** @class */ (function () {\n function ResponsiveDialogRenderer(parent, serviceLocator) {\n this.sortedCols = [];\n this.sortPredicate = [];\n /** @hidden */\n this.isCustomDialog = false;\n this.parent = parent;\n this.serviceLocator = serviceLocator;\n this.addEventListener();\n }\n ResponsiveDialogRenderer.prototype.addEventListener = function () {\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.filterDialogClose, handler: this.closeCustomDialog },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshCustomFilterOkBtn, handler: this.refreshCustomFilterOkBtn },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveCmenu, handler: this.renderResponsiveContextMenu },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.filterCmenuSelect, handler: this.renderCustomFilterDiv },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.customFilterClose, handler: this.customExFilterClose },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshCustomFilterClearBtn, handler: this.refreshCustomFilterClearBtn }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n this.onActionCompleteFn = this.editComplate.bind(this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete, this.onActionCompleteFn);\n };\n ResponsiveDialogRenderer.prototype.customExFilterClose = function () {\n this.isCustomDlgRender = false;\n };\n ResponsiveDialogRenderer.prototype.renderCustomFilterDiv = function () {\n var header = this.customResponsiveDlg.element.querySelector('.e-dlg-header-content');\n var title = header.querySelector('.e-dlg-custom-header');\n var closeBtn = header.querySelector('.e-dlg-closeicon-btn');\n this.isCustomDlgRender = true;\n this.parent.filterModule.filterModule.closeDialog();\n this.saveBtn.element.style.display = '';\n this.refreshCustomFilterOkBtn({ disabled: false });\n this.backBtn.element.style.display = 'none';\n closeBtn.style.display = '';\n title.innerHTML = this.parent.localeObj.getConstant('CustomFilter');\n var content = this.customResponsiveDlg.element.querySelector('.e-dlg-content');\n this.customExcelFilterParent = this.parent.createElement('div', { className: 'e-xl-customfilterdiv e-default-filter' });\n content.appendChild(this.customExcelFilterParent);\n };\n ResponsiveDialogRenderer.prototype.renderResponsiveContextMenu = function (args) {\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter) {\n var content = this.customResponsiveDlg.element.querySelector('.e-dlg-content');\n var header = this.customResponsiveDlg.element.querySelector('.e-dlg-header-content');\n var closeBtn = header.querySelector('.e-dlg-closeicon-btn');\n var text = header.querySelector('.e-dlg-custom-header');\n if (args.isOpen) {\n content.firstChild.style.display = 'none';\n content.appendChild(args.target);\n closeBtn.style.display = 'none';\n this.saveBtn.element.style.display = 'none';\n this.filterClearBtn.element.style.display = 'none';\n text.innerHTML = args.header;\n var backBtn = this.parent.createElement('button');\n var span = this.parent.createElement('span', { className: 'e-btn-icon e-resfilterback e-icons' });\n backBtn.appendChild(span);\n this.backBtn = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__.Button({\n cssClass: this.parent.cssClass ? 'e-res-back-btn' + ' ' + this.parent.cssClass : 'e-res-back-btn'\n });\n this.backBtn.appendTo(backBtn);\n text.parentElement.insertBefore(backBtn, text);\n }\n else if (this.backBtn && !this.isCustomDlgRender) {\n content.firstChild.style.display = '';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.backBtn.element);\n closeBtn.style.display = '';\n this.saveBtn.element.style.display = '';\n if (this.isFiltered) {\n this.filterClearBtn.element.style.display = '';\n }\n text.innerHTML = this.getHeaderTitle({ action: _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter }, args.col);\n }\n }\n };\n ResponsiveDialogRenderer.prototype.refreshCustomFilterClearBtn = function (args) {\n if (this.filterClearBtn) {\n this.isFiltered = args.isFiltered;\n this.filterClearBtn.element.style.display = args.isFiltered ? '' : 'none';\n }\n };\n ResponsiveDialogRenderer.prototype.refreshCustomFilterOkBtn = function (args) {\n if (this.saveBtn) {\n this.saveBtn.disabled = args.disabled;\n }\n if (this.parent.columnChooserModule && this.parent.columnChooserModule.responsiveDialogRenderer.saveBtn) {\n this.parent.columnChooserModule.responsiveDialogRenderer.saveBtn.disabled = args.disabled;\n }\n };\n ResponsiveDialogRenderer.prototype.columnMenuResponsiveContent = function (str, locale, disabled) {\n var cDiv = this.parent.createElement('div', { className: 'e-responsivecoldiv e-responsive' + str.toLowerCase() + 'div' + (disabled ? ' e-disabled' : '') });\n var span = this.parent.createElement('span', { className: 'e-icons e-res' + str.toLowerCase() + '-icon e-btn-icon' });\n var icon = this.parent.createElement('span', { innerHTML: locale, className: 'e-rescolumn-menu e-res-header-text' });\n cDiv.appendChild(span);\n cDiv.appendChild(icon);\n this.customColumnDiv.appendChild(cDiv);\n };\n ResponsiveDialogRenderer.prototype.renderResponsiveContent = function (col, column) {\n var _this = this;\n var gObj = this.parent;\n var isColumnChooser = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser;\n if (col || isColumnChooser) {\n this.filterParent = this.parent.createElement('div', { className: (isColumnChooser ? 'e-maincolumnchooserdiv ' : '') + 'e-mainfilterdiv e-default-filter',\n id: (isColumnChooser ? 'columchooser' : col.uid) + '-main-filter' });\n return this.filterParent;\n }\n else {\n this.customColumnDiv = gObj.createElement('div', { className: 'columndiv columnmenudiv' });\n this.customColumnDiv.style.width = '100%';\n if (this.parent.showColumnMenu && this.parent.rowRenderingMode === 'Horizontal' && this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu) {\n this.columnMenuResponsiveContent('AutoFitAll', gObj.localeObj.getConstant('AutoFitAll'));\n this.columnMenuResponsiveContent('AutoFit', gObj.localeObj.getConstant('AutoFit'));\n if (column.allowGrouping && gObj.allowGrouping) {\n this.columnMenuResponsiveContent('Group', gObj.localeObj.getConstant('Group'), gObj.groupSettings.columns.indexOf(column.field) >= 0);\n this.columnMenuResponsiveContent('UnGroup', gObj.localeObj.getConstant('Ungroup'), gObj.groupSettings.columns.indexOf(column.field) < 0);\n }\n if (column.allowSorting && gObj.allowSorting) {\n var direction = 'None';\n var sortColumns = this.parent.sortSettings.columns;\n for (var i = 0; i < sortColumns.length; i++) {\n if (sortColumns[parseInt(i.toString(), 10)].field === column.field) {\n direction = sortColumns[parseInt(i.toString(), 10)].direction;\n break;\n }\n }\n this.columnMenuResponsiveContent('ascending', gObj.localeObj.getConstant('SortAscending'), direction === 'Ascending');\n this.columnMenuResponsiveContent('descending', gObj.localeObj.getConstant('SortDescending'), direction === 'Descending');\n }\n if (gObj.showColumnChooser) {\n this.columnMenuResponsiveContent('Column', gObj.localeObj.getConstant('Columnchooser'));\n }\n if (column.allowFiltering && gObj.allowFiltering) {\n this.columnMenuResponsiveContent('Filter', gObj.localeObj.getConstant('FilterMenu'));\n }\n }\n else {\n var cols = gObj.getColumns();\n var sortBtnParent = gObj.createElement('div', { className: 'e-ressortbutton-parent' });\n var filteredCols = [];\n var isSort = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort;\n var isFilter = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter;\n if (isFilter) {\n for (var i = 0; i < gObj.filterSettings.columns.length; i++) {\n filteredCols.push(gObj.filterSettings.columns[parseInt(i.toString(), 10)].field);\n }\n }\n for (var i = 0; i < cols.length; i++) {\n if (!cols[parseInt(i.toString(), 10)].visible || (!cols[parseInt(i.toString(), 10)].allowSorting && isSort)\n || (!cols[parseInt(i.toString(), 10)].allowFiltering && isFilter)) {\n continue;\n }\n var cDiv = gObj.createElement('div', { className: 'e-responsivecoldiv' });\n cDiv.setAttribute('data-e-mappingname', cols[parseInt(i.toString(), 10)].field);\n cDiv.setAttribute('data-e-mappinguid', cols[parseInt(i.toString(), 10)].uid);\n var span = gObj.createElement('span', { innerHTML: cols[parseInt(i.toString(), 10)].headerText, className: 'e-res-header-text' });\n cDiv.appendChild(span);\n this.customColumnDiv.appendChild(cDiv);\n if (isSort) {\n var fields = this.getSortedFieldsAndDirections('field');\n var index = fields.indexOf(cols[parseInt(i.toString(), 10)].field);\n var button = gObj.createElement('button', { id: gObj.element.id + cols[parseInt(i.toString(), 10)].field + 'sortbutton' });\n var clone = sortBtnParent.cloneNode();\n clone.appendChild(button);\n cDiv.appendChild(clone);\n var btnObj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__.Button({\n cssClass: this.parent.cssClass ? 'e-ressortbutton' + ' ' + this.parent.cssClass : 'e-ressortbutton'\n });\n btnObj.appendTo(button);\n var buttonInnerText = void 0;\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.sortSettings.columns[parseInt(index.toString(), 10)]))) {\n buttonInnerText = (this.parent.sortSettings.columns[parseInt(index.toString(), 10)].direction === 'Ascending') ?\n this.parent.localeObj.getConstant('AscendingText') : this.parent.localeObj.getConstant('DescendingText');\n }\n button.innerHTML = index > -1 ? buttonInnerText : this.parent.localeObj.getConstant('NoneText');\n button.onclick = function (e) {\n _this.sortButtonClickHandler(e.target);\n };\n }\n if (isFilter && filteredCols.indexOf(cols[parseInt(i.toString(), 10)].field) > -1) {\n var divIcon = gObj.createElement('div', { className: 'e-icons e-res-icon e-filtersetdiv' });\n var iconSpan = gObj.createElement('span', { className: 'e-icons e-res-icon e-filterset' });\n iconSpan.setAttribute('colType', cols[parseInt(i.toString(), 10)].type);\n divIcon.appendChild(iconSpan);\n cDiv.appendChild(divIcon);\n }\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.customColumnDiv, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? 'touchend' : 'click', this.customFilterColumnClickHandler, this);\n return this.customColumnDiv;\n }\n };\n ResponsiveDialogRenderer.prototype.getSortedFieldsAndDirections = function (name) {\n var fields = [];\n for (var i = 0; i < this.parent.sortSettings.columns.length; i++) {\n fields.push(this.parent.sortSettings.columns[parseInt(i.toString(), 10)][\"\" + name]);\n }\n return fields;\n };\n ResponsiveDialogRenderer.prototype.sortButtonClickHandler = function (target) {\n if (target) {\n var columndiv = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsivecoldiv');\n var field = columndiv.getAttribute('data-e-mappingname');\n if (!this.parent.allowMultiSorting) {\n this.sortPredicate = [];\n this.sortedCols = [];\n this.isSortApplied = false;\n this.resetSortButtons(target);\n }\n var txt = target.textContent;\n var directionTxt = txt === this.parent.localeObj.getConstant('NoneText') ? this.parent.localeObj.getConstant('AscendingText')\n : txt === this.parent.localeObj.getConstant('AscendingText') ? this.parent.localeObj.getConstant('DescendingText')\n : this.parent.localeObj.getConstant('NoneText');\n var direction = directionTxt === this.parent.localeObj.getConstant('AscendingText') ? 'Ascending'\n : directionTxt === this.parent.localeObj.getConstant('DescendingText') ? 'Descending' : 'None';\n target.innerHTML = directionTxt;\n this.setSortedCols(field, direction);\n }\n };\n ResponsiveDialogRenderer.prototype.resetSortButtons = function (target) {\n var buttons = [].slice.call(this.customColumnDiv.getElementsByClassName('e-ressortbutton'));\n for (var i = 0; i < buttons.length; i++) {\n if (buttons[parseInt(i.toString(), 10)] !== target) {\n buttons[parseInt(i.toString(), 10)].innerHTML = this.parent.localeObj.getConstant('NoneText');\n }\n }\n };\n ResponsiveDialogRenderer.prototype.setSortedCols = function (field, direction) {\n var fields = this.getCurrentSortedFields();\n var index = fields.indexOf(field);\n if (this.parent.allowMultiSorting && index > -1) {\n this.sortedCols.splice(index, 1);\n this.sortPredicate.splice(index, 1);\n }\n this.isSortApplied = true;\n if (direction !== 'None') {\n this.sortedCols.push(field);\n this.sortPredicate.push({ field: field, direction: direction });\n }\n };\n ResponsiveDialogRenderer.prototype.getCurrentSortedFields = function () {\n var fields = [];\n for (var i = 0; i < this.sortedCols.length; i++) {\n fields.push(this.sortedCols[parseInt(i.toString(), 10)]);\n }\n return fields;\n };\n ResponsiveDialogRenderer.prototype.customFilterColumnClickHandler = function (e) {\n var gObj = this.parent;\n var target = e.target;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'columnmenudiv') && this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu && !(0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-disabled')) {\n var column = this.menuCol ? this.menuCol : this.filteredCol;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsiveautofitalldiv')) {\n gObj.autoFitColumns([]);\n this.closeCustomFilter();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsiveautofitdiv')) {\n gObj.autoFitColumns(column.field);\n this.closeCustomFilter();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsivegroupdiv')) {\n gObj.groupColumn(column.field);\n this.closeCustomFilter();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsiveungroupdiv')) {\n gObj.ungroupColumn(column.field);\n this.closeCustomFilter();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsiveascendingdiv')) {\n gObj.sortColumn(column.field, 'Ascending');\n this.closeCustomFilter();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsivedescendingdiv')) {\n gObj.sortColumn(column.field, 'Descending');\n this.closeCustomFilter();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsivecolumndiv')) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveChangeAction, { action: 5 });\n gObj.showResponsiveCustomColumnChooser();\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsivefilterdiv')) {\n gObj.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveChangeAction, { action: 3 });\n this.isRowResponsive = true;\n this.isCustomDialog = false;\n if (gObj.filterModule) {\n gObj.filterModule.responsiveDialogRenderer.showResponsiveDialog(column);\n }\n }\n e.preventDefault();\n }\n if (this.action !== _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter) {\n return;\n }\n if (gObj.filterSettings.type !== 'FilterBar') {\n if (target.classList.contains('e-responsivecoldiv') || target.parentElement.classList.contains('e-responsivecoldiv')) {\n var field = target.getAttribute('data-e-mappingname');\n if (!field) {\n field = target.parentElement.getAttribute('data-e-mappingname');\n }\n if (field) {\n var col = gObj.getColumnByField(field);\n this.isRowResponsive = true;\n this.showResponsiveDialog(col);\n }\n }\n else if (target.classList.contains('e-filterset') || target.parentElement.classList.contains('e-filtersetdiv')) {\n var colDiv = (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(target, 'e-responsivecoldiv');\n if (colDiv) {\n var field = colDiv.getAttribute('data-e-mappingname');\n var col = gObj.getColumnByField(field);\n if (col.filter.type === 'Menu' || (!col.filter.type && gObj.filterSettings.type === 'Menu')) {\n this.isDialogClose = true;\n }\n this.parent.filterModule.filterModule.clearCustomFilter(col);\n this.removeCustomDlgFilterEle(target);\n }\n }\n }\n };\n /**\n * Function to show the responsive dialog\n *\n * @param {Column} col - specifies the filter column\n * @param {Column} column - specifies the menu column\n * @returns {void}\n */\n ResponsiveDialogRenderer.prototype.showResponsiveDialog = function (col, column) {\n if ((this.isCustomDialog && this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter && !this.isRowResponsive) ||\n (column && this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu)) {\n this.menuCol = column;\n this.renderCustomFilterDialog(null, column);\n }\n else {\n this.filteredCol = col;\n this.renderResponsiveDialog(col);\n if (this.parent.enableAdaptiveUI && col) {\n this.parent.filterModule.setFilterModel(col);\n this.parent.filterModule.filterModule.openDialog(this.parent.filterModule.createOptions(col, undefined));\n }\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveColumnChooserDiv, { action: 'open' });\n }\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort) {\n var args = {\n cancel: false, dialogObj: this.customResponsiveDlg, requestType: 'beforeOpenAptiveSortDialog'\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeOpenAdaptiveDialog, args);\n if (args.cancel) {\n return;\n }\n }\n this.customResponsiveDlg.show(true);\n this.customResponsiveDlg.element.style.maxHeight = '100%';\n this.setTopToChildDialog(this.customResponsiveDlg.element);\n if (this.parent.enableAdaptiveUI && this.parent.filterSettings && (this.parent.filterSettings.type === 'CheckBox'\n || this.parent.filterSettings.type === 'Excel') && this.parent.filterSettings.enableInfiniteScrolling\n && this.parent.filterSettings.loadingIndicator === 'Shimmer') {\n var filterBase = this.parent.filterSettings.type === 'CheckBox' ? this.parent.filterModule.filterModule.checkBoxBase : this.parent.filterModule.filterModule.excelFilterBase;\n filterBase.showMask();\n }\n }\n };\n ResponsiveDialogRenderer.prototype.setTopToChildDialog = function (dialogEle) {\n var child = dialogEle.querySelector('.e-dialog');\n if (child) {\n var top_1 = dialogEle.querySelector('.e-dlg-header-content').getBoundingClientRect().height;\n child.style.top = top_1 + 'px';\n }\n };\n ResponsiveDialogRenderer.prototype.renderCustomFilterDialog = function (col, column) {\n var gObj = this.parent;\n var isColMenu = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu;\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter && gObj.filterSettings.type === 'FilterBar') {\n return;\n }\n var colMenu = isColMenu ? 'e-customcolumnmenudiv ' : '';\n var outerDiv = this.parent.createElement('div', {\n id: gObj.element.id + (isColMenu ? 'customcolumnmenu' : 'customfilter'),\n className: this.parent.cssClass ? colMenu +\n 'e-customfilterdiv e-responsive-dialog ' + this.parent.cssClass : colMenu + 'e-customfilterdiv e-responsive-dialog'\n });\n this.parent.element.appendChild(outerDiv);\n this.customFilterDlg = this.getDialogOptions(col, true, null, column);\n var args = {\n cancel: false, dialogObj: this.customFilterDlg, requestType: 'beforeOpenAptiveFilterDialog'\n };\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_1__.beforeOpenAdaptiveDialog, args);\n if (args.cancel) {\n return;\n }\n this.customFilterDlg.appendTo(outerDiv);\n this.customFilterDlg.show(true);\n this.customFilterDlg.element.style.maxHeight = '100%';\n };\n ResponsiveDialogRenderer.prototype.getDialogOptions = function (col, isCustomFilter, id, column) {\n var options = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.Dialog({\n isModal: true,\n showCloseIcon: (id === 'columnchooser' && this.parent.columnChooserSettings.headerTemplate &&\n !this.parent.enableColumnVirtualization) ? false : true,\n closeOnEscape: false,\n locale: this.parent.locale,\n target: this.parent.adaptiveDlgTarget ? this.parent.adaptiveDlgTarget : document.body,\n visible: false,\n enableRtl: this.parent.enableRtl,\n content: this.renderResponsiveContent(col, column),\n open: this.dialogOpen.bind(this),\n created: this.dialogCreated.bind(this),\n close: this.beforeDialogClose.bind(this),\n width: '100%',\n height: '100%',\n animationSettings: { effect: 'None' },\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n });\n var isStringTemplate = 'isStringTemplate';\n options[\"\" + isStringTemplate] = true;\n if (isCustomFilter) {\n options.header = this.renderResponsiveHeader(col, undefined, true);\n var colMenu = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu ? 'e-customcolumnmenu ' : '';\n options.cssClass = colMenu + 'e-customfilter';\n }\n else {\n options.header = this.renderResponsiveHeader(col);\n options.cssClass = this.parent.rowRenderingMode === 'Vertical' && this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter\n ? 'e-res' + id + ' e-row-responsive-filter' : 'e-res' + id;\n }\n return options;\n };\n ResponsiveDialogRenderer.prototype.renderResponsiveDialog = function (col) {\n var gObj = this.parent;\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter && gObj.filterSettings.type === 'FilterBar') {\n return;\n }\n var id = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter ? 'filter' : 'sort';\n id = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser ? 'columnchooser' : id;\n var outerDiv = this.parent.createElement('div', {\n id: gObj.element.id + 'responsive' + id,\n className: this.parent.cssClass ?\n 'e-res' + id + 'div e-responsive-dialog ' + this.parent.cssClass : 'e-res' + id + 'div e-responsive-dialog'\n });\n this.parent.element.appendChild(outerDiv);\n this.customResponsiveDlg = this.getDialogOptions(col, false, id);\n this.customResponsiveDlg.appendTo(outerDiv);\n };\n ResponsiveDialogRenderer.prototype.dialogCreated = function () {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addBiggerDialog)(this.parent);\n };\n ResponsiveDialogRenderer.prototype.dialogOpen = function () {\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort && this.parent.allowMultiSorting) {\n for (var i = 0; i < this.parent.sortSettings.columns.length; i++) {\n this.sortedCols.push(this.parent.sortSettings.columns[parseInt(i.toString(), 10)].field);\n var sortField = this.parent.sortSettings.columns[parseInt(i.toString(), 10)].field;\n var sortDirection = this.parent.sortSettings.columns[parseInt(i.toString(), 10)].direction;\n this.sortPredicate.push({ field: sortField, direction: sortDirection });\n }\n }\n };\n ResponsiveDialogRenderer.prototype.beforeDialogClose = function (args) {\n this.isDialogClose = args.element && !args.element.querySelector('.e-xl-customfilterdiv')\n && args.element.classList.contains('e-resfilterdiv');\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter) {\n if (args.element.classList.contains('e-resfilterdiv')) {\n this.parent.filterModule.filterModule.closeResponsiveDialog(this.isCustomDlgRender);\n }\n else if (args.element.classList.contains('e-customfilterdiv')) {\n this.closeCustomFilter();\n }\n if (this.parent.rowRenderingMode === 'Horizontal' && this.parent.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveChangeAction, { action: 4 });\n var custom = document.querySelector('.e-resfilter');\n if (custom) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(custom);\n }\n }\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort) {\n this.closeCustomDialog();\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu) {\n this.closeCustomFilter();\n var custom = document.querySelector('.e-rescolummenu');\n if (custom) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(custom);\n }\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveColumnChooserDiv, { action: 'clear' });\n var custom = document.querySelector('.e-rescolumnchooser');\n if (custom) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(custom);\n }\n if (this.parent.rowRenderingMode === 'Horizontal' && this.parent.showColumnMenu) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveChangeAction, { action: 4 });\n }\n this.isCustomDialog = false;\n this.isDialogClose = false;\n }\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.enterKeyHandler, this.keyHandler);\n };\n ResponsiveDialogRenderer.prototype.sortColumn = function () {\n if (!this.isSortApplied) {\n this.closeCustomDialog();\n return;\n }\n if (this.sortPredicate.length) {\n this.parent.setProperties({ sortSettings: { columns: [] } }, true);\n }\n for (var i = 0; i < this.sortPredicate.length; i++) {\n this.parent.sortColumn(this.sortPredicate[parseInt(i.toString(), 10)].field, this.sortPredicate[parseInt(i.toString(), 10)].direction, this.parent.allowMultiSorting);\n }\n if (!this.sortPredicate.length) {\n this.parent.clearSorting();\n }\n this.closeCustomDialog();\n };\n ResponsiveDialogRenderer.prototype.getHeaderTitle = function (args, col) {\n var gObj = this.parent;\n var title;\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isEdit) {\n title = gObj.localeObj.getConstant('EditFormTitle') + args.primaryKeyValue[0];\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isAdd) {\n title = gObj.localeObj.getConstant('AddFormTitle');\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter) {\n title = col ? col.headerText || col.field : gObj.localeObj.getConstant('FilterTitle');\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort) {\n title = gObj.localeObj.getConstant('Sort');\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColMenu) {\n title = gObj.localeObj.getConstant('ColumnMenu');\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser) {\n title = gObj.localeObj.getConstant('ChooseColumns');\n }\n return title;\n };\n ResponsiveDialogRenderer.prototype.getDialogName = function (action) {\n var name;\n if (action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isAdd || action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isEdit) {\n name = 'dialogEdit_wrapper_title';\n }\n else if (action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter) {\n name = 'responsive_filter_dialog_wrapper';\n }\n else if (action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser) {\n name = 'responsive_column_chooser_dialog_wrapper';\n }\n return name;\n };\n ResponsiveDialogRenderer.prototype.getButtonText = function (action) {\n var text;\n if (action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isAdd || action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isEdit) {\n text = 'Save';\n }\n else if (action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter || this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort ||\n action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser || this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser) {\n text = 'OKButton';\n }\n return text;\n };\n /**\n * Function to render the responsive header\n *\n * @param {Column} col - specifies the column\n * @param {ResponsiveDialogArgs} args - specifies the responsive dialog arguments\n * @param {boolean} isCustomFilter - specifies whether it is custom filter or not\n * @returns {HTMLElement | string} returns the html element or string\n */\n ResponsiveDialogRenderer.prototype.renderResponsiveHeader = function (col, args, isCustomFilter) {\n var _this = this;\n var gObj = this.parent;\n gObj.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.enterKeyHandler, this.keyHandler, this);\n var id = gObj.element.id + this.getDialogName(this.action);\n if (this.parent.columnChooserSettings.headerTemplate && !this.parent.enableColumnVirtualization &&\n this.getHeaderTitle(args, col) === gObj.localeObj.getConstant('ChooseColumns')) {\n var headerTempteElement = this.parent.columnChooserModule.renderHeader();\n return headerTempteElement;\n }\n var header = gObj.createElement('div', { className: 'e-res-custom-element' });\n var titleDiv = gObj.createElement('div', { className: 'e-dlg-custom-header', id: id });\n titleDiv.innerHTML = this.getHeaderTitle(args, col);\n header.appendChild(titleDiv);\n var saveBtn = gObj.createElement('button');\n if (!isCustomFilter) {\n this.saveBtn = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__.Button({\n cssClass: this.parent.cssClass ?\n 'e-primary e-flat e-res-apply-btn' + ' ' + this.parent.cssClass : 'e-primary e-flat e-res-apply-btn'\n });\n saveBtn.innerHTML = gObj.localeObj.getConstant(this.getButtonText(this.action));\n this.saveBtn.appendTo(saveBtn);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n saveBtn.onclick = function (e) {\n _this.dialogHdrBtnClickHandler();\n };\n }\n var isSort = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort;\n var isFilter = this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter;\n if (isFilter || isSort) {\n var id_1 = isSort ? 'sort' : 'filter';\n var clearBtn = gObj.createElement('button');\n this.filterClearBtn = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_4__.Button({\n cssClass: this.parent.cssClass ? 'e-primary e-flat e-res-' + id_1 + '-clear-btn' + ' ' + this.parent.cssClass\n : 'e-primary e-flat e-res-' + id_1 + '-clear-btn'\n });\n if (isFilter) {\n var span = gObj.createElement('span', { className: 'e-btn-icon e-icon-filter-clear e-icons' });\n clearBtn.appendChild(span);\n }\n else {\n clearBtn.innerHTML = gObj.localeObj.getConstant('Clear');\n }\n header.appendChild(clearBtn);\n this.filterClearBtn.appendTo(clearBtn);\n clearBtn.onclick = function (e) {\n if (((0,_base_util__WEBPACK_IMPORTED_MODULE_2__.parentsUntil)(e.target, 'e-customfilter'))) {\n _this.parent.filterModule.clearFiltering();\n _this.removeCustomDlgFilterEle();\n }\n else {\n if (isFilter) {\n _this.filterClear();\n }\n else {\n _this.resetSortButtons();\n _this.sortedCols = [];\n _this.sortPredicate = [];\n _this.isSortApplied = true;\n }\n }\n };\n header.appendChild(clearBtn);\n }\n if (!isCustomFilter) {\n header.appendChild(saveBtn);\n }\n return header;\n };\n ResponsiveDialogRenderer.prototype.filterClear = function () {\n this.parent.filterModule.filterModule.clearCustomFilter(this.filteredCol);\n this.parent.filterModule.filterModule.closeResponsiveDialog();\n };\n ResponsiveDialogRenderer.prototype.removeCustomFilterElement = function () {\n var elem = document.getElementById(this.parent.element.id + 'customcolumnmenu');\n if (elem) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n var custom = document.querySelector('.e-customfilter');\n if (custom) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(custom);\n }\n }\n var custommenu = document.querySelector('.e-rescolumnchooser');\n if (custommenu) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(custommenu);\n }\n };\n /**\n * Function to close the Responsive Column Chooser dialog.\n * @returns {void}\n * @hidden\n */\n ResponsiveDialogRenderer.prototype.hideResponsiveColumnChooser = function () {\n var columnChooserElement = document.querySelector('.e-rescolumnchooser');\n if (columnChooserElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(columnChooserElement);\n this.isCustomDialog = false;\n this.isDialogClose = false;\n }\n };\n ResponsiveDialogRenderer.prototype.dialogHdrBtnClickHandler = function () {\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isEdit || this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isAdd) {\n this.parent.endEdit();\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter) {\n this.parent.filterModule.filterModule.applyCustomFilter({ col: this.filteredCol, isCustomFilter: this.isCustomDlgRender });\n this.removeCustomFilterElement();\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort) {\n this.sortColumn();\n this.removeCustomFilterElement();\n }\n else if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isColumnChooser) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveColumnChooserDiv, { action: 'confirm' });\n this.removeCustomFilterElement();\n this.isCustomDialog = false;\n this.isDialogClose = false;\n }\n };\n ResponsiveDialogRenderer.prototype.closeCustomDialog = function () {\n if (this.isCustomDlgRender) {\n var mainfilterdiv = this.customResponsiveDlg.element.querySelector('.e-mainfilterdiv');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(mainfilterdiv);\n return;\n }\n this.isRowResponsive = false;\n this.isCustomDlgRender = false;\n this.destroyCustomFilterDialog();\n };\n ResponsiveDialogRenderer.prototype.destroyCustomFilterDialog = function () {\n if (!this.customResponsiveDlg) {\n return;\n }\n var elem = document.getElementById(this.customResponsiveDlg.element.id);\n if (this.customResponsiveDlg && !this.customResponsiveDlg.isDestroyed && elem) {\n this.customResponsiveDlg.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(elem);\n }\n this.closeCustomFilter();\n if (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isSort) {\n this.sortPredicate = [];\n this.sortedCols = [];\n this.isSortApplied = false;\n }\n };\n ResponsiveDialogRenderer.prototype.closeCustomFilter = function () {\n if (!this.isDialogClose && this.customFilterDlg) {\n var customEle = document.getElementById(this.customFilterDlg.element.id);\n if (this.customFilterDlg && !this.customFilterDlg.isDestroyed && customEle) {\n this.customFilterDlg.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(customEle);\n }\n }\n this.isCustomDialog = false;\n this.isDialogClose = false;\n };\n ResponsiveDialogRenderer.prototype.removeCustomDlgFilterEle = function (target) {\n if (target) {\n if (target.parentElement.classList.contains('e-filtersetdiv')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(target.parentElement);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(target);\n }\n }\n else {\n var child = this.customColumnDiv.children;\n for (var i = 0; i < child.length; i++) {\n target = child[parseInt(i.toString(), 10)].querySelector('.e-filtersetdiv');\n if (target) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(target);\n i--;\n }\n }\n }\n };\n ResponsiveDialogRenderer.prototype.keyHandler = function (e) {\n if (e.keyCode === 13 && ((this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isFilter\n && e.target.classList.contains('e-searchinput'))\n || (this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isEdit || this.action === _base_enum__WEBPACK_IMPORTED_MODULE_3__.ResponsiveDialogAction.isAdd))) {\n this.dialogHdrBtnClickHandler();\n }\n };\n ResponsiveDialogRenderer.prototype.editComplate = function (args) {\n if (args.requestType === 'save' || args.requestType === 'cancel') {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.enterKeyHandler, this.keyHandler);\n }\n };\n ResponsiveDialogRenderer.prototype.removeEventListener = function () {\n if (this.customColumnDiv) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.customColumnDiv, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? 'touchend' : 'click', this.customFilterColumnClickHandler);\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n this.parent.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete, this.onActionCompleteFn);\n };\n return ResponsiveDialogRenderer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-drop-renderer.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-drop-renderer.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RowDragDropRenderer: () => (/* binding */ RowDragDropRenderer)\n/* harmony export */ });\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * ExpandCellRenderer class which responsible for building group expand cell.\n *\n * @hidden\n */\nvar RowDragDropRenderer = /** @class */ (function (_super) {\n __extends(RowDragDropRenderer, _super);\n function RowDragDropRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TD', {\n className: 'e-rowdragdrop e-rowdragdropcell',\n attrs: { tabindex: '-1', role: 'gridcell' }\n });\n return _this;\n }\n /**\n * Function to render the detail expand cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n RowDragDropRenderer.prototype.render = function (cell, data) {\n var nodeElement = this.element.cloneNode();\n nodeElement.appendChild(this.parent.createElement('div', {\n className: 'e-icons e-rowcelldrag e-dtdiagonalright e-icon-rowdragicon',\n attrs: { 'aria-hidden': 'true' }\n }));\n if (cell.isSelected) {\n nodeElement.classList.add('e-selectionbackground');\n nodeElement.classList.add('e-active');\n }\n if (this.parent.getVisibleFrozenRightCount() || this.parent.getVisibleFrozenLeftCount()) {\n nodeElement.classList.add('e-leftfreeze');\n var width = this.parent.getFrozenMode() === 'Right' ? 0 : this.parent.groupSettings.columns.length * 30;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_0__.applyStickyLeftRightPosition)(nodeElement, width, this.parent.enableRtl, this.parent.getFrozenMode() === 'Right' ? 'Right' : 'Left');\n }\n return nodeElement;\n };\n return RowDragDropRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_1__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-drop-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-header-indent-render.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-header-indent-render.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RowDragDropHeaderRenderer: () => (/* binding */ RowDragDropHeaderRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * DetailHeaderIndentCellRenderer class which responsible for building detail header indent cell.\n *\n * @hidden\n */\nvar RowDragDropHeaderRenderer = /** @class */ (function (_super) {\n __extends(RowDragDropHeaderRenderer, _super);\n function RowDragDropHeaderRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TH', { className: 'e-rowdragheader' });\n return _this;\n }\n /**\n * Function to render the detail indent cell\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n RowDragDropHeaderRenderer.prototype.render = function (cell, data) {\n var node = this.element.cloneNode();\n node.appendChild((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-emptycell' }));\n if (this.parent.getVisibleFrozenRightCount() || this.parent.getVisibleFrozenLeftCount()) {\n node.classList.add('e-leftfreeze');\n var width = this.parent.getFrozenMode() === 'Right' ? 0 : this.parent.groupSettings.columns.length * 30;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(node, width, this.parent.enableRtl, this.parent.getFrozenMode() === 'Right' ? 'Right' : 'Left');\n }\n return node;\n };\n return RowDragDropHeaderRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_2__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-header-indent-render.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RowRenderer: () => (/* binding */ RowRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _cell_merge_renderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cell-merge-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-merge-renderer.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n\n/**\n * RowRenderer class which responsible for building row content.\n *\n * @hidden\n */\nvar RowRenderer = /** @class */ (function () {\n function RowRenderer(serviceLocator, cellType, parent) {\n this.isSpan = false;\n this.cellType = cellType;\n this.serviceLocator = serviceLocator;\n this.parent = parent;\n this.element = this.parent.createElement('tr', { attrs: { role: 'row' } });\n }\n /* eslint-disable */\n /**\n * Function to render the row content based on Column[] and data.\n *\n * @param {Row} row - specifies the row\n * @param {Column[]} columns - specifies the columns\n * @param {Object} attributes - specifies the attributes\n * @param {string} rowTemplate - specifies the rowTemplate\n * @param {Element} cloneNode - specifies the cloneNode\n * @returns {Element} returns the element\n */\n /* eslint-enable */\n RowRenderer.prototype.render = function (row, columns, attributes, rowTemplate, cloneNode) {\n return this.refreshRow(row, columns, attributes, rowTemplate, cloneNode);\n };\n /* eslint-disable */\n /**\n * Function to refresh the row content based on Column[] and data.\n *\n * @param {Row} row - specifies the row\n * @param {Column[]} columns - specifies the column\n * @param {boolean} isChanged - specifies isChanged\n * @param {Object} attributes - specifies the attributes\n * @param {string} rowTemplate - specifies the rowTemplate\n * @returns {void}\n */\n /* eslint-enable */\n RowRenderer.prototype.refresh = function (row, columns, isChanged, attributes, rowTemplate) {\n var _this = this;\n if (isChanged) {\n row.data = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.extendObjWithFn)({}, row.changes);\n this.refreshMergeCells(row);\n }\n var node = this.parent.element.querySelector('[data-uid=' + row.uid + ']');\n var tr = this.refreshRow(row, columns, attributes, rowTemplate, null, isChanged);\n var cells = [].slice.call(tr.cells);\n var tempCells = [].slice.call(node.querySelectorAll('.e-templatecell'));\n if (this.parent.isReact && tempCells.length) {\n var _loop_1 = function (col) {\n if (col.template) {\n setTimeout(function () {\n _this.parent.refreshReactColumnTemplateByUid(col.uid, true);\n }, 0);\n return \"break\";\n }\n };\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var col = columns_1[_i];\n var state_1 = _loop_1(col);\n if (state_1 === \"break\")\n break;\n }\n }\n var attr = [].slice.call(tr.attributes);\n attr.map(function (item) {\n node.setAttribute(item['name'], item['value']);\n });\n node.innerHTML = '';\n for (var _a = 0, cells_1 = cells; _a < cells_1.length; _a++) {\n var cell = cells_1[_a];\n node.appendChild(cell);\n }\n };\n // tslint:disable-next-line:max-func-body-length\n RowRenderer.prototype.refreshRow = function (row, columns, attributes, rowTemplate, cloneNode, isEdit) {\n var tr = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cloneNode) ? cloneNode : this.element.cloneNode();\n var rowArgs = { data: row.data };\n var cellArgs = { data: row.data };\n var chekBoxEnable = this.parent.getColumns().filter(function (col) { return col.type === 'checkbox' && col.field; })[0];\n var value = false;\n var isFrozen = this.parent.isFrozenGrid();\n var isFirstVisibleCell = true;\n if (chekBoxEnable) {\n value = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(chekBoxEnable.field, rowArgs.data);\n }\n var selIndex = this.parent.getSelectedRowIndexes();\n if (row.isDataRow) {\n row.isSelected = selIndex.indexOf(row.index) > -1 || value;\n }\n if (row.isDataRow && this.parent.isCheckBoxSelection\n && this.parent.checkAllRows === 'Check' && (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {\n row.isSelected = true;\n if (selIndex.indexOf(row.index) === -1) {\n selIndex.push(row.index);\n }\n }\n this.buildAttributeFromRow(tr, row);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(tr, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, attributes, {}));\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.setStyleAndAttributes)(tr, row.attributes);\n var cellRendererFact = this.serviceLocator.getService('cellRendererFactory');\n var _loop_2 = function (i, len) {\n var cell = row.cells[parseInt(i.toString(), 10)];\n cell.isSelected = row.isSelected;\n cell.isColumnSelected = cell.column.isSelected;\n var cellRenderer = cellRendererFact.getCellRenderer(row.cells[parseInt(i.toString(), 10)].cellType\n || _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Data);\n var attrs = { 'index': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.index) ? row.index.toString() : '' };\n if (row.isExpand && row.cells[parseInt(i.toString(), 10)].cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.DetailExpand) {\n attrs['class'] = this_1.parent.isPrinting ? 'e-detailrowcollapse' : 'e-detailrowexpand';\n }\n var isGroupFirstCell = !this_1.parent.enableRtl && this_1.parent.groupSettings && isFirstVisibleCell &&\n this_1.parent.groupSettings.columns.length && (this_1.parent.gridLines === 'Vertical' || this_1.parent.gridLines === 'Both');\n var td = cellRenderer.render(row.cells[parseInt(i.toString(), 10)], row.data, attrs, row.isExpand, isEdit);\n if (row.cells[parseInt(i.toString(), 10)].cellType !== _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Filter) {\n if (row.cells[parseInt(i.toString(), 10)].cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Data\n || row.cells[parseInt(i.toString(), 10)].cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.CommandColumn) {\n if (cell.visible && isGroupFirstCell) {\n td.classList.add('e-grid-group-first-cell');\n isFirstVisibleCell = false;\n }\n var isReactChild = this_1.parent.parentDetails && this_1.parent.parentDetails.parentInstObj &&\n this_1.parent.parentDetails.parentInstObj.isReact;\n var isReactPrintGrid = this_1.parent.printGridParent && this_1.parent.printGridParent.isReact;\n if (((this_1.parent.isReact && this_1.parent.requireTemplateRef) || (isReactChild &&\n this_1.parent.parentDetails.parentInstObj.requireTemplateRef) || (isReactPrintGrid\n && this_1.parent.printGridParent.requireTemplateRef)) && cell.isTemplate) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef_1 = this_1;\n thisRef_1.parent.renderTemplates(function () {\n if (typeof (cell.column.template) !== 'string') {\n var ariaAttr = td.getAttribute('aria-label');\n td.setAttribute('aria-label', td.innerText + ariaAttr);\n }\n thisRef_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.queryCellInfo, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(cellArgs, {\n cell: td, column: cell.column, colSpan: 1,\n rowSpan: 1, foreignKeyData: row.cells[parseInt(i.toString(), 10)].foreignKeyData,\n requestType: thisRef_1.parent.requestTypeAction\n }));\n });\n }\n else {\n this_1.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.queryCellInfo, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(cellArgs, {\n cell: td, column: cell.column, colSpan: 1,\n rowSpan: 1, foreignKeyData: row.cells[parseInt(i.toString(), 10)].foreignKeyData,\n requestType: this_1.parent.requestTypeAction\n }));\n }\n var isRowSpanned = false;\n if (row.index > 0 && (this_1.isSpan || (this_1.parent.isSpan && isEdit))) {\n var rowsObject = this_1.parent.getRowsObject();\n var prevRowCells = this_1.parent.groupSettings.columns.length > 0 &&\n !rowsObject[row.index - 1].isDataRow ? rowsObject[row.index].cells : rowsObject[row.index - 1].cells;\n var uid_1 = 'uid';\n var prevRowCell = prevRowCells.filter(function (cell) {\n return cell.column.uid === row.cells[parseInt(i.toString(), 10)].column[\"\" + uid_1];\n })[0];\n isRowSpanned = prevRowCell.isRowSpanned ? prevRowCell.isRowSpanned : prevRowCell.rowSpanRange > 1;\n }\n if ((cellArgs.rowSpan > 1 || cellArgs.colSpan > 1)) {\n this_1.resetrowSpanvalue(this_1.parent.frozenRows > row.index ? this_1.parent.frozenRows :\n this_1.parent.currentViewData.length, cellArgs, row.index);\n if (cellArgs.column.visible === false) {\n cellArgs.colSpan = 1;\n }\n else {\n if (isFrozen) {\n var columns_2 = this_1.parent.getColumns();\n var right = this_1.parent.getFrozenRightColumnsCount();\n var left = this_1.parent.getFrozenLeftCount();\n var movableCount = columns_2.length - right;\n var cellIdx = cellArgs.column.index;\n if (left > cellIdx && left < (cellIdx + cellArgs.colSpan)) {\n var colSpan = (cellIdx + cellArgs.colSpan) - left;\n cellArgs.colSpan = cellArgs.colSpan - colSpan;\n }\n else if (movableCount <= cellIdx && columns_2.length < (cellIdx + cellArgs.colSpan)) {\n var colSpan = (cellIdx + cellArgs.colSpan) - columns_2.length;\n cellArgs.colSpan = cellArgs.colSpan - colSpan;\n }\n else if (cellArgs.column.freeze === 'Fixed') {\n var colSpan = 1;\n var index = cellIdx;\n for (var j = index + 1; j < index + cellArgs.colSpan; j++) {\n if (columns_2[parseInt(j.toString(), 10)].freeze === 'Fixed') {\n colSpan++;\n }\n else {\n break;\n }\n }\n cellArgs.colSpan = colSpan;\n }\n else if (movableCount > cellIdx && movableCount < (cellIdx + cellArgs.colSpan)) {\n var colSpan = (cellIdx + cellArgs.colSpan) - movableCount;\n cellArgs.colSpan = cellArgs.colSpan - colSpan;\n }\n }\n }\n }\n if (cellArgs.colSpan > 1 || row.cells[parseInt(i.toString(), 10)].cellSpan > 1 || cellArgs.rowSpan > 1\n || isRowSpanned) {\n this_1.parent.isSpan = true;\n this_1.isSpan = true;\n var cellMerge = new _cell_merge_renderer__WEBPACK_IMPORTED_MODULE_4__.CellMergeRender(this_1.serviceLocator, this_1.parent);\n td = cellMerge.render(cellArgs, row, i, td);\n if (isFrozen) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetColandRowSpanStickyPosition)(this_1.parent, cellArgs.column, td, cellArgs.colSpan);\n }\n }\n }\n if ((cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Header || cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.StackedHeader) &&\n isGroupFirstCell && (cell.visible || cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.StackedHeader)) {\n var visibleColumns = this_1.parent.getVisibleColumns();\n var field = 'field';\n var type = 'type';\n if ((cell.column[\"\" + type] && cell.column[\"\" + type] === 'checkbox') ||\n (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Header && cell.column[\"\" + field] && visibleColumns.length &&\n visibleColumns[0].field === cell.column[\"\" + field]) || cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.StackedHeader) {\n td.classList.add('e-grid-group-first-cell');\n isFirstVisibleCell = false;\n }\n }\n if (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Header && (row.cells[parseInt(i.toString(), 10)].colSpan > 1 ||\n row.cells[parseInt(i.toString(), 10)].rowSpan > 1)) {\n var cellMerge = new _cell_merge_renderer__WEBPACK_IMPORTED_MODULE_4__.CellMergeRender(this_1.serviceLocator, this_1.parent);\n td = cellMerge.render(row.cells[parseInt(i.toString(), 10)], row, i, td);\n }\n if (this_1.isSpan) {\n var rowsObject = this_1.parent.getRowsObject();\n var isRtl = this_1.parent.enableRtl;\n if (rowsObject[row.index - 1]) {\n var prevRowCells = rowsObject[row.index - 1].cells;\n var prevRowCell = prevRowCells[i - 1];\n var currentRowCell = prevRowCells[parseInt(i.toString(), 10)];\n var nextRowCell = prevRowCells[i + 1];\n var direction = prevRowCells[parseInt(i.toString(), 10)].column.freeze;\n if (prevRowCell && (prevRowCell.isRowSpanned || prevRowCell.rowSpanRange > 1) && prevRowCell.visible) {\n if (!isRtl && (!currentRowCell.isRowSpanned || prevRowCell.rowSpanRange > currentRowCell.rowSpanRange)) {\n td.classList.add('e-rowcell-firstchild');\n }\n if (isFrozen) {\n if (prevRowCell.column.freeze === 'Fixed' && direction === 'Fixed') {\n td.classList.add(isRtl ? 'e-removefreezerightborder' : 'e-removefreezeleftborder');\n }\n else if (!isRtl && i === 1 && direction === 'Left') {\n td.classList.add('e-addfreezefirstchildborder');\n }\n }\n }\n if (nextRowCell && (nextRowCell.isRowSpanned || nextRowCell.rowSpanRange > 1) && nextRowCell.visible) {\n if (isRtl && (!currentRowCell.isRowSpanned || nextRowCell.rowSpanRange > currentRowCell.rowSpanRange)) {\n td.classList.add('e-rowcell-lastchild');\n }\n if (isFrozen && nextRowCell.column.freeze === 'Fixed' && direction === 'Fixed' && cellArgs.colSpan < 2) {\n td.classList.add(isRtl ? 'e-removefreezeleftborder' : 'e-removefreezerightborder');\n }\n }\n }\n }\n if (cellArgs.rowSpan > 1 && this_1.parent.currentViewData.length - row.index === cellArgs.rowSpan) {\n td.classList.add('e-row-span-lastrowcell');\n }\n if (!row.cells[parseInt(i.toString(), 10)].isSpanned) {\n tr.appendChild(td);\n }\n }\n };\n var this_1 = this;\n for (var i = 0, len = row.cells.length; i < len; i++) {\n _loop_2(i, len);\n }\n var emptyColspan = 0;\n if (this.parent.groupSettings.columns.length && this.parent.getFrozenLeftColumnsCount()) {\n if (tr.classList.contains('e-groupcaptionrow')) {\n var freezeCells = [].slice.call(tr.querySelectorAll('.e-leftfreeze,.e-unfreeze,.e-rightfreeze,.e-fixedfreeze,.e-freezerightborder,.e-freezeleftborder'));\n if (freezeCells.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(freezeCells, ['e-leftfreeze', 'e-unfreeze', 'e-rightfreeze', 'e-fixedfreeze', 'e-freezerightborder', 'e-freezeleftborder']);\n }\n if (tr.querySelector('.e-summarycell')) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.groupCaptionRowLeftRightPos)(tr, this.parent);\n }\n else {\n for (var j = 0; j < tr.childNodes.length; j++) {\n var td = tr.childNodes[parseInt(j.toString(), 10)];\n td.classList.add('e-leftfreeze');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(td, j * 30, this.parent.enableRtl, 'Left');\n if (td.classList.contains('e-groupcaption')) {\n var oldColspan = parseInt(td.getAttribute('colspan'), 10);\n var colspan = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.resetColspanGroupCaption)(this.parent, j);\n td.setAttribute('colspan', colspan.toString());\n emptyColspan = oldColspan - colspan;\n }\n }\n if (emptyColspan) {\n var td = this.parent.createElement('TD', {\n className: 'e-groupcaption',\n attrs: { colspan: emptyColspan.toString(), id: this.parent.element.id + 'captioncell', tabindex: '-1' }\n });\n tr.appendChild(td);\n }\n }\n }\n if ((tr.querySelectorAll('.e-leftfreeze').length || tr.classList.contains('e-columnheader')) &&\n (tr.querySelectorAll('.e-indentcell').length || tr.querySelectorAll('.e-grouptopleftcell').length)) {\n var td = tr.querySelectorAll('.e-indentcell, .e-grouptopleftcell');\n for (var i = 0; i < td.length; i++) {\n td[parseInt(i.toString(), 10)].classList.add('e-leftfreeze');\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(td[parseInt(i.toString(), 10)], i * 30, this.parent.enableRtl, 'Left');\n }\n }\n }\n var args = { row: tr, rowHeight: this.parent.rowHeight };\n if (row.isDataRow) {\n var eventArg_1 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(rowArgs, args);\n eventArg_1.isSelectable = true;\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact;\n var cellTemplate = eventArg_1.row.querySelectorAll('.e-templatecell');\n if (((this.parent.isReact && this.parent.requireTemplateRef) || (isReactChild &&\n this.parent.parentDetails.parentInstObj.requireTemplateRef)) && cellTemplate.length) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var thisRef_2 = this;\n thisRef_2.parent.renderTemplates(function () {\n thisRef_2.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDataBound, eventArg_1);\n if (!eventArg_1.isSelectable) {\n row.isSelectable = eventArg_1.isSelectable;\n thisRef_2.disableRowSelection(thisRef_2, row, args, eventArg_1);\n }\n });\n }\n else {\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.rowDataBound, eventArg_1);\n }\n row.isSelectable = eventArg_1.isSelectable;\n var isDraggable = this.parent.isRowDragable();\n if (this.parent.allowPaging && this.parent.selectionSettings.persistSelection) {\n var primaryKey_1 = this.parent.getPrimaryKeyFieldNames()[0];\n var pKey_1 = row.data ? row.data[\"\" + primaryKey_1] : null;\n var SelectedRecords = eventArg_1.isSelectable ? this.parent.partialSelectedRecords :\n this.parent.disableSelectedRecords;\n if (!SelectedRecords.some(function (data) { return data[\"\" + primaryKey_1] === pKey_1; })) {\n SelectedRecords.push(row.data);\n }\n }\n if (!eventArg_1.isSelectable) {\n this.disableRowSelection(this, row, args, eventArg_1);\n }\n if (this.parent.childGrid || isDraggable || this.parent.detailTemplate) {\n var td = tr.querySelectorAll('.e-rowcell:not(.e-hide)')[0];\n if (td) {\n td.classList.add('e-detailrowvisible');\n }\n }\n }\n if (this.parent.enableVirtualization) {\n rowArgs.rowHeight = this.parent.rowHeight;\n }\n if (rowArgs.rowHeight) {\n tr.style.height = rowArgs.rowHeight + 'px';\n }\n else if (this.parent.rowHeight && (tr.querySelector('.e-headercell') || tr.querySelector('.e-groupcaption'))) {\n tr.style.height = this.parent.rowHeight + 'px';\n }\n if (row.cssClass) {\n tr.classList.add(row.cssClass);\n }\n if (row.lazyLoadCssClass) {\n tr.classList.add(row.lazyLoadCssClass);\n }\n if (this.parent.rowRenderingMode === 'Vertical' && this.parent.allowTextWrap && (this.parent.textWrapSettings.wrapMode === 'Header'\n || this.parent.textWrapSettings.wrapMode === 'Both')) {\n tr.classList.add('e-verticalwrap');\n }\n var vFTable = this.parent.enableColumnVirtualization;\n if (!vFTable && this.parent.aggregates.length && this.parent.element.scrollHeight > this.parent.height) {\n for (var i = 0; i < this.parent.aggregates.length; i++) {\n var property = 'properties';\n var column = 'columns';\n if (this.parent.aggregates[parseInt(i.toString(), 10)][\"\" + property][\"\" + column][0].footerTemplate) {\n var summarycell = [].slice.call(tr.getElementsByClassName('e-summarycell'));\n if (summarycell.length) {\n var lastSummaryCell = (summarycell[summarycell.length - 1]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([lastSummaryCell], ['e-lastsummarycell']);\n var firstSummaryCell = (summarycell[0]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([firstSummaryCell], ['e-firstsummarycell']);\n }\n }\n }\n }\n return tr;\n };\n RowRenderer.prototype.resetrowSpanvalue = function (rowCount, cellArgs, rowIndex) {\n if (rowCount > rowIndex && rowCount < rowIndex + cellArgs.rowSpan) {\n var rowSpan = (rowIndex + cellArgs.rowSpan) - rowCount;\n cellArgs.rowSpan = cellArgs.rowSpan - rowSpan;\n }\n };\n RowRenderer.prototype.disableRowSelection = function (thisRef, row, args, eventArg) {\n var selIndex = this.parent.getSelectedRowIndexes();\n this.parent.selectionModule.isPartialSelection = true;\n row.isSelected = false;\n var selRowIndex = selIndex.indexOf(row.index);\n if (selRowIndex > -1) {\n selIndex.splice(selRowIndex, 1);\n }\n var chkBox = args.row.querySelectorAll('.e-rowcell.e-gridchkbox');\n var isDrag = eventArg.row.querySelector('.e-rowdragdrop');\n var cellIdx = thisRef.parent.groupSettings.columns.length + (isDrag || thisRef.parent.isDetail() ? 1 : 0);\n for (var i = 0; i < chkBox.length; i++) {\n chkBox[parseInt(i.toString(), 10)].firstElementChild.classList.add('e-checkbox-disabled');\n chkBox[parseInt(i.toString(), 10)].querySelector('.e-frame').classList.remove('e-check');\n }\n if (row.cells.length) {\n for (var i = cellIdx; i < row.cells.length; i++) {\n var cell = eventArg.row.querySelector('.e-rowcell[aria-colindex=\"' + (row.cells[parseInt(i.toString(), 10)].index + 1) + '\"]');\n if (cell) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([cell], ['e-selectionbackground', 'e-active']);\n }\n }\n }\n if (isDrag) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([isDrag], ['e-selectionbackground', 'e-active']);\n }\n };\n RowRenderer.prototype.refreshMergeCells = function (row) {\n for (var _i = 0, _a = row.cells; _i < _a.length; _i++) {\n var cell = _a[_i];\n cell.isSpanned = false;\n }\n return row;\n };\n /* eslint-disable */\n /**\n * Function to check and add alternative row css class.\n *\n * @param {Element} tr - specifies the tr element\n * @param {Row} row - specifies the row\n * @returns {void}\n */\n /* eslint-enable */\n RowRenderer.prototype.buildAttributeFromRow = function (tr, row) {\n var attr = {};\n var prop = { 'dataUID': 'data-uid', 'ariaSelected': 'aria-selected' };\n var classes = [];\n if (row.isDataRow) {\n classes.push(_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.row);\n }\n if (row.isAltRow) {\n classes.push('e-altrow');\n }\n if (row.isCaptionRow) {\n classes.push('e-groupcaptionrow');\n }\n if (row.isAggregateRow && row.parentUid) {\n classes.push('e-groupfooterrow');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row.index)) {\n attr[_base_string_literals__WEBPACK_IMPORTED_MODULE_5__.ariaRowIndex] = row.index + 1;\n }\n if (row.rowSpan) {\n attr.rowSpan = row.rowSpan;\n }\n if (row.uid) {\n attr[prop.dataUID] = row.uid;\n }\n if (row.isSelected) {\n attr[prop.ariaSelected] = true;\n }\n if (row.visible === false) {\n classes.push('e-hide');\n }\n attr.class = classes;\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.setStyleAndAttributes)(tr, attr);\n };\n return RowRenderer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StackedHeaderCellRenderer: () => (/* binding */ StackedHeaderCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * StackedHeaderCellRenderer class which responsible for building stacked header cell content.\n *\n * @hidden\n */\nvar StackedHeaderCellRenderer = /** @class */ (function (_super) {\n __extends(StackedHeaderCellRenderer, _super);\n function StackedHeaderCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent.createElement('TH', {\n className: 'e-headercell e-stackedheadercell', attrs: {\n tabindex: '-1', role: 'columnheader'\n }\n });\n return _this;\n }\n /**\n * Function to render the cell content based on Column object.\n *\n * @param {Cell} cell - specifies the cell\n * @param {Object} data - specifies the data\n * @param {object} attributes - specifies the attributes\n * @returns {Element} returns the element\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n StackedHeaderCellRenderer.prototype.render = function (cell, data, attributes) {\n var node = this.element.cloneNode();\n var div = this.parent.createElement('div', {\n className: 'e-stackedheadercelldiv',\n attrs: { 'e-mappinguid': cell.column.uid }\n });\n var column = cell.column;\n node.appendChild(div);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.headerTemplate)) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.appendChildren)(div, column.getHeaderTemplate()(column, this.parent, 'headerTemplate', null, null, null, null, this.parent.root));\n }\n else {\n this.appendHtml(div, this.parent.sanitize(column.headerText), column.getDomSetter());\n }\n if (cell.column.toolTip) {\n node.setAttribute('title', cell.column.toolTip);\n }\n if (column.clipMode === 'Clip' || (!column.clipMode && this.parent.clipMode === 'Clip')) {\n node.classList.add('e-gridclip');\n }\n else if (column.clipMode === 'EllipsisWithTooltip' || (!column.clipMode && this.parent.clipMode === 'EllipsisWithTooltip')) {\n node.classList.add('e-ellipsistooltip');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.textAlign)) {\n var alignmentClassMap = { right: 'e-rightalign', left: 'e-leftalign', center: 'e-centeralign', justify: 'e-justifyalign' };\n if (alignmentClassMap[cell.column.textAlign.toLowerCase()]) {\n node.classList.add(alignmentClassMap[cell.column.textAlign.toLowerCase()]);\n }\n }\n if (cell.column.customAttributes) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.setStyleAndAttributes)(node, cell.column.customAttributes);\n }\n node.setAttribute('colspan', cell.colSpan.toString());\n node.setAttribute('aria-colspan', cell.colSpan.toString());\n node.setAttribute('aria-rowspan', '1');\n if (this.parent.allowResizing) {\n var handler = this.parent.createElement('div');\n handler.className = cell.column.allowResizing ? 'e-rhandler e-rcursor' : 'e-rsuppress';\n node.appendChild(handler);\n }\n if (cell.className) {\n node.classList.add(cell.className);\n }\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_2__.headerCellInfo, { cell: cell, node: node });\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.frozenDirection)(column) === 'Left') {\n node.classList.add('e-leftfreeze');\n if (column.border === 'Left') {\n node.classList.add('e-freezeleftborder');\n }\n if (column.index === 0) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(node, (this.parent.getIndentCount() * 30), this.parent.enableRtl, 'Left');\n }\n else {\n var cols = this.parent.getColumns();\n var width = this.parent.getIndentCount() * 30;\n for (var i = 0; i < cols.length; i++) {\n if (column.index < cols[parseInt(i.toString(), 10)].index) {\n break;\n }\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(node, width, this.parent.enableRtl, 'Left');\n }\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.frozenDirection)(column) === 'Right') {\n node.classList.add('e-rightfreeze');\n var cols = this.parent.getColumns();\n var width = this.parent.getFrozenMode() === 'Right' && this.parent.isRowDragable() ? 30 : 0;\n for (var i = cols.length - 1; i >= 0; i--) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isChildColumn)(column, cols[parseInt(i.toString(), 10)].uid) || column.index > cols[parseInt(i.toString(), 10)].index) {\n break;\n }\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(node, width, this.parent.enableRtl, 'Right');\n if (column.border === 'Right') {\n node.classList.add('e-freezerightborder');\n }\n }\n else if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.frozenDirection)(column) === 'Fixed') {\n node.classList.add('e-fixedfreeze');\n var cols = this.parent.getColumns();\n var width = 0;\n if (this.parent.getVisibleFrozenLeftCount()) {\n width = this.parent.getIndentCount() * 30;\n }\n else if (this.parent.getFrozenMode() === 'Right') {\n width = this.parent.groupSettings.columns.length * 30;\n }\n for (var i = 0; i < cols.length; i++) {\n if (column.index > cols[parseInt(i.toString(), 10)].index) {\n if ((cols[parseInt(i.toString(), 10)].freeze === 'Left' || cols[parseInt(i.toString(), 10)].isFrozen) ||\n cols[parseInt(i.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(node, width - 1, this.parent.enableRtl, 'Left');\n width = this.parent.getFrozenMode() === 'Right' && this.parent.isRowDragable() ? 30 : 0;\n for (var i = cols.length - 1; i >= 0; i--) {\n if (column.index < cols[parseInt(i.toString(), 10)].index) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isChildColumn)(column, cols[parseInt(i.toString(), 10)].uid) ||\n column.index > cols[parseInt(i.toString(), 10)].index) {\n break;\n }\n if (cols[parseInt(i.toString(), 10)].freeze === 'Right' || cols[parseInt(i.toString(), 10)].freeze === 'Fixed') {\n if (cols[parseInt(i.toString(), 10)].visible) {\n width += parseFloat(cols[parseInt(i.toString(), 10)].width.toString());\n }\n }\n }\n }\n (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.applyStickyLeftRightPosition)(node, width - 1, this.parent.enableRtl, 'Right');\n }\n else {\n node.classList.add('e-unfreeze');\n }\n return node;\n };\n return StackedHeaderCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_3__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/string-filter-ui.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/string-filter-ui.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StringFilterUI: () => (/* binding */ StringFilterUI)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/util.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/checkbox-filter-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.js\");\n\n\n\n\n\n\n\n/**\n * `string filterui` render string column.\n *\n * @hidden\n */\n_syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect.Inject(_syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_2__.CheckBoxSelection);\nvar StringFilterUI = /** @class */ (function () {\n function StringFilterUI(parent, serviceLocator, filterSettings) {\n this.parent = parent;\n this.serLocator = serviceLocator;\n this.filterSettings = filterSettings;\n if (this.parent) {\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterMenuClose, this.destroy, this);\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy, this);\n }\n }\n StringFilterUI.prototype.create = function (args) {\n this.instance = this.parent.createElement('input', { className: 'e-flmenu-input', id: 'strui-' + args.column.uid });\n args.target.appendChild(this.instance);\n this.multiSelectCheckBoxInstance = this.parent.createElement('input', { className: 'multiselect-input', id: 'multiselectstrui-' + args.column.uid });\n args.target.appendChild(this.multiSelectCheckBoxInstance);\n this.dialogObj = args.dialogObj;\n this.processDataOperation(args);\n this.createMultiSelectDropDown(args);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.toggleFilterUI)(args.getOptrInstance.dropOptr.value, args.column.uid, args.column, args.column.type, args.dialogObj, args.getOptrInstance.dropOptr['previousValue']);\n };\n StringFilterUI.prototype.processDataOperation = function (args) {\n var _this = this;\n if (args.column.isForeignColumn()) {\n this.parent.getDataModule().dataManager.executeQuery(this.parent.getDataModule().generateQuery(true))\n .then(function (result) {\n _this.getAutoCompleteOptions(args, result);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.toggleFilterUI)(args.getOptrInstance.dropOptr.value, args.column.uid, args.column, args.column.type, args.dialogObj, args.getOptrInstance.dropOptr['previousValue']);\n });\n return;\n }\n this.getAutoCompleteOptions(args);\n };\n StringFilterUI.prototype.getAutoCompleteOptions = function (args, result) {\n var isForeignColumn = args.column.isForeignColumn();\n var foreignColumnQuery;\n if (isForeignColumn) {\n var filteredData = _common_checkbox_filter_base__WEBPACK_IMPORTED_MODULE_5__.CheckBoxFilterBase.getDistinct(result.result, args.column.field)\n .records || [];\n var filterQuery = void 0;\n for (var i = 0; i < filteredData.length; i++) {\n if (filterQuery) {\n filterQuery = filterQuery.or(args.column.field, 'contains', filteredData[parseInt(i.toString(), 10)][args.column.field], this.parent\n .filterSettings.enableCaseSensitivity, this.parent.filterSettings.ignoreAccent);\n }\n else {\n filterQuery = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Predicate(args.column.field, 'contains', filteredData[parseInt(i.toString(), 10)][args.column.field], this.parent\n .filterSettings.enableCaseSensitivity, this.parent.filterSettings.ignoreAccent);\n }\n }\n foreignColumnQuery = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query().where(filterQuery);\n foreignColumnQuery.params = this.parent.query.params;\n }\n var dataSource = isForeignColumn ? args.column.dataSource : this.parent.dataSource;\n var fields = { value: isForeignColumn ? args.column.foreignKeyValue : args.column.field };\n var autoComplete = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_7__.AutoComplete((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager ? dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(dataSource),\n fields: fields,\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl,\n query: isForeignColumn ? foreignColumnQuery : this.parent.getDataModule().generateQuery(true, true),\n sortOrder: 'Ascending',\n cssClass: this.parent.cssClass ? 'e-popup-flmenu' + ' ' + this.parent.cssClass : 'e-popup-flmenu',\n autofill: true,\n placeholder: args.localizeText.getConstant('EnterValue'),\n actionBegin: function () {\n if (this.query.queries.length && this.query.queries[0].fn === 'onWhere' && this.query.queries[0].e\n && this.query.queries[0].e.predicates) {\n for (var i = 0; i < this.query.queries[0].e.predicates.length; i++) {\n if (this.properties.fields.value === this.query.queries[0].e.predicates[\"\" + i].field) {\n this.query.queries[0].e.predicates.splice(i, 1);\n i = i - 1;\n }\n }\n if (!this.query.queries[0].e.predicates.length) {\n this.query.queries.splice(0, 1);\n }\n }\n }\n }, args.column.filter.params));\n this.acFocus = this.focus(autoComplete, args);\n this.acComplete = this.actionComplete(autoComplete);\n this.acOpen = this.openPopup.bind(this);\n autoComplete.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_9__.focus, this.acFocus);\n autoComplete.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_9__.open, this.acOpen);\n autoComplete.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.acComplete);\n if (dataSource && 'result' in dataSource) {\n var query = this.parent.getQuery ? this.parent.getQuery().clone() : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query();\n var defObj = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.eventPromise)({ requestType: 'stringfilterrequest' }, query);\n this.parent.trigger(_base_constant__WEBPACK_IMPORTED_MODULE_3__.dataStateChange, defObj.state);\n var def = defObj.deffered;\n def.promise.then(function (e) {\n autoComplete.dataSource = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(e);\n });\n }\n this.actObj = autoComplete;\n this.actObj.appendTo(this.instance);\n if (isForeignColumn) {\n this.parent.filterModule.filterModule.afterRenderFilterUI();\n }\n };\n StringFilterUI.prototype.write = function (args) {\n var operatorDropdown = this.parent.filterModule.filterModule.getOperatorDropdown();\n var stringObject = this.getAutoCompleteInstance(args.column.uid);\n var multiSelectObject = this.getMultiSelectInstance(args.column.uid);\n if (operatorDropdown.value === 'in' || operatorDropdown.value === 'notin') {\n multiSelectObject.value = Array.isArray(args.filteredValue) ? args.filteredValue : [];\n }\n else {\n if (args.filteredValue !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.filteredValue) && !Array.isArray(args.filteredValue)) {\n stringObject.value = args.filteredValue;\n }\n }\n };\n StringFilterUI.prototype.read = function (element, column, filterOptr, filterObj) {\n if (filterOptr === 'in' || filterOptr === 'notin') {\n var filterValue = this.getMultiSelectInstance(column.uid).value;\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', this.parent.filterSettings.enableCaseSensitivity);\n }\n else {\n var autoCompleteObject = this.getAutoCompleteInstance(column.uid);\n var filterValue = autoCompleteObject.value;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n autoCompleteObject.hidePopup();\n autoCompleteObject.focusOut();\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterValue) || filterValue === '') {\n filterValue = null;\n }\n filterObj.filterByColumn(column.field, filterOptr, filterValue, 'and', this.parent.filterSettings.enableCaseSensitivity);\n }\n };\n StringFilterUI.prototype.getAutoCompleteInstance = function (uid) {\n return document.querySelector(\"#strui-\" + uid).ej2_instances[0];\n };\n StringFilterUI.prototype.getMultiSelectInstance = function (uid) {\n return document.querySelector(\"#multiselectstrui-\" + uid).ej2_instances[0];\n };\n StringFilterUI.prototype.createMultiSelectDropDown = function (args) {\n var isForeignColumn = args.column.isForeignColumn();\n var dataSource = isForeignColumn ? args.column.dataSource : this.parent.dataSource;\n var fields = isForeignColumn ? args.column.foreignKeyValue : args.column.field;\n this.multiSelectObj = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.MultiSelect((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n dataSource: dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager ? dataSource : new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_8__.DataManager(dataSource),\n fields: { text: fields, value: fields },\n mode: 'CheckBox',\n showDropDownIcon: true,\n popupHeight: '300px',\n showSelectAll: true,\n query: new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_6__.Query().select(fields),\n cssClass: this.parent.cssClass ? 'e-multiselect-flmenu' + ' ' + this.parent.cssClass : 'e-multiselect-flmenu',\n locale: this.parent.locale,\n enableRtl: this.parent.enableRtl\n }, args.column.filter.params));\n this.dialogObj = args.dialogObj;\n this.dropdownOpen = this.openPopup.bind(this);\n this.dropdownComplete = this.actionCompleteMultiCheckBox(fields);\n this.multiSelectObj.addEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_9__.open, this.dropdownOpen);\n this.multiSelectObj.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.dropdownComplete);\n this.multiSelectObj.appendTo(this.multiSelectCheckBoxInstance);\n };\n StringFilterUI.prototype.openPopup = function (args) {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getZIndexCalcualtion)(args, this.dialogObj);\n };\n StringFilterUI.prototype.focus = function (actObj, args) {\n return function () {\n actObj.filterType = args.getOptrInstance.getFlOperator();\n };\n };\n StringFilterUI.prototype.actionComplete = function (actObj) {\n return function (e) {\n e.result = e.result.filter(function (obj, index, arr) {\n return arr.map(function (mapObj) {\n return ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(actObj.fields.value, mapObj));\n }).indexOf((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)((actObj.fields.value), obj)) === index;\n });\n };\n };\n StringFilterUI.prototype.actionCompleteMultiCheckBox = function (fields) {\n return function (e) {\n e.result = _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_10__.DataUtil.distinct(e.result, fields, true);\n };\n };\n StringFilterUI.prototype.destroy = function () {\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.filterMenuClose, this.destroy);\n this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_3__.destroy, this.destroy);\n if (this.actObj && !this.actObj.isDestroyed) {\n this.actObj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_9__.focus, this.acFocus);\n this.actObj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_9__.open, this.acOpen);\n this.actObj.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.acComplete);\n this.actObj.destroy();\n }\n if (this.multiSelectObj && !this.multiSelectObj.isDestroyed) {\n this.multiSelectObj.removeEventListener(_base_string_literals__WEBPACK_IMPORTED_MODULE_9__.open, this.dropdownOpen);\n this.multiSelectObj.removeEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_3__.actionComplete, this.dropdownComplete);\n this.multiSelectObj.destroy();\n }\n };\n return StringFilterUI;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/string-filter-ui.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/summary-cell-renderer.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/summary-cell-renderer.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SummaryCellRenderer: () => (/* binding */ SummaryCellRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _cell_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cell-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * SummaryCellRenderer class which responsible for building summary cell content.\n *\n * @hidden\n */\nvar SummaryCellRenderer = /** @class */ (function (_super) {\n __extends(SummaryCellRenderer, _super);\n function SummaryCellRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = _this.parent\n .createElement('TD', { className: 'e-summarycell', attrs: { tabindex: '-1', role: 'gridcell' } });\n return _this;\n }\n SummaryCellRenderer.prototype.getValue = function (field, data, column) {\n var key = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.type) ?\n column.field + ' - ' + (typeof column.type === 'string' ? column.type.toLowerCase() : '') : column.columnName;\n return data[column.columnName] ? data[column.columnName][\"\" + key] : '';\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n SummaryCellRenderer.prototype.evaluate = function (node, cell, data, attributes) {\n var column = cell.column;\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshAggregateCell, this.refreshWithAggregate(node, cell), this);\n if (!(column.footerTemplate || column.groupFooterTemplate || column.groupCaptionTemplate)) {\n if (this.parent.rowRenderingMode === 'Vertical') {\n node.style.display = 'none';\n }\n return true;\n }\n else {\n if (this.parent.rowRenderingMode === 'Vertical') {\n node.classList.add('e-lastsummarycell');\n }\n }\n var tempObj = column.getTemplate(cell.cellType);\n var tempID = '';\n var gColumn = this.parent.getColumnByField(data[column.columnName].field);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(gColumn)) {\n data[column.columnName].headerText = gColumn.headerText;\n if (gColumn.isForeignColumn()) {\n var fData = gColumn.columnData.filter(function (e) {\n return e[gColumn.foreignKeyField] === data[column.columnName].key;\n })[0];\n if (fData) {\n data[column.columnName].foreignKey = fData[gColumn.foreignKeyValue];\n }\n }\n }\n var isNotStringTemplate = column.footerTemplate ? typeof (column.footerTemplate) !== 'string' && !(column.footerTemplate.prototype &&\n column.footerTemplate.prototype.CSPTemplate) : column.groupFooterTemplate ? typeof (column.groupFooterTemplate) !== 'string' &&\n !(column.groupFooterTemplate.prototype && column.groupFooterTemplate.prototype.CSPTemplate)\n : column.groupCaptionTemplate ? typeof (column.groupCaptionTemplate) !== 'string' && !(column.groupCaptionTemplate.prototype &&\n column.groupCaptionTemplate.prototype.CSPTemplate) : false;\n var isReactCompiler = this.parent.isReact && isNotStringTemplate;\n var isReactChild = this.parent.parentDetails && this.parent.parentDetails.parentInstObj &&\n this.parent.parentDetails.parentInstObj.isReact && isNotStringTemplate;\n var isReactPrintGrid = this.parent.printGridParent && this.parent.printGridParent.isReact;\n if (isReactCompiler || isReactChild || isReactPrintGrid) {\n var prop = data[column.columnName];\n if (tempObj.property === 'groupCaptionTemplate' || tempObj.property === 'groupFooterTemplate') {\n var groupKey = 'groupKey';\n var key = 'key';\n prop[\"\" + groupKey] = prop[\"\" + key];\n }\n tempObj.fn(prop, this.parent, tempObj.property, tempID, null, null, node);\n if (!this.parent.isInitialLoad) {\n this.parent.renderTemplates();\n }\n }\n else {\n (0,_base_util__WEBPACK_IMPORTED_MODULE_2__.appendChildren)(node, tempObj.fn(data[column.columnName], this.parent, tempObj.property, tempID, null, null, null, this.parent.root));\n }\n return false;\n };\n SummaryCellRenderer.prototype.refreshWithAggregate = function (node, cell) {\n var _this = this;\n var cellNode = cell;\n return function (args) {\n var cell = cellNode;\n var field = cell.column.columnName ? cell.column.columnName : null;\n var curCell = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(field) ? args.cells.filter(function (cell) {\n return cell.column.columnName === field;\n })[0] : null);\n if (node.parentElement && node.parentElement.getAttribute('data-uid') === args.dataUid && field && curCell &&\n field === curCell.column.columnName) {\n _this.refreshTD(node, curCell, args.data);\n }\n };\n };\n return SummaryCellRenderer;\n}(_cell_renderer__WEBPACK_IMPORTED_MODULE_3__.CellRenderer));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/summary-cell-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/template-edit-cell.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/template-edit-cell.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TemplateEditCell: () => (/* binding */ TemplateEditCell)\n/* harmony export */ });\n/**\n * `TemplateEditCell` is used to handle template cell.\n *\n * @hidden\n */\nvar TemplateEditCell = /** @class */ (function () {\n function TemplateEditCell(parent) {\n this.parent = parent;\n }\n TemplateEditCell.prototype.read = function (element, value) {\n return value;\n };\n TemplateEditCell.prototype.write = function () {\n //\n };\n TemplateEditCell.prototype.destroy = function () {\n //\n };\n return TemplateEditCell;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/template-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/timepicker-edit-cell.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/timepicker-edit-cell.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TimePickerEditCell: () => (/* binding */ TimePickerEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-calendars */ \"./node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * `TimePickerEditCell` is used to handle Timepicker cell type editing.\n *\n * @hidden\n */\nvar TimePickerEditCell = /** @class */ (function (_super) {\n __extends(TimePickerEditCell, _super);\n function TimePickerEditCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimePickerEditCell.prototype.write = function (args) {\n var isInlineEdit = this.parent.editSettings.mode !== 'Dialog';\n var rowDataValue = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(args.column.field, args.rowData);\n rowDataValue = rowDataValue ? new Date(rowDataValue) : null;\n this.obj = new _syncfusion_ej2_calendars__WEBPACK_IMPORTED_MODULE_2__.TimePicker((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n floatLabelType: isInlineEdit ? 'Never' : 'Always',\n value: rowDataValue,\n placeholder: isInlineEdit ?\n '' : args.column.headerText, enableRtl: this.parent.enableRtl,\n enabled: (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isEditable)(args.column, args.requestType, args.element) && (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isCellHaveWidth)((0,_base_util__WEBPACK_IMPORTED_MODULE_1__.parentsUntil)(args.element, 'e-rowcell')),\n cssClass: this.parent.cssClass ? this.parent.cssClass : null\n }, args.column.edit.params));\n this.obj.appendTo(args.element);\n };\n return TimePickerEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_3__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/timepicker-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/toggleswitch-edit-cell.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/toggleswitch-edit-cell.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ToggleEditCell: () => (/* binding */ ToggleEditCell)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/switch/switch.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n/* harmony import */ var _edit_cell_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./edit-cell-base */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n/**\n * `ToggleEditCell` is used to handle boolean cell type editing.\n *\n * @hidden\n */\nvar ToggleEditCell = /** @class */ (function (_super) {\n __extends(ToggleEditCell, _super);\n function ToggleEditCell() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.activeClasses = ['e-selectionbackground', 'e-active'];\n return _this;\n }\n ToggleEditCell.prototype.create = function (args) {\n var clsNames = 'e-field e-boolcell';\n if (args.column.type === 'checkbox') {\n clsNames = 'e-field e-boolcell e-edit-checkselect';\n }\n return (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.createEditElement)(this.parent, args.column, clsNames, { type: 'checkbox', value: args.value });\n };\n ToggleEditCell.prototype.read = function (element) {\n return element.checked;\n };\n ToggleEditCell.prototype.write = function (args) {\n var chkBoxElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.row) && args.row.querySelector('.e-edit-checkselect');\n var data = (0,_base_util__WEBPACK_IMPORTED_MODULE_1__.getObject)(args.column.field, args.rowData);\n var checkState = data && JSON.parse(data.toString().toLowerCase());\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(chkBoxElement)) {\n this.editType = this.parent.editSettings.mode;\n this.editRow = args.row;\n if (args.requestType !== 'add') {\n var row = this.parent.getRowObjectFromUID(args.row.getAttribute('data-uid'));\n checkState = row ? row.isSelected : false;\n }\n _base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses.apply(void 0, [[].slice.call(args.row.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell)), checkState].concat(this.activeClasses));\n }\n this.obj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.Switch((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({\n label: this.parent.editSettings.mode !== 'Dialog' ? ' ' : args.column.headerText,\n checked: checkState,\n disabled: !(0,_base_util__WEBPACK_IMPORTED_MODULE_1__.isEditable)(args.column, args.requestType, args.element), enableRtl: this.parent.enableRtl,\n change: this.switchModeChange.bind(this),\n cssClass: this.parent.cssClass ? this.parent.cssClass : ''\n }, args.column.edit.params));\n this.obj.appendTo(args.element);\n };\n ToggleEditCell.prototype.switchModeChange = function (args) {\n if (this.editRow && this.editType !== 'Dialog') {\n var addClass = false;\n if (!args.checked) {\n this.editRow.removeAttribute('aria-selected');\n }\n else {\n addClass = true;\n this.editRow.setAttribute('aria-selected', addClass.toString());\n }\n _base_util__WEBPACK_IMPORTED_MODULE_1__.addRemoveActiveClasses.apply(void 0, [[].slice.call(this.editRow.getElementsByClassName(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell)), addClass].concat(this.activeClasses));\n }\n };\n return ToggleEditCell;\n}(_edit_cell_base__WEBPACK_IMPORTED_MODULE_4__.EditCellBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/toggleswitch-edit-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-content-renderer.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-content-renderer.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VirtualContentRenderer: () => (/* binding */ VirtualContentRenderer),\n/* harmony export */ VirtualElementHandler: () => (/* binding */ VirtualElementHandler),\n/* harmony export */ VirtualHeaderRenderer: () => (/* binding */ VirtualHeaderRenderer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _content_renderer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./content-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.js\");\n/* harmony import */ var _header_renderer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./header-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.js\");\n/* harmony import */ var _services_intersection_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/intersection-observer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/intersection-observer.js\");\n/* harmony import */ var _services_virtual_row_model_generator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/virtual-row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/virtual-row-model-generator.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * VirtualContentRenderer\n *\n * @hidden\n */\nvar VirtualContentRenderer = /** @class */ (function (_super) {\n __extends(VirtualContentRenderer, _super);\n function VirtualContentRenderer(parent, locator) {\n var _this = _super.call(this, parent, locator) || this;\n _this.prevHeight = 0;\n /** @hidden */\n _this.startIndex = 0;\n _this.preStartIndex = 0;\n _this.preventEvent = false;\n _this.actions = ['filtering', 'searching', 'grouping', 'ungrouping'];\n /** @hidden */\n _this.offsets = {};\n _this.tmpOffsets = {};\n /** @hidden */\n _this.virtualEle = new VirtualElementHandler();\n _this.offsetKeys = [];\n _this.isFocused = false;\n _this.isSelection = false;\n _this.isBottom = false;\n _this.isBottomNotify = false;\n _this.diff = 0;\n _this.heightChange = false;\n /** @hidden */\n _this.isTop = false;\n _this.empty = undefined;\n _this.isCancel = false;\n _this.requestTypes = ['beginEdit', 'cancel', 'delete', 'add', 'save', 'sorting'];\n _this.isNormaledit = _this.parent.editSettings.mode === 'Normal';\n /** @hidden */\n _this.virtualData = {};\n _this.virtualInfiniteData = {};\n _this.emptyRowData = {};\n _this.isContextMenuOpen = false;\n _this.isSelectionScroll = false;\n _this.validationCheck = false;\n /** @hidden */\n _this.firstCellFocus = false;\n _this.prevPage = 0;\n _this.prevCurrentInfo = {};\n _this.locator = locator;\n _this.eventListener('on');\n _this.widthServices = locator.getService('widthService');\n _this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnVisibilityChanged, _this.setVisible, _this);\n _this.vgenerator = _this.generator;\n return _this;\n }\n VirtualContentRenderer.prototype.renderTable = function () {\n this.header = this.locator.getService('rendererFactory').getRenderer(_base_enum__WEBPACK_IMPORTED_MODULE_2__.RenderType.Header);\n _super.prototype.renderTable.call(this);\n this.virtualEle.table = this.getTable();\n this.virtualEle.content = this.content = this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.content);\n this.virtualEle.renderWrapper(this.parent.height);\n this.virtualEle.renderPlaceHolder();\n if (!(!this.parent.enableVirtualization && this.parent.enableColumnVirtualization)) {\n this.virtualEle.wrapper.style.position = 'absolute';\n }\n var debounceEvent = (this.parent.dataSource instanceof _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_4__.DataManager && !this.parent.dataSource.dataSource.offline);\n var opt = {\n container: this.content, pageHeight: this.getBlockHeight() * 2, debounceEvent: debounceEvent,\n axes: this.parent.enableColumnVirtualization ? ['X', 'Y'] : ['Y']\n };\n this.observer = new _services_intersection_observer__WEBPACK_IMPORTED_MODULE_5__.InterSectionObserver(this.virtualEle.wrapper, opt);\n };\n VirtualContentRenderer.prototype.renderEmpty = function (tbody) {\n this.getTable().appendChild(tbody);\n if (this.parent.frozenRows) {\n this.parent.getHeaderContent().querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody).innerHTML = '';\n }\n this.virtualEle.adjustTable(0, 0);\n };\n VirtualContentRenderer.prototype.getReorderedFrozenRows = function (args) {\n var blockIndex = args.virtualInfo.blockIndexes;\n var colsIndex = args.virtualInfo.columnIndexes;\n var page = args.virtualInfo.page;\n args.virtualInfo.blockIndexes = [1, 2];\n args.virtualInfo.page = 1;\n args.virtualInfo.columnIndexes = [];\n var recordslength = this.parent.getCurrentViewRecords().length;\n var firstRecords = this.parent.renderModule.data.dataManager.dataSource.json.slice(0, recordslength);\n var virtualRows = this.vgenerator.generateRows(firstRecords, args);\n args.virtualInfo.blockIndexes = blockIndex;\n args.virtualInfo.columnIndexes = colsIndex;\n args.virtualInfo.page = page;\n return virtualRows.splice(0, this.parent.frozenRows);\n };\n VirtualContentRenderer.prototype.scrollListener = function (scrollArgs) {\n if ((!this.parent.enableVirtualization && this.parent.enableColumnVirtualization && (scrollArgs.direction === 'up'\n || scrollArgs.direction === 'down')) || this.isBottomNotify) {\n return;\n }\n this.scrollAfterEdit();\n if (this.parent.enablePersistence) {\n this.parent.scrollPosition = scrollArgs.offset;\n }\n if (this.preventEvent || this.parent.isDestroyed) {\n this.preventEvent = false;\n return;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.activeElement)) {\n this.isFocused = false;\n }\n else {\n this.isFocused = this.content === (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.content) || this.content === document.activeElement;\n }\n if (this.parent.islazyloadRequest && scrollArgs.direction === 'down') {\n this.parent.removeMaskRow();\n this.parent.islazyloadRequest = false;\n return;\n }\n var info = scrollArgs.sentinel;\n var viewInfo = this.currentInfo = this.getInfoFromView(scrollArgs.direction, info, scrollArgs.offset);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent)) {\n if (viewInfo.blockIndexes && this.prevInfo.blockIndexes.toString() === viewInfo.blockIndexes.toString()) {\n this.parent.removeMaskRow();\n return;\n }\n else {\n viewInfo.event = 'refresh-virtual-block';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(viewInfo.offsets)) {\n viewInfo.offsets.top = this.content.scrollTop;\n }\n this.parent.pageSettings.currentPage = viewInfo.page;\n if (this.parent.enableVirtualMaskRow) {\n this.parent.showMaskRow(info.axis);\n this.parent.addShimmerEffect();\n }\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.closeEdit();\n }\n this.parent.notify(viewInfo.event, { requestType: 'virtualscroll', virtualInfo: viewInfo, focusElement: scrollArgs.focusElement });\n return;\n }\n }\n if (this.prevInfo && ((info.axis === 'Y' && this.prevInfo.blockIndexes.toString() === viewInfo.blockIndexes.toString())\n || ((info.axis === 'X' && this.prevInfo.columnIndexes.toString() === viewInfo.columnIndexes.toString())\n || (this.parent.isFrozenGrid() && info.axis === 'X' && this.parent.getVisibleFrozenLeftCount() >= viewInfo.columnIndexes[0]\n && this.prevInfo.columnIndexes.toString().includes(viewInfo.columnIndexes.toString()))))) {\n this.parent.removeMaskRow();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE) {\n this.parent.hideSpinner();\n }\n this.requestType = this.requestType === 'virtualscroll' ? this.empty : this.requestType;\n if (info.axis === 'Y') {\n this.restoreEdit();\n }\n if (this.parent.groupSettings.enableLazyLoading && this.prevInfo.blockIndexes[0] === 1 && viewInfo.blockIndexes[0] === 1 &&\n scrollArgs.direction === 'up') {\n this.virtualEle.adjustTable(0, viewInfo.offsets.top < this.offsets[1] ? 0 : this.getBlockHeight());\n }\n return;\n }\n this.parent.setColumnIndexesInView(this.parent.enableColumnVirtualization ? viewInfo.columnIndexes : []);\n if (!(!this.parent.enableVirtualization && this.parent.enableColumnVirtualization)) {\n this.parent.pageSettings.currentPage = viewInfo.loadNext && !viewInfo.loadSelf ? viewInfo.nextInfo.page : viewInfo.page;\n }\n this.requestType = 'virtualscroll';\n if (this.parent.enableVirtualMaskRow) {\n this.parent.showMaskRow(info.axis);\n this.parent.addShimmerEffect();\n }\n this.parent.islazyloadRequest = false;\n if (this.parent.editSettings.showAddNewRow) {\n this.parent.closeEdit();\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.renderResponsiveColumnChooserDiv, { action: 'clear' });\n if (!(!this.parent.isInitialLoad && this.parent.enablePersistence)) {\n if (this.prevPage === this.parent.pageSettings.currentPage && viewInfo.event === _base_constant__WEBPACK_IMPORTED_MODULE_1__.modelChanged) {\n this.currentInfo = this.prevCurrentInfo;\n return;\n }\n if (viewInfo.event === _base_constant__WEBPACK_IMPORTED_MODULE_1__.modelChanged) {\n this.prevPage = this.parent.pageSettings.currentPage;\n this.prevCurrentInfo = this.currentInfo;\n }\n this.isBottomNotify = this.isBottom && viewInfo.event === _base_constant__WEBPACK_IMPORTED_MODULE_1__.modelChanged;\n this.parent.notify(viewInfo.event, {\n requestType: 'virtualscroll', virtualInfo: viewInfo,\n focusElement: scrollArgs.focusElement\n });\n }\n if (this.parent.enableColumnVirtualization && !this.parent.getContentTable().querySelector('tr.e-row')) {\n this.parent.removeMaskRow();\n this.appendContent(undefined, undefined, {\n requestType: 'virtualscroll', virtualInfo: viewInfo,\n focusElement: scrollArgs.focusElement\n });\n this.prevInfo = viewInfo;\n }\n };\n VirtualContentRenderer.prototype.block = function (blk) {\n return this.vgenerator.isBlockAvailable(blk);\n };\n VirtualContentRenderer.prototype.getInfoFromView = function (direction, info, e) {\n var isBlockAdded = false;\n var tempBlocks = [];\n var infoType = { direction: direction, sentinelInfo: info, offsets: e,\n startIndex: this.preStartIndex, endIndex: this.preEndIndex };\n infoType.page = this.getPageFromTop(e.top, infoType);\n infoType.blockIndexes = tempBlocks = this.vgenerator.getBlockIndexes(infoType.page);\n infoType.loadSelf = !this.vgenerator.isBlockAvailable(tempBlocks[infoType.block]);\n var blocks = this.ensureBlocks(infoType);\n if (this.activeKey === 'upArrow' && infoType.blockIndexes.toString() !== blocks.toString()) {\n // To avoid dupilcate row index problem in key focus support\n var newBlock = blocks[blocks.length - 1];\n if (infoType.blockIndexes.indexOf(newBlock) === -1) {\n isBlockAdded = true;\n }\n }\n if (!(!this.parent.enableVirtualization && this.parent.enableColumnVirtualization)) {\n infoType.blockIndexes = blocks;\n }\n infoType.loadNext = !blocks.filter(function (val) { return tempBlocks.indexOf(val) === -1; })\n .every(this.block.bind(this));\n infoType.event = (infoType.loadNext || infoType.loadSelf) ? _base_constant__WEBPACK_IMPORTED_MODULE_1__.modelChanged : _base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualBlock;\n infoType.nextInfo = infoType.loadNext ? { page: Math.max(1, infoType.page + (direction === 'down' ? 1 : -1)) } : {};\n if (isBlockAdded) {\n infoType.blockIndexes = [infoType.blockIndexes[0] - 1, infoType.blockIndexes[0], infoType.blockIndexes[0] + 1];\n }\n if (this.activeKey === 'downArrow' && !isNaN(this.rowIndex)) {\n var firstBlock = Math.ceil(this.rowIndex / this.getBlockSize());\n if (firstBlock !== 1 && (infoType.blockIndexes[1] !== firstBlock || infoType.blockIndexes.length < 3)) {\n infoType.blockIndexes = [firstBlock - 1, firstBlock, firstBlock + 1];\n if (infoType.loadNext) {\n var nextBlock = this.vgenerator.getBlockIndexes(infoType.nextInfo.page);\n var hasCommonValue = false;\n for (var i = 0; i < infoType.blockIndexes.length; i++) {\n for (var j = 0; j < nextBlock.length; j++) {\n if (infoType.blockIndexes[parseInt(i.toString(), 10)] === nextBlock[parseInt(j.toString(), 10)]) {\n hasCommonValue = true;\n break;\n }\n }\n if (hasCommonValue) {\n break;\n }\n }\n if (!hasCommonValue) {\n infoType.loadNext = false;\n infoType.nextInfo = {};\n infoType.event = _base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualBlock;\n }\n }\n }\n }\n infoType.columnIndexes = info.axis === 'X' ? this.vgenerator.getColumnIndexes() : this.parent.getColumnIndexesInView();\n if (this.parent.enableColumnVirtualization && info.axis === 'X') {\n infoType.event = _base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualBlock;\n }\n return infoType;\n };\n VirtualContentRenderer.prototype.ensureBlocks = function (info) {\n var _this = this;\n var index = info.blockIndexes[info.block];\n var mIdx;\n var old = index;\n var max = Math.max;\n var indexes = info.direction === 'down' ? [max(index, 1), ++index, ++index] : [max(index - 1, 1), index, index + 1];\n this.prevInfo = this.prevInfo || this.vgenerator.getData();\n indexes = indexes.filter(function (val, ind) { return indexes.indexOf(val) === ind; });\n var preventSelf = false;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.checkIsVirtual)(this.parent) && info.direction === 'up' && (((info.page + 1 === this.prevInfo.page\n || info.page === this.prevInfo.page) && (info.block === 1 || (info.block === 0\n && info.page === 1))) || (info.page === this.prevInfo.page && indexes.length === 2))\n && this.vgenerator.isBlockAvailable(info.blockIndexes[1] + 1)) {\n preventSelf = (info.page + 1) === this.prevInfo.page && info.block === 1;\n index += 1;\n indexes = [max(index - 1, 1), index, index + 1];\n }\n if (this.prevInfo.blockIndexes.toString() === indexes.toString()) {\n return indexes;\n }\n if ((info.loadSelf && !preventSelf) || (info.direction === 'down' && this.isEndBlock(old))) {\n indexes = this.vgenerator.getBlockIndexes(info.page);\n }\n indexes.some(function (val, ind) {\n var result = val === ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(_this.parent) ? _this.getGroupedTotalBlocks() : _this.getTotalBlocks());\n if (result) {\n mIdx = ind;\n }\n return result;\n });\n if (mIdx !== undefined) {\n indexes = indexes.slice(0, mIdx + 1);\n if (info.block === 0 && indexes.length === 1 && this.vgenerator.isBlockAvailable(indexes[0] - 1)) {\n indexes = [indexes[0] - 1, indexes[0]];\n }\n }\n return indexes;\n };\n // tslint:disable-next-line:max-func-body-length\n VirtualContentRenderer.prototype.appendContent = function (target, newChild, e) {\n var _this = this;\n // currentInfo value will be used if there are multiple dom updates happened due to mousewheel\n var info = e.virtualInfo.sentinelInfo && e.virtualInfo.sentinelInfo.axis === 'Y' && this.currentInfo.page &&\n this.currentInfo.page !== e.virtualInfo.page ? this.currentInfo : e.virtualInfo;\n this.prevInfo = this.prevInfo || e.virtualInfo;\n var cBlock = (info.columnIndexes[0]) - 1;\n var cOffset = this.getColumnOffset(cBlock);\n var width;\n var blocks = info.blockIndexes;\n if (this.parent.groupSettings.columns.length) {\n this.refreshOffsets();\n }\n if (this.parent.height === '100%') {\n this.parent.element.style.height = '100%';\n }\n var vHeight = this.parent.height.toString().indexOf('%') < 0 ? this.content.getBoundingClientRect().height :\n this.parent.element.getBoundingClientRect().height;\n if (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) {\n vHeight = 0;\n }\n var reduceWidth = 0;\n if (this.parent.enableColumnVirtualization && this.parent.isFrozenGrid()) {\n var frzLeftWidth_1 = 0;\n this.parent.getColumns().filter(function (col) {\n if (col.visible) {\n reduceWidth += parseInt(col.width.toString(), 10);\n if (col.freeze === 'Left') {\n frzLeftWidth_1 += parseInt(col.width.toString(), 10);\n }\n }\n });\n var cIndex = info.columnIndexes;\n width = this.getColumnOffset(cIndex[cIndex.length - 1]) - this.getColumnOffset(cIndex[0] - 1) + '';\n if (cBlock > this.parent.getVisibleFrozenLeftCount()) {\n cOffset = cOffset - frzLeftWidth_1;\n }\n this.resetStickyLeftPos(cOffset, newChild);\n }\n if (!this.requestTypes.some(function (value) { return value === _this.requestType; })) {\n var translate = this.getTranslateY(this.content.scrollTop, vHeight, info);\n if (this.parent.groupSettings.enableLazyLoading && info && this.prevInfo && this.prevInfo.blockIndexes[0] === 1 &&\n info.blockIndexes[0] === 1 && info.direction === 'up') {\n this.virtualEle.adjustTable(0, this.content.scrollTop < this.offsets[1] ? 0 : this.getBlockHeight());\n }\n else {\n this.virtualEle.adjustTable(cOffset, translate);\n }\n }\n if (this.parent.enableColumnVirtualization) {\n this.header.virtualEle.adjustTable(cOffset, 0);\n }\n if (this.parent.enableColumnVirtualization) {\n var cIndex = info.columnIndexes;\n width = this.getColumnOffset(cIndex[cIndex.length - 1]) - this.getColumnOffset(cIndex[0] - 1) + '';\n if (this.parent.isFrozenGrid()) {\n width = reduceWidth.toString();\n if (this.parent.allowResizing) {\n this.parent.getHeaderTable().style.width = reduceWidth + 'px';\n this.parent.getContentTable().style.width = reduceWidth + 'Px';\n }\n }\n this.header.virtualEle.setWrapperWidth(width);\n }\n this.virtualEle.setWrapperWidth(width, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge');\n if (this.parent.enableColumnVirtualization && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(newChild)) {\n return;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.parentNode)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(target);\n }\n var tbody = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.content).querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody);\n if (tbody) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(tbody);\n target = null;\n }\n var isReact = this.parent.isReact && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.rowTemplate);\n if (!isReact) {\n target = this.parent.createElement(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.tbody, { attrs: { role: 'rowgroup' } });\n target.appendChild(newChild);\n }\n else {\n target = newChild;\n }\n if (this.parent.frozenRows && e.requestType === 'virtualscroll' && (this.parent.pageSettings.currentPage === 1\n || this.isInfiniteColumnvirtualization())) {\n for (var i = 0; i < this.parent.frozenRows; i++) {\n target.children[0].remove();\n }\n }\n this.getTable().appendChild(target);\n this.requestType = this.requestType === 'virtualscroll' ? this.empty : this.requestType;\n if (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization && (info.direction === 'right' || info.direction === 'left')) {\n this.content.scrollTop = this.currentInfo.offsets.top;\n this.content.scrollLeft = this.currentInfo.offsets.left;\n }\n if (this.parent.groupSettings.columns.length) {\n if (!(0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) && info.direction === 'up') {\n var blk = this.offsets[this.getTotalBlocks()] - this.prevHeight;\n var sTop = this.content.scrollTop;\n this.content.scrollTop = sTop + blk;\n }\n this.setVirtualHeight();\n if (!this.parent.groupSettings.enableLazyLoading) {\n this.observer.setPageHeight(this.getOffset(blocks[blocks.length - 1]) - this.getOffset(blocks[0] - 1));\n }\n }\n if (!this.parent.groupSettings.enableLazyLoading && this.parent.groupSettings.columns.length === 0 &&\n e.requestType === 'ungrouping') {\n this.observer.setPageHeight(this.getBlockHeight() * 2);\n }\n this.prevInfo = info;\n if (this.isFocused && this.activeKey !== 'downArrow' && this.activeKey !== 'upArrow') {\n this.content.focus();\n }\n var lastPage = Math.ceil(this.getTotalBlocks() / 2);\n if (this.isBottom) {\n this.isBottom = false;\n this.isBottomNotify = false;\n this.parent.getContent().firstElementChild.scrollTop = this.offsets[this.offsetKeys.length - 1];\n }\n if ((this.parent.pageSettings.currentPage + 1 === lastPage || this.parent.pageSettings.currentPage === lastPage) &&\n blocks.length === 2 && e.requestType === 'delete') {\n this.parent.getContent().firstElementChild.scrollTop = this.offsets[this.offsetKeys.length - 1];\n }\n if ((this.parent.pageSettings.currentPage === lastPage) && blocks.length === 1) {\n this.isBottom = true;\n setTimeout(function () {\n var scrollElement = _this.parent.getContent().firstElementChild;\n scrollElement.scrollTop = _this.offsets[_this.offsetKeys.length - 2];\n var scrollValues = { direction: 'up', sentinel: _this.observer.sentinelInfo.up,\n offset: { top: scrollElement.scrollTop, left: scrollElement.scrollLeft }, focusElement: _this.parent.element };\n _this.scrollListener(scrollValues);\n }, 0);\n }\n if (this.isTop) {\n this.parent.getContent().firstElementChild.scrollTop = 0;\n this.isTop = false;\n }\n if (e.requestType === 'virtualscroll' && e.virtualInfo.sentinelInfo.axis === 'X') {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.autoCol, {});\n }\n this.focusCell(e);\n if (this.firstCellFocus) {\n this.firstCellFocus = false;\n var focusModule = this.parent.focusModule;\n var current = focusModule.active.matrix.current;\n var cell = this.parent.getContentTable().rows[current[0]].cells[current[1]];\n focusModule.currentInfo.element = cell;\n focusModule.currentInfo.elementToFocus = cell;\n cell.classList.add('e-focus');\n cell.classList.add('e-focused');\n cell.tabIndex = 0;\n cell.focus();\n }\n this.restoreEdit(e);\n this.restoreAdd();\n this.ensureSelectedRowPosition();\n this.validationScrollLeft();\n if (this.parent.isFrozenGrid() && this.parent.enableColumnVirtualization) {\n this.widthServices.refreshFrozenScrollbar();\n }\n if (!this.initialRowTop) {\n var gridTop = this.parent.element.getBoundingClientRect().top;\n if (this.parent.getRowByIndex(0)) {\n this.initialRowTop = this.parent.getRowByIndex(0).getBoundingClientRect().top - gridTop;\n }\n }\n };\n VirtualContentRenderer.prototype.validationScrollLeft = function () {\n if (this.validationCheck) {\n if (this.validationCol) {\n var offset = this.vgenerator.cOffsets[(this.validationCol.index - this.parent.getVisibleFrozenColumns()) - 1];\n this.validationCol = null;\n this.content.scrollLeft = offset;\n }\n else {\n this.validationCheck = false;\n this.parent.editModule.editFormValidate();\n }\n }\n };\n VirtualContentRenderer.prototype.ensureSelectedRowPosition = function () {\n if (!this.isSelection && this.isSelectionScroll && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.selectRowIndex)) {\n this.isSelectionScroll = false;\n var row = this.parent.getRowByIndex(this.selectRowIndex);\n if (row && !this.isRowInView(row)) {\n this.rowSelected({ rowIndex: this.selectRowIndex, row: row }, true);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n VirtualContentRenderer.prototype.focusCell = function (e) {\n if (this.activeKey !== 'upArrow' && this.activeKey !== 'downArrow') {\n return;\n }\n var row = this.parent.getRowByIndex(this.rowIndex);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var cell = row.cells[this.cellIndex];\n cell.focus({ preventScroll: true });\n if (!this.parent.selectionSettings.checkboxOnly) {\n this.parent.selectRow(parseInt(row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1);\n }\n this.activeKey = this.empty;\n };\n VirtualContentRenderer.prototype.restoreEdit = function (e) {\n if (this.isNormaledit) {\n if (this.parent.editSettings.allowEditing\n && this.parent.editModule && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.editedRowIndex)) {\n var row = this.getRowByIndex(this.editedRowIndex);\n var content = this.content;\n var keys = Object.keys(this.virtualData);\n var isXaxis = e && e.virtualInfo && e.virtualInfo.sentinelInfo.axis === 'X';\n if (keys.length && row && !content.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.editedRow) &&\n ['sorting', 'filtering', 'grouping', 'refresh', 'searching', 'ungrouping', 'reorder'].indexOf(e.requestType) === -1) {\n var top_1 = row.getBoundingClientRect().top - this.parent.element.getBoundingClientRect().top;\n if (isXaxis || (top_1 < this.content.offsetHeight && top_1 > this.parent.getRowHeight())) {\n this.parent.isEdit = false;\n this.parent.editModule.startEdit(row);\n }\n }\n if (row && this.content.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.editedRow) && !keys.length) {\n var rowData = (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) ?\n this.enableCacheOnInfiniteColumnVirtual() ? this.virtualInfiniteData :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.parent.getCurrentViewRecords()[this.editedRowIndex]) :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.getRowObjectByIndex(this.editedRowIndex));\n this.virtualData = this.getVirtualEditedData(rowData);\n }\n }\n this.restoreAdd();\n }\n };\n VirtualContentRenderer.prototype.getVirtualEditedData = function (rowData) {\n var editForms = [].slice.call(this.parent.element.getElementsByClassName('e-gridform'));\n var isFormDestroyed = this.parent.editModule && this.parent.editModule.formObj\n && this.parent.editModule.formObj.isDestroyed;\n if (!isFormDestroyed) {\n for (var i = 0; i < editForms.length; i++) {\n rowData = this.parent.editModule.getCurrentEditedData(editForms[parseInt(i.toString(), 10)], rowData);\n }\n }\n return rowData;\n };\n VirtualContentRenderer.prototype.restoreAdd = function () {\n var startAdd = !this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.addedRow);\n if (this.isNormaledit && this.isAdd && startAdd) {\n var isTop = this.parent.editSettings.newRowPosition === 'Top' && this.content.scrollTop < this.parent.getRowHeight();\n var isBottom = this.parent.editSettings.newRowPosition === 'Bottom'\n && this.parent.pageSettings.currentPage === this.maxPage;\n if (isTop || isBottom) {\n this.parent.isEdit = false;\n this.parent.addRecord();\n }\n }\n };\n VirtualContentRenderer.prototype.onDataReady = function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.count)) {\n this.count = e.count;\n this.maxPage = Math.ceil((this.parent.groupSettings.columns.length && this.parent.vcRows.length ? this.parent.vcRows.length\n : e.count) / this.parent.pageSettings.pageSize);\n }\n this.vgenerator.checkAndResetCache(e.requestType);\n if (['refresh', 'filtering', 'searching', 'grouping', 'ungrouping', 'reorder', undefined]\n .some(function (value) { return e.requestType === value; })) {\n this.refreshOffsets();\n }\n this.setVirtualHeight();\n this.resetScrollPosition(e.requestType);\n };\n /**\n * @param {number} height - specifies the height\n * @returns {void}\n * @hidden\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n VirtualContentRenderer.prototype.setVirtualHeight = function (height) {\n var width = this.parent.enableColumnVirtualization ?\n this.getColumnOffset(this.parent.getVisibleColumns().length + this.parent.groupSettings.columns.length - 1) + 'px' : '100%';\n var virtualHeight = (this.offsets[(0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) && this.count !== 0 ? this.getGroupedTotalBlocks() :\n this.getTotalBlocks()]);\n if (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) {\n virtualHeight = 0;\n }\n var totalBlocks = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) && this.count !== 0 ? this.getGroupedTotalBlocks()\n : this.getTotalBlocks();\n var lastPage = Math.ceil(totalBlocks / 2);\n var placeHolderBottom = Math.round(this.virtualEle.placeholder.getBoundingClientRect().bottom);\n var wrapperBottom = Math.round(this.virtualEle.wrapper.getBoundingClientRect().bottom);\n if ((this.currentInfo.page === lastPage || this.currentInfo.page + 1 === lastPage) && this.currentInfo.direction === 'down' &&\n placeHolderBottom > wrapperBottom && !this.diff) {\n this.diff = placeHolderBottom - wrapperBottom;\n }\n if (this.diff && (this.currentInfo.page === lastPage) && placeHolderBottom > wrapperBottom &&\n !(this.isAdd && this.parent.editSettings.newRowPosition === 'Bottom')) {\n virtualHeight -= this.diff;\n this.heightChange = true;\n }\n else if (this.requestType === 'virtualscroll' && this.diff && this.heightChange) {\n virtualHeight -= this.diff;\n this.heightChange = false;\n }\n this.virtualEle.setVirtualHeight(virtualHeight, width);\n if (this.virtualEle && this.virtualEle.wrapper) {\n if (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) {\n this.virtualEle.wrapper.style.minHeight = '';\n }\n else {\n this.virtualEle.wrapper.style.minHeight = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(virtualHeight) ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.parent.height) : '0px';\n }\n }\n if (this.parent.enableColumnVirtualization) {\n this.header.virtualEle.setVirtualHeight(1, width);\n }\n };\n /**\n * @param {number} sTop - specifies the sTop\n * @param {VirtualInfo} info - specifies the info\n * @returns {number} - return the page\n * @hidden\n */\n VirtualContentRenderer.prototype.getPageFromTop = function (sTop, info) {\n var _this = this;\n var total = ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent)) ? this.getGroupedTotalBlocks() : this.getTotalBlocks();\n var page = 0;\n this.offsetKeys.some(function (offset) {\n var iOffset = Number(offset);\n var border = sTop <= _this.offsets[\"\" + offset] || (iOffset === total && sTop > _this.offsets[\"\" + offset]);\n if (border) {\n if (_this.offsetKeys.length % 2 !== 0 && iOffset.toString() === _this.offsetKeys[_this.offsetKeys.length - 2]\n && sTop <= _this.offsets[_this.offsetKeys.length - 1]) {\n iOffset = iOffset + 1;\n }\n info.block = iOffset % 2 === 0 ? 1 : 0;\n page = Math.max(1, Math.min(_this.vgenerator.getPage(iOffset), _this.maxPage));\n }\n return border;\n });\n return page;\n };\n VirtualContentRenderer.prototype.getTranslateY = function (sTop, cHeight, info, isOnenter) {\n if (info === undefined) {\n info = { page: this.getPageFromTop(sTop, {}) };\n info.blockIndexes = this.vgenerator.getBlockIndexes(info.page);\n }\n var block = (info.blockIndexes[0] || 1) - 1;\n var translate = this.getOffset(block);\n var endTranslate = this.getOffset(info.blockIndexes[info.blockIndexes.length - 1]);\n if (isOnenter) {\n info = this.prevInfo;\n }\n var result = translate > sTop ?\n this.getOffset(block - 1) : endTranslate < (sTop + cHeight) ? this.getOffset(block + 1) : translate;\n var blockHeight = this.offsets[info.blockIndexes[info.blockIndexes.length - 1]] -\n this.tmpOffsets[info.blockIndexes[0]];\n var totalBlocks = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) ? this.getGroupedTotalBlocks() : this.getTotalBlocks();\n if (result + blockHeight > this.offsets[parseInt(totalBlocks.toString(), 10)]) {\n result -= (result + blockHeight) - this.offsets[parseInt(totalBlocks.toString(), 10)];\n }\n if (info.page === 1 && info.block === 0 && info.direction === 'up') {\n result = 0;\n }\n if (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) {\n result = 0;\n }\n return result;\n };\n VirtualContentRenderer.prototype.getOffset = function (block) {\n return Math.min(this.offsets[parseInt(block.toString(), 10)] | 0, this.offsets[this.maxBlock] | 0);\n };\n VirtualContentRenderer.prototype.onEntered = function () {\n var _this = this;\n return function (element, current, direction, e, isWheel, check) {\n if ((direction === 'down' || direction === 'up') && !_this.parent.enableVirtualization && _this.parent.enableColumnVirtualization) {\n return;\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE && !isWheel && check && !_this.preventEvent && !_this.parent.enableVirtualMaskRow) {\n _this.parent.showSpinner();\n }\n _this.prevInfo = _this.prevInfo || _this.vgenerator.getData();\n var viewInfo = _this.getInfoFromView(direction, current, e);\n if (_this.parent.isFrozenGrid() && current.axis === 'X' && _this.parent.getVisibleFrozenLeftCount() >= viewInfo.columnIndexes[0]\n && _this.prevInfo && _this.prevInfo.columnIndexes.toString().includes(viewInfo.columnIndexes.toString())) {\n return;\n }\n if (_this.parent.enableVirtualMaskRow && !_this.preventEvent) {\n var firstOffSetKey = parseInt(_this.offsetKeys[0], 10);\n var lastOffSetKey = parseInt(_this.offsetKeys[_this.offsetKeys.length - 1], 10);\n var blockIndex = _this.currentInfo.blockIndexes;\n var disableShowMaskRow = (_this.prevInfo && current.axis === 'X'\n && _this.prevInfo.columnIndexes.toString() === viewInfo.columnIndexes.toString())\n || (direction === 'down' && _this.parent.allowGrouping && _this.parent.groupSettings.columns.length\n && ((_this.parent.allowFiltering && _this.parent.filterSettings.columns.length)\n || _this.parent.searchSettings.key.length) && _this.offsetKeys.length <= 2);\n if (!((blockIndex && blockIndex[0] === firstOffSetKey && direction === 'up') ||\n (blockIndex && blockIndex[blockIndex.length - 1] === lastOffSetKey && direction === 'down') || disableShowMaskRow)) {\n setTimeout(function () {\n _this.parent.showMaskRow(current.axis);\n }, 0);\n }\n }\n var xAxis = current.axis === 'X';\n var top = _this.prevInfo.offsets ? _this.prevInfo.offsets.top : null;\n var height = _this.content.getBoundingClientRect().height;\n var x = _this.getColumnOffset(xAxis ? _this.vgenerator.getColumnIndexes()[0] - 1 : _this.prevInfo.columnIndexes[0] - 1);\n if (_this.parent.isFrozenGrid() && _this.parent.enableColumnVirtualization && _this.currentInfo &&\n _this.currentInfo.columnIndexes) {\n var cBlock = _this.currentInfo.columnIndexes[0] - 1;\n var frzLeftWidth_2 = 0;\n _this.parent.getColumns().filter(function (col) {\n if (col.visible && col.freeze === 'Left') {\n frzLeftWidth_2 += parseInt(col.width.toString(), 10);\n }\n });\n if (cBlock > _this.parent.getVisibleFrozenLeftCount()) {\n x = x - frzLeftWidth_2;\n }\n }\n if (xAxis) {\n var idx = Object.keys(_this.vgenerator.cOffsets).length - _this.prevInfo.columnIndexes.length;\n var maxLeft = _this.vgenerator.cOffsets[idx - 1];\n x = x > maxLeft ? maxLeft : x; //TODO: This fix horizontal scrollbar jumping issue in column virtualization.\n }\n if (!_this.parent.enableVirtualization && _this.parent.enableColumnVirtualization) {\n _this.virtualEle.adjustTable(x, 0);\n }\n else {\n var y = _this.getTranslateY(e.top, height, xAxis && top === e.top ? _this.prevInfo : undefined, true);\n _this.virtualEle.adjustTable(x, Math.min(y, _this.offsets[_this.maxBlock]));\n }\n if (_this.parent.enableColumnVirtualization) {\n _this.header.virtualEle.adjustTable(x, 0);\n if (_this.parent.isFrozenGrid()) {\n _this.resetStickyLeftPos(x);\n }\n }\n };\n };\n VirtualContentRenderer.prototype.dataBound = function () {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualFrozenHeight, {});\n if (this.isSelection && this.activeKey !== 'upArrow' && this.activeKey !== 'downArrow') {\n this.parent.selectRow(this.selectedRowIndex);\n }\n else {\n this.activeKey = this.empty;\n this.requestType = this.empty;\n }\n };\n /**\n * To calculate the position of frozen cells\n *\n * @param {number} valueX - specifies the transform X value\n * @param {DocumentFragment | HTMLElement} newChild - specifies the element to transform\n * @returns {void}\n * @hidden\n */\n VirtualContentRenderer.prototype.resetStickyLeftPos = function (valueX, newChild) {\n var cells = [].slice.call(this.parent.getHeaderContent().querySelectorAll('.e-leftfreeze,.e-rightfreeze,.e-fixedfreeze')).concat([].slice.call((newChild ? newChild : this.parent.getContent()).querySelectorAll('.e-leftfreeze,.e-rightfreeze,.e-fixedfreeze')));\n var frzLeftWidth = 0;\n var frzRightWidth = 0;\n if (this.parent.getHeaderContent().querySelectorAll('.e-fixedfreeze').length) {\n frzLeftWidth = this.parent.leftrightColumnWidth('left');\n frzRightWidth = this.parent.leftrightColumnWidth('right');\n }\n if (cells.length) {\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[parseInt(i.toString(), 10)];\n var col = void 0;\n if (cell.classList.contains('e-rowcell')) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.getAttribute('aria-colindex')) && cell.querySelector('[e-mappinguid]')) {\n var uid = cell.querySelector('[e-mappinguid]').getAttribute('e-mappinguid');\n col = this.parent.getColumnByUid(uid);\n }\n else {\n var idx = parseInt(cell.getAttribute('aria-colindex'), 10) - 1;\n col = this.parent.getColumnByIndex(parseInt(idx.toString(), 10));\n }\n }\n else {\n if (cell.classList.contains('e-headercell') || cell.classList.contains('e-filterbarcell')) {\n var uid = cell.classList.contains('e-filterbarcell') ? cell.getAttribute('e-mappinguid') :\n cell.querySelector('[e-mappinguid]').getAttribute('e-mappinguid');\n col = this.parent.getColumnByUid(uid);\n }\n }\n if (col.freeze === 'Left') {\n cell.style.left = (col.valueX - valueX) + 'px';\n }\n else if (col.freeze === 'Right') {\n cell.style.right = (col.valueX + valueX) + 'px';\n }\n else if (col.freeze === 'Fixed') {\n cell.style.left = (frzLeftWidth - valueX) + 'px';\n cell.style.right = (frzRightWidth + valueX) + 'px';\n }\n }\n }\n this.parent.translateX = valueX;\n };\n VirtualContentRenderer.prototype.rowSelected = function (args, isSelection) {\n if ((this.isSelection || isSelection) && !this.isLastBlockRow(args.rowIndex)) {\n var transform = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.getTransformValues)(this.content.firstElementChild);\n var gridTop = this.parent.element.getBoundingClientRect().top;\n var rowTop = args.row.getBoundingClientRect().top - gridTop;\n var height = this.content.getBoundingClientRect().height;\n var isBottom = height < rowTop;\n var remainHeight = isBottom ? rowTop - height : this.initialRowTop - rowTop;\n var translateY = isBottom ? transform.height - remainHeight : transform.height + remainHeight;\n this.virtualEle.adjustTable(transform.width, translateY);\n var wrapperInfo = this.virtualEle.wrapper.getBoundingClientRect();\n var contentInfo = this.content.getBoundingClientRect();\n if (wrapperInfo.top > contentInfo.top) {\n this.virtualEle.adjustTable(transform.width, translateY - (wrapperInfo.top - contentInfo.top));\n }\n var lastRowTop = this.content.querySelector('tbody').lastElementChild.getBoundingClientRect().top - gridTop;\n if (lastRowTop < height) {\n translateY = translateY + (height - (args.row.getBoundingClientRect().top - gridTop));\n this.virtualEle.adjustTable(transform.width, translateY - (this.parent.getRowHeight() / 2));\n }\n else if (contentInfo.bottom > wrapperInfo.bottom) {\n this.virtualEle.adjustTable(transform.width, translateY + (contentInfo.bottom - wrapperInfo.bottom));\n }\n if (this.parent.isFrozenGrid() && this.parent.enableColumnVirtualization) {\n this.resetStickyLeftPos(transform.width);\n }\n }\n this.isSelection = false;\n };\n VirtualContentRenderer.prototype.isLastBlockRow = function (index) {\n var scrollEle = this.parent.getContent().firstElementChild;\n var visibleRowCount = Math.floor(scrollEle.offsetHeight / this.parent.getRowHeight()) - 1;\n var startIdx = (this.maxPage * this.parent.pageSettings.pageSize) - visibleRowCount;\n return index >= startIdx;\n };\n VirtualContentRenderer.prototype.refreshMaxPage = function () {\n if (this.parent.groupSettings.columns.length && this.parent.vcRows.length) {\n this.maxPage = Math.ceil(this.parent.vcRows.length / this.parent.pageSettings.pageSize);\n }\n };\n VirtualContentRenderer.prototype.setVirtualPageQuery = function (args) {\n var visiblePage = [];\n if (this.prevInfo && this.prevInfo.blockIndexes) {\n visiblePage = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.getVisiblePage)(this.prevInfo.blockIndexes);\n }\n if ((this.requestType === 'sorting' || this.requestType === 'delete') && visiblePage.length && (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.checkIsVirtual)(this.parent)) {\n args.query.skip(this.parent.pageSettings.pageSize * (visiblePage[0] - 1));\n args.query.take(this.parent.pageSettings.pageSize * visiblePage.length);\n args.skipPage = true;\n return;\n }\n var row = this.parent.getContent().querySelector('.e-row');\n if (this.requestType === 'virtualscroll' && this.vgenerator.currentInfo.blockIndexes) {\n this.vgenerator.currentInfo = {};\n }\n if (row && this.parent.isManualRefresh && this.currentInfo.blockIndexes\n && (this.currentInfo.blockIndexes.length === 3 || visiblePage.length > 1)) {\n this.vgenerator.startIndex = parseInt(row.getAttribute('aria-rowindex'), 10) - 1;\n this.vgenerator.currentInfo = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.currentInfo);\n this.vgenerator.currentInfo.blockIndexes = this.currentInfo.blockIndexes.slice();\n var includePrevPage = this.vgenerator.includePrevPage = this.currentInfo.blockIndexes[0] % 2 === 0;\n if (includePrevPage) {\n this.vgenerator.startIndex = this.vgenerator.startIndex - this.getBlockSize();\n this.vgenerator.currentInfo.blockIndexes.unshift(this.currentInfo.blockIndexes[0] - 1);\n }\n else {\n this.vgenerator.currentInfo.blockIndexes.push(this.currentInfo.blockIndexes[this.currentInfo.blockIndexes.length - 1] + 1);\n }\n var skip = (this.vgenerator.currentInfo.blockIndexes[0] - 1) * this.getBlockSize();\n var take = this.vgenerator.currentInfo.blockIndexes.length * this.getBlockSize();\n args.query.skip(skip);\n args.query.take(take);\n args.skipPage = true;\n }\n };\n VirtualContentRenderer.prototype.eventListener = function (action) {\n var _this = this;\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataReady, this.onDataReady, this);\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.dataBound, this.dataBound.bind(this));\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionBegin, this.actionBegin.bind(this));\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.actionComplete, this.actionComplete.bind(this));\n this.parent.addEventListener(_base_constant__WEBPACK_IMPORTED_MODULE_1__.rowSelected, this.rowSelected.bind(this));\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualBlock, this.refreshContentRows, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualLazyLoadCache, this.refreshVirtualLazyLoadCache, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.selectVirtualRow, this.selectVirtualRow, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.virtaulCellFocus, this.virtualCellFocus, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEditActionBegin, this.editActionBegin, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.virtualScrollAddActionBegin, this.addActionBegin, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEdit, this.restoreEdit, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEditSuccess, this.editSuccess, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualCache, this.refreshCache, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.editReset, this.resetIsedit, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.getVirtualData, this.getVirtualData, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.virtualScrollEditCancel, this.editCancel, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualMaxPage, this.refreshMaxPage, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.setVirtualPageQuery, this.setVirtualPageQuery, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.selectRowOnContextOpen, this.selectRowOnContextOpen, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.resetVirtualFocus, this.resetVirtualFocus, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualEditFormCells, this.refreshCells, this);\n this.parent[\"\" + action](_base_constant__WEBPACK_IMPORTED_MODULE_1__.scrollToEdit, this.scrollToEdit, this);\n var event = this.actions;\n for (var i = 0; i < event.length; i++) {\n this.parent[\"\" + action](event[parseInt(i.toString(), 10)] + \"-begin\", this.onActionBegin, this);\n }\n var fn = function () {\n _this.observer.observe(function (scrollArgs) { return _this.scrollListener(scrollArgs); }, _this.onEntered());\n var gObj = _this.parent;\n if (gObj.enablePersistence && gObj.scrollPosition) {\n if (gObj.scrollPosition.top > 0) {\n _this.content.scrollTop = gObj.scrollPosition.top;\n var scrollValues = { direction: 'down', sentinel: _this.observer.sentinelInfo.down,\n offset: gObj.scrollPosition, focusElement: gObj.element };\n _this.scrollListener(scrollValues);\n }\n if (gObj.enableColumnVirtualization) {\n _this.content.scrollLeft = gObj.scrollPosition.left;\n }\n }\n _this.parent.off(_base_constant__WEBPACK_IMPORTED_MODULE_1__.contentReady, fn);\n };\n this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.contentReady, fn, this);\n };\n VirtualContentRenderer.prototype.refreshVirtualLazyLoadCache = function (e) {\n var blockIndex = this.currentInfo.blockIndexes;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.currentInfo.blockIndexes)) {\n blockIndex = [1, 2];\n }\n var block;\n var index;\n var cache;\n for (var i = 0; i < blockIndex.length; i++) {\n var rows = this.vgenerator.cache[blockIndex[parseInt(i.toString(), 10)]];\n for (var j = 0; j < rows.length; j++) {\n if (rows[parseInt(j.toString(), 10)].uid === e.uid) {\n block = blockIndex[parseInt(i.toString(), 10)];\n index = j;\n cache = rows;\n break;\n }\n }\n }\n if (e.count) {\n this.vgenerator.cache[parseInt(block.toString(), 10)].splice(index + 1, e.count);\n }\n else if (e.rows && e.rows.length) {\n this.vgenerator.cache[parseInt(block.toString(), 10)] = ([].slice.call(cache.slice(0, index + 1)).concat([].slice.call(e.rows))).concat([].slice.call(cache.slice(index + 1, cache.length)));\n }\n this.refreshOffsets();\n };\n VirtualContentRenderer.prototype.scrollToEdit = function (col) {\n var allowScroll = true;\n this.validationCheck = true;\n if (this.isAdd && this.content.scrollTop > 0) {\n allowScroll = false;\n var keys = Object.keys(this.offsets);\n this.content.scrollTop = this.parent.editSettings.newRowPosition === 'Top' ? 0 : this.offsets[keys.length - 1];\n }\n var row = this.parent.getRowByIndex(this.editedRowIndex);\n if (!row && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.editedRowIndex)) {\n if (!row || !this.isRowInView(row)) {\n var rowIndex = this.parent.getRowHeight();\n var scrollTop = this.editedRowIndex * rowIndex;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(scrollTop)) {\n allowScroll = false;\n this.content.scrollTop = scrollTop;\n }\n }\n }\n if (col && allowScroll) {\n var offset = this.vgenerator.cOffsets[(col.index - this.parent.getVisibleFrozenColumns()) - 1];\n if (!this.parent.enableColumnVirtualization) {\n var header = this.parent.getHeaderContent().querySelector('.e-headercelldiv[e-mappinguid=\"' + col.uid + '\"]');\n offset = header.parentElement.offsetLeft;\n }\n if (this.parent.enableColumnVirtualization && this.parent.getVisibleFrozenLeftCount()) {\n offset -= this.parent.leftrightColumnWidth('left');\n }\n this.content.scrollLeft = this.parent.enableRtl ? -Math.abs(offset) : offset;\n }\n if (col && !allowScroll) {\n this.validationCol = col;\n }\n };\n VirtualContentRenderer.prototype.refreshCells = function (rowObj) {\n rowObj.cells = this.vgenerator.generateCells(rowObj.foreignKeyData);\n };\n VirtualContentRenderer.prototype.resetVirtualFocus = function (e) {\n this.isCancel = e.isCancel;\n };\n /**\n * @param {Object} data - specifies the data\n * @param {Object} data.virtualData -specifies the data\n * @param {boolean} data.isAdd - specifies isAdd\n * @param {boolean} data.isCancel - specifies boolean in cancel\n * @param {boolean} data.isScroll - specifies boolean for scroll\n * @returns {void}\n * @hidden\n */\n VirtualContentRenderer.prototype.getVirtualData = function (data) {\n if (this.isNormaledit) {\n var error = this.parent.element.querySelector('.e-griderror:not([style*=\"display: none\"])');\n var keys = Object.keys(this.virtualData);\n data.isScroll = keys.length !== 0 && this.currentInfo.sentinelInfo && this.currentInfo.sentinelInfo.axis === 'X';\n if (error) {\n return;\n }\n this.virtualData = keys.length ? this.virtualData : data.virtualData;\n this.getVirtualEditedData(this.virtualData);\n data.virtualData = this.virtualData;\n data.isAdd = this.isAdd || this.parent.editSettings.showAddNewRow;\n data.isCancel = this.isCancel;\n }\n };\n VirtualContentRenderer.prototype.selectRowOnContextOpen = function (args) {\n this.isContextMenuOpen = args.isOpen;\n };\n VirtualContentRenderer.prototype.editCancel = function (args) {\n var dataIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.getEditedDataIndex)(this.parent, args.data);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataIndex)) {\n args.data = this.parent.getCurrentViewRecords()[parseInt(dataIndex.toString(), 10)];\n }\n };\n VirtualContentRenderer.prototype.editSuccess = function (args) {\n if (this.isNormaledit) {\n if (!this.isAdd && args.data) {\n this.updateCurrentViewData(args.data);\n }\n this.isAdd = false;\n }\n };\n VirtualContentRenderer.prototype.updateCurrentViewData = function (data) {\n var dataIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.getEditedDataIndex)(this.parent, data);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataIndex)) {\n this.parent.getCurrentViewRecords()[parseInt(dataIndex.toString(), 10)] = data;\n }\n };\n VirtualContentRenderer.prototype.actionBegin = function (args) {\n if (args.requestType !== 'virtualscroll') {\n this.requestType = args.requestType;\n }\n if (!args.cancel) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualFrozenRows, args);\n }\n };\n VirtualContentRenderer.prototype.virtualCellFocus = function (e) {\n // To decide the action (select or scroll), when using arrow keys for cell focus\n var ele = document.activeElement;\n if (!ele.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell) && (ele instanceof HTMLInputElement\n || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.closest('.e-templatecell')))) {\n ele = ele.closest('.e-rowcell');\n }\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length\n && ele && (ele.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.parentsUntil)(ele, _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.groupCaptionRow)))\n && e && (e.action === 'shiftEnter' || e.action === 'upArrow' || e.action === 'downArrow')) {\n var scrollEle = this.parent.getContent().firstElementChild;\n var scrollEleInfo = scrollEle.getBoundingClientRect();\n var row = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ele, 'tr');\n var nextFocusRow = e.action === 'downArrow' ? row.nextElementSibling : row.previousElementSibling;\n var nextFocusRowInfo = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nextFocusRow) ? nextFocusRow.getBoundingClientRect()\n : undefined;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nextFocusRow) || (e.action === 'downArrow' && nextFocusRowInfo.bottom > scrollEleInfo.bottom)\n || ((e.action === 'upArrow' || e.action === 'shiftEnter') && nextFocusRowInfo.top < scrollEleInfo.top)) {\n this.activeKey = e.action;\n this.parent.focusModule.virtualSelectionInfo = { isPending: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nextFocusRow),\n direction: e.action, event: e };\n var viewDifference = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nextFocusRow) ? this.parent.getRowHeight()\n : e.action === 'downArrow' ? nextFocusRowInfo.bottom - scrollEleInfo.bottom\n : scrollEleInfo.top - nextFocusRowInfo.top;\n scrollEle.scrollTop = e.action === 'downArrow' ? scrollEle.scrollTop + viewDifference\n : scrollEle.scrollTop - viewDifference;\n }\n else {\n this.activeKey = this.empty;\n }\n return;\n }\n if (ele && ele.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.rowCell)\n && e && (e.action === 'upArrow' || e.action === 'downArrow' || e.action === 'shiftEnter')) {\n var rowIndex = parseInt(ele.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n if (e && (e.action === 'upArrow' || e.action === 'shiftEnter' || e.action === 'downArrow')) {\n var scrollEle = this.parent.getContent().firstElementChild;\n if (e.action === 'downArrow') {\n rowIndex += 1;\n }\n else {\n rowIndex -= 1;\n }\n this.rowIndex = rowIndex;\n this.cellIndex = parseInt(ele.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaColIndex), 10) - 1;\n var row = this.parent.getRowByIndex(rowIndex);\n var page = this.parent.pageSettings.currentPage;\n var visibleRowCount = Math.floor(scrollEle.offsetHeight / this.parent.getRowHeight()) - 1;\n var emptyRow = false;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row)) {\n emptyRow = true;\n if ((e.action === 'downArrow' && page === this.maxPage - 1) || ((e.action === 'upArrow' || e.action === 'shiftEnter') && page === 1)) {\n emptyRow = false;\n }\n }\n if (emptyRow || ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.ensureLastRow)(row, this.parent) && e.action === 'downArrow')\n || ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.ensureFirstRow)(row, this.parent.getRowHeight() * 2) && (e.action === 'upArrow' || e.action === 'shiftEnter'))) {\n this.activeKey = e.action;\n scrollEle.scrollTop = e.action === 'downArrow' ?\n (rowIndex - visibleRowCount) * this.parent.getRowHeight() : rowIndex * this.parent.getRowHeight();\n }\n else {\n this.activeKey = this.empty;\n }\n if (!this.parent.selectionSettings.checkboxOnly) {\n this.parent.selectRow(rowIndex);\n }\n }\n }\n };\n VirtualContentRenderer.prototype.editActionBegin = function (e) {\n this.editedRowIndex = e.index;\n var rowData = (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.parent.getCurrentViewRecords()[e.index]) : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.getRowObjectByIndex(e.index));\n var keys = Object.keys(this.virtualData);\n e.data = keys.length && !this.parent.editSettings.showAddNewRow ? this.virtualData : this.isInfiniteColumnvirtualization() ?\n e.data : rowData;\n if (this.enableCacheOnInfiniteColumnVirtual()) {\n this.virtualInfiniteData = e.data;\n }\n e.isScroll = keys.length !== 0 && this.currentInfo.sentinelInfo && this.currentInfo.sentinelInfo.axis === 'X';\n };\n VirtualContentRenderer.prototype.getEditedRowObject = function () {\n var rowObjects = this.parent.vcRows;\n var editedrow;\n for (var i = 0; i < rowObjects.length; i++) {\n if (rowObjects[parseInt(i.toString(), 10)].index === this.editedRowIndex) {\n editedrow = rowObjects[parseInt(i.toString(), 10)];\n }\n }\n return editedrow;\n };\n VirtualContentRenderer.prototype.refreshCache = function (args) {\n if (this.isInfiniteColumnvirtualization()) {\n return;\n }\n var block = Math.ceil((this.editedRowIndex + 1) / this.getBlockSize());\n if (this.parent.allowPaging && this.parent.enableColumnVirtualization) {\n block = Math.ceil((this.editedRowIndex + 1 + ((this.parent.pageSettings.currentPage - 1) *\n this.parent.pageSettings.pageSize)) / this.getBlockSize());\n }\n var index = (this.parent.allowPaging && this.parent.enableColumnVirtualization) ?\n this.editedRowIndex % this.getBlockSize() : this.editedRowIndex - ((block - 1) * this.getBlockSize());\n if (this.parent.groupSettings.columns.length) {\n var editRowObject = this.getEditedRowObject();\n if (editRowObject) {\n editRowObject.data = args.data;\n }\n }\n else {\n this.vgenerator.cache[parseInt(block.toString(), 10)][parseInt(index.toString(), 10)].data = args.data;\n }\n };\n VirtualContentRenderer.prototype.actionComplete = function (args) {\n if (!(this.parent.enableVirtualization || this.parent.enableColumnVirtualization)) {\n return;\n }\n var editRequestTypes = ['delete', 'save', 'cancel'];\n var dataActionRequestTypes = ['sorting', 'filtering', 'grouping', 'refresh', 'searching', 'ungrouping', 'reorder'];\n if (editRequestTypes.some(function (value) { return value === args.requestType; })) {\n this.refreshOffsets();\n this.refreshVirtualElement();\n }\n if (this.isNormaledit && (dataActionRequestTypes.some(function (value) { return value === args.requestType; })\n || editRequestTypes.some(function (value) { return value === args.requestType; }))) {\n this.isCancel = true;\n this.isAdd = false || this.parent.editSettings.showAddNewRow;\n this.editedRowIndex = this.empty;\n this.virtualData = {};\n this.virtualInfiniteData = {};\n if (this.parent.editModule) {\n this.parent.editModule.editModule.previousData = undefined;\n }\n }\n if (this.parent.enableColumnVirtualization && args.requestType === 'filterAfterOpen'\n && this.currentInfo.columnIndexes && this.currentInfo.columnIndexes[0] > 0) {\n this.parent.resetFilterDlgPosition(args.columnName);\n }\n };\n VirtualContentRenderer.prototype.resetIsedit = function () {\n if (this.parent.enableVirtualization && this.isNormaledit) {\n if ((this.parent.editSettings.allowEditing && Object.keys(this.virtualData).length)\n || (this.parent.editSettings.allowAdding && this.isAdd)) {\n this.parent.isEdit = true;\n }\n }\n };\n VirtualContentRenderer.prototype.scrollAfterEdit = function () {\n if (this.parent.editModule && this.parent.editSettings.allowEditing && this.isNormaledit) {\n if (this.parent.element.querySelector('.e-gridform')) {\n var editForm = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.editedRow);\n var addForm = this.parent.element.querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.addedRow);\n if (editForm || addForm) {\n var rowData = editForm ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.getRowObjectByIndex(this.editedRowIndex))\n : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, this.emptyRowData);\n var keys = Object.keys(this.virtualData);\n this.virtualData = keys.length ? this.getVirtualEditedData(this.virtualData) : this.getVirtualEditedData(rowData);\n }\n }\n }\n };\n VirtualContentRenderer.prototype.createEmptyRowdata = function () {\n var _this = this;\n this.parent.columnModel.filter(function (e) {\n _this.emptyRowData[e.field] = _this.empty;\n });\n };\n VirtualContentRenderer.prototype.addActionBegin = function (args) {\n if (this.isNormaledit) {\n if (!Object.keys(this.emptyRowData).length) {\n this.createEmptyRowdata();\n }\n this.isAdd = true;\n var page = this.parent.pageSettings.currentPage;\n if (!this.parent.frozenRows && this.content.scrollTop > 0 && this.parent.editSettings.newRowPosition === 'Top') {\n this.isAdd = true;\n this.onActionBegin();\n args.startEdit = false;\n this.content.scrollTop = 0;\n }\n if (page < this.maxPage - 1 && this.parent.editSettings.newRowPosition === 'Bottom') {\n this.isAdd = true;\n this.parent.setProperties({ pageSettings: { currentPage: this.maxPage - 1 } }, true);\n args.startEdit = false;\n this.content.scrollTop = this.offsets[this.offsetKeys.length];\n }\n }\n };\n /**\n * @param {number} index - specifies the index\n * @returns {Object} returns the object\n * @hidden\n */\n VirtualContentRenderer.prototype.getRowObjectByIndex = function (index) {\n var data = this.getRowCollection(index, true);\n return data;\n };\n VirtualContentRenderer.prototype.getBlockSize = function () {\n return this.parent.pageSettings.pageSize >> 1;\n };\n VirtualContentRenderer.prototype.getBlockHeight = function () {\n return this.getBlockSize() * this.parent.getRowHeight();\n };\n VirtualContentRenderer.prototype.isEndBlock = function (index) {\n var totalBlocks = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) ? this.getGroupedTotalBlocks() : this.getTotalBlocks();\n return index >= totalBlocks || index === totalBlocks - 1;\n };\n VirtualContentRenderer.prototype.isOddPageSize = function () {\n return this.parent.pageSettings.pageSize % 2 !== 0;\n };\n VirtualContentRenderer.prototype.getOddBlockSize = function () {\n return this.isOddPageSize() ? this.parent.pageSettings.pageSize / 2 : this.getBlockSize();\n };\n VirtualContentRenderer.prototype.getGroupedTotalBlocks = function () {\n var rows = this.parent.vcRows;\n return Math.floor((rows.length / this.getOddBlockSize()) < 1 ? 1 : rows.length / this.getOddBlockSize());\n };\n VirtualContentRenderer.prototype.getTotalBlocks = function () {\n return Math.ceil(this.count / this.getOddBlockSize());\n };\n VirtualContentRenderer.prototype.getColumnOffset = function (block) {\n return this.vgenerator.cOffsets[parseInt(block.toString(), 10)] | 0;\n };\n VirtualContentRenderer.prototype.getModelGenerator = function () {\n return new _services_virtual_row_model_generator__WEBPACK_IMPORTED_MODULE_7__.VirtualRowModelGenerator(this.parent);\n };\n VirtualContentRenderer.prototype.resetScrollPosition = function (action) {\n if (this.actions.some(function (value) { return value === action; })) {\n this.preventEvent = this.content.scrollTop !== 0;\n this.content.scrollTop = 0;\n }\n if (action !== 'virtualscroll') {\n this.isAdd = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n VirtualContentRenderer.prototype.onActionBegin = function (e) {\n //Update property silently..\n this.parent.setProperties({ pageSettings: { currentPage: 1 } }, true);\n };\n VirtualContentRenderer.prototype.getRows = function () {\n return this.isInfiniteColumnvirtualization() ? this.getInfiniteRows() : this.vgenerator.getRows();\n };\n VirtualContentRenderer.prototype.getRowByIndex = function (index) {\n var row;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) && this.parent.enableVirtualization && this.parent.groupSettings.columns.length) {\n for (var i = 0; i < this.parent.getDataRows().length; i++) {\n if (parseInt(this.parent.getDataRows()[parseInt(i.toString(), 10)].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1 ===\n index) {\n row = this.parent.getDataRows()[parseInt(i.toString(), 10)];\n }\n }\n }\n else {\n row = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? this.parent.getDataRows()[parseInt(index.toString(), 10)] : undefined;\n }\n }\n else if (!this.parent.enableVirtualization && this.parent.enableColumnVirtualization) {\n row = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? this.enableCacheOnInfiniteColumnVirtual() ? this.parent.getDataRows()\n .find(function (element) { return parseInt(element.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1 === index; }) :\n this.parent.getDataRows()[parseInt(index.toString(), 10)] : undefined;\n }\n else if (this.prevInfo) {\n row = this.getRowCollection(index, false);\n }\n return row;\n };\n VirtualContentRenderer.prototype.getMovableVirtualRowByIndex = function (index) {\n return this.getRowCollection(index, false);\n };\n VirtualContentRenderer.prototype.getFrozenRightVirtualRowByIndex = function (index) {\n return this.getRowCollection(index, false);\n };\n VirtualContentRenderer.prototype.getRowCollection = function (index, isRowObject) {\n var prev = this.prevInfo.blockIndexes;\n var startIdx = (prev[0] - 1) * this.getBlockSize();\n if (this.parent.pageSettings.pageSize % 2 !== 0) {\n startIdx += Math.floor((startIdx / this.getBlockSize()) / 2);\n }\n var rowCollection = this.parent.getDataRows();\n var collection = isRowObject ? this.parent.getCurrentViewRecords() : rowCollection;\n if (isRowObject && this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n startIdx = parseInt(this.parent.getRows()[0].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n collection = collection.filter(function (m) { return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(m.items); });\n }\n if (!isRowObject && this.parent.allowGrouping && this.parent.groupSettings.columns.length && rowCollection.length) {\n startIdx = parseInt(rowCollection[0].getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_3__.ariaRowIndex), 10) - 1;\n }\n var selectedRow = collection[index - startIdx];\n if (this.parent.frozenRows && this.parent.pageSettings.currentPage > 1) {\n if (!isRowObject) {\n selectedRow = index <= this.parent.frozenRows ? rowCollection[parseInt(index.toString(), 10)]\n : rowCollection[(index - startIdx) + this.parent.frozenRows];\n }\n else {\n selectedRow = index <= this.parent.frozenRows ? this.parent.getRowsObject()[parseInt(index.toString(), 10)].data\n : selectedRow;\n }\n }\n return selectedRow;\n };\n VirtualContentRenderer.prototype.getVirtualRowIndex = function (index) {\n var prev = this.prevInfo.blockIndexes;\n var startIdx = (prev[0] - 1) * this.getBlockSize();\n if (this.parent.enableVirtualization && this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n var vGroupedRows = this.vgenerator.cache[prev[0]];\n for (var i = 0; i < vGroupedRows.length; i++) {\n if (vGroupedRows[\"\" + i].isDataRow) {\n startIdx = vGroupedRows[\"\" + i].index;\n break;\n }\n }\n }\n return startIdx + index;\n };\n /**\n * @returns {void}\n * @hidden */\n VirtualContentRenderer.prototype.refreshOffsets = function () {\n var gObj = this.parent;\n var row = 0;\n var blockSize = this.getBlockSize();\n var oddBlockSize = this.getOddBlockSize();\n var total = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) ? this.getGroupedTotalBlocks() : this.getTotalBlocks();\n this.prevHeight = this.offsets[parseInt(total.toString(), 10)];\n this.maxBlock = total % 2 === 0 ? total - 2 : total - 1;\n this.offsets = {};\n //Row offset update\n // eslint-disable-next-line prefer-spread\n var blocks = Array.apply(null, Array(total)).map(function () { return ++row; });\n for (var i = 0; i < blocks.length; i++) {\n var tmp = (this.vgenerator.cache[blocks[parseInt(i.toString(), 10)]] || []).length;\n var rem = !(0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) ? this.isOddPageSize() ?\n Math.ceil(this.count % oddBlockSize) : this.count % blockSize : this.isOddPageSize() ?\n Math.ceil(gObj.vcRows.length % oddBlockSize) : (gObj.vcRows.length % blockSize);\n var size = !(0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) && blocks[parseInt(i.toString(), 10)] in this.vgenerator.cache ?\n tmp * this.parent.getRowHeight() : rem && blocks[parseInt(i.toString(), 10)] === total ? rem * this.parent.getRowHeight() :\n this.getBlockHeight();\n if (this.isOddPageSize() && !(blocks[parseInt(i.toString(), 10)] in this.vgenerator.cache)\n && !(rem && blocks[parseInt(i.toString(), 10)] === total)) {\n size = (blocks[parseInt(i.toString(), 10)] % 2 !== 0 ? Math.floor(oddBlockSize)\n : Math.ceil(oddBlockSize)) * this.parent.getRowHeight();\n }\n // let size: number = this.parent.groupSettings.columns.length && block in this.vgenerator.cache ?\n // tmp * getRowHeight() : this.getBlockHeight();\n this.offsets[blocks[parseInt(i.toString(), 10)]] = (this.offsets[blocks[parseInt(i.toString(), 10)] - 1] | 0) + size;\n this.tmpOffsets[blocks[parseInt(i.toString(), 10)]] = this.offsets[blocks[parseInt(i.toString(), 10)] - 1] | 0;\n }\n this.offsetKeys = Object.keys(this.offsets);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent)) {\n this.parent.vGroupOffsets = this.offsets;\n }\n //Column offset update\n if (this.parent.enableColumnVirtualization) {\n this.vgenerator.refreshColOffsets();\n }\n };\n VirtualContentRenderer.prototype.refreshVirtualElement = function () {\n this.vgenerator.refreshColOffsets();\n this.setVirtualHeight();\n };\n VirtualContentRenderer.prototype.setVisible = function (columns) {\n var gObj = this.parent;\n var rows = [];\n rows = this.getRows();\n var testRow;\n rows.some(function (r) { if (r.isDataRow) {\n testRow = r;\n } return r.isDataRow; });\n var isRefresh = true;\n if (!gObj.groupSettings.columns.length && testRow) {\n isRefresh = false;\n }\n var tr = gObj.getDataRows();\n for (var c = 0, clen = columns.length; c < clen; c++) {\n var column = columns[parseInt(c.toString(), 10)];\n var idx = gObj.getNormalizedColumnIndex(column.uid);\n var displayVal = column.visible === true ? '' : 'none';\n var colGrp = this.getColGroup().children;\n if (idx !== -1 && testRow && idx < testRow.cells.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(colGrp[parseInt(idx.toString(), 10)], { 'display': displayVal });\n }\n if (!isRefresh) {\n var width = void 0;\n if (column.width) {\n if (column.visible) {\n width = this.virtualEle.wrapper.offsetWidth + parseInt(column.width.toString(), 10);\n }\n else {\n width = this.virtualEle.wrapper.offsetWidth - parseInt(column.width.toString(), 10);\n }\n }\n if (width > gObj.width) {\n this.setDisplayNone(tr, idx, displayVal, rows);\n if (this.parent.enableColumnVirtualization) {\n this.virtualEle.setWrapperWidth(width + '');\n }\n this.refreshVirtualElement();\n }\n else {\n isRefresh = true;\n }\n }\n if (!this.parent.invokedFromMedia && column.hideAtMedia) {\n this.parent.updateMediaColumns(column);\n }\n this.parent.invokedFromMedia = false;\n }\n if (isRefresh) {\n this.refreshContentRows({ requestType: 'refresh' });\n }\n else {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.partialRefresh, { rows: rows, args: { isFrozen: false, rows: rows } });\n }\n };\n VirtualContentRenderer.prototype.selectVirtualRow = function (args) {\n var _this = this;\n var count = (0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent) ? this.vgenerator.recordsCount : this.count;\n args.isAvailable = args.selectedIndex < count;\n if (args.isAvailable && !this.isContextMenuOpen && this.activeKey !== 'upArrow'\n && this.activeKey !== 'downArrow' && !this.isSelection && !this.requestTypes.some(function (value) { return value === _this.requestType; })\n && !this.parent.selectionModule.isInteracted) {\n var selectedRow = this.parent.getRowByIndex(args.selectedIndex);\n var rowHeight = this.parent.getRowHeight();\n if (!selectedRow || !this.isRowInView(selectedRow)) {\n this.isSelection = true;\n this.selectedRowIndex = args.selectedIndex;\n var scrollTop = args.selectedIndex * rowHeight;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_6__.isGroupAdaptive)(this.parent)) {\n var selectedRowObjectIndex = this.parent.vcRows\n .findIndex(function (row) { return row.index === args.selectedIndex; });\n scrollTop = selectedRowObjectIndex !== -1 ? selectedRowObjectIndex * rowHeight : undefined;\n this.isSelection = selectedRowObjectIndex !== -1 ? this.isSelection : false;\n }\n else if (this.parent.groupSettings.columns.length && this.parent.getDataModule().isRemote()) {\n var page = Math.ceil((args.selectedIndex + 1) / this.parent.pageSettings.pageSize);\n var blockIndexes = this.vgenerator.getBlockIndexes(page);\n scrollTop = this.offsets[blockIndexes[0]];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(scrollTop)) {\n var direction = this.content.scrollTop < scrollTop ? 'down' : 'up';\n this.selectRowIndex = args.selectedIndex;\n this.content.scrollTop = scrollTop;\n this.isSelectionScroll = this.observer.check(direction);\n }\n }\n }\n this.requestType = this.empty;\n };\n VirtualContentRenderer.prototype.isRowInView = function (row) {\n var top = row.getBoundingClientRect().top;\n var bottom = row.getBoundingClientRect().bottom;\n return (top >= this.content.getBoundingClientRect().top && bottom <= this.content.getBoundingClientRect().bottom);\n };\n return VirtualContentRenderer;\n}(_content_renderer__WEBPACK_IMPORTED_MODULE_8__.ContentRender));\n\n/**\n * @hidden\n */\nvar VirtualHeaderRenderer = /** @class */ (function (_super) {\n __extends(VirtualHeaderRenderer, _super);\n function VirtualHeaderRenderer(parent, locator) {\n var _this = _super.call(this, parent, locator) || this;\n _this.virtualEle = new VirtualElementHandler();\n _this.isMovable = false;\n _this.gen = new _services_virtual_row_model_generator__WEBPACK_IMPORTED_MODULE_7__.VirtualRowModelGenerator(_this.parent);\n _this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.columnVisibilityChanged, _this.setVisible, _this);\n _this.parent.on(_base_constant__WEBPACK_IMPORTED_MODULE_1__.refreshVirtualBlock, function (e) { return e.virtualInfo.sentinelInfo.axis === 'X' ? _this.refreshUI() : null; }, _this);\n return _this;\n }\n VirtualHeaderRenderer.prototype.renderTable = function () {\n this.gen.refreshColOffsets();\n this.parent.setColumnIndexesInView(this.gen.getColumnIndexes(this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent)));\n _super.prototype.renderTable.call(this);\n this.virtualEle.table = this.getTable();\n this.virtualEle.content = this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent);\n this.virtualEle.content.style.position = 'relative';\n this.virtualEle.renderWrapper();\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n (!(this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) && this.parent.enableColumnVirtualization) ?\n this.virtualEle.renderPlaceHolder() : this.virtualEle.renderPlaceHolder('absolute');\n };\n VirtualHeaderRenderer.prototype.appendContent = function (table) {\n this.virtualEle.wrapper.appendChild(table);\n };\n VirtualHeaderRenderer.prototype.refreshUI = function () {\n this.gen.refreshColOffsets();\n this.parent.setColumnIndexesInView(this.gen.getColumnIndexes(this.getPanel().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_3__.headerContent)));\n _super.prototype.refreshUI.call(this);\n };\n VirtualHeaderRenderer.prototype.setVisible = function (columns) {\n var gObj = this.parent;\n var displayVal;\n var idx;\n var needFullRefresh;\n for (var c = 0, clen = columns.length; c < clen; c++) {\n var column = columns[parseInt(c.toString(), 10)];\n idx = gObj.getNormalizedColumnIndex(column.uid);\n displayVal = column.visible ? '' : 'none';\n var colGrp = this.getColGroup().children;\n if (gObj.getColumnByField(column.field)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(colGrp[parseInt(idx.toString(), 10)], { 'display': displayVal });\n }\n if (gObj.enableColumnVirtualization && !gObj.groupSettings.columns.length) {\n var tablewidth = void 0;\n if (column.visible) {\n tablewidth = this.virtualEle.wrapper.offsetWidth + parseInt(column.width.toString(), 10);\n }\n else {\n tablewidth = this.virtualEle.wrapper.offsetWidth - parseInt(column.width.toString(), 10);\n }\n if (tablewidth > gObj.width) {\n this.setDisplayNone(column, displayVal);\n this.virtualEle.setWrapperWidth(tablewidth + '');\n this.gen.refreshColOffsets();\n }\n else {\n needFullRefresh = true;\n }\n }\n else {\n needFullRefresh = true;\n }\n if (needFullRefresh) {\n this.refreshUI();\n }\n }\n };\n VirtualHeaderRenderer.prototype.setDisplayNone = function (col, displayVal) {\n var table = this.getTable();\n for (var _i = 0, _a = [].slice.apply(table.querySelectorAll('th.e-headercell')); _i < _a.length; _i++) {\n var ele = _a[_i];\n if (ele.querySelector('[e-mappinguid]') &&\n ele.querySelector('[e-mappinguid]').getAttribute('e-mappinguid') === col.uid) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(ele, { 'display': displayVal });\n if (displayVal === '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([ele], 'e-hide');\n }\n break;\n }\n }\n };\n return VirtualHeaderRenderer;\n}(_header_renderer__WEBPACK_IMPORTED_MODULE_9__.HeaderRender));\n\n/**\n * @hidden\n */\nvar VirtualElementHandler = /** @class */ (function () {\n function VirtualElementHandler() {\n }\n VirtualElementHandler.prototype.renderWrapper = function (height) {\n this.wrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-virtualtable' });\n this.wrapper.style.minHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(height);\n this.wrapper.appendChild(this.table);\n this.content.appendChild(this.wrapper);\n };\n VirtualElementHandler.prototype.renderPlaceHolder = function (position) {\n if (position === void 0) { position = 'relative'; }\n this.placeholder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-virtualtrack' });\n this.placeholder.style.position = position;\n this.content.appendChild(this.placeholder);\n };\n VirtualElementHandler.prototype.renderFrozenWrapper = function (height) {\n this.wrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-virtualtable' });\n this.wrapper.style.cssText = \"min-height:\" + (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(height) + \"; display: flex;\";\n this.content.appendChild(this.wrapper);\n };\n VirtualElementHandler.prototype.renderFrozenPlaceHolder = function () {\n this.placeholder = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-virtualtrack' });\n this.content.appendChild(this.placeholder);\n };\n VirtualElementHandler.prototype.adjustTable = function (xValue, yValue) {\n this.wrapper.style.transform = \"translate(\" + xValue + \"px, \" + yValue + \"px)\";\n };\n VirtualElementHandler.prototype.setWrapperWidth = function (width, full) {\n if (width && width.indexOf('%') === -1 && !(this.content.getBoundingClientRect().width < parseInt(width, 10))) {\n width = undefined;\n full = true;\n }\n this.wrapper.style.width = width ? width + \"px\" : full ? '100%' : '';\n };\n VirtualElementHandler.prototype.setVirtualHeight = function (height, width) {\n this.placeholder.style.height = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(height) ? height + \"px\" : '0px';\n if (width && width.indexOf('%') === -1 && !(this.content.getBoundingClientRect().width < parseInt(width, 10))) {\n width = '100%';\n }\n this.placeholder.style.width = width;\n };\n VirtualElementHandler.prototype.setFreezeWrapperWidth = function (wrapper, width, full) {\n wrapper.style.width = width ? width + \"px\" : full ? '100%' : '';\n };\n return VirtualElementHandler;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-content-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellRendererFactory: () => (/* reexport safe */ _services_cell_render_factory__WEBPACK_IMPORTED_MODULE_0__.CellRendererFactory),\n/* harmony export */ GroupModelGenerator: () => (/* reexport safe */ _services_group_model_generator__WEBPACK_IMPORTED_MODULE_3__.GroupModelGenerator),\n/* harmony export */ InterSectionObserver: () => (/* reexport safe */ _services_intersection_observer__WEBPACK_IMPORTED_MODULE_6__.InterSectionObserver),\n/* harmony export */ RowModelGenerator: () => (/* reexport safe */ _services_row_model_generator__WEBPACK_IMPORTED_MODULE_2__.RowModelGenerator),\n/* harmony export */ ServiceLocator: () => (/* reexport safe */ _services_service_locator__WEBPACK_IMPORTED_MODULE_1__.ServiceLocator),\n/* harmony export */ ValueFormatter: () => (/* reexport safe */ _services_value_formatter__WEBPACK_IMPORTED_MODULE_4__.ValueFormatter),\n/* harmony export */ VirtualRowModelGenerator: () => (/* reexport safe */ _services_virtual_row_model_generator__WEBPACK_IMPORTED_MODULE_5__.VirtualRowModelGenerator)\n/* harmony export */ });\n/* harmony import */ var _services_cell_render_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./services/cell-render-factory */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/cell-render-factory.js\");\n/* harmony import */ var _services_service_locator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services/service-locator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/service-locator.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _services_group_model_generator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./services/group-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js\");\n/* harmony import */ var _services_value_formatter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./services/value-formatter */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js\");\n/* harmony import */ var _services_virtual_row_model_generator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./services/virtual-row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/virtual-row-model-generator.js\");\n/* harmony import */ var _services_intersection_observer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./services/intersection-observer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/intersection-observer.js\");\n/**\n * Services\n */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AriaService: () => (/* binding */ AriaService)\n/* harmony export */ });\n/**\n * AriaService\n *\n * @hidden\n */\nvar AriaService = /** @class */ (function () {\n function AriaService() {\n }\n AriaService.prototype.setOptions = function (target, options) {\n var props = Object.keys(options);\n for (var i = 0; i < props.length; i++) {\n setStateAndProperties(target, config[props[parseInt(i.toString(), 10)]], options[props[parseInt(i.toString(), 10)]]);\n }\n };\n AriaService.prototype.setExpand = function (target, expand) {\n setStateAndProperties(target, config.expand, expand);\n };\n AriaService.prototype.setSort = function (target, direction) {\n setStateAndProperties(target, config.sort, direction, typeof direction === 'boolean');\n };\n AriaService.prototype.setBusy = function (target, isBusy) {\n setStateAndProperties(target, config.busy, isBusy);\n setStateAndProperties(target, config.invalid, null, true);\n };\n AriaService.prototype.setGrabbed = function (target, isGrabbed, remove) {\n setStateAndProperties(target, config.grabbed, isGrabbed, remove);\n };\n AriaService.prototype.setDropTarget = function (target, isTarget) {\n setStateAndProperties(target, config.dropeffect, 'copy', !isTarget);\n };\n return AriaService;\n}());\n\n/**\n * @param {HTMLElement} target - specifies the target\n * @param {string} attribute - specifies the attribute\n * @param {ValueType} value - specifies the value\n * @param {boolean} remove - specifies the boolean for remove\n * @returns {void}\n * @hidden\n */\nfunction setStateAndProperties(target, attribute, value, remove) {\n if (remove && target) {\n target.removeAttribute(attribute);\n return;\n }\n if (target) {\n target.setAttribute(attribute, value);\n }\n}\nvar config = {\n expand: 'aria-expanded',\n role: 'role',\n datarole: 'data-role',\n selected: 'aria-selected',\n multiselectable: 'aria-multiselectable',\n sort: 'aria-sort',\n busy: 'aria-busy',\n invalid: 'aria-invalid',\n grabbed: 'aria-grabbed',\n dropeffect: 'aria-dropeffect',\n haspopup: 'aria-haspopup',\n level: 'aria-level',\n colcount: 'aria-colcount',\n rowcount: 'aria-rowcount'\n};\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/cell-render-factory.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/cell-render-factory.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellRendererFactory: () => (/* binding */ CellRendererFactory)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n\n\n/**\n * CellRendererFactory\n *\n * @hidden\n */\nvar CellRendererFactory = /** @class */ (function () {\n function CellRendererFactory() {\n this.cellRenderMap = {};\n }\n CellRendererFactory.prototype.addCellRenderer = function (name, type) {\n name = typeof name === 'string' ? name : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType, name);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cellRenderMap[\"\" + name])) {\n this.cellRenderMap[\"\" + name] = type;\n }\n };\n CellRendererFactory.prototype.getCellRenderer = function (name) {\n name = typeof name === 'string' ? name : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.CellType, name);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cellRenderMap[\"\" + name])) {\n // eslint-disable-next-line no-throw-literal\n throw \"The cellRenderer \" + name + \" is not found\";\n }\n else {\n return this.cellRenderMap[\"\" + name];\n }\n };\n return CellRendererFactory;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/cell-render-factory.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentFocus: () => (/* binding */ ContentFocus),\n/* harmony export */ FocusStrategy: () => (/* binding */ FocusStrategy),\n/* harmony export */ HeaderFocus: () => (/* binding */ HeaderFocus),\n/* harmony export */ Matrix: () => (/* binding */ Matrix),\n/* harmony export */ SearchBox: () => (/* binding */ SearchBox)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _row_model_generator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n/**\n * FocusStrategy class\n *\n * @hidden\n */\nvar FocusStrategy = /** @class */ (function () {\n function FocusStrategy(parent) {\n this.currentInfo = {};\n this.oneTime = true;\n this.swap = {};\n /** @hidden */\n this.isInfiniteScroll = false;\n /** @hidden */\n this.virtualSelectionInfo = {};\n this.forget = false;\n this.skipFocus = true;\n this.focusByClick = false;\n this.firstHeaderCellClick = false;\n /** @hidden */\n this.prevIndexes = {};\n this.refMatrix = this.refreshMatrix(true);\n this.actions = ['downArrow', 'upArrow'];\n this.isVirtualScroll = false;\n this.groupedFrozenRow = 0;\n this.parent = parent;\n this.rowModelGen = new _row_model_generator__WEBPACK_IMPORTED_MODULE_1__.RowModelGenerator(this.parent);\n this.addEventListener();\n }\n FocusStrategy.prototype.focusCheck = function (e) {\n var target = e.target;\n this.focusByClick = true;\n this.firstHeaderCellClick = true;\n this.skipFocus = target.classList.contains('e-grid');\n };\n FocusStrategy.prototype.onFocus = function (e) {\n if (this.parent.isDestroyed || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || this.parent.enableVirtualization\n || this.parent.element.querySelector('.e-masked-table') || (!this.parent.isInitialLoad && e\n && e.target === this.parent.element && this.parent.element.querySelector('.e-spin-show'))) {\n return;\n }\n this.setActive(!this.parent.enableHeaderFocus && this.parent.frozenRows === 0);\n if (!this.parent.enableHeaderFocus && !this.parent.getCurrentViewRecords().length && ((this.parent.editSettings.mode !== 'Batch')\n || (this.parent.editSettings.mode === 'Batch' && this.parent.editModule && !this.parent.editModule.getBatchChanges()[_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.addedRecords].length))) {\n this.getContent().matrix.\n generate(this.rowModelGen.generateRows({ rows: [new _models_row__WEBPACK_IMPORTED_MODULE_3__.Row({ isDataRow: true })] }), this.getContent().selector, false);\n }\n var current = this.getContent().matrix.get(0, -1, [0, 1], null, this.getContent().validator(), this.active);\n this.getContent().matrix.select(current[0], current[1]);\n if (this.skipFocus && !(e && e.target === this.parent.element)) {\n this.focus(e);\n this.skipFocus = false;\n }\n };\n FocusStrategy.prototype.passiveFocus = function (e) {\n if (this.parent.isDestroyed) {\n return;\n }\n var firstHeaderCell = this.parent.getHeaderContent().querySelector('.e-headercell:not(.e-hide)');\n if (e.target === firstHeaderCell && e.relatedTarget && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.relatedTarget, 'e-grid')\n && !this.firstHeaderCellClick) {\n var firstHeaderCellIndex = [0, 0];\n if (this.active.matrix.matrix[firstHeaderCellIndex[0]][firstHeaderCellIndex[1]] === 0) {\n firstHeaderCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, firstHeaderCellIndex, true);\n }\n this.active.matrix.current = firstHeaderCellIndex;\n this.currentInfo.element = e.target;\n this.currentInfo.elementToFocus = e.target;\n if (this.currentInfo.element.querySelector('.e-checkselectall')) {\n this.removeFocus();\n this.addFocus(this.getContent().getFocusInfo(), e);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.currentInfo.element], ['e-focused', 'e-focus']);\n }\n }\n this.firstHeaderCellClick = false;\n if (e.target && e.target.classList.contains('e-detailcell')) {\n this.currentInfo.skipAction = false;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.currentInfo.element], ['e-focused', 'e-focus']);\n }\n };\n FocusStrategy.prototype.onBlur = function (e) {\n if (this.parent.allowPaging && this.parent.pagerModule.pagerObj.element.querySelector('.e-pagercontainer')) {\n this.parent.pagerModule.pagerObj.element.querySelector('.e-pagercontainer').removeAttribute('aria-hidden');\n }\n // The below boolean condition for gantt team focus fix.\n var isGantt = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-gantt') && e.target.classList.contains('e-rowcell')\n && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target.nextElementSibling)\n && e.target.nextElementSibling.classList.contains('e-rowcell')) ? true : false;\n if ((this.parent.isEdit || e && (!e.relatedTarget || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.relatedTarget, '.e-grid') || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.relatedTarget, '.e-grid-popup'))\n && !(this.parent.element.classList.contains('e-childgrid') && !this.parent.element.matches(':focus-within')))\n && !(!isGantt && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.relatedTarget) && parseInt(e.target.getAttribute('aria-colindex'), 10) - 1 === 0\n && parseInt(e.target.getAttribute('index'), 10) === 0) && !(!isGantt && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.relatedTarget)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '.e-grid') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e['sourceCapabilities']))) {\n return;\n }\n this.removeFocus();\n this.skipFocus = true;\n this.currentInfo.skipAction = false;\n this.setLastContentCellTabIndex();\n this.setFirstFocusableTabIndex();\n this.firstHeaderCellClick = false;\n };\n /**\n * @returns {void}\n * @hidden */\n FocusStrategy.prototype.setFirstFocusableTabIndex = function () {\n var gObj = this.parent;\n gObj.element.tabIndex = -1;\n if (gObj.allowGrouping && gObj.groupSettings.showDropArea) {\n var groupModule = gObj.groupModule;\n var focusableGroupedItems = groupModule.getFocusableGroupedItems();\n if (focusableGroupedItems.length > 0) {\n groupModule.element.tabIndex = -1;\n focusableGroupedItems[0].tabIndex = 0;\n }\n else {\n groupModule.element.tabIndex = 0;\n }\n return;\n }\n if (gObj.toolbar || gObj.toolbarTemplate) {\n var toolbarElement = gObj.toolbarModule.element;\n var focusableToolbarItems = this.parent.toolbarModule.getFocusableToolbarItems();\n if (focusableToolbarItems.length > 0 && focusableToolbarItems[0].querySelector('.e-toolbar-item-focus,.e-btn,.e-input')) {\n toolbarElement.tabIndex = -1;\n focusableToolbarItems[0].querySelector('.e-toolbar-item-focus,.e-btn,.e-input').tabIndex = 0;\n }\n else {\n toolbarElement.tabIndex = 0;\n }\n return;\n }\n if (gObj.getColumns().length) {\n var firstHeaderCell = gObj.getHeaderContent().querySelector('.e-headercell:not(.e-hide)');\n firstHeaderCell.tabIndex = 0;\n this.setActive(false);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.active) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.active.target) || !this.active.target.classList.contains('e-columnmenu'))) {\n var firstHeaderCellIndex = [0, 0];\n if (this.active.matrix.matrix[firstHeaderCellIndex[0]][firstHeaderCellIndex[1]] === 0) {\n firstHeaderCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, firstHeaderCellIndex, true);\n }\n this.active.matrix.current = firstHeaderCellIndex;\n }\n return;\n }\n };\n FocusStrategy.prototype.setLastContentCellTabIndex = function () {\n var contentTable = this.parent.getContentTable();\n if (contentTable.rows[contentTable.rows.length - 1]) {\n var lastCell = contentTable.rows[contentTable.rows.length - 1].lastElementChild;\n lastCell.tabIndex = 0;\n }\n };\n FocusStrategy.prototype.onClick = function (e, force, isFocusFirstCell) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-filterbarcell') && ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-multiselect') ||\n e.target.classList.contains('e-input-group-icon'))) {\n return;\n }\n var isContent = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent));\n var isHeader = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader));\n isContent = isContent && isHeader ? !isContent : isContent;\n if (!isContent && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader)) ||\n e.target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.content) || e.target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.headerContent) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-unboundcell')) && !force)) {\n return;\n }\n this.setActive(isContent);\n var beforeArgs = { cancel: false, byKey: false, byClick: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.target), clickArgs: e };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.beforeCellFocused, beforeArgs);\n if (beforeArgs.cancel || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-inline-edit') && (!this.parent.editSettings.showAddNewRow &&\n (this.parent.editSettings.showAddNewRow && !this.parent.element.querySelector('.e-editedrow'))))) {\n return;\n }\n this.setActive(isContent);\n if (this.getContent()) {\n var returnVal = this.getContent().onClick(e, force);\n if (returnVal === false) {\n return;\n }\n this.focus();\n if (this.currentInfo.element.classList.contains('e-rowcell') && e.type && e.type === 'click' && !isFocusFirstCell) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.currentInfo.element], ['e-focused', 'e-focus']);\n }\n if (isFocusFirstCell && e && e.target) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([e.target], ['e-focused', 'e-focus']);\n }\n }\n };\n FocusStrategy.prototype.handleFilterNavigation = function (e, inputSelector, buttonSelector) {\n if (e.target === document.querySelector(inputSelector) && e.key === 'Tab' && e.shiftKey) {\n e.preventDefault();\n document.querySelector(buttonSelector).focus();\n }\n else if (e.target === document.querySelector(buttonSelector) && e.key === 'Tab' && !e.shiftKey &&\n document.activeElement === document.querySelector(buttonSelector)) {\n e.preventDefault();\n document.querySelector(inputSelector).focus();\n }\n };\n FocusStrategy.prototype.onKeyPress = function (e) {\n if (this.content && this.content.target) {\n this.content.target = null;\n }\n if (this.parent.allowPaging) {\n var pagerElement = this.parent.pagerModule.pagerObj.element;\n var focusablePagerElements = this.parent.pagerModule.pagerObj.getFocusablePagerElements(pagerElement, []);\n if (this.parent.childGrid && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-gridpager') && this.allowToPaging(e) && focusablePagerElements.length) {\n focusablePagerElements[0].tabIndex = 0;\n }\n if (this.parent.pagerModule.pagerObj.checkPagerHasFocus()) {\n if (e.action === 'shiftTab' && focusablePagerElements.length && focusablePagerElements[0] === e.target) {\n this.setActive(true);\n var lastHeaderCellIndex = [this.active.matrix.matrix.length - 1,\n this.active.matrix.matrix[this.active.matrix.matrix.length - 1].length - 1];\n if (this.active.matrix.matrix[lastHeaderCellIndex[0]][lastHeaderCellIndex[1]] === 0) {\n lastHeaderCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, lastHeaderCellIndex, false);\n }\n this.active.matrix.current = this.parent.editSettings.mode === 'Batch' ?\n this.isValidBatchEditCell(lastHeaderCellIndex) ? lastHeaderCellIndex :\n this.findBatchEditCell(lastHeaderCellIndex, false) : lastHeaderCellIndex;\n e.preventDefault();\n this.focus(e);\n return;\n }\n if (!(e.action === 'tab' && this.parent.element.classList.contains('e-childgrid')\n && ((!this.parent.pageSettings.pageSizes && focusablePagerElements.length\n && focusablePagerElements[focusablePagerElements.length - 1] === e.target)\n || (this.parent.pagerModule.pagerObj.getDropDownPage() === e.target)))) {\n this.parent.pagerModule.pagerObj.changePagerFocus(e);\n return;\n }\n else {\n var parentCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.parent.element, 'e-detailcell');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.parent.element], ['e-focus']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([parentCell], ['e-focused']);\n parentCell.tabIndex = -1;\n }\n }\n if (this.parent.pagerModule.pagerObj.element.tabIndex === 0 && (e.keyCode === 38 || (e.shiftKey && e.keyCode === 9))) {\n e.preventDefault();\n this.focus(e);\n return;\n }\n else if (this.parent.pagerModule.pagerObj.element.tabIndex === 0 && e.keyCode === 9) {\n e.preventDefault();\n this.parent.pagerModule.pagerObj.setPagerFocus();\n return;\n }\n if (this.parent.pagerModule.pagerObj.checkFirstPagerFocus()) {\n var lastRow = this.getContent().matrix.rows;\n var lastColumn = this.getContent().matrix.columns;\n this.getContent().matrix.current = [lastRow, lastColumn];\n }\n }\n if (this.parent.filterSettings.type === 'Excel') {\n this.handleFilterNavigation(e, '.e-excelfilter .e-menu-item:not(.e-disabled)', '.e-excelfilter .e-footer-content button:nth-child(2)');\n }\n if (this.parent.filterSettings.type === 'CheckBox') {\n var focusedColumn = this.parent.getColumnByUid(this.focusedColumnUid);\n var focusTarget = focusedColumn && focusedColumn.filter && focusedColumn.filter.hideSearchbox ? '.e-chk-hidden' : '.e-searchinput.e-input';\n this.handleFilterNavigation(e, focusTarget, '.e-checkboxfilter .e-footer-content button:nth-child(2)');\n }\n if (this.parent.filterSettings.type === 'Menu') {\n this.handleFilterNavigation(e, '.e-flmenu .e-input-group.e-popup-flmenu', '.e-flmenu .e-footer-content button:nth-child(2)');\n }\n if (this.parent.showColumnChooser) {\n this.handleFilterNavigation(e, '.e-ccdlg .e-ccsearch.e-cc.e-input', '.e-ccdlg .e-footer-content button:nth-child(2)');\n }\n if (this.skipOn(e)) {\n return;\n }\n if (e.target && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-gridcontent')) {\n var rows = [].slice.call(this.parent.getContentTable().rows);\n var lastCell = rows[rows.length - 1].lastElementChild;\n if (e.target === lastCell) {\n this.setActive(true);\n this.setLastContentCellActive();\n }\n }\n if (e.action === 'shiftTab' && e.target && (e.target === this.parent.element || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar')\n || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupdroparea'))) {\n if (e.target === this.parent.element) {\n if (this.parent.element.classList.contains('e-childgrid')) {\n this.focusOutFromChildGrid(e);\n }\n return;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupdroparea')) {\n if (this.parent.element.classList.contains('e-childgrid')) {\n e.preventDefault();\n this.parent.element.focus();\n }\n return;\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar')) {\n if (this.parent.allowGrouping && this.parent.groupSettings.showDropArea) {\n var groupModule = this.parent.groupModule;\n var focusableGroupedItems = groupModule.getFocusableGroupedItems();\n e.preventDefault();\n if (focusableGroupedItems.length > 0) {\n focusableGroupedItems[focusableGroupedItems.length - 1].focus();\n }\n else {\n groupModule.element.focus();\n }\n }\n else if (this.parent.element.classList.contains('e-childgrid')) {\n e.preventDefault();\n this.parent.element.focus();\n }\n return;\n }\n }\n var focusFirstHeaderCell = false;\n if (e.action === 'tab' && e.target && (e.target === this.parent.element || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar')\n || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupdroparea'))) {\n if (this.parent.allowGrouping && this.parent.groupSettings.showDropArea\n && (e.target === this.parent.element || e.target.classList.contains('e-groupdroparea'))) {\n var groupModule = this.parent.groupModule;\n var focusableGroupedItems = groupModule.getFocusableGroupedItems();\n if (focusableGroupedItems.length > 0) {\n e.preventDefault();\n focusableGroupedItems[0].focus();\n return;\n }\n if (!e.target.classList.contains('e-groupdroparea')) {\n e.preventDefault();\n groupModule.element.focus();\n return;\n }\n }\n if ((this.parent.toolbar || this.parent.toolbarTemplate) && (e.target === this.parent.element\n || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupdroparea')\n || e.target.classList.contains('e-toolbar'))) {\n var toolbarElement = this.parent.toolbarModule.element;\n var focusableToolbarItems = this.parent.toolbarModule.getFocusableToolbarItems();\n if (focusableToolbarItems.length > 0) {\n e.preventDefault();\n focusableToolbarItems[0].querySelector('.e-toolbar-item-focus,.e-btn,.e-input').focus();\n return;\n }\n if (!e.target.classList.contains('e-toolbar')) {\n e.preventDefault();\n toolbarElement.focus();\n return;\n }\n }\n if (e.target === this.parent.element || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar')\n || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupdroparea')) {\n focusFirstHeaderCell = true;\n }\n }\n if (focusFirstHeaderCell) {\n if (this.parent.allowGrouping && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.groupSettings.columns)\n && this.parent.groupSettings.columns.length === this.parent.columns.length) {\n this.setActive(true);\n }\n else {\n this.setActive(false);\n }\n this.active.matrix.current = [0, -1];\n }\n this.activeKey = e.action;\n var beforeArgs = { cancel: false, byKey: true, byClick: false, keyArgs: e };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.beforeCellFocused, beforeArgs);\n if (beforeArgs.cancel) {\n return;\n }\n var bValue = this.getContent().matrix.current;\n var prevBatchValue = this.active && this.active.matrix.current ?\n [this.active.matrix.current[0], this.active.matrix.current[1]] : undefined;\n this.currentInfo.outline = true;\n var swapInfo = this.getContent().jump(e.action, bValue);\n this.swap = swapInfo;\n if (swapInfo.swap && !(this.parent.editSettings.mode === 'Batch'\n && (e.action === 'tab' || e.action === 'shiftTab'))) {\n this.setActive(!swapInfo.toHeader);\n this.getContent().matrix.current = this.getContent().getNextCurrent(bValue, swapInfo, this.active, e.action);\n this.prevIndexes = {};\n }\n this.setActiveByKey(e.action, this.getContent());\n var returnVal = this.content.lastIdxCell ? false : this.getContent().onKeyPress(e);\n if (e.target && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-gridheader')) {\n if (e.action === 'tab' && bValue.toString() === this.active.matrix.current.toString()) {\n var nextHeaderCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, this.active.matrix.current, true);\n var lastHeaderCellIndex = [this.active.matrix.matrix.length - 1,\n this.active.matrix.matrix[this.active.matrix.matrix.length - 1].length - 1];\n if (this.active.matrix.matrix[lastHeaderCellIndex[0]][lastHeaderCellIndex[1]] === 0) {\n lastHeaderCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, lastHeaderCellIndex, false);\n }\n var nextCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(nextHeaderCellIndex[0] + \".cells.\" + nextHeaderCellIndex[1], this.active.matrix.getRowsFromIndex(nextHeaderCellIndex[0], this.active));\n if (nextCell && nextCell.getBoundingClientRect().width === 0\n && this.active.matrix.matrix.length - 1 === nextHeaderCellIndex[0]) {\n lastHeaderCellIndex = this.active.matrix.nextVisibleCellFocus(nextHeaderCellIndex[0], nextHeaderCellIndex[1], e.action, this.active.keyActions[e.action], this.active, this.active.matrix.current[1]);\n }\n if (this.active.matrix.current.toString() === lastHeaderCellIndex.toString() && this.content.matrix.matrix.length) {\n returnVal = true;\n this.setActive(true);\n var firstContentCellIndex = [0, 0];\n if (this.parent.allowPaging && this.parent.pagerModule.pagerObj.element.querySelector('.e-pagercontainer')) {\n this.parent.pagerModule.pagerObj.element.querySelector('.e-pagercontainer').setAttribute('aria-hidden', 'true');\n }\n if (this.active.matrix.matrix[firstContentCellIndex[0]][firstContentCellIndex[1]] === 0) {\n firstContentCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, [0, 0], true);\n }\n var firstCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(firstContentCellIndex[0] + \".cells.\" + firstContentCellIndex[1], this.active.matrix.getRowsFromIndex(firstContentCellIndex[0], this.active));\n if (firstCell && firstCell.getBoundingClientRect().width === 0) {\n firstContentCellIndex = this.active.matrix.nextVisibleCellFocus(firstContentCellIndex[0], firstContentCellIndex[1], e.action, this.active.keyActions[e.action], this.active, this.active.matrix.current[1]);\n }\n this.active.matrix.current = this.parent.editSettings.mode === 'Batch' ?\n this.isValidBatchEditCell(firstContentCellIndex) ? firstContentCellIndex :\n this.findBatchEditCell(firstContentCellIndex, true) : firstContentCellIndex;\n if (this.parent.enableVirtualization && !this.parent.enableColumnVirtualization\n && this.parent.contentModule.prevInfo.blockIndexes[0] !== 1) {\n e.preventDefault();\n this.removeFocus();\n var virtual = this.parent.contentModule;\n virtual.firstCellFocus = true;\n virtual.content.scrollTop = 0;\n return;\n }\n }\n else if (this.active.matrix.current.toString() !== nextHeaderCellIndex.toString()) {\n this.active.matrix.current = nextHeaderCellIndex;\n }\n }\n if (e.action === 'shiftTab' && bValue.toString() === this.active.matrix.current.toString()) {\n var previousCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, this.active.matrix.current, false);\n var prevCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(previousCellIndex[0] + \".cells.\" + previousCellIndex[1], this.active.matrix.getRowsFromIndex(previousCellIndex[0], this.active));\n if (prevCell && prevCell.getBoundingClientRect().width === 0 && previousCellIndex[0] === 0) {\n previousCellIndex = this.active.matrix.nextVisibleCellFocus(previousCellIndex[0], previousCellIndex[1], e.action, this.active.keyActions[e.action], this.active, this.active.matrix.current[1]);\n }\n if (previousCellIndex.toString() === this.active.matrix.current.toString()) {\n this.focusOutFromHeader(e);\n return;\n }\n if (this.active.matrix.current.toString() !== previousCellIndex.toString() && !returnVal) {\n returnVal = true;\n var prevCell_1 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(previousCellIndex[0] + \".cells.\" + previousCellIndex[1], this.active.matrix.getRowsFromIndex(previousCellIndex[0], this.active));\n if (prevCell_1 && prevCell_1.getBoundingClientRect().width === 0 && previousCellIndex[0] === 0) {\n previousCellIndex = this.active.matrix.nextVisibleCellFocus(previousCellIndex[0], previousCellIndex[1], e.action, this.active.keyActions[e.action], this.active, this.active.matrix.current[1]);\n }\n this.active.matrix.current = previousCellIndex;\n }\n }\n }\n if (e.target && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-gridcontent')) {\n if (this.parent.allowPaging && this.parent.pagerModule.pagerObj.element.querySelector('.e-pagercontainer')) {\n this.parent.pagerModule.pagerObj.element.querySelector('.e-pagercontainer').removeAttribute('aria-hidden');\n }\n if (this.parent.editSettings.mode === 'Batch' && (e.action === 'tab' || e.action === 'shiftTab')) {\n this.active.matrix.current = this.findBatchEditCell(prevBatchValue, e.action === 'tab' ? true : false);\n if (e.action === 'tab' && prevBatchValue.toString() === this.active.matrix.current.toString()) {\n this.parent.editModule.editModule.addBatchRow = true;\n }\n }\n if (e.action === 'shiftTab' && bValue.toString() === this.active.matrix.current.toString()) {\n if (this.parent.allowGrouping && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.groupSettings.columns)\n && this.parent.groupSettings.columns.length === this.parent.columns.length) {\n this.focusOutFromHeader(e);\n return;\n }\n var firstContentCellIndex = [0, 0];\n if (this.active.matrix.matrix[firstContentCellIndex[0]][firstContentCellIndex[1]] === 0) {\n firstContentCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, [0, 0], true);\n }\n var firstCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(firstContentCellIndex[0] + \".cells.\" + firstContentCellIndex[1], this.active.matrix.getRowsFromIndex(firstContentCellIndex[0], this.active));\n if (firstCell && firstCell.getBoundingClientRect().width === 0) {\n firstContentCellIndex = this.active.matrix.nextVisibleCellFocus(firstContentCellIndex[0], firstContentCellIndex[1], e.action, this.active.keyActions[e.action], this.active, this.active.matrix.current[1]);\n }\n if (!returnVal && (firstContentCellIndex.toString() === this.active.matrix.current.toString()\n || (this.parent.editSettings.mode === 'Batch'\n && prevBatchValue.toString() === this.active.matrix.current.toString()))) {\n returnVal = true;\n this.setActive(false);\n this.setLastContentCellActive();\n }\n }\n }\n if (returnVal === false) {\n this.clearIndicator();\n if (e.action === 'shiftTab' && bValue.toString() === [0, 0].toString()) {\n this.parent.element.tabIndex = -1;\n }\n if (this.parent.allowPaging && !this.parent.pagerModule.pagerObj.checkPagerHasFocus() && this.allowToPaging(e)\n && bValue.toString() !== [0, 0].toString()) {\n e.preventDefault();\n if (e.keyCode === 40) {\n this.parent.pagerModule.pagerObj.setPagerContainerFocus();\n return;\n }\n else if (e.keyCode === 9) {\n this.parent.pagerModule.pagerObj.setPagerFocus();\n return;\n }\n }\n if (this.parent.element.classList.contains('e-childgrid')) {\n this.focusOutFromChildGrid(e);\n }\n return;\n }\n this.header.action = e.action;\n this.header.currentTarget = null;\n this.header.focusType = 'key';\n if (e.target && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-fltrtemp') && (e.action === 'tab' || e.action === 'shiftTab')) {\n var target = e.target;\n var focusElement = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'th').querySelectorAll('.e-fltrtemp-focus'));\n if (focusElement.length) {\n var elementIndex = focusElement.indexOf(target);\n var resetActive = ((e.action === 'tab' && elementIndex < focusElement.length - 1)\n || (e.action === 'shiftTab' && elementIndex > 0)) ? true : false;\n if (resetActive) {\n this.setActive(false);\n this.active.matrix.current = bValue;\n this.active.currentTarget = target;\n }\n }\n }\n if (focusFirstHeaderCell && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.active.getTable(), 'e-gridheader')\n && e.target && e.target.id === this.parent.element.id + '_searchbar') {\n this.parent.searchModule.headerFocus = true;\n }\n e.preventDefault();\n this.focus(e);\n };\n FocusStrategy.prototype.isValidBatchEditCell = function (cellIndex) {\n var cell = this.active.getTable().rows[cellIndex[0]].cells[cellIndex[1]];\n var tr = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cell, 'tr');\n var cellColIndex = parseInt(cell.getAttribute('aria-colindex'), 10) - 1;\n var cellCol = this.parent.getColumns()[parseInt(cellColIndex.toString(), 10)];\n if (this.active.matrix.matrix[cellIndex[0]][cellIndex[1]] === 1\n && (!tr.classList.contains('e-row') || (tr.classList.contains('e-insertedrow') || !cellCol.isPrimaryKey) && cellCol.allowEditing)) {\n return true;\n }\n return false;\n };\n FocusStrategy.prototype.findBatchEditCell = function (currentCellIndex, next, limitRow) {\n var cellIndex = currentCellIndex;\n var tempCellIndex = currentCellIndex;\n var cellIndexObtain = false;\n while (!cellIndexObtain) {\n var prevTempCellIndex = tempCellIndex;\n tempCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, tempCellIndex, next);\n var tempCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(tempCellIndex[0] + \".cells.\" + tempCellIndex[1], this.active.getTable().rows);\n if (tempCell && tempCell.getBoundingClientRect().width === 0) {\n tempCellIndex = this.active.matrix.nextVisibleCellFocus(tempCellIndex[0], tempCellIndex[1], this.activeKey, this.active.keyActions[this.activeKey], this.active, this.active.matrix.current[1]);\n }\n if ((prevTempCellIndex.toString() === tempCellIndex.toString())\n || (limitRow && prevTempCellIndex[0] !== tempCellIndex[0])) {\n cellIndexObtain = true;\n continue;\n }\n if (this.isValidBatchEditCell(tempCellIndex)) {\n cellIndex = tempCellIndex;\n cellIndexObtain = true;\n }\n }\n return cellIndex;\n };\n FocusStrategy.prototype.setLastContentCellActive = function () {\n var lastContentCellIndex = [this.active.matrix.matrix.length - 1,\n this.active.matrix.matrix[this.active.matrix.matrix.length - 1].length - 1];\n if (this.active.matrix.matrix[lastContentCellIndex[0]][lastContentCellIndex[1]] === 0) {\n lastContentCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.active.matrix.matrix, lastContentCellIndex, false);\n }\n var lastCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(lastContentCellIndex[0] + \".cells.\" + lastContentCellIndex[1], this.active.matrix.getRowsFromIndex(lastContentCellIndex[0], this.active));\n if (lastCell && lastCell.getBoundingClientRect().width === 0) {\n lastContentCellIndex = this.active.matrix.nextVisibleCellFocus(lastContentCellIndex[0], lastContentCellIndex[1], this.activeKey, this.active.keyActions[this.activeKey], this.active, this.active.matrix.current[1]);\n }\n this.active.matrix.current = lastContentCellIndex;\n };\n FocusStrategy.prototype.focusOutFromChildGrid = function (e) {\n var parentTable = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.parent.element, 'e-table');\n var parentGrid = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(parentTable, 'e-grid').ej2_instances[0];\n var parentCell = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.parent.element, 'e-detailcell');\n var uid = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.parent.element, 'e-detailrow').getAttribute('data-uid');\n var parentRows = [].slice.call(parentGrid.getContentTable().rows);\n var parentRowIndex = parentRows.map(function (m) { return m.getAttribute('data-uid'); }).indexOf(uid);\n if (e.action === 'tab' && parentRowIndex >= parentRows.length - 1) {\n return;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.parent.element], ['e-focus']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([parentCell], ['e-focused']);\n parentCell.tabIndex = -1;\n e.preventDefault();\n var nextFocusCell;\n parentGrid.focusModule.removeFocus();\n if (e.action === 'shiftTab') {\n var previousRow = parentRows[parentRowIndex - 1];\n var rowCells = previousRow.cells;\n for (var i = rowCells.length - 1; i >= 0; i--) {\n nextFocusCell = rowCells[parseInt(i.toString(), 10)];\n if (!nextFocusCell.classList.contains('e-hide')) {\n parentGrid.focusModule.active.matrix.current = [parentRowIndex - 1, i];\n break;\n }\n }\n }\n else {\n nextFocusCell = parentRows[parentRowIndex + 1].cells[0];\n parentGrid.focusModule.active.matrix.current = [parentRowIndex + 1, 0];\n }\n parentGrid.focusModule.currentInfo.element = nextFocusCell;\n parentGrid.focusModule.currentInfo.elementToFocus = nextFocusCell;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([nextFocusCell], ['e-focused', 'e-focus']);\n nextFocusCell.tabIndex = 0;\n nextFocusCell.focus();\n };\n FocusStrategy.prototype.focusOutFromHeader = function (e) {\n this.removeFocus();\n if (this.parent.toolbar || this.parent.toolbarTemplate) {\n var toolbarElement = this.parent.toolbarModule.element;\n var focusableToolbarItems = this.parent.toolbarModule.getFocusableToolbarItems();\n e.preventDefault();\n if (focusableToolbarItems.length > 0) {\n focusableToolbarItems[focusableToolbarItems.length - 1].querySelector('.e-toolbar-item-focus,.e-btn,.e-input').focus();\n }\n else {\n toolbarElement.focus();\n }\n return;\n }\n if (this.parent.allowGrouping && this.parent.groupSettings.showDropArea) {\n var groupModule = this.parent.groupModule;\n var focusableGroupedItems = groupModule.getFocusableGroupedItems();\n e.preventDefault();\n if (focusableGroupedItems.length > 0) {\n focusableGroupedItems[focusableGroupedItems.length - 1].focus();\n }\n else {\n groupModule.element.focus();\n }\n return;\n }\n if (this.parent.element.classList.contains('e-childgrid')) {\n e.preventDefault();\n this.parent.element.focus();\n }\n };\n FocusStrategy.prototype.allowToPaging = function (e) {\n if (this.parent.editSettings.mode === 'Batch' && this.parent.editSettings.allowAdding && e.keyCode !== 40) {\n return false;\n }\n return true;\n };\n FocusStrategy.prototype.skipOn = function (e) {\n var target = e.target;\n if (!target) {\n return false;\n }\n if (!this.parent.isEdit && target && target.closest('.e-unboundcell') && this.currentInfo.skipAction && ((e.action === 'shiftTab' &&\n this.commandColumnFocusElement(target.closest('.e-unboundcell'), false) === target) ||\n (e.action === 'tab' &&\n this.commandColumnFocusElement(target.closest('.e-unboundcell'), true) === target))) {\n return this.currentInfo.skipAction = false;\n }\n if (this.currentInfo.skipAction) {\n this.clearIndicator();\n return true;\n }\n if (['pageUp', 'pageDown', 'altDownArrow'].indexOf(e.action) > -1) {\n this.clearIndicator();\n return true;\n }\n if (this.parent.allowGrouping) {\n var focusableGroupedItems = this.parent.groupModule.getFocusableGroupedItems();\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupheadercell')\n && !((e.target === focusableGroupedItems[0] && e.action === 'shiftTab')\n || (e.target === focusableGroupedItems[focusableGroupedItems.length - 1] && e.action === 'tab'))) {\n return true;\n }\n }\n if (this.parent.toolbar || this.parent.toolbarTemplate) {\n var toolbarElement = this.parent.toolbarModule.element;\n var focusableToolbarItems = toolbarElement\n .querySelectorAll('.e-toolbar-item:not(.e-overlay):not(.e-hidden)');\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar-item')\n && !(focusableToolbarItems.length > 0 && (((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar-item') === focusableToolbarItems[0] && e.action === 'shiftTab')\n || ((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar-item') === focusableToolbarItems[focusableToolbarItems.length - 1] && e.action === 'tab')))) {\n return true;\n }\n }\n var th = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'th') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'th').tabIndex;\n if (e.target.classList.contains('e-filterbaroperator') && (e.keyCode === 13 || e.keyCode === 27)) {\n var inputTarget = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-filterbarcell');\n inputTarget.querySelector('input').focus();\n }\n var addNewRow = this.parent.editSettings.showAddNewRow && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '.e-addedrow') !== null;\n if ((th && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '.e-filterbarcell') !== null) || addNewRow) {\n this.removeFocus();\n }\n var filterCell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '.e-filterbarcell') !== null;\n if (this.parent.enableHeaderFocus && filterCell) {\n var matrix = this.active.matrix;\n var current = matrix.current;\n filterCell = matrix.matrix[current[0]].lastIndexOf(1) !== current[1];\n }\n if (this.parent.isEdit && (e.action === 'tab' || e.action === 'shiftTab') && this.parent.editSettings.mode === 'Normal'\n && !this.parent.editSettings.showAddNewRow && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow'))) {\n var inputElements = this.parent.editModule.formObj.element.querySelectorAll('input:not([type=\"hidden\"],.e-numeric-hidden,.e-disabled), select:not([aria-hidden=\"true\"]), button:not(.e-hide), textarea:not(.e-hide,.e-disabled,[disabled])');\n var inputTarget = target.classList.contains('e-ddl') ? target.querySelector('input') : target;\n var firstEditCell = e.action === 'tab' && inputTarget === inputElements[inputElements.length - 1];\n var lastEditCell = e.action === 'shiftTab' && inputTarget === inputElements[0];\n if (firstEditCell || lastEditCell) {\n e.preventDefault();\n var focusElement = inputElements[firstEditCell ? 0 : inputElements.length - 1];\n focusElement = focusElement.parentElement.classList.contains('e-ddl') ? focusElement.parentElement : focusElement;\n focusElement.focus();\n }\n }\n return (e.action === 'delete'\n || (this.parent.editSettings.mode !== 'Batch' && ((this.parent.isEdit && (!this.parent.editSettings.showAddNewRow ||\n (this.parent.editSettings.showAddNewRow && ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.element.querySelector('.e-editedrow')) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow')) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'input')) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.querySelector('.e-popup-open'))) ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow')) && (target && !target.querySelector('.e-cancel-icon')) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-unboundcell')))))))) || ['insert', 'f2'].indexOf(e.action) > -1))\n || ((filterCell && this.parent.enableHeaderFocus) || ((filterCell || addNewRow) && e.action !== 'tab' && e.action !== 'shiftTab') ||\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(document.activeElement, '#' + this.parent.element.id + '_searchbar') !== null\n && ['enter', 'leftArrow', 'rightArrow',\n 'shiftLeft', 'shiftRight', 'ctrlPlusA'].indexOf(e.action) > -1)\n || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridContent) === null && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridHeader) === null\n && !(e.target === this.parent.element || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-toolbar')\n || (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupdroparea')))\n || (e.action === 'space' && (!target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridChkBox) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.gridChkBox) === null\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-headerchkcelldiv') === null))) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-filter-popup') !== null;\n };\n FocusStrategy.prototype.focusVirtualElement = function (e) {\n var _this = this;\n if (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) {\n var data = { virtualData: {}, isAdd: false, isCancel: false };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.getVirtualData, data);\n var isKeyFocus = this.actions.some(function (value) { return value === _this.activeKey; });\n var isSelected = this.parent.contentModule ?\n this.parent.contentModule.selectedRowIndex > -1 : false;\n if (data.isAdd || Object.keys(data.virtualData).length || isKeyFocus || data.isCancel || isSelected) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.resetVirtualFocus, { isCancel: false });\n data.isCancel = false;\n if (((this.parent.enableVirtualization && !this.parent.selectVirtualRowOnAdd) && (!e || (e && e.action !== 'ctrlHome' && e.action !== 'ctrlEnd'))) ||\n !this.parent.enableVirtualization) {\n this.parent.contentModule.selectedRowIndex = -1;\n }\n this.parent.selectVirtualRowOnAdd = false;\n if (isKeyFocus) {\n this.activeKey = this.empty;\n this.parent.notify('virtaul-key-handler', e);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.currentInfo.elementToFocus.focus({ preventScroll: true });\n }\n else {\n if (this.isVirtualScroll || this.isInfiniteScroll) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.currentInfo.elementToFocus.focus({ preventScroll: true });\n }\n else {\n this.currentInfo.elementToFocus.focus();\n }\n }\n }\n this.isVirtualScroll = this.isInfiniteScroll = false;\n };\n FocusStrategy.prototype.getFocusedElement = function () {\n return this.currentInfo.elementToFocus;\n };\n FocusStrategy.prototype.getContent = function () {\n return this.active || this.content;\n };\n FocusStrategy.prototype.setActive = function (content) {\n this.active = content ? this.content : this.header;\n };\n FocusStrategy.prototype.setFocusedElement = function (element, e) {\n var _this = this;\n this.currentInfo.elementToFocus = element;\n setTimeout(function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.currentInfo.elementToFocus)) {\n var filterMenuElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.element.querySelector('.e-flmenu')) ?\n document.querySelector('.e-grid-popup .e-flmenu') : _this.parent.element.querySelector('.e-flmenu');\n if ((_this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterMenuElement)) {\n _this.focusVirtualElement(e);\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(filterMenuElement) ||\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(document.activeElement, 'e-flmenu-valuediv') !== filterMenuElement.querySelector('.e-flmenu-valuediv')) {\n _this.currentInfo.elementToFocus.focus();\n }\n }\n }, 0);\n };\n FocusStrategy.prototype.focus = function (e) {\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.virtaulCellFocus, e);\n this.removeFocus();\n this.addFocus(this.getContent().getFocusInfo(), e);\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n FocusStrategy.prototype.removeFocus = function (e) {\n if (!this.currentInfo.element) {\n return;\n }\n if (this.parent.isReact && !this.parent.isEdit && this.currentInfo.element.classList.contains('e-rowcell')\n && !this.currentInfo.element.parentElement && !(this.parent.allowGrouping\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.groupSettings.columns) && this.parent.groupSettings.columns.length) &&\n this.parent.getRowByIndex(this.prevIndexes.rowIndex)) {\n var cellElem = this.parent.getCellFromIndex(this.prevIndexes.rowIndex, this.prevIndexes\n .cellIndex);\n this.currentInfo.element = cellElem ? cellElem : this.currentInfo.element;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.currentInfo.element, this.currentInfo.elementToFocus], ['e-focused', 'e-focus']);\n this.currentInfo.element.tabIndex = -1;\n };\n /**\n * @returns {void}\n * @hidden */\n FocusStrategy.prototype.addOutline = function () {\n var info = this.getContent().getFocusInfo();\n if (info.element) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([info.element], ['e-focused']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([info.elementToFocus], ['e-focus']);\n }\n };\n /**\n * @returns {void}\n * @hidden */\n FocusStrategy.prototype.focusHeader = function () {\n this.setActive(false);\n this.resetFocus();\n };\n /**\n * @returns {void}\n * @hidden */\n FocusStrategy.prototype.focusContent = function () {\n this.setActive(true);\n this.resetFocus();\n };\n FocusStrategy.prototype.resetFocus = function () {\n var current = this.getContent().matrix.get(0, -1, [0, 1], null, this.getContent().validator());\n this.getContent().matrix.select(current[0], current[1]);\n this.focus();\n };\n FocusStrategy.prototype.addFocus = function (info, e) {\n this.currentInfo = info;\n this.currentInfo.outline = info.outline && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) || this.isVirtualScroll);\n if (this.isInfiniteScroll) {\n this.currentInfo.outline = true;\n }\n if (!info.element) {\n return;\n }\n var isFocused = info.elementToFocus.classList.contains('e-focus');\n if (isFocused) {\n return;\n }\n if (this.currentInfo.outline) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([info.element], ['e-focused']);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([info.elementToFocus], ['e-focus']);\n info.element.tabIndex = 0;\n if (!isFocused) {\n this.setFocusedElement(info.elementToFocus, e);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_5__.cellFocused, {\n element: info.elementToFocus,\n parent: info.element,\n indexes: this.getContent().matrix.current,\n byKey: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e),\n byClick: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e),\n keyArgs: e,\n isJump: this.swap.swap,\n container: this.getContent().getInfo(e),\n outline: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e),\n swapInfo: this.swap\n });\n var _a = this.getContent().matrix.current, rowIndex = _a[0], cellIndex = _a[1];\n this.prevIndexes = { rowIndex: rowIndex, cellIndex: cellIndex };\n this.focusedColumnUid = this.parent.getColumnByIndex(cellIndex).uid;\n this.focusByClick = false;\n };\n FocusStrategy.prototype.refreshMatrix = function (content) {\n var _this = this;\n return function (e) {\n if (content && !_this.content) {\n _this.content = new ContentFocus(_this.parent);\n }\n if (!content && !_this.header) {\n _this.header = new HeaderFocus(_this.parent);\n }\n var cFocus = content ? _this.content : _this.header;\n var frozenRow = _this.parent.frozenRows;\n var batchLen = 0;\n if (frozenRow && _this.parent.editSettings.mode === 'Batch') {\n batchLen = _this.parent.getHeaderContent().querySelectorAll('.e-insertedrow').length +\n _this.parent.getHeaderContent().querySelectorAll('.e-hiddenrow').length;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.groupSettings.columns) && _this.parent.groupSettings.columns.length && frozenRow && content) {\n frozenRow = 0;\n for (var i = 0; i < e.rows.length; i++) {\n frozenRow++;\n if (e.rows[parseInt(i.toString(), 10)].index + 1 === _this.parent.frozenRows) {\n break;\n }\n }\n _this.groupedFrozenRow = frozenRow;\n }\n var rows = content ? e.rows.slice(frozenRow + batchLen) : e.rows;\n var updateRow = content ? e.rows.slice(0, frozenRow + batchLen) : e.rows;\n if (_this.parent.isCollapseStateEnabled() && content) {\n rows = rows.filter(function (x) { return x.visible !== false; });\n }\n var isRowTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.parent.rowTemplate);\n if (frozenRow && ((_this.parent.editSettings.mode === 'Batch' && content && (e.name === 'batchDelete' || e.name === 'batchAdd' ||\n e.name === 'batchCancel' || (e.args && (e.args.requestType === 'batchsave')))) ||\n (e.args && (e.args.requestType === 'delete' || e.args.requestType === 'save')))) {\n var matrixcs = _this.header.matrix.matrix;\n var hdrLen = _this.parent.headerModule.rows.length;\n matrixcs.splice(hdrLen, matrixcs.length - hdrLen);\n }\n var matrix = cFocus.matrix.generate(updateRow, cFocus.selector, isRowTemplate);\n cFocus.matrix.generate(rows, cFocus.selector, isRowTemplate);\n var isScroll = _this.parent.enableVirtualization || _this.parent.enableInfiniteScrolling;\n if ((_this.parent.editSettings.showAddNewRow && content && _this.header && _this.header.matrix) &&\n (!isScroll || (isScroll && _this.parent.isAddNewRow))) {\n var tempMatrix = _this.header.matrix.matrix;\n var lastRowHeaderIdx = _this.parent.allowFiltering && _this.parent.filterSettings.type === 'FilterBar' ? 2 : 1;\n cFocus.matrix.rows = _this.parent.frozenRows && _this.parent.editSettings.newRowPosition === 'Top' ?\n cFocus.matrix.rows : ++cFocus.matrix.rows;\n if (_this.parent.editSettings.newRowPosition === 'Top') {\n (_this.parent.frozenRows || isScroll ?\n matrix : cFocus.matrix.matrix).unshift(_this.refreshAddNewRowMatrix(tempMatrix[tempMatrix.length -\n lastRowHeaderIdx]));\n }\n else {\n cFocus.matrix.matrix.push(_this.refreshAddNewRowMatrix(tempMatrix[tempMatrix.length - lastRowHeaderIdx]));\n }\n _this.parent.isAddNewRow = false;\n }\n if (!(_this.parent.isFrozenGrid() && (e.args && (e.args.requestType === 'sorting'\n || e.args.requestType === 'batchsave' || e.args.requestType === 'paging'))) ||\n (frozenRow && _this.parent.editSettings.mode === 'Batch' && content && (e.name === 'batchDelete' || e.name === 'batchAdd' ||\n e.name === 'batchCancel' || e.args.requestType === 'batchsave'))) {\n cFocus.generateRows(updateRow, {\n matrix: matrix, handlerInstance: _this.header\n });\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && e && e.args) {\n if (!_this.focusByClick && e.args.requestType === 'paging' && !_this.parent.pagerModule.pagerObj.checkPagerHasFocus()) {\n _this.skipFocus = false;\n _this.parent.element.focus();\n }\n if (e.args.requestType === 'grouping') {\n _this.skipFocus = true;\n }\n }\n if (e && e.args && e.args.requestType === 'virtualscroll') {\n if (_this.currentInfo.uid) {\n var index_1;\n var bool = e.rows.some(function (row, i) {\n index_1 = i;\n return row.uid === _this.currentInfo.uid;\n });\n if (bool) {\n _this.content.matrix.current[0] = index_1;\n _this.content.matrix.current[1] = _this.parent.getColumnIndexByUid(_this.focusedColumnUid) || 0;\n var frzLeftCount = _this.parent.getVisibleFrozenLeftCount();\n var frzRightCount = _this.parent.getVisibleFrozenRightCount();\n if (_this.parent.enableColumnVirtualization && !(frzLeftCount && frzRightCount) && _this.parent.isFrozenGrid() &&\n e.args.virtualInfo.direction === 'right') {\n _this.content.matrix.current[1] = _this.content.matrix.current[1] - (frzLeftCount + (frzRightCount ? frzRightCount + 1 : 0));\n }\n var isGroup = _this.parent.allowGrouping && _this.parent.groupSettings.columns.length ? true : false;\n if (isGroup) {\n _this.content.matrix.current[1] = _this.prevIndexes.cellIndex;\n if (_this.virtualSelectionInfo.isPending) {\n _this.content.matrix.current[0] = _this.virtualSelectionInfo.direction === 'downArrow' ? _this.content.matrix.current[0] + 1\n : _this.content.matrix.current[0] - 1;\n }\n }\n var focusElement = _this.getContent().getFocusInfo().elementToFocus;\n if (focusElement) {\n var cellPosition = focusElement.getBoundingClientRect();\n var gridPosition = _this.parent.element.getBoundingClientRect();\n var freezeLeftColWidth = 0;\n var freezeRightColWidth = 0;\n if (_this.parent.enableColumnVirtualization && !(frzLeftCount && frzRightCount) && _this.parent.isFrozenGrid() &&\n e.args.virtualInfo.direction === 'right') {\n if (frzLeftCount) {\n freezeLeftColWidth = _this.parent.leftrightColumnWidth('left');\n }\n else {\n freezeRightColWidth = _this.parent.leftrightColumnWidth('right');\n }\n }\n if ((cellPosition.top >= 0 && cellPosition.left >= 0 &&\n (cellPosition.right - freezeLeftColWidth - freezeRightColWidth) <= (Math.min(gridPosition.right, window.innerWidth || document.documentElement.clientWidth) + freezeRightColWidth)\n && cellPosition.bottom <= Math.min(gridPosition.bottom, window.innerHeight ||\n document.documentElement.clientHeight)) || isGroup) {\n _this.isVirtualScroll = true;\n _this.focus(isGroup && _this.virtualSelectionInfo.isPending ?\n _this.virtualSelectionInfo.event : undefined);\n }\n }\n }\n }\n else if (e.args.focusElement && e.args.focusElement.classList.contains('e-filtertext')) {\n var focusElement = _this.parent.element.querySelector('#' + e.args.focusElement.id);\n if (focusElement) {\n focusElement.focus();\n }\n }\n _this.virtualSelectionInfo = {};\n }\n if (e && e.args && e.args.requestType === 'infiniteScroll') {\n _this.isInfiniteScroll = true;\n }\n };\n };\n FocusStrategy.prototype.refreshAddNewRowMatrix = function (matrix) {\n var cols = this.parent.getColumns();\n var indent = this.parent.getIndentCount();\n for (var i = indent; i < matrix.length - 1; i++) {\n if (cols[i - indent] && cols[i - indent].visible && cols[i - indent].allowEditing) {\n matrix[parseInt(i.toString(), 10)] = 1;\n }\n else {\n matrix[parseInt(i.toString(), 10)] = 0;\n }\n }\n return matrix;\n };\n FocusStrategy.prototype.addEventListener = function () {\n var _this = this;\n if (this.parent.isDestroyed) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'mousedown', this.focusCheck, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'touchstart', this.focusCheck, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'focus', this.onFocus, this);\n this.parent.element.addEventListener('focus', this.passiveHandler = function (e) { return _this.passiveFocus(e); }, true);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.parent.element, 'focusout', this.onBlur, this);\n this.evtHandlers = [{ event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.keyPressed, handler: this.onKeyPress },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.click, handler: this.onClick },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.contentReady, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.partialRefresh, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.refreshExpandandCollapse, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.showAddNewRowFocus, handler: this.showAddNewRowFocus },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.headerRefreshed, handler: this.refreshMatrix() },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.closeEdit, handler: this.restoreFocus },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.restoreFocus, handler: this.restoreFocus },\n { event: 'start-edit', handler: this.clearIndicator },\n { event: 'start-add', handler: this.clearIndicator },\n { event: 'sorting-complete', handler: this.restoreFocus },\n { event: 'filtering-complete', handler: this.filterfocus },\n { event: 'custom-filter-close', handler: this.filterfocus },\n { event: 'grouping-complete', handler: this.restoreFocusWithAction },\n { event: 'ungrouping-complete', handler: this.restoreFocusWithAction },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.batchAdd, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.batchCancel, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.batchDelete, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.detailDataBound, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.onEmpty, handler: this.refMatrix },\n { event: _base_constant__WEBPACK_IMPORTED_MODULE_5__.cellFocused, handler: this.internalCellFocus }];\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, true, this);\n };\n FocusStrategy.prototype.showAddNewRowFocus = function () {\n if (this.parent.editSettings.showAddNewRow) {\n var startIdx = this.parent.editSettings.newRowPosition === 'Top' ? 0 : this.content.matrix.matrix.length - 1;\n var startCellIdx = this.parent.getIndentCount();\n if (this.parent.editSettings.newRowPosition === 'Top' && (this.parent.frozenRows ||\n this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {\n var headrIdx = this.header.matrix.matrix.length - (this.groupedFrozenRow ?\n this.groupedFrozenRow : this.parent.frozenRows);\n startCellIdx = this.findNextCellFocus(this.header.matrix.matrix[headrIdx - 1], startCellIdx);\n this.header.matrix.current = [headrIdx - 1, startCellIdx];\n this.active = this.header;\n }\n else {\n startCellIdx = this.findNextCellFocus(this.content.matrix.matrix[parseInt(startIdx.toString(), 10)], startCellIdx);\n this.content.matrix.current = [startIdx, startCellIdx];\n this.active = this.content;\n }\n var addedrow = this.parent.element.querySelector('.e-addedrow');\n if (addedrow && addedrow.querySelectorAll('tr') &&\n addedrow.querySelector('tr').cells[parseInt(startCellIdx.toString(), 10)].querySelector('input')) {\n addedrow.querySelector('tr').cells[parseInt(startCellIdx.toString(), 10)].querySelector('input').select();\n }\n }\n };\n FocusStrategy.prototype.findNextCellFocus = function (matrix, cellIndex) {\n for (var i = cellIndex; i < matrix.length; i++) {\n if (matrix[parseInt(i.toString(), 10)] === 1) {\n return i;\n }\n }\n return cellIndex;\n };\n FocusStrategy.prototype.filterfocus = function () {\n if (this.parent.filterSettings.type !== 'FilterBar') {\n this.removeFocus();\n this.restoreFocus();\n }\n };\n FocusStrategy.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'mousedown', this.focusCheck);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'touchstart', this.focusCheck);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'focus', this.onFocus);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.parent.element, 'focusout', this.onBlur);\n this.parent.element.removeEventListener('focus', this.passiveHandler, true);\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.addRemoveEventListener)(this.parent, this.evtHandlers, false);\n };\n FocusStrategy.prototype.destroy = function () {\n this.removeEventListener();\n };\n FocusStrategy.prototype.restoreFocus = function (arg) {\n if (arg && arg.requestType === 'sorting' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(arg.target)) {\n return;\n }\n var groupModule = this.parent.groupModule;\n if (this.parent.allowGrouping && groupModule && (groupModule.groupSortFocus || groupModule.groupTextFocus)) {\n groupModule.groupSortFocus = false;\n groupModule.groupTextFocus = false;\n return;\n }\n this.firstHeaderCellClick = true;\n this.addFocus(this.getContent().getFocusInfo());\n var requestTypes = ['add', 'save', 'delete', 'cancel', 'batchsave', 'batchDelete', 'batchCancel'];\n var focusInfo = this.getContent().getFocusInfo();\n if (arg && requestTypes.indexOf(arg.requestType) > -1 && focusInfo && focusInfo.elementToFocus && focusInfo.elementToFocus.matches('.e-rowcell.e-focus')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([focusInfo.elementToFocus], ['e-focused', 'e-focus']);\n }\n };\n FocusStrategy.prototype.restoreFocusWithAction = function (e) {\n if (!this.parent.enableInfiniteScrolling &&\n !(this.parent.groupModule && this.parent.groupModule.preventFocusOnGroup)) {\n var matrix = this.getContent().matrix;\n var current = matrix.current;\n switch (e.requestType) {\n case 'grouping':\n case 'ungrouping':\n current[1] = current.length &&\n !this.parent.groupSettings.showGroupedColumn && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(matrix.matrix[current[0]]) ?\n matrix.matrix[current[0]].indexOf(1) : e.requestType === 'grouping' ? current[1] + 1 : current[1] - 1;\n break;\n }\n this.getContent().matrix.current = current;\n this.prevIndexes = { rowIndex: current[0], cellIndex: current[1] };\n var groupModule = this.parent.groupModule;\n if (this.parent.allowGrouping && groupModule && groupModule.groupCancelFocus) {\n var focusableGroupedItems = groupModule.getFocusableGroupedItems();\n if (focusableGroupedItems.length) {\n if (focusableGroupedItems[0].parentElement.getAttribute('ej-mappingname') === e.columnName) {\n focusableGroupedItems[3].focus();\n }\n else {\n focusableGroupedItems[0].focus();\n }\n }\n else {\n groupModule.element.focus();\n }\n groupModule.groupCancelFocus = false;\n return;\n }\n this.addFocus(this.getContent().getFocusInfo());\n }\n };\n FocusStrategy.prototype.clearIndicator = function () {\n if (!this.currentInfo.element || !this.currentInfo.elementToFocus) {\n return;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.currentInfo.element, this.currentInfo.elementToFocus], ['e-focus', 'e-focused']);\n };\n FocusStrategy.prototype.getPrevIndexes = function () {\n var forget = this.forget;\n this.forget = false;\n return forget || !Object.keys(this.prevIndexes).length ? { rowIndex: null, cellIndex: null } : this.prevIndexes;\n };\n FocusStrategy.prototype.forgetPrevious = function () {\n this.forget = true;\n };\n FocusStrategy.prototype.setActiveByKey = function (action, active) {\n if (this.parent.frozenRows === 0) {\n return;\n }\n // eslint-disable-next-line prefer-const\n var info;\n var actions = {\n 'home': function () { return ({ toHeader: !info.isContent, toFrozen: true }); },\n 'end': function () { return ({ toHeader: !info.isContent, toFrozen: false }); },\n 'ctrlHome': function () { return ({ toHeader: true, toFrozen: false }); },\n 'ctrlEnd': function () { return ({ toHeader: false, toFrozen: false }); }\n };\n if (!(action in actions)) {\n return;\n }\n info = active.getInfo();\n var swap = actions[\"\" + action]();\n this.setActive(!swap.toHeader);\n this.getContent().matrix.current = active.matrix.current;\n };\n FocusStrategy.prototype.internalCellFocus = function (e) {\n if (!(e.byKey && e.container.isContent && ((e.keyArgs.action === 'enter' && e.parent.classList.contains('e-detailcell')) ||\n ((e.keyArgs.action === 'tab' || e.keyArgs.action === 'shiftTab') && e.parent.classList.contains('e-unboundcell'))))) {\n return;\n }\n this.clearIndicator();\n var focusEle;\n if (e.parent && e.parent.closest('.e-unboundcell') && e.keyArgs.action === 'shiftTab') {\n focusEle = this.commandColumnFocusElement(e.parent, true);\n }\n else {\n focusEle = this.getContent().getFocusable(this.getFocusedElement());\n }\n this.setFocusedElement(focusEle);\n this.currentInfo.skipAction = true;\n };\n FocusStrategy.prototype.commandColumnFocusElement = function (cell, isLast) {\n var commandButtons = cell.querySelectorAll('button:not(.e-hide)');\n return isLast ? commandButtons[commandButtons.length - 1] : commandButtons[0];\n };\n return FocusStrategy;\n}());\n\n/**\n * Create matrix from row collection which act as mental model for cell navigation\n *\n * @hidden\n */\nvar Matrix = /** @class */ (function () {\n function Matrix() {\n this.matrix = [];\n this.current = [];\n }\n Matrix.prototype.set = function (rowIndex, columnIndex, allow) {\n rowIndex = Math.max(0, Math.min(rowIndex, this.rows));\n columnIndex = Math.max(0, Math.min(columnIndex, this.columns));\n this.matrix[parseInt(rowIndex.toString(), 10)] = this.matrix[parseInt(rowIndex.toString(), 10)] || [];\n this.matrix[parseInt(rowIndex.toString(), 10)][parseInt(columnIndex.toString(), 10)] = allow ? 1 : 0;\n };\n Matrix.prototype.get = function (rowIndex, columnIndex, navigator, action, validator, active) {\n var tmp = columnIndex;\n if (rowIndex + navigator[0] < 0) {\n return [rowIndex, columnIndex];\n }\n rowIndex = Math.max(0, Math.min(rowIndex + navigator[0], this.rows));\n var emptyTable = true;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.matrix[parseInt(rowIndex.toString(), 10)])) {\n return null;\n }\n columnIndex = Math.max(0, Math.min(columnIndex + navigator[1], this.matrix[parseInt(rowIndex.toString(), 10)].length - 1));\n if (tmp + navigator[1] > this.matrix[parseInt(rowIndex.toString(), 10)].length - 1\n && validator(rowIndex, columnIndex, action)) {\n return [rowIndex, tmp];\n }\n var first = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n columnIndex = first === null ? tmp : first;\n var val = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".\" + columnIndex, this.matrix);\n if (rowIndex === this.rows && (action === 'downArrow' || action === 'enter')) {\n navigator[0] = -1;\n }\n var cell;\n if (active) {\n var rows = this.getRowsFromIndex(rowIndex, active);\n cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".cells.\" + columnIndex, rows);\n }\n if (cell && cell.getBoundingClientRect().width === 0) {\n var current = this.nextVisibleCellFocus(rowIndex, columnIndex, action, navigator, active, tmp);\n rowIndex = current[0];\n columnIndex = current[1];\n }\n if (first === null) {\n for (var i = 0; i < this.rows; i++) {\n if (this.matrix[parseInt(i.toString(), 10)].some(function (v) { return v === 1; })) {\n emptyTable = false;\n break;\n }\n }\n if (emptyTable) {\n rowIndex = this.current.length ? this.current[0] : 0;\n return [rowIndex, columnIndex];\n }\n }\n return this.inValid(val) || !validator(rowIndex, columnIndex, action) ?\n this.get(rowIndex, tmp, navigator, action, validator) : [rowIndex, columnIndex];\n };\n Matrix.prototype.getRowsFromIndex = function (rowIndex, active) {\n return active.getTable().rows[parseInt(rowIndex.toString(), 10)].classList.contains('e-addedrow') ?\n active.getTable().rows[parseInt(rowIndex.toString(), 10)].querySelector('table').rows : active.getTable().rows;\n };\n Matrix.prototype.nextVisibleCellFocus = function (rowIndex, columnIndex, action, navigator, active, tmp) {\n var rows = this.getRowsFromIndex(rowIndex, active);\n var cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".cells.\" + columnIndex, rows);\n var rowMatrix = active.matrix.matrix;\n var maxRow = rowMatrix.length - 1;\n var isTab = action === 'tab';\n var isShiftTab = action === 'shiftTab';\n var skipAction = action === 'enter' || action === 'shiftEnter' || action === 'downArrow' || action === 'upArrow';\n if (skipAction) {\n return [rowIndex, columnIndex];\n }\n while (cell && cell.getBoundingClientRect().width === 0) {\n if ((isTab && rowIndex === maxRow && columnIndex === rowMatrix[parseInt(rowIndex.toString(), 10)].lastIndexOf(1)) ||\n (isShiftTab && rowIndex === 0 && columnIndex === rowMatrix[parseInt(rowIndex.toString(), 10)].indexOf(1))) {\n columnIndex = tmp;\n return [rowIndex, columnIndex];\n }\n if (isTab) {\n if (columnIndex === rowMatrix[parseInt(rowIndex.toString(), 10)].lastIndexOf(1)) {\n rowIndex++;\n columnIndex = rowMatrix[parseInt(rowIndex.toString(), 10)].indexOf(1);\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n rows = this.getRowsFromIndex(rowIndex, active);\n }\n else {\n columnIndex++;\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n }\n }\n else if (isShiftTab) {\n if (columnIndex === rowMatrix[parseInt(rowIndex.toString(), 10)].indexOf(1)) {\n rowIndex--;\n columnIndex = rowMatrix[parseInt(rowIndex.toString(), 10)].lastIndexOf(1);\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n rows = this.getRowsFromIndex(rowIndex, active);\n }\n else {\n columnIndex--;\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n }\n }\n else if ((action === 'rightArrow' || action === 'shiftRight')) {\n if (columnIndex === rowMatrix[parseInt(rowIndex.toString(), 10)].lastIndexOf(1)) {\n columnIndex = tmp;\n }\n else {\n columnIndex++;\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n }\n }\n else if ((action === 'leftArrow' || action === 'shiftLeft')) {\n if (columnIndex === rowMatrix[parseInt(rowIndex.toString(), 10)].indexOf(1)) {\n columnIndex = tmp;\n }\n else {\n columnIndex--;\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n }\n }\n else if (action === null) {\n columnIndex++;\n columnIndex = this.first(this.matrix[parseInt(rowIndex.toString(), 10)], columnIndex, navigator, true, action);\n }\n cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".cells.\" + columnIndex, rows);\n }\n return [rowIndex, columnIndex];\n };\n Matrix.prototype.first = function (vector, index, navigator, moveTo, action) {\n if (((index < 0 || index === vector.length) && this.inValid(vector[parseInt(index.toString(), 10)])\n && (action !== 'upArrow' && action !== 'downArrow')) || !vector.some(function (v) { return v === 1; })) {\n return null;\n }\n return !this.inValid(vector[parseInt(index.toString(), 10)]) ? index :\n this.first(vector, (['upArrow', 'downArrow', 'shiftUp', 'shiftDown', 'enter', 'shiftEnter'].indexOf(action) !== -1) ? moveTo ? 0 : ++index :\n index + navigator[1], navigator, false, action);\n };\n Matrix.prototype.select = function (rowIndex, columnIndex) {\n rowIndex = Math.max(0, Math.min(rowIndex, this.rows));\n columnIndex = Math.max(0, Math.min(columnIndex, this.matrix[parseInt(rowIndex.toString(), 10)].length - 1));\n this.current = [rowIndex, columnIndex];\n };\n Matrix.prototype.generate = function (rows, selector, isRowTemplate) {\n this.rows = rows.length - 1;\n this.matrix = [];\n for (var i = 0; i < rows.length; i++) {\n var cells = rows[parseInt(i.toString(), 10)].cells.filter(function (c) { return c.isSpanned !== true; });\n this.columns = Math.max(cells.length - 1, this.columns | 0);\n var incrementNumber = 0;\n for (var j = 0; j < cells.length; j++) {\n if (cells[parseInt(j.toString(), 10)].column && cells[parseInt(j.toString(), 10)].column.columns) {\n incrementNumber = this.columnsCount(cells[parseInt(j.toString(), 10)].column.columns, incrementNumber);\n }\n else {\n incrementNumber++;\n }\n this.set(i, j, rows[parseInt(i.toString(), 10)].visible === false ?\n false : selector(rows[parseInt(i.toString(), 10)], cells[parseInt(j.toString(), 10)], isRowTemplate));\n }\n this.columns = Math.max(incrementNumber - 1, this.columns | 0);\n }\n return this.matrix;\n };\n Matrix.prototype.columnsCount = function (rowColumns, currentColumnCount) {\n var columns = rowColumns;\n var incrementNumber = currentColumnCount;\n for (var i = 0; i < columns.length; i++) {\n if (columns[parseInt(i.toString(), 10)].columns) {\n incrementNumber = this.columnsCount(columns[parseInt(i.toString(), 10)].columns, incrementNumber);\n }\n else {\n incrementNumber++;\n }\n }\n return incrementNumber;\n };\n Matrix.prototype.inValid = function (value) {\n return value === 0 || value === undefined;\n };\n return Matrix;\n}());\n\n/**\n * @hidden\n */\nvar ContentFocus = /** @class */ (function () {\n function ContentFocus(parent) {\n var _this = this;\n this.matrix = new Matrix();\n this.lastIdxCell = false;\n this.parent = parent;\n this.keyActions = {\n 'rightArrow': [0, 1],\n 'tab': [0, 1],\n 'leftArrow': [0, -1],\n 'shiftTab': [0, -1],\n 'upArrow': [-1, 0],\n 'downArrow': [1, 0],\n 'shiftUp': [-1, 0],\n 'shiftDown': [1, 0],\n 'shiftRight': [0, 1],\n 'shiftLeft': [0, -1],\n 'enter': [1, 0],\n 'shiftEnter': [-1, 0]\n };\n this.indexesByKey = function (action) {\n var opt = {\n 'home': [_this.matrix.current[0], -1, 0, 1],\n 'end': [_this.matrix.current[0], _this.matrix.columns + 1, 0, -1],\n 'ctrlHome': [0, -1, 0, 1],\n 'ctrlEnd': [_this.matrix.rows, _this.matrix.columns + 1, 0, -1]\n };\n return opt[\"\" + action] || null;\n };\n }\n ContentFocus.prototype.getTable = function () {\n return (this.parent.getContentTable());\n };\n ContentFocus.prototype.onKeyPress = function (e) {\n var isMacLike = /(Mac)/i.test(navigator.platform);\n if (isMacLike && e.metaKey) {\n if (e.action === 'home') {\n e.action = 'ctrlHome';\n }\n else if (e.action === 'end') {\n e.action = 'ctrlEnd';\n }\n else if (['downArrow', 'upArrow', 'leftArrow', 'rightArrow'].indexOf(e.action) !== -1) {\n return;\n }\n }\n var navigators = this.keyActions[e.action];\n var current = this.getCurrentFromAction(e.action, navigators, e.action in this.keyActions, e);\n if (!current) {\n return;\n }\n if (((['tab', 'shiftTab'].indexOf(e.action) > -1 && this.matrix.current || []).toString() === current.toString())\n || (this.parent.allowPaging && !this.parent.pagerModule.pagerObj.checkPagerHasFocus()\n && this.matrix.current[0] === this.matrix.rows && ((this.parent.editSettings.mode === 'Batch'\n && this.parent.editSettings.allowAdding && e.keyCode === 40) || (e.keyCode === 40)))) {\n if (current.toString() === [this.matrix.rows, this.matrix.columns].toString() ||\n current.toString() === [0, 0].toString() || (this.matrix.current[0] === this.matrix.rows &&\n this.matrix.current.toString() === current.toString()) || (this.parent.allowGrouping &&\n this.parent.infiniteScrollSettings.enableCache && current.toString() === [0, 1].toString())) {\n return false;\n }\n else {\n current = this.editNextRow(current[0], current[1], e.action);\n }\n }\n this.matrix.select(current[0], current[1]);\n };\n ContentFocus.prototype.editNextRow = function (rowIndex, cellIndex, action) {\n var gObj = this.parent;\n var editNextRow = gObj.editSettings.allowNextRowEdit && (gObj.isEdit || gObj.isLastCellPrimaryKey);\n var visibleIndex = gObj.getColumnIndexByField(gObj.getVisibleColumns()[0].field);\n var row = this.getTable().rows[parseInt(rowIndex.toString(), 10)];\n var cell = gObj.editSettings.showAddNewRow && row.classList.contains('e-addedrow') ?\n (row.querySelectorAll('td:not(.e-editcell)'))[parseInt(cellIndex.toString(), 10)]\n : row.cells[parseInt(cellIndex.toString(), 10)];\n if (action === 'tab' && editNextRow) {\n rowIndex++;\n var index = (this.getTable().rows[parseInt(rowIndex.toString(), 10)].getElementsByClassName('e-indentcell').length +\n this.getTable().rows[parseInt(rowIndex.toString(), 10)].getElementsByClassName('e-detailrowcollapse').length);\n cellIndex = visibleIndex + index;\n }\n if (action === 'shiftTab' && editNextRow) {\n rowIndex--;\n cellIndex = gObj.getColumnIndexByField(gObj.getVisibleColumns()[gObj.getVisibleColumns().length - 1].field);\n }\n return !cell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell) && !cell.classList.contains('e-headercell') &&\n !cell.classList.contains('e-groupcaption') && !cell.classList.contains('e-filterbarcell') ?\n this.editNextRow(rowIndex, cellIndex, action) : [rowIndex, cellIndex];\n };\n ContentFocus.prototype.getCurrentFromAction = function (action, navigator, isPresent, e) {\n if (navigator === void 0) { navigator = [0, 0]; }\n if (!isPresent && !this.indexesByKey(action) || (this.matrix.current.length === 0)) {\n return null;\n }\n if (!this.shouldFocusChange(e)) {\n return this.matrix.current;\n }\n // eslint-disable-next-line\n var _a = this.indexesByKey(action) || this.matrix.current.concat(navigator), rowIndex = _a[0], cellIndex = _a[1], rN = _a[2], cN = _a[3];\n if (this.parent.allowGrouping && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.groupSettings.columns) && this.parent.groupSettings.columns.length && this.parent.aggregates.length && action === 'enter') {\n for (var i = rowIndex; i < this.matrix.matrix.length; i++) {\n var row = this.getTable().rows[i + 1];\n if (row && row.cells[parseInt(cellIndex.toString(), 10)] && row.cells[parseInt(cellIndex.toString(), 10)].classList.contains('e-rowcell')) {\n return [i + 1, cellIndex];\n }\n if (i === this.matrix.matrix.length - 1) {\n return [rowIndex, cellIndex];\n }\n }\n }\n if (action === 'ctrlEnd' || action === 'end') {\n var lastContentCellIndex = [this.matrix.matrix.length - 1,\n this.matrix.matrix[this.matrix.matrix.length - 1].length - 1];\n if (action === 'end') {\n lastContentCellIndex = [rowIndex, this.matrix.matrix[parseInt(rowIndex.toString(), 10)].length - 1];\n }\n if (this.matrix.matrix[lastContentCellIndex[0]][lastContentCellIndex[1]] === 0) {\n lastContentCellIndex = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.findCellIndex)(this.matrix.matrix, lastContentCellIndex, false);\n }\n rowIndex = lastContentCellIndex[0];\n cellIndex = lastContentCellIndex[1] + 1;\n }\n var current = this.matrix.get(rowIndex, cellIndex, [rN, cN], action, this.validator(), this);\n return current;\n };\n ContentFocus.prototype.checkRowCellFocus = function (target) {\n return target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell) ? target.classList.contains('e-focused') : true;\n };\n ContentFocus.prototype.onClick = function (e, force) {\n var target = e.target;\n this.target = target;\n target = (target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell) ? target : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'td'));\n target = target ? target : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'td.e-detailrowcollapse')\n || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'td.e-detailrowexpand');\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'td.e-detailcell') ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-grid'), 'td.e-detailcell')) ? null : target : target;\n target = target && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'table').classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.table) ? target : null;\n if (!target) {\n return false;\n }\n var rowIdx = target.parentElement.rowIndex;\n if (this.parent.editSettings.showAddNewRow && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow')) {\n rowIdx = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow').rowIndex;\n }\n var _a = [rowIdx, target.cellIndex], rowIndex = _a[0], cellIndex = _a[1];\n var _b = this.matrix.current, oRowIndex = _b[0], oCellIndex = _b[1];\n var val = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".\" + cellIndex, this.matrix.matrix);\n if (this.matrix.inValid(val) || (!force && oRowIndex === rowIndex && oCellIndex === cellIndex && this.checkRowCellFocus(target)) ||\n (!(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, _base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell) && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-groupcaption')\n && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-recordpluscollapse') && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-recordplusexpand')\n && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-detailrowcollapse') && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-detailrowexpand')\n && !(0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(e.target, 'e-templatecell'))) {\n return false;\n }\n this.matrix.select(rowIndex, cellIndex);\n };\n ContentFocus.prototype.getFocusInfo = function () {\n var info = {};\n var _a = this.matrix.current, _b = _a[0], rowIndex = _b === void 0 ? 0 : _b, _c = _a[1], cellIndex = _c === void 0 ? 0 : _c;\n this.matrix.current = [rowIndex, cellIndex];\n var row = this.getTable().rows[parseInt(rowIndex.toString(), 10)];\n info.element = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row) ? this.parent.editSettings.showAddNewRow && row.classList.contains('e-addedrow') ?\n (row.querySelectorAll('td:not(.e-editcell)'))[parseInt(cellIndex.toString(), 10)]\n : row.cells[parseInt(cellIndex.toString(), 10)] : null;\n if (!info.element) {\n return info;\n }\n info.elementToFocus = (!info.element.classList.contains('e-unboundcell') || (this.parent.editSettings.showAddNewRow &&\n info.element.classList.contains('e-unboundcell') && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(info.element, 'e-addedrow'))) &&\n !info.element.classList.contains('e-detailcell') ? this.getFocusable(info.element) : info.element;\n info.elementToFocus = info.element.classList.contains('e-detailcell') && info.element.querySelector('.e-childgrid')\n ? info.element.querySelector('.e-childgrid') : info.elementToFocus;\n if (this.parent.editSettings.mode === 'Batch' && this.parent.isEdit && info.elementToFocus.tagName.toLowerCase() === 'input'\n && info.elementToFocus.classList.contains('e-dropdownlist')) {\n info.elementToFocus = info.elementToFocus.parentElement;\n }\n info.outline = true;\n info.uid = info.element.parentElement.getAttribute('data-uid');\n return info;\n };\n ContentFocus.prototype.getFocusable = function (element) {\n var query = 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n var isTemplate = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(element, '.e-templatecell'));\n if (this.parent.isEdit) {\n var commandCellQuery = this.parent.editSettings.showAddNewRow && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(element, 'e-addedrow') ?\n ', button:not(.e-hide)' : '';\n query = 'input:not([type=\"hidden\"]), select:not([aria-hidden=\"true\"]), textarea' + commandCellQuery;\n }\n var child = [].slice.call(element.querySelectorAll(query));\n if (element.classList.contains('e-fltrtemp')) {\n var focusElement = [].slice.call(element.querySelectorAll('.e-fltrtemp-focus'));\n if (this.focusType === 'click' && this.target && this.target.classList.contains('e-fltrtemp-focus')) {\n return this.target;\n }\n else if (this.focusType === 'key' && focusElement.length && (this.action === 'tab' || this.action === 'shiftTab')) {\n var elementIndex = focusElement.indexOf(this.currentTarget);\n return elementIndex === -1 ? focusElement[this.action === 'tab' ? 0 : focusElement.length - 1]\n : focusElement[this.action === 'tab' ? elementIndex + 1 : elementIndex - 1];\n }\n }\n /* Select the first focusable child element\n * if no child found then select the cell itself.\n * if Grid is in editable state, check for editable control inside child.\n */\n return child.length ? isTemplate && child.length > 1 && !(this.parent.editSettings.mode === 'Batch'\n && this.parent.isEdit && this.target) ? this.target ? this.target : element : child[0] : element;\n };\n ContentFocus.prototype.selector = function (row, cell, isRowTemplate) {\n var types = [_base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.Expand, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.GroupCaption, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.CaptionSummary, _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.GroupSummary];\n return ((row.isDataRow && cell.visible && (cell.isDataCell || cell.isTemplate))\n || (row.isDataRow && cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.DetailExpand && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.visible))\n || (!row.isDataRow && types.indexOf(cell.cellType) > -1\n && !((cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.GroupSummary || cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.CaptionSummary)\n && !(cell.isDataCell && cell.visible)))\n || (cell.column && cell.visible && cell.column.type === 'checkbox')\n || (cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.CommandColumn)\n || (row.isDataRow && isRowTemplate))\n && !(row.edit === 'delete' && row.isDirty);\n };\n ContentFocus.prototype.nextRowFocusValidate = function (index) {\n var lastIndex = index;\n for (var i = index, len = this.matrix.rows; i <= len; i++) {\n if (this.matrix.matrix[parseInt(index.toString(), 10)].indexOf(1) === -1) {\n index = index + 1;\n }\n else {\n return index;\n }\n }\n this.lastIdxCell = true;\n return lastIndex;\n };\n ContentFocus.prototype.previousRowFocusValidate = function (index) {\n var firstIndex = index;\n for (var i = index, len = 0; i >= len; i--) {\n if (this.matrix.matrix[parseInt(index.toString(), 10)].indexOf(1) === -1) {\n index = index - 1;\n if (index < 0) {\n this.lastIdxCell = true;\n return firstIndex;\n }\n }\n else {\n return index;\n }\n }\n return firstIndex;\n };\n ContentFocus.prototype.jump = function (action, current) {\n this.lastIdxCell = false;\n var enterFrozen = this.parent.frozenRows !== 0 && action === 'shiftEnter';\n var headerSwap = (action === 'upArrow' || enterFrozen) && current[0] === 0;\n if (this.matrix.matrix[current[0]]) {\n if (action === 'tab' && this.matrix.matrix.length &&\n current[1] === this.matrix.matrix[current[0]].lastIndexOf(1) && this.matrix.matrix.length - 1 !== current[0]) {\n this.matrix.current[0] = this.nextRowFocusValidate(this.matrix.current[0] + 1);\n this.matrix.current[1] = -1;\n }\n }\n if (action === 'shiftTab' &&\n current[0] !== 0 && this.matrix.matrix[current[0]].indexOf(1) === current[1]) {\n this.matrix.current[0] = this.previousRowFocusValidate(this.matrix.current[0] - 1);\n this.matrix.current[1] = this.matrix.matrix[current[0]].length;\n }\n var isHeaderFocus = false;\n var row = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(document.activeElement, 'e-addedrow') && this.parent.editSettings.showAddNewRow ?\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(document.activeElement, 'e-addedrow') : document.activeElement.parentElement;\n if ((this.parent.enableVirtualization || this.parent.infiniteScrollSettings.enableCache)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row) && row.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.row)) {\n var rowIndex = parseInt(row.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1;\n isHeaderFocus = rowIndex > 0;\n }\n var info = {\n swap: !isHeaderFocus ? ((action === 'upArrow' || enterFrozen) && current[0] === 0) : false,\n toHeader: headerSwap\n };\n return info;\n };\n ContentFocus.prototype.getNextCurrent = function (previous, swap, active, action) {\n if (previous === void 0) { previous = []; }\n var current = [];\n if (action === 'rightArrow' || action === 'tab') {\n current[0] = previous[0];\n current[1] = -1;\n }\n if (action === 'downArrow' || action === 'enter') {\n current[0] = -1;\n current[1] = previous[1];\n }\n return current;\n };\n ContentFocus.prototype.generateRows = function (rows, optionals) {\n var _a;\n var matrix = optionals.matrix, handlerInstance = optionals.handlerInstance;\n var len = handlerInstance.matrix.matrix.length;\n var defaultLen = this.parent.allowFiltering && this.parent.filterSettings.type === 'FilterBar' ? len + 1 : len;\n handlerInstance.matrix.matrix = handlerInstance.matrix.matrix.slice(0, defaultLen); //Header matrix update.\n handlerInstance.matrix.rows = defaultLen;\n (_a = handlerInstance.matrix.matrix).push.apply(_a, matrix);\n handlerInstance.matrix.rows += matrix.length;\n };\n ContentFocus.prototype.getInfo = function (e) {\n var info = this.getFocusInfo();\n var _a = this.matrix.current, rIndex = _a[0], cIndex = _a[1];\n var isData = info.element.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell);\n var isSelectable = isData || (e && e.action !== 'enter' && (info.element.classList.contains('e-detailrowcollapse')\n || info.element.classList.contains('e-detailrowexpand')));\n // eslint-disable-next-line\n var _b = [Math.min(parseInt(info.element.parentElement.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaRowIndex), 10) - 1, rIndex),\n Math.min(parseInt(info.element.getAttribute(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.ariaColIndex), 10) - 1, cIndex)], rowIndex = _b[0], cellIndex = _b[1];\n if (this.parent.allowGrouping && this.parent.groupSettings.enableLazyLoading && isData) {\n rowIndex = this.parent.getDataRows().indexOf(info.element.parentElement);\n }\n if (this.parent.enableVirtualization && this.parent.groupSettings.columns.length) {\n rowIndex = rIndex;\n cellIndex = cIndex;\n }\n if (this.parent.editSettings.showAddNewRow && this.parent.editSettings.newRowPosition === 'Top' &&\n !this.parent.enableVirtualization && !this.parent.enableInfiniteScrolling && e && e.action === 'downArrow') {\n rowIndex++;\n }\n return { isContent: true, isDataCell: isData, indexes: [rowIndex, cellIndex], isSelectable: isSelectable };\n };\n ContentFocus.prototype.validator = function () {\n var table = this.getTable();\n return function (rowIndex, cellIndex, action) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(table.rows[parseInt(rowIndex.toString(), 10)])) {\n var cell = void 0;\n cellIndex = table.querySelector('.e-emptyrow') ? 0 : cellIndex;\n if (table.rows[parseInt(rowIndex.toString(), 10)].cells[0].classList.contains('e-editcell')) {\n cell = table.rows[parseInt(rowIndex.toString(), 10)].cells[0].querySelectorAll('td')[parseInt(cellIndex.toString(), 10)];\n }\n else {\n cell = table.rows[parseInt(rowIndex.toString(), 10)].cells[parseInt(cellIndex.toString(), 10)];\n }\n var isCellWidth = cell.getBoundingClientRect().width !== 0;\n if (action === 'enter' || action === 'shiftEnter') {\n return isCellWidth && cell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell);\n }\n if ((action === 'shiftUp' || action === 'shiftDown') && cell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell)) {\n return isCellWidth;\n }\n else if (action !== 'shiftUp' && action !== 'shiftDown') {\n return isCellWidth;\n }\n }\n return false;\n };\n };\n ContentFocus.prototype.shouldFocusChange = function (e) {\n var _a = this.matrix.current, _b = _a[0], rIndex = _b === void 0 ? -1 : _b, _c = _a[1], cIndex = _c === void 0 ? -1 : _c;\n if (rIndex < 0 || cIndex < 0) {\n return true;\n }\n var cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rIndex + \".cells.\" + cIndex, this.getTable().rows);\n if (!cell) {\n return true;\n }\n return e.action === 'enter' || e.action === 'shiftEnter' ?\n cell.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell) && !cell.classList.contains('e-unboundcell')\n || cell.classList.contains('e-editedbatchcell') && !cell.classList.contains('e-detailcell') : true;\n };\n ContentFocus.prototype.getGridSeletion = function () {\n return this.parent.allowSelection && this.parent.selectionSettings.allowColumnSelection;\n };\n return ContentFocus;\n}());\n\n/**\n * @hidden\n */\nvar HeaderFocus = /** @class */ (function (_super) {\n __extends(HeaderFocus, _super);\n function HeaderFocus(parent) {\n return _super.call(this, parent) || this;\n }\n HeaderFocus.prototype.getTable = function () {\n return (this.parent.getHeaderTable());\n };\n HeaderFocus.prototype.onClick = function (e) {\n this.focusType = 'click';\n var target = e.target;\n this.target = target;\n target = (target.classList.contains('e-headercell') ? target : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, 'th'));\n if (!target && (this.parent.frozenRows !== 0 || ((this.parent.enableVirtualization || this.parent.enableInfiniteScrolling) &&\n this.parent.editSettings.showAddNewRow))) {\n target = (e.target.classList.contains(_base_string_literals__WEBPACK_IMPORTED_MODULE_2__.rowCell) ? e.target :\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, 'td'));\n }\n if (e.target.classList.contains('e-columnheader') ||\n e.target.querySelector('.e-stackedheadercell')) {\n return false;\n }\n if (!target) {\n return;\n }\n var rowIdx = target.parentElement.rowIndex;\n if (this.parent.editSettings.showAddNewRow && (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow')) {\n rowIdx = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(target, 'e-addedrow').rowIndex;\n }\n var _a = [rowIdx, target.cellIndex], rowIndex = _a[0], cellIndex = _a[1];\n var val = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".\" + cellIndex, this.matrix.matrix);\n if (this.matrix.inValid(val)) {\n return false;\n }\n this.matrix.select(rowIdx, target.cellIndex);\n };\n HeaderFocus.prototype.getFocusInfo = function () {\n var info = {};\n var _a = this.matrix.current, _b = _a[0], rowIndex = _b === void 0 ? 0 : _b, _c = _a[1], cellIndex = _c === void 0 ? 0 : _c;\n var row = this.getTable().rows[parseInt(rowIndex.toString(), 10)];\n info.element = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(row) ? this.parent.editSettings.showAddNewRow && row.classList.contains('e-addedrow') ?\n (row.querySelectorAll('td:not(.e-editcell)'))[parseInt(cellIndex.toString(), 10)]\n : row.cells[parseInt(cellIndex.toString(), 10)] : null;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(info.element)) {\n info.elementToFocus = this.getFocusable(info.element);\n info.outline = !info.element.classList.contains('e-filterbarcell');\n }\n return info;\n };\n HeaderFocus.prototype.selector = function (row, cell) {\n return (cell.visible && (cell.column.field !== undefined || cell.isTemplate || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.template)\n || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cell.column.commands) || cell.column.type === 'checkbox')) || cell.cellType === _base_enum__WEBPACK_IMPORTED_MODULE_6__.CellType.StackedHeader;\n };\n HeaderFocus.prototype.jump = function (action, current) {\n var enterFrozen = this.parent.frozenRows !== 0 && action === 'enter';\n var isLastCell;\n var lastRow;\n if (this.parent.enableHeaderFocus && action === 'tab') {\n lastRow = this.matrix.matrix.length - 1 === current[0];\n isLastCell = current[1] === this.matrix.matrix[current[0]].lastIndexOf(1);\n if (isLastCell) {\n if (!lastRow) {\n this.matrix.current[0] = this.matrix.current[0] + 1;\n }\n else {\n this.matrix.current[0] = 0;\n }\n this.matrix.current[1] = -1;\n }\n }\n return {\n swap: ((action === 'downArrow' || enterFrozen) && current[0] === this.matrix.matrix.length - 1) ||\n (action === 'tab' && lastRow && isLastCell)\n };\n };\n HeaderFocus.prototype.getNextCurrent = function (previous, swap, active, action) {\n if (previous === void 0) { previous = []; }\n var current1 = [];\n if (action === 'rightArrow' || (action === 'shiftRight' && this.getGridSeletion()) || action === 'tab') {\n current1[0] = previous[0];\n current1[1] = -1;\n }\n if (action === 'upArrow' || action === 'shiftEnter') {\n current1[0] = this.matrix.matrix.length;\n current1[1] = previous[1];\n }\n return current1;\n };\n HeaderFocus.prototype.generateRows = function (rows) {\n var length = this.matrix.matrix.length;\n if (this.parent.allowFiltering && this.parent.filterSettings.type === 'FilterBar') {\n this.matrix.rows = ++this.matrix.rows;\n var cells = rows[0].cells;\n var incrementNumber = 0;\n for (var i = 0; i < cells.length; i++) {\n if (cells[parseInt(i.toString(), 10)].column && cells[parseInt(i.toString(), 10)].column.columns) {\n incrementNumber = this.checkFilterColumn(cells[parseInt(i.toString(), 10)].column.columns, length, incrementNumber);\n }\n else {\n this.matrix.set(length, incrementNumber, cells[parseInt(i.toString(), 10)].visible && cells[parseInt(i.toString(), 10)].column.allowFiltering !== false);\n incrementNumber++;\n }\n }\n }\n };\n HeaderFocus.prototype.checkFilterColumn = function (rowColumns, rowIndex, columnIndex) {\n var columns = rowColumns;\n var incrementNumber = columnIndex;\n for (var i = 0; i < columns.length; i++) {\n if (columns[parseInt(i.toString(), 10)].columns) {\n incrementNumber = this.checkFilterColumn(columns[parseInt(i.toString(), 10)].columns, rowIndex, incrementNumber);\n }\n else {\n this.matrix.set(rowIndex, incrementNumber, columns[parseInt(i.toString(), 10)].visible && columns[parseInt(i.toString(), 10)].allowFiltering !== false);\n incrementNumber++;\n }\n }\n return incrementNumber;\n };\n HeaderFocus.prototype.getInfo = function (e) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(_super.prototype.getInfo.call(this, e), { isContent: false, isHeader: true });\n };\n HeaderFocus.prototype.validator = function () {\n return function () { return true; };\n };\n HeaderFocus.prototype.shouldFocusChange = function (e) {\n var _a = this.matrix.current, rowIndex = _a[0], columnIndex = _a[1];\n if (rowIndex < 0 || columnIndex < 0) {\n return true;\n }\n var cell = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(rowIndex + \".cells.\" + columnIndex, this.getTable().rows);\n if (!cell) {\n return true;\n }\n return e.action === 'enter' || e.action === 'altDownArrow' ? !cell.classList.contains('e-headercell') : true;\n };\n HeaderFocus.prototype.getHeaderType = function () {\n return 'HeaderFocus';\n };\n return HeaderFocus;\n}(ContentFocus));\n\n/** @hidden */\nvar SearchBox = /** @class */ (function () {\n function SearchBox(searchBox, serviceLocator) {\n this.searchBox = searchBox;\n this.serviceLocator = serviceLocator;\n this.l10n = this.serviceLocator.getService('localization');\n }\n SearchBox.prototype.searchFocus = function (args) {\n args.target.parentElement.classList.add('e-input-focus');\n if (args.target.classList.contains('e-input') && args.target.classList.contains('e-search') && args.target.value) {\n var sIcon = args.target.parentElement.querySelector('.e-sicon');\n sIcon.classList.add('e-clear-icon');\n sIcon.setAttribute('title', this.l10n.getConstant('Clear'));\n (sIcon).style.cursor = 'pointer';\n }\n };\n SearchBox.prototype.searchBlur = function (args) {\n var relatedTarget = args.relatedTarget ? args.relatedTarget : null;\n if (relatedTarget && relatedTarget.classList.contains('e-sicon')) {\n if (relatedTarget.classList.contains('e-clear-icon')) {\n args.target.parentElement.classList.remove('e-input-focus');\n }\n }\n else {\n args.target.parentElement.classList.remove('e-input-focus');\n }\n if (args.target.classList.contains('e-search') && ((relatedTarget && !(relatedTarget.classList.contains('e-sicon e-clear-icon'))\n && !(relatedTarget.classList.contains('e-sicon'))) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(relatedTarget))) {\n var sIcon = args.target.parentElement.querySelector('.e-sicon');\n sIcon.classList.remove('e-clear-icon');\n sIcon.removeAttribute('title');\n sIcon.style.cursor = 'default';\n }\n };\n SearchBox.prototype.wireEvent = function () {\n if (this.searchBox) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.searchBox, 'focus', this.searchFocus, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.searchBox, 'blur', this.searchBlur, this);\n }\n };\n SearchBox.prototype.unWireEvent = function () {\n if (this.searchBox) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.searchBox, 'focus', this.searchFocus);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.searchBox, 'blur', this.searchBlur);\n }\n };\n return SearchBox;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GroupModelGenerator: () => (/* binding */ GroupModelGenerator)\n/* harmony export */ });\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/summary-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js\");\n/* harmony import */ var _grid_base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../grid/base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n/**\n * GroupModelGenerator is used to generate group caption rows and data rows.\n *\n * @hidden\n */\nvar GroupModelGenerator = /** @class */ (function (_super) {\n __extends(GroupModelGenerator, _super);\n function GroupModelGenerator(parent) {\n var _this = _super.call(this, parent) || this;\n _this.rows = [];\n /** @hidden */\n _this.index = 0;\n _this.infiniteChildCount = 0;\n _this.renderInfiniteAgg = true;\n _this.parent = parent;\n _this.summaryModelGen = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_1__.GroupSummaryModelGenerator(parent);\n _this.captionModelGen = new _services_summary_model_generator__WEBPACK_IMPORTED_MODULE_1__.CaptionSummaryModelGenerator(parent);\n return _this;\n }\n GroupModelGenerator.prototype.generateRows = function (data, args) {\n if (this.parent.groupSettings.columns.length === 0) {\n return _super.prototype.generateRows.call(this, data, args);\n }\n this.isInfiniteScroll = (args.requestType === 'infiniteScroll');\n this.rows = [];\n this.index = this.parent.enableVirtualization || this.isInfiniteScroll ? args.startIndex : 0;\n for (var i = 0, len = data.length; i < len; i++) {\n this.infiniteChildCount = 0;\n this.renderInfiniteAgg = true;\n this.getGroupedRecords(0, data[parseInt(i.toString(), 10)], data.level, i, undefined, this.rows.length);\n }\n this.index = 0;\n if (this.parent.isCollapseStateEnabled()) {\n this.ensureRowVisibility();\n }\n return this.rows;\n };\n GroupModelGenerator.prototype.getGroupedRecords = function (index, data, raw, parentid, childId, tIndex, parentUid) {\n var _a;\n var level = raw;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.items)) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.GroupGuid)) {\n this.rows = this.rows.concat(this.generateDataRows(data, index, parentid, this.rows.length, parentUid));\n }\n else {\n for (var j = 0, len = data.length; j < len; j++) {\n this.getGroupedRecords(index, data[parseInt(j.toString(), 10)], data.level, parentid, index, this.rows.length, parentUid);\n }\n }\n }\n else {\n var preCaption = void 0;\n var captionRow = this.generateCaptionRow(data, index, parentid, childId, tIndex, parentUid);\n if (this.isInfiniteScroll) {\n preCaption = this.getPreCaption(index, captionRow.data.key);\n }\n if (!preCaption) {\n this.rows = this.rows.concat(captionRow);\n }\n else {\n captionRow.uid = preCaption.uid;\n }\n if (data.items && data.items.length) {\n this.getGroupedRecords(index + 1, data.items, data.items.level, parentid, index + 1, this.rows.length, captionRow.uid);\n }\n if (this.parent.aggregates.length && this.isRenderAggregate(captionRow)) {\n var rowCnt = this.rows.length;\n (_a = this.rows).push.apply(_a, this.summaryModelGen.generateRows(data, { level: level, parentUid: captionRow.uid }));\n for (var i = rowCnt - 1; i >= 0; i--) {\n if (this.rows[parseInt(i.toString(), 10)].isCaptionRow) {\n this.rows[parseInt(i.toString(), 10)].aggregatesCount = this.rows.length - rowCnt;\n }\n else if (!this.rows[parseInt(i.toString(), 10)].isCaptionRow && !this.rows[parseInt(i.toString(), 10)].isDataRow) {\n break;\n }\n }\n }\n if (preCaption) {\n this.setInfiniteRowVisibility(preCaption);\n }\n }\n };\n GroupModelGenerator.prototype.isRenderAggregate = function (data) {\n if (this.parent.enableInfiniteScrolling) {\n if (!this.renderInfiniteAgg) {\n return false;\n }\n this.getPreCaption(data.indent, data.data.key);\n this.renderInfiniteAgg = data.data.count === this.infiniteChildCount;\n return this.renderInfiniteAgg;\n }\n return !this.parent.enableInfiniteScrolling;\n };\n GroupModelGenerator.prototype.getPreCaption = function (indent, key) {\n var rowObj = this.parent.getRowsObject().concat(this.rows);\n var preCap;\n this.infiniteChildCount = 0;\n var i = rowObj.length;\n while (i--) {\n if (rowObj[parseInt(i.toString(), 10)].isCaptionRow && rowObj[parseInt(i.toString(), 10)].indent === indent) {\n var groupKey = rowObj[parseInt(i.toString(), 10)].data.key;\n if ((groupKey && groupKey.toString() === key.toString() && groupKey instanceof Date) || groupKey === key) {\n preCap = rowObj[parseInt(i.toString(), 10)];\n }\n }\n if (rowObj[parseInt(i.toString(), 10)].indent === indent || rowObj[parseInt(i.toString(), 10)].indent < indent) {\n break;\n }\n if (rowObj[parseInt(i.toString(), 10)].indent === indent + 1) {\n this.infiniteChildCount++;\n }\n }\n return preCap;\n };\n GroupModelGenerator.prototype.getCaptionRowCells = function (field, indent, data) {\n var cells = [];\n var visibles = [];\n var column = this.parent.getColumnByField(field);\n var indexes = this.parent.getColumnIndexesInView();\n if (this.parent.enableColumnVirtualization) {\n column = this.parent.columns.filter(function (c) { return c.field === field; })[0];\n }\n var groupedLen = this.parent.groupSettings.columns.length;\n var gObj = this.parent;\n if (!this.parent.enableColumnVirtualization || indexes.indexOf(indent) !== -1) {\n for (var i = 0; i < indent; i++) {\n cells.push(this.generateIndentCell());\n }\n cells.push(this.generateCell({}, null, _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Expand));\n }\n indent = this.parent.enableColumnVirtualization ? 1 :\n (this.parent.getVisibleColumns().length + groupedLen + (gObj.detailTemplate || gObj.childGrid ? 1 : 0) -\n indent + (this.parent.getVisibleColumns().length ? -1 : 0));\n //Captionsummary cells will be added here.\n if (this.parent.aggregates.length && !this.captionModelGen.isEmpty()) {\n var captionCells = this.captionModelGen.generateRows(data)[0];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(data, captionCells.data);\n var cIndex_1 = 0;\n captionCells.cells.some(function (cell, index) { cIndex_1 = index; return cell.visible && cell.isDataCell; });\n visibles = captionCells.cells.slice(cIndex_1).filter(function (cell) { return cell.visible; });\n if (captionCells.visible && visibles[0].column.field === this.parent.getVisibleColumns()[0].field) {\n visibles = visibles.slice(1);\n }\n if (this.parent.getVisibleColumns().length === 1) {\n visibles = [];\n }\n indent = indent - visibles.length;\n }\n var cols = (!this.parent.enableColumnVirtualization ? [column] : this.parent.getColumns());\n var wFlag = true;\n for (var j = 0; j < cols.length; j++) {\n var tmpFlag = wFlag && indexes.indexOf(indent) !== -1;\n if (tmpFlag) {\n wFlag = false;\n }\n var cellType = !this.parent.enableColumnVirtualization || tmpFlag ?\n _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupCaption : _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupCaptionEmpty;\n indent = this.parent.enableColumnVirtualization && cellType === _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupCaption ? indent + groupedLen : indent;\n if (gObj.isRowDragable()) {\n indent++;\n }\n cells.push(this.generateCell(column, null, cellType, indent));\n }\n cells.push.apply(cells, visibles);\n return cells;\n };\n /**\n * @param {GroupedData} data - specifies the data\n * @param {number} indent - specifies the indent\n * @param {number} parentID - specifies the parentID\n * @param {number} childID - specifies the childID\n * @param {number} tIndex - specifies the TIndex\n * @param {string} parentUid - specifies the ParentUid\n * @returns {Row} returns the Row object\n * @hidden\n */\n GroupModelGenerator.prototype.generateCaptionRow = function (data, indent, parentID, childID, tIndex, parentUid) {\n var options = {};\n var records = 'records';\n var col = this.parent.getColumnByField(data.field);\n options.data = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, data);\n if (col) {\n options.data.field = data.field;\n }\n options.isDataRow = false;\n options.isExpand = !this.parent.groupSettings.enableLazyLoading && !this.parent.isCollapseStateEnabled();\n options.parentGid = parentID;\n options.childGid = childID;\n options.tIndex = tIndex;\n options.isCaptionRow = true;\n options.parentUid = parentUid;\n options.gSummary = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.items[\"\" + records]) ? data.items[\"\" + records].length : data.items.length;\n options.uid = (0,_grid_base_util__WEBPACK_IMPORTED_MODULE_3__.getUid)('grid-row');\n var row = new _models_row__WEBPACK_IMPORTED_MODULE_4__.Row(options);\n row.indent = indent;\n this.getForeignKeyData(row);\n row.cells = this.getCaptionRowCells(data.field, indent, row.data);\n return row;\n };\n GroupModelGenerator.prototype.getForeignKeyData = function (row) {\n var data = row.data;\n var col = this.parent.getColumnByField(data.field);\n if (col && col.isForeignColumn && col.isForeignColumn()) {\n var fkValue = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data.key) ? '' : col.valueAccessor(col.foreignKeyValue, (0,_grid_base_util__WEBPACK_IMPORTED_MODULE_3__.getForeignData)(col, {}, data.key)[0], col));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('foreignKey', fkValue, row.data);\n }\n };\n /**\n * @param {Object[]} data - specifies the data\n * @param {number} indent - specifies the indent\n * @param {number} childID - specifies the childID\n * @param {number} tIndex - specifies the tIndex\n * @param {string} parentUid - specifies the ParentUid\n * @returns {Row[]} returns the row object\n * @hidden\n */\n GroupModelGenerator.prototype.generateDataRows = function (data, indent, childID, tIndex, parentUid) {\n var rows = [];\n var indexes = this.parent.getColumnIndexesInView();\n for (var i = 0, len = data.length; i < len; i++, tIndex++) {\n rows[parseInt(i.toString(), 10)] = this.generateRow(data[parseInt(i.toString(), 10)], this.index, i ? undefined : 'e-firstchildrow', indent, childID, tIndex, parentUid);\n for (var j = 0; j < indent; j++) {\n if (this.parent.enableColumnVirtualization && indexes.indexOf(indent) === -1) {\n continue;\n }\n rows[parseInt(i.toString(), 10)].cells.unshift(this.generateIndentCell());\n }\n this.index++;\n }\n return rows;\n };\n GroupModelGenerator.prototype.generateIndentCell = function () {\n return this.generateCell({}, null, _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Indent);\n };\n GroupModelGenerator.prototype.refreshRows = function (input) {\n var indexes = this.parent.getColumnIndexesInView();\n for (var i = 0; i < input.length; i++) {\n if (input[parseInt(i.toString(), 10)].isDataRow) {\n input[parseInt(i.toString(), 10)].cells = this.generateCells(input[parseInt(i.toString(), 10)]);\n for (var j = 0; j < input[parseInt(i.toString(), 10)].indent; j++) {\n if (this.parent.enableColumnVirtualization\n && indexes.indexOf(input[parseInt(i.toString(), 10)].indent) === -1) {\n continue;\n }\n input[parseInt(i.toString(), 10)].cells.unshift(this.generateIndentCell());\n }\n }\n else {\n var cRow = this.generateCaptionRow(input[parseInt(i.toString(), 10)].data, input[parseInt(i.toString(), 10)].indent);\n input[parseInt(i.toString(), 10)].cells = cRow.cells;\n }\n }\n return input;\n };\n GroupModelGenerator.prototype.setInfiniteRowVisibility = function (caption) {\n if (!caption.isExpand || caption.visible === false) {\n for (var _i = 0, _a = this.rows; _i < _a.length; _i++) {\n var row = _a[_i];\n if (row.parentUid === caption.uid) {\n row.visible = false;\n if (row.isCaptionRow) {\n this.setInfiniteRowVisibility(row);\n }\n }\n }\n }\n };\n GroupModelGenerator.prototype.ensureRowVisibility = function () {\n for (var i = 0; i < this.rows.length; i++) {\n var row = this.rows[parseInt(i.toString(), 10)];\n if (!row.isCaptionRow) {\n continue;\n }\n for (var j = i + 1; j < this.rows.length; j++) {\n var childRow = this.rows[parseInt(j.toString(), 10)];\n if (row.uid === childRow.parentUid) {\n this.rows[parseInt(j.toString(), 10)].visible = row.isExpand;\n }\n }\n }\n };\n return GroupModelGenerator;\n}(_services_row_model_generator__WEBPACK_IMPORTED_MODULE_5__.RowModelGenerator));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/intersection-observer.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/intersection-observer.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InterSectionObserver: () => (/* binding */ InterSectionObserver)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n\n/**\n * InterSectionObserver - class watch whether it enters the viewport.\n *\n * @hidden\n */\nvar InterSectionObserver = /** @class */ (function () {\n function InterSectionObserver(element, options, movableEle) {\n var _this = this;\n this.fromWheel = false;\n this.touchMove = false;\n this.options = {};\n this.sentinelInfo = {\n 'up': {\n check: function (rect, info) {\n var top = rect.top - _this.containerRect.top;\n var bottom = _this.containerRect.bottom > rect.bottom ? _this.containerRect.bottom - rect.bottom : 0;\n info.entered = top >= 0;\n return top + (_this.options.pageHeight / 2) >= 0 || (bottom > 0 && rect.bottom > 0);\n },\n axis: 'Y'\n },\n 'down': {\n check: function (rect, info) {\n var bottom = rect.bottom;\n info.entered = rect.bottom <= _this.containerRect.bottom;\n return ((bottom - _this.containerRect.top) - (_this.options.pageHeight / 2)) <= _this.options.pageHeight / 2;\n }, axis: 'Y'\n },\n 'right': {\n check: function (rect, info) {\n var right = rect.right;\n info.entered = right < _this.containerRect.right;\n return right - _this.containerRect.width <= _this.containerRect.right;\n }, axis: 'X'\n },\n 'left': {\n check: function (rect, info) {\n var left = rect.left;\n info.entered = left > 0;\n return left + _this.containerRect.width >= _this.containerRect.left;\n }, axis: 'X'\n }\n };\n this.element = element;\n this.options = options;\n this.movableEle = movableEle;\n }\n InterSectionObserver.prototype.observe = function (callback, onEnterCallback) {\n var _this = this;\n this.containerRect = this.options.container.getBoundingClientRect();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.options.container, 'wheel', function () { return _this.fromWheel = true; }, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.options.container, 'scroll', this.virtualScrollHandler(callback, onEnterCallback), this);\n };\n InterSectionObserver.prototype.check = function (direction) {\n var info = this.sentinelInfo[\"\" + direction];\n return info.check(this.element.getBoundingClientRect(), info);\n };\n InterSectionObserver.prototype.virtualScrollHandler = function (callback, onEnterCallback) {\n var _this = this;\n var delay = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'chrome' ? 200 : 100;\n var debounced100 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.debounce)(callback, delay);\n var debounced50 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.debounce)(callback, 50);\n this.options.prevTop = this.options.prevLeft = 0;\n return function (e) {\n var top = e.target.scrollTop;\n var left = e.target.scrollLeft;\n var direction = _this.options.prevTop < top ? 'down' : 'up';\n direction = _this.options.prevLeft === left ? direction : _this.options.prevLeft < left ? 'right' : 'left';\n _this.options.prevTop = top;\n _this.options.prevLeft = left;\n var current = _this.sentinelInfo[\"\" + direction];\n if (_this.options.axes.indexOf(current.axis) === -1) {\n return;\n }\n _this.containerRect = _this.options.container.getBoundingClientRect();\n var check = _this.check(direction);\n if (current.entered) {\n onEnterCallback(_this.element, current, direction, { top: top, left: left }, _this.fromWheel, check);\n }\n if (check) {\n var fn = debounced100;\n //this.fromWheel ? this.options.debounceEvent ? debounced100 : callback : debounced100;\n if (current.axis === 'X') {\n fn = debounced50;\n }\n fn({ direction: direction, sentinel: current, offset: { top: top, left: left },\n focusElement: document.activeElement });\n }\n _this.fromWheel = false;\n };\n };\n InterSectionObserver.prototype.setPageHeight = function (value) {\n this.options.pageHeight = value;\n };\n return InterSectionObserver;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/intersection-observer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/renderer-factory.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/renderer-factory.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RendererFactory: () => (/* binding */ RendererFactory)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n\n\n/**\n * RendererFactory\n *\n * @hidden\n */\nvar RendererFactory = /** @class */ (function () {\n function RendererFactory() {\n this.rendererMap = {};\n }\n RendererFactory.prototype.addRenderer = function (name, type) {\n var rName = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.RenderType, name);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.rendererMap[\"\" + rName])) {\n this.rendererMap[\"\" + rName] = type;\n }\n };\n RendererFactory.prototype.getRenderer = function (name) {\n var rName = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getEnumValue)(_base_enum__WEBPACK_IMPORTED_MODULE_1__.RenderType, name);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.rendererMap[\"\" + rName])) {\n // eslint-disable-next-line no-throw-literal\n throw \"The renderer \" + rName + \" is not found\";\n }\n else {\n return this.rendererMap[\"\" + rName];\n }\n };\n return RendererFactory;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/renderer-factory.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RowModelGenerator: () => (/* binding */ RowModelGenerator)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../grid/base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n\n\n\n\n\n\n\n/**\n * RowModelGenerator is used to generate grid data rows.\n *\n * @hidden\n */\nvar RowModelGenerator = /** @class */ (function () {\n /**\n * Constructor for header renderer module\n *\n * @param {IGrid} parent - specifies the IGrid\n */\n function RowModelGenerator(parent) {\n this.parent = parent;\n }\n RowModelGenerator.prototype.generateRows = function (data, args) {\n var rows = [];\n var startIndex = this.parent.enableVirtualization && args ? args.startIndex : 0;\n startIndex = this.parent.enableInfiniteScrolling && args ? this.getInfiniteIndex(args) : startIndex;\n if (this.parent.enableImmutableMode && args && args.startIndex) {\n startIndex = args.startIndex;\n }\n for (var i = 0, len = Object.keys(data).length; i < len; i++, startIndex++) {\n rows[parseInt(i.toString(), 10)] = this.generateRow(data[parseInt(i.toString(), 10)], startIndex);\n }\n return rows;\n };\n RowModelGenerator.prototype.ensureColumns = function () {\n //TODO: generate dummy column for group, detail here;\n var cols = [];\n if (this.parent.detailTemplate || this.parent.childGrid) {\n var args = {};\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_1__.detailIndentCellInfo, args);\n cols.push(this.generateCell(args, null, _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.DetailExpand));\n }\n if (this.parent.isRowDragable()) {\n cols.push(this.generateCell({}, null, _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.RowDragIcon));\n }\n return cols;\n };\n RowModelGenerator.prototype.generateRow = function (data, index, cssClass, indent, pid, tIndex, parentUid) {\n var options = {};\n options.foreignKeyData = {};\n options.uid = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getUid)('grid-row');\n options.data = data;\n options.index = index;\n options.indent = indent;\n options.tIndex = tIndex;\n options.isDataRow = true;\n options.parentGid = pid;\n options.parentUid = parentUid;\n if (this.parent.isPrinting) {\n if (this.parent.hierarchyPrintMode === 'All') {\n options.isExpand = true;\n }\n else if (this.parent.hierarchyPrintMode === 'Expanded' && this.parent.expandedRows && this.parent.expandedRows[parseInt(index.toString(), 10)]) {\n options.isExpand = this.parent.expandedRows[parseInt(index.toString(), 10)].isExpand;\n }\n }\n options.cssClass = cssClass;\n options.isAltRow = this.parent.enableAltRow ? index % 2 !== 0 : false;\n options.isAltRow = this.parent.enableAltRow ? index % 2 !== 0 : false;\n options.isSelected = this.parent.getSelectedRowIndexes().indexOf(index) > -1;\n this.refreshForeignKeyRow(options);\n var cells = this.ensureColumns();\n var row = new _models_row__WEBPACK_IMPORTED_MODULE_4__.Row(options, this.parent);\n row.cells = this.parent.getFrozenMode() === 'Right' ? this.generateCells(options).concat(cells)\n : cells.concat(this.generateCells(options));\n return row;\n };\n RowModelGenerator.prototype.refreshForeignKeyRow = function (options) {\n var foreignKeyColumns = this.parent.getForeignKeyColumns();\n for (var i = 0; i < foreignKeyColumns.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(foreignKeyColumns[parseInt(i.toString(), 10)].field, (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getForeignData)(foreignKeyColumns[parseInt(i.toString(), 10)], options.data), options.foreignKeyData);\n }\n };\n RowModelGenerator.prototype.generateCells = function (options) {\n var dummies = this.parent.getColumns();\n var tmp = [];\n for (var i = 0; i < dummies.length; i++) {\n tmp.push(this.generateCell(dummies[parseInt(i.toString(), 10)], options.uid, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dummies[parseInt(i.toString(), 10)].commands) ? undefined : _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.CommandColumn, null, i, options.foreignKeyData));\n }\n return tmp;\n };\n /**\n *\n * @param {Column} column - Defines column details\n * @param {string} rowId - Defines row id\n * @param {CellType} cellType - Defines cell type\n * @param {number} colSpan - Defines colSpan\n * @param {number} oIndex - Defines index\n * @param {Object} foreignKeyData - Defines foreign key data\n * @returns {Cell} returns cell model\n * @hidden\n */\n RowModelGenerator.prototype.generateCell = function (column, rowId, cellType, colSpan, oIndex, foreignKeyData) {\n var opt = {\n 'visible': column.visible,\n 'isDataCell': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.field || column.template),\n 'isTemplate': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.template),\n 'rowID': rowId,\n 'column': column,\n 'cellType': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cellType) ? cellType : _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Data,\n 'colSpan': colSpan,\n 'commands': column.commands,\n 'isForeignKey': column.isForeignColumn && column.isForeignColumn(),\n 'foreignKeyData': column.isForeignColumn && column.isForeignColumn() && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(column.field, foreignKeyData)\n };\n if (opt.isDataCell || opt.column.type === 'checkbox' || opt.commands) {\n opt.index = oIndex;\n }\n return new _models_cell__WEBPACK_IMPORTED_MODULE_5__.Cell(opt);\n };\n RowModelGenerator.prototype.refreshRows = function (input) {\n for (var i = 0; i < input.length; i++) {\n this.refreshForeignKeyRow(input[parseInt(i.toString(), 10)]);\n input[parseInt(i.toString(), 10)].cells = this.generateCells(input[parseInt(i.toString(), 10)]);\n }\n return input;\n };\n RowModelGenerator.prototype.getInfiniteIndex = function (args) {\n return args.requestType === 'infiniteScroll' || args.requestType === 'delete' || args.action === 'add'\n ? ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.startIndex) ? args['index'] : args.startIndex) : 0;\n };\n return RowModelGenerator;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/service-locator.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/service-locator.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ServiceLocator: () => (/* binding */ ServiceLocator)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _renderer_responsive_dialog_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../renderer/responsive-dialog-renderer */ \"./node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.js\");\n\n\n/**\n * ServiceLocator\n *\n * @hidden\n */\nvar ServiceLocator = /** @class */ (function () {\n function ServiceLocator() {\n this.services = {};\n }\n ServiceLocator.prototype.register = function (name, type) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.services[\"\" + name])) {\n this.services[\"\" + name] = type;\n }\n };\n ServiceLocator.prototype.getService = function (name) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.services[\"\" + name])) {\n // eslint-disable-next-line no-throw-literal\n throw \"The service \" + name + \" is not registered\";\n }\n return this.services[\"\" + name];\n };\n ServiceLocator.prototype.registerAdaptiveService = function (type, isAdaptiveUI, action) {\n if (isAdaptiveUI) {\n type.responsiveDialogRenderer = new _renderer_responsive_dialog_renderer__WEBPACK_IMPORTED_MODULE_1__.ResponsiveDialogRenderer(type.parent, type.serviceLocator);\n type.responsiveDialogRenderer.action = action;\n }\n else {\n if (type.responsiveDialogRenderer) {\n type.responsiveDialogRenderer.removeEventListener();\n type.responsiveDialogRenderer = undefined;\n }\n }\n };\n return ServiceLocator;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/service-locator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CaptionSummaryModelGenerator: () => (/* binding */ CaptionSummaryModelGenerator),\n/* harmony export */ GroupSummaryModelGenerator: () => (/* binding */ GroupSummaryModelGenerator),\n/* harmony export */ SummaryModelGenerator: () => (/* binding */ SummaryModelGenerator)\n/* harmony export */ });\n/* harmony import */ var _models_row__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/row */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/row.js\");\n/* harmony import */ var _models_column__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../models/column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/enum */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/enum.js\");\n/* harmony import */ var _models_cell__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../models/cell */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/cell.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n/**\n * Summary row model generator\n *\n * @hidden\n */\nvar SummaryModelGenerator = /** @class */ (function () {\n /**\n * Constructor for Summary row model generator\n *\n * @param {IGrid} parent - specifies the IGrid\n */\n function SummaryModelGenerator(parent) {\n this.parent = parent;\n }\n SummaryModelGenerator.prototype.getData = function () {\n var _this = this;\n var rows = [];\n var row = this.parent.aggregates.slice();\n for (var i = 0; i < row.length; i++) {\n var columns = row[parseInt(i.toString(), 10)].columns.filter(function (column) {\n return !(column.footerTemplate || column.groupFooterTemplate || column.groupCaptionTemplate)\n || _this.columnSelector(column);\n });\n if (columns.length) {\n rows.push({ columns: columns });\n }\n }\n return rows;\n };\n SummaryModelGenerator.prototype.columnSelector = function (column) {\n return column.footerTemplate !== undefined;\n };\n SummaryModelGenerator.prototype.getColumns = function (start) {\n var columns = [];\n if (this.parent.detailTemplate || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.childGrid)) {\n columns.push(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({}));\n }\n if (this.parent.allowGrouping) {\n for (var i = 0; i < this.parent.groupSettings.columns.length; i++) {\n columns.push(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({}));\n }\n }\n if (this.parent.isRowDragable() && !start) {\n columns.push(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({}));\n }\n columns.push.apply(columns, this.parent.getColumns());\n return columns;\n };\n SummaryModelGenerator.prototype.generateRows = function (input, args, start, end, columns) {\n if (input.length === 0) {\n if (args === undefined || !(args.count || args.loadSummaryOnEmpty)) {\n return [];\n }\n }\n var data = this.buildSummaryData(input, args);\n var rows = [];\n var row = this.getData();\n for (var i = 0; i < row.length; i++) {\n rows.push(this.getGeneratedRow(row[parseInt(i.toString(), 10)], data[parseInt(i.toString(), 10)], args ? args.level : undefined, start, end, args ? args.parentUid : undefined, columns));\n }\n return rows;\n };\n SummaryModelGenerator.prototype.getGeneratedRow = function (summaryRow, data, raw, start, end, parentUid, columns) {\n var tmp = [];\n var indents = this.getIndentByLevel();\n var isDetailGridAlone = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.childGrid);\n var indentLength = this.parent.getIndentCount();\n if (this.parent.groupSettings.columns.length && this.parent.allowRowDragAndDrop) {\n indents.push('e-indentcelltop');\n }\n else if (this.parent.isRowDragable() && !start) {\n indents = ['e-indentcelltop'];\n }\n var values = columns ? columns : this.getColumns(start);\n for (var i = 0; i < values.length; i++) {\n tmp.push(this.getGeneratedCell(values[parseInt(i.toString(), 10)], summaryRow, i >= indentLength ? this.getCellType() :\n i === 0 && this.parent.childGrid ? _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.DetailFooterIntent : _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Indent, indents[parseInt(i.toString(), 10)], isDetailGridAlone));\n }\n var row = new _models_row__WEBPACK_IMPORTED_MODULE_3__.Row({ data: data, attributes: { class: 'e-summaryrow' } });\n row.cells = tmp;\n row.uid = (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.getUid)('grid-row');\n row.parentUid = parentUid;\n row.isAggregateRow = true;\n row.visible = tmp.some(function (cell) { return cell.isDataCell && cell.visible; });\n return row;\n };\n SummaryModelGenerator.prototype.getGeneratedCell = function (column, summaryRow, cellType, indent, isDetailGridAlone) {\n //Get the summary column by display\n var sColumn = summaryRow.columns.filter(function (scolumn) { return scolumn.columnName === column.field; })[0];\n var attrs = {\n 'e-mappinguid': column.uid, index: column.index\n };\n if (column.textAlign) {\n var alignmentClassMap = { right: 'e-rightalign', left: 'e-leftalign', center: 'e-centeralign', justify: 'e-justifyalign' };\n if (alignmentClassMap[column.textAlign.toLowerCase()]) {\n attrs.class = alignmentClassMap[column.textAlign.toLowerCase()];\n }\n }\n if (indent) {\n attrs.class = indent;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(indent) && isDetailGridAlone) {\n attrs.class = 'e-detailindentcelltop';\n }\n var opt = {\n 'visible': column.visible,\n 'isDataCell': !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(sColumn),\n 'isTemplate': sColumn && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(sColumn.footerTemplate\n || sColumn.groupFooterTemplate || sColumn.groupCaptionTemplate),\n 'column': sColumn || {},\n 'attributes': attrs,\n 'cellType': cellType\n };\n opt.column.headerText = column.headerText;\n return new _models_cell__WEBPACK_IMPORTED_MODULE_5__.Cell(opt);\n };\n SummaryModelGenerator.prototype.buildSummaryData = function (data, args) {\n var dummy = [];\n var summaryRows = this.getData();\n var single = {};\n for (var i = 0; i < summaryRows.length; i++) {\n single = {};\n var column = summaryRows[parseInt(i.toString(), 10)].columns;\n for (var j = 0; j < column.length; j++) {\n single = this.setTemplate(column[parseInt(j.toString(), 10)], (args && args.aggregates) ? args : data, single);\n }\n dummy.push(single);\n }\n return dummy;\n };\n SummaryModelGenerator.prototype.getIndentByLevel = function () {\n return this.parent.groupSettings.columns.map(function () { return 'e-indentcelltop'; });\n };\n SummaryModelGenerator.prototype.setTemplate = function (column, data, single) {\n var types = column.type;\n var helper = {};\n var formatFn = column.getFormatter() || (function () { return function (a) { return a; }; })();\n var group = data;\n if (!(types instanceof Array)) {\n types = [column.type];\n }\n for (var i = 0; i < types.length; i++) {\n var key = column.field + ' - ' + types[parseInt(i.toString(), 10)].toLowerCase();\n var disp = column.columnName;\n var disablePageWiseAggregatesGroup = this.parent.groupSettings.disablePageWiseAggregates\n && this.parent.groupSettings.columns.length && group.items ? true : false;\n var val = (types[parseInt(i.toString(), 10)] !== 'Custom' || disablePageWiseAggregatesGroup) && group.aggregates\n && key in group.aggregates ? group.aggregates[\"\" + key] :\n (0,_base_util__WEBPACK_IMPORTED_MODULE_4__.calculateAggregate)(types[parseInt(i.toString(), 10)], group.aggregates ? group : data, column, this.parent);\n single[\"\" + disp] = single[\"\" + disp] || {};\n single[\"\" + disp][\"\" + key] = val;\n single[\"\" + disp][types[parseInt(i.toString(), 10)]] = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(val) ? formatFn(val) : ' ';\n if (group.field) {\n single[\"\" + disp].field = group.field;\n single[\"\" + disp].key = group.key;\n }\n }\n helper.format = column.getFormatter();\n column.setTemplate(helper);\n return single;\n };\n SummaryModelGenerator.prototype.getCellType = function () {\n return _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.Summary;\n };\n return SummaryModelGenerator;\n}());\n\nvar GroupSummaryModelGenerator = /** @class */ (function (_super) {\n __extends(GroupSummaryModelGenerator, _super);\n function GroupSummaryModelGenerator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupSummaryModelGenerator.prototype.columnSelector = function (column) {\n return column.groupFooterTemplate !== undefined;\n };\n GroupSummaryModelGenerator.prototype.getIndentByLevel = function (level) {\n if (level === void 0) { level = this.parent.groupSettings.columns.length; }\n if (this.parent.allowRowDragAndDrop && this.parent.groupSettings.columns.length) {\n level -= 1;\n }\n return this.parent.groupSettings.columns.map(function (v, indx) { return indx <= level - 1 ? '' : 'e-indentcelltop'; });\n };\n GroupSummaryModelGenerator.prototype.getCellType = function () {\n return _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.GroupSummary;\n };\n return GroupSummaryModelGenerator;\n}(SummaryModelGenerator));\n\nvar CaptionSummaryModelGenerator = /** @class */ (function (_super) {\n __extends(CaptionSummaryModelGenerator, _super);\n function CaptionSummaryModelGenerator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CaptionSummaryModelGenerator.prototype.columnSelector = function (column) {\n return column.groupCaptionTemplate !== undefined;\n };\n CaptionSummaryModelGenerator.prototype.getData = function () {\n var initVal = { columns: [] };\n return [_super.prototype.getData.call(this).reduce(function (prev, cur) {\n prev.columns = prev.columns.concat(cur.columns);\n return prev;\n }, initVal)];\n };\n CaptionSummaryModelGenerator.prototype.isEmpty = function () {\n return (this.getData()[0].columns || []).length === 0;\n };\n CaptionSummaryModelGenerator.prototype.getCellType = function () {\n return _base_enum__WEBPACK_IMPORTED_MODULE_2__.CellType.CaptionSummary;\n };\n return CaptionSummaryModelGenerator;\n}(SummaryModelGenerator));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ValueFormatter: () => (/* binding */ ValueFormatter)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n\n/**\n * ValueFormatter class to globalize the value.\n *\n * @hidden\n */\nvar ValueFormatter = /** @class */ (function () {\n function ValueFormatter(cultureName) {\n this.intl = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cultureName)) {\n this.intl.culture = cultureName;\n }\n }\n ValueFormatter.prototype.getFormatFunction = function (format) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format) && (format.type === 'dateTime' || format.type === 'datetime' || format.type === 'date' || format.type === 'time')) {\n return this.intl.getDateFormat(format);\n }\n else {\n return this.intl.getNumberFormat(format);\n }\n };\n ValueFormatter.prototype.getParserFunction = function (format) {\n if (format.type) {\n return this.intl.getDateParser(format);\n }\n else {\n return this.intl.getNumberParser(format);\n }\n };\n ValueFormatter.prototype.fromView = function (value, format, type) {\n if ((type === 'date' || type === 'datetime' || type === 'number') && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format))) {\n return format(value);\n }\n else {\n return value;\n }\n };\n ValueFormatter.prototype.toView = function (value, format) {\n var result = value;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(format) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n result = format(value);\n }\n return result;\n };\n ValueFormatter.prototype.setCulture = function (cultureName) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cultureName)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setCulture)(cultureName);\n }\n };\n return ValueFormatter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/virtual-row-model-generator.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/virtual-row-model-generator.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VirtualRowModelGenerator: () => (/* binding */ VirtualRowModelGenerator)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _services_row_model_generator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/row-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.js\");\n/* harmony import */ var _services_group_model_generator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/group-model-generator */ \"./node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n/**\n * Content module is used to render grid content\n */\nvar VirtualRowModelGenerator = /** @class */ (function () {\n function VirtualRowModelGenerator(parent) {\n this.cOffsets = {};\n this.cache = {};\n this.rowCache = {};\n this.data = {};\n this.groups = {};\n this.currentInfo = {};\n this.prevInfo = {};\n this.parent = parent;\n this.model = this.parent.pageSettings;\n this.rowModelGenerator = this.parent.allowGrouping ? new _services_group_model_generator__WEBPACK_IMPORTED_MODULE_1__.GroupModelGenerator(this.parent) : new _services_row_model_generator__WEBPACK_IMPORTED_MODULE_2__.RowModelGenerator(this.parent);\n }\n VirtualRowModelGenerator.prototype.columnInfiniteRows = function (data, e) {\n var result = [];\n if (e.requestType === 'virtualscroll') {\n var rows = this.parent.getRowsObject();\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, this.rowModelGenerator.refreshRows(rows));\n if (this.parent.infiniteScrollSettings.enableCache) {\n var currentRowStartIndex = this.parent.frozenRows && this.parent.pageSettings.currentPage === 1 ? 0\n : (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getRowIndexFromElement)(this.parent.getContentTable().querySelector('.e-row:not(.e-addedrow)'));\n var newResult = result\n .slice(currentRowStartIndex, currentRowStartIndex + (this.parent.pageSettings.pageSize * 3));\n if (this.parent.frozenRows && this.parent.pageSettings.currentPage !== 1) {\n newResult = result.slice(0, this.parent.frozenRows).concat(newResult);\n }\n result = newResult;\n }\n }\n else {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, this.rowModelGenerator.generateRows(data, e));\n }\n return result;\n };\n VirtualRowModelGenerator.prototype.generateRows = function (data, e) {\n var _this = this;\n if (this.parent.enableColumnVirtualization && this.parent.enableInfiniteScrolling) {\n return this.columnInfiniteRows(data, e);\n }\n var isManualRefresh = false;\n var info = e.virtualInfo = e.virtualInfo\n || ((e.requestType === 'sorting' || e.requestType === 'delete') && (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.checkIsVirtual)(this.parent) && this.prevInfo)\n || this.getData();\n this.prevInfo = info;\n var xAxis = info.sentinelInfo && info.sentinelInfo.axis === 'X';\n var page = !xAxis && info.loadNext && !info.loadSelf ? info.nextInfo.page : info.page;\n var result = [];\n var indexes = this.getBlockIndexes(page);\n var loadedBlocks = [];\n if (this.currentInfo.blockIndexes) {\n indexes = info.blockIndexes = e.virtualInfo.blockIndexes = this.includePrevPage ? this.currentInfo.blockIndexes.slice(1)\n : this.currentInfo.blockIndexes.slice(0, this.currentInfo.blockIndexes.length - 1);\n isManualRefresh = true;\n }\n this.checkAndResetCache(e.requestType);\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(this.parent) && this.parent.vcRows.length) {\n var dataRows = this.parent.vcRows.filter(function (row) { return row.isDataRow; });\n if ((this.parent.isManualRefresh && dataRows.length === data['records'].length) || !this.parent.isManualRefresh) {\n return result = this.parent.vcRows;\n }\n }\n if (this.parent.enableColumnVirtualization) {\n for (var i = 0; i < info.blockIndexes.length; i++) {\n if (this.isBlockAvailable(info.blockIndexes[parseInt(i.toString(), 10)])) {\n this.cache[info.blockIndexes[parseInt(i.toString(), 10)]] =\n this.rowModelGenerator.refreshRows(this.cache[info.blockIndexes[parseInt(i.toString(), 10)]]);\n }\n }\n }\n var values = info.blockIndexes;\n var _loop_1 = function (i) {\n if (!this_1.isBlockAvailable(values[parseInt(i.toString(), 10)])) {\n var startIdx = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this_1.startIndex) ? this_1.startIndex :\n this_1.getStartIndex(values[parseInt(i.toString(), 10)], data);\n startIdx = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(this_1.parent) && !this_1.parent.vcRows.length && (e.requestType === 'sorting'\n || e.requestType === 'delete') ? 0 : startIdx;\n var rows = this_1.rowModelGenerator.generateRows(data, {\n virtualInfo: info, startIndex: startIdx\n });\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(this_1.parent) && !this_1.parent.vcRows.length) {\n this_1.recordsCount = data.records.length;\n this_1.parent.vRows = rows;\n this_1.parent.vcRows = rows;\n this_1.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_4__.refreshVirtualMaxPage, {});\n }\n var median = void 0;\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(this_1.parent)) {\n this_1.getGroupVirtualRecordsByIndex(rows);\n }\n else {\n if (isManualRefresh) {\n this_1.setBlockForManualRefresh(this_1.cache, indexes, rows);\n }\n else if ((e.requestType === 'sorting' || e.requestType === 'delete') && (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.checkIsVirtual)(this_1.parent)) {\n var visiblePage = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getVisiblePage)(info.blockIndexes);\n var prevEndIndex = 0;\n for (var i_1 = 0; i_1 < visiblePage.length; i_1++) {\n var indexes_1 = this_1.getBlockIndexes(visiblePage[parseInt(i_1.toString(), 10)]);\n var startIndex = this_1.model.pageSize * i_1;\n var endIndex = startIndex + this_1.model.pageSize;\n if (this_1.parent.allowGrouping && this_1.parent.groupSettings.columns.length) {\n var dataRowObject = rows.filter(function (row) { return row.isDataRow; })\n .slice(startIndex, endIndex);\n startIndex = prevEndIndex;\n endIndex = rows.indexOf(dataRowObject[dataRowObject.length - 1]) + 1;\n }\n var pageRecord = rows.slice(startIndex, endIndex);\n var median_1 = ~~Math.max(pageRecord.length, this_1.model.pageSize) / 2;\n if (!this_1.isBlockAvailable(indexes_1[0])) {\n this_1.cache[indexes_1[0]] = pageRecord.slice(0, median_1);\n }\n if (!this_1.isBlockAvailable(indexes_1[1])) {\n this_1.cache[indexes_1[1]] = pageRecord.slice(median_1);\n }\n prevEndIndex = endIndex;\n }\n }\n else {\n median = ~~Math.max(rows.length, this_1.model.pageSize) / 2;\n if (!this_1.isBlockAvailable(indexes[0])) {\n this_1.cache[indexes[0]] = rows.slice(0, median);\n }\n if (!this_1.isBlockAvailable(indexes[1])) {\n this_1.cache[indexes[1]] = rows.slice(median);\n }\n }\n }\n }\n if (this_1.parent.groupSettings.columns.length && !xAxis && this_1.cache[values[parseInt(i.toString(), 10)]] &&\n !this_1.parent.groupSettings.enableLazyLoading) {\n this_1.cache[values[parseInt(i.toString(), 10)]] =\n this_1.updateGroupRow(this_1.cache[values[parseInt(i.toString(), 10)]], values[parseInt(i.toString(), 10)]);\n }\n if (!e.renderMovableContent && !e.renderFrozenRightContent && this_1.cache[values[parseInt(i.toString(), 10)]]) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, this_1.cache[values[parseInt(i.toString(), 10)]]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var DataRecord_1 = [];\n if (this_1.parent.enableVirtualization && this_1.parent.groupSettings.columns.length) {\n result.forEach(function (data) {\n if (!DataRecord_1.includes(data)) {\n DataRecord_1.push(data);\n }\n });\n }\n result = DataRecord_1.length ? DataRecord_1 : result;\n }\n if (this_1.isBlockAvailable(values[parseInt(i.toString(), 10)])) {\n loadedBlocks.push(values[parseInt(i.toString(), 10)]);\n }\n };\n var this_1 = this;\n for (var i = 0; i < values.length; i++) {\n _loop_1(i);\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(this.parent) && this.parent.vcRows.length && e.requestType === 'sorting'\n && e.scrollTop.top !== 0) {\n return result = this.parent.vcRows;\n }\n info.blockIndexes = loadedBlocks;\n var grouping = 'records';\n if (this.parent.allowGrouping && this.parent.groupSettings.columns.length) {\n this.parent.currentViewData[\"\" + grouping] = result.map(function (m) { return m.data; });\n }\n else {\n this.parent.currentViewData = result.map(function (m) { return m.data; });\n }\n if (e.requestType === 'grouping') {\n this.parent.currentViewData[\"\" + grouping] = this.parent.currentViewData[\"\" + grouping].filter(function (item, index) {\n return _this.parent.currentViewData[\"\" + grouping].indexOf(item) === index;\n });\n }\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.isGroupAdaptive)(this.parent) && this.parent.vcRows.length) {\n if (['save', 'delete'].some(function (value) { return e.requestType === value; })) {\n return result = this.parent.vcRows;\n }\n }\n return result;\n };\n VirtualRowModelGenerator.prototype.setBlockForManualRefresh = function (cache, blocks, rows) {\n var size = this.model.pageSize / 2;\n if (this.includePrevPage) {\n cache[blocks[0] - 1] = rows.slice(0, size);\n cache[blocks[0]] = rows.slice(size, size * 2);\n cache[blocks[1]] = rows.slice(size * 2, size * 3);\n cache[blocks[2]] = rows.slice(size * 3, size * 4);\n }\n else {\n cache[blocks[0]] = rows.slice(0, size);\n cache[blocks[1]] = rows.slice(size, size * 2);\n cache[blocks[2]] = rows.slice(size * 2, size * 3);\n cache[blocks[2] + 1] = rows.slice(size * 3, size * 4);\n }\n };\n VirtualRowModelGenerator.prototype.getBlockIndexes = function (page) {\n return [page + (page - 1), page * 2];\n };\n VirtualRowModelGenerator.prototype.getPage = function (block) {\n return block % 2 === 0 ? block / 2 : (block + 1) / 2;\n };\n VirtualRowModelGenerator.prototype.isBlockAvailable = function (value) {\n return value in this.cache;\n };\n VirtualRowModelGenerator.prototype.getData = function () {\n return {\n page: this.model.currentPage,\n blockIndexes: this.getBlockIndexes(this.model.currentPage),\n direction: 'down',\n columnIndexes: this.parent.getColumnIndexesInView()\n };\n };\n VirtualRowModelGenerator.prototype.getStartIndex = function (blk, data, full) {\n if (full === void 0) { full = true; }\n var page = this.getPage(blk);\n var even = blk % 2 === 0;\n var index = (page - 1) * this.model.pageSize;\n return full || !even ? index : index + ~~(this.model.pageSize / 2);\n };\n VirtualRowModelGenerator.prototype.getColumnIndexes = function (content) {\n var _this = this;\n if (content === void 0) { content = this.parent.getHeaderContent().querySelector('.' + _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.headerContent); }\n var indexes = [];\n var sLeft = content.scrollLeft | 0;\n var keys = Object.keys(this.cOffsets);\n var cWidth = content.getBoundingClientRect().width;\n sLeft = Math.min(this.cOffsets[keys.length - 1] - cWidth, sLeft);\n var calWidth = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice ? 2 * cWidth : cWidth / 2;\n var left = sLeft + cWidth + (sLeft === 0 ? calWidth : 0);\n var frzLeftWidth = 0;\n var diffWidth = sLeft - calWidth;\n if (this.parent.isFrozenGrid()) {\n frzLeftWidth = this.parent.leftrightColumnWidth('left');\n if (diffWidth > 0) {\n for (var i = this.parent.getVisibleFrozenLeftCount() - 1; i >= 0; i--) {\n if (diffWidth <= this.cOffsets[parseInt(i.toString(), 10)]) {\n frzLeftWidth = frzLeftWidth - this.cOffsets[parseInt(i.toString(), 10)];\n break;\n }\n }\n }\n if (this.parent.getFrozenMode() === _base_string_literals__WEBPACK_IMPORTED_MODULE_5__.leftRight) {\n var rightCol = this.parent.getVisibleFrozenRightCount();\n keys.splice((keys.length - 1) - rightCol, rightCol);\n }\n }\n var frozenLeftCount = this.parent.getVisibleFrozenLeftCount();\n keys.some(function (offset) {\n var iOffset = Number(offset);\n var offsetVal = _this.cOffsets[\"\" + offset];\n var border = (diffWidth < 0 && iOffset < frozenLeftCount) || ((diffWidth + frzLeftWidth) <= offsetVal &&\n (left + calWidth) >= offsetVal);\n if (border) {\n indexes.push(iOffset);\n }\n return left + calWidth < offsetVal;\n });\n return indexes;\n };\n VirtualRowModelGenerator.prototype.checkAndResetCache = function (action) {\n var actions = ['paging', 'refresh', 'sorting', 'filtering', 'searching', 'grouping', 'ungrouping', 'reorder',\n 'save', 'delete'];\n var clear = actions.some(function (value) { return action === value; });\n if (clear) {\n this.cache = {};\n this.data = {};\n this.groups = {};\n }\n return clear;\n };\n VirtualRowModelGenerator.prototype.refreshColOffsets = function () {\n var _this = this;\n var col = 0;\n this.cOffsets = {};\n var gLen = this.parent.groupSettings.columns.length;\n var cols = this.parent.getVisibleColumns();\n var cLen = cols.length;\n var isVisible = function (column) { return column.visible &&\n (!_this.parent.groupSettings.showGroupedColumn ? _this.parent.groupSettings.columns.indexOf(column.field) < 0 : column.visible); };\n var c = this.parent.groupSettings.columns;\n for (var i = 0; i < c.length; i++) {\n this.cOffsets[parseInt(i.toString(), 10)] = (this.cOffsets[i - 1] | 0) + 30;\n }\n // eslint-disable-next-line prefer-spread\n var blocks = Array.apply(null, Array(cLen)).map(function () { return col++; });\n for (var j = 0; j < blocks.length; j++) {\n blocks[parseInt(j.toString(), 10)] = blocks[parseInt(j.toString(), 10)] + gLen;\n this.cOffsets[blocks[parseInt(j.toString(), 10)]] =\n (this.cOffsets[blocks[parseInt(j.toString(), 10)] - 1] | 0) + (isVisible(cols[parseInt(j.toString(), 10)]) ?\n parseInt(cols[parseInt(j.toString(), 10)].width, 10) : 0);\n }\n };\n VirtualRowModelGenerator.prototype.updateGroupRow = function (current, block) {\n var currentFirst = current[0];\n var rows = [];\n var keys = Object.keys(this.cache);\n for (var i = 0; i < keys.length; i++) {\n if (Number(keys[parseInt(i.toString(), 10)]) < block) {\n rows = rows.concat(this.cache[keys[parseInt(i.toString(), 10)]]);\n }\n }\n if ((currentFirst && currentFirst.isDataRow) || block % 2 === 0) {\n return current;\n }\n return this.iterateGroup(current, rows);\n };\n VirtualRowModelGenerator.prototype.iterateGroup = function (current, rows) {\n var currentFirst = current[0];\n var offset = 0;\n if (currentFirst && currentFirst.isDataRow) {\n return current;\n }\n var isPresent = current.some(function (row) {\n return rows.some(function (oRow, index) {\n var res = oRow && oRow.data.field !== undefined\n && oRow.data.field === row.data.field &&\n oRow.data.key === row.data.key;\n if (res) {\n offset = index;\n }\n return res;\n });\n });\n if (isPresent) {\n current.shift();\n current = this.iterateGroup(current, rows.slice(offset));\n }\n return current;\n };\n VirtualRowModelGenerator.prototype.getRows = function () {\n var rows = [];\n var keys = Object.keys(this.cache);\n for (var i = 0; i < keys.length; i++) {\n rows = rows.concat(this.cache[keys[parseInt(i.toString(), 10)]]);\n }\n return rows;\n };\n VirtualRowModelGenerator.prototype.generateCells = function (foreignKeyData) {\n var cells = [];\n var cols = this.parent.columnModel;\n for (var i = 0; i < cols.length; i++) {\n cells.push(this.rowModelGenerator.generateCell(cols[parseInt(i.toString(), 10)], null, null, null, null, foreignKeyData));\n }\n return cells;\n };\n VirtualRowModelGenerator.prototype.getGroupVirtualRecordsByIndex = function (rows) {\n var blocks = this.parent.contentModule.getGroupedTotalBlocks();\n var blockSize = this.parent.contentModule.getBlockSize();\n if (Object.keys(this.cache).length === 0) {\n var countGroupRow = 0;\n for (var i = 1; i <= blocks; i++) {\n var count = 0;\n this.cache[parseInt(i.toString(), 10)] = [];\n for (var j = ((i - 1) * blockSize + countGroupRow); j < rows.length; j++) {\n if (count === blockSize) {\n break;\n }\n this.cache[parseInt(i.toString(), 10)].push(rows[parseInt(j.toString(), 10)]);\n if (rows[parseInt(j.toString(), 10)].isDataRow) {\n count++;\n }\n countGroupRow++;\n }\n countGroupRow -= count;\n }\n }\n };\n return VirtualRowModelGenerator;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/virtual-row-model-generator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColumnWidthService: () => (/* binding */ ColumnWidthService)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _base_constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\n/* harmony import */ var _models_column__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../models/column */ \"./node_modules/@syncfusion/ej2-grids/src/grid/models/column.js\");\n/* harmony import */ var _base_util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _base_string_literals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../base/string-literals */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.js\");\n\n\n\n\n\n\n/**\n * ColumnWidthService\n *\n * @hidden\n */\nvar ColumnWidthService = /** @class */ (function () {\n function ColumnWidthService(parent) {\n this.parent = parent;\n }\n ColumnWidthService.prototype.setWidthToColumns = function () {\n var i = 0;\n var indexes = this.parent.getColumnIndexesInView();\n var wFlag = true;\n var totalColumnsWidth = 0;\n if (this.parent.allowGrouping) {\n for (var len = this.parent.groupSettings.columns.length; i < len; i++) {\n if (this.parent.enableColumnVirtualization && indexes.indexOf(i) === -1) {\n wFlag = false;\n continue;\n }\n this.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({ width: '30px' }), i);\n }\n }\n if (this.parent.detailTemplate || this.parent.childGrid) {\n this.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({ width: '30px' }), i);\n i++;\n }\n if (this.parent.isRowDragable() && this.parent.getFrozenMode() !== 'Right') {\n this.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({ width: '30px' }), i);\n i++;\n }\n var columns = this.parent.getColumns();\n for (var j = 0; j < columns.length; j++) {\n this.setColumnWidth(columns[parseInt(j.toString(), 10)], wFlag && this.parent.enableColumnVirtualization ? undefined : j + i);\n }\n if (this.parent.isRowDragable() && this.parent.getFrozenMode() === 'Right') {\n this.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({ width: '30px' }), this.parent.groupSettings.columns.length + columns.length);\n }\n totalColumnsWidth = this.getTableWidth(this.parent.getColumns());\n if (totalColumnsWidth !== 'auto') {\n if (this.parent.width !== 'auto' && this.parent.width.toString().indexOf('%') === -1) {\n this.setMinwidthBycalculation(totalColumnsWidth);\n }\n var maxWidthColumns = columns.filter(function (a) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(a.maxWidth);\n });\n var header = this.parent.getHeaderTable();\n var content = this.parent.getContentTable();\n if (this.parent.allowResizing && this.parent.element.getBoundingClientRect().width > totalColumnsWidth &&\n maxWidthColumns.length === columns.length && header && content) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([header, content], ['e-tableborder']);\n }\n }\n };\n ColumnWidthService.prototype.setMinwidthBycalculation = function (tWidth) {\n var _this = this;\n var difference = 0;\n var collection = this.parent.getColumns().filter(function (a) {\n if (_this.parent.allowResizing) {\n return ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(a.width) || a.width === 'auto') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(a.maxWidth);\n }\n else {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(a.width) || a.width === 'auto';\n }\n });\n if (collection.length) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.parent.width) && this.parent.width !== 'auto' &&\n typeof (this.parent.width) === 'string' && this.parent.width.indexOf('%') === -1) {\n difference = parseInt(this.parent.width, 10) - tWidth;\n }\n else {\n difference = this.parent.element.getBoundingClientRect().width - tWidth;\n }\n var tmWidth = 0;\n for (var _i = 0, collection_1 = collection; _i < collection_1.length; _i++) {\n var cols = collection_1[_i];\n tmWidth += !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cols.minWidth) ?\n ((typeof cols.minWidth === 'string' ? parseInt(cols.minWidth, 10) : cols.minWidth)) : 0;\n }\n for (var i = 0; i < collection.length; i++) {\n if (tWidth === 0 && this.parent.allowResizing && this.isWidthUndefined() && (i !== collection.length - 1)) {\n this.setUndefinedColumnWidth(collection);\n }\n var index = this.parent.getColumnIndexByField(collection[parseInt(i.toString(), 10)].field) + this.parent.getIndentCount();\n if (tWidth !== 0 && difference < tmWidth) {\n this.setWidth(collection[parseInt(i.toString(), 10)].minWidth, index);\n }\n else if (tWidth !== 0 && difference > tmWidth) {\n this.setWidth('', index, true);\n }\n }\n }\n };\n ColumnWidthService.prototype.setUndefinedColumnWidth = function (collection) {\n for (var k = 0; k < collection.length; k++) {\n if (k !== collection.length - 1) {\n collection[parseInt(k.toString(), 10)].width = 200;\n this.setWidth(200, this.parent.getColumnIndexByField(collection[parseInt(k.toString(), 10)].field));\n }\n }\n };\n ColumnWidthService.prototype.setColumnWidth = function (column, index, module) {\n if (this.parent.getColumns().length < 1) {\n return;\n }\n var columnIndex = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index) ? this.parent.getNormalizedColumnIndex(column.uid) : index;\n var cWidth = this.getWidth(column);\n var tgridWidth = this.getTableWidth(this.parent.getColumns());\n if (cWidth !== null) {\n this.setWidth(cWidth, columnIndex);\n if (this.parent.width !== 'auto' && this.parent.width.toString().indexOf('%') === -1 && tgridWidth !== 'auto') {\n this.setMinwidthBycalculation(tgridWidth);\n }\n if (this.parent.allowResizing && (module === 'resize' || this.parent.getFrozenColumns())) {\n var contentTable = this.parent.getContentTable();\n this.setWidthToTable(this.parent.getFrozenColumns() && contentTable.style.width.indexOf('px') === -1 && tgridWidth < contentTable.clientWidth);\n }\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.columnWidthChanged, { index: columnIndex, width: cWidth, column: column, module: module });\n }\n };\n ColumnWidthService.prototype.setWidth = function (width, index, clear) {\n if (this.parent.groupSettings.columns.length > index && (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.ispercentageWidth)(this.parent) &&\n !(this.parent.resizeModule && this.parent.resizeModule.resizeProcess)) {\n var elementWidth = this.parent.element.offsetWidth;\n width = (30 / elementWidth * 100).toFixed(1) + '%';\n }\n var header = this.parent.getHeaderTable();\n var content = this.parent.getContentTable();\n var fWidth = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n var headerCol = header.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.colGroup)\n .children[parseInt(index.toString(), 10)];\n if (headerCol && !clear) {\n headerCol.style.width = fWidth;\n }\n else if (headerCol && clear) {\n headerCol.style.width = '';\n }\n var contentCol = content.querySelector(_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.colGroup).children[parseInt(index.toString(), 10)];\n if (contentCol && !clear) {\n contentCol.style.width = fWidth;\n }\n else if (contentCol && clear) {\n contentCol.style.width = '';\n }\n if (!this.parent.enableColumnVirtualization && this.parent.isEdit) {\n var edit = this.parent.element.querySelectorAll('.e-table.e-inline-edit');\n var editTableCol = [];\n for (var i = 0; i < edit.length; i++) {\n if ((0,_base_util__WEBPACK_IMPORTED_MODULE_3__.parentsUntil)(edit[parseInt(i.toString(), 10)], 'e-grid').id === this.parent.element.id) {\n for (var j = 0; j < edit[parseInt(i.toString(), 10)].querySelector('colgroup').children.length; j++) {\n editTableCol.push(edit[parseInt(i.toString(), 10)].querySelector('colgroup').children[parseInt(j.toString(), 10)]);\n }\n }\n }\n if (edit.length && editTableCol.length && editTableCol[parseInt(index.toString(), 10)]) {\n editTableCol[parseInt(index.toString(), 10)].style.width = fWidth;\n }\n }\n if (this.parent.isFrozenGrid() && this.parent.enableColumnVirtualization) {\n this.refreshFrozenScrollbar();\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n ColumnWidthService.prototype.refreshFrozenScrollbar = function () {\n var args = { cancel: false };\n this.parent.notify(_base_constant__WEBPACK_IMPORTED_MODULE_2__.preventFrozenScrollRefresh, args);\n if (args.cancel) {\n return;\n }\n var scrollWidth = (0,_base_util__WEBPACK_IMPORTED_MODULE_3__.getScrollBarWidth)();\n var movableScrollbar = this.parent.element.querySelector('.e-movablescrollbar');\n var movableWidth = this.parent.getContent().firstElementChild.getBoundingClientRect().width;\n if (this.parent.enableColumnVirtualization) {\n var placeHolder = this.parent.getContent().querySelector('.e-virtualtrack');\n if (placeHolder) {\n movableWidth = placeHolder.scrollWidth;\n }\n }\n if (this.parent.height !== 'auto') {\n movableWidth = movableWidth + scrollWidth;\n }\n movableScrollbar.firstElementChild.style.width = movableWidth + 'px';\n };\n ColumnWidthService.prototype.getSiblingsHeight = function (element) {\n var previous = this.getHeightFromDirection(element, 'previous');\n var next = this.getHeightFromDirection(element, 'next');\n return previous + next;\n };\n ColumnWidthService.prototype.getHeightFromDirection = function (element, direction) {\n var sibling = element[direction + 'ElementSibling'];\n var result = 0;\n var classList = [_base_string_literals__WEBPACK_IMPORTED_MODULE_4__.gridHeader, _base_string_literals__WEBPACK_IMPORTED_MODULE_4__.gridFooter, 'e-groupdroparea', 'e-gridpager', 'e-toolbar', 'e-temp-toolbar'];\n while (sibling) {\n if (classList.some(function (value) { return sibling.classList.contains(value); })) {\n result += sibling.offsetHeight;\n }\n sibling = sibling[direction + 'ElementSibling'];\n }\n return result;\n };\n ColumnWidthService.prototype.isWidthUndefined = function () {\n var isWidUndefCount = this.parent.getColumns().filter(function (col) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.width) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(col.minWidth);\n }).length;\n return (this.parent.getColumns().length === isWidUndefCount);\n };\n ColumnWidthService.prototype.getWidth = function (column) {\n if (this.parent.allowResizing && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.width)) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.minWidth) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(column.maxWidth)\n && !this.isWidthUndefined()) {\n column.width = 200;\n }\n else if (column.maxWidth) {\n column.width = column.maxWidth;\n }\n }\n if (!column.width) {\n return null;\n }\n var width = parseInt(column.width.toString(), 10);\n if (column.minWidth && width < parseInt(column.minWidth.toString(), 10)) {\n return column.minWidth;\n }\n else if (column.maxWidth && width > parseInt(column.maxWidth.toString(), 10)) {\n return column.maxWidth;\n }\n else {\n return column.width;\n }\n };\n ColumnWidthService.prototype.getTableWidth = function (columns, resetIndentWidth) {\n var tWidth = 0;\n var isAutoColumn = false;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (column.visible !== false) {\n var cWidth = this.getWidth(column);\n if (column.width === 'auto' || !column.width) {\n if (this.parent.allowResizing && !resetIndentWidth) {\n if (!column.maxWidth) {\n isAutoColumn = true;\n }\n }\n else {\n cWidth = 0;\n }\n }\n if (cWidth !== null) {\n tWidth += parseInt(cWidth.toString(), 10);\n }\n }\n }\n tWidth = isAutoColumn ? 'auto' : tWidth;\n return tWidth;\n };\n ColumnWidthService.prototype.setWidthToTable = function (isMaxWidth) {\n var tWidth = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.getTableWidth(this.parent.getColumns()));\n if (this.parent.detailTemplate || this.parent.childGrid) {\n this.setColumnWidth(new _models_column__WEBPACK_IMPORTED_MODULE_1__.Column({ width: '30px' }));\n }\n tWidth = (this.isAutoResize() || tWidth === 'auto' || isMaxWidth) ? '100%' : tWidth;\n this.parent.getHeaderTable().style.width = tWidth;\n this.parent.getContentTable().style.width = tWidth;\n var edit = this.parent.element.querySelector('.e-table.e-inline-edit');\n if (edit) {\n edit.style.width = tWidth;\n }\n };\n ColumnWidthService.prototype.isAutoResize = function () {\n return this.parent.allowResizing && this.parent.resizeSettings.mode === 'Auto';\n };\n return ColumnWidthService;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/index.js": +/*!*********************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/index.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Aggregate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Aggregate),\n/* harmony export */ AutoCompleteEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.AutoCompleteEditCell),\n/* harmony export */ BatchEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.BatchEdit),\n/* harmony export */ BatchEditRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.BatchEditRender),\n/* harmony export */ BooleanEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.BooleanEditCell),\n/* harmony export */ BooleanFilterUI: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.BooleanFilterUI),\n/* harmony export */ Cell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Cell),\n/* harmony export */ CellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CellRenderer),\n/* harmony export */ CellRendererFactory: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CellRendererFactory),\n/* harmony export */ CellType: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CellType),\n/* harmony export */ CheckBoxFilter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilter),\n/* harmony export */ CheckBoxFilterBase: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CheckBoxFilterBase),\n/* harmony export */ Clipboard: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Clipboard),\n/* harmony export */ Column: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Column),\n/* harmony export */ ColumnChooser: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ColumnChooser),\n/* harmony export */ ColumnMenu: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ColumnMenu),\n/* harmony export */ ComboboxEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ComboboxEditCell),\n/* harmony export */ CommandColumn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CommandColumn),\n/* harmony export */ CommandColumnModel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CommandColumnModel),\n/* harmony export */ CommandColumnRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.CommandColumnRenderer),\n/* harmony export */ ContentRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ContentRender),\n/* harmony export */ ContextMenu: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ContextMenu),\n/* harmony export */ Data: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Data),\n/* harmony export */ DateFilterUI: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DateFilterUI),\n/* harmony export */ DatePickerEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DatePickerEditCell),\n/* harmony export */ DefaultEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DefaultEditCell),\n/* harmony export */ DetailRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DetailRow),\n/* harmony export */ DialogEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DialogEdit),\n/* harmony export */ DialogEditRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DialogEditRender),\n/* harmony export */ DropDownEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.DropDownEditCell),\n/* harmony export */ Edit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Edit),\n/* harmony export */ EditCellBase: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.EditCellBase),\n/* harmony export */ EditRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.EditRender),\n/* harmony export */ EditSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.EditSettings),\n/* harmony export */ ExcelExport: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ExcelExport),\n/* harmony export */ ExcelFilter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ExcelFilter),\n/* harmony export */ ExcelFilterBase: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ExcelFilterBase),\n/* harmony export */ ExportHelper: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ExportHelper),\n/* harmony export */ ExportValueFormatter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ExportValueFormatter),\n/* harmony export */ ExternalMessage: () => (/* reexport safe */ _pager_index__WEBPACK_IMPORTED_MODULE_1__.ExternalMessage),\n/* harmony export */ Filter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Filter),\n/* harmony export */ FilterCellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.FilterCellRenderer),\n/* harmony export */ FilterSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.FilterSettings),\n/* harmony export */ FlMenuOptrUI: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.FlMenuOptrUI),\n/* harmony export */ ForeignKey: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ForeignKey),\n/* harmony export */ Freeze: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Freeze),\n/* harmony export */ Global: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Global),\n/* harmony export */ Grid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Grid),\n/* harmony export */ GridColumn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.GridColumn),\n/* harmony export */ Group: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Group),\n/* harmony export */ GroupCaptionCellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.GroupCaptionCellRenderer),\n/* harmony export */ GroupCaptionEmptyCellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.GroupCaptionEmptyCellRenderer),\n/* harmony export */ GroupLazyLoadRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.GroupLazyLoadRenderer),\n/* harmony export */ GroupModelGenerator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.GroupModelGenerator),\n/* harmony export */ GroupSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.GroupSettings),\n/* harmony export */ HeaderCellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.HeaderCellRenderer),\n/* harmony export */ HeaderRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.HeaderRender),\n/* harmony export */ IndentCellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.IndentCellRenderer),\n/* harmony export */ InfiniteScroll: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.InfiniteScroll),\n/* harmony export */ InfiniteScrollSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.InfiniteScrollSettings),\n/* harmony export */ InlineEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.InlineEdit),\n/* harmony export */ InlineEditRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.InlineEditRender),\n/* harmony export */ InterSectionObserver: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.InterSectionObserver),\n/* harmony export */ LazyLoadGroup: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.LazyLoadGroup),\n/* harmony export */ LoadingIndicator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.LoadingIndicator),\n/* harmony export */ Logger: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Logger),\n/* harmony export */ MaskedTextBoxCellEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.MaskedTextBoxCellEdit),\n/* harmony export */ MultiSelectEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.MultiSelectEditCell),\n/* harmony export */ NormalEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.NormalEdit),\n/* harmony export */ NumberFilterUI: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.NumberFilterUI),\n/* harmony export */ NumericContainer: () => (/* reexport safe */ _pager_index__WEBPACK_IMPORTED_MODULE_1__.NumericContainer),\n/* harmony export */ NumericEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.NumericEditCell),\n/* harmony export */ Page: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Page),\n/* harmony export */ Pager: () => (/* reexport safe */ _pager_index__WEBPACK_IMPORTED_MODULE_1__.Pager),\n/* harmony export */ PagerDropDown: () => (/* reexport safe */ _pager_index__WEBPACK_IMPORTED_MODULE_1__.PagerDropDown),\n/* harmony export */ PagerMessage: () => (/* reexport safe */ _pager_index__WEBPACK_IMPORTED_MODULE_1__.PagerMessage),\n/* harmony export */ PdfExport: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.PdfExport),\n/* harmony export */ Predicate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Predicate),\n/* harmony export */ Print: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Print),\n/* harmony export */ Render: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Render),\n/* harmony export */ RenderType: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.RenderType),\n/* harmony export */ Reorder: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Reorder),\n/* harmony export */ Resize: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Resize),\n/* harmony export */ ResizeSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ResizeSettings),\n/* harmony export */ ResponsiveDialogAction: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ResponsiveDialogAction),\n/* harmony export */ ResponsiveDialogRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ResponsiveDialogRenderer),\n/* harmony export */ ResponsiveToolbarAction: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ResponsiveToolbarAction),\n/* harmony export */ Row: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Row),\n/* harmony export */ RowDD: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.RowDD),\n/* harmony export */ RowDropSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.RowDropSettings),\n/* harmony export */ RowModelGenerator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.RowModelGenerator),\n/* harmony export */ RowRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.RowRenderer),\n/* harmony export */ Scroll: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Scroll),\n/* harmony export */ Search: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Search),\n/* harmony export */ SearchSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.SearchSettings),\n/* harmony export */ Selection: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Selection),\n/* harmony export */ SelectionSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.SelectionSettings),\n/* harmony export */ ServiceLocator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ServiceLocator),\n/* harmony export */ Sort: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Sort),\n/* harmony export */ SortDescriptor: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.SortDescriptor),\n/* harmony export */ SortSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.SortSettings),\n/* harmony export */ StackedColumn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.StackedColumn),\n/* harmony export */ StackedHeaderCellRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.StackedHeaderCellRenderer),\n/* harmony export */ StringFilterUI: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.StringFilterUI),\n/* harmony export */ TextWrapSettings: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.TextWrapSettings),\n/* harmony export */ TimePickerEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.TimePickerEditCell),\n/* harmony export */ ToggleEditCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ToggleEditCell),\n/* harmony export */ Toolbar: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.Toolbar),\n/* harmony export */ ToolbarItem: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ToolbarItem),\n/* harmony export */ ValueFormatter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ValueFormatter),\n/* harmony export */ VirtualContentRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.VirtualContentRenderer),\n/* harmony export */ VirtualElementHandler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.VirtualElementHandler),\n/* harmony export */ VirtualHeaderRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.VirtualHeaderRenderer),\n/* harmony export */ VirtualRowModelGenerator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.VirtualRowModelGenerator),\n/* harmony export */ VirtualScroll: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.VirtualScroll),\n/* harmony export */ accessPredicate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.accessPredicate),\n/* harmony export */ actionBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.actionBegin),\n/* harmony export */ actionComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.actionComplete),\n/* harmony export */ actionFailure: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.actionFailure),\n/* harmony export */ addBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addBegin),\n/* harmony export */ addBiggerDialog: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addBiggerDialog),\n/* harmony export */ addComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addComplete),\n/* harmony export */ addDeleteAction: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addDeleteAction),\n/* harmony export */ addFixedColumnBorder: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addFixedColumnBorder),\n/* harmony export */ addRemoveActiveClasses: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addRemoveActiveClasses),\n/* harmony export */ addRemoveEventListener: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addRemoveEventListener),\n/* harmony export */ addStickyColumnPosition: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addStickyColumnPosition),\n/* harmony export */ addedRecords: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addedRecords),\n/* harmony export */ addedRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.addedRow),\n/* harmony export */ afterContentRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.afterContentRender),\n/* harmony export */ afterFilterColumnMenuClose: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.afterFilterColumnMenuClose),\n/* harmony export */ appendChildren: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.appendChildren),\n/* harmony export */ appendInfiniteContent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.appendInfiniteContent),\n/* harmony export */ applyBiggerTheme: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.applyBiggerTheme),\n/* harmony export */ applyStickyLeftRightPosition: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.applyStickyLeftRightPosition),\n/* harmony export */ ariaColIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ariaColIndex),\n/* harmony export */ ariaRowIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ariaRowIndex),\n/* harmony export */ autoCol: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.autoCol),\n/* harmony export */ batchAdd: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.batchAdd),\n/* harmony export */ batchCancel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.batchCancel),\n/* harmony export */ batchCnfrmDlgCancel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.batchCnfrmDlgCancel),\n/* harmony export */ batchDelete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.batchDelete),\n/* harmony export */ batchEditFormRendered: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.batchEditFormRendered),\n/* harmony export */ batchForm: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.batchForm),\n/* harmony export */ beforeAutoFill: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeAutoFill),\n/* harmony export */ beforeBatchAdd: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchAdd),\n/* harmony export */ beforeBatchCancel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchCancel),\n/* harmony export */ beforeBatchDelete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchDelete),\n/* harmony export */ beforeBatchSave: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeBatchSave),\n/* harmony export */ beforeCellFocused: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeCellFocused),\n/* harmony export */ beforeCheckboxRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeCheckboxRenderer),\n/* harmony export */ beforeCheckboxRendererQuery: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeCheckboxRendererQuery),\n/* harmony export */ beforeCheckboxfilterRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeCheckboxfilterRenderer),\n/* harmony export */ beforeCopy: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeCopy),\n/* harmony export */ beforeCustomFilterOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeCustomFilterOpen),\n/* harmony export */ beforeDataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeDataBound),\n/* harmony export */ beforeDetailTemplateDetach: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeDetailTemplateDetach),\n/* harmony export */ beforeExcelExport: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeExcelExport),\n/* harmony export */ beforeFltrcMenuOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeFltrcMenuOpen),\n/* harmony export */ beforeFragAppend: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeFragAppend),\n/* harmony export */ beforeOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeOpen),\n/* harmony export */ beforeOpenAdaptiveDialog: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeOpenAdaptiveDialog),\n/* harmony export */ beforeOpenColumnChooser: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeOpenColumnChooser),\n/* harmony export */ beforePaste: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforePaste),\n/* harmony export */ beforePdfExport: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforePdfExport),\n/* harmony export */ beforePrint: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforePrint),\n/* harmony export */ beforeRefreshOnDataChange: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeRefreshOnDataChange),\n/* harmony export */ beforeStartEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beforeStartEdit),\n/* harmony export */ beginEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.beginEdit),\n/* harmony export */ bulkSave: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.bulkSave),\n/* harmony export */ cBoxFltrBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cBoxFltrBegin),\n/* harmony export */ cBoxFltrComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cBoxFltrComplete),\n/* harmony export */ calculateAggregate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.calculateAggregate),\n/* harmony export */ cancelBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cancelBegin),\n/* harmony export */ capitalizeFirstLetter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.capitalizeFirstLetter),\n/* harmony export */ captionActionComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.captionActionComplete),\n/* harmony export */ cellDeselected: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellDeselected),\n/* harmony export */ cellDeselecting: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellDeselecting),\n/* harmony export */ cellEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellEdit),\n/* harmony export */ cellFocused: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellFocused),\n/* harmony export */ cellSave: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellSave),\n/* harmony export */ cellSaved: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellSaved),\n/* harmony export */ cellSelected: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellSelected),\n/* harmony export */ cellSelecting: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellSelecting),\n/* harmony export */ cellSelectionBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellSelectionBegin),\n/* harmony export */ cellSelectionComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.cellSelectionComplete),\n/* harmony export */ change: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.change),\n/* harmony export */ changedRecords: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.changedRecords),\n/* harmony export */ checkBoxChange: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.checkBoxChange),\n/* harmony export */ checkDepth: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.checkDepth),\n/* harmony export */ checkIsVirtual: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.checkIsVirtual),\n/* harmony export */ checkScrollReset: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.checkScrollReset),\n/* harmony export */ clearReactVueTemplates: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.clearReactVueTemplates),\n/* harmony export */ click: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.click),\n/* harmony export */ closeBatch: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.closeBatch),\n/* harmony export */ closeEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.closeEdit),\n/* harmony export */ closeFilterDialog: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.closeFilterDialog),\n/* harmony export */ closeInline: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.closeInline),\n/* harmony export */ colGroup: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.colGroup),\n/* harmony export */ colGroupRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.colGroupRefresh),\n/* harmony export */ columnChooserCancelBtnClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserCancelBtnClick),\n/* harmony export */ columnChooserClose: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserClose),\n/* harmony export */ columnChooserOpened: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserOpened),\n/* harmony export */ columnChooserSearch: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserSearch),\n/* harmony export */ columnChooserUpdate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnChooserUpdate),\n/* harmony export */ columnDataStateChange: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDataStateChange),\n/* harmony export */ columnDeselected: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDeselected),\n/* harmony export */ columnDeselecting: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDeselecting),\n/* harmony export */ columnDrag: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDrag),\n/* harmony export */ columnDragStart: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDragStart),\n/* harmony export */ columnDragStop: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDragStop),\n/* harmony export */ columnDrop: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnDrop),\n/* harmony export */ columnMenuClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnMenuClick),\n/* harmony export */ columnMenuOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnMenuOpen),\n/* harmony export */ columnPositionChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnPositionChanged),\n/* harmony export */ columnSelected: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnSelected),\n/* harmony export */ columnSelecting: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnSelecting),\n/* harmony export */ columnSelectionBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnSelectionBegin),\n/* harmony export */ columnSelectionComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnSelectionComplete),\n/* harmony export */ columnVisibilityChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnVisibilityChanged),\n/* harmony export */ columnWidthChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnWidthChanged),\n/* harmony export */ columnsPrepared: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.columnsPrepared),\n/* harmony export */ commandClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.commandClick),\n/* harmony export */ commandColumnDestroy: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.commandColumnDestroy),\n/* harmony export */ compareChanges: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.compareChanges),\n/* harmony export */ componentRendered: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.componentRendered),\n/* harmony export */ content: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.content),\n/* harmony export */ contentReady: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.contentReady),\n/* harmony export */ contextMenuClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.contextMenuClick),\n/* harmony export */ contextMenuOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.contextMenuOpen),\n/* harmony export */ create: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.create),\n/* harmony export */ createCboxWithWrap: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.createCboxWithWrap),\n/* harmony export */ createEditElement: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.createEditElement),\n/* harmony export */ createVirtualValidationForm: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.createVirtualValidationForm),\n/* harmony export */ created: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.created),\n/* harmony export */ crudAction: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.crudAction),\n/* harmony export */ customFilterClose: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.customFilterClose),\n/* harmony export */ dataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dataBound),\n/* harmony export */ dataReady: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dataReady),\n/* harmony export */ dataSourceChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dataSourceChanged),\n/* harmony export */ dataSourceModified: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dataSourceModified),\n/* harmony export */ dataStateChange: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dataStateChange),\n/* harmony export */ dblclick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dblclick),\n/* harmony export */ deleteBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.deleteBegin),\n/* harmony export */ deleteComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.deleteComplete),\n/* harmony export */ deletedRecords: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.deletedRecords),\n/* harmony export */ destroy: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.destroy),\n/* harmony export */ destroyAutoFillElements: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.destroyAutoFillElements),\n/* harmony export */ destroyChildGrid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.destroyChildGrid),\n/* harmony export */ destroyEditForm: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.destroyEditForm),\n/* harmony export */ destroyForm: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.destroyForm),\n/* harmony export */ destroyed: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.destroyed),\n/* harmony export */ detachDetailTemplate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.detachDetailTemplate),\n/* harmony export */ detailDataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.detailDataBound),\n/* harmony export */ detailIndentCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.detailIndentCellInfo),\n/* harmony export */ detailLists: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.detailLists),\n/* harmony export */ detailStateChange: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.detailStateChange),\n/* harmony export */ dialogDestroy: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.dialogDestroy),\n/* harmony export */ distinctStringValues: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.distinctStringValues),\n/* harmony export */ doesImplementInterface: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.doesImplementInterface),\n/* harmony export */ doubleTap: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.doubleTap),\n/* harmony export */ downArrow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.downArrow),\n/* harmony export */ editBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.editBegin),\n/* harmony export */ editComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.editComplete),\n/* harmony export */ editNextValCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.editNextValCell),\n/* harmony export */ editReset: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.editReset),\n/* harmony export */ editedRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.editedRow),\n/* harmony export */ endAdd: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.endAdd),\n/* harmony export */ endDelete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.endDelete),\n/* harmony export */ endEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.endEdit),\n/* harmony export */ ensureFirstRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ensureFirstRow),\n/* harmony export */ ensureLastRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ensureLastRow),\n/* harmony export */ enter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.enter),\n/* harmony export */ enterKeyHandler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.enterKeyHandler),\n/* harmony export */ eventPromise: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.eventPromise),\n/* harmony export */ excelAggregateQueryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.excelAggregateQueryCellInfo),\n/* harmony export */ excelExportComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.excelExportComplete),\n/* harmony export */ excelHeaderQueryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.excelHeaderQueryCellInfo),\n/* harmony export */ excelQueryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.excelQueryCellInfo),\n/* harmony export */ expandChildGrid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.expandChildGrid),\n/* harmony export */ exportDataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.exportDataBound),\n/* harmony export */ exportDetailDataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.exportDetailDataBound),\n/* harmony export */ exportDetailTemplate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.exportDetailTemplate),\n/* harmony export */ exportGroupCaption: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.exportGroupCaption),\n/* harmony export */ exportRowDataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.exportRowDataBound),\n/* harmony export */ extend: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.extend),\n/* harmony export */ extendObjWithFn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.extendObjWithFn),\n/* harmony export */ filterAfterOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterAfterOpen),\n/* harmony export */ filterBeforeOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterBeforeOpen),\n/* harmony export */ filterBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterBegin),\n/* harmony export */ filterCboxValue: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterCboxValue),\n/* harmony export */ filterChoiceRequest: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterChoiceRequest),\n/* harmony export */ filterCmenuSelect: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterCmenuSelect),\n/* harmony export */ filterComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterComplete),\n/* harmony export */ filterDialogClose: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterDialogClose),\n/* harmony export */ filterDialogCreated: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterDialogCreated),\n/* harmony export */ filterMenuClose: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterMenuClose),\n/* harmony export */ filterOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterOpen),\n/* harmony export */ filterSearchBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.filterSearchBegin),\n/* harmony export */ findCellIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.findCellIndex),\n/* harmony export */ fltrPrevent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.fltrPrevent),\n/* harmony export */ focus: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.focus),\n/* harmony export */ foreignKeyData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.foreignKeyData),\n/* harmony export */ freezeRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.freezeRefresh),\n/* harmony export */ freezeRender: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.freezeRender),\n/* harmony export */ frozenContent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.frozenContent),\n/* harmony export */ frozenDirection: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.frozenDirection),\n/* harmony export */ frozenHeader: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.frozenHeader),\n/* harmony export */ frozenHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.frozenHeight),\n/* harmony export */ frozenLeft: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.frozenLeft),\n/* harmony export */ frozenRight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.frozenRight),\n/* harmony export */ generateExpandPredicates: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.generateExpandPredicates),\n/* harmony export */ generateQuery: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.generateQuery),\n/* harmony export */ getActualPropFromColl: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getActualPropFromColl),\n/* harmony export */ getActualProperties: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getActualProperties),\n/* harmony export */ getActualRowHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getActualRowHeight),\n/* harmony export */ getAggregateQuery: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getAggregateQuery),\n/* harmony export */ getCellByColAndRowIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getCellByColAndRowIndex),\n/* harmony export */ getCellFromRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getCellFromRow),\n/* harmony export */ getCellsByTableName: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getCellsByTableName),\n/* harmony export */ getCloneProperties: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getCloneProperties),\n/* harmony export */ getCollapsedRowsCount: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getCollapsedRowsCount),\n/* harmony export */ getColumnByForeignKeyValue: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getColumnByForeignKeyValue),\n/* harmony export */ getColumnModelByFieldName: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getColumnModelByFieldName),\n/* harmony export */ getColumnModelByUid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getColumnModelByUid),\n/* harmony export */ getComplexFieldID: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getComplexFieldID),\n/* harmony export */ getCustomDateFormat: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getCustomDateFormat),\n/* harmony export */ getDatePredicate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getDatePredicate),\n/* harmony export */ getEditedDataIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getEditedDataIndex),\n/* harmony export */ getElementIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getElementIndex),\n/* harmony export */ getExpandedState: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getExpandedState),\n/* harmony export */ getFilterBarOperator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getFilterBarOperator),\n/* harmony export */ getFilterMenuPostion: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getFilterMenuPostion),\n/* harmony export */ getForeignData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getForeignData),\n/* harmony export */ getForeignKeyData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getForeignKeyData),\n/* harmony export */ getGroupKeysAndFields: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getGroupKeysAndFields),\n/* harmony export */ getListHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getListHeight),\n/* harmony export */ getNumberFormat: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getNumberFormat),\n/* harmony export */ getObject: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getObject),\n/* harmony export */ getParentIns: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getParentIns),\n/* harmony export */ getParsedFieldID: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getParsedFieldID),\n/* harmony export */ getPosition: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getPosition),\n/* harmony export */ getPredicates: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getPredicates),\n/* harmony export */ getPrintGridModel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getPrintGridModel),\n/* harmony export */ getPrototypesOfObj: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getPrototypesOfObj),\n/* harmony export */ getRowHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getRowHeight),\n/* harmony export */ getRowIndexFromElement: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getRowIndexFromElement),\n/* harmony export */ getScrollBarWidth: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getScrollBarWidth),\n/* harmony export */ getScrollWidth: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getScrollWidth),\n/* harmony export */ getStateEventArgument: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getStateEventArgument),\n/* harmony export */ getTransformValues: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getTransformValues),\n/* harmony export */ getUid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getUid),\n/* harmony export */ getUpdateUsingRaf: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getUpdateUsingRaf),\n/* harmony export */ getVirtualData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getVirtualData),\n/* harmony export */ getVisiblePage: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getVisiblePage),\n/* harmony export */ getZIndexCalcualtion: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.getZIndexCalcualtion),\n/* harmony export */ gridChkBox: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.gridChkBox),\n/* harmony export */ gridContent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.gridContent),\n/* harmony export */ gridFooter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.gridFooter),\n/* harmony export */ gridHeader: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.gridHeader),\n/* harmony export */ groupAggregates: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupAggregates),\n/* harmony export */ groupBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupBegin),\n/* harmony export */ groupCaptionRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupCaptionRow),\n/* harmony export */ groupCaptionRowLeftRightPos: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupCaptionRowLeftRightPos),\n/* harmony export */ groupCollapse: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupCollapse),\n/* harmony export */ groupComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupComplete),\n/* harmony export */ groupReorderRowObject: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.groupReorderRowObject),\n/* harmony export */ headerCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.headerCellInfo),\n/* harmony export */ headerContent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.headerContent),\n/* harmony export */ headerDrop: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.headerDrop),\n/* harmony export */ headerRefreshed: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.headerRefreshed),\n/* harmony export */ headerValueAccessor: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.headerValueAccessor),\n/* harmony export */ hierarchyPrint: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.hierarchyPrint),\n/* harmony export */ immutableBatchCancel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.immutableBatchCancel),\n/* harmony export */ inArray: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.inArray),\n/* harmony export */ inBoundModelChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.inBoundModelChanged),\n/* harmony export */ infiniteAppendElements: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteAppendElements),\n/* harmony export */ infiniteCrudCancel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteCrudCancel),\n/* harmony export */ infiniteEditHandler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteEditHandler),\n/* harmony export */ infinitePageQuery: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infinitePageQuery),\n/* harmony export */ infiniteRemoveElements: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteRemoveElements),\n/* harmony export */ infiniteScrollComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteScrollComplete),\n/* harmony export */ infiniteScrollHandler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteScrollHandler),\n/* harmony export */ infiniteShowHide: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.infiniteShowHide),\n/* harmony export */ initForeignKeyColumn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.initForeignKeyColumn),\n/* harmony export */ initialCollapse: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.initialCollapse),\n/* harmony export */ initialEnd: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.initialEnd),\n/* harmony export */ initialFrozenColumnIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.initialFrozenColumnIndex),\n/* harmony export */ initialLoad: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.initialLoad),\n/* harmony export */ isActionPrevent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isActionPrevent),\n/* harmony export */ isCellHaveWidth: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isCellHaveWidth),\n/* harmony export */ isChildColumn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isChildColumn),\n/* harmony export */ isComplexField: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isComplexField),\n/* harmony export */ isEditable: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isEditable),\n/* harmony export */ isExportColumns: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isExportColumns),\n/* harmony export */ isGroupAdaptive: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isGroupAdaptive),\n/* harmony export */ isRowEnteredInGrid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.isRowEnteredInGrid),\n/* harmony export */ ispercentageWidth: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ispercentageWidth),\n/* harmony export */ iterateArrayOrObject: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.iterateArrayOrObject),\n/* harmony export */ iterateExtend: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.iterateExtend),\n/* harmony export */ keyPressed: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.keyPressed),\n/* harmony export */ lastRowCellBorderUpdated: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.lastRowCellBorderUpdated),\n/* harmony export */ lazyLoadGroupCollapse: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.lazyLoadGroupCollapse),\n/* harmony export */ lazyLoadGroupExpand: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.lazyLoadGroupExpand),\n/* harmony export */ lazyLoadScrollHandler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.lazyLoadScrollHandler),\n/* harmony export */ leftRight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.leftRight),\n/* harmony export */ load: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.load),\n/* harmony export */ measureColumnDepth: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.measureColumnDepth),\n/* harmony export */ menuClass: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.menuClass),\n/* harmony export */ modelChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.modelChanged),\n/* harmony export */ movableContent: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.movableContent),\n/* harmony export */ movableHeader: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.movableHeader),\n/* harmony export */ nextCellIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.nextCellIndex),\n/* harmony export */ onEmpty: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.onEmpty),\n/* harmony export */ onResize: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.onResize),\n/* harmony export */ open: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.open),\n/* harmony export */ padZero: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.padZero),\n/* harmony export */ pageBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pageBegin),\n/* harmony export */ pageComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pageComplete),\n/* harmony export */ pageDown: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pageDown),\n/* harmony export */ pageUp: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pageUp),\n/* harmony export */ pagerRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pagerRefresh),\n/* harmony export */ parents: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.parents),\n/* harmony export */ parentsUntil: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.parentsUntil),\n/* harmony export */ partialRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.partialRefresh),\n/* harmony export */ pdfAggregateQueryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pdfAggregateQueryCellInfo),\n/* harmony export */ pdfExportComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pdfExportComplete),\n/* harmony export */ pdfHeaderQueryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pdfHeaderQueryCellInfo),\n/* harmony export */ pdfQueryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pdfQueryCellInfo),\n/* harmony export */ performComplexDataOperation: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.performComplexDataOperation),\n/* harmony export */ prepareColumns: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.prepareColumns),\n/* harmony export */ preventBatch: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.preventBatch),\n/* harmony export */ preventFrozenScrollRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.preventFrozenScrollRefresh),\n/* harmony export */ printComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.printComplete),\n/* harmony export */ printGridInit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.printGridInit),\n/* harmony export */ pushuid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.pushuid),\n/* harmony export */ queryCellInfo: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.queryCellInfo),\n/* harmony export */ recordAdded: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.recordAdded),\n/* harmony export */ recordClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.recordClick),\n/* harmony export */ recordDoubleClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.recordDoubleClick),\n/* harmony export */ recursive: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.recursive),\n/* harmony export */ refreshAggregateCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshAggregateCell),\n/* harmony export */ refreshAggregates: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshAggregates),\n/* harmony export */ refreshComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshComplete),\n/* harmony export */ refreshCustomFilterClearBtn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshCustomFilterClearBtn),\n/* harmony export */ refreshCustomFilterOkBtn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshCustomFilterOkBtn),\n/* harmony export */ refreshExpandandCollapse: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshExpandandCollapse),\n/* harmony export */ refreshFilteredColsUid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshFilteredColsUid),\n/* harmony export */ refreshFooterRenderer: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshFooterRenderer),\n/* harmony export */ refreshForeignData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshForeignData),\n/* harmony export */ refreshFrozenColumns: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshFrozenColumns),\n/* harmony export */ refreshFrozenHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshFrozenHeight),\n/* harmony export */ refreshFrozenPosition: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshFrozenPosition),\n/* harmony export */ refreshHandlers: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshHandlers),\n/* harmony export */ refreshInfiniteCurrentViewData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfiniteCurrentViewData),\n/* harmony export */ refreshInfiniteEditrowindex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfiniteEditrowindex),\n/* harmony export */ refreshInfiniteModeBlocks: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfiniteModeBlocks),\n/* harmony export */ refreshInfinitePersistSelection: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshInfinitePersistSelection),\n/* harmony export */ refreshResizePosition: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshResizePosition),\n/* harmony export */ refreshSplitFrozenColumn: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshSplitFrozenColumn),\n/* harmony export */ refreshVirtualBlock: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualBlock),\n/* harmony export */ refreshVirtualCache: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualCache),\n/* harmony export */ refreshVirtualEditFormCells: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualEditFormCells),\n/* harmony export */ refreshVirtualFrozenHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualFrozenHeight),\n/* harmony export */ refreshVirtualFrozenRows: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualFrozenRows),\n/* harmony export */ refreshVirtualLazyLoadCache: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualLazyLoadCache),\n/* harmony export */ refreshVirtualMaxPage: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.refreshVirtualMaxPage),\n/* harmony export */ registerEventHandlers: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.registerEventHandlers),\n/* harmony export */ removeAddCboxClasses: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.removeAddCboxClasses),\n/* harmony export */ removeElement: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.removeElement),\n/* harmony export */ removeEventHandlers: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.removeEventHandlers),\n/* harmony export */ removeInfiniteRows: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.removeInfiniteRows),\n/* harmony export */ renderResponsiveChangeAction: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.renderResponsiveChangeAction),\n/* harmony export */ renderResponsiveCmenu: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.renderResponsiveCmenu),\n/* harmony export */ renderResponsiveColumnChooserDiv: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.renderResponsiveColumnChooserDiv),\n/* harmony export */ reorderBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.reorderBegin),\n/* harmony export */ reorderComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.reorderComplete),\n/* harmony export */ resetCachedRowIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetCachedRowIndex),\n/* harmony export */ resetColandRowSpanStickyPosition: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetColandRowSpanStickyPosition),\n/* harmony export */ resetColspanGroupCaption: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetColspanGroupCaption),\n/* harmony export */ resetColumns: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetColumns),\n/* harmony export */ resetDialogAppend: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetDialogAppend),\n/* harmony export */ resetInfiniteBlocks: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetInfiniteBlocks),\n/* harmony export */ resetRowIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetRowIndex),\n/* harmony export */ resetVirtualFocus: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resetVirtualFocus),\n/* harmony export */ resizeClassList: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resizeClassList),\n/* harmony export */ resizeStart: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resizeStart),\n/* harmony export */ resizeStop: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.resizeStop),\n/* harmony export */ restoreFocus: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.restoreFocus),\n/* harmony export */ row: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.row),\n/* harmony export */ rowCell: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowCell),\n/* harmony export */ rowDataBound: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDataBound),\n/* harmony export */ rowDeselected: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDeselected),\n/* harmony export */ rowDeselecting: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDeselecting),\n/* harmony export */ rowDrag: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDrag),\n/* harmony export */ rowDragAndDrop: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDragAndDrop),\n/* harmony export */ rowDragAndDropBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDragAndDropBegin),\n/* harmony export */ rowDragAndDropComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDragAndDropComplete),\n/* harmony export */ rowDragStart: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDragStart),\n/* harmony export */ rowDragStartHelper: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDragStartHelper),\n/* harmony export */ rowDrop: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowDrop),\n/* harmony export */ rowModeChange: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowModeChange),\n/* harmony export */ rowPositionChanged: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowPositionChanged),\n/* harmony export */ rowSelected: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowSelected),\n/* harmony export */ rowSelecting: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowSelecting),\n/* harmony export */ rowSelectionBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowSelectionBegin),\n/* harmony export */ rowSelectionComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowSelectionComplete),\n/* harmony export */ rowsAdded: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowsAdded),\n/* harmony export */ rowsRemoved: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rowsRemoved),\n/* harmony export */ rtlUpdated: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.rtlUpdated),\n/* harmony export */ saveComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.saveComplete),\n/* harmony export */ scroll: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.scroll),\n/* harmony export */ scrollToEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.scrollToEdit),\n/* harmony export */ searchBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.searchBegin),\n/* harmony export */ searchComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.searchComplete),\n/* harmony export */ selectRowOnContextOpen: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.selectRowOnContextOpen),\n/* harmony export */ selectVirtualRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.selectVirtualRow),\n/* harmony export */ setChecked: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setChecked),\n/* harmony export */ setColumnIndex: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setColumnIndex),\n/* harmony export */ setComplexFieldID: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setComplexFieldID),\n/* harmony export */ setCssInGridPopUp: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setCssInGridPopUp),\n/* harmony export */ setDisplayValue: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setDisplayValue),\n/* harmony export */ setFormatter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setFormatter),\n/* harmony export */ setFreezeSelection: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setFreezeSelection),\n/* harmony export */ setFullScreenDialog: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setFullScreenDialog),\n/* harmony export */ setGroupCache: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setGroupCache),\n/* harmony export */ setHeightToFrozenElement: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setHeightToFrozenElement),\n/* harmony export */ setInfiniteCache: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setInfiniteCache),\n/* harmony export */ setInfiniteColFrozenHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setInfiniteColFrozenHeight),\n/* harmony export */ setInfiniteFrozenHeight: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setInfiniteFrozenHeight),\n/* harmony export */ setReorderDestinationElement: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setReorderDestinationElement),\n/* harmony export */ setRowElements: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setRowElements),\n/* harmony export */ setStyleAndAttributes: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setStyleAndAttributes),\n/* harmony export */ setValidationRuels: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setValidationRuels),\n/* harmony export */ setVirtualPageQuery: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.setVirtualPageQuery),\n/* harmony export */ shiftEnter: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.shiftEnter),\n/* harmony export */ shiftTab: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.shiftTab),\n/* harmony export */ showAddNewRowFocus: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.showAddNewRowFocus),\n/* harmony export */ showEmptyGrid: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.showEmptyGrid),\n/* harmony export */ sliceElements: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.sliceElements),\n/* harmony export */ sortBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.sortBegin),\n/* harmony export */ sortComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.sortComplete),\n/* harmony export */ stickyScrollComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.stickyScrollComplete),\n/* harmony export */ summaryIterator: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.summaryIterator),\n/* harmony export */ tab: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.tab),\n/* harmony export */ table: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.table),\n/* harmony export */ tbody: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.tbody),\n/* harmony export */ templateCompiler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.templateCompiler),\n/* harmony export */ textWrapRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.textWrapRefresh),\n/* harmony export */ toggleFilterUI: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.toggleFilterUI),\n/* harmony export */ toogleCheckbox: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.toogleCheckbox),\n/* harmony export */ toolbarClick: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.toolbarClick),\n/* harmony export */ toolbarRefresh: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.toolbarRefresh),\n/* harmony export */ tooltipDestroy: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.tooltipDestroy),\n/* harmony export */ uiUpdate: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.uiUpdate),\n/* harmony export */ ungroupBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ungroupBegin),\n/* harmony export */ ungroupComplete: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.ungroupComplete),\n/* harmony export */ upArrow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.upArrow),\n/* harmony export */ updateColumnTypeForExportColumns: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.updateColumnTypeForExportColumns),\n/* harmony export */ updateData: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.updateData),\n/* harmony export */ updatecloneRow: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.updatecloneRow),\n/* harmony export */ valCustomPlacement: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.valCustomPlacement),\n/* harmony export */ validateVirtualForm: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.validateVirtualForm),\n/* harmony export */ valueAccessor: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.valueAccessor),\n/* harmony export */ virtaulCellFocus: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtaulCellFocus),\n/* harmony export */ virtaulKeyHandler: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtaulKeyHandler),\n/* harmony export */ virtualScrollAddActionBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollAddActionBegin),\n/* harmony export */ virtualScrollEdit: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEdit),\n/* harmony export */ virtualScrollEditActionBegin: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEditActionBegin),\n/* harmony export */ virtualScrollEditCancel: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEditCancel),\n/* harmony export */ virtualScrollEditSuccess: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.virtualScrollEditSuccess),\n/* harmony export */ wrap: () => (/* reexport safe */ _grid_index__WEBPACK_IMPORTED_MODULE_0__.wrap)\n/* harmony export */ });\n/* harmony import */ var _grid_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./grid/index */ \"./node_modules/@syncfusion/ej2-grids/src/grid/index.js\");\n/* harmony import */ var _pager_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pager/index */ \"./node_modules/@syncfusion/ej2-grids/src/pager/index.js\");\n/**\n * Export Grid components\n */\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/pager/external-message.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/pager/external-message.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalMessage: () => (/* binding */ ExternalMessage)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n/**\n * `ExternalMessage` module is used to display user provided message.\n */\nvar ExternalMessage = /** @class */ (function () {\n /**\n * Constructor for externalMessage module\n *\n * @param {Pager} pagerModule - specifies the pagermodule\n * @hidden\n */\n function ExternalMessage(pagerModule) {\n this.pagerModule = pagerModule;\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n ExternalMessage.prototype.getModuleName = function () {\n return 'externalMessage';\n };\n /**\n * The function is used to render pager externalMessage\n *\n * @returns {void}\n * @hidden\n */\n ExternalMessage.prototype.render = function () {\n this.element = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-pagerexternalmsg', attrs: { 'aria-label': this.pagerModule.getLocalizedLabel('ExternalMsg') } });\n this.pagerModule.element.appendChild(this.element);\n this.refresh();\n };\n /**\n * Refreshes the external message of Pager.\n *\n * @returns {void}\n */\n ExternalMessage.prototype.refresh = function () {\n if (this.pagerModule.externalMessage && this.pagerModule.externalMessage.toString().length) {\n this.showMessage();\n this.element.innerHTML = this.pagerModule.externalMessage;\n }\n else {\n this.hideMessage();\n }\n };\n /**\n * Hides the external message of Pager.\n *\n * @returns {void}\n */\n ExternalMessage.prototype.hideMessage = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element)) {\n this.element.style.display = 'none';\n }\n };\n /**\n * Shows the external message of the Pager.\n *\n * @returns {void}s\n */\n ExternalMessage.prototype.showMessage = function () {\n this.element.style.display = '';\n };\n /**\n * To destroy the PagerMessage\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n ExternalMessage.prototype.destroy = function () {\n if (this.element && this.element.parentElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.element);\n }\n };\n return ExternalMessage;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/pager/external-message.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/pager/index.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/pager/index.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalMessage: () => (/* reexport safe */ _external_message__WEBPACK_IMPORTED_MODULE_1__.ExternalMessage),\n/* harmony export */ NumericContainer: () => (/* reexport safe */ _numeric_container__WEBPACK_IMPORTED_MODULE_2__.NumericContainer),\n/* harmony export */ Pager: () => (/* reexport safe */ _pager__WEBPACK_IMPORTED_MODULE_0__.Pager),\n/* harmony export */ PagerDropDown: () => (/* reexport safe */ _pager_dropdown__WEBPACK_IMPORTED_MODULE_4__.PagerDropDown),\n/* harmony export */ PagerMessage: () => (/* reexport safe */ _pager_message__WEBPACK_IMPORTED_MODULE_3__.PagerMessage)\n/* harmony export */ });\n/* harmony import */ var _pager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pager */ \"./node_modules/@syncfusion/ej2-grids/src/pager/pager.js\");\n/* harmony import */ var _external_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./external-message */ \"./node_modules/@syncfusion/ej2-grids/src/pager/external-message.js\");\n/* harmony import */ var _numeric_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./numeric-container */ \"./node_modules/@syncfusion/ej2-grids/src/pager/numeric-container.js\");\n/* harmony import */ var _pager_message__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pager-message */ \"./node_modules/@syncfusion/ej2-grids/src/pager/pager-message.js\");\n/* harmony import */ var _pager_dropdown__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pager-dropdown */ \"./node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.js\");\n/**\n * Pager component exported items\n */\n\n\n\n\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/pager/index.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/pager/numeric-container.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/pager/numeric-container.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NumericContainer: () => (/* binding */ NumericContainer)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n\n\n/**\n * `NumericContainer` module handles rendering and refreshing numeric container.\n */\nvar NumericContainer = /** @class */ (function () {\n /**\n * Constructor for numericContainer module\n *\n * @param {Pager} pagerModule - specifies the pagerModule\n * @hidden\n */\n function NumericContainer(pagerModule) {\n this.pagerModule = pagerModule;\n }\n /**\n * The function is used to render numericContainer\n *\n * @returns {void}\n * @hidden\n */\n NumericContainer.prototype.render = function () {\n this.pagerElement = this.pagerModule.element;\n this.renderNumericContainer();\n this.refreshNumericLinks();\n this.wireEvents();\n };\n /**\n * Refreshes the numeric container of Pager.\n *\n * @returns {void}\n */\n NumericContainer.prototype.refresh = function () {\n this.pagerModule.updateTotalPages();\n if (this.links.length) {\n this.updateLinksHtml();\n }\n this.refreshAriaAttrLabel();\n this.updateStyles();\n };\n /**\n * The function is used to refresh refreshNumericLinks\n *\n * @returns {void}\n * @hidden\n */\n NumericContainer.prototype.refreshNumericLinks = function () {\n var link;\n var pagerObj = this.pagerModule;\n var div = pagerObj.element.querySelector('.e-numericcontainer');\n var frag = document.createDocumentFragment();\n div.innerHTML = '';\n for (var i = 1; i <= pagerObj.pageCount; i++) {\n link = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('a', {\n className: 'e-link e-numericitem e-spacing e-pager-default',\n attrs: { tabindex: '-1', 'aria-label': pagerObj.getLocalizedLabel('Page') + i + pagerObj.getLocalizedLabel('Of') +\n pagerObj.totalPages + pagerObj.getLocalizedLabel('Pages'), href: '#' }\n });\n if (pagerObj.currentPage === i) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(link, ['e-currentitem', 'e-active'], ['e-pager-default']);\n link.setAttribute('aria-current', 'page');\n }\n frag.appendChild(link);\n }\n div.appendChild(frag);\n this.links = [].slice.call(div.childNodes);\n };\n /**\n * Binding events to the element while component creation\n *\n * @returns {void}\n * @hidden\n */\n NumericContainer.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.pagerElement, 'click', this.clickHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.pagerElement, 'auxclick', this.auxiliaryClickHandler, this);\n };\n /**\n * Unbinding events from the element while component destroy\n *\n * @returns {void}\n * @hidden\n */\n NumericContainer.prototype.unwireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.pagerModule.element, 'click', this.clickHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.pagerModule.element, 'auxclick', this.auxiliaryClickHandler);\n };\n /**\n * To destroy the PagerMessage\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n NumericContainer.prototype.destroy = function () {\n this.unwireEvents();\n };\n NumericContainer.prototype.refreshAriaAttrLabel = function () {\n var pagerObj = this.pagerModule;\n var numericContainer = pagerObj.element.querySelector('.e-numericcontainer');\n var links = numericContainer.querySelectorAll('a');\n for (var i = 0; i < links.length; i++) {\n if (links[parseInt(i.toString(), 10)].hasAttribute('aria-label') && links[parseInt(i.toString(), 10)].hasAttribute('index')) {\n links[parseInt(i.toString(), 10)].setAttribute('aria-label', pagerObj.getLocalizedLabel('Page') + links[parseInt(i.toString(), 10)].getAttribute('index')\n + pagerObj.getLocalizedLabel('Of') + pagerObj.totalPages + pagerObj.getLocalizedLabel('Pages'));\n }\n }\n };\n NumericContainer.prototype.renderNumericContainer = function () {\n this.element = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-pagercontainer', attrs: { 'role': 'navigation' }\n });\n this.renderFirstNPrev(this.element);\n this.renderPrevPagerSet(this.element);\n this.element.appendChild((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-numericcontainer' }));\n this.renderNextPagerSet(this.element);\n this.renderNextNLast(this.element);\n this.pagerModule.element.appendChild(this.element);\n };\n NumericContainer.prototype.renderFirstNPrev = function (pagerContainer) {\n this.first = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-first e-icons e-icon-first',\n attrs: {\n title: this.pagerModule.getLocalizedLabel('firstPageTooltip'),\n tabindex: '-1', role: 'button'\n }\n });\n this.prev = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-prev e-icons e-icon-prev',\n attrs: {\n title: this.pagerModule.getLocalizedLabel('previousPageTooltip'),\n tabindex: '-1', role: 'button'\n }\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.first, this.prev], pagerContainer);\n };\n NumericContainer.prototype.renderPrevPagerSet = function (pagerContainer) {\n var prevPager = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div');\n this.PP = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('a', {\n className: 'e-link e-pp e-spacing', innerHTML: '...',\n attrs: {\n title: this.pagerModule.getLocalizedLabel('previousPagerTooltip'),\n 'aria-label': this.pagerModule.getLocalizedLabel('previousPagerTooltip'),\n tabindex: '-1',\n href: '#'\n }\n });\n prevPager.appendChild(this.PP);\n pagerContainer.appendChild(prevPager);\n };\n NumericContainer.prototype.renderNextPagerSet = function (pagerContainer) {\n var nextPager = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div');\n this.NP = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('a', {\n className: 'e-link e-np e-spacing',\n innerHTML: '...', attrs: {\n title: this.pagerModule.getLocalizedLabel('nextPagerTooltip'),\n 'aria-label': this.pagerModule.getLocalizedLabel('nextPagerTooltip'),\n tabindex: '-1',\n href: '#'\n }\n });\n nextPager.appendChild(this.NP);\n pagerContainer.appendChild(nextPager);\n };\n NumericContainer.prototype.renderNextNLast = function (pagerContainer) {\n this.next = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-next e-icons e-icon-next',\n attrs: {\n title: this.pagerModule.getLocalizedLabel('nextPageTooltip'),\n tabindex: '-1', role: 'button'\n }\n });\n this.last = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-last e-icons e-icon-last',\n attrs: {\n title: this.pagerModule.getLocalizedLabel('lastPageTooltip'),\n tabindex: '-1', role: 'button'\n }\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.next, this.last], pagerContainer);\n };\n NumericContainer.prototype.clickHandler = function (e) {\n var pagerObj = this.pagerModule;\n this.target = e.target;\n if (this.target.classList.contains('e-numericitem')) {\n e.preventDefault();\n }\n pagerObj.previousPageNo = pagerObj.currentPage;\n if (!this.target.classList.contains('e-disable') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target.getAttribute('index'))) {\n pagerObj.currentPage = parseInt(this.target.getAttribute('index'), 10);\n this.pagerModule.isInteracted = true;\n pagerObj.dataBind();\n }\n return false;\n };\n NumericContainer.prototype.auxiliaryClickHandler = function (e) {\n this.target = e.target;\n if (this.target.classList.contains('e-numericitem') && (e.button === 1)) {\n e.preventDefault();\n }\n };\n NumericContainer.prototype.updateLinksHtml = function () {\n var pagerObj = this.pagerModule;\n var currentPageSet;\n var isLastSet;\n var pageNo;\n var numItems = this.pagerElement.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n pagerObj.currentPage = pagerObj.totalPages === 1 ? 1 : pagerObj.currentPage;\n if (pagerObj.currentPage > pagerObj.totalPages && pagerObj.totalPages) {\n pagerObj.currentPage = pagerObj.totalPages;\n }\n currentPageSet = parseInt((pagerObj.currentPage / pagerObj.pageCount).toString(), 10);\n if (pagerObj.currentPage % pagerObj.pageCount === 0 && currentPageSet > 0) {\n currentPageSet = currentPageSet - 1;\n }\n for (var i = 0; i < pagerObj.pageCount; i++) {\n if (pagerObj.isPagerResized) {\n var focusedItem = this.pagerElement.querySelector('.e-focus');\n var focusedorTarget = this.target ? this.target : focusedItem ? focusedItem : null;\n var prevFocused = false;\n var nextFocused = false;\n var firstFocused = false;\n var lastFocused = false;\n var numItemFocused = false;\n var npFocused = false;\n var ppFocused = false;\n if (focusedorTarget) {\n var classList_1 = focusedorTarget.classList;\n if (classList_1.contains('e-icons')) {\n switch (true) {\n case classList_1.contains('e-prev'):\n prevFocused = true;\n break;\n case classList_1.contains('e-next'):\n nextFocused = true;\n break;\n case classList_1.contains('e-first'):\n firstFocused = true;\n break;\n case classList_1.contains('e-last'):\n lastFocused = true;\n break;\n }\n }\n else if (classList_1.contains('e-numericitem')) {\n switch (true) {\n case classList_1.contains('e-np'):\n npFocused = true;\n break;\n case classList_1.contains('e-pp'):\n ppFocused = true;\n break;\n default:\n numItemFocused = classList_1.contains('e-numericitem');\n break;\n }\n }\n }\n isLastSet = lastFocused || (this.pagerModule.keyAction === 'End');\n numItems = this.pagerElement.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n var isPageAvailable = Array.from(numItems).some(function (item) { return parseInt(item.getAttribute('index'), 10) === pagerObj.currentPage; });\n //Setting pageNo to render based on key action or click action.\n if (firstFocused || this.pagerModule.keyAction === 'Home') {\n pageNo = 1 + i;\n }\n else if (lastFocused || this.pagerModule.keyAction === 'End') {\n pageNo = (currentPageSet * pagerObj.pageCount) + 1 + i;\n }\n else if (nextFocused || this.pagerModule.keyAction === 'ArrowRight' || prevFocused || this.pagerModule.keyAction === 'ArrowLeft') {\n if (isPageAvailable) {\n pageNo = parseInt(numItems[0].getAttribute('index'), 10) + i;\n }\n else if (prevFocused || this.pagerModule.keyAction === 'ArrowLeft') {\n pageNo = parseInt(this.PP.getAttribute('index'), 10) + i;\n }\n else {\n pageNo = pagerObj.currentPage + i;\n }\n }\n else if (npFocused || ppFocused) {\n pageNo = pagerObj.currentPage + i;\n }\n else if (numItemFocused) {\n pageNo = (parseInt(numItems[0].getAttribute('index'), 10) + i);\n }\n else {\n pageNo = (currentPageSet * pagerObj.pageCount) + 1 + i;\n }\n }\n else {\n pageNo = (currentPageSet * pagerObj.pageCount) + 1 + i;\n }\n if (pageNo <= pagerObj.totalPages) {\n this.links[parseInt(i.toString(), 10)].classList.remove('e-hide');\n this.links[parseInt(i.toString(), 10)].style.display = '';\n this.links[parseInt(i.toString(), 10)].setAttribute('index', pageNo.toString());\n this.links[parseInt(i.toString(), 10)].innerHTML = !pagerObj.customText ? pageNo.toString() : pagerObj.customText + pageNo;\n if (pagerObj.currentPage !== pageNo) {\n this.links[parseInt(i.toString(), 10)].classList.add('e-pager-default');\n }\n else {\n this.links[parseInt(i.toString(), 10)].classList.remove('e-pager-default');\n }\n }\n else {\n this.links[parseInt(i.toString(), 10)].innerHTML = !pagerObj.customText ? pageNo.toString() : pagerObj.customText + pageNo;\n this.links[parseInt(i.toString(), 10)].style.display = 'none';\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.links[parseInt(i.toString(), 10)], [], ['e-currentitem', 'e-active']);\n this.links[parseInt(i.toString(), 10)].removeAttribute('aria-current');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.first, {\n 'index': '1',\n 'title': this.pagerModule.getLocalizedLabel('firstPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.pagerElement.querySelector('.e-mfirst'), {\n 'index': '1',\n 'title': this.pagerModule.getLocalizedLabel('firstPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.last, {\n 'index': pagerObj.totalPages.toString(),\n 'title': this.pagerModule.getLocalizedLabel('lastPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.pagerElement.querySelector('.e-mlast'), {\n 'index': pagerObj.totalPages.toString(),\n 'title': this.pagerModule.getLocalizedLabel('lastPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.prev, {\n 'index': (pagerObj.currentPage - 1).toString(),\n 'title': this.pagerModule.getLocalizedLabel('previousPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.pagerElement.querySelector('.e-mprev'), {\n 'index': (pagerObj.currentPage - 1).toString(),\n 'title': this.pagerModule.getLocalizedLabel('previousPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.next, {\n 'index': (pagerObj.currentPage + 1).toString(),\n 'title': this.pagerModule.getLocalizedLabel('nextPageTooltip')\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.pagerElement.querySelector('.e-mnext'), {\n 'index': (pagerObj.currentPage + 1).toString(),\n 'title': this.pagerModule.getLocalizedLabel('nextPageTooltip')\n });\n var ppIndex = (this.pagerModule.isPagerResized && numItems.length)\n ? isLastSet\n ? parseInt(numItems[0].getAttribute('index'), 10) - pagerObj.avgNumItems\n : parseInt(numItems[0].getAttribute('index'), 10) - numItems.length\n : parseInt(this.links[0].getAttribute('index'), 10) - pagerObj.pageCount;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.PP, {\n 'index': ((ppIndex < 1) ? '1' : ppIndex.toString()),\n 'title': this.pagerModule.getLocalizedLabel('previousPagerTooltip'),\n 'aria-label': this.pagerModule.getLocalizedLabel('previousPagerTooltip')\n });\n var NPIndex = (this.pagerModule.isPagerResized && numItems.length)\n ? parseInt(numItems[numItems.length - 1].getAttribute('index'), 10)\n : parseInt(this.links[this.links.length - 1].getAttribute('index'), 10);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.NP, {\n 'index': (NPIndex + 1).toString(),\n 'title': this.pagerModule.getLocalizedLabel('nextPagerTooltip'),\n 'aria-label': this.pagerModule.getLocalizedLabel('nextPagerTooltip')\n });\n this.target = undefined;\n };\n NumericContainer.prototype.updateStyles = function () {\n var _this = this;\n this.updateFirstNPrevStyles();\n this.updatePrevPagerSetStyles();\n this.updateNextPagerSetStyles();\n this.updateNextNLastStyles();\n if (this.links.length) {\n var currentPageIndex = this.links.findIndex(function (link) { return link.getAttribute('index') === _this.pagerModule.currentPage.toString(); });\n var currentPage = (this.pagerModule.isPagerResized && currentPageIndex !== -1) ? currentPageIndex\n : ((this.pagerModule.currentPage - 1) % this.pagerModule.pageCount);\n if (this.links[parseInt(currentPage.toString(), 10)]) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.links[parseInt(currentPage.toString(), 10)], ['e-currentitem', 'e-active'], []);\n this.links[parseInt(currentPage.toString(), 10)].setAttribute('aria-current', 'page');\n }\n }\n };\n NumericContainer.prototype.updateFirstNPrevStyles = function () {\n var firstPage = ['e-firstpage', 'e-pager-default'];\n var firstPageDisabled = ['e-firstpagedisabled', 'e-disable'];\n var prevPage = ['e-prevpage', 'e-pager-default'];\n var prevPageDisabled = ['e-prevpagedisabled', 'e-disable'];\n if (this.pagerModule.totalPages > 0 && this.pagerModule.currentPage > 1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.prev, prevPage, prevPageDisabled);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.first, firstPage, firstPageDisabled);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mfirst'), firstPage, firstPageDisabled);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mprev'), prevPage, prevPageDisabled);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.prev, prevPageDisabled, prevPage);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.first, firstPageDisabled, firstPage);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mprev'), prevPageDisabled, prevPage);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mfirst'), firstPageDisabled, firstPage);\n }\n };\n NumericContainer.prototype.updatePrevPagerSetStyles = function () {\n if (this.pagerModule.currentPage > this.pagerModule.pageCount || (this.pagerModule.isPagerResized\n && this.links.findIndex(function (link) { return parseInt(link.getAttribute('index'), 10) === 1; }))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.PP, ['e-numericitem', 'e-pager-default'], ['e-nextprevitemdisabled', 'e-disable']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.PP, ['e-nextprevitemdisabled', 'e-disable'], ['e-numericitem', 'e-pager-default']);\n }\n };\n NumericContainer.prototype.updateNextPagerSetStyles = function () {\n var pagerObj = this.pagerModule;\n var firstPage = this.links[0].innerHTML.replace(pagerObj.customText, '');\n var numItems = this.pagerElement.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n if (!firstPage.length || !this.links.length || (parseInt(firstPage, 10) + pagerObj.pageCount > pagerObj.totalPages)\n || (pagerObj.isPagerResized && Array.from(numItems).some(function (item) { return parseInt(item.getAttribute('index'), 10) === pagerObj.totalPages; }))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.NP, ['e-nextprevitemdisabled', 'e-disable'], ['e-numericitem', 'e-pager-default']);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.NP, ['e-numericitem', 'e-pager-default'], ['e-nextprevitemdisabled', 'e-disable']);\n }\n };\n NumericContainer.prototype.updateNextNLastStyles = function () {\n var lastPage = ['e-lastpage', 'e-pager-default'];\n var lastPageDisabled = ['e-lastpagedisabled', 'e-disable'];\n var nextPage = ['e-nextpage', 'e-pager-default'];\n var nextPageDisabled = ['e-nextpagedisabled', 'e-disable'];\n var pagerObj = this.pagerModule;\n if (pagerObj.currentPage === pagerObj.totalPages || pagerObj.totalRecordsCount === 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.last, lastPageDisabled, lastPage);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.next, nextPageDisabled, nextPage);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mlast'), lastPageDisabled, lastPage);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mnext'), nextPageDisabled, nextPage);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.last, lastPage, lastPageDisabled);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.next, nextPage, nextPageDisabled);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mlast'), lastPage, lastPageDisabled);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(this.pagerElement.querySelector('.e-mnext'), nextPage, nextPageDisabled);\n }\n };\n return NumericContainer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/pager/numeric-container.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.js": +/*!************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PagerDropDown: () => (/* binding */ PagerDropDown)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-dropdowns */ \"./node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.js\");\n\n\n/**\n * `PagerDropDown` module handles selected pageSize from DropDownList.\n */\nvar PagerDropDown = /** @class */ (function () {\n /**\n * Constructor for pager module\n *\n * @param {Pager} pagerModule - specifies the pagermodule\n * @hidden\n */\n function PagerDropDown(pagerModule) {\n this.pagerModule = pagerModule;\n }\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n * @hidden\n */\n PagerDropDown.prototype.getModuleName = function () {\n return 'pagerdropdown';\n };\n /**\n * The function is used to render pager dropdown\n *\n * @returns {void}\n * @hidden\n */\n PagerDropDown.prototype.render = function () {\n var pagerObj = this.pagerModule;\n this.pagerDropDownDiv = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-pagesizes' });\n var dropDownDiv = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-pagerdropdown' });\n var defaultTextDiv = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-pagerconstant' });\n var input = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('input', { attrs: { type: 'text', tabindex: '-1' } });\n this.pagerCons = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('span', {\n className: 'e-constant', innerHTML: this.pagerModule.getLocalizedLabel('pagerDropDown')\n });\n dropDownDiv.appendChild(input);\n defaultTextDiv.appendChild(this.pagerCons);\n this.pagerDropDownDiv.appendChild(dropDownDiv);\n this.pagerDropDownDiv.appendChild(defaultTextDiv);\n this.pagerModule.element.appendChild(this.pagerDropDownDiv);\n var pageSizesModule = this.pagerModule.pageSizes;\n var pageSizesArray = (pageSizesModule.length ? this.convertValue(pageSizesModule) :\n [this.pagerModule.getLocalizedLabel('All'), '5', '10', '12', '20']);\n var defaultValue = this.pagerModule.pageSize;\n this.dropDownListObject = new _syncfusion_ej2_dropdowns__WEBPACK_IMPORTED_MODULE_1__.DropDownList({\n dataSource: pageSizesArray,\n value: defaultValue.toString(),\n change: this.onChange.bind(this),\n placeholder: this.pagerModule.getLocalizedLabel('pagerDropDown'),\n cssClass: this.pagerModule.cssClass ? 'e-alldrop' + ' ' + this.pagerModule.cssClass : 'e-alldrop'\n });\n this.dropDownListObject.appendTo(input);\n if (pageSizesModule.length) {\n this.dropDownListObject.element.value = this.pagerModule.pageSize.toString();\n }\n pagerObj.pageSize = defaultValue;\n pagerObj.dataBind();\n pagerObj.trigger('dropDownChanged', { pageSize: defaultValue });\n this.addEventListener();\n };\n /**\n * For internal use only - Get the pagesize.\n *\n * @param {ChangeEventArgs} e - specifies the changeeventargs\n * @returns {void}\n * @private\n * @hidden\n */\n PagerDropDown.prototype.onChange = function (e) {\n if (this.dropDownListObject.value === this.pagerModule.getLocalizedLabel('All')) {\n this.pagerModule.pageSize = this.pagerModule.totalRecordsCount;\n this.pagerModule.isAllPage = true;\n this.refresh();\n e.value = this.pagerModule.pageSize;\n if (document.getElementsByClassName('e-popup-open e-alldrop').length) {\n document.getElementsByClassName('e-popup-open e-alldrop')[0].style.display = 'none';\n }\n }\n else {\n this.pagerModule.pageSize = parseInt(this.dropDownListObject.value, 10);\n this.pagerModule.isAllPage = false;\n if (this.pagerCons.innerHTML !== this.pagerModule.getLocalizedLabel('pagerDropDown')) {\n this.refresh();\n }\n }\n this.pagerModule.dataBind();\n if (!this.pagerModule.isCancel) {\n this.pagerModule.trigger('dropDownChanged', {\n pageSize: this.pagerModule.isAllPage ||\n (this.pagerModule.isAllPage === undefined && this.dropDownListObject.value === this.pagerModule.getLocalizedLabel('All')) ?\n this.pagerModule.totalRecordsCount : parseInt(this.dropDownListObject.value, 10)\n });\n }\n };\n PagerDropDown.prototype.refresh = function () {\n if (this.pagerCons) {\n if (this.isPageSizeAll(this.pagerModule.pageSize)) {\n this.pagerCons.innerHTML = this.pagerModule.getLocalizedLabel('pagerAllDropDown');\n this.pagerCons.parentElement.classList.add('e-page-all');\n }\n else {\n this.pagerCons.innerHTML = this.pagerModule.getLocalizedLabel('pagerDropDown');\n this.pagerCons.parentElement.classList.remove('e-page-all');\n }\n this.pagerDropDownDiv.classList.remove('e-hide');\n }\n };\n PagerDropDown.prototype.beforeValueChange = function (prop) {\n if (typeof prop.newProp.value === 'number') {\n var val = prop.newProp.value.toString();\n prop.newProp.value = val;\n }\n };\n PagerDropDown.prototype.convertValue = function (pageSizeValue) {\n var item = pageSizeValue;\n for (var i = 0; i < item.length; i++) {\n item[parseInt(i.toString(), 10)] = parseInt(item[parseInt(i.toString(), 10)], 10) ?\n item[parseInt(i.toString(), 10)].toString() : (this.pagerModule.getLocalizedLabel(item[parseInt(i.toString(), 10)]) !== '')\n ? this.pagerModule.getLocalizedLabel(item[parseInt(i.toString(), 10)]) : item[parseInt(i.toString(), 10)];\n }\n return item;\n };\n PagerDropDown.prototype.isPageSizeAll = function (value) {\n var pageSizeNum = typeof (value) === 'string' && value !== this.pagerModule.getLocalizedLabel('All') ?\n parseInt(value, 10) : value;\n if (pageSizeNum === this.pagerModule.totalRecordsCount || value === this.pagerModule.getLocalizedLabel('All')) {\n return true;\n }\n else {\n return false;\n }\n };\n PagerDropDown.prototype.setDropDownValue = function (prop, value) {\n if (this.dropDownListObject) {\n var isbeforeAll = this.pagerModule.isAllPage;\n this.pagerModule.isAllPage = this.isPageSizeAll(value);\n if (this.pagerModule.isAllPage && typeof this.pagerModule.pageSizes === 'object' &&\n this.pagerModule.pageSizes.indexOf('All') === -1) {\n this.pagerModule.isAllPage = false;\n }\n this.pagerModule.checkAll = (isbeforeAll && this.pagerModule.isAllPage) ? true : false;\n this.dropDownListObject[\"\" + prop] = this.pagerModule.isAllPage ? this.pagerModule.getLocalizedLabel('All') : value;\n }\n };\n PagerDropDown.prototype.addEventListener = function () {\n this.dropDownListObject.on('beforeValueChange', this.beforeValueChange, this);\n };\n PagerDropDown.prototype.removeEventListener = function () {\n this.dropDownListObject.off('beforeValueChange', this.beforeValueChange);\n };\n /**\n * To destroy the Pagerdropdown\n *\n * @param {string} args - specifies the arguments\n * @param {string} args.requestType - specfies the request type\n * @returns {void}\n * @hidden\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n PagerDropDown.prototype.destroy = function (args) {\n if (this.dropDownListObject && !this.dropDownListObject.isDestroyed) {\n this.removeEventListener();\n this.dropDownListObject.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.pagerDropDownDiv);\n }\n };\n return PagerDropDown;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/pager/pager-message.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/pager/pager-message.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PagerMessage: () => (/* binding */ PagerMessage)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\n/**\n * `PagerMessage` module is used to display pager information.\n */\nvar PagerMessage = /** @class */ (function () {\n /**\n * Constructor for externalMessage module\n *\n * @param {Pager} pagerModule - specifies the pager Module\n * @hidden\n */\n function PagerMessage(pagerModule) {\n this.pagerModule = pagerModule;\n }\n /**\n * The function is used to render pager message\n *\n * @returns {void}\n * @hidden\n */\n PagerMessage.prototype.render = function () {\n var div = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-parentmsgbar' });\n this.pageNoMsgElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('span', { className: 'e-pagenomsg' });\n this.pageNoMsgElem.style.textAlign = 'right';\n this.pageCountMsgElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('span', { className: 'e-pagecountmsg' });\n this.pageCountMsgElem.style.textAlign = 'right';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([this.pageNoMsgElem, this.pageCountMsgElem], div);\n this.pagerModule.element.appendChild(div);\n this.refresh();\n };\n /**\n * Refreshes the pager information.\n *\n * @returns {void}\n */\n PagerMessage.prototype.refresh = function () {\n var pagerObj = this.pagerModule;\n this.pageNoMsgElem.textContent = this.format(pagerObj.getLocalizedLabel('currentPageInfo'), [pagerObj.totalRecordsCount === 0 ? 0 :\n pagerObj.currentPage, pagerObj.totalPages || 0, pagerObj.totalRecordsCount || 0]) + ' ';\n this.pageCountMsgElem.textContent = this.format(pagerObj.getLocalizedLabel(pagerObj.totalRecordsCount <= 1 ? 'totalItemInfo' : 'totalItemsInfo'), [pagerObj.totalRecordsCount || 0, pagerObj.totalRecordsCount ? (pagerObj.pageSize * (pagerObj.currentPage - 1)) + 1 : 0,\n pagerObj.pageSize * pagerObj.currentPage > pagerObj.totalRecordsCount ? pagerObj.totalRecordsCount :\n pagerObj.pageSize * pagerObj.currentPage]);\n this.pageNoMsgElem.parentElement.classList.remove('e-hide');\n };\n /**\n * Hides the Pager information.\n *\n * @returns {void}\n */\n PagerMessage.prototype.hideMessage = function () {\n if (this.pageNoMsgElem) {\n this.pageNoMsgElem.style.display = 'none';\n }\n if (this.pageCountMsgElem) {\n this.pageCountMsgElem.style.display = 'none';\n }\n };\n /**\n * Shows the Pager information.\n *\n * @returns {void}\n */\n PagerMessage.prototype.showMessage = function () {\n if (!this.pageNoMsgElem) {\n this.render();\n }\n this.pageNoMsgElem.style.display = '';\n this.pageCountMsgElem.style.display = '';\n };\n /**\n * To destroy the PagerMessage\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n PagerMessage.prototype.destroy = function () {\n //destroy\n };\n /**\n * To format the PagerMessage\n *\n * @function format\n * @param {string} str - specifies the string\n * @param {number[]} args - specifies the argument\n * @returns {string} returns the format string\n * @hidden\n */\n PagerMessage.prototype.format = function (str, args) {\n var regx;\n var regExp = RegExp;\n for (var i = 0; i < args.length; i++) {\n regx = new regExp('\\\\{' + (i) + '\\\\}', 'gm');\n if (this.isValidLocale(this.pagerModule.locale)) {\n str = str.replace(regx, args[parseInt(i.toString(), 10)].toLocaleString(this.pagerModule.locale));\n }\n else {\n str = str.replace(regx, args[parseInt(i.toString(), 10)].toString());\n }\n }\n return str;\n };\n PagerMessage.prototype.isValidLocale = function (locale) {\n try {\n new Intl.NumberFormat(locale);\n return true;\n }\n catch (e) {\n return false;\n }\n };\n return PagerMessage;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/pager/pager-message.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-grids/src/pager/pager.js": +/*!***************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-grids/src/pager/pager.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Pager: () => (/* binding */ Pager)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _numeric_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./numeric-container */ \"./node_modules/@syncfusion/ej2-grids/src/pager/numeric-container.js\");\n/* harmony import */ var _pager_message__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pager-message */ \"./node_modules/@syncfusion/ej2-grids/src/pager/pager-message.js\");\n/* harmony import */ var _grid_base_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../grid/base/util */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/util.js\");\n/* harmony import */ var _grid_base_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../grid/base/constant */ \"./node_modules/@syncfusion/ej2-grids/src/grid/base/constant.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n/**\n * Represents the `Pager` component.\n * ```html\n *
      \n * ```\n * ```typescript\n * \n * ```\n */\nvar Pager = /** @class */ (function (_super) {\n __extends(Pager, _super);\n /**\n * Constructor for creating the component.\n *\n * @param {PagerModel} options - specifies the options\n * @param {string} element - specifies the element\n * @param {string} parent - specifies the pager parent\n * @hidden\n */\n function Pager(options, element, parent) {\n var _this = _super.call(this, options, element) || this;\n /** @hidden */\n _this.hasParent = false;\n _this.checkAll = true;\n _this.pageRefresh = 'pager-refresh';\n _this.firstPagerFocus = false;\n /** @hidden */\n _this.isCancel = false;\n /** @hidden */\n _this.isInteracted = false;\n _this.parent = parent;\n return _this;\n }\n /**\n * To provide the array of modules needed for component rendering\n *\n * @returns {ModuleDeclaration[]} returns the modules declaration\n * @hidden\n */\n Pager.prototype.requiredModules = function () {\n var modules = [];\n if (this.enableExternalMessage) {\n modules.push({\n member: 'externalMessage',\n args: [this],\n name: 'ExternalMessage'\n });\n }\n if (this.checkpagesizes()) {\n modules.push({\n member: 'pagerdropdown',\n args: [this],\n name: 'PagerDropDown'\n });\n }\n return modules;\n };\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @hidden\n */\n Pager.prototype.preRender = function () {\n //preRender\n this.defaultConstants = {\n currentPageInfo: '{0} of {1} pages',\n totalItemsInfo: '({0} items)',\n totalItemInfo: '({0} item)',\n firstPageTooltip: 'Go to first page',\n lastPageTooltip: 'Go to last page',\n nextPageTooltip: 'Go to next page',\n previousPageTooltip: 'Go to previous page',\n nextPagerTooltip: 'Go to next pager items',\n previousPagerTooltip: 'Go to previous pager items',\n pagerDropDown: 'Items per page',\n pagerAllDropDown: 'Items',\n CurrentPageInfo: '{0} of {1} pages',\n TotalItemsInfo: '({0} items)',\n FirstPageTooltip: 'Go to first page',\n LastPageTooltip: 'Go to last page',\n NextPageTooltip: 'Go to next page',\n PreviousPageTooltip: 'Go to previous page',\n NextPagerTooltip: 'Go to next pager items',\n PreviousPagerTooltip: 'Go to previous pager items',\n PagerDropDown: 'Items per page',\n PagerAllDropDown: 'Items',\n All: 'All',\n Container: 'Pager Container',\n Information: 'Pager Information',\n ExternalMsg: 'Pager external message',\n Page: 'Page ',\n Of: ' of ',\n Pages: ' Pages'\n };\n this.containerModule = new _numeric_container__WEBPACK_IMPORTED_MODULE_1__.NumericContainer(this);\n this.pagerMessageModule = new _pager_message__WEBPACK_IMPORTED_MODULE_2__.PagerMessage(this);\n };\n /**\n * To Initialize the component rendering\n *\n * @returns {void}\n */\n Pager.prototype.render = function () {\n this.element.setAttribute('data-role', 'pager');\n this.element.setAttribute('tabindex', '-1');\n this.initLocalization();\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n this.element.classList.add('e-mac-safari');\n }\n if (this.cssClass) {\n if (this.cssClass.indexOf(' ') !== -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], this.cssClass.split(' '));\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], [this.cssClass]);\n }\n }\n if (!this.hasParent) {\n this.element.setAttribute('tabindex', '0');\n }\n if (this.enableQueryString) {\n var pageValue = new URL(window.location.href).searchParams.get('page');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pageValue) && window.location.href.indexOf('?page=') > 0) {\n var currentPageValue = parseInt(pageValue, 10);\n if (this.hasParent) {\n this.parent\n .setProperties({ pageSettings: { currentPage: currentPageValue } }, true);\n }\n this.currentPage = currentPageValue;\n }\n }\n if (this.template) {\n if (this.isReactTemplate()) {\n this.on(this.pageRefresh, this.pagerTemplate, this);\n this.notify(this.pageRefresh, {});\n }\n else {\n this.pagerTemplate();\n }\n }\n else {\n this.updateRTL();\n this.totalRecordsCount = this.totalRecordsCount || 0;\n this.renderFirstPrevDivForDevice();\n this.containerModule.render();\n if (this.enablePagerMessage) {\n this.pagerMessageModule.render();\n }\n this.renderNextLastDivForDevice();\n if (this.checkpagesizes() && this.pagerdropdownModule) {\n this.pagerdropdownModule.render();\n }\n this.addAriaLabel();\n if (this.enableExternalMessage && this.externalMessageModule) {\n this.externalMessageModule.render();\n }\n this.refresh();\n this.trigger('created', { 'currentPage': this.currentPage, 'totalRecordsCount': this.totalRecordsCount });\n }\n this.wireEvents();\n this.addListener();\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} returns the persist data\n * @hidden\n */\n Pager.prototype.getPersistData = function () {\n var keyEntity = ['currentPage', 'pageSize'];\n return this.addOnPersist(keyEntity);\n };\n /**\n * To destroy the Pager component.\n *\n * @method destroy\n * @returns {void}\n */\n Pager.prototype.destroy = function () {\n if (this.isDestroyed) {\n return;\n }\n if (this.isReactTemplate()) {\n this.off(this.pageRefresh, this.pagerTemplate);\n if (!this.hasParent) {\n this.destroyTemplate(['pagerTemplate']);\n }\n }\n this.removeListener();\n this.unwireEvents();\n _super.prototype.destroy.call(this);\n this.containerModule.destroy();\n this.pagerMessageModule.destroy();\n if (!this.isReactTemplate()) {\n this.element.innerHTML = '';\n }\n };\n /**\n * Destroys the given template reference.\n *\n * @param {string[]} propertyNames - Defines the collection of template name.\n * @param {any} index - Defines the index\n */\n // eslint-disable-next-line\n Pager.prototype.destroyTemplate = function (propertyNames, index) {\n this.clearTemplate(propertyNames, index);\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} returns the module name\n * @private\n */\n Pager.prototype.getModuleName = function () {\n return 'pager';\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {PagerModel} newProp - specifies the new property\n * @param {PagerModel} oldProp - specifies the old propety\n * @returns {void}\n * @hidden\n */\n Pager.prototype.onPropertyChanged = function (newProp, oldProp) {\n if (this.isDestroyed) {\n return;\n }\n if ((newProp.pageSize === this.getLocalizedLabel('All')) && oldProp.pageSize === this.totalRecordsCount) {\n this.pageSize = this.totalRecordsCount;\n return;\n }\n if (newProp.pageCount !== oldProp.pageCount) {\n this.containerModule.refreshNumericLinks();\n this.containerModule.refresh();\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'currentPage':\n if (this.checkGoToPage(newProp.currentPage, oldProp.currentPage)) {\n this.currentPageChanged(newProp, oldProp);\n }\n break;\n case 'pageSize':\n case 'totalRecordsCount':\n case 'customText':\n if (this.checkpagesizes() && this.pagerdropdownModule) {\n if (oldProp.pageSize !== newProp.pageSize) {\n this.currentPage = 1;\n }\n this.pagerdropdownModule.setDropDownValue('value', this.pageSize);\n }\n if (newProp.pageSize !== oldProp.pageSize) {\n this.pageSize = newProp.pageSize;\n this.currentPageChanged(newProp, oldProp);\n if (this.isCancel && this.hasParent) {\n this.parent\n .setProperties({ pageSettings: { pageSize: oldProp.pageSize } }, true);\n }\n }\n else {\n this.refresh();\n }\n break;\n case 'pageSizes':\n if (this.checkpagesizes() && this.pagerdropdownModule) {\n this.pagerdropdownModule.destroy();\n this.pagerdropdownModule.render();\n }\n this.refresh();\n break;\n case 'template':\n this.templateFn = this.compile(this.template);\n this.refresh();\n break;\n case 'locale':\n this.initLocalization();\n this.refresh();\n break;\n case 'enableExternalMessage':\n if (this.enableExternalMessage && this.externalMessageModule) {\n this.externalMessageModule.render();\n }\n break;\n case 'externalMessage':\n if (this.externalMessageModule) {\n this.externalMessageModule.refresh();\n }\n break;\n case 'enableRtl':\n this.updateRTL();\n break;\n case 'enablePagerMessage':\n if (this.enablePagerMessage) {\n this.pagerMessageModule.showMessage();\n }\n else {\n this.pagerMessageModule.hideMessage();\n }\n break;\n }\n }\n this.resizePager();\n };\n Pager.prototype.wireEvents = function () {\n if (!this.hasParent) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keydown', this.keyPressHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document.body, 'keydown', this.keyDownHandler, this);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusin', this.onFocusIn, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusout', this.onFocusOut, this);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'resize', this.resizePager, this);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'load', this.resizePager, this);\n };\n Pager.prototype.unwireEvents = function () {\n if (!this.hasParent) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keydown', this.keyPressHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document.body, 'keydown', this.keyDownHandler);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusin', this.onFocusIn);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusout', this.onFocusOut);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'resize', this.resizePager);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'load', this.resizePager);\n };\n Pager.prototype.onFocusIn = function (e) {\n var focusedTabIndexElement = this.getFocusedTabindexElement();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedTabIndexElement)) {\n var target = e.target;\n var dropDownPage = this.getDropDownPage();\n if (!this.hasParent) {\n this.element.tabIndex = -1;\n }\n if (target === this.element && !this.hasParent) {\n var focusablePagerElements = this.getFocusablePagerElements(this.element, []);\n this.addFocus(focusablePagerElements[0], true);\n return;\n }\n if (target === this.element) {\n this.element.tabIndex = 0;\n return;\n }\n if (target !== dropDownPage && !target.classList.contains('e-disable')) {\n this.addFocus(target, true);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Pager.prototype.onFocusOut = function (e) {\n var focusedElement = this.getFocusedElement();\n var dropDownPage = this.getDropDownPage();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(focusedElement)) {\n this.removeFocus(focusedElement, true);\n }\n if (this.pageSizes && dropDownPage && dropDownPage.classList.contains('e-input-focus')) {\n this.removeFocus(dropDownPage, true);\n }\n this.setTabIndexForFocusLastElement();\n if (!this.hasParent) {\n this.element.tabIndex = 0;\n }\n if (this.hasParent) {\n this.element.tabIndex = -1;\n }\n };\n Pager.prototype.keyDownHandler = function (e) {\n if (e.altKey) {\n if (e.keyCode === 74) {\n var focusablePagerElements = this.getFocusablePagerElements(this.element, []);\n if (focusablePagerElements.length > 0) {\n focusablePagerElements[0].focus();\n }\n }\n }\n };\n Pager.prototype.keyPressHandler = function (e) {\n var presskey = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(e, { cancel: false });\n this.notify(_grid_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, presskey);\n if (presskey.cancel === true) {\n e.stopImmediatePropagation();\n }\n };\n Pager.prototype.addListener = function () {\n if (this.isDestroyed) {\n return;\n }\n if (!this.hasParent) {\n this.on(_grid_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, this.onKeyPress, this);\n }\n };\n Pager.prototype.removeListener = function () {\n if (this.isDestroyed) {\n return;\n }\n if (!this.hasParent) {\n this.off(_grid_base_constant__WEBPACK_IMPORTED_MODULE_3__.keyPressed, this.onKeyPress);\n }\n };\n Pager.prototype.onKeyPress = function (e) {\n if (!this.hasParent) {\n if (this.checkPagerHasFocus()) {\n this.changePagerFocus(e);\n }\n else {\n e.preventDefault();\n this.setPagerFocus();\n }\n }\n };\n /**\n * @returns {boolean} - Return the true value if pager has focus\n * @hidden */\n Pager.prototype.checkPagerHasFocus = function () {\n return this.getFocusedTabindexElement() ? true : false;\n };\n /**\n * @returns {void}\n * @hidden */\n Pager.prototype.setPagerContainerFocus = function () {\n this.element.focus();\n };\n /**\n * @returns {void}\n * @hidden */\n Pager.prototype.setPagerFocus = function () {\n var focusablePagerElements = this.getFocusablePagerElements(this.element, []);\n if (focusablePagerElements.length > 0) {\n focusablePagerElements[0].focus();\n }\n };\n Pager.prototype.setPagerFocusForActiveElement = function () {\n var currentActivePage = this.getActiveElement();\n if (currentActivePage) {\n currentActivePage.focus();\n }\n };\n Pager.prototype.setTabIndexForFocusLastElement = function () {\n var focusablePagerElements = this.getFocusablePagerElements(this.element, []);\n var dropDownPage = this.getDropDownPage();\n if (this.pageSizes && dropDownPage && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dropDownPage.offsetParent)) {\n dropDownPage.tabIndex = 0;\n }\n else if (focusablePagerElements.length > 0) {\n focusablePagerElements[focusablePagerElements.length - 1].tabIndex = 0;\n }\n };\n /**\n * @param {KeyboardEventArgs} e - Keyboard Event Args\n * @returns {void}\n * @hidden */\n Pager.prototype.changePagerFocus = function (e) {\n this.keyAction = e.key;\n if (e.shiftKey && e.keyCode === 9) {\n this.changeFocusByShiftTab(e);\n }\n else if (e.keyCode === 9) {\n this.changeFocusByTab(e);\n }\n else if (e.keyCode === 13 || e.keyCode === 32) {\n this.navigateToPageByEnterOrSpace(e);\n }\n else if (e.keyCode === 37 || e.keyCode === 39 || e.keyCode === 35 || e.keyCode === 36) {\n this.navigateToPageByKey(e);\n }\n this.keyAction = '';\n };\n Pager.prototype.getFocusedTabindexElement = function () {\n var focusedTabIndexElement;\n var tabindexElements = this.element.querySelectorAll('[tabindex]:not([tabindex=\"-1\"])');\n for (var i = 0; i < tabindexElements.length; i++) {\n var element = tabindexElements[parseInt(i.toString(), 10)];\n if (element && (element.classList.contains('e-focused') || element.classList.contains('e-input-focus'))) {\n focusedTabIndexElement = element;\n break;\n }\n }\n return focusedTabIndexElement;\n };\n Pager.prototype.changeFocusByTab = function (e) {\n var currentItemPagerFocus = this.getFocusedTabindexElement();\n var focusablePagerElements = this.getFocusablePagerElements(this.element, []);\n var dropDownPage = this.getDropDownPage();\n if (focusablePagerElements.length > 0) {\n if (this.pageSizes && dropDownPage && currentItemPagerFocus === focusablePagerElements[focusablePagerElements.length - 1]) {\n dropDownPage.tabIndex = 0;\n }\n else {\n for (var i = 0; i < focusablePagerElements.length; i++) {\n if (currentItemPagerFocus === focusablePagerElements[parseInt(i.toString(), 10)]) {\n var incrementNumber = i + 1;\n if (incrementNumber < focusablePagerElements.length) {\n e.preventDefault();\n focusablePagerElements[parseInt(incrementNumber.toString(), 10)].focus();\n }\n break;\n }\n }\n }\n }\n };\n Pager.prototype.changeFocusByShiftTab = function (e) {\n var currentItemPagerFocus = this.getFocusedTabindexElement();\n var focusablePagerElements = this.getFocusablePagerElements(this.element, []);\n var dropDownPage = this.getDropDownPage();\n if (this.pageSizes && dropDownPage && dropDownPage.classList.contains('e-input-focus')) {\n dropDownPage.tabIndex = -1;\n this.addFocus(focusablePagerElements[focusablePagerElements.length - 1], true);\n }\n else if (focusablePagerElements.length > 0) {\n for (var i = 0; i < focusablePagerElements.length; i++) {\n if (currentItemPagerFocus === focusablePagerElements[parseInt(i.toString(), 10)]) {\n var decrementNumber = i - 1;\n if (decrementNumber >= 0) {\n e.preventDefault();\n focusablePagerElements[parseInt(decrementNumber.toString(), 10)].focus();\n }\n else if (this.hasParent) {\n var rows = this.parent.getRows();\n var lastRow = rows[rows.length - 1];\n var lastCell = lastRow.lastChild;\n e.preventDefault();\n lastCell.focus();\n this.firstPagerFocus = true;\n }\n break;\n }\n }\n }\n };\n /**\n * @returns {void}\n * @hidden */\n Pager.prototype.checkFirstPagerFocus = function () {\n if (this.firstPagerFocus) {\n this.firstPagerFocus = false;\n return true;\n }\n return false;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Pager.prototype.navigateToPageByEnterOrSpace = function (e) {\n var currentItemPagerFocus = this.getFocusedElement();\n if (currentItemPagerFocus) {\n this.goToPage(parseInt(currentItemPagerFocus.getAttribute('index'), 10));\n var currentActivePage = this.getActiveElement();\n var selectedClass = this.getClass(currentItemPagerFocus);\n var classElement = this.getElementByClass(selectedClass);\n if ((selectedClass === 'e-first' || selectedClass === 'e-prev' || selectedClass === 'e-next'\n || selectedClass === 'e-last' || selectedClass === 'e-pp' || selectedClass === 'e-np')\n && classElement && !classElement.classList.contains('e-disable')) {\n classElement.focus();\n }\n else if (this.checkFocusInAdaptiveMode(currentItemPagerFocus)) {\n this.changeFocusInAdaptiveMode(currentItemPagerFocus);\n }\n else {\n if (currentActivePage) {\n currentActivePage.focus();\n }\n }\n }\n };\n Pager.prototype.navigateToPageByKey = function (e) {\n var actionClass = e.keyCode === 37 ? '.e-prev' : e.keyCode === 39 ? '.e-next'\n : e.keyCode === 35 ? '.e-last' : e.keyCode === 36 ? '.e-first' : '';\n var pagingItem = this.element.querySelector(actionClass);\n var currentItemPagerFocus = this.getFocusedElement();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pagingItem) && pagingItem.hasAttribute('index')\n && !isNaN(parseInt(pagingItem.getAttribute('index'), 10))) {\n this.goToPage(parseInt(pagingItem.getAttribute('index'), 10));\n var currentActivePage = this.getActiveElement();\n if (this.checkFocusInAdaptiveMode(currentItemPagerFocus)) {\n this.changeFocusInAdaptiveMode(currentItemPagerFocus);\n }\n else {\n if (currentActivePage) {\n currentActivePage.focus();\n }\n }\n }\n };\n Pager.prototype.checkFocusInAdaptiveMode = function (element) {\n var selectedClass = this.getClass(element);\n return selectedClass === 'e-mfirst' || selectedClass === 'e-mprev' || selectedClass === 'e-mnext'\n || selectedClass === 'e-mlast' ? true : false;\n };\n Pager.prototype.changeFocusInAdaptiveMode = function (element) {\n var selectedClass = this.getClass(element);\n var classElement = this.getElementByClass(selectedClass);\n if (classElement && classElement.classList.contains('e-disable')) {\n if (selectedClass === 'e-mnext' || selectedClass === 'e-mlast') {\n var mPrev = this.element.querySelector('.e-mprev');\n mPrev.focus();\n }\n else {\n this.setPagerFocus();\n }\n }\n };\n Pager.prototype.removeTabindexLastElements = function () {\n var tabIndexElements = this.element.querySelectorAll('[tabindex]:not([tabindex=\"-1\"])');\n if (tabIndexElements.length > 1) {\n for (var i = 1; i < tabIndexElements.length; i++) {\n var element = tabIndexElements[parseInt(i.toString(), 10)];\n if (element) {\n element.tabIndex = -1;\n }\n }\n }\n };\n Pager.prototype.getActiveElement = function () {\n return this.element.querySelector('.e-active');\n };\n /**\n * @returns {Element} - Returns DropDown Page\n * @hidden */\n Pager.prototype.getDropDownPage = function () {\n var dropDownPageHolder = this.element.querySelector('.e-pagerdropdown');\n var dropDownPage;\n if (dropDownPageHolder) {\n dropDownPage = dropDownPageHolder.children[0];\n }\n return dropDownPage;\n };\n Pager.prototype.getFocusedElement = function () {\n return this.element.querySelector('.e-focused');\n };\n Pager.prototype.getClass = function (element) {\n var currentClass;\n var classList = ['e-mfirst', 'e-mprev', 'e-first', 'e-prev', 'e-pp',\n 'e-np', 'e-next', 'e-last', 'e-mnext', 'e-mlast'];\n for (var i = 0; i < classList.length; i++) {\n if (element && element.classList.contains(classList[parseInt(i.toString(), 10)])) {\n currentClass = classList[parseInt(i.toString(), 10)];\n return currentClass;\n }\n }\n return currentClass;\n };\n Pager.prototype.getElementByClass = function (className) {\n return this.element.querySelector('.' + className);\n };\n /**\n * @param {Element} element - Pager element\n * @param {Element[]} previousElements - Iterating pager element\n * @returns {Element[]} - Returns focusable pager element\n * @hidden */\n Pager.prototype.getFocusablePagerElements = function (element, previousElements) {\n var target = element;\n var targetChildrens = target.children;\n var pagerElements = previousElements;\n for (var i = 0; i < targetChildrens.length; i++) {\n var element_1 = targetChildrens[parseInt(i.toString(), 10)];\n if (element_1.children.length > 0 && !element_1.classList.contains('e-pagesizes')) {\n pagerElements = this.getFocusablePagerElements(element_1, pagerElements);\n }\n else {\n var tabindexElement = targetChildrens[parseInt(i.toString(), 10)];\n if (tabindexElement.hasAttribute('tabindex') && !element_1.classList.contains('e-disable')\n && element_1.style.display !== 'none'\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element_1.offsetParent)) {\n pagerElements.push(tabindexElement);\n }\n }\n }\n return pagerElements;\n };\n Pager.prototype.addFocus = function (element, addFocusClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n if (addFocusClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], ['e-focused', 'e-focus']);\n }\n element.tabIndex = 0;\n }\n };\n Pager.prototype.removeFocus = function (element, removeFocusClass) {\n if (removeFocusClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([element], ['e-focused', 'e-focus']);\n }\n element.tabIndex = -1;\n };\n /**\n * Gets the localized label by locale keyword.\n *\n * @param {string} key - specifies the key\n * @returns {string} returns the localized label\n */\n Pager.prototype.getLocalizedLabel = function (key) {\n return this.localeObj.getConstant(key);\n };\n /**\n * Navigate to target page by given number.\n *\n * @param {number} pageNo - Defines page number.\n * @returns {void}\n */\n Pager.prototype.goToPage = function (pageNo) {\n if (this.checkGoToPage(pageNo)) {\n this.currentPage = pageNo;\n this.isInteracted = false;\n this.dataBind();\n }\n };\n /**\n * @param {number} pageSize - specifies the pagesize\n * @returns {void}\n * @hidden\n */\n Pager.prototype.setPageSize = function (pageSize) {\n this.pageSize = pageSize;\n this.dataBind();\n };\n Pager.prototype.checkpagesizes = function () {\n if (this.pageSizes === true || this.pageSizes.length) {\n return true;\n }\n return false;\n };\n Pager.prototype.checkGoToPage = function (newPageNo, oldPageNo) {\n if (newPageNo !== this.currentPage) {\n this.previousPageNo = this.currentPage;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldPageNo)) {\n this.previousPageNo = oldPageNo;\n }\n if (this.previousPageNo !== newPageNo && (newPageNo >= 1 && newPageNo <= this.totalPages)) {\n return true;\n }\n return false;\n };\n Pager.prototype.currentPageChanged = function (newProp, oldProp) {\n if (this.enableQueryString) {\n this.updateQueryString(this.currentPage);\n }\n if (newProp.currentPage !== oldProp.currentPage || newProp.pageSize !== oldProp.pageSize) {\n var args = {\n currentPage: this.currentPage,\n newProp: newProp, oldProp: oldProp, cancel: false, isInteracted: this.isInteracted\n };\n this.trigger('click', args);\n if (!args.cancel) {\n this.isCancel = false;\n this.refresh();\n }\n else {\n this.isCancel = true;\n if (oldProp && oldProp.pageSize) {\n this.setProperties({ pageSize: oldProp.pageSize }, true);\n if (this.pagerdropdownModule) {\n this.pagerdropdownModule.setDropDownValue('value', oldProp.pageSize);\n this.pagerdropdownModule['dropDownListObject'].text = oldProp.pageSize + '';\n }\n }\n }\n }\n };\n Pager.prototype.pagerTemplate = function () {\n if (this.isReactTemplate() && this.hasParent) {\n return;\n }\n var result;\n this.element.classList.add('e-pagertemplate');\n this.compile(this.template);\n var data = {\n currentPage: this.currentPage, pageSize: this.pageSize, pageCount: this.pageCount,\n totalRecordsCount: this.totalRecordsCount, totalPages: this.totalPages\n };\n var tempId = this.element.parentElement.id + '_template';\n if (this.isReactTemplate() && !this.isVue) {\n this.getPagerTemplate()(data, this, 'pagerTemplate', tempId, null, null, this.element);\n this.renderReactTemplates();\n }\n else {\n result = this.isVue ? this.getPagerTemplate()(data, this, 'pagerTemplate', null, null, null, null, this.root)\n : this.getPagerTemplate()(data);\n (0,_grid_base_util__WEBPACK_IMPORTED_MODULE_4__.appendChildren)(this.element, result);\n }\n };\n /**\n * @returns {void}\n * @hidden\n */\n Pager.prototype.updateTotalPages = function () {\n this.totalPages = this.isAllPage ? 1 : (this.totalRecordsCount % this.pageSize === 0) ? (this.totalRecordsCount / this.pageSize) :\n (parseInt((this.totalRecordsCount / this.pageSize).toString(), 10) + 1);\n };\n /**\n * @returns {Function} returns the function\n * @hidden\n */\n Pager.prototype.getPagerTemplate = function () {\n return this.templateFn;\n };\n /**\n * @param {string | Function} template - specifies the template\n * @returns {Function} returns the function\n * @hidden\n */\n Pager.prototype.compile = function (template) {\n if (template) {\n try {\n if (typeof template === 'function') {\n this.templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n else {\n if (document.querySelectorAll(template).length) {\n this.templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(document.querySelector(template).innerHTML.trim());\n }\n else {\n this.templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n }\n }\n catch (e) {\n this.templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n }\n return undefined;\n };\n /**\n * Refreshes page count, pager information and external message.\n *\n * @returns {void}\n */\n Pager.prototype.refresh = function () {\n if (this.template) {\n if (this.isReactTemplate()) {\n this.updateTotalPages();\n this.notify(this.pageRefresh, {});\n }\n else {\n if (this.parent && this.parent.isAngular) {\n this.parent.destroyTemplate(['pagerTemplate']);\n }\n else {\n this.element.innerHTML = '';\n }\n this.updateTotalPages();\n this.pagerTemplate();\n }\n }\n else {\n this.updateRTL();\n var focusedTabIndexElement = this.getFocusedTabindexElement();\n this.containerModule.refresh();\n this.removeTabindexLastElements();\n if (focusedTabIndexElement && focusedTabIndexElement.classList.contains('e-disable')) {\n if (this.checkFocusInAdaptiveMode(focusedTabIndexElement)) {\n this.changeFocusInAdaptiveMode(focusedTabIndexElement);\n }\n else {\n this.setPagerFocusForActiveElement();\n }\n }\n if (this.enablePagerMessage) {\n this.pagerMessageModule.refresh();\n }\n if (this.pagerdropdownModule) {\n this.pagerdropdownModule.refresh();\n }\n if (this.enableExternalMessage && this.externalMessageModule) {\n this.externalMessageModule.refresh();\n }\n this.setTabIndexForFocusLastElement();\n this.resizePager();\n }\n };\n Pager.prototype.updateRTL = function () {\n if (this.enableRtl) {\n this.element.classList.add('e-rtl');\n }\n else {\n this.element.classList.remove('e-rtl');\n }\n };\n Pager.prototype.initLocalization = function () {\n this.localeObj = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n(this.getModuleName(), this.defaultConstants, this.locale);\n };\n Pager.prototype.updateQueryString = function (value) {\n var updatedUrl = this.getUpdatedURL(window.location.href, 'page', value.toString());\n window.history.pushState({ path: updatedUrl }, '', updatedUrl);\n };\n Pager.prototype.getUpdatedURL = function (uri, key, value) {\n var regExp = RegExp;\n var regx = new regExp('([?|&])' + key + '=.*?(&|#|$)', 'i');\n if (uri.match(regx)) {\n return uri.replace(regx, '$1' + key + '=' + value + '$2');\n }\n else {\n var hash = '';\n if (uri.indexOf('#') !== -1) {\n hash = uri.replace(/.*#/, '#');\n uri = uri.replace(/#.*/, '');\n }\n return uri + (uri.indexOf('?') !== -1 ? '&' : '?') + key + '=' + value + hash;\n }\n };\n Pager.prototype.renderFirstPrevDivForDevice = function () {\n this.element.appendChild((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-mfirst e-icons e-icon-first',\n attrs: { title: this.getLocalizedLabel('firstPageTooltip'), tabindex: '-1' }\n }));\n this.element.appendChild((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-mprev e-icons e-icon-prev',\n attrs: { title: this.getLocalizedLabel('previousPageTooltip'), tabindex: '-1' }\n }));\n };\n Pager.prototype.renderNextLastDivForDevice = function () {\n this.element.appendChild((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-mnext e-icons e-icon-next',\n attrs: { title: this.getLocalizedLabel('nextPageTooltip'), tabindex: '-1' }\n }));\n this.element.appendChild((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {\n className: 'e-mlast e-icons e-icon-last',\n attrs: { title: this.getLocalizedLabel('lastPageTooltip'), tabindex: '-1' }\n }));\n };\n Pager.prototype.addAriaLabel = function () {\n var classList = ['.e-mfirst', '.e-mprev', '.e-mnext', '.e-mlast'];\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n for (var i = 0; i < classList.length; i++) {\n var element = this.element.querySelector(classList[parseInt(i.toString(), 10)]);\n element.setAttribute('aria-label', element.getAttribute('title'));\n }\n }\n };\n Pager.prototype.isReactTemplate = function () {\n return (this.isReact || this.isVue) && this.template && typeof (this.template) !== 'string' && !(this.template.prototype && this.template.prototype.CSPTemplate);\n };\n /**\n * Loop through all the inner elements of pager to calculate the required width for pager child elements.\n *\n * @returns {number} returns the actual width occupied by pager elements.\n */\n Pager.prototype.calculateActualWidth = function () {\n var pagerElements = this.element.querySelectorAll(\n /* tslint:disable-next-line:max-line-length */\n '.e-mfirst, .e-mprev, .e-icon-first, .e-icon-prev, .e-pp:not(.e-disable), .e-numericitem:not(.e-hide), .e-numericitem.e-active.e-hide, .e-np:not(.e-disable), .e-icon-next, .e-icon-last, .e-parentmsgbar, .e-mnext, .e-mlast, .e-pagerdropdown, .e-pagerconstant');\n var actualWidth = 0;\n for (var i = 0; i < pagerElements.length; i++) {\n if (getComputedStyle(pagerElements[parseInt(i.toString(), 10)]).display !== 'none') {\n actualWidth += pagerElements[parseInt(i.toString(), 10)].offsetWidth\n + parseFloat(getComputedStyle(pagerElements[parseInt(i.toString(), 10)]).marginLeft)\n + parseFloat(getComputedStyle(pagerElements[parseInt(i.toString(), 10)]).marginRight);\n }\n }\n var pagerContainer = this.element.querySelector('.e-pagercontainer');\n actualWidth += parseFloat(getComputedStyle(pagerContainer).marginLeft)\n + parseFloat(getComputedStyle(pagerContainer).marginRight);\n return actualWidth;\n };\n /**\n * Resize pager component by hiding pager component's numeric items based on total width available for pager.\n *\n * @returns {void}\n */\n Pager.prototype.resizePager = function () {\n var _this = this;\n var isStyleApplied = this.element.classList.contains('e-pager') ? getComputedStyle(this.element).getPropertyValue('border-style').includes('solid') : null;\n if (!(this.template) && isStyleApplied) {\n var pagerContainer = this.element.querySelector('.e-pagercontainer');\n var actualWidth = this.calculateActualWidth();\n var pagerWidth = this.element.clientWidth\n - parseFloat(getComputedStyle(this.element).paddingLeft)\n - parseFloat(getComputedStyle(this.element).paddingRight)\n - parseFloat(getComputedStyle(this.element).marginLeft)\n - parseFloat(getComputedStyle(this.element).marginRight);\n var numItems = pagerContainer.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n var hiddenNumItems = pagerContainer.querySelectorAll('.e-numericitem.e-hide:not([style*=\"display: none\"])');\n var hideFrom = numItems.length;\n var showFrom = 1;\n var bufferWidth = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_grid_base_util__WEBPACK_IMPORTED_MODULE_4__.parentsUntil)(this.element, 'e-bigger'))) ? 10 : 5;\n var NP = pagerContainer.querySelector('.e-np');\n var PP = pagerContainer.querySelector('.e-pp');\n var detailItems = this.element.querySelectorAll('.e-parentmsgbar:not(.e-hide):not([style*=\"display: none\"]), .e-pagesizes:not(.e-hide):not([style*=\"display: none\"])');\n var totDetailWidth_1 = 0;\n if (detailItems.length) {\n detailItems.forEach(function (item) {\n totDetailWidth_1 += item.offsetWidth;\n });\n this.averageDetailWidth = totDetailWidth_1 / detailItems.length;\n }\n var totalWidth = 0;\n /**\n * Loop to calculate average width of numeric item.\n */\n for (var i = 0; i < numItems.length; i++) {\n totalWidth += numItems[parseInt(i.toString(), 10)].offsetWidth\n + parseFloat(getComputedStyle(numItems[parseInt(i.toString(), 10)]).marginLeft)\n + parseFloat(getComputedStyle(numItems[parseInt(i.toString(), 10)]).marginRight);\n }\n var numericItemWidth = totalWidth / numItems.length;\n /**\n * Condition to hide numeric items when calculated actual width exceeds available pager space.\n */\n if (pagerWidth > 0 && (actualWidth >= (pagerWidth - (numericItemWidth ? numericItemWidth : 0)))) {\n this.isPagerResized = true;\n if (this.currentPage !== this.totalPages) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(NP, ['e-numericitem', 'e-pager-default'], ['e-nextprevitemdisabled', 'e-disable']);\n }\n actualWidth = this.calculateActualWidth();\n var diff = Math.abs((actualWidth) - pagerWidth);\n // To calculate number of numeric items need to be hidden.\n var numToHide = Math.ceil(diff / (numericItemWidth));\n numToHide = (numToHide === 0) ? 1 : (numToHide > numItems.length) ? (numItems.length - 1) : numToHide;\n for (var i = 1; i <= numToHide; i++) {\n var hideIndex = hideFrom - parseInt(i.toString(), 10);\n numItems = pagerContainer.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n if (this.currentPage !== 1 && ((parseInt(numItems[Math.abs(hideIndex)].getAttribute('index'), 10) === this.currentPage)\n || parseInt(numItems[numItems.length - 1].getAttribute('index'), 10) === this.currentPage)) {\n hideIndex = 0;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(PP, ['e-numericitem', 'e-pager-default'], ['e-nextprevitemdisabled', 'e-disable']);\n }\n if (numItems[Math.abs(hideIndex)] && !(numItems[Math.abs(hideIndex)].classList.contains('e-currentitem'))) {\n numItems[Math.abs(hideIndex)].classList.add('e-hide');\n }\n }\n numItems = pagerContainer.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n // To hide Pager message elements when no more numeric items available to hide.\n if (numItems.length <= 1 && detailItems.length && window.innerWidth >= 768) {\n var pagerDetailItemsWidth = this.calculateActualWidth();\n if ((pagerDetailItemsWidth) > (pagerWidth - bufferWidth)) {\n var detailtoHide = Math.floor((pagerWidth - (pagerDetailItemsWidth - totDetailWidth_1))\n / this.averageDetailWidth);\n detailtoHide = detailItems.length - detailtoHide;\n for (var i = 0; i < (detailtoHide > detailItems.length ? detailItems.length : detailtoHide); i++) {\n detailItems[parseInt(i.toString(), 10)].classList.add('e-hide');\n }\n }\n }\n }\n /**\n * Condition to show numeric items when space availble in pager at dom.\n */\n else if (actualWidth < (pagerWidth) && hiddenNumItems.length) {\n var diff = Math.abs(pagerWidth - (actualWidth));\n var hiddenDetailItems = this.element.querySelectorAll('.e-parentmsgbar.e-hide, .e-pagesizes.e-hide');\n // To show Pager message elements.\n if (hiddenDetailItems.length && (diff > (this.averageDetailWidth + (this.averageDetailWidth / 4)))) {\n hiddenDetailItems[(hiddenDetailItems.length - 1)].classList.remove('e-hide');\n }\n if ((diff > (numericItemWidth * 2) && !hiddenDetailItems.length && window.innerWidth >= 768)) {\n // To calculate number of numeric items need to be shown.\n var numToShow = Math.floor((diff) / (numericItemWidth + bufferWidth));\n numToShow = (numToShow > hiddenNumItems.length) ? hiddenNumItems.length : (numToShow - 1);\n //Seggregating hidden num items as less index and greater index values than current page value.\n var lesserIndexItems = Array.from(hiddenNumItems).filter(function (item) { return parseInt(item.getAttribute('index'), 10) < _this.currentPage; }).sort(function (a, b) { return parseInt(b.getAttribute('index'), 10) - parseInt(a.getAttribute('index'), 10); });\n var greaterIndexItems = Array.from(hiddenNumItems).filter(function (item) { return parseInt(item.getAttribute('index'), 10) > _this.currentPage; });\n var showItems = (lesserIndexItems.length && lesserIndexItems)\n || (greaterIndexItems.length && greaterIndexItems);\n for (var i = 1; i <= numToShow; i++) {\n var showItem = showItems && showItems[Math.abs(showFrom - i)];\n if (showItem) {\n showItem.classList.remove('e-hide');\n if (showItem === showItems[showItems.length - 1]) {\n showItems = null;\n }\n }\n }\n }\n }\n numItems = pagerContainer.querySelectorAll('.e-numericitem:not(.e-hide):not([style*=\"display: none\"]):not(.e-np):not(.e-pp)');\n if (numItems.length) {\n if (parseInt(numItems[numItems.length - 1].getAttribute('index'), 10) === this.totalPages) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(NP, ['e-nextprevitemdisabled', 'e-disable'], ['e-numericitem', 'e-pager-default']);\n }\n if (parseInt(numItems[0].getAttribute('index'), 10) === 1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(PP, ['e-nextprevitemdisabled', 'e-disable'], ['e-numericitem', 'e-pager-default']);\n }\n var isLastSet = Array.from(numItems).some(function (item) { return parseInt(item.getAttribute('index'), 10) === _this.totalPages; });\n var ppIndex = (parseInt(numItems[0].getAttribute('index'), 10) - (isLastSet && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.avgNumItems) ? this.avgNumItems : numItems.length));\n PP.setAttribute('index', (ppIndex < 1) ? '1' : ppIndex.toString());\n NP.setAttribute('index', (parseInt(numItems[numItems.length - 1].getAttribute('index'), 10) + 1).toString());\n this.avgNumItems = isLastSet ? this.avgNumItems : numItems.length;\n }\n /**\n * Condition to add adaptive class name and set pagermessage content with \"/\" when media query css has been applied.\n */\n if (((this.element.offsetWidth < 769) && window.getComputedStyle(this.element.querySelector('.e-mfirst')).getPropertyValue('display') !== 'none') && this.pageSizes) {\n this.element.querySelector('.e-pagesizes').classList.remove('e-hide');\n this.element.querySelector('.e-parentmsgbar').classList.remove('e-hide');\n this.element.classList.add('e-adaptive');\n this.element.querySelector('.e-pagenomsg').innerHTML = this.element.offsetWidth < 481 ? (this.currentPage + ' / ' + this.totalPages) : this.pagerMessageModule.format(this.getLocalizedLabel('currentPageInfo'), [this.totalRecordsCount === 0 ? 0 :\n this.currentPage, this.totalPages || 0, this.totalRecordsCount || 0]) + ' ';\n }\n else {\n this.element.classList.remove('e-adaptive');\n this.element.querySelector('.e-pagenomsg').innerHTML = this.pagerMessageModule.format(this.getLocalizedLabel('currentPageInfo'), [this.totalRecordsCount === 0 ? 0 :\n this.currentPage, this.totalPages || 0, this.totalRecordsCount || 0]) + ' ';\n }\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Pager.prototype, \"enableQueryString\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Pager.prototype, \"enableExternalMessage\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Pager.prototype, \"enablePagerMessage\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(12)\n ], Pager.prototype, \"pageSize\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(10)\n ], Pager.prototype, \"pageCount\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1)\n ], Pager.prototype, \"currentPage\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Pager.prototype, \"totalRecordsCount\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Pager.prototype, \"externalMessage\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Pager.prototype, \"pageSizes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Pager.prototype, \"template\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Pager.prototype, \"customText\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Pager.prototype, \"click\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Pager.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Pager.prototype, \"dropDownChanged\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Pager.prototype, \"created\", void 0);\n Pager = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Pager);\n return Pager;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-grids/src/pager/pager.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ErrorOption: () => (/* binding */ ErrorOption),\n/* harmony export */ FormValidator: () => (/* binding */ FormValidator),\n/* harmony export */ regex: () => (/* binding */ regex)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * global declarations\n */\nvar regex = {\n /* eslint-disable no-useless-escape */\n EMAIL: new RegExp('^[A-Za-z0-9._%+-]{1,}@[A-Za-z0-9._%+-]{1,}([.]{1}[a-zA-Z0-9]{2,}' +\n '|[.]{1}[a-zA-Z0-9]{2,4}[.]{1}[a-zA-Z0-9]{2,4})$'),\n /* eslint-disable-next-line security/detect-unsafe-regex */\n URL: /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/m,\n DATE_ISO: new RegExp('^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'),\n DIGITS: new RegExp('^[0-9]*$'),\n PHONE: new RegExp('^[+]?[0-9]{9,13}$'),\n CREDITCARD: new RegExp('^\\\\d{13,16}$')\n /* eslint-enable no-useless-escape */\n};\n/**\n * ErrorOption values\n *\n * @private\n */\nvar ErrorOption;\n(function (ErrorOption) {\n /**\n * Defines the error message.\n */\n ErrorOption[ErrorOption[\"Message\"] = 0] = \"Message\";\n /**\n * Defines the error element type.\n */\n ErrorOption[ErrorOption[\"Label\"] = 1] = \"Label\";\n})(ErrorOption || (ErrorOption = {}));\n/**\n * FormValidator class enables you to validate the form fields based on your defined rules\n * ```html\n *
      \n * \n * \n *
      \n * \n * ```\n */\nvar FormValidator = /** @class */ (function (_super) {\n __extends(FormValidator, _super);\n /**\n * Initializes the FormValidator.\n *\n * @param {string | HTMLFormElement} element - Specifies the element to render as component.\n * @param {FormValidatorModel} options - Specifies the FormValidator model.\n * @private\n */\n function FormValidator(element, options) {\n var _this = _super.call(this, options, element) || this;\n _this.validated = [];\n _this.errorRules = [];\n _this.allowSubmit = false;\n _this.required = 'required';\n _this.infoElement = null;\n _this.inputElement = null;\n _this.selectQuery = 'input:not([type=reset]):not([type=button]), select, textarea';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.localyMessage = {};\n /**\n * Specifies the default messages for validation rules.\n *\n * @default { List of validation message }\n */\n _this.defaultMessages = {\n required: 'This field is required.',\n email: 'Please enter a valid email address.',\n url: 'Please enter a valid URL.',\n date: 'Please enter a valid date.',\n dateIso: 'Please enter a valid date ( ISO ).',\n creditcard: 'Please enter valid card number',\n number: 'Please enter a valid number.',\n digits: 'Please enter only digits.',\n maxLength: 'Please enter no more than {0} characters.',\n minLength: 'Please enter at least {0} characters.',\n rangeLength: 'Please enter a value between {0} and {1} characters long.',\n range: 'Please enter a value between {0} and {1}.',\n max: 'Please enter a value less than or equal to {0}.',\n min: 'Please enter a value greater than or equal to {0}.',\n regex: 'Please enter a correct value.',\n tel: 'Please enter a valid phone number.',\n pattern: 'Please enter a correct pattern value.',\n equalTo: 'Please enter the valid match text'\n };\n if (typeof _this.rules === 'undefined') {\n _this.rules = {};\n }\n _this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('formValidator', _this.defaultMessages, _this.locale);\n if (_this.locale) {\n _this.localeFunc();\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.onIntlChange.on('notifyExternalChange', _this.afterLocalization, _this);\n element = typeof element === 'string' ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(element, document) : element;\n // Set novalidate to prevent default HTML5 form validation\n if (_this.element != null) {\n _this.element.setAttribute('novalidate', '');\n _this.inputElements = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(_this.selectQuery, _this.element);\n _this.createHTML5Rules();\n _this.wireEvents();\n }\n else {\n return undefined;\n }\n return _this;\n }\n FormValidator_1 = FormValidator;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n /**\n * Add validation rules to the corresponding input element based on `name` attribute.\n *\n * @param {string} name `name` of form field.\n * @param {Object} rules Validation rules for the corresponding element.\n * @returns {void}\n */\n FormValidator.prototype.addRules = function (name, rules) {\n if (name) {\n // eslint-disable-next-line no-prototype-builtins\n if (this.rules.hasOwnProperty(name)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(this.rules[\"\" + name], rules, {});\n }\n else {\n this.rules[\"\" + name] = rules;\n }\n }\n };\n /**\n * Remove validation to the corresponding field based on name attribute.\n * When no parameter is passed, remove all the validations in the form.\n *\n * @param {string} name Input name attribute value.\n * @param {string[]} rules List of validation rules need to be remove from the corresponding element.\n * @returns {void}\n */\n FormValidator.prototype.removeRules = function (name, rules) {\n if (!name && !rules) {\n this.rules = {};\n }\n else if (this.rules[\"\" + name] && !rules) {\n delete this.rules[\"\" + name];\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.rules[\"\" + name] && rules)) {\n for (var i = 0; i < rules.length; i++) {\n delete this.rules[\"\" + name][rules[parseInt(i.toString(), 10)]];\n }\n }\n else {\n return;\n }\n };\n /**\n * Validate the current form values using defined rules.\n * Returns `true` when the form is valid otherwise `false`\n *\n * @param {string} selected - Optional parameter to validate specified element.\n * @returns {boolean} - Returns form validation status.\n */\n FormValidator.prototype.validate = function (selected) {\n var rules = Object.keys(this.rules);\n if (selected && rules.length) {\n this.validateRules(selected);\n //filter the selected element it don't have any valid input element\n return rules.indexOf(selected) !== -1 && this.errorRules.filter(function (data) {\n return data.name === selected;\n }).length === 0;\n }\n else {\n this.errorRules = [];\n for (var _i = 0, rules_1 = rules; _i < rules_1.length; _i++) {\n var name_1 = rules_1[_i];\n this.validateRules(name_1);\n }\n return this.errorRules.length === 0;\n }\n };\n /**\n * Reset the value of all the fields in form.\n *\n * @returns {void}\n */\n FormValidator.prototype.reset = function () {\n this.element.reset();\n this.clearForm();\n };\n /**\n * Get input element by name.\n *\n * @param {string} name - Input element name attribute value.\n * @returns {HTMLInputElement} - Returns the input element.\n */\n FormValidator.prototype.getInputElement = function (name) {\n this.inputElement = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('[name=\"' + name + '\"]', this.element));\n return this.inputElement;\n };\n /**\n * Destroy the form validator object and error elements.\n *\n * @returns {void}\n */\n FormValidator.prototype.destroy = function () {\n this.reset();\n this.unwireEvents();\n this.rules = {};\n var elements = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + this.errorClass + ', .' + this.validClass, this.element);\n for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {\n var element = elements_1[_i];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(element);\n }\n _super.prototype.destroy.call(this);\n this.infoElement = null;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.onIntlChange.off('notifyExternalChange', this.afterLocalization);\n };\n /**\n * @param {FormValidatorModel} newProp - Returns the dynamic property value of the component.\n * @param {FormValidatorModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @private\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n FormValidator.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'locale':\n this.localeFunc();\n break;\n }\n }\n };\n /**\n * @private\n * @returns {void}\n */\n FormValidator.prototype.localeFunc = function () {\n for (var _i = 0, _a = Object.keys(this.defaultMessages); _i < _a.length; _i++) {\n var key = _a[_i];\n this.l10n.setLocale(this.locale);\n var value = this.l10n.getConstant(key);\n this.localyMessage[\"\" + key] = value;\n }\n };\n /**\n * @private\n * @returns {string} - Returns the component name.\n */\n FormValidator.prototype.getModuleName = function () {\n return 'formvalidator';\n };\n /**\n * @param {any} args - Specifies the culture name.\n * @returns {void}\n * @private\n */\n FormValidator.prototype.afterLocalization = function (args) {\n this.locale = args.locale;\n this.localeFunc();\n };\n /**\n * Allows you to refresh the form validator base events to the elements inside the form.\n *\n * @returns {void}\n */\n FormValidator.prototype.refresh = function () {\n this.unwireEvents();\n this.inputElements = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(this.selectQuery, this.element);\n this.wireEvents();\n };\n FormValidator.prototype.clearForm = function () {\n this.errorRules = [];\n this.validated = [];\n var elements = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(this.selectQuery, this.element);\n for (var _i = 0, elements_2 = elements; _i < elements_2.length; _i++) {\n var element = elements_2[_i];\n var input = element;\n input.removeAttribute('aria-invalid');\n var inputParent = input.parentElement;\n var grandParent = inputParent.parentElement;\n if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') ||\n (input.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {\n inputParent.classList.remove(this.errorClass);\n }\n else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') ||\n grandParent.classList.contains('e-wrapper'))) {\n grandParent.classList.remove(this.errorClass);\n }\n else {\n input.classList.remove(this.errorClass);\n }\n if (input.name.length > 0) {\n this.getInputElement(input.name);\n this.getErrorElement(input.name);\n this.hideMessage(input.name);\n }\n if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') ||\n (input.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {\n inputParent.classList.remove(this.validClass);\n }\n else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') ||\n grandParent.classList.contains('e-wrapper'))) {\n grandParent.classList.remove(this.validClass);\n }\n else {\n input.classList.remove(this.validClass);\n }\n }\n };\n FormValidator.prototype.createHTML5Rules = function () {\n var defRules = ['required', 'validateHidden', 'regex', 'rangeLength', 'maxLength', 'minLength', 'dateIso', 'digits',\n 'pattern', 'data-val-required', 'type', 'data-validation', 'min', 'max', 'range', 'equalTo', 'data-val-minlength-min',\n 'data-val-equalto-other', 'data-val-maxlength-max', 'data-val-range-min', 'data-val-regex-pattern', 'data-val-length-max',\n 'data-val-creditcard', 'data-val-phone'];\n var acceptedTypes = ['hidden', 'email', 'url', 'date', 'number', 'tel'];\n for (var _i = 0, _a = (this.inputElements); _i < _a.length; _i++) {\n var input = _a[_i];\n // Default attribute rules\n var allRule = {};\n for (var _b = 0, defRules_1 = defRules; _b < defRules_1.length; _b++) {\n var rule = defRules_1[_b];\n if (input.getAttribute(rule) !== null) {\n switch (rule) {\n case 'required':\n this.defRule(input, allRule, rule, input.required);\n break;\n case 'data-validation':\n rule = input.getAttribute(rule);\n this.defRule(input, allRule, rule, true);\n break;\n case 'type':\n if (acceptedTypes.indexOf(input.type) !== -1) {\n this.defRule(input, allRule, input.type, true);\n }\n break;\n case 'rangeLength':\n case 'range':\n this.defRule(input, allRule, rule, JSON.parse(input.getAttribute(rule)));\n break;\n case 'equalTo':\n {\n var id = input.getAttribute(rule);\n this.defRule(input, allRule, rule, id);\n }\n break;\n default:\n if (input.getAttribute('data-val') === 'true') {\n this.annotationRule(input, allRule, rule, input.getAttribute(rule));\n }\n else {\n this.defRule(input, allRule, rule, input.getAttribute(rule));\n }\n }\n }\n }\n //adding pattern type validation\n if (Object.keys(allRule).length !== 0) {\n this.addRules(input.name, allRule);\n }\n }\n };\n FormValidator.prototype.annotationRule = function (input, ruleCon, ruleName, value) {\n var annotationRule = ruleName.split('-');\n var rulesList = ['required', 'creditcard', 'phone', 'maxlength', 'minlength', 'range', 'regex', 'equalto'];\n var ruleFirstName = annotationRule[annotationRule.length - 1];\n var ruleSecondName = annotationRule[annotationRule.length - 2];\n if (rulesList.indexOf(ruleFirstName) !== -1) {\n switch (ruleFirstName) {\n case 'required':\n this.defRule(input, ruleCon, 'required', value);\n break;\n case 'creditcard':\n this.defRule(input, ruleCon, 'creditcard', value);\n break;\n case 'phone':\n this.defRule(input, ruleCon, 'tel', value);\n break;\n }\n }\n else if (rulesList.indexOf(ruleSecondName) !== -1) {\n switch (ruleSecondName) {\n case 'maxlength':\n this.defRule(input, ruleCon, 'maxLength', value);\n break;\n case 'minlength':\n this.defRule(input, ruleCon, 'minLength', value);\n break;\n case 'range':\n {\n var minvalue = input.getAttribute('data-val-range-min');\n var maxvalue = input.getAttribute('data-val-range-max');\n this.defRule(input, ruleCon, 'range', [minvalue, maxvalue]);\n }\n break;\n case 'equalto':\n {\n var id = input.getAttribute(ruleName).split('.');\n this.defRule(input, ruleCon, 'equalTo', id[id.length - 1]);\n }\n break;\n case 'regex':\n this.defRule(input, ruleCon, 'regex', value);\n break;\n }\n }\n };\n FormValidator.prototype.defRule = function (input, ruleCon, ruleName, value) {\n var message = input.getAttribute('data-' + ruleName + '-message');\n var annotationMessage = input.getAttribute('data-val-' + ruleName);\n var customMessage;\n if (this.rules[input.name] && ruleName !== 'validateHidden' && ruleName !== 'hidden') {\n this.getInputElement(input.name);\n customMessage = this.getErrorMessage(this.rules[input.name][\"\" + ruleName], ruleName);\n }\n if (message) {\n value = [value, message];\n }\n else if (annotationMessage) {\n value = [value, annotationMessage];\n }\n else if (customMessage) {\n value = [value, customMessage];\n }\n ruleCon[\"\" + ruleName] = value;\n };\n // Wire events to the form elements\n FormValidator.prototype.wireEvents = function () {\n for (var _i = 0, _a = (this.inputElements); _i < _a.length; _i++) {\n var input = _a[_i];\n if (FormValidator_1.isCheckable(input)) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(input, 'click', this.clickHandler, this);\n }\n else if (input.tagName === 'SELECT') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(input, 'change', this.changeHandler, this);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(input, 'focusout', this.focusOutHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(input, 'keyup', this.keyUpHandler, this);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'submit', this.submitHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'reset', this.resetHandler, this);\n };\n // UnWire events to the form elements\n FormValidator.prototype.unwireEvents = function () {\n for (var _i = 0, _a = (this.inputElements); _i < _a.length; _i++) {\n var input = _a[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.clearEvents(input);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'submit', this.submitHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'reset', this.resetHandler);\n };\n // Handle input element focusout event\n FormValidator.prototype.focusOutHandler = function (e) {\n this.trigger('focusout', e);\n //FormValidator.triggerCallback(this.focusout, e);\n var element = e.target;\n if (this.rules[element.name]) {\n if (this.rules[element.name][this.required] || element.value.length > 0) {\n this.validate(element.name);\n }\n else if (this.validated.indexOf(element.name) === -1) {\n this.validated.push(element.name);\n }\n }\n };\n // Handle input element keyup event\n FormValidator.prototype.keyUpHandler = function (e) {\n this.trigger('keyup', e);\n var element = e.target;\n // List of keys need to prevent while validation\n var excludeKeys = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];\n if (e.which === 9 && (!this.rules[element.name] || (this.rules[element.name] && !this.rules[element.name][this.required]))) {\n return;\n }\n if (this.validated.indexOf(element.name) !== -1 && this.rules[element.name] && excludeKeys.indexOf(e.which) === -1) {\n this.validate(element.name);\n }\n };\n // Handle input click event\n FormValidator.prototype.clickHandler = function (e) {\n this.trigger('click', e);\n var element = e.target;\n // If element type is not submit allow validation\n if (element.type !== 'submit') {\n this.validate(element.name);\n }\n else if (element.getAttribute('formnovalidate') !== null) {\n // Prevent form validation, if submit button has formnovalidate attribute\n this.allowSubmit = true;\n }\n };\n // Handle input change event\n FormValidator.prototype.changeHandler = function (e) {\n this.trigger('change', e);\n var element = e.target;\n this.validate(element.name);\n };\n // Handle form submit event\n FormValidator.prototype.submitHandler = function (e) {\n this.trigger('submit', e);\n //FormValidator.triggerCallback(this.submit, e);\n // Prevent form submit if validation failed\n if (!this.allowSubmit && !this.validate()) {\n e.preventDefault();\n }\n else {\n this.allowSubmit = false;\n }\n };\n // Handle form reset\n FormValidator.prototype.resetHandler = function () {\n this.clearForm();\n };\n // Validate each rule based on input element name\n FormValidator.prototype.validateRules = function (name) {\n if (!this.rules[\"\" + name]) {\n return;\n }\n var rules = Object.keys(this.rules[\"\" + name]);\n var hiddenType = false;\n var validateHiddenType = false;\n var vhPos = rules.indexOf('validateHidden');\n var hPos = rules.indexOf('hidden');\n this.getInputElement(name);\n if (hPos !== -1) {\n hiddenType = true;\n }\n if (vhPos !== -1) {\n validateHiddenType = true;\n }\n if (!hiddenType || (hiddenType && validateHiddenType)) {\n if (vhPos !== -1) {\n rules.splice(vhPos, 1);\n }\n if (hPos !== -1) {\n rules.splice((hPos - 1), 1);\n }\n this.getErrorElement(name);\n for (var _i = 0, rules_2 = rules; _i < rules_2.length; _i++) {\n var rule = rules_2[_i];\n var errorMessage = this.getErrorMessage(this.rules[\"\" + name][\"\" + rule], rule);\n var errorRule = { name: name, message: errorMessage };\n var eventArgs = {\n inputName: name,\n element: this.inputElement,\n message: errorMessage\n };\n if (!this.isValid(name, rule) && !this.inputElement.classList.contains(this.ignore)) {\n this.removeErrorRules(name);\n this.errorRules.push(errorRule);\n // Set aria attributes to invalid elements\n this.inputElement.setAttribute('aria-invalid', 'true');\n this.inputElement.setAttribute('aria-describedby', this.inputElement.id + '-info');\n var inputParent = this.inputElement.parentElement;\n var grandParent = inputParent.parentElement;\n if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') ||\n (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {\n inputParent.classList.add(this.errorClass);\n inputParent.classList.remove(this.validClass);\n }\n else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') ||\n grandParent.classList.contains('e-wrapper'))) {\n grandParent.classList.add(this.errorClass);\n grandParent.classList.remove(this.validClass);\n }\n else {\n this.inputElement.classList.add(this.errorClass);\n this.inputElement.classList.remove(this.validClass);\n }\n if (!this.infoElement) {\n this.createErrorElement(name, errorRule.message, this.inputElement);\n }\n else {\n this.showMessage(errorRule);\n }\n eventArgs.errorElement = this.infoElement;\n eventArgs.status = 'failure';\n if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') ||\n (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {\n inputParent.classList.add(this.errorClass);\n inputParent.classList.remove(this.validClass);\n }\n else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') ||\n grandParent.classList.contains('e-wrapper'))) {\n grandParent.classList.add(this.errorClass);\n grandParent.classList.remove(this.validClass);\n }\n else {\n this.inputElement.classList.add(this.errorClass);\n this.inputElement.classList.remove(this.validClass);\n }\n this.optionalValidationStatus(name, eventArgs);\n this.trigger('validationComplete', eventArgs);\n // Set aria-required to required rule elements\n if (rule === 'required') {\n this.inputElement.setAttribute('aria-required', 'true');\n }\n break;\n }\n else {\n this.hideMessage(name);\n eventArgs.status = 'success';\n this.trigger('validationComplete', eventArgs);\n }\n }\n }\n else {\n return;\n }\n };\n // Update the optional validation status\n FormValidator.prototype.optionalValidationStatus = function (name, refer) {\n if (!this.rules[\"\" + name][this.required] && !this.inputElement.value.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.infoElement)) {\n this.infoElement.innerHTML = this.inputElement.value;\n this.infoElement.setAttribute('aria-invalid', 'false');\n refer.status = '';\n this.hideMessage(name);\n }\n };\n // Check the input element whether it's value satisfy the validation rule or not\n FormValidator.prototype.isValid = function (name, rule) {\n var params = this.rules[\"\" + name][\"\" + rule];\n var param = (params instanceof Array && typeof params[1] === 'string') ? params[0] : params;\n var currentRule = this.rules[\"\" + name][\"\" + rule];\n var dateFormat = ((rule === 'min' || rule === 'max') && this.rules['' + name].date &&\n typeof (this.rules['' + name].date) === 'string') ? this.rules['' + name].date : null;\n var args = { value: this.inputElement.value,\n param: param, element: this.inputElement, formElement: this.element, format: dateFormat, culture: this.locale };\n this.trigger('validationBegin', args);\n if (!args.param && rule === 'required') {\n return true;\n }\n if (currentRule && typeof currentRule[0] === 'function') {\n var fn = currentRule[0];\n return fn.call(this, { element: this.inputElement, value: this.inputElement.value });\n }\n else if (FormValidator_1.isCheckable(this.inputElement)) {\n if (rule !== 'required') {\n return true;\n }\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('input[name=\"' + name + '\"]:checked', this.element).length > 0;\n }\n else {\n return FormValidator_1.checkValidator[\"\" + rule](args);\n }\n };\n // Return default error message or custom error message\n FormValidator.prototype.getErrorMessage = function (ruleValue, rule) {\n var message = this.inputElement.getAttribute('data-' + rule + '-message') ?\n this.inputElement.getAttribute('data-' + rule + '-message') :\n (ruleValue instanceof Array && typeof ruleValue[1] === 'string') ? ruleValue[1] :\n (Object.keys(this.localyMessage).length !== 0) ? this.localyMessage[\"\" + rule] : this.defaultMessages[\"\" + rule];\n var formats = message.match(/{(\\d)}/g);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(formats)) {\n for (var i = 0; i < formats.length; i++) {\n var value = ruleValue instanceof Array ? ruleValue[parseInt(i.toString(), 10)] : ruleValue;\n message = message.replace(formats[parseInt(i.toString(), 10)], value);\n }\n }\n return message;\n };\n // Create error element based on name and error message\n FormValidator.prototype.createErrorElement = function (name, message, input) {\n var errorElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)(this.errorElement, {\n className: this.errorClass,\n innerHTML: message,\n attrs: { for: name }\n });\n // Create message design if errorOption is message\n if (this.errorOption === ErrorOption.Message) {\n errorElement.classList.remove(this.errorClass);\n errorElement.classList.add('e-message');\n errorElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)(this.errorContainer, { className: this.errorClass, innerHTML: errorElement.outerHTML });\n }\n errorElement.id = this.inputElement.name + '-info';\n // Append error message into MVC error message element\n if (this.element.querySelector('[data-valmsg-for=\"' + input.id + '\"]')) {\n this.element.querySelector('[data-valmsg-for=\"' + input.id + '\"]').appendChild(errorElement);\n }\n else if (input.hasAttribute('data-msg-containerid') === true) {\n // Append error message into custom div element\n var containerId = input.getAttribute('data-msg-containerid');\n var divElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + containerId, this.element);\n divElement.appendChild(errorElement);\n }\n else if (this.customPlacement != null) {\n // Call custom placement function if customPlacement is not null\n this.customPlacement.call(this, this.inputElement, errorElement);\n }\n else {\n var inputParent = this.inputElement.parentElement;\n var grandParent = inputParent.parentElement;\n if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {\n grandParent.insertBefore(errorElement, inputParent.nextSibling);\n }\n else if (grandParent.classList.contains('e-control-wrapper') || grandParent.classList.contains('e-wrapper')) {\n grandParent.parentElement.insertBefore(errorElement, grandParent.nextSibling);\n }\n else {\n inputParent.insertBefore(errorElement, this.inputElement.nextSibling);\n }\n }\n errorElement.style.display = 'block';\n this.getErrorElement(name);\n this.validated.push(name);\n this.checkRequired(name);\n };\n // Get error element by name\n FormValidator.prototype.getErrorElement = function (name) {\n this.infoElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.errorElement + '.' + this.errorClass, this.inputElement.parentElement);\n if (!this.infoElement) {\n this.infoElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.errorElement + '.' + this.errorClass + '[for=\"' + name + '\"]', this.element);\n }\n return this.infoElement;\n };\n // Remove existing rule from errorRules object\n FormValidator.prototype.removeErrorRules = function (name) {\n for (var i = 0; i < this.errorRules.length; i++) {\n var rule = this.errorRules[parseInt(i.toString(), 10)];\n if (rule.name === name) {\n this.errorRules.splice(i, 1);\n }\n }\n };\n // Show error message to the input element\n FormValidator.prototype.showMessage = function (errorRule) {\n this.infoElement.style.display = 'block';\n this.infoElement.innerHTML = errorRule.message;\n this.checkRequired(errorRule.name);\n };\n // Hide error message based on input name\n FormValidator.prototype.hideMessage = function (name) {\n if (this.infoElement) {\n this.infoElement.style.display = 'none';\n this.removeErrorRules(name);\n var inputParent = this.inputElement.parentElement;\n var grandParent = inputParent.parentElement;\n if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') ||\n (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {\n inputParent.classList.add(this.validClass);\n inputParent.classList.remove(this.errorClass);\n }\n else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') || grandParent.classList.contains('e-wrapper'))) {\n grandParent.classList.add(this.validClass);\n grandParent.classList.remove(this.errorClass);\n }\n else {\n this.inputElement.classList.add(this.validClass);\n this.inputElement.classList.remove(this.errorClass);\n }\n this.inputElement.setAttribute('aria-invalid', 'false');\n }\n };\n // Check whether the input element have required rule and its value is not empty\n FormValidator.prototype.checkRequired = function (name) {\n if (!this.rules[\"\" + name][this.required] && !this.inputElement.value.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.infoElement)) {\n this.infoElement.innerHTML = this.inputElement.value;\n this.infoElement.setAttribute('aria-invalid', 'false');\n this.hideMessage(name);\n }\n };\n // Return boolean result if the input have checkable or submit types\n FormValidator.isCheckable = function (input) {\n var inputType = input.getAttribute('type');\n return inputType && (inputType === 'checkbox' || inputType === 'radio' || inputType === 'submit');\n };\n var FormValidator_1;\n // List of function to validate the rules\n FormValidator.checkValidator = {\n required: function (option) {\n return !isNaN(Date.parse(option.value)) ? !isNaN(new Date(option.value).getTime()) : option.value.toString().length > 0;\n },\n email: function (option) {\n return regex.EMAIL.test(option.value);\n },\n url: function (option) {\n return regex.URL.test(option.value);\n },\n dateIso: function (option) {\n return regex.DATE_ISO.test(option.value);\n },\n tel: function (option) {\n return regex.PHONE.test(option.value);\n },\n creditcard: function (option) {\n return regex.CREDITCARD.test(option.value);\n },\n number: function (option) {\n return !isNaN(Number(option.value)) && String(option.value).indexOf(' ') === -1;\n },\n digits: function (option) {\n return regex.DIGITS.test(option.value);\n },\n maxLength: function (option) {\n return option.value.length <= Number(option.param);\n },\n minLength: function (option) {\n return option.value.length >= Number(option.param);\n },\n rangeLength: function (option) {\n var param = option.param;\n return option.value.length >= param[0] && option.value.length <= param[1];\n },\n range: function (option) {\n var param = option.param;\n return !isNaN(Number(option.value)) && Number(option.value) >= param[0] && Number(option.value) <= param[1];\n },\n date: function (option) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.param) && (typeof (option.param) === 'string' && option.param !== '')) {\n var globalize = option.culture && option.culture !== '' ? new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(option.culture) : new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization;\n var dateOptions = { format: option.param.toString(), type: 'dateTime', skeleton: 'yMd' };\n var dateValue = globalize.parseDate(option.value, dateOptions);\n return (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dateValue) && dateValue instanceof Date && !isNaN(+dateValue));\n }\n else {\n return !isNaN(new Date(option.value).getTime());\n }\n },\n max: function (option) {\n if (!isNaN(Number(option.value))) {\n // Maximum rule validation for number\n return +option.value <= +option.param;\n }\n // Maximum rule validation for date\n if (option.format && option.format !== '') {\n var globalize = option.culture && option.culture !== '' ? new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(option.culture) : new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization;\n var dateOptions = { format: option.format.toString(), type: 'dateTime', skeleton: 'yMd' };\n var dateValue = globalize.parseDate(option.value, dateOptions);\n var maxValue = (typeof (option.param) === 'string') ? globalize.parseDate(JSON.parse(JSON.stringify(option.param)), dateOptions) : option.param;\n return new Date(dateValue).getTime() <= new Date(maxValue).getTime();\n }\n else {\n return new Date(option.value).getTime() <= new Date(JSON.parse(JSON.stringify(option.param))).getTime();\n }\n },\n min: function (option) {\n if (!isNaN(Number(option.value))) {\n // Minimum rule validation for number\n return +option.value >= +option.param;\n }\n else if ((option.value).indexOf(',') !== -1) {\n var uNum = (option.value).replace(/,/g, '');\n return parseFloat(uNum) >= Number(option.param); // Convert option.param to a number\n }\n else {\n // Minimum rule validation for date\n if (option.format && option.format !== '') {\n var globalize = option.culture && option.culture !== '' ? new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(option.culture) : new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization;\n var dateOptions = { format: option.format.toString(), type: 'dateTime', skeleton: 'yMd' };\n var dateValue = globalize.parseDate(option.value, dateOptions);\n var minValue = (typeof (option.param) === 'string') ? globalize.parseDate(JSON.parse(JSON.stringify(option.param)), dateOptions) : option.param;\n return new Date(dateValue).getTime() >= new Date(minValue).getTime();\n }\n else {\n return new Date(option.value).getTime() >= new Date(JSON.parse(JSON.stringify(option.param))).getTime();\n }\n }\n },\n regex: function (option) {\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n return new RegExp(option.param).test(option.value);\n },\n equalTo: function (option) {\n var compareTo = option.formElement.querySelector('#' + option.param);\n option.param = compareTo.value;\n return option.param === option.value;\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], FormValidator.prototype, \"locale\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('e-hidden')\n ], FormValidator.prototype, \"ignore\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], FormValidator.prototype, \"rules\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('e-error')\n ], FormValidator.prototype, \"errorClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('e-valid')\n ], FormValidator.prototype, \"validClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('label')\n ], FormValidator.prototype, \"errorElement\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('div')\n ], FormValidator.prototype, \"errorContainer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(ErrorOption.Label)\n ], FormValidator.prototype, \"errorOption\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"focusout\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"keyup\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"click\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"submit\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"validationBegin\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"validationComplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], FormValidator.prototype, \"customPlacement\", void 0);\n FormValidator = FormValidator_1 = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], FormValidator);\n return FormValidator;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Base));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-inputs/src/input/input.js": +/*!****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-inputs/src/input/input.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input),\n/* harmony export */ TEXTBOX_FOCUS: () => (/* binding */ TEXTBOX_FOCUS),\n/* harmony export */ containerAttributes: () => (/* binding */ containerAttributes)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* eslint-disable valid-jsdoc, jsdoc/require-jsdoc, jsdoc/require-returns, jsdoc/require-param */\n\n\nvar CLASSNAMES = {\n RTL: 'e-rtl',\n DISABLE: 'e-disabled',\n INPUT: 'e-input',\n TEXTAREA: 'e-multi-line-input',\n INPUTGROUP: 'e-input-group',\n FLOATINPUT: 'e-float-input',\n FLOATLINE: 'e-float-line',\n FLOATTEXT: 'e-float-text',\n FLOATTEXTCONTENT: 'e-float-text-content',\n CLEARICON: 'e-clear-icon',\n CLEARICONHIDE: 'e-clear-icon-hide',\n LABELTOP: 'e-label-top',\n LABELBOTTOM: 'e-label-bottom',\n NOFLOATLABEL: 'e-no-float-label',\n INPUTCUSTOMTAG: 'e-input-custom-tag',\n FLOATCUSTOMTAG: 'e-float-custom-tag'\n};\n/**\n * Defines the constant attributes for the input element container.\n */\nvar containerAttributes = ['title', 'style', 'class'];\n/**\n * Defines the constant focus class for the input element.\n */\nvar TEXTBOX_FOCUS = 'e-input-focus';\n/**\n * Base for Input creation through util methods.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nvar Input;\n(function (Input) {\n var privateInputObj = {\n container: null,\n buttons: [],\n clearButton: null\n };\n var floatType;\n var isBindClearAction = true;\n /**\n * Create a wrapper to input element with multiple span elements and set the basic properties to input based components.\n * ```\n * E.g : Input.createInput({ element: element, floatLabelType : \"Auto\", properties: { placeholder: 'Search' } });\n * ```\n *\n */\n function createInput(args, internalCreateElement) {\n args.element.__eventHandlers = {};\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n var inputObject = { container: null, buttons: [], clearButton: null };\n floatType = args.floatLabelType;\n isBindClearAction = args.bindClearAction;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.floatLabelType) || args.floatLabelType === 'Never') {\n inputObject.container = createInputContainer(args, CLASSNAMES.INPUTGROUP, CLASSNAMES.INPUTCUSTOMTAG, 'span', makeElement);\n args.element.parentNode.insertBefore(inputObject.container, args.element);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([args.element], CLASSNAMES.INPUT);\n inputObject.container.appendChild(args.element);\n }\n else {\n createFloatingInput(args, inputObject, makeElement);\n }\n bindInitialEvent(args);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.properties) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.properties.showClearButton) &&\n args.properties.showClearButton) {\n setClearButton(args.properties.showClearButton, args.element, inputObject, true, makeElement);\n inputObject.clearButton.setAttribute('role', 'button');\n if (inputObject.container.classList.contains(CLASSNAMES.FLOATINPUT)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([inputObject.container], CLASSNAMES.INPUTGROUP);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.buttons)) {\n for (var i = 0; i < args.buttons.length; i++) {\n inputObject.buttons.push(appendSpan(args.buttons[i], inputObject.container, makeElement));\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element) && args.element.tagName === 'TEXTAREA') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([inputObject.container], CLASSNAMES.TEXTAREA);\n }\n validateInputType(inputObject.container, args.element);\n inputObject = setPropertyValue(args, inputObject);\n createSpanElement(inputObject.container, makeElement);\n privateInputObj = inputObject;\n return inputObject;\n }\n Input.createInput = createInput;\n function bindFocusEventHandler(args) {\n var parent = getParentNode(args.element);\n if (parent.classList.contains('e-input-group') || parent.classList.contains('e-outline') || parent.classList.contains('e-filled')) {\n parent.classList.add('e-input-focus');\n }\n if (args.floatLabelType !== 'Never') {\n setTimeout(function () {\n Input.calculateWidth(args.element, parent);\n }, 80);\n }\n }\n function bindBlurEventHandler(args) {\n var parent = getParentNode(args.element);\n if (parent.classList.contains('e-input-group') || parent.classList.contains('e-outline') || parent.classList.contains('e-filled')) {\n parent.classList.remove('e-input-focus');\n }\n if (args.floatLabelType !== 'Never') {\n setTimeout(function () {\n Input.calculateWidth(args.element, parent);\n }, 80);\n }\n }\n function bindInputEventHandler(args) {\n checkInputValue(args.floatLabelType, args.element);\n }\n function bindInitialEvent(args) {\n checkInputValue(args.floatLabelType, args.element);\n var focusHandler = function () { return bindFocusEventHandler(args); };\n var blurHandler = function () { return bindBlurEventHandler(args); };\n var inputHandler = function () { return bindInputEventHandler(args); };\n args.element.addEventListener('focus', focusHandler);\n args.element.addEventListener('blur', blurHandler);\n args.element.addEventListener('input', inputHandler);\n args.element.__eventHandlers['inputFocusHandler'] = { focusHandler: focusHandler };\n args.element.__eventHandlers['inputBlurHandler'] = { blurHandler: blurHandler };\n args.element.__eventHandlers['inputHandler'] = { inputHandler: inputHandler };\n }\n Input.bindInitialEvent = bindInitialEvent;\n function unbindInitialEvent(args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers['inputFocusHandler'])\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers['inputBlurHandler'])\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers['inputHandler'])) {\n var focusHandler_1 = args.element.__eventHandlers['inputFocusHandler'].focusHandler;\n var blurHandler_1 = args.element.__eventHandlers['inputBlurHandler'].blurHandler;\n var inputHandler_1 = args.element.__eventHandlers['inputHandler'].inputHandler;\n args.element.removeEventListener('focus', focusHandler_1);\n args.element.removeEventListener('blur', blurHandler_1);\n args.element.removeEventListener('input', inputHandler_1);\n // Clean up stored bound functions\n delete args.element.__eventHandlers['inputFocusHandler'];\n delete args.element.__eventHandlers['inputBlurHandler'];\n delete args.element.__eventHandlers['inputHandler'];\n }\n }\n }\n }\n function checkInputValue(floatLabelType, inputElement) {\n var inputValue = inputElement.value;\n var inputParent = inputElement.parentElement;\n var grandParent = inputParent && inputParent.parentElement;\n if (inputValue !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputValue)) {\n if (inputParent && inputParent.classList.contains('e-input-group')) {\n inputParent.classList.add('e-valid-input');\n }\n else if (grandParent && grandParent.classList.contains('e-input-group')) {\n grandParent.classList.add('e-valid-input');\n }\n }\n else if (floatLabelType !== 'Always') {\n if (inputParent && inputParent.classList.contains('e-input-group')) {\n inputParent.classList.remove('e-valid-input');\n }\n else if (grandParent && grandParent.classList.contains('e-input-group')) {\n grandParent.classList.remove('e-valid-input');\n }\n }\n }\n function _focusFn() {\n var label = getParentNode(this).getElementsByClassName('e-float-text')[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(label)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], CLASSNAMES.LABELTOP);\n if (label.classList.contains(CLASSNAMES.LABELBOTTOM)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], CLASSNAMES.LABELBOTTOM);\n }\n }\n }\n function _blurFn() {\n var parent = getParentNode(this);\n if ((parent.getElementsByTagName('textarea')[0]) ? parent.getElementsByTagName('textarea')[0].value === '' :\n parent.getElementsByTagName('input')[0].value === '') {\n var label = parent.getElementsByClassName('e-float-text')[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(label)) {\n if (label.classList.contains(CLASSNAMES.LABELTOP)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], CLASSNAMES.LABELTOP);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], CLASSNAMES.LABELBOTTOM);\n }\n }\n }\n function wireFloatingEvents(element) {\n element.addEventListener('focus', _focusFn);\n element.addEventListener('blur', _blurFn);\n }\n Input.wireFloatingEvents = wireFloatingEvents;\n function unwireFloatingEvents(element) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n element.removeEventListener('focus', _focusFn);\n element.removeEventListener('blur', _blurFn);\n }\n }\n function inputEventHandler(args) {\n validateLabel(args.element, args.floatLabelType);\n }\n function blurEventHandler(args) {\n validateLabel(args.element, args.floatLabelType);\n }\n function createFloatingInput(args, inputObject, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n if (args.floatLabelType === 'Auto') {\n wireFloatingEvents(args.element);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputObject.container)) {\n inputObject.container = createInputContainer(args, CLASSNAMES.FLOATINPUT, CLASSNAMES.FLOATCUSTOMTAG, 'div', makeElement);\n inputObject.container.classList.add(CLASSNAMES.INPUTGROUP);\n if (args.element.parentNode) {\n args.element.parentNode.insertBefore(inputObject.container, args.element);\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.customTag)) {\n inputObject.container.classList.add(CLASSNAMES.FLOATCUSTOMTAG);\n }\n inputObject.container.classList.add(CLASSNAMES.FLOATINPUT);\n }\n var floatLinelement = makeElement('span', { className: CLASSNAMES.FLOATLINE });\n var floatLabelElement = makeElement('label', { className: CLASSNAMES.FLOATTEXT });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.id) && args.element.id !== '') {\n floatLabelElement.id = 'label_' + args.element.id.replace(/ /g, '_');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(args.element, { 'aria-labelledby': floatLabelElement.id });\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.placeholder) && args.element.placeholder !== '') {\n floatLabelElement.innerText = encodePlaceHolder(args.element.placeholder);\n args.element.removeAttribute('placeholder');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.properties) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.properties.placeholder) &&\n args.properties.placeholder !== '') {\n floatLabelElement.innerText = encodePlaceHolder(args.properties.placeholder);\n }\n if (!floatLabelElement.innerText) {\n inputObject.container.classList.add(CLASSNAMES.NOFLOATLABEL);\n }\n if (inputObject.container.classList.contains('e-float-icon-left')) {\n var inputWrap = inputObject.container.querySelector('.e-input-in-wrap');\n inputWrap.appendChild(args.element);\n inputWrap.appendChild(floatLinelement);\n inputWrap.appendChild(floatLabelElement);\n }\n else {\n inputObject.container.appendChild(args.element);\n inputObject.container.appendChild(floatLinelement);\n inputObject.container.appendChild(floatLabelElement);\n }\n updateLabelState(args.element.value, floatLabelElement);\n if (args.floatLabelType === 'Always') {\n if (floatLabelElement.classList.contains(CLASSNAMES.LABELBOTTOM)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([floatLabelElement], CLASSNAMES.LABELBOTTOM);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([floatLabelElement], CLASSNAMES.LABELTOP);\n }\n if (args.floatLabelType === 'Auto') {\n var inputFloatHandler = function () { return inputEventHandler(args); };\n var blurFloatHandler = function () { return blurEventHandler(args); };\n // Add event listeners using the defined functions\n args.element.addEventListener('input', inputFloatHandler);\n args.element.addEventListener('blur', blurFloatHandler);\n // Store the event handler functions to remove them later\n args.element.__eventHandlers['floatInputHandler'] = { inputFloatHandler: inputFloatHandler };\n args.element.__eventHandlers['floatBlurHandler'] = { blurFloatHandler: blurFloatHandler };\n }\n else {\n unWireFloatLabelEvents(args);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.getAttribute('id'))) {\n floatLabelElement.setAttribute('for', args.element.getAttribute('id'));\n }\n }\n function unWireFloatLabelEvents(args) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers['floatInputHandler'])\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element.__eventHandlers['floatBlurHandler'])) {\n var inputFloatHandler = args.element.__eventHandlers['floatInputHandler'].inputFloatHandler;\n var blurFloatHandler = args.element.__eventHandlers['floatBlurHandler'].blurFloatHandler;\n // Remove the event listeners using the defined functions\n args.element.removeEventListener('input', inputFloatHandler);\n args.element.removeEventListener('blur', blurFloatHandler);\n // Clean up stored event handler functions\n delete args.element.__eventHandlers['floatInputHandler'];\n delete args.element.__eventHandlers['floatBlurHandler'];\n }\n }\n function checkFloatLabelType(type, container) {\n if (type === 'Always' && container.classList.contains('e-outline')) {\n container.classList.add('e-valid-input');\n }\n }\n function setPropertyValue(args, inputObject) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.properties)) {\n for (var _i = 0, _a = Object.keys(args.properties); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'cssClass':\n setCssClass(args.properties.cssClass, [inputObject.container]);\n checkFloatLabelType(args.floatLabelType, inputObject.container);\n break;\n case 'enabled':\n setEnabled(args.properties.enabled, args.element, args.floatLabelType, inputObject.container);\n break;\n case 'enableRtl':\n setEnableRtl(args.properties.enableRtl, [inputObject.container]);\n break;\n case 'placeholder':\n setPlaceholder(args.properties.placeholder, args.element);\n break;\n case 'readonly':\n setReadonly(args.properties.readonly, args.element);\n break;\n }\n }\n }\n return inputObject;\n }\n function updateIconState(value, button, readonly) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(button)) {\n if (value && !readonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([button], CLASSNAMES.CLEARICONHIDE);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], CLASSNAMES.CLEARICONHIDE);\n }\n }\n }\n function updateLabelState(value, label, element) {\n if (element === void 0) { element = null; }\n if (value) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], CLASSNAMES.LABELTOP);\n if (label.classList.contains(CLASSNAMES.LABELBOTTOM)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], CLASSNAMES.LABELBOTTOM);\n }\n }\n else {\n var isNotFocused = element != null ? element !== document.activeElement : true;\n if (isNotFocused) {\n if (label.classList.contains(CLASSNAMES.LABELTOP)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([label], CLASSNAMES.LABELTOP);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([label], CLASSNAMES.LABELBOTTOM);\n }\n }\n }\n function getParentNode(element) {\n var parentNode = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.parentNode) ? element\n : element.parentNode;\n if (parentNode && parentNode.classList.contains('e-input-in-wrap')) {\n parentNode = parentNode.parentNode;\n }\n return parentNode;\n }\n /**\n * To create clear button.\n */\n function createClearButton(element, inputObject, initial, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n var button = makeElement('span', { className: CLASSNAMES.CLEARICON });\n var container = inputObject.container;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(initial)) {\n container.appendChild(button);\n }\n else {\n var baseElement = inputObject.container.classList.contains(CLASSNAMES.FLOATINPUT) ?\n inputObject.container.querySelector('.' + CLASSNAMES.FLOATTEXT) : element;\n baseElement.insertAdjacentElement('afterend', button);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], CLASSNAMES.CLEARICONHIDE);\n wireClearBtnEvents(element, button, container);\n button.setAttribute('aria-label', 'close');\n return button;\n }\n function clickHandler(event, element, button) {\n if (!(element.classList.contains(CLASSNAMES.DISABLE) || element.readOnly)) {\n event.preventDefault();\n if (element !== document.activeElement) {\n element.focus();\n }\n element.value = '';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], CLASSNAMES.CLEARICONHIDE);\n }\n }\n function inputHandler(element, button) {\n updateIconState(element.value, button);\n }\n function focusHandler(element, button) {\n updateIconState(element.value, button, element.readOnly);\n }\n function blurHandler(element, button) {\n setTimeout(function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(button)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], CLASSNAMES.CLEARICONHIDE);\n button = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element) && element.classList.contains('e-combobox') ? null : button;\n }\n }, 200);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function wireClearBtnEvents(element, button, container) {\n if (isBindClearAction === undefined || isBindClearAction) {\n var clickHandlerEvent = function (e) { return clickHandler(e, element, button); };\n button.addEventListener('click', clickHandlerEvent);\n element.__eventHandlers['clearClickHandler'] = { clickHandlerEvent: clickHandlerEvent };\n }\n var inputHandlerEvent = function () { return inputHandler(element, button); };\n var focusHandlerEvent = function () { return focusHandler(element, button); };\n var blurHandlerEvent = function () { return blurHandler(element, button); };\n element.addEventListener('input', inputHandlerEvent);\n element.addEventListener('focus', focusHandlerEvent);\n element.addEventListener('blur', blurHandlerEvent);\n // Store the bound functions to remove them later\n element.__eventHandlers['clearInputHandler'] = { inputHandlerEvent: inputHandlerEvent };\n element.__eventHandlers['clearFocusHandler'] = { focusHandlerEvent: focusHandlerEvent };\n element.__eventHandlers['clearBlurHandler'] = { blurHandlerEvent: blurHandlerEvent };\n }\n Input.wireClearBtnEvents = wireClearBtnEvents;\n function unWireClearBtnEvents(element, button) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.__eventHandlers)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.__eventHandlers['clearClickHandler'])) {\n var clickHandlerEvent = element.__eventHandlers['clearClickHandler'].clickHandlerEvent;\n if (isBindClearAction === undefined || isBindClearAction) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(button)) {\n button.removeEventListener('click', clickHandlerEvent);\n }\n }\n delete element.__eventHandlers['clearClickHandler'];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.__eventHandlers['clearInputHandler'])\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.__eventHandlers['clearFocusHandler'])\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.__eventHandlers['clearBlurHandler'])) {\n var inputHandlerEvent = element.__eventHandlers['clearInputHandler'].inputHandlerEvent;\n var focusHandlerEvent = element.__eventHandlers['clearFocusHandler'].focusHandlerEvent;\n var blurHandlerEvent = element.__eventHandlers['clearBlurHandler'].blurHandlerEvent;\n element.removeEventListener('input', inputHandlerEvent);\n element.removeEventListener('focus', focusHandlerEvent);\n element.removeEventListener('blur', blurHandlerEvent);\n // Clean up stored Event functions\n delete element.__eventHandlers['clearInputHandler'];\n delete element.__eventHandlers['clearFocusHandler'];\n delete element.__eventHandlers['clearBlurHandler'];\n }\n }\n }\n function destroy(args, button) {\n if (button === void 0) { button = null; }\n unbindInitialEvent(args);\n if (args.floatLabelType === 'Auto') {\n unWireFloatLabelEvents(args);\n }\n if (args.properties.showClearButton) {\n unWireClearBtnEvents(args.element, button);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.buttons)) {\n _internalRipple(false, null, args.buttons);\n }\n unwireFloatingEvents(args.element);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.element)) {\n delete args.element.__eventHandlers;\n if (args.element.classList.contains(CLASSNAMES.INPUT)) {\n args.element.classList.remove(CLASSNAMES.INPUT);\n }\n }\n privateInputObj = null;\n }\n Input.destroy = destroy;\n function validateLabel(element, floatLabelType) {\n var parent = getParentNode(element);\n if (parent.classList.contains(CLASSNAMES.FLOATINPUT) && floatLabelType === 'Auto') {\n var label = getParentNode(element).getElementsByClassName('e-float-text')[0];\n updateLabelState(element.value, label, element);\n }\n }\n /**\n * To create input box contianer.\n */\n function createInputContainer(args, className, tagClass, tag, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n var container;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.customTag)) {\n container = makeElement(args.customTag, { className: className });\n container.classList.add(tagClass);\n }\n else {\n container = makeElement(tag, { className: className });\n }\n container.classList.add('e-control-wrapper');\n return container;\n }\n function encodePlaceHolder(placeholder) {\n var result = '';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(placeholder) && placeholder !== '') {\n var spanEle = document.createElement('span');\n spanEle.innerHTML = '';\n var hiddenInput = (spanEle.children[0]);\n result = hiddenInput.placeholder;\n }\n return result;\n }\n /**\n * Sets the value to the input element.\n * ```\n * E.g : Input.setValue('content', element, \"Auto\", true );\n * ```\n *\n * @param {string} value - Specify the value of the input element.\n * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the specified value is updated.\n * @param {string} floatLabelType - Specify the float label type of the input element.\n * @param {boolean} clearButton - Boolean value to specify whether the clear icon is enabled / disabled on the input.\n */\n function setValue(value, element, floatLabelType, clearButton) {\n element.value = value;\n if (floatLabelType !== 'Never') {\n calculateWidth(element, element.parentElement);\n }\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(floatLabelType)) && floatLabelType === 'Auto') {\n validateLabel(element, floatLabelType);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clearButton) && clearButton) {\n var parentElement = getParentNode(element);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parentElement)) {\n var button = parentElement.getElementsByClassName(CLASSNAMES.CLEARICON)[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(button)) {\n if (element.value && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parentElement) && parentElement.classList.contains('e-input-focus')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([button], CLASSNAMES.CLEARICONHIDE);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([button], CLASSNAMES.CLEARICONHIDE);\n }\n }\n }\n }\n checkInputValue(floatLabelType, element);\n }\n Input.setValue = setValue;\n /**\n * Sets the single or multiple cssClass to wrapper of input element.\n * ```\n * E.g : Input.setCssClass('e-custom-class', [element]);\n * ```\n *\n * @param {string} cssClass - Css class names which are needed to add.\n * @param {Element[] | NodeList} elements - The elements which are needed to add / remove classes.\n * @param {string} oldClass\n * - Css class names which are needed to remove. If old classes are need to remove, can give this optional parameter.\n */\n function setCssClass(cssClass, elements, oldClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldClass) && oldClass !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(elements, oldClass.split(' '));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cssClass) && cssClass !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(elements, cssClass.split(' '));\n }\n }\n Input.setCssClass = setCssClass;\n /**\n * Set the width to the placeholder when it overflows on the button such as spinbutton, clearbutton, icon etc\n * ```\n * E.g : Input.calculateWidth(element, container);\n * ```\n *\n * @param {any} element - Input element which is need to add.\n * @param {HTMLElement} container - The parent element which is need to get the label span to calculate width\n */\n function calculateWidth(element, container, moduleName) {\n if (moduleName !== 'multiselect' && !_isElementVisible(element)) {\n return;\n }\n var elementWidth = moduleName === 'multiselect' ? element : element.clientWidth - parseInt(getComputedStyle(element, null).getPropertyValue('padding-left'), 10);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.getElementsByClassName('e-float-text-content')[0])) {\n if (container.getElementsByClassName('e-float-text-content')[0].classList.contains('e-float-text-overflow')) {\n container.getElementsByClassName('e-float-text-content')[0].classList.remove('e-float-text-overflow');\n }\n if (elementWidth < container.getElementsByClassName('e-float-text-content')[0].clientWidth || elementWidth === container.getElementsByClassName('e-float-text-content')[0].clientWidth) {\n container.getElementsByClassName('e-float-text-content')[0].classList.add('e-float-text-overflow');\n }\n }\n }\n Input.calculateWidth = calculateWidth;\n /**\n * Set the width to the wrapper of input element.\n * ```\n * E.g : Input.setWidth('200px', container);\n * ```\n *\n * @param {number | string} width - Width value which is need to add.\n * @param {HTMLElement} container - The element on which the width is need to add.\n */\n function setWidth(width, container) {\n if (typeof width === 'number') {\n container.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n container.style.width = (width.match(/px|%|em/)) ? (width) : ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width));\n }\n calculateWidth(container.firstChild, container);\n }\n Input.setWidth = setWidth;\n /**\n * Set the placeholder attribute to the input element.\n * ```\n * E.g : Input.setPlaceholder('Search here', element);\n * ```\n *\n * @param {string} placeholder - Placeholder value which is need to add.\n * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the placeholder is need to add.\n */\n function setPlaceholder(placeholder, element) {\n placeholder = encodePlaceHolder(placeholder);\n var parentElement = getParentNode(element);\n if (parentElement.classList.contains(CLASSNAMES.FLOATINPUT)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(placeholder) && placeholder !== '') {\n var floatTextContent = parentElement.getElementsByClassName('e-float-text-content')[0];\n if (floatTextContent && floatTextContent.children[0]) {\n floatTextContent.children[0].textContent = placeholder;\n }\n else {\n parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = placeholder;\n }\n parentElement.classList.remove(CLASSNAMES.NOFLOATLABEL);\n element.removeAttribute('placeholder');\n }\n else {\n parentElement.classList.add(CLASSNAMES.NOFLOATLABEL);\n var floatTextContent = parentElement.getElementsByClassName('e-float-text-content')[0];\n if (floatTextContent) {\n floatTextContent.children[0].textContent = '';\n }\n else {\n parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = '';\n }\n }\n }\n else {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(placeholder) && placeholder !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(element, { 'placeholder': placeholder });\n }\n else {\n element.removeAttribute('placeholder');\n }\n }\n }\n Input.setPlaceholder = setPlaceholder;\n /**\n * Set the read only attribute to the input element\n * ```\n * E.g : Input.setReadonly(true, element);\n * ```\n *\n * @param {boolean} isReadonly\n * - Boolean value to specify whether to set read only. Setting \"True\" value enables read only.\n * @param {HTMLInputElement | HTMLTextAreaElement} element\n * - The element which is need to enable read only.\n */\n function setReadonly(isReadonly, element, floatLabelType) {\n if (isReadonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(element, { readonly: '' });\n }\n else {\n element.removeAttribute('readonly');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(floatLabelType)) {\n validateLabel(element, floatLabelType);\n }\n }\n Input.setReadonly = setReadonly;\n /**\n * Displays the element direction from right to left when its enabled.\n * ```\n * E.g : Input.setEnableRtl(true, [inputObj.container]);\n * ```\n *\n * @param {boolean} isRtl\n * - Boolean value to specify whether to set RTL. Setting \"True\" value enables the RTL mode.\n * @param {Element[] | NodeList} elements\n * - The elements that are needed to enable/disable RTL.\n */\n function setEnableRtl(isRtl, elements) {\n if (isRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(elements, CLASSNAMES.RTL);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(elements, CLASSNAMES.RTL);\n }\n }\n Input.setEnableRtl = setEnableRtl;\n /**\n * Enables or disables the given input element.\n * ```\n * E.g : Input.setEnabled(false, element);\n * ```\n *\n * @param {boolean} isEnable\n * - Boolean value to specify whether to enable or disable.\n * @param {HTMLInputElement | HTMLTextAreaElement} element\n * - Element to be enabled or disabled.\n */\n function setEnabled(isEnable, element, floatLabelType, inputContainer) {\n var disabledAttrs = { 'disabled': '', 'aria-disabled': 'true' };\n var considerWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputContainer) ? false : true;\n if (isEnable) {\n element.classList.remove(CLASSNAMES.DISABLE);\n removeAttributes(disabledAttrs, element);\n if (considerWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([inputContainer], CLASSNAMES.DISABLE);\n }\n }\n else {\n element.classList.add(CLASSNAMES.DISABLE);\n addAttributes(disabledAttrs, element);\n if (considerWrapper) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([inputContainer], CLASSNAMES.DISABLE);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(floatLabelType)) {\n validateLabel(element, floatLabelType);\n }\n }\n Input.setEnabled = setEnabled;\n function setClearButton(isClear, element, inputObject, initial, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n if (isClear) {\n inputObject.clearButton = createClearButton(element, inputObject, initial, makeElement);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(inputObject.clearButton);\n inputObject.clearButton = null;\n }\n }\n Input.setClearButton = setClearButton;\n /**\n * Removing the multiple attributes from the given element such as \"disabled\",\"id\" , etc.\n * ```\n * E.g : Input.removeAttributes({ 'disabled': 'disabled', 'aria-disabled': 'true' }, element);\n * ```\n *\n * @param {string} attrs\n * - Array of attributes which are need to removed from the element.\n * @param {HTMLInputElement | HTMLElement} element\n * - Element on which the attributes are needed to be removed.\n */\n function removeAttributes(attrs, element) {\n for (var _i = 0, _a = Object.keys(attrs); _i < _a.length; _i++) {\n var key = _a[_i];\n var parentElement = getParentNode(element);\n if (key === 'disabled') {\n element.classList.remove(CLASSNAMES.DISABLE);\n }\n if (key === 'disabled' && parentElement.classList.contains(CLASSNAMES.INPUTGROUP)) {\n parentElement.classList.remove(CLASSNAMES.DISABLE);\n }\n if (key === 'placeholder' && parentElement.classList.contains(CLASSNAMES.FLOATINPUT)) {\n parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = '';\n }\n else {\n element.removeAttribute(key);\n }\n }\n }\n Input.removeAttributes = removeAttributes;\n /**\n * Adding the multiple attributes to the given element such as \"disabled\",\"id\" , etc.\n * ```\n * E.g : Input.addAttributes({ 'id': 'inputpopup' }, element);\n * ```\n *\n * @param {string} attrs\n * - Array of attributes which is added to element.\n * @param {HTMLInputElement | HTMLElement} element\n * - Element on which the attributes are needed to be added.\n */\n function addAttributes(attrs, element) {\n for (var _i = 0, _a = Object.keys(attrs); _i < _a.length; _i++) {\n var key = _a[_i];\n var parentElement = getParentNode(element);\n if (key === 'disabled') {\n element.classList.add(CLASSNAMES.DISABLE);\n }\n if (key === 'disabled' && parentElement.classList.contains(CLASSNAMES.INPUTGROUP)) {\n parentElement.classList.add(CLASSNAMES.DISABLE);\n }\n if (key === 'placeholder' && parentElement.classList.contains(CLASSNAMES.FLOATINPUT)) {\n parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = attrs[\"\" + key];\n }\n else {\n element.setAttribute(key, attrs[\"\" + key]);\n }\n }\n }\n Input.addAttributes = addAttributes;\n function removeFloating(input) {\n var container = input.container;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container) && container.classList.contains(CLASSNAMES.FLOATINPUT)) {\n var inputEle = container.querySelector('textarea') ? container.querySelector('textarea') :\n container.querySelector('input');\n var placeholder = container.querySelector('.' + CLASSNAMES.FLOATTEXT).textContent;\n var clearButton = container.querySelector('.e-clear-icon') !== null;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(container.querySelector('.' + CLASSNAMES.FLOATLINE));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(container.querySelector('.' + CLASSNAMES.FLOATTEXT));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(container, [CLASSNAMES.INPUTGROUP], [CLASSNAMES.FLOATINPUT]);\n unwireFloatingEvents(inputEle);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(inputEle, { 'placeholder': placeholder });\n inputEle.classList.add(CLASSNAMES.INPUT);\n if (!clearButton && inputEle.tagName === 'INPUT') {\n inputEle.removeAttribute('required');\n }\n }\n }\n Input.removeFloating = removeFloating;\n function addFloating(input, type, placeholder, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n var container = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(input, '.' + CLASSNAMES.INPUTGROUP);\n floatType = type;\n var customTag = container.tagName;\n customTag = customTag !== 'DIV' && customTag !== 'SPAN' ? customTag : null;\n var args = { element: input, floatLabelType: type,\n customTag: customTag, properties: { placeholder: placeholder } };\n if (type !== 'Never') {\n var iconEle = container.querySelector('.e-clear-icon');\n var inputObj = { container: container };\n input.classList.remove(CLASSNAMES.INPUT);\n createFloatingInput(args, inputObj, makeElement);\n createSpanElement(inputObj.container, makeElement);\n calculateWidth(args.element, inputObj.container);\n var isPrependIcon = container.classList.contains('e-float-icon-left');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(iconEle)) {\n if (isPrependIcon) {\n var inputWrap = container.querySelector('.e-input-in-wrap');\n iconEle = inputWrap.querySelector('.e-input-group-icon');\n }\n else {\n iconEle = container.querySelector('.e-input-group-icon');\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(iconEle)) {\n if (isPrependIcon) {\n iconEle = container.querySelector('.e-input-group-icon');\n }\n }\n else {\n var floatLine = container.querySelector('.' + CLASSNAMES.FLOATLINE);\n var floatText = container.querySelector('.' + CLASSNAMES.FLOATTEXT);\n var wrapper = isPrependIcon ? container.querySelector('.e-input-in-wrap') : container;\n wrapper.insertBefore(input, iconEle);\n wrapper.insertBefore(floatLine, iconEle);\n wrapper.insertBefore(floatText, iconEle);\n }\n }\n else {\n unWireFloatLabelEvents(args);\n }\n checkFloatLabelType(type, input.parentElement);\n }\n Input.addFloating = addFloating;\n /**\n * Create the span inside the label and add the label text into the span textcontent\n * ```\n * E.g : Input.createSpanElement(inputObject, makeElement);\n * ```\n *\n * @param {Element} inputObject\n * - Element which is need to get the label\n * @param {createElementParams} makeElement\n * - Element which is need to create the span\n */\n function createSpanElement(inputObject, makeElement) {\n if (inputObject.classList.contains('e-outline') && inputObject.getElementsByClassName('e-float-text')[0]) {\n var labelSpanElement = makeElement('span', { className: CLASSNAMES.FLOATTEXTCONTENT });\n labelSpanElement.innerHTML = inputObject.getElementsByClassName('e-float-text')[0].innerHTML;\n inputObject.getElementsByClassName('e-float-text')[0].innerHTML = '';\n inputObject.getElementsByClassName('e-float-text')[0].appendChild(labelSpanElement);\n }\n }\n Input.createSpanElement = createSpanElement;\n /**\n * Enable or Disable the ripple effect on the icons inside the Input. Ripple effect is only applicable for material theme.\n * ```\n * E.g : Input.setRipple(true, [inputObjects]);\n * ```\n *\n * @param {boolean} isRipple\n * - Boolean value to specify whether to enable the ripple effect.\n * @param {InputObject[]} inputObj\n * - Specify the collection of input objects.\n */\n function setRipple(isRipple, inputObj) {\n for (var i = 0; i < inputObj.length; i++) {\n _internalRipple(isRipple, inputObj[parseInt(i.toString(), 10)].container);\n }\n }\n Input.setRipple = setRipple;\n function _internalRipple(isRipple, container, button) {\n var argsButton = [];\n argsButton.push(button);\n var buttons = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(button) ?\n container.querySelectorAll('.e-input-group-icon') : argsButton;\n if (isRipple && buttons.length > 0) {\n for (var index = 0; index < buttons.length; index++) {\n buttons[parseInt(index.toString(), 10)].addEventListener('mousedown', _onMouseDownRipple, false);\n buttons[parseInt(index.toString(), 10)].addEventListener('mouseup', _onMouseUpRipple, false);\n }\n }\n else if (buttons.length > 0) {\n for (var index = 0; index < buttons.length; index++) {\n buttons[parseInt(index.toString(), 10)].removeEventListener('mousedown', _onMouseDownRipple, this);\n buttons[parseInt(index.toString(), 10)].removeEventListener('mouseup', _onMouseUpRipple, this);\n }\n }\n }\n function _onMouseRipple(container, button) {\n if (!container.classList.contains('e-disabled') && !container.querySelector('input').readOnly) {\n button.classList.add('e-input-btn-ripple');\n }\n }\n function _isElementVisible(element) {\n if (!element) {\n return false;\n }\n // Check if the element or any of its parents are hidden using display: none\n var currentElement = element;\n while (currentElement && currentElement !== document.body) {\n var style = window.getComputedStyle(currentElement);\n if (style.display === 'none') {\n return false;\n }\n currentElement = currentElement.parentElement;\n }\n // If none of the elements have display: none, the element is considered visible\n return true;\n }\n function _onMouseDownRipple() {\n var ele = false || this;\n var parentEle = this.parentElement;\n while (!parentEle.classList.contains('e-input-group')) {\n parentEle = parentEle.parentElement;\n }\n _onMouseRipple(parentEle, ele);\n }\n function _onMouseUpRipple() {\n var ele = false || this;\n setTimeout(function () {\n ele.classList.remove('e-input-btn-ripple');\n }, 500);\n }\n function createIconEle(iconClass, makeElement) {\n var button = makeElement('span', { className: iconClass });\n button.classList.add('e-input-group-icon');\n return button;\n }\n /**\n * Creates a new span element with the given icons added and append it in container element.\n * ```\n * E.g : Input.addIcon('append', 'e-icon-spin', inputObj.container, inputElement);\n * ```\n *\n * @param {string} position - Specify the icon placement on the input.Possible values are append and prepend.\n * @param {string | string[]} icons - Icon classes which are need to add to the span element which is going to created.\n * Span element acts as icon or button element for input.\n * @param {HTMLElement} container - The container on which created span element is going to append.\n * @param {HTMLElement} input - The inputElement on which created span element is going to prepend.\n */\n function addIcon(position, icons, container, input, internalCreate) {\n var result = typeof (icons) === 'string' ? icons.split(',')\n : icons;\n if (position.toLowerCase() === 'append') {\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var icon = result_1[_i];\n appendSpan(icon, container, internalCreate);\n }\n }\n else {\n for (var _a = 0, result_2 = result; _a < result_2.length; _a++) {\n var icon = result_2[_a];\n prependSpan(icon, container, input, internalCreate);\n }\n }\n if (container.getElementsByClassName('e-input-group-icon')[0] && container.getElementsByClassName('e-float-text-overflow')[0]) {\n container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');\n }\n }\n Input.addIcon = addIcon;\n /**\n * Creates a new span element with the given icons added and prepend it in input element.\n * ```\n * E.g : Input.prependSpan('e-icon-spin', inputObj.container, inputElement);\n * ```\n *\n * @param {string} iconClass - Icon classes which are need to add to the span element which is going to created.\n * Span element acts as icon or button element for input.\n * @param {HTMLElement} container - The container on which created span element is going to append.\n * @param {HTMLElement} inputElement - The inputElement on which created span element is going to prepend.\n */\n function prependSpan(iconClass, container, inputElement, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n var button = createIconEle(iconClass, makeElement);\n container.classList.add('e-float-icon-left');\n var innerWrapper = container.querySelector('.e-input-in-wrap');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(innerWrapper)) {\n innerWrapper = makeElement('span', { className: 'e-input-in-wrap' });\n inputElement.parentNode.insertBefore(innerWrapper, inputElement);\n var result = container.querySelectorAll(inputElement.tagName + ' ~ *');\n innerWrapper.appendChild(inputElement);\n for (var i = 0; i < result.length; i++) {\n var element = result[parseInt(i.toString(), 10)];\n var parentElement = innerWrapper.parentElement;\n if (!(element.classList.contains('e-float-line')) || (!(parentElement && parentElement.classList.contains('e-filled')) && parentElement)) {\n innerWrapper.appendChild(element);\n }\n }\n }\n innerWrapper.parentNode.insertBefore(button, innerWrapper);\n _internalRipple(true, container, button);\n return button;\n }\n Input.prependSpan = prependSpan;\n /**\n * Creates a new span element with the given icons added and append it in container element.\n * ```\n * E.g : Input.appendSpan('e-icon-spin', inputObj.container);\n * ```\n *\n * @param {string} iconClass - Icon classes which are need to add to the span element which is going to created.\n * Span element acts as icon or button element for input.\n * @param {HTMLElement} container - The container on which created span element is going to append.\n */\n function appendSpan(iconClass, container, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n var button = createIconEle(iconClass, makeElement);\n var wrap = (container.classList.contains('e-float-icon-left')) ? container.querySelector('.e-input-in-wrap') :\n container;\n wrap.appendChild(button);\n _internalRipple(true, container, button);\n return button;\n }\n Input.appendSpan = appendSpan;\n function validateInputType(containerElement, input) {\n if (input.type === 'hidden') {\n containerElement.classList.add('e-hidden');\n }\n else if (containerElement.classList.contains('e-hidden')) {\n containerElement.classList.remove('e-hidden');\n }\n }\n Input.validateInputType = validateInputType;\n function updateHTMLAttributesToElement(htmlAttributes, element) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (containerAttributes.indexOf(key) < 0) {\n element.setAttribute(key, htmlAttributes[\"\" + key]);\n }\n }\n }\n }\n Input.updateHTMLAttributesToElement = updateHTMLAttributesToElement;\n function updateCssClass(newClass, oldClass, container) {\n setCssClass(getInputValidClassList(newClass), [container], getInputValidClassList(oldClass));\n }\n Input.updateCssClass = updateCssClass;\n function getInputValidClassList(inputClassName) {\n var result = inputClassName;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputClassName) && inputClassName !== '') {\n result = (inputClassName.replace(/\\s+/g, ' ')).trim();\n }\n return result;\n }\n Input.getInputValidClassList = getInputValidClassList;\n function updateHTMLAttributesToWrapper(htmlAttributes, container) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (containerAttributes.indexOf(key) > -1) {\n if (key === 'class') {\n var updatedClassValues = this.getInputValidClassList(htmlAttributes[\"\" + key]);\n if (updatedClassValues !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([container], updatedClassValues.split(' '));\n }\n }\n else if (key === 'style') {\n var setStyle = container.getAttribute(key);\n setStyle = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(setStyle) ? (setStyle + htmlAttributes[\"\" + key]) :\n htmlAttributes[\"\" + key];\n container.setAttribute(key, setStyle);\n }\n else {\n container.setAttribute(key, htmlAttributes[\"\" + key]);\n }\n }\n }\n }\n }\n Input.updateHTMLAttributesToWrapper = updateHTMLAttributesToWrapper;\n function isBlank(inputString) {\n return (!inputString || /^\\s*$/.test(inputString));\n }\n Input.isBlank = isBlank;\n})(Input || (Input = {}));\n/* eslint-enable valid-jsdoc, jsdoc/require-jsdoc, jsdoc/require-returns, jsdoc/require-param */\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-inputs/src/input/input.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/mask-base.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/mask-base.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MaskUndo: () => (/* binding */ MaskUndo),\n/* harmony export */ applyMask: () => (/* binding */ applyMask),\n/* harmony export */ bindClearEvent: () => (/* binding */ bindClearEvent),\n/* harmony export */ createMask: () => (/* binding */ createMask),\n/* harmony export */ escapeRegExp: () => (/* binding */ escapeRegExp),\n/* harmony export */ getMaskedVal: () => (/* binding */ getMaskedVal),\n/* harmony export */ getVal: () => (/* binding */ getVal),\n/* harmony export */ maskInput: () => (/* binding */ maskInput),\n/* harmony export */ maskInputBlurHandler: () => (/* binding */ maskInputBlurHandler),\n/* harmony export */ maskInputDropHandler: () => (/* binding */ maskInputDropHandler),\n/* harmony export */ maskInputFocusHandler: () => (/* binding */ maskInputFocusHandler),\n/* harmony export */ maskInputMouseDownHandler: () => (/* binding */ maskInputMouseDownHandler),\n/* harmony export */ maskInputMouseUpHandler: () => (/* binding */ maskInputMouseUpHandler),\n/* harmony export */ mobileRemoveFunction: () => (/* binding */ mobileRemoveFunction),\n/* harmony export */ regularExpressions: () => (/* binding */ regularExpressions),\n/* harmony export */ setElementValue: () => (/* binding */ setElementValue),\n/* harmony export */ setMaskValue: () => (/* binding */ setMaskValue),\n/* harmony export */ strippedValue: () => (/* binding */ strippedValue),\n/* harmony export */ triggerFocus: () => (/* binding */ triggerFocus),\n/* harmony export */ unstrippedValue: () => (/* binding */ unstrippedValue),\n/* harmony export */ unwireEvents: () => (/* binding */ unwireEvents),\n/* harmony export */ wireEvents: () => (/* binding */ wireEvents)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _input_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../input/input */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* eslint-disable valid-jsdoc, jsdoc/require-jsdoc, jsdoc/require-returns, jsdoc/require-param */\n/**\n * MaskedTextBox base module\n */\n\n\nvar ERROR = 'e-error';\nvar INPUTGROUP = 'e-input-group';\nvar FLOATINPUT = 'e-float-input';\nvar UTILMASK = 'e-utility-mask';\nvar TOPLABEL = 'e-label-top';\nvar BOTTOMLABEL = 'e-label-bottom';\n/**\n * @hidden\n * Built-in masking elements collection.\n */\nvar regularExpressions = {\n '0': '[0-9]',\n '9': '[0-9 ]',\n '#': '[0-9 +-]',\n 'L': '[A-Za-z]',\n '?': '[A-Za-z ]',\n '&': '[^\\x7f ]+',\n 'C': '[^\\x7f]+',\n 'A': '[A-Za-z0-9]',\n 'a': '[A-Za-z0-9 ]'\n};\n/**\n * Generate required masking elements to the MaskedTextBox from user mask input.\n *\n * @hidden\n */\nfunction createMask() {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, {\n 'role': 'textbox', 'autocomplete': 'off', 'autocapitalize': 'off',\n 'spellcheck': 'false', 'aria-live': 'assertive'\n });\n if (this.mask) {\n var splitMask = this.mask.split(']');\n for (var i = 0; i < splitMask.length; i++) {\n if (splitMask[i][splitMask[i].length - 1] === '\\\\') {\n splitMask[i] = splitMask[i] + ']';\n var splitInnerMask = splitMask[i].split('[');\n for (var j = 0; j < splitInnerMask.length; j++) {\n if (splitInnerMask[j][splitInnerMask[j].length - 1] === '\\\\') {\n splitInnerMask[j] = splitInnerMask[j] + '[';\n }\n pushIntoRegExpCollec.call(this, splitInnerMask[j]);\n }\n }\n else {\n var splitInnerMask = splitMask[i].split('[');\n if (splitInnerMask.length > 1) {\n var chkSpace = false;\n for (var j = 0; j < splitInnerMask.length; j++) {\n if (splitInnerMask[j] === '\\\\') {\n this.customRegExpCollec.push('[');\n this.hiddenMask += splitInnerMask[j] + '[';\n }\n else if (splitInnerMask[j] === '') {\n chkSpace = true;\n }\n else if ((splitInnerMask[j] !== '' && chkSpace) || j === splitInnerMask.length - 1) {\n this.customRegExpCollec.push('[' + splitInnerMask[j] + ']');\n this.hiddenMask += this.promptChar;\n chkSpace = false;\n }\n else {\n pushIntoRegExpCollec.call(this, splitInnerMask[j]);\n }\n }\n }\n else {\n pushIntoRegExpCollec.call(this, splitInnerMask[0]);\n }\n }\n }\n this.escapeMaskValue = this.hiddenMask;\n this.promptMask = this.hiddenMask.replace(/[09?LCAa#&]/g, this.promptChar);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters)) {\n for (var i = 0; i < this.promptMask.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters[this.promptMask[i]])) {\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n this.promptMask = this.promptMask.replace(new RegExp(this.promptMask[i], 'g'), this.promptChar);\n }\n }\n }\n var escapeNumber = 0;\n if (this.hiddenMask.match(new RegExp(/\\\\/))) {\n for (var i = 0; i < this.hiddenMask.length; i++) {\n var j = 0;\n if (i >= 1) {\n j = i;\n }\n escapeNumber = this.hiddenMask.length - this.promptMask.length;\n j = j - escapeNumber;\n if ((i > 0 && this.hiddenMask[i - 1] !== '\\\\') && (this.hiddenMask[i] === '>' ||\n this.hiddenMask[i] === '<' || this.hiddenMask[i] === '|')) {\n this.promptMask = this.promptMask.substring(0, j) +\n this.promptMask.substring((i + 1) - escapeNumber, this.promptMask.length);\n this.escapeMaskValue = this.escapeMaskValue.substring(0, j) +\n this.escapeMaskValue.substring((i + 1) - escapeNumber, this.escapeMaskValue.length);\n }\n if (this.hiddenMask[i] === '\\\\') {\n this.promptMask = this.promptMask.substring(0, j) + this.hiddenMask[i + 1] +\n this.promptMask.substring((i + 2) - escapeNumber, this.promptMask.length);\n this.escapeMaskValue = this.escapeMaskValue.substring(0, j) + this.escapeMaskValue[i + 1] +\n this.escapeMaskValue.substring((i + 2) - escapeNumber, this.escapeMaskValue.length);\n }\n }\n }\n else {\n this.promptMask = this.promptMask.replace(/[>|<]/g, '');\n this.escapeMaskValue = this.hiddenMask.replace(/[>|<]/g, '');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-invalid': 'false' });\n }\n}\n/**\n * Apply mask ability with masking elements to the MaskedTextBox.\n *\n * @hidden\n */\nfunction applyMask() {\n setElementValue.call(this, this.promptMask);\n setMaskValue.call(this, this.value);\n}\n/**\n * To wire required events to the MaskedTextBox.\n *\n * @hidden\n */\nfunction wireEvents() {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keydown', maskInputKeyDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keypress', maskInputKeyPressHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keyup', maskInputKeyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'input', maskInputHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focus', maskInputFocusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'blur', maskInputBlurHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'paste', maskInputPasteHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'cut', maskInputCutHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'drop', maskInputDropHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mousedown', maskInputMouseDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mouseup', maskInputMouseUpHandler, this);\n if (this.enabled) {\n bindClearEvent.call(this);\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formElement, 'reset', resetFormHandler, this);\n }\n }\n}\n/**\n * To unwire events attached to the MaskedTextBox.\n *\n * @hidden\n */\nfunction unwireEvents() {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keydown', maskInputKeyDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keypress', maskInputKeyPressHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keyup', maskInputKeyUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'input', maskInputHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focus', maskInputFocusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'blur', maskInputBlurHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'paste', maskInputPasteHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'cut', maskInputCutHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'drop', maskInputDropHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mousedown', maskInputMouseDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseup', maskInputMouseUpHandler);\n if (this.formElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', resetFormHandler);\n }\n}\n/**\n * To bind required events to the MaskedTextBox clearButton.\n *\n * @hidden\n */\nfunction bindClearEvent() {\n if (this.showClearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputObj.clearButton, 'mousedown touchstart', resetHandler, this);\n }\n}\nfunction resetHandler(e) {\n e.preventDefault();\n if (!this.inputObj.clearButton.classList.contains('e-clear-icon-hide') || (this.inputObj.container.classList.contains('e-static-clear'))) {\n clear.call(this, e);\n this.value = '';\n }\n}\nfunction clear(event) {\n var value = this.element.value;\n setElementValue.call(this, this.promptMask);\n this.redoCollec.unshift({\n value: this.promptMask, startIndex: this.element.selectionStart, endIndex: this.element.selectionEnd\n });\n triggerMaskChangeEvent.call(this, event, value);\n this.element.setSelectionRange(0, 0);\n}\nfunction resetFormHandler() {\n if (this.element.tagName === 'EJS-MASKEDTEXTBOX') {\n setElementValue.call(this, this.promptMask);\n }\n else {\n this.value = this.initInputValue;\n }\n}\n/**\n * To get masked value from the MaskedTextBox.\n *\n * @hidden\n */\nfunction unstrippedValue(element) {\n return element.value;\n}\n/**\n * To extract raw value from the MaskedTextBox.\n *\n * @hidden\n */\nfunction strippedValue(element, maskValues) {\n var value = '';\n var k = 0;\n var checkMask = false;\n var maskValue = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(maskValues)) ? maskValues : (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this)) ? element.value : maskValues;\n if (maskValue !== this.promptMask) {\n for (var i = 0; i < this.customRegExpCollec.length; i++) {\n if (checkMask) {\n checkMask = false;\n }\n if (this.customRegExpCollec[k] === '>' || this.customRegExpCollec[k] === '<' ||\n this.customRegExpCollec[k] === '|' || this.customRegExpCollec[k] === '\\\\') {\n --i;\n checkMask = true;\n }\n if (!checkMask) {\n if ((maskValue[i] !== this.promptChar) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customRegExpCollec[k]) &&\n ((this._callPasteHandler || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.regExpCollec[this.customRegExpCollec[k]]) &&\n !this.maskedRegExp.includes(this.customRegExpCollec[k]))) ||\n (this.customRegExpCollec[k].length > 2 && this.customRegExpCollec[k][0] === '[' &&\n this.customRegExpCollec[k][this.customRegExpCollec[k].length - 1] === ']') ||\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters) &&\n (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters[this.customRegExpCollec[k]]))))) && (maskValue !== '')) {\n value += maskValue[i];\n }\n }\n ++k;\n }\n }\n if (this.mask === null || this.mask === '' && this.value !== undefined) {\n value = maskValue;\n }\n return value;\n}\nfunction pushIntoRegExpCollec(value) {\n for (var k = 0; k < value.length; k++) {\n this.hiddenMask += value[k];\n if (value[k] !== '\\\\') {\n this.customRegExpCollec.push(value[k]);\n }\n else if (value[k] === '\\\\' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.regExpCollec[value[k + 1]])) {\n this.maskedRegExp.push(value[k + 1]);\n }\n }\n}\nfunction maskInputMouseDownHandler() {\n this.isClicked = true;\n}\nfunction maskInputMouseUpHandler() {\n this.isClicked = false;\n}\nfunction maskInputFocusHandler(event) {\n var _this = this;\n var inputElement = this.element;\n var startIndex = 0;\n var modelValue = strippedValue.call(this, inputElement);\n var toAllowForward = false;\n var toAllowBackward = false;\n var eventArgs = {\n selectionStart: inputElement.selectionStart,\n event: event,\n value: this.value,\n maskedValue: inputElement.value,\n container: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputObj) ? this.inputObj.container : this.inputObj,\n selectionEnd: inputElement.selectionEnd\n };\n if (!this.isClicked) {\n triggerFocus.call(this, eventArgs, inputElement);\n }\n if (this.mask) {\n if (!(!(modelValue === null || modelValue === '') || this.floatLabelType === 'Always' ||\n this.placeholder === null || this.placeholder === '')) {\n inputElement.value = this.promptMask;\n }\n setTimeout(function () {\n if (inputElement.selectionStart === _this.promptMask.length ||\n inputElement.value[inputElement.selectionStart] === _this.promptChar) {\n toAllowForward = true;\n }\n else {\n for (var i = inputElement.selectionStart; i < _this.promptMask.length; i++) {\n if (inputElement.value[i] !== _this.promptChar) {\n if ((inputElement.value[i] !== _this.promptMask[i])) {\n toAllowForward = false;\n break;\n }\n }\n else {\n toAllowForward = true;\n break;\n }\n }\n }\n });\n setTimeout(function () {\n var backSelectionStart = inputElement.selectionStart - 1;\n if (backSelectionStart === _this.promptMask.length - 1 ||\n inputElement.value[backSelectionStart] === _this.promptChar) {\n toAllowBackward = true;\n }\n else {\n for (var i = backSelectionStart; i >= 0; i--) {\n if (inputElement.value[i] !== _this.promptChar) {\n if ((inputElement.value[i] !== _this.promptMask[i])) {\n toAllowBackward = false;\n break;\n }\n }\n else {\n toAllowBackward = true;\n break;\n }\n }\n }\n });\n if ((this.isClicked || (this.floatLabelType !== 'Always' &&\n ((modelValue === null || modelValue === '') &&\n (this.placeholder !== null && this.placeholder !== ''))))) {\n for (startIndex = 0; startIndex < this.promptMask.length; startIndex++) {\n if (inputElement.value[startIndex] === this.promptChar) {\n setTimeout(function () {\n if (toAllowForward || toAllowBackward) {\n inputElement.selectionEnd = startIndex;\n inputElement.selectionStart = startIndex;\n }\n eventArgs = {\n selectionStart: inputElement.selectionStart,\n event: event,\n value: _this.value,\n maskedValue: inputElement.value,\n container: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.inputObj) ? _this.inputObj.container : _this.inputObj,\n selectionEnd: inputElement.selectionEnd\n };\n triggerFocus.call(_this, eventArgs, inputElement);\n }, 110);\n break;\n }\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(inputElement.value.match(escapeRegExp(this.promptChar)))) {\n eventArgs = {\n selectionStart: inputElement.selectionStart,\n event: event,\n value: this.value,\n maskedValue: inputElement.value,\n container: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputObj) ? this.inputObj.container : this.inputObj,\n selectionEnd: inputElement.selectionEnd\n };\n triggerFocus.call(this, eventArgs, inputElement);\n }\n this.isClicked = false;\n }\n }\n}\nfunction triggerFocus(eventArgs, inputElement) {\n this.trigger('focus', eventArgs, function (eventArgs) {\n inputElement.selectionStart = eventArgs.selectionStart;\n inputElement.selectionEnd = eventArgs.selectionEnd;\n });\n}\nfunction escapeRegExp(text) {\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(text) ? text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&') : text;\n}\nfunction maskInputBlurHandler(event) {\n this.blurEventArgs = {\n event: event,\n value: this.value,\n maskedValue: this.element.value,\n container: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputObj) ? this.inputObj.container : this.inputObj\n };\n this.trigger('blur', this.blurEventArgs);\n if (this.mask) {\n this.isFocus = false;\n if (this.placeholder && this.element.value === this.promptMask && this.floatLabelType !== 'Always') {\n setElementValue.call(this, '');\n var labelElement = this.element.parentNode.querySelector('.e-float-text');\n if (this.floatLabelType === 'Auto' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(labelElement) && labelElement.classList.contains(TOPLABEL)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([labelElement], TOPLABEL);\n }\n }\n }\n}\nfunction maskInputPasteHandler(event) {\n var _this = this;\n if (this.mask && !this.readonly) {\n var sIndex_1 = this.element.selectionStart;\n var eIndex_1 = this.element.selectionEnd;\n var oldValue_1 = this.element.value;\n setElementValue.call(this, '');\n this._callPasteHandler = true;\n setTimeout(function () {\n var value = _this.element.value.replace(/ /g, '');\n if (_this.redoCollec.length > 0 && _this.redoCollec[0].value === _this.element.value) {\n value = strippedValue.call(_this, _this.element);\n }\n setElementValue.call(_this, oldValue_1);\n _this.element.selectionStart = sIndex_1;\n _this.element.selectionEnd = eIndex_1;\n var i = 0;\n _this.maskKeyPress = true;\n do {\n validateValue.call(_this, value[i], false, null);\n ++i;\n } while (i < value.length);\n _this.maskKeyPress = false;\n _this._callPasteHandler = false;\n if (_this.element.value === oldValue_1) {\n var i_1 = 0;\n _this.maskKeyPress = true;\n do {\n validateValue.call(_this, value[i_1], false, null);\n ++i_1;\n } while (i_1 < value.length);\n _this.maskKeyPress = false;\n }\n else {\n triggerMaskChangeEvent.call(_this, event, oldValue_1);\n }\n }, 1);\n }\n}\nfunction maskInputCutHandler(event) {\n var _this = this;\n if (this.mask && !this.readonly) {\n var preValue_1 = this.element.value;\n var sIndex_2 = this.element.selectionStart;\n var eIndex = this.element.selectionEnd;\n this.undoCollec.push({ value: this.element.value, startIndex: this.element.selectionStart, endIndex: this.element.selectionEnd });\n var value_1 = this.element.value.substring(0, sIndex_2) + this.promptMask.substring(sIndex_2, eIndex) +\n this.element.value.substring(eIndex);\n setTimeout(function () {\n setElementValue.call(_this, value_1);\n _this.element.selectionStart = _this.element.selectionEnd = sIndex_2;\n if (_this.element.value !== preValue_1) {\n triggerMaskChangeEvent.call(_this, event, null);\n }\n }, 0);\n }\n}\nfunction maskInputDropHandler(event) {\n event.preventDefault();\n}\nfunction maskInputHandler(event) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE === true && this.element.value === '' && this.floatLabelType === 'Never') {\n return;\n }\n var eventArgs = { ctrlKey: false, keyCode: 229 };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(event, eventArgs);\n if (this.mask) {\n if (this.element.value === '') {\n this.redoCollec.unshift({\n value: this.promptMask, startIndex: this.element.selectionStart, endIndex: this.element.selectionEnd\n });\n }\n if (this.element.value.length === 1) {\n this.element.value = this.element.value + this.promptMask;\n this.element.setSelectionRange(1, 1);\n }\n if (!this._callPasteHandler) {\n removeMaskInputValues.call(this, event);\n }\n if (this.element.value.length > this.promptMask.length) {\n var startIndex = this.element.selectionStart;\n var addedValues = this.element.value.length - this.promptMask.length;\n var value = this.element.value.substring(startIndex - addedValues, startIndex);\n this.maskKeyPress = false;\n var i = 0;\n do {\n validateValue.call(this, value[i], event.ctrlKey, event);\n ++i;\n } while (i < value.length);\n if (this.element.value !== this.preEleVal) {\n triggerMaskChangeEvent.call(this, event, null);\n }\n }\n var val = strippedValue.call(this, this.element);\n this.prevValue = val;\n this.value = val;\n if (val === '') {\n setElementValue.call(this, this.promptMask);\n this.element.setSelectionRange(0, 0);\n }\n }\n}\nfunction maskInputKeyDownHandler(event) {\n if (this.mask && !this.readonly) {\n if (event.keyCode !== 229) {\n if (event.ctrlKey && (event.keyCode === 89 || event.keyCode === 90)) {\n event.preventDefault();\n }\n removeMaskInputValues.call(this, event);\n }\n var startValue = this.element.value;\n if (event.ctrlKey && (event.keyCode === 89 || event.keyCode === 90)) {\n var collec = void 0;\n if (event.keyCode === 90 && this.undoCollec.length > 0 && startValue !== this.undoCollec[this.undoCollec.length - 1].value) {\n collec = this.undoCollec[this.undoCollec.length - 1];\n this.redoCollec.unshift({\n value: this.element.value, startIndex: this.element.selectionStart,\n endIndex: this.element.selectionEnd\n });\n setElementValue.call(this, collec.value);\n this.element.selectionStart = collec.startIndex;\n this.element.selectionEnd = collec.endIndex;\n this.undoCollec.splice(this.undoCollec.length - 1, 1);\n }\n else if (event.keyCode === 89 && this.redoCollec.length > 0 && startValue !== this.redoCollec[0].value) {\n collec = this.redoCollec[0];\n this.undoCollec.push({\n value: this.element.value, startIndex: this.element.selectionStart,\n endIndex: this.element.selectionEnd\n });\n setElementValue.call(this, collec.value);\n this.element.selectionStart = collec.startIndex;\n this.element.selectionEnd = collec.endIndex;\n this.redoCollec.splice(0, 1);\n }\n }\n }\n}\nfunction mobileRemoveFunction() {\n var collec;\n var sIndex = this.element.selectionStart;\n var eIndex = this.element.selectionEnd;\n if (this.redoCollec.length > 0) {\n collec = this.redoCollec[0];\n setElementValue.call(this, collec.value);\n if ((collec.startIndex - sIndex) === 1) {\n this.element.selectionStart = collec.startIndex;\n this.element.selectionEnd = collec.endIndex;\n }\n else {\n this.element.selectionStart = sIndex + 1;\n this.element.selectionEnd = eIndex + 1;\n }\n }\n else {\n setElementValue.call(this, this.promptMask);\n this.element.selectionStart = this.element.selectionEnd = sIndex;\n }\n}\nfunction autoFillMaskInputValues(isRemove, oldEventVal, event) {\n if (event.type === 'input') {\n isRemove = false;\n oldEventVal = this.element.value;\n setElementValue.call(this, this.promptMask);\n setMaskValue.call(this, oldEventVal);\n }\n return isRemove;\n}\nfunction removeMaskInputValues(event) {\n var isRemove = false;\n var oldEventVal;\n var isDeleted = false;\n if (this.element.value.length < this.promptMask.length) {\n isRemove = true;\n oldEventVal = this.element.value;\n isRemove = autoFillMaskInputValues.call(this, isRemove, oldEventVal, event);\n mobileRemoveFunction.call(this);\n }\n if (this.element.value.length >= this.promptMask.length && event.type === 'input') {\n isRemove = autoFillMaskInputValues.call(this, isRemove, oldEventVal, event);\n }\n var initStartIndex = this.element.selectionStart;\n var initEndIndex = this.element.selectionEnd;\n var startIndex = this.element.selectionStart;\n var endIndex = this.element.selectionEnd;\n var maskValue = this.hiddenMask.replace(/[>|\\\\<]/g, '');\n var curMask = maskValue[startIndex - 1];\n var deleteEndIndex = this.element.selectionEnd;\n if (isRemove || event.keyCode === 8 || event.keyCode === 46) {\n this.undoCollec.push({ value: this.element.value, startIndex: this.element.selectionStart, endIndex: endIndex });\n var multipleDel = false;\n var preValue = this.element.value;\n if (startIndex > 0 || ((event.keyCode === 8 || event.keyCode === 46) && startIndex < this.element.value.length\n && ((this.element.selectionEnd - startIndex) !== this.element.value.length))) {\n var index = startIndex;\n if (startIndex !== endIndex) {\n startIndex = endIndex;\n if (event.keyCode === 46) {\n multipleDel = true;\n }\n }\n else if (event.keyCode === 46) {\n ++index;\n }\n else {\n --index;\n }\n for (var k = startIndex; (event.keyCode === 8 || isRemove || multipleDel) ? k > index : k < index; (event.keyCode === 8 || isRemove || multipleDel) ? k-- : k++) {\n for (var i = startIndex; (event.keyCode === 8 || isRemove || multipleDel) ? i > 0 : i < this.element.value.length; (event.keyCode === 8 || isRemove || multipleDel) ? i-- : i++) {\n var sIndex = void 0;\n if (((event.keyCode === 8 || multipleDel) && ((initStartIndex !== initEndIndex && initStartIndex !== startIndex) ||\n (initStartIndex === initEndIndex))) || isRemove) {\n curMask = maskValue[i - 1];\n sIndex = startIndex - 1;\n }\n else {\n curMask = maskValue[i];\n sIndex = startIndex;\n ++startIndex;\n }\n var oldValue = this.element.value[sIndex];\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.regExpCollec[\"\" + curMask]) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters)\n && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters[\"\" + curMask]))\n && ((this.hiddenMask[sIndex] !== this.promptChar && this.customRegExpCollec[sIndex][0] !== '['\n && this.customRegExpCollec[sIndex][this.customRegExpCollec[sIndex].length - 1] !== ']')))\n || (this.promptMask[sIndex] !== this.promptChar && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters))) {\n this.element.selectionStart = this.element.selectionEnd = sIndex;\n event.preventDefault();\n if (event.keyCode === 46 && !multipleDel) {\n ++this.element.selectionStart;\n }\n }\n else {\n var value = this.element.value;\n var prompt_1 = this.promptChar;\n var elementValue = value.substring(0, sIndex) + prompt_1 + value.substring(startIndex, value.length);\n setElementValue.call(this, elementValue);\n event.preventDefault();\n if (event.keyCode === 46 && !multipleDel) {\n sIndex++;\n }\n this.element.selectionStart = this.element.selectionEnd = sIndex;\n isDeleted = true;\n }\n startIndex = this.element.selectionStart;\n if ((!isDeleted && event.keyCode === 8) || multipleDel || (!isDeleted && !(event.keyCode === 46))) {\n sIndex = startIndex - 1;\n }\n else {\n sIndex = startIndex;\n isDeleted = false;\n }\n oldValue = this.element.value[sIndex];\n if (((initStartIndex !== initEndIndex) && (this.element.selectionStart === initStartIndex))\n || (this.promptMask[sIndex] === this.promptChar) || ((oldValue !== this.promptMask[sIndex]) &&\n (this.promptMask[sIndex] !== this.promptChar) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters))) {\n break;\n }\n }\n }\n }\n if (event.keyCode === 46 && multipleDel && isDeleted) {\n this.element.selectionStart = this.element.selectionEnd = deleteEndIndex;\n }\n if (this.element.selectionStart === 0 && (this.element.selectionEnd === this.element.value.length)) {\n setElementValue.call(this, this.promptMask);\n event.preventDefault();\n this.element.selectionStart = this.element.selectionEnd = startIndex;\n }\n this.redoCollec.unshift({\n value: this.element.value, startIndex: this.element.selectionStart,\n endIndex: this.element.selectionEnd\n });\n if (this.element.value !== preValue) {\n triggerMaskChangeEvent.call(this, event, oldEventVal);\n }\n }\n}\nfunction maskInputKeyPressHandler(event) {\n if (this.mask && !this.readonly) {\n var oldValue = this.element.value;\n if (!(event.ctrlKey || event.metaKey) || ((event.ctrlKey || event.metaKey) && event.code !== 'KeyA' && event.code !== 'KeyY'\n && event.code !== 'KeyZ' && event.code !== 'KeyX' && event.code !== 'KeyC' && event.code !== 'KeyV')) {\n this.maskKeyPress = true;\n var key = event.key;\n if (key === 'Spacebar') {\n key = String.fromCharCode(event.keyCode);\n }\n if (!key) {\n this.isIosInvalid = true;\n validateValue.call(this, String.fromCharCode(event.keyCode), event.ctrlKey, event);\n event.preventDefault();\n this.isIosInvalid = false;\n }\n else if (key && key.length === 1) {\n validateValue.call(this, key, event.ctrlKey, event);\n event.preventDefault();\n }\n if (event.keyCode === 32 && key === ' ' && this.promptChar === ' ') {\n this.element.selectionStart = this.element.selectionEnd = this.element.selectionStart - key.length;\n }\n }\n if (this.element.value !== oldValue) {\n triggerMaskChangeEvent.call(this, event, oldValue);\n }\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction triggerMaskChangeEvent(event, oldValue) {\n var prevOnChange = this.isProtectedOnChange;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.changeEventArgs) && !this.isInitial) {\n var eventArgs = {};\n this.changeEventArgs = { value: this.element.value, maskedValue: this.element.value, isInteraction: false, isInteracted: false };\n if (this.mask) {\n this.changeEventArgs.value = strippedValue.call(this, this.element);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(event)) {\n this.changeEventArgs.isInteracted = true;\n this.changeEventArgs.isInteraction = true;\n this.changeEventArgs.event = event;\n }\n this.isProtectedOnChange = true;\n this.value = this.changeEventArgs.value;\n this.isProtectedOnChange = prevOnChange;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(eventArgs, this.changeEventArgs);\n /* istanbul ignore next */\n if (this.isAngular && this.preventChange) {\n this.preventChange = false;\n }\n else {\n this.trigger('change', eventArgs);\n }\n }\n this.preEleVal = this.element.value;\n this.prevValue = strippedValue.call(this, this.element);\n}\nfunction maskInputKeyUpHandler(event) {\n if (this.mask && !this.readonly) {\n var collec = void 0;\n if (!this.maskKeyPress && event.keyCode === 229) {\n var oldEventVal = void 0;\n if (this.element.value.length === 1) {\n this.element.value = this.element.value + this.promptMask;\n this.element.setSelectionRange(1, 1);\n }\n if (this.element.value.length > this.promptMask.length) {\n var startIndex = this.element.selectionStart;\n var addedValues = this.element.value.length - this.promptMask.length;\n var val_1 = this.element.value.substring(startIndex - addedValues, startIndex);\n if (this.undoCollec.length > 0) {\n collec = this.undoCollec[this.undoCollec.length - 1];\n var startIndex_1 = this.element.selectionStart;\n oldEventVal = collec.value;\n var oldVal = collec.value.substring(startIndex_1 - addedValues, startIndex_1);\n collec = this.redoCollec[0];\n val_1 = val_1.trim();\n var isSpace = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isAndroid && val_1 === '';\n if (!isSpace && oldVal !== val_1 && collec.value.substring(startIndex_1 - addedValues, startIndex_1) !== val_1) {\n validateValue.call(this, val_1, event.ctrlKey, event);\n }\n else if (isSpace) {\n preventUnsupportedValues.call(this, event, startIndex_1 - 1, this.element.selectionEnd - 1, val_1, event.ctrlKey, false);\n }\n }\n else {\n oldEventVal = this.promptMask;\n validateValue.call(this, val_1, event.ctrlKey, event);\n }\n this.maskKeyPress = false;\n triggerMaskChangeEvent.call(this, event, oldEventVal);\n }\n }\n else {\n removeMaskError.call(this);\n }\n var val = strippedValue.call(this, this.element);\n if (!((this.element.selectionStart === 0) && (this.promptMask === this.element.value) && val === '')\n || (val === '' && this.value !== val)) {\n this.prevValue = val;\n this.value = val;\n }\n }\n else {\n triggerMaskChangeEvent.call(this, event);\n }\n if (this.element.selectionStart === 0 && this.element.selectionEnd === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var temp_1 = this.element;\n setTimeout(function () {\n temp_1.setSelectionRange(0, 0);\n }, 0);\n }\n}\nfunction mobileSwipeCheck(key) {\n if (key.length > 1 && ((this.promptMask.length + key.length) < this.element.value.length)) {\n var elementValue = this.redoCollec[0].value.substring(0, this.redoCollec[0].startIndex) + key +\n this.redoCollec[0].value.substring(this.redoCollec[0].startIndex, this.redoCollec[0].value.length);\n setElementValue.call(this, elementValue);\n this.element.selectionStart = this.element.selectionEnd = this.redoCollec[0].startIndex + key.length;\n }\n this.element.selectionStart = this.element.selectionStart - key.length;\n this.element.selectionEnd = this.element.selectionEnd - key.length;\n}\nfunction mobileValidation(key) {\n if (!this.maskKeyPress) {\n mobileSwipeCheck.call(this, key);\n }\n}\nfunction validateValue(key, isCtrlKey, event) {\n mobileValidation.call(this, key);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(key)) {\n return;\n }\n var startIndex = this.element.selectionStart;\n var initStartIndex = startIndex;\n var curMask;\n var allowText = false;\n var value = this.element.value;\n var eventOldVal;\n var prevSupport = false;\n var isEqualVal = false;\n for (var k = 0; k < key.length; k++) {\n var keyValue = key[k];\n startIndex = this.element.selectionStart;\n if (!this.maskKeyPress && initStartIndex === startIndex) {\n startIndex = startIndex + k;\n }\n if ((!this.maskKeyPress || startIndex < this.promptMask.length)) {\n for (var i = startIndex; i < this.promptMask.length; i++) {\n var maskValue = this.escapeMaskValue;\n curMask = maskValue[startIndex];\n if (this.hiddenMask[startIndex] === '\\\\' && this.hiddenMask[startIndex + 1] === key) {\n isEqualVal = true;\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.regExpCollec[\"\" + curMask]) && ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters)\n || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters[\"\" + curMask])))\n && ((this.hiddenMask[startIndex] !== this.promptChar && this.customRegExpCollec[startIndex][0] !== '['\n && this.customRegExpCollec[startIndex][this.customRegExpCollec[startIndex].length - 1] !== ']')))\n || ((this.promptMask[startIndex] !== this.promptChar) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters))\n || (this.promptChar === curMask && this.escapeMaskValue === this.mask)) {\n this.element.selectionStart = this.element.selectionEnd = startIndex + 1;\n startIndex = this.element.selectionStart;\n curMask = this.hiddenMask[startIndex];\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.customCharacters[\"\" + curMask])) {\n var customValStr = this.customCharacters[\"\" + curMask];\n var customValArr = customValStr.split(',');\n for (var i = 0; i < customValArr.length; i++) {\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n if (keyValue.match(new RegExp('[' + customValArr[i] + ']'))) {\n allowText = true;\n break;\n }\n }\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.regExpCollec[\"\" + curMask]) && keyValue.match(new RegExp(this.regExpCollec[\"\" + curMask]))\n && this.promptMask[startIndex] === this.promptChar) {\n allowText = true;\n }\n else if (this.promptMask[startIndex] === this.promptChar && this.customRegExpCollec[startIndex][0] === '['\n && this.customRegExpCollec[startIndex][this.customRegExpCollec[startIndex].length - 1] === ']'\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n && keyValue.match(new RegExp(this.customRegExpCollec[startIndex]))) {\n allowText = true;\n }\n if ((!this.maskKeyPress || startIndex < this.hiddenMask.length) && allowText) {\n if (k === 0) {\n if (this.maskKeyPress) {\n this.undoCollec.push({ value: value, startIndex: startIndex, endIndex: startIndex });\n }\n else {\n var sIndex = this.element.selectionStart;\n var eIndex = this.element.selectionEnd;\n if (this.redoCollec.length > 0) {\n eventOldVal = this.redoCollec[0].value;\n setElementValue.call(this, eventOldVal);\n this.undoCollec.push(this.redoCollec[0]);\n }\n else {\n this.undoCollec.push({ value: this.promptMask, startIndex: startIndex, endIndex: startIndex });\n eventOldVal = this.promptMask;\n setElementValue.call(this, eventOldVal);\n }\n this.element.selectionStart = sIndex;\n this.element.selectionEnd = eIndex;\n }\n }\n startIndex = this.element.selectionStart;\n applySupportedValues.call(this, event, startIndex, keyValue, eventOldVal, isEqualVal);\n prevSupport = true;\n if (k === key.length - 1) {\n this.redoCollec.unshift({\n value: this.element.value, startIndex: this.element.selectionStart, endIndex: this.element.selectionEnd\n });\n }\n allowText = false;\n }\n else {\n startIndex = this.element.selectionStart;\n preventUnsupportedValues.call(this, event, startIndex, initStartIndex, key, isCtrlKey, prevSupport);\n }\n if (k === key.length - 1 && !allowText) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isAndroid || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isAndroid && startIndex < this.promptMask.length)) {\n this.redoCollec.unshift({\n value: this.element.value, startIndex: this.element.selectionStart, endIndex: this.element.selectionEnd\n });\n }\n }\n }\n else {\n if (key.length === 1 && !isCtrlKey && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(event)) {\n addMaskErrorClass.call(this);\n }\n }\n }\n}\nfunction applySupportedValues(event, startIndex, keyValue, eventOldVal, isEqualVal) {\n if (this.hiddenMask.length > this.promptMask.length) {\n keyValue = changeToLowerUpperCase.call(this, keyValue, this.element.value);\n }\n if (!isEqualVal) {\n var value = this.element.value;\n var elementValue = value.substring(0, startIndex) + keyValue + value.substring(startIndex + 1, value.length);\n setElementValue.call(this, elementValue);\n this.element.selectionStart = this.element.selectionEnd = startIndex + 1;\n }\n}\nfunction preventUnsupportedValues(event, sIdx, idx, key, ctrl, chkSupport) {\n if (!this.maskKeyPress) {\n var value = this.element.value;\n if (sIdx >= this.promptMask.length) {\n setElementValue.call(this, value.substring(0, sIdx));\n }\n else {\n if (idx === sIdx) {\n setElementValue.call(this, value.substring(0, sIdx) + value.substring(sIdx + 1, value.length));\n }\n else {\n if (this.promptMask.length === this.element.value.length) {\n setElementValue.call(this, value.substring(0, sIdx) + value.substring(sIdx, value.length));\n }\n else {\n setElementValue.call(this, value.substring(0, idx) + value.substring(idx + 1, value.length));\n }\n }\n this.element.selectionStart = this.element.selectionEnd = (chkSupport ||\n this.element.value[idx] !== this.promptChar) ? sIdx : idx;\n }\n addMaskErrorClass.call(this);\n }\n if (key.length === 1 && !ctrl && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(event)) {\n addMaskErrorClass.call(this);\n }\n}\nfunction addMaskErrorClass() {\n var _this = this;\n var parentElement = this.element.parentNode;\n var timer = 200;\n if (parentElement.classList.contains(INPUTGROUP) || parentElement.classList.contains(FLOATINPUT)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([parentElement], ERROR);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], ERROR);\n }\n if (this.isIosInvalid === true) {\n timer = 400;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-invalid': 'true' });\n setTimeout(function () {\n if (!_this.maskKeyPress) {\n removeMaskError.call(_this);\n }\n }, timer);\n}\nfunction removeMaskError() {\n var parentElement = this.element.parentNode;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(parentElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([parentElement], ERROR);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], ERROR);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-invalid': 'false' });\n}\n/**\n * Validates user input using masking elements '<' , '>' and '|'.\n *\n * @hidden\n */\nfunction changeToLowerUpperCase(key, value) {\n var promptMask;\n var i;\n var curVal = value;\n var caseCount = 0;\n for (i = 0; i < this.hiddenMask.length; i++) {\n if (this.hiddenMask[i] === '\\\\') {\n promptMask = curVal.substring(0, i) + '\\\\' + curVal.substring(i, curVal.length);\n }\n if (this.hiddenMask[i] === '>' || this.hiddenMask[i] === '<' || this.hiddenMask[i] === '|') {\n if (this.hiddenMask[i] !== curVal[i]) {\n promptMask = curVal.substring(0, i) + this.hiddenMask[i] + curVal.substring(i, curVal.length);\n }\n ++caseCount;\n }\n if (promptMask) {\n if (((promptMask[i] === this.promptChar) && (i > this.element.selectionStart)) ||\n (this.element.value.indexOf(this.promptChar) < 0 && (this.element.selectionStart + caseCount) === i)) {\n caseCount = 0;\n break;\n }\n curVal = promptMask;\n }\n }\n while (i >= 0 && promptMask) {\n if (i === 0 || promptMask[i - 1] !== '\\\\') {\n if (promptMask[i] === '>') {\n key = key.toUpperCase();\n break;\n }\n else if (promptMask[i] === '<') {\n key = key.toLowerCase();\n break;\n }\n else if (promptMask[i] === '|') {\n break;\n }\n }\n --i;\n }\n return key;\n}\n/**\n * To set updated values in the MaskedTextBox.\n *\n * @hidden\n */\nfunction setMaskValue(val) {\n if (this.mask && val !== undefined && (this.prevValue === undefined || this.prevValue !== val)) {\n this.maskKeyPress = true;\n setElementValue.call(this, this.promptMask);\n if (val !== '' && !(val === null && this.floatLabelType === 'Never' && this.placeholder)) {\n this.element.selectionStart = 0;\n this.element.selectionEnd = 0;\n }\n if (val !== null) {\n for (var i = 0; i < val.length; i++) {\n validateValue.call(this, val[i], false, null);\n }\n }\n var newVal = strippedValue.call(this, this.element);\n this.prevValue = newVal;\n this.value = newVal;\n triggerMaskChangeEvent.call(this, null, null);\n this.maskKeyPress = false;\n var labelElement = this.element.parentNode.querySelector('.e-float-text');\n if (this.element.value === this.promptMask && this.floatLabelType === 'Auto' && this.placeholder &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(labelElement) && labelElement.classList.contains(TOPLABEL) && !this.isFocus) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([labelElement], TOPLABEL);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([labelElement], BOTTOMLABEL);\n setElementValue.call(this, '');\n }\n }\n if (this.mask === null || this.mask === '' && this.value !== undefined) {\n setElementValue.call(this, this.value);\n }\n}\n/**\n * To set updated values in the input element.\n *\n * @hidden\n */\nfunction setElementValue(val, element) {\n if (!this.isFocus && this.floatLabelType === 'Auto' && this.placeholder && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n val = '';\n }\n var value = strippedValue.call(this, (element ? element : this.element), val);\n if (value === null || value === '') {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(val, (element ? element : this.element), this.floatLabelType, false);\n if (this.showClearButton) {\n this.inputObj.clearButton.classList.add('e-clear-icon-hide');\n }\n }\n else {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(val, (element ? element : this.element), this.floatLabelType, this.showClearButton);\n }\n}\n/**\n * Provide mask support to input textbox through utility method.\n *\n * @hidden\n */\nfunction maskInput(args) {\n var inputEle = getMaskInput(args);\n applyMask.call(inputEle);\n var val = strippedValue.call(this, this.element);\n this.prevValue = val;\n this.value = val;\n if (args.mask) {\n unwireEvents.call(inputEle);\n wireEvents.call(inputEle);\n }\n}\nfunction getMaskInput(args) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([args.element], UTILMASK);\n var inputEle = {\n element: args.element,\n mask: args.mask,\n promptMask: '',\n hiddenMask: '',\n escapeMaskValue: '',\n promptChar: args.promptChar ? (args.promptChar.length > 1) ? args.promptChar = args.promptChar[0]\n : args.promptChar : '_',\n value: args.value ? args.value : null,\n regExpCollec: regularExpressions,\n customRegExpCollec: [],\n customCharacters: args.customCharacters,\n undoCollec: [],\n redoCollec: [],\n maskKeyPress: false,\n prevValue: ''\n };\n createMask.call(inputEle);\n return inputEle;\n}\n/**\n * Gets raw value of the textbox which has been masked through utility method.\n *\n * @hidden\n */\nfunction getVal(args) {\n return strippedValue.call(getUtilMaskEle(args), args.element);\n}\n/**\n * Gets masked value of the textbox which has been masked through utility method.\n *\n * @hidden\n */\nfunction getMaskedVal(args) {\n return unstrippedValue.call(getUtilMaskEle(args), args.element);\n}\nfunction getUtilMaskEle(args) {\n var inputEle;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args) && args.element.classList.contains(UTILMASK)) {\n inputEle = getMaskInput(args);\n }\n return inputEle;\n}\n/**\n * Arguments to perform undo and redo functionalities.\n *\n * @hidden\n */\nvar MaskUndo = /** @class */ (function () {\n function MaskUndo() {\n }\n return MaskUndo;\n}());\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar maskUndo = new MaskUndo();\n/* eslint-enable valid-jsdoc, jsdoc/require-jsdoc, jsdoc/require-returns, jsdoc/require-param */\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/mask-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MaskedTextBox: () => (/* binding */ MaskedTextBox)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _input_input__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../input/input */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\n/* harmony import */ var _base_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base/index */ \"./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/mask-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar ROOT = 'e-control-wrapper e-mask';\nvar INPUT = 'e-input';\nvar COMPONENT = 'e-maskedtextbox';\nvar CONTROL = 'e-control';\nvar MASKINPUT_FOCUS = 'e-input-focus';\nvar wrapperAttr = ['title', 'style', 'class'];\n/**\n * The MaskedTextBox allows the user to enter the valid input only based on the provided mask.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar MaskedTextBox = /** @class */ (function (_super) {\n __extends(MaskedTextBox, _super);\n /**\n *\n * @param {MaskedTextBoxModel} options - Specifies the MaskedTextBox model.\n * @param {string | HTMLElement | HTMLInputElement} element - Specifies the element to render as component.\n * @private\n */\n function MaskedTextBox(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.initInputValue = '';\n _this.preventChange = false;\n _this.isClicked = false;\n _this.maskOptions = options;\n return _this;\n }\n /**\n * Gets the component name.\n *\n * @returns {string} Returns the component name.\n * @private\n */\n MaskedTextBox.prototype.getModuleName = function () {\n return 'maskedtextbox';\n };\n /**\n * Initializes the event handler\n *\n * @returns {void}\n * @private\n */\n MaskedTextBox.prototype.preRender = function () {\n this.promptMask = '';\n this.hiddenMask = '';\n this.escapeMaskValue = '';\n this.regExpCollec = _base_index__WEBPACK_IMPORTED_MODULE_1__.regularExpressions;\n this.customRegExpCollec = [];\n this.maskedRegExp = [];\n this.undoCollec = [];\n this.redoCollec = [];\n this.changeEventArgs = {};\n this.focusEventArgs = {};\n this.blurEventArgs = {};\n this.maskKeyPress = false;\n this.isFocus = false;\n this.isInitial = false;\n this.isIosInvalid = false;\n var ejInstance = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', this.element);\n this.cloneElement = this.element.cloneNode(true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.cloneElement], [CONTROL, COMPONENT, 'e-lib']);\n this.angularTagName = null;\n this.formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (this.element.tagName === 'EJS-MASKEDTEXTBOX') {\n this.angularTagName = this.element.tagName;\n var input = this.createElement('input');\n for (var i = 0; i < this.element.attributes.length; i++) {\n input.setAttribute(this.element.attributes[i].nodeName, this.element.attributes[i].nodeValue);\n input.innerHTML = this.element.innerHTML;\n }\n if (this.element.hasAttribute('id')) {\n this.element.removeAttribute('id');\n }\n if (this.element.hasAttribute('name')) {\n this.element.removeAttribute('name');\n }\n this.element.classList.remove('e-control', 'e-maskedtextbox');\n this.element.classList.add('e-mask-container');\n this.element.appendChild(input);\n this.element = input;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', ejInstance, this.element);\n }\n this.updateHTMLAttrToElement();\n this.checkHtmlAttributes(false);\n if (this.formElement) {\n this.initInputValue = this.value;\n }\n };\n /* eslint-disable valid-jsdoc, jsdoc/require-returns-description */\n /**\n * Gets the properties to be maintained in the persisted state.\n *\n * @returns {string}\n */\n MaskedTextBox.prototype.getPersistData = function () {\n var keyEntity = ['value'];\n return this.addOnPersist(keyEntity);\n };\n /**\n * Initializes the component rendering.\n *\n * @returns {void}\n * @private\n */\n MaskedTextBox.prototype.render = function () {\n if (this.element.tagName.toLowerCase() === 'input') {\n if (this.floatLabelType === 'Never') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], INPUT);\n }\n this.createWrapper();\n this.updateHTMLAttrToWrapper();\n if (this.element.name === '') {\n this.element.setAttribute('name', this.element.id);\n }\n this.isInitial = true;\n this.resetMaskedTextBox();\n this.isInitial = false;\n this.setMaskPlaceholder(true, false);\n this.setWidth(this.width);\n this.preEleVal = this.element.value;\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.version === '11.0' || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge')) {\n this.element.blur();\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos) {\n this.element.blur();\n }\n if (this.element.getAttribute('value') || this.value) {\n this.element.setAttribute('value', this.element.value);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n if (!this.element.hasAttribute('aria-labelledby') && !this.element.hasAttribute('placeholder') && !this.element.hasAttribute('aria-label')) {\n this.element.setAttribute('aria-label', 'maskedtextbox');\n }\n this.renderComplete();\n }\n };\n MaskedTextBox.prototype.updateHTMLAttrToElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (wrapperAttr.indexOf(key) < 0) {\n this.element.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n };\n MaskedTextBox.prototype.updateCssClass = function (newClass, oldClass) {\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.setCssClass(this.getValidClassList(newClass), [this.inputObj.container], this.getValidClassList(oldClass));\n };\n MaskedTextBox.prototype.getValidClassList = function (maskClassName) {\n var result = maskClassName;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(maskClassName) && maskClassName !== '') {\n result = (maskClassName.replace(/\\s+/g, ' ')).trim();\n }\n return result;\n };\n MaskedTextBox.prototype.updateHTMLAttrToWrapper = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (wrapperAttr.indexOf(key) > -1) {\n if (key === 'class') {\n var updatedClassValues = (this.htmlAttributes[\"\" + key].replace(/\\s+/g, ' ')).trim();\n if (updatedClassValues !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputObj.container], updatedClassValues.split(' '));\n }\n }\n else if (key === 'style') {\n var maskStyle = this.inputObj.container.getAttribute(key);\n maskStyle = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(maskStyle) ? (maskStyle + this.htmlAttributes[\"\" + key]) :\n this.htmlAttributes[\"\" + key];\n this.inputObj.container.setAttribute(key, maskStyle);\n }\n else {\n this.inputObj.container.setAttribute(key, this.htmlAttributes[\"\" + key]);\n }\n }\n }\n }\n };\n MaskedTextBox.prototype.resetMaskedTextBox = function () {\n this.promptMask = '';\n this.hiddenMask = '';\n this.escapeMaskValue = '';\n this.customRegExpCollec = [];\n this.undoCollec = [];\n this.redoCollec = [];\n if (this.promptChar && this.promptChar.length > 1) {\n this.promptChar = this.promptChar[0];\n }\n _base_index__WEBPACK_IMPORTED_MODULE_1__.createMask.call(this);\n _base_index__WEBPACK_IMPORTED_MODULE_1__.applyMask.call(this);\n if (this.mask === null || this.mask === '' && this.value !== undefined) {\n _base_index__WEBPACK_IMPORTED_MODULE_1__.setElementValue.call(this, this.value);\n }\n var val = _base_index__WEBPACK_IMPORTED_MODULE_1__.strippedValue.call(this, this.element);\n this.prevValue = val;\n this.value = val;\n if (!this.isInitial) {\n _base_index__WEBPACK_IMPORTED_MODULE_1__.unwireEvents.call(this);\n }\n _base_index__WEBPACK_IMPORTED_MODULE_1__.wireEvents.call(this);\n };\n MaskedTextBox.prototype.setMaskPlaceholder = function (setVal, dynamicPlaceholder) {\n if (dynamicPlaceholder || this.placeholder) {\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.setPlaceholder(this.placeholder, this.element);\n if ((this.element.value === this.promptMask && setVal && this.floatLabelType !== 'Always') ||\n this.element.value === this.promptMask && this.floatLabelType === 'Never') {\n _base_index__WEBPACK_IMPORTED_MODULE_1__.setElementValue.call(this, '');\n }\n }\n };\n MaskedTextBox.prototype.setWidth = function (width) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(width)) {\n if (typeof width === 'number') {\n this.inputObj.container.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n this.element.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n var elementWidth = (width.match(/px|%|em/)) ? (width) : ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width));\n this.inputObj.container.style.width = elementWidth;\n this.element.style.width = elementWidth;\n }\n }\n };\n MaskedTextBox.prototype.checkHtmlAttributes = function (isDynamic) {\n var attributes = isDynamic ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) ? [] : Object.keys(this.htmlAttributes)\n : ['placeholder', 'disabled', 'value', 'readonly'];\n for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {\n var key = attributes_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.getAttribute(key))) {\n switch (key) {\n case 'placeholder':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.maskOptions) || (this.maskOptions['placeholder'] === undefined)) || isDynamic) {\n this.setProperties({ placeholder: this.element.placeholder }, !isDynamic);\n }\n break;\n case 'disabled':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.maskOptions) || (this.maskOptions['enabled'] === undefined)) || isDynamic) {\n var isEnabled = this.element.getAttribute(key) === 'disabled' || this.element.getAttribute(key) === '' ||\n this.element.getAttribute(key) === 'true' ? false : true;\n this.setProperties({ enabled: isEnabled }, !isDynamic);\n }\n break;\n case 'value':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.maskOptions) || (this.maskOptions['value'] === undefined)) || isDynamic) {\n this.setProperties({ value: this.element.value }, !isDynamic);\n }\n break;\n case 'readonly':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.maskOptions) || (this.maskOptions['readonly'] === undefined)) || isDynamic) {\n var isReadonly = this.element.getAttribute(key) === 'readonly' || this.element.getAttribute(key) === ''\n || this.element.getAttribute(key) === 'true' ? true : false;\n this.setProperties({ readonly: isReadonly }, !isDynamic);\n }\n break;\n }\n }\n }\n };\n MaskedTextBox.prototype.createWrapper = function () {\n var updatedCssClassValues = this.cssClass;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n updatedCssClassValues = this.getValidClassList(this.cssClass);\n }\n this.inputObj = _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.createInput({\n element: this.element,\n floatLabelType: this.floatLabelType,\n properties: {\n enableRtl: this.enableRtl,\n cssClass: updatedCssClassValues,\n enabled: this.enabled,\n readonly: this.readonly,\n placeholder: this.placeholder,\n showClearButton: this.showClearButton\n }\n }, this.createElement);\n this.inputObj.container.setAttribute('class', ROOT + ' ' + this.inputObj.container.getAttribute('class'));\n };\n /**\n * Calls internally if any of the property value is changed.\n *\n * @param {MaskedTextBoxModel} newProp - Returns the dynamic property value of the component.\n * @param {MaskedTextBoxModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @hidden\n */\n MaskedTextBox.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'value':\n _base_index__WEBPACK_IMPORTED_MODULE_1__.setMaskValue.call(this, this.value);\n if (this.placeholder && !this.isFocus) {\n this.setMaskPlaceholder(false, false);\n }\n if (this.value === '' && oldProp.value != null) {\n this.element.selectionStart = 0;\n this.element.selectionEnd = 0;\n }\n break;\n case 'placeholder':\n this.setMaskPlaceholder(true, true);\n break;\n case 'width':\n this.setWidth(newProp.width);\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.calculateWidth(this.element, this.inputObj.container);\n break;\n case 'cssClass':\n this.updateCssClass(newProp.cssClass, oldProp.cssClass);\n break;\n case 'enabled':\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.setEnabled(newProp.enabled, this.element, this.floatLabelType, this.inputObj.container);\n break;\n case 'readonly':\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.setReadonly(newProp.readonly, this.element);\n break;\n case 'enableRtl':\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.setEnableRtl(newProp.enableRtl, [this.inputObj.container]);\n break;\n case 'customCharacters':\n this.customCharacters = newProp.customCharacters;\n this.resetMaskedTextBox();\n break;\n case 'showClearButton':\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.setClearButton(newProp.showClearButton, this.element, this.inputObj, undefined, this.createElement);\n _base_index__WEBPACK_IMPORTED_MODULE_1__.bindClearEvent.call(this);\n break;\n case 'floatLabelType':\n this.floatLabelType = newProp.floatLabelType;\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.removeFloating(this.inputObj);\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.addFloating(this.element, this.floatLabelType, this.placeholder, this.createElement);\n break;\n case 'htmlAttributes':\n this.updateHTMLAttrToElement();\n this.updateHTMLAttrToWrapper();\n this.checkHtmlAttributes(true);\n break;\n case 'mask':\n {\n var strippedValue_1 = this.value;\n this.mask = newProp.mask;\n this.maskedRegExp = [];\n this.updateValue(strippedValue_1);\n }\n break;\n case 'promptChar': {\n if (newProp.promptChar.length > 1) {\n newProp.promptChar = newProp.promptChar[0];\n }\n if (newProp.promptChar) {\n this.promptChar = newProp.promptChar;\n }\n else {\n this.promptChar = '_';\n }\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n var value = this.element.value.replace(new RegExp('[' + oldProp.promptChar + ']', 'g'), this.promptChar);\n if (this.promptMask === this.element.value) {\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n value = this.promptMask.replace(new RegExp('[' + oldProp.promptChar + ']', 'g'), this.promptChar);\n }\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n this.promptMask = this.promptMask.replace(new RegExp('[' + oldProp.promptChar + ']', 'g'), this.promptChar);\n this.undoCollec = this.redoCollec = [];\n _base_index__WEBPACK_IMPORTED_MODULE_1__.setElementValue.call(this, value);\n break;\n }\n }\n }\n this.preventChange = this.isAngular && this.preventChange ? !this.preventChange : this.preventChange;\n };\n MaskedTextBox.prototype.updateValue = function (strippedVal) {\n this.resetMaskedTextBox();\n _base_index__WEBPACK_IMPORTED_MODULE_1__.setMaskValue.call(this, strippedVal);\n };\n /**\n * Gets the value of the MaskedTextBox with the masked format.\n * By using `value` property, you can get the raw value of maskedtextbox without literals and prompt characters.\n *\n * @returns {string} Returns the value with the masked format.\n */\n MaskedTextBox.prototype.getMaskedValue = function () {\n return _base_index__WEBPACK_IMPORTED_MODULE_1__.unstrippedValue.call(this, this.element);\n };\n /**\n * Sets the focus to widget for interaction.\n *\n * @returns {void}\n */\n MaskedTextBox.prototype.focusIn = function () {\n if (document.activeElement !== this.element && this.enabled) {\n this.isFocus = true;\n this.element.focus();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.inputObj.container], [MASKINPUT_FOCUS]);\n }\n };\n /**\n * Remove the focus from widget, if the widget is in focus state.\n *\n * @returns {void}\n */\n MaskedTextBox.prototype.focusOut = function () {\n if (document.activeElement === this.element && this.enabled) {\n this.isFocus = false;\n this.element.blur();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.inputObj.container], [MASKINPUT_FOCUS]);\n }\n };\n /**\n * Removes the component from the DOM and detaches all its related event handlers.\n * Also it maintains the initial input element from the DOM.\n *\n * @method destroy\n * @returns {void}\n */\n MaskedTextBox.prototype.destroy = function () {\n _base_index__WEBPACK_IMPORTED_MODULE_1__.unwireEvents.call(this);\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n var attrArray = ['aria-labelledby', 'role', 'autocomplete', 'aria-readonly',\n 'aria-disabled', 'autocapitalize', 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-invalid'];\n for (var i = 0; i < attrArray.length; i++) {\n this.element.removeAttribute(attrArray[i]);\n }\n this.element.classList.remove('e-input');\n if (this.inputObj) {\n this.inputObj.container.insertAdjacentElement('afterend', this.element);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.inputObj.container);\n }\n this.blurEventArgs = null;\n _input_input__WEBPACK_IMPORTED_MODULE_2__.Input.destroy({\n element: this.element,\n floatLabelType: this.floatLabelType,\n properties: this.properties\n }, this.clearButton);\n this.changeEventArgs = null;\n this.inputObj = null;\n _super.prototype.destroy.call(this);\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MaskedTextBox.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MaskedTextBox.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MaskedTextBox.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], MaskedTextBox.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], MaskedTextBox.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MaskedTextBox.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MaskedTextBox.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MaskedTextBox.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MaskedTextBox.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MaskedTextBox.prototype, \"mask\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('_')\n ], MaskedTextBox.prototype, \"promptChar\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MaskedTextBox.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MaskedTextBox.prototype, \"customCharacters\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MaskedTextBox.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MaskedTextBox.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MaskedTextBox.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MaskedTextBox.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MaskedTextBox.prototype, \"blur\", void 0);\n MaskedTextBox = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], MaskedTextBox);\n return MaskedTextBox;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NumericTextBox: () => (/* binding */ NumericTextBox)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _input_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../input/input */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar ROOT = 'e-control-wrapper e-numeric';\nvar SPINICON = 'e-input-group-icon';\nvar SPINUP = 'e-spin-up';\nvar SPINDOWN = 'e-spin-down';\nvar ERROR = 'e-error';\nvar INCREMENT = 'increment';\nvar DECREMENT = 'decrement';\nvar INTREGEXP = new RegExp('^(-)?(\\\\d*)$');\nvar DECIMALSEPARATOR = '.';\nvar COMPONENT = 'e-numerictextbox';\nvar CONTROL = 'e-control';\nvar NUMERIC_FOCUS = 'e-input-focus';\nvar HIDDENELEMENT = 'e-numeric-hidden';\nvar wrapperAttributes = ['title', 'style', 'class'];\nvar selectionTimeOut = 0;\n/**\n * Represents the NumericTextBox component that allows the user to enter only numeric values.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar NumericTextBox = /** @class */ (function (_super) {\n __extends(NumericTextBox, _super);\n /**\n *\n * @param {NumericTextBoxModel} options - Specifies the NumericTextBox model.\n * @param {string | HTMLInputElement} element - Specifies the element to render as component.\n * @private\n */\n function NumericTextBox(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.preventChange = false;\n _this.isDynamicChange = false;\n _this.numericOptions = options;\n return _this;\n }\n NumericTextBox.prototype.preRender = function () {\n this.isPrevFocused = false;\n this.decimalSeparator = '.';\n // eslint-disable-next-line no-useless-escape\n this.intRegExp = new RegExp('/^(-)?(\\d*)$/');\n this.isCalled = false;\n var ejInstance = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', this.element);\n this.cloneElement = this.element.cloneNode(true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.cloneElement], [CONTROL, COMPONENT, 'e-lib']);\n this.angularTagName = null;\n this.formEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (this.element.tagName === 'EJS-NUMERICTEXTBOX') {\n this.angularTagName = this.element.tagName;\n var input = this.createElement('input');\n var index = 0;\n for (index; index < this.element.attributes.length; index++) {\n var attributeName = this.element.attributes[index].nodeName;\n if (attributeName !== 'id' && attributeName !== 'class') {\n input.setAttribute(this.element.attributes[index].nodeName, this.element.attributes[index].nodeValue);\n input.innerHTML = this.element.innerHTML;\n }\n else if (attributeName === 'class') {\n input.setAttribute(attributeName, this.element.className.split(' ').filter(function (item) { return item.indexOf('ng-') !== 0; }).join(' '));\n }\n }\n if (this.element.hasAttribute('name')) {\n this.element.removeAttribute('name');\n }\n this.element.classList.remove('e-control', 'e-numerictextbox');\n this.element.appendChild(input);\n this.element = input;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', ejInstance, this.element);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'role': 'spinbutton', 'tabindex': '0', 'autocomplete': 'off' });\n var localeText = {\n incrementTitle: 'Increment value', decrementTitle: 'Decrement value', placeholder: this.placeholder\n };\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('numerictextbox', localeText, this.locale);\n if (this.l10n.getConstant('placeholder') !== '') {\n this.setProperties({ placeholder: this.placeholder || this.l10n.getConstant('placeholder') }, true);\n }\n if (!this.element.hasAttribute('id')) {\n this.element.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('numerictextbox'));\n }\n this.isValidState = true;\n this.inputStyle = null;\n this.inputName = null;\n this.cultureInfo = {};\n this.initCultureInfo();\n this.initCultureFunc();\n this.prevValue = this.value;\n this.updateHTMLAttrToElement();\n this.checkAttributes(false);\n if (this.formEle) {\n this.inputEleValue = this.value;\n }\n this.validateMinMax();\n this.validateStep();\n if (this.placeholder === null) {\n this.updatePlaceholder();\n }\n };\n /**\n * To Initialize the control rendering\n *\n * @returns {void}\n * @private\n */\n NumericTextBox.prototype.render = function () {\n if (this.element.tagName.toLowerCase() === 'input') {\n this.createWrapper();\n if (this.showSpinButton) {\n this.spinBtnCreation();\n }\n this.setElementWidth(this.width);\n if (!this.container.classList.contains('e-input-group')) {\n this.container.classList.add('e-input-group');\n }\n this.changeValue(this.value === null || isNaN(this.value) ?\n null : this.strictMode ? this.trimValue(this.value) : this.value);\n this.wireEvents();\n if (this.value !== null && !isNaN(this.value)) {\n if (this.decimals) {\n this.setProperties({ value: this.roundNumber(this.value, this.decimals) }, true);\n }\n }\n if (this.element.getAttribute('value') || this.value) {\n this.element.setAttribute('value', this.element.value);\n this.hiddenInput.setAttribute('value', this.hiddenInput.value);\n }\n this.elementPrevValue = this.element.value;\n if (this.element.hasAttribute('data-val')) {\n this.element.setAttribute('data-val', 'false');\n }\n if (!this.element.hasAttribute('aria-labelledby') && !this.element.hasAttribute('placeholder') && !this.element.hasAttribute('aria-label')) {\n this.element.setAttribute('aria-label', 'numerictextbox');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n this.renderComplete();\n }\n };\n NumericTextBox.prototype.checkAttributes = function (isDynamic) {\n var attributes = isDynamic ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) ? [] : Object.keys(this.htmlAttributes) :\n ['value', 'min', 'max', 'step', 'disabled', 'readonly', 'style', 'name', 'placeholder'];\n for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {\n var prop = attributes_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.getAttribute(prop))) {\n switch (prop) {\n case 'disabled':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['enabled'] === undefined)) || isDynamic) {\n var enabled = this.element.getAttribute(prop) === 'disabled' || this.element.getAttribute(prop) === ''\n || this.element.getAttribute(prop) === 'true' ? false : true;\n this.setProperties({ enabled: enabled }, !isDynamic);\n }\n break;\n case 'readonly':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['readonly'] === undefined)) || isDynamic) {\n var readonly = this.element.getAttribute(prop) === 'readonly' || this.element.getAttribute(prop) === ''\n || this.element.getAttribute(prop) === 'true' ? true : false;\n this.setProperties({ readonly: readonly }, !isDynamic);\n }\n break;\n case 'placeholder':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['placeholder'] === undefined)) || isDynamic) {\n this.setProperties({ placeholder: this.element.placeholder }, !isDynamic);\n }\n break;\n case 'value':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['value'] === undefined)) || isDynamic) {\n var setNumber = this.instance.getNumberParser({ format: 'n' })(this.element.getAttribute(prop));\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, setNumber, {}), !isDynamic);\n }\n break;\n case 'min':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['min'] === undefined)) || isDynamic) {\n var minValue = this.instance.getNumberParser({ format: 'n' })(this.element.getAttribute(prop));\n if (minValue !== null && !isNaN(minValue)) {\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, minValue, {}), !isDynamic);\n }\n }\n break;\n case 'max':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['max'] === undefined)) || isDynamic) {\n var maxValue = this.instance.getNumberParser({ format: 'n' })(this.element.getAttribute(prop));\n if (maxValue !== null && !isNaN(maxValue)) {\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, maxValue, {}), !isDynamic);\n }\n }\n break;\n case 'step':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.numericOptions) || (this.numericOptions['step'] === undefined)) || isDynamic) {\n var stepValue = this.instance.getNumberParser({ format: 'n' })(this.element.getAttribute(prop));\n if (stepValue !== null && !isNaN(stepValue)) {\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, stepValue, {}), !isDynamic);\n }\n }\n break;\n case 'style':\n this.inputStyle = this.element.getAttribute(prop);\n break;\n case 'name':\n this.inputName = this.element.getAttribute(prop);\n break;\n default:\n {\n var value = this.instance.getNumberParser({ format: 'n' })(this.element.getAttribute(prop));\n if ((value !== null && !isNaN(value)) || (prop === 'value')) {\n this.setProperties((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, value, {}), true);\n }\n }\n break;\n }\n }\n }\n };\n NumericTextBox.prototype.updatePlaceholder = function () {\n this.setProperties({ placeholder: this.l10n.getConstant('placeholder') }, true);\n };\n NumericTextBox.prototype.initCultureFunc = function () {\n this.instance = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n };\n NumericTextBox.prototype.initCultureInfo = function () {\n this.cultureInfo.format = this.format;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('currency', this) !== null) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('currency', this.currency, this.cultureInfo);\n this.setProperties({ currencyCode: this.currency }, true);\n }\n };\n /* Wrapper creation */\n NumericTextBox.prototype.createWrapper = function () {\n var updatedCssClassValue = this.cssClass;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n updatedCssClassValue = this.getNumericValidClassList(this.cssClass);\n }\n var inputObj = _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.createInput({\n element: this.element,\n floatLabelType: this.floatLabelType,\n properties: {\n readonly: this.readonly,\n placeholder: this.placeholder,\n cssClass: updatedCssClassValue,\n enableRtl: this.enableRtl,\n showClearButton: this.showClearButton,\n enabled: this.enabled\n }\n }, this.createElement);\n this.inputWrapper = inputObj;\n this.container = inputObj.container;\n this.container.setAttribute('class', ROOT + ' ' + this.container.getAttribute('class'));\n this.updateHTMLAttrToWrapper();\n if (this.readonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-readonly': 'true' });\n }\n this.hiddenInput = (this.createElement('input', { attrs: { type: 'text',\n 'validateHidden': 'true', 'aria-label': 'hidden', 'class': HIDDENELEMENT } }));\n this.inputName = this.inputName !== null ? this.inputName : this.element.id;\n this.element.removeAttribute('name');\n if (this.isAngular && this.angularTagName === 'EJS-NUMERICTEXTBOX' && this.cloneElement.id.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.hiddenInput, { 'name': this.cloneElement.id });\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.hiddenInput, { 'name': this.inputName });\n }\n this.container.insertBefore(this.hiddenInput, this.container.childNodes[1]);\n this.updateDataAttribute(false);\n if (this.inputStyle !== null) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.container, { 'style': this.inputStyle });\n }\n };\n NumericTextBox.prototype.updateDataAttribute = function (isDynamic) {\n var attr = {};\n if (!isDynamic) {\n for (var a = 0; a < this.element.attributes.length; a++) {\n attr[this.element.attributes[a].name] = this.element.getAttribute(this.element.attributes[a].name);\n }\n }\n else {\n attr = this.htmlAttributes;\n }\n for (var _i = 0, _a = Object.keys(attr); _i < _a.length; _i++) {\n var key = _a[_i];\n if (key.indexOf('data') === 0) {\n this.hiddenInput.setAttribute(key, attr[\"\" + key]);\n }\n }\n };\n NumericTextBox.prototype.updateHTMLAttrToElement = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var pro = _a[_i];\n if (wrapperAttributes.indexOf(pro) < 0) {\n this.element.setAttribute(pro, this.htmlAttributes[\"\" + pro]);\n }\n }\n }\n };\n NumericTextBox.prototype.updateCssClass = function (newClass, oldClass) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setCssClass(this.getNumericValidClassList(newClass), [this.container], this.getNumericValidClassList(oldClass));\n };\n NumericTextBox.prototype.getNumericValidClassList = function (numericClassName) {\n var result = numericClassName;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(numericClassName) && numericClassName !== '') {\n result = (numericClassName.replace(/\\s+/g, ' ')).trim();\n }\n return result;\n };\n NumericTextBox.prototype.updateHTMLAttrToWrapper = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes)) {\n for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {\n var pro = _a[_i];\n if (wrapperAttributes.indexOf(pro) > -1) {\n if (pro === 'class') {\n var updatedClassValue = this.getNumericValidClassList(this.htmlAttributes[\"\" + pro]);\n if (updatedClassValue !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.container], updatedClassValue.split(' '));\n }\n }\n else if (pro === 'style') {\n var numericStyle = this.container.getAttribute(pro);\n numericStyle = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(numericStyle) ? (numericStyle + this.htmlAttributes[\"\" + pro]) :\n this.htmlAttributes[\"\" + pro];\n this.container.setAttribute(pro, numericStyle);\n }\n else {\n this.container.setAttribute(pro, this.htmlAttributes[\"\" + pro]);\n }\n }\n }\n }\n };\n NumericTextBox.prototype.setElementWidth = function (width) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(width)) {\n if (typeof width === 'number') {\n this.container.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width);\n }\n else if (typeof width === 'string') {\n this.container.style.width = (width.match(/px|%|em/)) ? (width) : ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(width));\n }\n }\n };\n /* Spinner creation */\n NumericTextBox.prototype.spinBtnCreation = function () {\n this.spinDown = _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.appendSpan(SPINICON + ' ' + SPINDOWN, this.container, this.createElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.spinDown, {\n 'title': this.l10n.getConstant('decrementTitle')\n });\n this.spinUp = _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.appendSpan(SPINICON + ' ' + SPINUP, this.container, this.createElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.spinUp, {\n 'title': this.l10n.getConstant('incrementTitle')\n });\n this.wireSpinBtnEvents();\n };\n NumericTextBox.prototype.validateMinMax = function () {\n if (!(typeof (this.min) === 'number' && !isNaN(this.min))) {\n this.setProperties({ min: -(Number.MAX_VALUE) }, true);\n }\n if (!(typeof (this.max) === 'number' && !isNaN(this.max))) {\n this.setProperties({ max: Number.MAX_VALUE }, true);\n }\n if (this.decimals !== null) {\n if (this.min !== -(Number.MAX_VALUE)) {\n this.setProperties({ min: this.instance.getNumberParser({ format: 'n' })(this.formattedValue(this.decimals, this.min)) }, true);\n }\n if (this.max !== (Number.MAX_VALUE)) {\n this.setProperties({ max: this.instance.getNumberParser({ format: 'n' })(this.formattedValue(this.decimals, this.max)) }, true);\n }\n }\n this.setProperties({ min: this.min > this.max ? this.max : this.min }, true);\n if (this.min !== -(Number.MAX_VALUE)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-valuemin': this.min.toString() });\n }\n if (this.max !== (Number.MAX_VALUE)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-valuemax': this.max.toString() });\n }\n };\n NumericTextBox.prototype.formattedValue = function (decimals, value) {\n return this.instance.getNumberFormat({\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals, useGrouping: false\n })(value);\n };\n NumericTextBox.prototype.validateStep = function () {\n if (this.decimals !== null) {\n this.setProperties({ step: this.instance.getNumberParser({ format: 'n' })(this.formattedValue(this.decimals, this.step)) }, true);\n }\n };\n NumericTextBox.prototype.action = function (operation, event) {\n this.isInteract = true;\n var value = this.isFocused ? this.instance.getNumberParser({ format: 'n' })(this.element.value) : this.value;\n this.changeValue(this.performAction(value, this.step, operation));\n this.raiseChangeEvent(event);\n };\n NumericTextBox.prototype.checkErrorClass = function () {\n if (this.isValidState) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.container], ERROR);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.container], ERROR);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-invalid': this.isValidState ? 'false' : 'true' });\n };\n NumericTextBox.prototype.bindClearEvent = function () {\n if (this.showClearButton) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.inputWrapper.clearButton, 'mousedown touchstart', this.resetHandler, this);\n }\n };\n NumericTextBox.prototype.resetHandler = function (e) {\n e.preventDefault();\n if (!(this.inputWrapper.clearButton.classList.contains('e-clear-icon-hide')) || this.inputWrapper.container.classList.contains('e-static-clear')) {\n this.clear(e);\n }\n this.isInteract = true;\n this.raiseChangeEvent(e);\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n NumericTextBox.prototype.clear = function (event) {\n this.setProperties({ value: null }, true);\n this.setElementValue('');\n this.hiddenInput.value = '';\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (formElement) {\n var element = this.element.nextElementSibling;\n var keyupEvent = document.createEvent('KeyboardEvent');\n keyupEvent.initEvent('keyup', false, true);\n element.dispatchEvent(keyupEvent);\n }\n };\n NumericTextBox.prototype.resetFormHandler = function () {\n if (this.element.tagName === 'EJS-NUMERICTEXTBOX') {\n this.updateValue(null);\n }\n else {\n this.updateValue(this.inputEleValue);\n }\n };\n NumericTextBox.prototype.setSpinButton = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinDown)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.spinDown, {\n 'title': this.l10n.getConstant('decrementTitle'),\n 'aria-label': this.l10n.getConstant('decrementTitle')\n });\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.spinUp)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.spinUp, {\n 'title': this.l10n.getConstant('incrementTitle'),\n 'aria-label': this.l10n.getConstant('incrementTitle')\n });\n }\n };\n NumericTextBox.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focus', this.focusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'blur', this.focusOutHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keydown', this.keyDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keyup', this.keyUpHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'input', this.inputHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keypress', this.keyPressHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'change', this.changeHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'paste', this.pasteHandler, this);\n if (this.enabled) {\n this.bindClearEvent();\n if (this.formEle) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formEle, 'reset', this.resetFormHandler, this);\n }\n }\n };\n NumericTextBox.prototype.wireSpinBtnEvents = function () {\n /* bind spin button events */\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.spinUp, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.mouseDownOnSpinner, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.spinDown, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.mouseDownOnSpinner, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.spinUp, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.mouseUpOnSpinner, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.spinDown, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.mouseUpOnSpinner, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.spinUp, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.touchMoveOnSpinner, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.spinDown, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.touchMoveOnSpinner, this);\n };\n NumericTextBox.prototype.unwireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focus', this.focusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'blur', this.focusOutHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keyup', this.keyUpHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'input', this.inputHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keydown', this.keyDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keypress', this.keyPressHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'change', this.changeHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'paste', this.pasteHandler);\n if (this.formEle) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formEle, 'reset', this.resetFormHandler);\n }\n };\n NumericTextBox.prototype.unwireSpinBtnEvents = function () {\n /* unbind spin button events */\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinUp, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.mouseDownOnSpinner);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinDown, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.mouseDownOnSpinner);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinUp, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.mouseUpOnSpinner);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinDown, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.mouseUpOnSpinner);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinUp, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.touchMoveOnSpinner);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinDown, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchMoveEvent, this.touchMoveOnSpinner);\n };\n NumericTextBox.prototype.changeHandler = function (event) {\n event.stopPropagation();\n if (!this.element.value.length) {\n this.setProperties({ value: null }, true);\n }\n var parsedInput = this.instance.getNumberParser({ format: 'n' })(this.element.value);\n this.updateValue(parsedInput, event);\n };\n NumericTextBox.prototype.raiseChangeEvent = function (event) {\n this.inputValue = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.inputValue) || isNaN(this.inputValue)) ? null : this.inputValue;\n if (this.prevValue !== this.value || this.prevValue !== this.inputValue) {\n var eventArgs = {};\n this.changeEventArgs = { value: this.value, previousValue: this.prevValue, isInteracted: this.isInteract,\n isInteraction: this.isInteract, event: event };\n if (event) {\n this.changeEventArgs.event = event;\n }\n if (this.changeEventArgs.event === undefined) {\n this.changeEventArgs.isInteracted = false;\n this.changeEventArgs.isInteraction = false;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(eventArgs, this.changeEventArgs);\n this.prevValue = this.value;\n this.isInteract = false;\n this.elementPrevValue = this.element.value;\n this.preventChange = false;\n this.trigger('change', eventArgs);\n }\n };\n NumericTextBox.prototype.pasteHandler = function () {\n var _this = this;\n if (!this.enabled || this.readonly) {\n return;\n }\n var beforeUpdate = this.element.value;\n setTimeout(function () {\n if (!_this.numericRegex().test(_this.element.value)) {\n _this.setElementValue(beforeUpdate);\n }\n });\n };\n NumericTextBox.prototype.preventHandler = function () {\n var _this = this;\n var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\n setTimeout(function () {\n if (_this.element.selectionStart > 0) {\n var currentPos = _this.element.selectionStart;\n var prevPos = _this.element.selectionStart - 1;\n var start = 0;\n var valArray = _this.element.value.split('');\n var numericObject = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getNumericObject)(_this.locale);\n var decimalSeparator = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('decimal', numericObject);\n var ignoreKeyCode = decimalSeparator.charCodeAt(0);\n if (_this.element.value[prevPos] === ' ' && _this.element.selectionStart > 0 && !iOS) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.prevVal)) {\n _this.element.value = _this.element.value.trim();\n }\n else if (prevPos !== 0) {\n _this.element.value = _this.prevVal;\n }\n else if (prevPos === 0) {\n _this.element.value = _this.element.value.trim();\n }\n _this.element.setSelectionRange(prevPos, prevPos);\n }\n else if (isNaN(parseFloat(_this.element.value[_this.element.selectionStart - 1])) &&\n _this.element.value[_this.element.selectionStart - 1].charCodeAt(0) !== 45) {\n if ((valArray.indexOf(_this.element.value[_this.element.selectionStart - 1]) !==\n valArray.lastIndexOf(_this.element.value[_this.element.selectionStart - 1]) &&\n _this.element.value[_this.element.selectionStart - 1].charCodeAt(0) === ignoreKeyCode) ||\n _this.element.value[_this.element.selectionStart - 1].charCodeAt(0) !== ignoreKeyCode) {\n _this.element.value = _this.element.value.substring(0, prevPos) +\n _this.element.value.substring(currentPos, _this.element.value.length);\n _this.element.setSelectionRange(prevPos, prevPos);\n if (isNaN(parseFloat(_this.element.value[_this.element.selectionStart - 1])) && _this.element.selectionStart > 0\n && _this.element.value.length) {\n _this.preventHandler();\n }\n }\n }\n else if (isNaN(parseFloat(_this.element.value[_this.element.selectionStart - 2])) && _this.element.selectionStart > 1 &&\n _this.element.value[_this.element.selectionStart - 2].charCodeAt(0) !== 45) {\n if ((valArray.indexOf(_this.element.value[_this.element.selectionStart - 2]) !==\n valArray.lastIndexOf(_this.element.value[_this.element.selectionStart - 2]) &&\n _this.element.value[_this.element.selectionStart - 2].charCodeAt(0) === ignoreKeyCode) ||\n _this.element.value[_this.element.selectionStart - 2].charCodeAt(0) !== ignoreKeyCode) {\n _this.element.setSelectionRange(prevPos, prevPos);\n _this.nextEle = _this.element.value[_this.element.selectionStart];\n _this.cursorPosChanged = true;\n _this.preventHandler();\n }\n }\n if (_this.cursorPosChanged === true && _this.element.value[_this.element.selectionStart] === _this.nextEle &&\n isNaN(parseFloat(_this.element.value[_this.element.selectionStart - 1]))) {\n _this.element.setSelectionRange(_this.element.selectionStart + 1, _this.element.selectionStart + 1);\n _this.cursorPosChanged = false;\n _this.nextEle = null;\n }\n if (_this.element.value.trim() === '') {\n _this.element.setSelectionRange(start, start);\n }\n if (_this.element.selectionStart > 0) {\n if ((_this.element.value[_this.element.selectionStart - 1].charCodeAt(0) === 45) && _this.element.selectionStart > 1) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.prevVal)) {\n _this.element.value = _this.prevVal;\n }\n _this.element.setSelectionRange(_this.element.selectionStart, _this.element.selectionStart);\n }\n if (_this.element.value[_this.element.selectionStart - 1] === decimalSeparator &&\n _this.decimals === 0 &&\n _this.validateDecimalOnType) {\n _this.element.value = _this.element.value.substring(0, prevPos) +\n _this.element.value.substring(currentPos, _this.element.value.length);\n }\n }\n _this.prevVal = _this.element.value;\n }\n });\n };\n NumericTextBox.prototype.keyUpHandler = function () {\n if (!this.enabled || this.readonly) {\n return;\n }\n var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\n if (!iOS && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.preventHandler();\n }\n var parseValue = this.instance.getNumberParser({ format: 'n' })(this.element.value);\n parseValue = parseValue === null || isNaN(parseValue) ? null : parseValue;\n this.hiddenInput.value = parseValue || parseValue === 0 ? parseValue.toString() : null;\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (formElement) {\n var element = this.element.nextElementSibling;\n var keyupEvent = document.createEvent('KeyboardEvent');\n keyupEvent.initEvent('keyup', false, true);\n element.dispatchEvent(keyupEvent);\n }\n };\n NumericTextBox.prototype.inputHandler = function (event) {\n var numerictextboxObj = false || this;\n if (!this.enabled || this.readonly) {\n return;\n }\n var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\n var fireFox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n if ((fireFox || iOS) && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.preventHandler();\n }\n /* istanbul ignore next */\n if (this.isAngular\n && this.element.value !== (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('decimal', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getNumericObject)(this.locale))\n && this.element.value !== (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('minusSign', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getNumericObject)(this.locale))) {\n var parsedValue = this.instance.getNumberParser({ format: 'n' })(this.element.value);\n parsedValue = isNaN(parsedValue) ? null : parsedValue;\n numerictextboxObj.localChange({ value: parsedValue });\n this.preventChange = true;\n }\n if (this.isVue) {\n var current = this.instance.getNumberParser({ format: 'n' })(this.element.value);\n var previous = this.instance.getNumberParser({ format: 'n' })(this.elementPrevValue);\n //EJ2-54963-if type \".\" or \".0\" or \"-.0\" it converts to \"0\" automatically when binding v-model\n var nonZeroRegex = new RegExp('[^0-9]+$');\n if (nonZeroRegex.test(this.element.value) ||\n ((this.elementPrevValue.indexOf('.') !== -1 || this.elementPrevValue.indexOf('-') !== -1) &&\n this.element.value[this.element.value.length - 1] === '0')) {\n current = this.value;\n }\n var eventArgs = {\n event: event,\n value: (current === null || isNaN(current) ? null : current),\n previousValue: (previous === null || isNaN(previous) ? null : previous)\n };\n this.preventChange = true;\n this.elementPrevValue = this.element.value;\n this.trigger('input', eventArgs);\n }\n };\n NumericTextBox.prototype.keyDownHandler = function (event) {\n if (!this.readonly) {\n switch (event.keyCode) {\n case 38:\n event.preventDefault();\n this.action(INCREMENT, event);\n break;\n case 40:\n event.preventDefault();\n this.action(DECREMENT, event);\n break;\n default: break;\n }\n }\n };\n NumericTextBox.prototype.performAction = function (value, step, operation) {\n if (value === null || isNaN(value)) {\n value = 0;\n }\n var updatedValue = operation === INCREMENT ? value + step : value - step;\n updatedValue = this.correctRounding(value, step, updatedValue);\n return this.strictMode ? this.trimValue(updatedValue) : updatedValue;\n };\n NumericTextBox.prototype.correctRounding = function (value, step, result) {\n var floatExp = new RegExp('[,.](.*)');\n var floatValue = floatExp.test(value.toString());\n var floatStep = floatExp.test(step.toString());\n if (floatValue || floatStep) {\n var valueCount = floatValue ? floatExp.exec(value.toString())[0].length : 0;\n var stepCount = floatStep ? floatExp.exec(step.toString())[0].length : 0;\n var max = Math.max(valueCount, stepCount);\n return value = this.roundValue(result, max);\n }\n return result;\n };\n NumericTextBox.prototype.roundValue = function (result, precision) {\n precision = precision || 0;\n var divide = Math.pow(10, precision);\n return result *= divide, result = Math.round(result) / divide;\n };\n NumericTextBox.prototype.updateValue = function (value, event) {\n if (event) {\n this.isInteract = true;\n }\n if (value !== null && !isNaN(value)) {\n if (this.decimals) {\n value = this.roundNumber(value, this.decimals);\n }\n }\n this.inputValue = value;\n this.changeValue(value === null || isNaN(value) ? null : this.strictMode ? this.trimValue(value) : value);\n /* istanbul ignore next */\n if (!this.isDynamicChange) {\n this.raiseChangeEvent(event);\n }\n };\n NumericTextBox.prototype.updateCurrency = function (prop, propVal) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, propVal, this.cultureInfo);\n this.updateValue(this.value);\n };\n NumericTextBox.prototype.changeValue = function (value) {\n if (!(value || value === 0)) {\n value = null;\n this.setProperties({ value: value }, true);\n }\n else {\n var numberOfDecimals = this.getNumberOfDecimals(value);\n this.setProperties({ value: this.roundNumber(value, numberOfDecimals) }, true);\n }\n this.modifyText();\n if (!this.strictMode) {\n this.validateState();\n }\n };\n NumericTextBox.prototype.modifyText = function () {\n if (this.value || this.value === 0) {\n var value = this.formatNumber();\n var elementValue = this.isFocused ? value : this.instance.getNumberFormat(this.cultureInfo)(this.value);\n this.setElementValue(elementValue);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-valuenow': value });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.hiddenInput)) {\n this.hiddenInput.value = this.value.toString();\n if (this.value !== null && this.serverDecimalSeparator) {\n this.hiddenInput.value = this.hiddenInput.value.replace('.', this.serverDecimalSeparator);\n }\n }\n }\n else {\n this.setElementValue('');\n this.element.removeAttribute('aria-valuenow');\n this.hiddenInput.value = null;\n }\n };\n NumericTextBox.prototype.setElementValue = function (val, element) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(val, (element ? element : this.element), this.floatLabelType, this.showClearButton);\n };\n NumericTextBox.prototype.validateState = function () {\n this.isValidState = true;\n if (this.value || this.value === 0) {\n this.isValidState = !(this.value > this.max || this.value < this.min);\n }\n this.checkErrorClass();\n };\n NumericTextBox.prototype.getNumberOfDecimals = function (value) {\n var numberOfDecimals;\n // eslint-disable-next-line no-useless-escape\n var EXPREGEXP = new RegExp('[eE][\\-+]?([0-9]+)');\n var valueString = value.toString();\n if (EXPREGEXP.test(valueString)) {\n var result = EXPREGEXP.exec(valueString);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(result)) {\n valueString = value.toFixed(Math.min(parseInt(result[1], 10), 20));\n }\n }\n var decimalPart = valueString.split('.')[1];\n numberOfDecimals = !decimalPart || !decimalPart.length ? 0 : decimalPart.length;\n if (this.decimals !== null) {\n numberOfDecimals = numberOfDecimals < this.decimals ? numberOfDecimals : this.decimals;\n }\n return numberOfDecimals;\n };\n NumericTextBox.prototype.formatNumber = function () {\n var numberOfDecimals = this.getNumberOfDecimals(this.value);\n return this.instance.getNumberFormat({\n maximumFractionDigits: numberOfDecimals,\n minimumFractionDigits: numberOfDecimals, useGrouping: false\n })(this.value);\n };\n NumericTextBox.prototype.trimValue = function (value) {\n if (value > this.max) {\n return this.max;\n }\n if (value < this.min) {\n return this.min;\n }\n return value;\n };\n NumericTextBox.prototype.roundNumber = function (value, precision) {\n var result = value;\n var decimals = precision || 0;\n var result1 = result.toString().split('e');\n result = Math.round(Number(result1[0] + 'e' + (result1[1] ? (Number(result1[1]) + decimals) : decimals)));\n var result2 = result.toString().split('e');\n result = Number(result2[0] + 'e' + (result2[1] ? (Number(result2[1]) - decimals) : -decimals));\n return Number(result.toFixed(decimals));\n };\n NumericTextBox.prototype.cancelEvent = function (event) {\n event.preventDefault();\n return false;\n };\n NumericTextBox.prototype.keyPressHandler = function (event) {\n if (!this.enabled || this.readonly) {\n return true;\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.version === '11.0' && event.keyCode === 13) {\n var parsedInput = this.instance.getNumberParser({ format: 'n' })(this.element.value);\n this.updateValue(parsedInput, event);\n return true;\n }\n if (event.which === 0 || event.metaKey || event.ctrlKey || event.keyCode === 8 || event.keyCode === 13) {\n return true;\n }\n var currentChar = String.fromCharCode(event.which);\n var decimalSeparator = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('decimal', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getNumericObject)(this.locale));\n var isAlterNumPadDecimalChar = event.code === 'NumpadDecimal' && currentChar !== decimalSeparator;\n //EJ2-59813-replace the culture decimal separator value with numberpad decimal separator value when culture decimal separator and numberpad decimal separator are different\n if (isAlterNumPadDecimalChar) {\n currentChar = decimalSeparator;\n }\n var text = this.element.value;\n text = text.substring(0, this.element.selectionStart) + currentChar + text.substring(this.element.selectionEnd);\n if (!this.numericRegex().test(text)) {\n event.preventDefault();\n event.stopPropagation();\n return false;\n }\n else {\n //EJ2-59813-update the numberpad decimal separator and update the cursor position\n if (isAlterNumPadDecimalChar) {\n var start = this.element.selectionStart + 1;\n this.element.value = text;\n this.element.setSelectionRange(start, start);\n event.preventDefault();\n event.stopPropagation();\n }\n return true;\n }\n };\n NumericTextBox.prototype.numericRegex = function () {\n var numericObject = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getNumericObject)(this.locale);\n var decimalSeparator = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('decimal', numericObject);\n var fractionRule = '*';\n if (decimalSeparator === DECIMALSEPARATOR) {\n decimalSeparator = '\\\\' + decimalSeparator;\n }\n if (this.decimals === 0 && this.validateDecimalOnType) {\n return INTREGEXP;\n }\n if (this.decimals && this.validateDecimalOnType) {\n fractionRule = '{0,' + this.decimals + '}';\n }\n /* eslint-disable-next-line security/detect-non-literal-regexp */\n return new RegExp('^\\\\s*(-)?(((\\\\d+(' + decimalSeparator + '\\\\d' + fractionRule +\n ')?)|(' + decimalSeparator + '\\\\d' + fractionRule + ')))?$');\n };\n NumericTextBox.prototype.mouseWheel = function (event) {\n event.preventDefault();\n var delta;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var rawEvent = event;\n if (rawEvent.wheelDelta) {\n delta = rawEvent.wheelDelta / 120;\n }\n else if (rawEvent.detail) {\n delta = -rawEvent.detail / 3;\n }\n if (delta > 0) {\n this.action(INCREMENT, event);\n }\n else if (delta < 0) {\n this.action(DECREMENT, event);\n }\n this.cancelEvent(event);\n };\n NumericTextBox.prototype.focusHandler = function (event) {\n var _this = this;\n clearTimeout(selectionTimeOut);\n this.focusEventArgs = { event: event, value: this.value, container: this.container };\n this.trigger('focus', this.focusEventArgs);\n if (!this.enabled || this.readonly) {\n return;\n }\n this.isFocused = true;\n this.prevValue = this.value;\n if ((this.value || this.value === 0)) {\n var formatValue_1 = this.formatNumber();\n this.setElementValue(formatValue_1);\n if (!this.isPrevFocused) {\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.version === '11.0') {\n this.element.setSelectionRange(0, formatValue_1.length);\n }\n else {\n var delay = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos) ? 600 : 0;\n selectionTimeOut = setTimeout(function () {\n _this.element.setSelectionRange(0, formatValue_1.length);\n }, delay);\n }\n }\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mousewheel DOMMouseScroll', this.mouseWheel, this);\n }\n };\n NumericTextBox.prototype.focusOutHandler = function (event) {\n var _this = this;\n this.blurEventArgs = { event: event, value: this.value, container: this.container };\n this.trigger('blur', this.blurEventArgs);\n if (!this.enabled || this.readonly) {\n return;\n }\n if (this.isPrevFocused) {\n event.preventDefault();\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n var value_1 = this.element.value;\n this.element.focus();\n this.isPrevFocused = false;\n var ele_1 = this.element;\n setTimeout(function () {\n _this.setElementValue(value_1, ele_1);\n }, 200);\n }\n }\n else {\n this.isFocused = false;\n if (!this.element.value.length) {\n this.setProperties({ value: null }, true);\n }\n var parsedInput = this.instance.getNumberParser({ format: 'n' })(this.element.value);\n this.updateValue(parsedInput);\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mousewheel DOMMouseScroll', this.mouseWheel);\n }\n }\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (formElement) {\n var element = this.element.nextElementSibling;\n var focusEvent = document.createEvent('FocusEvent');\n focusEvent.initEvent('focusout', false, true);\n element.dispatchEvent(focusEvent);\n }\n };\n NumericTextBox.prototype.mouseDownOnSpinner = function (event) {\n var _this = this;\n if (this.isFocused) {\n this.isPrevFocused = true;\n event.preventDefault();\n }\n if (!this.getElementData(event)) {\n return;\n }\n this.getElementData(event);\n var target = event.currentTarget;\n var action = (target.classList.contains(SPINUP)) ? INCREMENT : DECREMENT;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'mouseleave', this.mouseUpClick, this);\n this.timeOut = setInterval(function () {\n _this.isCalled = true;\n _this.action(action, event);\n }, 150);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mouseup', this.mouseUpClick, this);\n };\n NumericTextBox.prototype.touchMoveOnSpinner = function (event) {\n var target;\n if (event.type === 'touchmove') {\n var touchEvent = event.touches;\n target = touchEvent.length && document.elementFromPoint(touchEvent[0].pageX, touchEvent[0].pageY);\n }\n else {\n target = document.elementFromPoint(event.clientX, event.clientY);\n }\n if (!(target.classList.contains(SPINICON))) {\n clearInterval(this.timeOut);\n }\n };\n NumericTextBox.prototype.mouseUpOnSpinner = function (event) {\n this.prevValue = this.value;\n if (this.isPrevFocused) {\n this.element.focus();\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.isPrevFocused = false;\n }\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n event.preventDefault();\n }\n if (!this.getElementData(event)) {\n return;\n }\n var target = event.currentTarget;\n var action = (target.classList.contains(SPINUP)) ? INCREMENT : DECREMENT;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'mouseleave', this.mouseUpClick);\n if (!this.isCalled) {\n this.action(action, event);\n }\n this.isCalled = false;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', this.mouseUpClick);\n var formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (formElement) {\n var element = this.element.nextElementSibling;\n var keyupEvent = document.createEvent('KeyboardEvent');\n keyupEvent.initEvent('keyup', false, true);\n element.dispatchEvent(keyupEvent);\n }\n };\n NumericTextBox.prototype.getElementData = function (event) {\n if ((event.which && event.which === 3) || (event.button && event.button === 2)\n || !this.enabled || this.readonly) {\n return false;\n }\n clearInterval(this.timeOut);\n return true;\n };\n NumericTextBox.prototype.floatLabelTypeUpdate = function () {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.removeFloating(this.inputWrapper);\n var hiddenInput = this.hiddenInput;\n this.hiddenInput.remove();\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.addFloating(this.element, this.floatLabelType, this.placeholder, this.createElement);\n this.container.insertBefore(hiddenInput, this.container.childNodes[1]);\n };\n NumericTextBox.prototype.mouseUpClick = function (event) {\n event.stopPropagation();\n clearInterval(this.timeOut);\n this.isCalled = false;\n if (this.spinUp) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinUp, 'mouseleave', this.mouseUpClick);\n }\n if (this.spinDown) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.spinDown, 'mouseleave', this.mouseUpClick);\n }\n };\n /**\n * Increments the NumericTextBox value with the specified step value.\n *\n * @param {number} step - Specifies the value used to increment the NumericTextBox value.\n * if its not given then numeric value will be incremented based on the step property value.\n * @returns {void}\n */\n NumericTextBox.prototype.increment = function (step) {\n if (step === void 0) { step = this.step; }\n this.isInteract = false;\n this.changeValue(this.performAction(this.value, step, INCREMENT));\n this.raiseChangeEvent();\n };\n /**\n * Decrements the NumericTextBox value with specified step value.\n *\n * @param {number} step - Specifies the value used to decrement the NumericTextBox value.\n * if its not given then numeric value will be decremented based on the step property value.\n * @returns {void}\n */\n NumericTextBox.prototype.decrement = function (step) {\n if (step === void 0) { step = this.step; }\n this.isInteract = false;\n this.changeValue(this.performAction(this.value, step, DECREMENT));\n this.raiseChangeEvent();\n };\n /**\n * Removes the component from the DOM and detaches all its related event handlers.\n * Also it maintains the initial input element from the DOM.\n *\n * @method destroy\n * @returns {void}\n */\n NumericTextBox.prototype.destroy = function () {\n this.unwireEvents();\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.hiddenInput);\n if (this.showSpinButton) {\n this.unwireSpinBtnEvents();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.spinUp);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.spinDown);\n }\n var attrArray = ['aria-labelledby', 'role', 'autocomplete', 'aria-readonly',\n 'aria-disabled', 'autocapitalize', 'spellcheck', 'aria-autocomplete', 'tabindex',\n 'aria-valuemin', 'aria-valuemax', 'aria-valuenow', 'aria-invalid'];\n for (var i = 0; i < attrArray.length; i++) {\n this.element.removeAttribute(attrArray[i]);\n }\n this.element.classList.remove('e-input');\n this.container.insertAdjacentElement('afterend', this.element);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.container);\n this.spinUp = null;\n this.spinDown = null;\n this.container = null;\n this.hiddenInput = null;\n this.changeEventArgs = null;\n this.blurEventArgs = null;\n this.focusEventArgs = null;\n this.inputWrapper = null;\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.destroy({\n element: this.element,\n floatLabelType: this.floatLabelType,\n properties: this.properties\n }, this.clearButton);\n _super.prototype.destroy.call(this);\n };\n /**\n * Returns the value of NumericTextBox with the format applied to the NumericTextBox.\n *\n * @returns {string} - Returns the formatted value of the NumericTextBox.\n */\n NumericTextBox.prototype.getText = function () {\n return this.element.value;\n };\n /**\n * Sets the focus to widget for interaction.\n *\n * @returns {void}\n */\n NumericTextBox.prototype.focusIn = function () {\n if (document.activeElement !== this.element && this.enabled) {\n this.element.focus();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.container], [NUMERIC_FOCUS]);\n }\n };\n /**\n * Remove the focus from widget, if the widget is in focus state.\n *\n * @returns {void}\n */\n NumericTextBox.prototype.focusOut = function () {\n if (document.activeElement === this.element && this.enabled) {\n this.element.blur();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.container], [NUMERIC_FOCUS]);\n }\n };\n /**\n * Gets the properties to be maintained in the persisted state.\n *\n * @returns {string} - Returns the persisted data.\n */\n NumericTextBox.prototype.getPersistData = function () {\n var keyEntity = ['value'];\n return this.addOnPersist(keyEntity);\n };\n /**\n * Calls internally if any of the property value is changed.\n *\n * @param {NumericTextBoxModel} newProp - Returns the dynamic property value of the component.\n * @param {NumericTextBoxModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @private\n */\n NumericTextBox.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'width':\n this.setElementWidth(newProp.width);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.element, this.container);\n break;\n case 'cssClass':\n this.updateCssClass(newProp.cssClass, oldProp.cssClass);\n break;\n case 'enabled':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setEnabled(newProp.enabled, this.element);\n this.bindClearEvent();\n break;\n case 'enableRtl':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setEnableRtl(newProp.enableRtl, [this.container]);\n break;\n case 'readonly':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setReadonly(newProp.readonly, this.element);\n if (this.readonly) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-readonly': 'true' });\n }\n else {\n this.element.removeAttribute('aria-readonly');\n }\n break;\n case 'htmlAttributes':\n this.updateHTMLAttrToElement();\n this.updateHTMLAttrToWrapper();\n this.updateDataAttribute(true);\n this.checkAttributes(true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.validateInputType(this.container, this.element);\n break;\n case 'placeholder':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(newProp.placeholder, this.element);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.element, this.container);\n break;\n case 'step':\n this.step = newProp.step;\n this.validateStep();\n break;\n case 'showSpinButton':\n this.updateSpinButton(newProp);\n break;\n case 'showClearButton':\n this.updateClearButton(newProp);\n break;\n case 'floatLabelType':\n this.floatLabelType = newProp.floatLabelType;\n this.floatLabelTypeUpdate();\n break;\n case 'value':\n this.isDynamicChange = (this.isAngular || this.isVue) && this.preventChange;\n this.updateValue(newProp.value);\n if (this.isDynamicChange) {\n this.preventChange = false;\n this.isDynamicChange = false;\n }\n break;\n case 'min':\n case 'max':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(prop, newProp), this);\n this.validateMinMax();\n this.updateValue(this.value);\n break;\n case 'strictMode':\n this.strictMode = newProp.strictMode;\n this.updateValue(this.value);\n this.validateState();\n break;\n case 'locale':\n this.initCultureFunc();\n this.l10n.setLocale(this.locale);\n this.setSpinButton();\n this.updatePlaceholder();\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.element);\n this.updateValue(this.value);\n break;\n case 'currency':\n {\n var propVal = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(prop, newProp);\n this.setProperties({ currencyCode: propVal }, true);\n this.updateCurrency(prop, propVal);\n }\n break;\n case 'currencyCode':\n {\n var propValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(prop, newProp);\n this.setProperties({ currency: propValue }, true);\n this.updateCurrency('currency', propValue);\n }\n break;\n case 'format':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)(prop, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(prop, newProp), this);\n this.initCultureInfo();\n this.updateValue(this.value);\n break;\n case 'decimals':\n this.decimals = newProp.decimals;\n this.updateValue(this.value);\n }\n }\n };\n NumericTextBox.prototype.updateClearButton = function (newProp) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setClearButton(newProp.showClearButton, this.element, this.inputWrapper, undefined, this.createElement);\n this.bindClearEvent();\n };\n NumericTextBox.prototype.updateSpinButton = function (newProp) {\n if (newProp.showSpinButton) {\n this.spinBtnCreation();\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.spinUp);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.spinDown);\n }\n };\n /**\n * Gets the component name\n *\n * @returns {string} Returns the component name.\n * @private\n */\n NumericTextBox.prototype.getModuleName = function () {\n return 'numerictextbox';\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], NumericTextBox.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], NumericTextBox.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(-(Number.MAX_VALUE))\n ], NumericTextBox.prototype, \"min\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(Number.MAX_VALUE)\n ], NumericTextBox.prototype, \"max\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1)\n ], NumericTextBox.prototype, \"step\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], NumericTextBox.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], NumericTextBox.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], NumericTextBox.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], NumericTextBox.prototype, \"showSpinButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], NumericTextBox.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], NumericTextBox.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], NumericTextBox.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], NumericTextBox.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('n2')\n ], NumericTextBox.prototype, \"format\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], NumericTextBox.prototype, \"decimals\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], NumericTextBox.prototype, \"currency\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], NumericTextBox.prototype, \"currencyCode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], NumericTextBox.prototype, \"strictMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], NumericTextBox.prototype, \"validateDecimalOnType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], NumericTextBox.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], NumericTextBox.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], NumericTextBox.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], NumericTextBox.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], NumericTextBox.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], NumericTextBox.prototype, \"blur\", void 0);\n NumericTextBox = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], NumericTextBox);\n return NumericTextBox;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-inputs/src/textbox/textbox.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-inputs/src/textbox/textbox.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextBox: () => (/* binding */ TextBox)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _input_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../input/input */ \"./node_modules/@syncfusion/ej2-inputs/src/input/input.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar HIDE_CLEAR = 'e-clear-icon-hide';\n/**\n * Represents the TextBox component that allows the user to enter the values based on it's type.\n * ```html\n * \n * ```\n * ```typescript\n * \n * ```\n */\nvar TextBox = /** @class */ (function (_super) {\n __extends(TextBox, _super);\n /**\n *\n * @param {TextBoxModel} options - Specifies the TextBox model.\n * @param {string | HTMLInputElement | HTMLTextAreaElement} element - Specifies the element to render as component.\n * @private\n */\n function TextBox(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.previousValue = null;\n _this.isHiddenInput = false;\n _this.isForm = false;\n _this.inputPreviousValue = null;\n _this.textboxOptions = options;\n return _this;\n }\n /**\n * Calls internally if any of the property value is changed.\n *\n * @param {TextBoxModel} newProp - Returns the dynamic property value of the component.\n * @param {TextBoxModel} oldProp - Returns the previous property value of the component.\n * @returns {void}\n * @private\n */\n TextBox.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'floatLabelType':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.removeFloating(this.textboxWrapper);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.addFloating(this.respectiveElement, this.floatLabelType, this.placeholder);\n break;\n case 'enabled':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setEnabled(this.enabled, this.respectiveElement, this.floatLabelType, this.textboxWrapper.container);\n this.bindClearEvent();\n break;\n case 'width':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setWidth(newProp.width, this.textboxWrapper.container);\n break;\n case 'value':\n {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n if (!_input_input__WEBPACK_IMPORTED_MODULE_1__.Input.isBlank(this.value)) {\n this.value = this.value.toString();\n }\n this.isProtectedOnChange = prevOnChange;\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.value, this.respectiveElement, this.floatLabelType, this.showClearButton);\n if (this.isHiddenInput) {\n this.element.value = this.respectiveElement.value;\n }\n this.inputPreviousValue = this.respectiveElement.value;\n /* istanbul ignore next */\n if ((this.isAngular || this.isVue) && this.preventChange === true) {\n this.previousValue = this.isAngular ? this.value : this.previousValue;\n this.preventChange = false;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.isAngular) || !this.isAngular\n || (this.isAngular && !this.preventChange) || (this.isAngular && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.preventChange))) {\n this.raiseChangeEvent();\n }\n }\n break;\n case 'htmlAttributes':\n {\n this.updateHTMLAttributesToElement();\n this.updateHTMLAttributesToWrapper();\n this.checkAttributes(true);\n if (this.multiline && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textarea)) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.validateInputType(this.textboxWrapper.container, this.textarea);\n }\n else {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.validateInputType(this.textboxWrapper.container, this.element);\n }\n }\n break;\n case 'readonly':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setReadonly(this.readonly, this.respectiveElement);\n break;\n case 'type':\n if (this.respectiveElement.tagName !== 'TEXTAREA') {\n this.respectiveElement.setAttribute('type', this.type);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.validateInputType(this.textboxWrapper.container, this.element);\n this.raiseChangeEvent();\n }\n break;\n case 'showClearButton':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setClearButton(this.showClearButton, this.respectiveElement, this.textboxWrapper);\n this.bindClearEvent();\n break;\n case 'enableRtl':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setEnableRtl(this.enableRtl, [this.textboxWrapper.container]);\n break;\n case 'placeholder':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.respectiveElement);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.calculateWidth(this.respectiveElement, this.textboxWrapper.container);\n break;\n case 'autocomplete':\n if (this.autocomplete !== 'on' && this.autocomplete !== '') {\n this.respectiveElement.autocomplete = this.autocomplete;\n }\n else {\n this.removeAttributes(['autocomplete']);\n }\n break;\n case 'cssClass':\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.updateCssClass(newProp.cssClass, oldProp.cssClass, this.textboxWrapper.container);\n break;\n case 'locale':\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n this.l10n.setLocale(this.locale);\n this.setProperties({ placeholder: this.l10n.getConstant('placeholder') }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.respectiveElement);\n break;\n }\n }\n };\n /**\n * Gets the component name\n *\n * @returns {string} Returns the component name.\n * @private\n */\n TextBox.prototype.getModuleName = function () {\n return 'textbox';\n };\n TextBox.prototype.preRender = function () {\n this.cloneElement = this.element.cloneNode(true);\n this.formElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.formElement)) {\n this.isForm = true;\n }\n /* istanbul ignore next */\n if (this.element.tagName === 'EJS-TEXTBOX') {\n var ejInstance = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', this.element);\n var inputElement = this.multiline ?\n this.createElement('textarea') :\n this.createElement('input');\n var index = 0;\n for (index; index < this.element.attributes.length; index++) {\n var attributeName = this.element.attributes[index].nodeName;\n if (attributeName !== 'id' && attributeName !== 'class') {\n inputElement.setAttribute(attributeName, this.element.attributes[index].nodeValue);\n inputElement.innerHTML = this.element.innerHTML;\n if (attributeName === 'name') {\n this.element.removeAttribute('name');\n }\n }\n else if (attributeName === 'class') {\n inputElement.setAttribute(attributeName, this.element.className.split(' ').filter(function (item) { return item.indexOf('ng-') !== 0; }).join(' '));\n }\n }\n this.element.appendChild(inputElement);\n this.element = inputElement;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', ejInstance, this.element);\n }\n this.updateHTMLAttributesToElement();\n this.checkAttributes(false);\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['value'] === undefined)) && this.element.value !== '') {\n this.setProperties({ value: this.element.value }, true);\n }\n if (this.element.tagName !== 'TEXTAREA') {\n this.element.setAttribute('type', this.type);\n }\n if (this.type === 'text' || (this.element.tagName === 'INPUT' && this.multiline && this.isReact)) {\n this.element.setAttribute('role', 'textbox');\n }\n this.globalize = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Internationalization(this.locale);\n var localeText = { placeholder: this.placeholder };\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('textbox', localeText, this.locale);\n if (this.l10n.getConstant('placeholder') !== '') {\n this.setProperties({ placeholder: this.placeholder || this.l10n.getConstant('placeholder') }, true);\n }\n if (!this.element.hasAttribute('id')) {\n this.element.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('textbox'));\n }\n if (!this.element.hasAttribute('name')) {\n this.element.setAttribute('name', this.element.getAttribute('id'));\n }\n if (this.element.tagName === 'INPUT' && this.multiline) {\n this.isHiddenInput = true;\n this.textarea = this.createElement('textarea');\n this.element.parentNode.insertBefore(this.textarea, this.element);\n this.element.setAttribute('type', 'hidden');\n this.textarea.setAttribute('name', this.element.getAttribute('name'));\n this.element.removeAttribute('name');\n this.textarea.setAttribute('role', this.element.getAttribute('role'));\n this.element.removeAttribute('role');\n this.textarea.setAttribute('id', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('textarea'));\n var apiAttributes = ['placeholder', 'disabled', 'value', 'readonly', 'type', 'autocomplete'];\n for (var index = 0; index < this.element.attributes.length; index++) {\n var attributeName = this.element.attributes[index].nodeName;\n if (this.element.hasAttribute(attributeName) && _input_input__WEBPACK_IMPORTED_MODULE_1__.containerAttributes.indexOf(attributeName) < 0 &&\n !(attributeName === 'id' || attributeName === 'type' || attributeName === 'e-mappinguid')) {\n // e-mappinguid attribute is handled for Grid component.\n this.textarea.setAttribute(attributeName, this.element.attributes[index].nodeValue);\n if (apiAttributes.indexOf(attributeName) < 0) {\n this.element.removeAttribute(attributeName);\n index--;\n }\n }\n }\n }\n };\n TextBox.prototype.checkAttributes = function (isDynamic) {\n var attrs = isDynamic ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.htmlAttributes) ? [] : Object.keys(this.htmlAttributes) :\n ['placeholder', 'disabled', 'value', 'readonly', 'type', 'autocomplete'];\n for (var _i = 0, attrs_1 = attrs; _i < attrs_1.length; _i++) {\n var key = attrs_1[_i];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.getAttribute(key))) {\n switch (key) {\n case 'disabled':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['enabled'] === undefined)) || isDynamic) {\n var enabled = this.element.getAttribute(key) === 'disabled' || this.element.getAttribute(key) === '' ||\n this.element.getAttribute(key) === 'true' ? false : true;\n this.setProperties({ enabled: enabled }, !isDynamic);\n }\n break;\n case 'readonly':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['readonly'] === undefined)) || isDynamic) {\n var readonly = this.element.getAttribute(key) === 'readonly' || this.element.getAttribute(key) === ''\n || this.element.getAttribute(key) === 'true' ? true : false;\n this.setProperties({ readonly: readonly }, !isDynamic);\n }\n break;\n case 'placeholder':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['placeholder'] === undefined)) || isDynamic) {\n this.setProperties({ placeholder: this.element.placeholder }, !isDynamic);\n }\n break;\n case 'autocomplete':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['autocomplete'] === undefined)) || isDynamic) {\n var autoCompleteTxt = this.element.autocomplete === 'off' ? 'off' : 'on';\n this.setProperties({ autocomplete: autoCompleteTxt }, !isDynamic);\n }\n break;\n case 'value':\n if ((((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['value'] === undefined)) || isDynamic) && this.element.value !== '') {\n this.setProperties({ value: this.element.value }, !isDynamic);\n }\n break;\n case 'type':\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) || (this.textboxOptions['type'] === undefined)) || isDynamic) {\n this.setProperties({ type: this.element.type }, !isDynamic);\n }\n break;\n }\n }\n }\n };\n /**\n * To Initialize the control rendering\n *\n * @returns {void}\n * @private\n */\n TextBox.prototype.render = function () {\n var updatedCssClassValue = this.cssClass;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n updatedCssClassValue = _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.getInputValidClassList(this.cssClass);\n }\n this.respectiveElement = (this.isHiddenInput) ? this.textarea : this.element;\n this.textboxWrapper = _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.createInput({\n element: this.respectiveElement,\n floatLabelType: this.floatLabelType,\n properties: {\n enabled: this.enabled,\n enableRtl: this.enableRtl,\n cssClass: updatedCssClassValue,\n readonly: this.readonly,\n placeholder: this.placeholder,\n showClearButton: this.showClearButton\n }\n });\n this.updateHTMLAttributesToWrapper();\n if (this.isHiddenInput) {\n this.respectiveElement.parentNode.insertBefore(this.element, this.respectiveElement);\n }\n this.wireEvents();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setValue(this.value, this.respectiveElement, this.floatLabelType, this.showClearButton);\n if (this.isHiddenInput) {\n this.element.value = this.respectiveElement.value;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.value)) {\n this.initialValue = this.value;\n this.setInitialValue();\n }\n if (this.autocomplete !== 'on' && this.autocomplete !== '') {\n this.respectiveElement.autocomplete = this.autocomplete;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxOptions) && (this.textboxOptions['autocomplete'] !== undefined)) {\n this.removeAttributes(['autocomplete']);\n }\n this.previousValue = this.value;\n this.inputPreviousValue = this.value;\n this.respectiveElement.defaultValue = this.respectiveElement.value;\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setWidth(this.width, this.textboxWrapper.container);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset')) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'fieldset').disabled) {\n this.enabled = false;\n }\n if (!this.element.hasAttribute('aria-labelledby') && !this.element.hasAttribute('placeholder') && !this.element.hasAttribute('aria-label')) {\n this.element.setAttribute('aria-label', 'textbox');\n }\n this.renderComplete();\n };\n TextBox.prototype.updateHTMLAttributesToWrapper = function () {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.updateHTMLAttributesToWrapper(this.htmlAttributes, this.textboxWrapper.container);\n };\n TextBox.prototype.updateHTMLAttributesToElement = function () {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.updateHTMLAttributesToElement(this.htmlAttributes, this.respectiveElement ? this.respectiveElement :\n (this.multiline && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textarea) ? this.textarea : this.element));\n };\n TextBox.prototype.setInitialValue = function () {\n if (!this.isAngular) {\n this.respectiveElement.setAttribute('value', this.initialValue);\n }\n };\n TextBox.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.respectiveElement, 'focus', this.focusHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.respectiveElement, 'blur', this.focusOutHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.respectiveElement, 'keydown', this.keydownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.respectiveElement, 'input', this.inputHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.respectiveElement, 'change', this.changeHandler, this);\n if (this.isForm) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.formElement, 'reset', this.resetForm, this);\n }\n this.bindClearEvent();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxWrapper.container.querySelector('.e-float-text')) && this.floatLabelType === 'Auto'\n && this.textboxWrapper.container.classList.contains('e-autofill') &&\n this.textboxWrapper.container.classList.contains('e-outline')) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add((this.textboxWrapper.container.querySelector('.e-float-text')), 'animationstart', this.animationHandler, this);\n }\n };\n TextBox.prototype.animationHandler = function () {\n this.textboxWrapper.container.classList.add('e-valid-input');\n var label = this.textboxWrapper.container.querySelector('.e-float-text');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(label)) {\n label.classList.add('e-label-top');\n if (label.classList.contains('e-label-bottom')) {\n label.classList.remove('e-label-bottom');\n }\n }\n };\n TextBox.prototype.resetValue = function (value) {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n this.value = value;\n if (value == null && this.textboxWrapper.container.classList.contains('e-valid-input') && !(this.floatLabelType === 'Always' && this.textboxWrapper.container.classList.contains('e-outline'))) {\n this.textboxWrapper.container.classList.remove('e-valid-input');\n }\n this.isProtectedOnChange = prevOnChange;\n };\n TextBox.prototype.resetForm = function () {\n if (this.isAngular) {\n this.resetValue('');\n }\n else {\n this.resetValue(this.initialValue);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxWrapper)) {\n var label = this.textboxWrapper.container.querySelector('.e-float-text');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(label) && this.floatLabelType !== 'Always') {\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.initialValue) || this.initialValue === '')) {\n label.classList.add('e-label-bottom');\n label.classList.remove('e-label-top');\n }\n else if (this.initialValue !== '') {\n label.classList.add('e-label-top');\n label.classList.remove('e-label-bottom');\n }\n }\n }\n };\n TextBox.prototype.focusHandler = function (args) {\n var eventArgs = {\n container: this.textboxWrapper.container,\n event: args,\n value: this.value\n };\n this.trigger('focus', eventArgs);\n };\n TextBox.prototype.focusOutHandler = function (args) {\n if (!(this.previousValue === null && this.value === null && this.respectiveElement.value === '') &&\n (this.previousValue !== this.value)) {\n this.raiseChangeEvent(args, true);\n }\n var eventArgs = {\n container: this.textboxWrapper.container,\n event: args,\n value: this.value\n };\n this.trigger('blur', eventArgs);\n };\n TextBox.prototype.keydownHandler = function (args) {\n if ((args.keyCode === 13 || args.keyCode === 9) && !((this.previousValue === null || this.previousValue === '') && (this.value === null || this.value === '') && this.respectiveElement.value === '')) {\n this.setProperties({ value: this.respectiveElement.value }, true);\n }\n };\n TextBox.prototype.inputHandler = function (args) {\n var textboxObj = false || this;\n var eventArgs = {\n event: args,\n value: this.respectiveElement.value,\n previousValue: this.inputPreviousValue,\n container: this.textboxWrapper.container\n };\n this.inputPreviousValue = this.respectiveElement.value;\n /* istanbul ignore next */\n if (this.isAngular) {\n textboxObj.localChange({ value: this.respectiveElement.value });\n this.preventChange = true;\n }\n if (this.isVue) {\n this.preventChange = true;\n }\n this.trigger('input', eventArgs);\n args.stopPropagation();\n };\n TextBox.prototype.changeHandler = function (args) {\n this.setProperties({ value: this.respectiveElement.value }, true);\n if (this.previousValue !== this.value) {\n this.raiseChangeEvent(args, true);\n }\n args.stopPropagation();\n };\n TextBox.prototype.raiseChangeEvent = function (event, interaction) {\n var eventArgs = {\n event: event,\n value: this.value,\n previousValue: this.previousValue,\n container: this.textboxWrapper.container,\n isInteraction: interaction ? interaction : false,\n isInteracted: interaction ? interaction : false\n };\n this.preventChange = false;\n this.trigger('change', eventArgs);\n this.previousValue = this.value;\n //EJ2CORE-738:For this task we update the textarea value to the input when input tag with multiline is present\n if (this.element.tagName === 'INPUT' && this.multiline && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'mozilla') {\n this.element.value = this.respectiveElement.value;\n }\n };\n TextBox.prototype.bindClearEvent = function () {\n if (this.showClearButton) {\n if (this.enabled) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.textboxWrapper.clearButton, 'mousedown touchstart', this.resetInputHandler, this);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.textboxWrapper.clearButton, 'mousedown touchstart', this.resetInputHandler);\n }\n }\n };\n TextBox.prototype.resetInputHandler = function (event) {\n event.preventDefault();\n if (!(this.textboxWrapper.clearButton.classList.contains(HIDE_CLEAR)) || this.textboxWrapper.container.classList.contains('e-static-clear')) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setValue('', this.respectiveElement, this.floatLabelType, this.showClearButton);\n if (this.isHiddenInput) {\n this.element.value = this.respectiveElement.value;\n }\n this.setProperties({ value: this.respectiveElement.value }, true);\n var eventArgs = {\n event: event,\n value: this.respectiveElement.value,\n previousValue: this.inputPreviousValue,\n container: this.textboxWrapper.container\n };\n this.trigger('input', eventArgs);\n this.inputPreviousValue = this.respectiveElement.value;\n this.raiseChangeEvent(event, true);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, 'form')) {\n var element = this.element;\n var keyupEvent = document.createEvent('KeyboardEvent');\n keyupEvent.initEvent('keyup', false, true);\n element.dispatchEvent(keyupEvent);\n }\n }\n };\n TextBox.prototype.unWireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.respectiveElement, 'focus', this.focusHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.respectiveElement, 'blur', this.focusOutHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.respectiveElement, 'keydown', this.keydownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.respectiveElement, 'input', this.inputHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.respectiveElement, 'change', this.changeHandler);\n if (this.isForm) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.formElement, 'reset', this.resetForm);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxWrapper.container.querySelector('.e-float-text')) && this.floatLabelType === 'Auto'\n && this.textboxWrapper.container.classList.contains('e-outline') &&\n this.textboxWrapper.container.classList.contains('e-autofill')) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove((this.textboxWrapper.container.querySelector('.e-float-text')), 'animationstart', this.animationHandler);\n }\n };\n /**\n * Removes the component from the DOM and detaches all its related event handlers.\n * Also, it maintains the initial TextBox element from the DOM.\n *\n * @method destroy\n * @returns {void}\n */\n TextBox.prototype.destroy = function () {\n this.unWireEvents();\n if (this.showClearButton) {\n this.clearButton = document.getElementsByClassName('e-clear-icon')[0];\n }\n if (this.element.tagName === 'INPUT' && this.multiline) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.textboxWrapper.container.getElementsByTagName('textarea')[0]);\n this.respectiveElement = this.element;\n this.element.removeAttribute('type');\n }\n this.respectiveElement.value = this.respectiveElement.defaultValue;\n this.respectiveElement.classList.remove('e-input');\n this.removeAttributes(['aria-disabled', 'aria-readonly', 'aria-labelledby']);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.textboxWrapper)) {\n this.textboxWrapper.container.insertAdjacentElement('afterend', this.respectiveElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.textboxWrapper.container);\n }\n this.textboxWrapper = null;\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.destroy({\n element: this.respectiveElement,\n floatLabelType: this.floatLabelType,\n properties: this.properties\n }, this.clearButton);\n _super.prototype.destroy.call(this);\n };\n /**\n * Adding the icons to the TextBox component.\n *\n * @param { string } position - Specify the icon placement on the TextBox. Possible values are append and prepend.\n * @param { string | string[] } icons - Icon classes which are need to add to the span element which is going to created.\n * Span element acts as icon or button element for TextBox.\n * @returns {void}\n */\n TextBox.prototype.addIcon = function (position, icons) {\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.addIcon(position, icons, this.textboxWrapper.container, this.respectiveElement, this.createElement);\n };\n /**\n * Gets the properties to be maintained in the persisted state.\n *\n * @returns {string} Returns the persisted data.\n */\n TextBox.prototype.getPersistData = function () {\n var keyEntity = ['value'];\n return this.addOnPersist(keyEntity);\n };\n /**\n * Adding the multiple attributes as key-value pair to the TextBox element.\n *\n * @param {string} attributes - Specifies the attributes to be add to TextBox element.\n * @returns {void}\n */\n TextBox.prototype.addAttributes = function (attributes) {\n for (var _i = 0, _a = Object.keys(attributes); _i < _a.length; _i++) {\n var key = _a[_i];\n if (key === 'disabled') {\n this.setProperties({ enabled: false }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setEnabled(this.enabled, this.respectiveElement, this.floatLabelType, this.textboxWrapper.container);\n }\n else if (key === 'readonly') {\n this.setProperties({ readonly: true }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setReadonly(this.readonly, this.respectiveElement);\n }\n else if (key === 'class') {\n this.respectiveElement.classList.add(attributes[\"\" + key]);\n }\n else if (key === 'placeholder') {\n this.setProperties({ placeholder: attributes[\"\" + key] }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.respectiveElement);\n }\n else if (key === 'rows' && this.respectiveElement.tagName === 'TEXTAREA') {\n this.respectiveElement.setAttribute(key, attributes[\"\" + key]);\n }\n else {\n this.respectiveElement.setAttribute(key, attributes[\"\" + key]);\n }\n }\n };\n /**\n * Removing the multiple attributes as key-value pair to the TextBox element.\n *\n * @param { string[] } attributes - Specifies the attributes name to be removed from TextBox element.\n * @returns {void}\n */\n TextBox.prototype.removeAttributes = function (attributes) {\n for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {\n var key = attributes_1[_i];\n if (key === 'disabled') {\n this.setProperties({ enabled: true }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setEnabled(this.enabled, this.respectiveElement, this.floatLabelType, this.textboxWrapper.container);\n }\n else if (key === 'readonly') {\n this.setProperties({ readonly: false }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setReadonly(this.readonly, this.respectiveElement);\n }\n else if (key === 'placeholder') {\n this.setProperties({ placeholder: null }, true);\n _input_input__WEBPACK_IMPORTED_MODULE_1__.Input.setPlaceholder(this.placeholder, this.respectiveElement);\n }\n else {\n this.respectiveElement.removeAttribute(key);\n }\n }\n };\n /**\n * Sets the focus to widget for interaction.\n *\n * @returns {void}\n */\n TextBox.prototype.focusIn = function () {\n if (document.activeElement !== this.respectiveElement && this.enabled) {\n this.respectiveElement.focus();\n if (this.textboxWrapper.container.classList.contains('e-input-group')\n || this.textboxWrapper.container.classList.contains('e-outline')\n || this.textboxWrapper.container.classList.contains('e-filled')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.textboxWrapper.container], [_input_input__WEBPACK_IMPORTED_MODULE_1__.TEXTBOX_FOCUS]);\n }\n }\n };\n /**\n * Remove the focus from widget, if the widget is in focus state.\n *\n * @returns {void}\n */\n TextBox.prototype.focusOut = function () {\n if (document.activeElement === this.respectiveElement && this.enabled) {\n this.respectiveElement.blur();\n if (this.textboxWrapper.container.classList.contains('e-input-group')\n || this.textboxWrapper.container.classList.contains('e-outline')\n || this.textboxWrapper.container.classList.contains('e-filled')) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.textboxWrapper.container], [_input_input__WEBPACK_IMPORTED_MODULE_1__.TEXTBOX_FOCUS]);\n }\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('text')\n ], TextBox.prototype, \"type\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TextBox.prototype, \"readonly\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TextBox.prototype, \"value\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Never')\n ], TextBox.prototype, \"floatLabelType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], TextBox.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TextBox.prototype, \"placeholder\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('on')\n ], TextBox.prototype, \"autocomplete\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({})\n ], TextBox.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TextBox.prototype, \"multiline\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], TextBox.prototype, \"enabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TextBox.prototype, \"showClearButton\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], TextBox.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], TextBox.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TextBox.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TextBox.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TextBox.prototype, \"change\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TextBox.prototype, \"blur\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TextBox.prototype, \"focus\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], TextBox.prototype, \"input\", void 0);\n TextBox = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], TextBox);\n return TextBox;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-inputs/src/textbox/textbox.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-lists/src/common/list-base.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-lists/src/common/list-base.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ListBase: () => (/* binding */ ListBase),\n/* harmony export */ cssClass: () => (/* binding */ cssClass),\n/* harmony export */ getFieldValues: () => (/* binding */ getFieldValues)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/query.js\");\n/* harmony import */ var _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/src/manager.js\");\n/* eslint-disable no-inner-declarations */\n\n\n\n\nvar cssClass = {\n li: 'e-list-item',\n ul: 'e-list-parent e-ul',\n group: 'e-list-group-item',\n icon: 'e-list-icon',\n text: 'e-list-text',\n check: 'e-list-check',\n checked: 'e-checked',\n selected: 'e-selected',\n expanded: 'e-expanded',\n textContent: 'e-text-content',\n hasChild: 'e-has-child',\n level: 'e-level',\n url: 'e-list-url',\n collapsible: 'e-icon-collapsible',\n disabled: 'e-disabled',\n image: 'e-list-img',\n iconWrapper: 'e-icon-wrapper',\n anchorWrap: 'e-anchor-wrap',\n navigable: 'e-navigable'\n};\n/**\n * Base List Generator\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nvar ListBase;\n(function (ListBase) {\n /**\n *\n * Default mapped fields.\n */\n ListBase.defaultMappedFields = {\n id: 'id',\n text: 'text',\n url: 'url',\n value: 'value',\n isChecked: 'isChecked',\n enabled: 'enabled',\n expanded: 'expanded',\n selected: 'selected',\n iconCss: 'iconCss',\n child: 'child',\n isVisible: 'isVisible',\n hasChildren: 'hasChildren',\n tooltip: 'tooltip',\n htmlAttributes: 'htmlAttributes',\n urlAttributes: 'urlAttributes',\n imageAttributes: 'imageAttributes',\n imageUrl: 'imageUrl',\n groupBy: null,\n sortBy: null\n };\n var defaultAriaAttributes = {\n level: 1,\n listRole: 'presentation',\n itemRole: 'presentation',\n groupItemRole: 'group',\n itemText: 'list-item',\n wrapperRole: 'presentation'\n };\n var defaultListBaseOptions = {\n showCheckBox: false,\n showIcon: false,\n enableHtmlSanitizer: false,\n expandCollapse: false,\n fields: ListBase.defaultMappedFields,\n ariaAttributes: defaultAriaAttributes,\n listClass: '',\n itemClass: '',\n processSubChild: false,\n sortOrder: 'None',\n template: null,\n groupTemplate: null,\n headerTemplate: null,\n expandIconClass: 'e-icon-collapsible',\n moduleName: 'list',\n expandIconPosition: 'Right',\n itemNavigable: false\n };\n /**\n * Function helps to created and return the UL Li element based on your data.\n *\n * @param {createElementParams} createElement - Specifies an array of JSON data.\n *\n * @param {{Object}[]} dataSource - Specifies an array of JSON data.\n *\n * @param {ListBaseOptions} [options] - Specifies the list options that need to provide.\n *\n * @param {boolean} [isSingleLevel] - Specifies the list options that need to provide.\n *\n * @param {any} [componentInstance] - Specifies the list options that need to provide.\n *\n * @returns {createElement} createListFromJson - Specifies the list options that need to provide.\n */\n function createList(createElement, dataSource, options, isSingleLevel, componentInstance) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var ariaAttributes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultAriaAttributes, curOpt.ariaAttributes);\n var type = typeofData(dataSource).typeof;\n if (type === 'string' || type === 'number') {\n return createListFromArray(createElement, dataSource, isSingleLevel, options, componentInstance);\n }\n else {\n return createListFromJson(createElement, dataSource, options, ariaAttributes.level, isSingleLevel, componentInstance);\n }\n }\n ListBase.createList = createList;\n /**\n * Function helps to created an element list based on string array input .\n *\n * @param {createElementParams} createElement - Specifies an array of JSON data.\n *\n * @param {{Object}[]} dataSource - Specifies an array of JSON data.\n *\n * @param {boolean} [isSingleLevel] - Specifies the list options that need to provide.\n *\n * @param {ListBaseOptions} [options] - Specifies the list options that need to provide.\n *\n * @param {any} [componentInstance] - Specifies the list options that need to provide.\n *\n * @returns {createElement} generateUL - returns the list options that need to provide.\n */\n function createListFromArray(createElement, dataSource, isSingleLevel, options, componentInstance) {\n var subChild = createListItemFromArray(createElement, dataSource, isSingleLevel, options, componentInstance);\n return generateUL(createElement, subChild, null, options);\n }\n ListBase.createListFromArray = createListFromArray;\n /**\n * Function helps to created an element list based on string array input .\n *\n * @param {createElementParams} createElement - Specifies an array of JSON data.\n *\n * @param {{Object}[]} dataSource - Specifies an array of JSON data.\n *\n * @param {boolean} [isSingleLevel] - Specifies the list options that need to provide.\n *\n * @param {ListBaseOptions} [options] - Specifies the list options that need to provide.\n *\n * @param {any} [componentInstance] - Specifies the list options that need to provide.\n *\n * @returns {HTMLElement[]} subChild - returns the list options that need to provide.\n */\n function createListItemFromArray(createElement, dataSource, isSingleLevel, options, componentInstance) {\n var subChild = [];\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n cssClass = getModuleClass(curOpt.moduleName);\n var id = generateId(); // generate id for drop-down-list option.\n for (var i = 0; i < dataSource.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource[i])) {\n continue;\n }\n var li = void 0;\n if (curOpt.itemCreating && typeof curOpt.itemCreating === 'function') {\n var curData = {\n dataSource: dataSource,\n curData: dataSource[i],\n text: dataSource[i],\n options: curOpt\n };\n curOpt.itemCreating(curData);\n }\n if (isSingleLevel) {\n li = generateSingleLevelLI(createElement, dataSource[i], undefined, null, null, [], null, id, i, options);\n }\n else {\n li = generateLI(createElement, dataSource[i], undefined, null, null, options, componentInstance);\n }\n if (curOpt.itemCreated && typeof curOpt.itemCreated === 'function') {\n var curData = {\n dataSource: dataSource,\n curData: dataSource[i],\n text: dataSource[i],\n item: li,\n options: curOpt\n };\n curOpt.itemCreated(curData);\n }\n subChild.push(li);\n }\n return subChild;\n }\n ListBase.createListItemFromArray = createListItemFromArray;\n /**\n * Function helps to created an element list based on array of JSON input .\n *\n * @param {createElementParams} createElement - Specifies an array of JSON data.\n *\n * @param {{Object}[]} dataSource - Specifies an array of JSON data.\n *\n * @param {ListBaseOptions} [options] - Specifies the list options that need to provide.\n *\n * @param {number} [level] - Specifies the list options that need to provide.\n *\n * @param {boolean} [isSingleLevel] - Specifies the list options that need to provide.\n *\n * @param {any} [componentInstance] - Specifies the list options that need to provide.\n *\n * @returns {HTMLElement[]} child - returns the list options that need to provide.\n */\n function createListItemFromJson(createElement, dataSource, options, level, isSingleLevel, componentInstance) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n cssClass = getModuleClass(curOpt.moduleName);\n var fields = (componentInstance &&\n (componentInstance.getModuleName() === 'listview' || componentInstance.getModuleName() === 'multiselect'))\n ? curOpt.fields : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, ListBase.defaultMappedFields, curOpt.fields);\n var ariaAttributes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultAriaAttributes, curOpt.ariaAttributes);\n var id;\n var checkboxElement = [];\n if (level) {\n ariaAttributes.level = level;\n }\n var child = [];\n var li;\n var anchorElement;\n if (dataSource && dataSource.length && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(typeofData(dataSource).item) &&\n !Object.prototype.hasOwnProperty.call(typeofData(dataSource).item, fields.id)) {\n id = generateId(); // generate id for drop-down-list option.\n }\n for (var i = 0; i < dataSource.length; i++) {\n var fieldData = getFieldValues(dataSource[i], fields);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource[i])) {\n continue;\n }\n if (curOpt.itemCreating && typeof curOpt.itemCreating === 'function') {\n var curData = {\n dataSource: dataSource,\n curData: dataSource[i],\n text: fieldData[fields.text],\n options: curOpt,\n fields: fields\n };\n curOpt.itemCreating(curData);\n }\n var curItem = dataSource[i];\n if (curOpt.itemCreating && typeof curOpt.itemCreating === 'function') {\n fieldData = getFieldValues(dataSource[i], fields);\n }\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.id) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData[fields.id])) {\n id = fieldData[fields.id];\n }\n var innerEle = [];\n if (curOpt.showCheckBox) {\n if (curOpt.itemNavigable && (fieldData[fields.url] || fieldData[fields.urlAttributes])) {\n checkboxElement.push(createElement('input', { className: cssClass.check, attrs: { type: 'checkbox' } }));\n }\n else {\n innerEle.push(createElement('input', { className: cssClass.check, attrs: { type: 'checkbox' } }));\n }\n }\n if (isSingleLevel === true) {\n if (curOpt.showIcon && Object.prototype.hasOwnProperty.call(fieldData, fields.iconCss)\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData[fields.iconCss])) {\n innerEle.push(createElement('span', { className: cssClass.icon + ' ' + fieldData[fields.iconCss] }));\n }\n li = generateSingleLevelLI(createElement, curItem, fieldData, fields, curOpt.itemClass, innerEle, (Object.prototype.hasOwnProperty.call(curItem, 'isHeader') &&\n curItem.isHeader) ? true : false, id, i, options);\n anchorElement = li.querySelector('.' + cssClass.anchorWrap);\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.tooltip)) {\n var tooltipText = fieldData[fields.tooltip];\n if (options && options.enableHtmlSanitizer) {\n tooltipText = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(tooltipText);\n }\n else {\n var tooltipTextElement = createElement('span', { innerHTML: tooltipText });\n tooltipText = tooltipTextElement.innerText;\n tooltipTextElement = null;\n }\n li.setAttribute('title', tooltipText);\n }\n if (curOpt.itemNavigable && checkboxElement.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)(checkboxElement, li.firstElementChild);\n }\n }\n else {\n li = generateLI(createElement, curItem, fieldData, fields, curOpt.itemClass, options, componentInstance);\n li.classList.add(cssClass.level + '-' + ariaAttributes.level);\n li.setAttribute('aria-level', ariaAttributes.level.toString());\n if (ariaAttributes.groupItemRole === 'presentation' || ariaAttributes.itemRole === 'presentation') {\n li.removeAttribute('aria-level');\n }\n anchorElement = li.querySelector('.' + cssClass.anchorWrap);\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.tooltip)) {\n var tooltipText = fieldData[fields.tooltip];\n if (options && options.enableHtmlSanitizer) {\n tooltipText = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(tooltipText);\n }\n else {\n var tooltipTextElement = createElement('span', { innerHTML: tooltipText });\n tooltipText = tooltipTextElement.innerText;\n tooltipTextElement = null;\n }\n li.setAttribute('title', tooltipText);\n }\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.htmlAttributes) && fieldData[fields.htmlAttributes]) {\n var htmlAttributes = fieldData[fields.htmlAttributes];\n // Check if 'class' attribute is present and not an empty string\n if ('class' in htmlAttributes && typeof htmlAttributes['class'] === 'string' && htmlAttributes['class'].trim() === '') {\n delete htmlAttributes['class'];\n }\n setAttribute(li, htmlAttributes);\n }\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.enabled) && fieldData[fields.enabled] === false) {\n li.classList.add(cssClass.disabled);\n }\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.isVisible) && fieldData[fields.isVisible] === false) {\n li.style.display = 'none';\n }\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.imageUrl) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData[fields.imageUrl])\n && !curOpt.template) {\n var attr = { src: fieldData[fields.imageUrl], alt: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData.name) ? ('Displaying ' + fieldData.name + ' Image') : 'Displaying Image' };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(attr, fieldData[fields.imageAttributes]);\n var imageElemnt = createElement('img', { className: cssClass.image, attrs: attr });\n if (anchorElement) {\n anchorElement.insertAdjacentElement('afterbegin', imageElemnt);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([imageElemnt], li.firstElementChild);\n }\n }\n if (curOpt.showIcon && Object.prototype.hasOwnProperty.call(fieldData, fields.iconCss) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData[fields.iconCss]) && !curOpt.template) {\n var iconElement = createElement('div', { className: cssClass.icon + ' ' + fieldData[fields.iconCss] });\n if (anchorElement) {\n anchorElement.insertAdjacentElement('afterbegin', iconElement);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([iconElement], li.firstElementChild);\n }\n }\n if (innerEle.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)(innerEle, li.firstElementChild);\n }\n if (curOpt.itemNavigable && checkboxElement.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)(checkboxElement, li.firstElementChild);\n }\n processSubChild(createElement, fieldData, fields, dataSource, curOpt, li, ariaAttributes.level);\n }\n if (anchorElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([li], [cssClass.navigable]);\n }\n if (curOpt.itemCreated && typeof curOpt.itemCreated === 'function') {\n var curData = {\n dataSource: dataSource,\n curData: dataSource[i],\n text: fieldData[fields.text],\n item: li,\n options: curOpt,\n fields: fields\n };\n curOpt.itemCreated(curData);\n }\n checkboxElement = [];\n child.push(li);\n }\n return child;\n }\n ListBase.createListItemFromJson = createListItemFromJson;\n /**\n * Function helps to created an element list based on array of JSON input .\n *\n * @param {createElementParams} createElement - Specifies an array of JSON data.\n *\n * @param {{Object}[]} dataSource - Specifies an array of JSON data.\n *\n * @param {ListBaseOptions} [options] - Specifies the list options that need to provide.\n *\n * @param {number} [level] - Specifies the list options that need to provide.\n *\n * @param {boolean} [isSingleLevel] - Specifies the list options that need to provide.\n *\n * @param {any} [componentInstance] - Specifies the list options that need to provide.\n *\n * @returns {createElement} generateUL - Specifies the list options that need to provide.\n */\n function createListFromJson(createElement, dataSource, options, level, isSingleLevel, componentInstance) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var li = createListItemFromJson(createElement, dataSource, options, level, isSingleLevel, componentInstance);\n return generateUL(createElement, li, curOpt.listClass, options);\n }\n ListBase.createListFromJson = createListFromJson;\n /**\n * Return the next or previous visible element.\n *\n * @param {Element[]|NodeList} elementArray - An element array to find next or previous element.\n * @param {Element} element - An element to find next or previous after this element.\n * @param {boolean} [isPrevious] - Specify when the need get previous element from array.\n * @returns {Element|undefined} The next or previous visible element, or undefined if the element array is empty.\n */\n function getSiblingLI(elementArray, element, isPrevious) {\n cssClass = getModuleClass(defaultListBaseOptions.moduleName);\n if (!elementArray || !elementArray.length) {\n return void 0;\n }\n var siblingLI;\n var liIndex;\n var liCollections = Array.prototype.slice.call(elementArray);\n if (element) {\n liIndex = indexOf(element, liCollections);\n }\n else {\n liIndex = (isPrevious === true ? liCollections.length : -1);\n }\n siblingLI = liCollections[liIndex + (isPrevious === true ? -1 : 1)];\n while (siblingLI && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(siblingLI) || siblingLI.classList.contains(cssClass.disabled))) {\n liIndex = liIndex + (isPrevious === true ? -1 : 1);\n siblingLI = liCollections[liIndex];\n }\n return siblingLI;\n }\n ListBase.getSiblingLI = getSiblingLI;\n /**\n * Return the index of the li element\n *\n * @param {Element} item - An element to find next or previous after this element.\n * @param {Element[]} elementArray - An element array to find index of given li.\n * @returns {number} - The index of the item in the element array, or undefined if either parameter is false.\n */\n function indexOf(item, elementArray) {\n if (!elementArray || !item) {\n return void 0;\n }\n else {\n var liCollections = elementArray;\n liCollections = Array.prototype.slice.call(elementArray);\n return liCollections.indexOf(item);\n }\n }\n ListBase.indexOf = indexOf;\n /**\n * Returns the grouped data from given dataSource.\n *\n * @param {{Object}[]} dataSource - The JSON data which is necessary to process.\n * @param {FieldsMapping} fields - Fields that are mapped from the data source.\n * @param {SortOrder} [sortOrder='None'] - Specifies final result sort order. Defaults to 'None'.\n * @returns {Object[]} - The grouped data.\n */\n function groupDataSource(dataSource, fields, sortOrder) {\n if (sortOrder === void 0) { sortOrder = 'None'; }\n var curFields = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, ListBase.defaultMappedFields, fields);\n var cusQuery = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query().group(curFields.groupBy);\n // need to remove once sorting issues fixed in DataManager\n cusQuery = addSorting(sortOrder, 'key', cusQuery);\n var ds = getDataSource(dataSource, cusQuery);\n dataSource = [];\n for (var j = 0; j < ds.length; j++) {\n var itemObj = ds[j].items;\n var grpItem = {};\n var hdr = 'isHeader';\n grpItem[curFields.text] = ds[j].key;\n grpItem[\"\" + hdr] = true;\n var newtext = curFields.text;\n if (newtext === 'id') {\n newtext = 'text';\n grpItem[\"\" + newtext] = ds[j].key;\n }\n grpItem._id = 'group-list-item-' + (ds[j].key ?\n ds[j].key.toString().trim() : 'undefined');\n grpItem.items = itemObj;\n dataSource.push(grpItem);\n for (var k = 0; k < itemObj.length; k++) {\n dataSource.push(itemObj[k]);\n }\n }\n return dataSource;\n }\n ListBase.groupDataSource = groupDataSource;\n /**\n * Returns a sorted query object.\n *\n * @param {SortOrder} sortOrder - Specifies that sort order.\n * @param {string} sortBy - Specifies sortBy fields.\n * @param {Query} query - Pass if any existing query.\n * @returns {Query} - The updated query object with sorting applied.\n */\n function addSorting(sortOrder, sortBy, query) {\n if (query === void 0) { query = new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_1__.Query(); }\n if (sortOrder === 'Ascending') {\n query.sortBy(sortBy, 'ascending', true);\n }\n else if (sortOrder === 'Descending') {\n query.sortBy(sortBy, 'descending', true);\n }\n else {\n for (var i = 0; i < query.queries.length; i++) {\n if (query.queries[i].fn === 'onSortBy') {\n query.queries.splice(i, 1);\n }\n }\n }\n return query;\n }\n ListBase.addSorting = addSorting;\n /**\n * Return an array of JSON Data that processed based on queries.\n *\n * @param {{Object}[]} dataSource - Specifies local JSON data source.\n *\n * @param {Query} query - Specifies query that need to process.\n *\n * @returns {Object[]} - An array of objects representing the retrieved data.\n */\n function getDataSource(dataSource, query) {\n return new _syncfusion_ej2_data__WEBPACK_IMPORTED_MODULE_2__.DataManager(dataSource)\n .executeLocal(query);\n }\n ListBase.getDataSource = getDataSource;\n /**\n * Created JSON data based the UL and LI element\n *\n * @param {HTMLElement|Element} element - UL element that need to convert as a JSON\n * @param {ListBaseOptions} [options] - Specifies ListBase option for fields.\n * @returns {Object[]} - An array of objects representing the JSON data.\n */\n function createJsonFromElement(element, options) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var fields = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, ListBase.defaultMappedFields, curOpt.fields);\n var curEle = element.cloneNode(true);\n var jsonAr = [];\n curEle.classList.add('json-parent');\n var childs = curEle.querySelectorAll('.json-parent>li');\n curEle.classList.remove('json-parent');\n for (var i = 0; i < childs.length; i++) {\n var li = childs[i];\n var anchor = li.querySelector('a');\n var ul = li.querySelector('ul');\n var json = {};\n var childNodes = anchor ? anchor.childNodes : li.childNodes;\n var keys = Object.keys(childNodes);\n for (var i_1 = 0; i_1 < childNodes.length; i_1++) {\n if (!(childNodes[Number(keys[i_1])]).hasChildNodes()) {\n json[fields.text] = childNodes[Number(keys[i_1])].textContent;\n }\n }\n var attributes_1 = getAllAttributes(li);\n if (attributes_1.id) {\n json[fields.id] = attributes_1.id;\n delete attributes_1.id;\n }\n else {\n json[fields.id] = generateId();\n }\n if (Object.keys(attributes_1).length) {\n json[fields.htmlAttributes] = attributes_1;\n }\n if (anchor) {\n attributes_1 = getAllAttributes(anchor);\n if (Object.keys(attributes_1).length) {\n json[fields.urlAttributes] = attributes_1;\n }\n }\n if (ul) {\n json[fields.child] = createJsonFromElement(ul, options);\n }\n jsonAr.push(json);\n }\n return jsonAr;\n }\n ListBase.createJsonFromElement = createJsonFromElement;\n /**\n * Determines the type of data in an array of objects, strings, or numbers.\n *\n * @param {Object[] | string[] | number[]} data - The array containing objects, strings, or numbers.\n * @returns {{typeof: (string | null), item: (Object | string | number)}} - An object containing the type of data and the corresponding item.\n */\n function typeofData(data) {\n var match = { typeof: null, item: null };\n for (var i = 0; i < data.length; i++) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(data[i])) {\n return match = { typeof: typeof data[i], item: data[i] };\n }\n }\n return match;\n }\n /**\n * Sets attributes on an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to set attributes on.\n * @param {Object.} elementAttributes - An object containing attribute names and their corresponding values.\n * @returns {void}\n */\n function setAttribute(element, elementAttributes) {\n var attr = {};\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(attr, elementAttributes);\n if (attr.class) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([element], attr.class.split(' '));\n delete attr.class;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(element, attr);\n }\n /**\n * Retrieves all attributes of an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to retrieve attributes from.\n * @returns {Object.} - An object containing attribute names as keys and their corresponding values as values.\n */\n function getAllAttributes(element) {\n var attributes = {};\n var attr = element.attributes;\n for (var index = 0; index < attr.length; index++) {\n attributes[attr[index].nodeName] = attr[index].nodeValue;\n }\n return attributes;\n }\n /**\n * Created UL element from content template.\n *\n * @param {createElementParams} createElement - Specifies an array of JSON data.\n * @param {string} template - that need to convert and generate li element.\n * @param {{Object}[]} dataSource - Specifies local JSON data source.\n * @param {FieldsMapping} [fields] - Specifies fields for mapping the dataSource.\n * @param {ListBaseOptions} [options] - Specifies ListBase option for fields.\n * @param {any} [componentInstance] - Specifies component instance.\n * @returns {HTMLElement} - The generated LI element.\n */\n function renderContentTemplate(createElement, template, dataSource, fields, options, componentInstance) {\n cssClass = getModuleClass(defaultListBaseOptions.moduleName);\n var ulElement = createElement('ul', { className: cssClass.ul, attrs: { role: 'presentation' } });\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var curFields = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, ListBase.defaultMappedFields, fields);\n var compiledString = compileTemplate(template);\n var liCollection = [];\n var value;\n var id = generateId(); // generate id for drop-down-list option.\n for (var i = 0; i < dataSource.length; i++) {\n var fieldData = getFieldValues(dataSource[i], curFields);\n var curItem = dataSource[i];\n var isHeader = curItem.isHeader;\n if (typeof dataSource[i] === 'string' || typeof dataSource[i] === 'number') {\n value = curItem;\n }\n else {\n value = fieldData[curFields.value];\n }\n if (curOpt.itemCreating && typeof curOpt.itemCreating === 'function') {\n var curData = {\n dataSource: dataSource,\n curData: curItem,\n text: value,\n options: curOpt,\n fields: curFields\n };\n curOpt.itemCreating(curData);\n }\n if (curOpt.itemCreating && typeof curOpt.itemCreating === 'function') {\n fieldData = getFieldValues(dataSource[i], curFields);\n if (typeof dataSource[i] === 'string' || typeof dataSource[i] === 'number') {\n value = curItem;\n }\n else {\n value = fieldData[curFields.value];\n }\n }\n var li = createElement('li', {\n id: id + '-' + i,\n className: isHeader ? cssClass.group : cssClass.li, attrs: { role: 'presentation' }\n });\n if (isHeader) {\n if (typeof dataSource[i] === 'string' || typeof dataSource[i] === 'number') {\n li.innerText = curItem;\n }\n else {\n li.innerText = fieldData[curFields.text];\n }\n }\n else {\n var currentID = isHeader ? curOpt.groupTemplateID : curOpt.templateID;\n if (isHeader) {\n if (componentInstance && componentInstance.getModuleName() !== 'listview') {\n var compiledElement = compiledString(curItem, componentInstance, 'headerTemplate', currentID, !!curOpt.isStringTemplate, null, li);\n if (compiledElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledElement, li);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledString(curItem, componentInstance, 'headerTemplate', currentID, !!curOpt.isStringTemplate), li);\n }\n }\n else {\n if (componentInstance && componentInstance.getModuleName() !== 'listview') {\n var compiledElement = compiledString(curItem, componentInstance, 'template', currentID, !!curOpt.isStringTemplate, null, li);\n if (compiledElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledElement, li);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledString(curItem, componentInstance, 'template', currentID, !!curOpt.isStringTemplate), li);\n }\n }\n li.setAttribute('data-value', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? 'null' : value);\n li.setAttribute('role', 'option');\n }\n if (curOpt.itemCreated && typeof curOpt.itemCreated === 'function') {\n var curData = {\n dataSource: dataSource,\n curData: curItem,\n text: value,\n item: li,\n options: curOpt,\n fields: curFields\n };\n curOpt.itemCreated(curData);\n }\n liCollection.push(li);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(liCollection, ulElement);\n return ulElement;\n }\n ListBase.renderContentTemplate = renderContentTemplate;\n /**\n * Created header items from group template.\n *\n * @param {string | Function} groupTemplate - that need to convert and generate li element.\n *\n * @param {{Object}[]} groupDataSource - Specifies local JSON data source.\n *\n * @param {FieldsMapping} fields - Specifies fields for mapping the dataSource.\n *\n * @param {Element[]} headerItems - Specifies ListBase header items.\n *\n * @param {ListBaseOptions} [options] - Optional ListBase options.\n *\n * @param {*} [componentInstance] - Optional component instance.\n *\n * @returns {Element[]} - An array of header elements with the rendered group template content.\n */\n function renderGroupTemplate(groupTemplate, \n // tslint:disable-next-line\n groupDataSource, fields, headerItems, options, componentInstance) {\n var compiledString = compileTemplate(groupTemplate);\n var curFields = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, ListBase.defaultMappedFields, fields);\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var category = curFields.groupBy;\n for (var _i = 0, headerItems_1 = headerItems; _i < headerItems_1.length; _i++) {\n var header = headerItems_1[_i];\n var headerData = {};\n headerData[\"\" + category] = header.textContent;\n header.innerHTML = '';\n if (componentInstance && componentInstance.getModuleName() !== 'listview') {\n var compiledElement = compiledString(headerData, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, header);\n if (compiledElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledElement, header);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledString(headerData, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate), header);\n }\n }\n return headerItems;\n }\n ListBase.renderGroupTemplate = renderGroupTemplate;\n /**\n * Generates a random hexadecimal ID string.\n *\n * @returns {string} - The generated ID string.\n */\n function generateId() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n ListBase.generateId = generateId;\n /**\n * Processes the sub-child elements and creates corresponding elements based on the provided field data and options.\n *\n * @param {Function} createElement - Function for creating elements.\n * @param {Object} fieldData - Field data containing sub-child information.\n * @param {FieldsMapping} fields - Field mappings.\n * @param {Object[]} ds - The data source array containing sub-child elements.\n * @param {ListBaseOptions} options - ListBase options.\n * @param {HTMLElement} element - The parent HTML element to append sub-child elements to.\n * @param {number} level - The level of the sub-child elements.\n * @returns {void}\n */\n function processSubChild(createElement, fieldData, fields, ds, options, element, level) {\n // Get SubList\n var subDS = fieldData[fields.child] || [];\n var hasChildren = fieldData[fields.hasChildren];\n //Create Sub child\n if (subDS.length) {\n hasChildren = true;\n element.classList.add(cssClass.hasChild);\n if (options.processSubChild) {\n var subLi = createListFromJson(createElement, subDS, options, ++level);\n element.appendChild(subLi);\n }\n }\n // Create expand and collapse node\n if (!!options.expandCollapse && hasChildren && !options.template) {\n element.firstElementChild.classList.add(cssClass.iconWrapper);\n var expandElement = options.expandIconPosition === 'Left' ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append;\n expandElement([createElement('div', { className: 'e-icons ' + options.expandIconClass })], element.querySelector('.' + cssClass.textContent));\n }\n }\n /**\n * Generates a single-level LI (list item) element based on the provided item and field data.\n *\n * @param {Function} createElement - Function for creating elements.\n * @param {string | Object | number} item - The item data.\n * @param {Object} fieldData - Field data mapped from the item.\n * @param {FieldsMapping} [fields] - Field mappings.\n * @param {string} [className] - Optional class name to add to the created LI element.\n * @param {HTMLElement[]} [innerElements] - Optional array of inner elements to append to the LI element.\n * @param {boolean} [grpLI] - Indicates if the LI element is a group item.\n * @param {string} [id] - The ID of the LI element.\n * @param {number} [index] - The index of the LI element.\n * @param {ListBaseOptions} [options] - Optional ListBase options.\n * @returns {HTMLElement} - The generated LI element.\n */\n function generateSingleLevelLI(createElement, item, fieldData, fields, className, innerElements, grpLI, id, index, options) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var ariaAttributes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultAriaAttributes, curOpt.ariaAttributes);\n var text = item;\n var value = item;\n var dataSource;\n if (typeof item !== 'string' && typeof item !== 'number' && typeof item !== 'boolean') {\n dataSource = item;\n text = (typeof fieldData[fields.text] === 'boolean' || typeof fieldData[fields.text] === 'number') ?\n fieldData[fields.text] : (fieldData[fields.text] || '');\n value = fieldData[fields.value];\n }\n var elementID;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataSource) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData[fields.id])\n && fieldData[fields.id] !== '') {\n elementID = id;\n }\n else {\n elementID = id + '-' + index;\n }\n var li = createElement('li', {\n className: (grpLI === true ? cssClass.group : cssClass.li) + ' ' + ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(className) ? '' : className),\n id: elementID, attrs: (ariaAttributes.groupItemRole !== '' && ariaAttributes.itemRole !== '' ?\n { role: (grpLI === true ? ariaAttributes.groupItemRole : ariaAttributes.itemRole) } : {})\n });\n if (dataSource && Object.prototype.hasOwnProperty.call(fieldData, fields.enabled) && fieldData[fields.enabled].toString() === 'false') {\n li.classList.add(cssClass.disabled);\n }\n if (options && options.enableHtmlSanitizer) {\n text = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(text);\n }\n if (grpLI) {\n li.innerText = text;\n }\n else {\n li.setAttribute('data-value', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value) ? 'null' : value);\n li.setAttribute('role', 'option');\n if (dataSource && Object.prototype.hasOwnProperty.call(fieldData, fields.htmlAttributes) && fieldData[fields.htmlAttributes]) {\n setAttribute(li, fieldData[fields.htmlAttributes]);\n }\n if (innerElements.length && !curOpt.itemNavigable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(innerElements, li);\n }\n if (dataSource && (fieldData[fields.url] || (fieldData[fields.urlAttributes] &&\n fieldData[fields.urlAttributes].href))) {\n li.appendChild(anchorTag(createElement, dataSource, fields, text, innerElements, curOpt.itemNavigable));\n }\n else {\n if (innerElements.length && curOpt.itemNavigable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(innerElements, li);\n }\n li.appendChild(document.createTextNode(text));\n }\n }\n return li;\n }\n /**\n * Returns a set of CSS class names based on the provided module name.\n *\n * @param {string} moduleName - The name of the module.\n * @returns {ClassList} - The CSS class names associated with the module.\n */\n function getModuleClass(moduleName) {\n var moduleClass;\n // eslint-disable-next-line\n return moduleClass = {\n li: \"e-\" + moduleName + \"-item\",\n ul: \"e-\" + moduleName + \"-parent e-ul\",\n group: \"e-\" + moduleName + \"-group-item\",\n icon: \"e-\" + moduleName + \"-icon\",\n text: \"e-\" + moduleName + \"-text\",\n check: \"e-\" + moduleName + \"-check\",\n checked: 'e-checked',\n selected: 'e-selected',\n expanded: 'e-expanded',\n textContent: 'e-text-content',\n hasChild: 'e-has-child',\n level: 'e-level',\n url: \"e-\" + moduleName + \"-url\",\n collapsible: 'e-icon-collapsible',\n disabled: 'e-disabled',\n image: \"e-\" + moduleName + \"-img\",\n iconWrapper: 'e-icon-wrapper',\n anchorWrap: 'e-anchor-wrap',\n navigable: 'e-navigable'\n };\n }\n /**\n * Creates an anchor tag () element based on the provided data source, fields, and text.\n *\n * @param {Function} createElement - Function for creating elements.\n * @param {object} dataSource - The data source containing URL-related fields.\n * @param {FieldsMapping} fields - Field mappings for the data source.\n * @param {string} text - The text content of the anchor tag.\n * @param {HTMLElement[]} innerElements - Optional array of inner elements to append to the anchor tag.\n * @param {boolean} isFullNavigation - Indicates whether the anchor tag should be for full navigation.\n * @returns {HTMLElement} The created anchor tag element.\n */\n function anchorTag(createElement, dataSource, fields, text, innerElements, isFullNavigation) {\n var fieldData = getFieldValues(dataSource, fields);\n var attr = { href: fieldData[fields.url] };\n if (Object.prototype.hasOwnProperty.call(fieldData, fields.urlAttributes) && fieldData[fields.urlAttributes]) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.merge)(attr, fieldData[fields.urlAttributes]);\n attr.href = fieldData[fields.url] ? fieldData[fields.url] :\n fieldData[fields.urlAttributes].href;\n }\n var anchorTag;\n if (!isFullNavigation) {\n anchorTag = createElement('a', { className: cssClass.text + ' ' + cssClass.url, innerHTML: text });\n }\n else {\n anchorTag = createElement('a', { className: cssClass.text + ' ' + cssClass.url });\n var anchorWrapper = createElement('div', { className: cssClass.anchorWrap });\n if (innerElements && innerElements.length) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(innerElements, anchorWrapper);\n }\n anchorWrapper.appendChild(document.createTextNode(text));\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([anchorWrapper], anchorTag);\n }\n setAttribute(anchorTag, attr);\n return anchorTag;\n }\n /**\n * Generates an LI element based on the provided item and field data.\n *\n * @param {Function} createElement - Function for creating elements.\n * @param {string | Object | number} item - The item data.\n * @param {Object} fieldData - Field data mapped from the item.\n * @param {FieldsMapping} fields - Field mappings.\n * @param {string} [className] - Optional class name to add to the created LI element.\n * @param {ListBaseOptions} [options] - Optional ListBase options.\n * @param {*} [componentInstance] - Optional component instance.\n * @returns {HTMLElement} - The generated LI element.\n */\n function generateLI(createElement, item, fieldData, fields, className, options, componentInstance) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var ariaAttributes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultAriaAttributes, curOpt.ariaAttributes);\n var text = item;\n var uID;\n var grpLI;\n var dataSource;\n if (typeof item !== 'string' && typeof item !== 'number') {\n dataSource = item;\n text = fieldData[fields.text] || '';\n uID = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(fieldData['_id'])) ? fieldData[fields.id] : fieldData['_id'];\n grpLI = (Object.prototype.hasOwnProperty.call(item, 'isHeader') && item.isHeader)\n ? true : false;\n }\n if (options && options.enableHtmlSanitizer) {\n text = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(text);\n }\n var li = createElement('li', {\n className: (grpLI === true ? cssClass.group : cssClass.li) + ' ' + ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(className) ? '' : className),\n attrs: (ariaAttributes.groupItemRole !== '' && ariaAttributes.itemRole !== '' ?\n { role: (grpLI === true ? ariaAttributes.groupItemRole : ariaAttributes.itemRole) } : {})\n });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(uID) === true) {\n li.setAttribute('data-uid', uID);\n }\n else {\n li.setAttribute('data-uid', generateId());\n }\n if (grpLI && options && options.groupTemplate) {\n var compiledString = compileTemplate(options.groupTemplate);\n if (componentInstance && componentInstance.getModuleName() !== 'listview') {\n var compiledElement = compiledString(item, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, li);\n if (compiledElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledElement, li);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledString(item, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate), li);\n }\n }\n else if (!grpLI && options && options.template) {\n var compiledString = compileTemplate(options.template);\n if (componentInstance && componentInstance.getModuleName() !== 'listview') {\n var compiledElement = compiledString(item, componentInstance, 'template', curOpt.templateID, !!curOpt.isStringTemplate, null, li);\n if (compiledElement) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledElement, li);\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(compiledString(item, componentInstance, 'template', curOpt.templateID, !!curOpt.isStringTemplate), li);\n }\n }\n else {\n var innerDiv = createElement('div', {\n className: cssClass.textContent,\n attrs: (ariaAttributes.wrapperRole !== '' ? { role: ariaAttributes.wrapperRole } : {})\n });\n if (dataSource && (fieldData[fields.url] || (fieldData[fields.urlAttributes] &&\n fieldData[fields.urlAttributes].href))) {\n innerDiv.appendChild(anchorTag(createElement, dataSource, fields, text, null, curOpt.itemNavigable));\n }\n else {\n var element = createElement('span', {\n className: cssClass.text,\n attrs: (ariaAttributes.itemText !== '' ? { role: ariaAttributes.itemText } : {})\n });\n if (options && options.enableHtmlSanitizer) {\n element.innerText = text;\n }\n else {\n element.innerHTML = text;\n }\n innerDiv.appendChild(element);\n }\n li.appendChild(innerDiv);\n }\n return li;\n }\n /**\n * Returns UL element based on the given LI element.\n *\n * @param {Function} createElement - Function for creating elements.\n *\n * @param {HTMLElement[]} liElement - Specifies array of LI element.\n *\n * @param {string} [className] - Specifies class name that need to be added in UL element.\n *\n * @param {ListBaseOptions} [options] - Specifies ListBase options.\n *\n * @returns {HTMLElement} - The created UL element.\n */\n function generateUL(createElement, liElement, className, options) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n var ariaAttributes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultAriaAttributes, curOpt.ariaAttributes);\n cssClass = getModuleClass(curOpt.moduleName);\n var ulElement = createElement('ul', {\n className: cssClass.ul + ' ' + ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(className) ? '' : className),\n attrs: (ariaAttributes.listRole !== '' ? { role: ariaAttributes.listRole } : {})\n });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(liElement, ulElement);\n return ulElement;\n }\n ListBase.generateUL = generateUL;\n /**\n * Returns LI element with additional DIV tag based on the given LI element.\n *\n * @param {Function} createElement - Function for creating elements.\n *\n * @param {liElement} liElement - Specifies LI element.\n *\n * @param {string} [className] - Specifies class name that need to be added in created DIV element.\n *\n * @param {ListBaseOptions} [options] - Specifies ListBase options.\n *\n * @returns {HTMLElement} - The modified LI element.\n */\n function generateIcon(createElement, liElement, className, options) {\n var curOpt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultListBaseOptions, options);\n cssClass = getModuleClass(curOpt.moduleName);\n var expandElement = curOpt.expandIconPosition === 'Left' ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append;\n expandElement([createElement('div', {\n className: 'e-icons ' + curOpt.expandIconClass + ' ' +\n ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(className) ? '' : className)\n })], liElement.querySelector('.' + cssClass.textContent));\n return liElement;\n }\n ListBase.generateIcon = generateIcon;\n})(ListBase || (ListBase = {}));\n/**\n * Used to get dataSource item from complex data using fields.\n *\n * @param {Object} dataItem - Specifies an JSON or String data.\n *\n * @param {FieldsMapping} fields - Fields that are mapped from the dataSource.\n * @returns {Object|string|number} - The retrieved field values.\n */\nfunction getFieldValues(dataItem, fields) {\n var fieldData = {};\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem) || typeof (dataItem) === 'string' || typeof (dataItem) === 'number'\n || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataItem.isHeader)) {\n return dataItem;\n }\n else {\n for (var _i = 0, _a = Object.keys(fields); _i < _a.length; _i++) {\n var field = _a[_i];\n var dataField = fields[\"\" + field];\n var value = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dataField) &&\n typeof (dataField) === 'string' ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)(dataField, dataItem) : undefined;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(value)) {\n fieldData[\"\" + dataField] = value;\n }\n }\n }\n return fieldData;\n}\n/**\n * Compiles a template string or function into a compiled function.\n *\n * @param {string | Function} template - The template string or function to compile.\n * @returns {Function | undefined} - The compiled function, or undefined if the input is false.\n */\nfunction compileTemplate(template) {\n if (template) {\n try {\n if (typeof template !== 'function' && document.querySelector(template)) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(document.querySelector(template).innerHTML.trim());\n }\n else {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n }\n catch (e) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n }\n }\n return undefined;\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-lists/src/common/list-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HScroll: () => (/* binding */ HScroll)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar CLS_ROOT = 'e-hscroll';\nvar CLS_RTL = 'e-rtl';\nvar CLS_DISABLE = 'e-overlay';\nvar CLS_HSCROLLBAR = 'e-hscroll-bar';\nvar CLS_HSCROLLCON = 'e-hscroll-content';\nvar CLS_NAVARROW = 'e-nav-arrow';\nvar CLS_NAVRIGHTARROW = 'e-nav-right-arrow';\nvar CLS_NAVLEFTARROW = 'e-nav-left-arrow';\nvar CLS_HSCROLLNAV = 'e-scroll-nav';\nvar CLS_HSCROLLNAVRIGHT = 'e-scroll-right-nav';\nvar CLS_HSCROLLNAVLEFT = 'e-scroll-left-nav';\nvar CLS_DEVICE = 'e-scroll-device';\nvar CLS_OVERLAY = 'e-scroll-overlay';\nvar CLS_RIGHTOVERLAY = 'e-scroll-right-overlay';\nvar CLS_LEFTOVERLAY = 'e-scroll-left-overlay';\nvar OVERLAY_MAXWID = 40;\n/**\n * HScroll module is introduces horizontal scroller when content exceeds the current viewing area.\n * It can be useful for the components like Toolbar, Tab which needs horizontal scrolling alone.\n * Hidden content can be view by touch moving or icon click.\n * ```html\n *
      \n * \n * ```\n */\nvar HScroll = /** @class */ (function (_super) {\n __extends(HScroll, _super);\n /**\n * Initializes a new instance of the HScroll class.\n *\n * @param {HScrollModel} options - Specifies HScroll model properties as options.\n * @param {string | HTMLElement} element - Specifies the element for which horizontal scrolling applies.\n */\n function HScroll(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Initialize the event handler\n *\n * @private\n * @returns {void}\n */\n HScroll.prototype.preRender = function () {\n this.browser = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name;\n this.browserCheck = this.browser === 'mozilla';\n this.isDevice = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice;\n this.customStep = true;\n var element = this.element;\n this.ieCheck = this.browser === 'edge' || this.browser === 'msie';\n this.initialize();\n if (element.id === '') {\n element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('hscroll');\n this.uniqueId = true;\n }\n element.style.display = 'block';\n if (this.enableRtl) {\n element.classList.add(CLS_RTL);\n }\n };\n /**\n * To Initialize the horizontal scroll rendering\n *\n * @private\n * @returns {void}\n */\n HScroll.prototype.render = function () {\n this.touchModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(this.element, { scroll: this.touchHandler.bind(this), swipe: this.swipeHandler.bind(this) });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.scrollEle, 'scroll', this.scrollHandler, this);\n if (!this.isDevice) {\n this.createNavIcon(this.element);\n }\n else {\n this.element.classList.add(CLS_DEVICE);\n this.createOverlay(this.element);\n }\n this.setScrollState();\n };\n HScroll.prototype.setScrollState = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.scrollStep) || this.scrollStep < 0) {\n this.scrollStep = this.scrollEle.offsetWidth;\n this.customStep = false;\n }\n else {\n this.customStep = true;\n }\n };\n HScroll.prototype.initialize = function () {\n var scrollEle = this.createElement('div', { className: CLS_HSCROLLCON });\n var scrollDiv = this.createElement('div', { className: CLS_HSCROLLBAR });\n scrollDiv.setAttribute('tabindex', '-1');\n var ele = this.element;\n var innerEle = [].slice.call(ele.children);\n for (var _i = 0, innerEle_1 = innerEle; _i < innerEle_1.length; _i++) {\n var ele_1 = innerEle_1[_i];\n scrollEle.appendChild(ele_1);\n }\n scrollDiv.appendChild(scrollEle);\n ele.appendChild(scrollDiv);\n scrollDiv.style.overflowX = 'hidden';\n this.scrollEle = scrollDiv;\n this.scrollItems = scrollEle;\n };\n HScroll.prototype.getPersistData = function () {\n var keyEntity = ['scrollStep'];\n return this.addOnPersist(keyEntity);\n };\n /**\n * Returns the current module name.\n *\n * @returns {string} - It returns the current module name.\n * @private\n */\n HScroll.prototype.getModuleName = function () {\n return 'hScroll';\n };\n /**\n * Removes the control from the DOM and also removes all its related events.\n *\n * @returns {void}\n */\n HScroll.prototype.destroy = function () {\n var ele = this.element;\n ele.style.display = '';\n ele.classList.remove(CLS_ROOT);\n ele.classList.remove(CLS_DEVICE);\n ele.classList.remove(CLS_RTL);\n var nav = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-' + ele.id + '_nav.' + CLS_HSCROLLNAV, ele);\n var overlay = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_OVERLAY, ele);\n [].slice.call(overlay).forEach(function (ele) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(ele);\n });\n for (var _i = 0, _a = [].slice.call(this.scrollItems.children); _i < _a.length; _i++) {\n var elem = _a[_i];\n ele.appendChild(elem);\n }\n if (this.uniqueId) {\n this.element.removeAttribute('id');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.scrollEle);\n if (nav.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(nav[0]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(nav[1])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(nav[1]);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.scrollEle, 'scroll', this.scrollHandler);\n this.touchModule.destroy();\n this.touchModule = null;\n _super.prototype.destroy.call(this);\n };\n /**\n * Specifies the value to disable/enable the HScroll component.\n * When set to `true` , the component will be disabled.\n *\n * @param {boolean} value - Based on this Boolean value, HScroll will be enabled (false) or disabled (true).\n * @returns {void}.\n */\n HScroll.prototype.disable = function (value) {\n var navEles = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-scroll-nav:not(.' + CLS_DISABLE + ')', this.element);\n if (value) {\n this.element.classList.add(CLS_DISABLE);\n }\n else {\n this.element.classList.remove(CLS_DISABLE);\n }\n [].slice.call(navEles).forEach(function (el) {\n el.setAttribute('tabindex', !value ? '0' : '-1');\n });\n };\n HScroll.prototype.createOverlay = function (element) {\n var id = element.id.concat('_nav');\n var rightOverlayEle = this.createElement('div', { className: CLS_OVERLAY + ' ' + CLS_RIGHTOVERLAY });\n var clsRight = 'e-' + element.id.concat('_nav ' + CLS_HSCROLLNAV + ' ' + CLS_HSCROLLNAVRIGHT);\n var rightEle = this.createElement('div', { id: id.concat('_right'), className: clsRight });\n var navItem = this.createElement('div', { className: CLS_NAVRIGHTARROW + ' ' + CLS_NAVARROW + ' e-icons' });\n rightEle.appendChild(navItem);\n var leftEle = this.createElement('div', { className: CLS_OVERLAY + ' ' + CLS_LEFTOVERLAY });\n if (this.ieCheck) {\n rightEle.classList.add('e-ie-align');\n }\n element.appendChild(rightOverlayEle);\n element.appendChild(rightEle);\n element.insertBefore(leftEle, element.firstChild);\n this.eventBinding([rightEle]);\n };\n HScroll.prototype.createNavIcon = function (element) {\n var id = element.id.concat('_nav');\n var clsRight = 'e-' + element.id.concat('_nav ' + CLS_HSCROLLNAV + ' ' + CLS_HSCROLLNAVRIGHT);\n var rightAttributes = { 'role': 'button', 'id': id.concat('_right'), 'aria-label': 'Scroll right' };\n var nav = this.createElement('div', { className: clsRight, attrs: rightAttributes });\n nav.setAttribute('aria-disabled', 'false');\n var navItem = this.createElement('div', { className: CLS_NAVRIGHTARROW + ' ' + CLS_NAVARROW + ' e-icons' });\n var clsLeft = 'e-' + element.id.concat('_nav ' + CLS_HSCROLLNAV + ' ' + CLS_HSCROLLNAVLEFT);\n var leftAttributes = { 'role': 'button', 'id': id.concat('_left'), 'aria-label': 'Scroll left' };\n var navEle = this.createElement('div', { className: clsLeft + ' ' + CLS_DISABLE, attrs: leftAttributes });\n navEle.setAttribute('aria-disabled', 'true');\n var navLeftItem = this.createElement('div', { className: CLS_NAVLEFTARROW + ' ' + CLS_NAVARROW + ' e-icons' });\n navEle.appendChild(navLeftItem);\n nav.appendChild(navItem);\n element.appendChild(nav);\n element.insertBefore(navEle, element.firstChild);\n if (this.ieCheck) {\n nav.classList.add('e-ie-align');\n navEle.classList.add('e-ie-align');\n }\n this.eventBinding([nav, navEle]);\n };\n HScroll.prototype.onKeyPress = function (e) {\n var _this = this;\n if (e.key === 'Enter') {\n var timeoutFun_1 = function () {\n _this.keyTimeout = true;\n _this.eleScrolling(10, e.target, true);\n };\n this.keyTimer = window.setTimeout(function () {\n timeoutFun_1();\n }, 100);\n }\n };\n HScroll.prototype.onKeyUp = function (e) {\n if (e.key !== 'Enter') {\n return;\n }\n if (this.keyTimeout) {\n this.keyTimeout = false;\n }\n else {\n e.target.click();\n }\n clearTimeout(this.keyTimer);\n };\n HScroll.prototype.eventBinding = function (ele) {\n var _this = this;\n [].slice.call(ele).forEach(function (el) {\n new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(el, { tapHold: _this.tabHoldHandler.bind(_this), tapHoldThreshold: 500 });\n el.addEventListener('keydown', _this.onKeyPress.bind(_this));\n el.addEventListener('keyup', _this.onKeyUp.bind(_this));\n el.addEventListener('mouseup', _this.repeatScroll.bind(_this));\n el.addEventListener('touchend', _this.repeatScroll.bind(_this));\n el.addEventListener('contextmenu', function (e) {\n e.preventDefault();\n });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(el, 'click', _this.clickEventHandler, _this);\n });\n };\n HScroll.prototype.repeatScroll = function () {\n clearInterval(this.timeout);\n };\n HScroll.prototype.tabHoldHandler = function (e) {\n var _this = this;\n var trgt = e.originalEvent.target;\n trgt = this.contains(trgt, CLS_HSCROLLNAV) ? trgt.firstElementChild : trgt;\n var scrollDis = 10;\n var timeoutFun = function () {\n _this.eleScrolling(scrollDis, trgt, true);\n };\n this.timeout = window.setInterval(function () {\n timeoutFun();\n }, 50);\n };\n HScroll.prototype.contains = function (ele, className) {\n return ele.classList.contains(className);\n };\n HScroll.prototype.eleScrolling = function (scrollDis, trgt, isContinuous) {\n var rootEle = this.element;\n var classList = trgt.classList;\n if (classList.contains(CLS_HSCROLLNAV)) {\n classList = trgt.querySelector('.' + CLS_NAVARROW).classList;\n }\n if (this.contains(rootEle, CLS_RTL) && this.browserCheck) {\n scrollDis = -scrollDis;\n }\n if ((!this.contains(rootEle, CLS_RTL) || this.browserCheck) || this.ieCheck) {\n if (classList.contains(CLS_NAVRIGHTARROW)) {\n this.frameScrollRequest(scrollDis, 'add', isContinuous);\n }\n else {\n this.frameScrollRequest(scrollDis, '', isContinuous);\n }\n }\n else {\n if (classList.contains(CLS_NAVLEFTARROW)) {\n this.frameScrollRequest(scrollDis, 'add', isContinuous);\n }\n else {\n this.frameScrollRequest(scrollDis, '', isContinuous);\n }\n }\n };\n HScroll.prototype.clickEventHandler = function (e) {\n this.eleScrolling(this.scrollStep, e.target, false);\n };\n HScroll.prototype.swipeHandler = function (e) {\n var swipeEle = this.scrollEle;\n var distance;\n if (e.velocity <= 1) {\n distance = e.distanceX / (e.velocity * 10);\n }\n else {\n distance = e.distanceX / e.velocity;\n }\n var start = 0.5;\n var animate = function () {\n var step = Math.sin(start);\n if (step <= 0) {\n window.cancelAnimationFrame(step);\n }\n else {\n if (e.swipeDirection === 'Left') {\n swipeEle.scrollLeft += distance * step;\n }\n else if (e.swipeDirection === 'Right') {\n swipeEle.scrollLeft -= distance * step;\n }\n start -= 0.5;\n window.requestAnimationFrame(animate);\n }\n };\n animate();\n };\n HScroll.prototype.scrollUpdating = function (scrollVal, action) {\n if (action === 'add') {\n this.scrollEle.scrollLeft += scrollVal;\n }\n else {\n this.scrollEle.scrollLeft -= scrollVal;\n }\n if (this.enableRtl && this.scrollEle.scrollLeft > 0) {\n this.scrollEle.scrollLeft = 0;\n }\n };\n HScroll.prototype.frameScrollRequest = function (scrollVal, action, isContinuous) {\n var _this = this;\n var step = 10;\n if (isContinuous) {\n this.scrollUpdating(scrollVal, action);\n return;\n }\n if (!this.customStep) {\n [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_OVERLAY, this.element)).forEach(function (el) {\n scrollVal -= el.offsetWidth;\n });\n }\n var animate = function () {\n var scrollValue;\n var scrollStep;\n if (_this.contains(_this.element, CLS_RTL) && _this.browserCheck) {\n scrollValue = -scrollVal;\n scrollStep = -step;\n }\n else {\n scrollValue = scrollVal;\n scrollStep = step;\n }\n if (scrollValue < step) {\n window.cancelAnimationFrame(scrollStep);\n }\n else {\n _this.scrollUpdating(scrollStep, action);\n scrollVal -= scrollStep;\n window.requestAnimationFrame(animate);\n }\n };\n animate();\n };\n HScroll.prototype.touchHandler = function (e) {\n var ele = this.scrollEle;\n var distance = e.distanceX;\n if ((this.ieCheck) && this.contains(this.element, CLS_RTL)) {\n distance = -distance;\n }\n if (e.scrollDirection === 'Left') {\n ele.scrollLeft = ele.scrollLeft + distance;\n }\n else if (e.scrollDirection === 'Right') {\n ele.scrollLeft = ele.scrollLeft - distance;\n }\n };\n HScroll.prototype.arrowDisabling = function (addDisable, removeDisable) {\n if (this.isDevice) {\n var arrowEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(addDisable) ? removeDisable : addDisable;\n var arrowIcon = arrowEle.querySelector('.' + CLS_NAVARROW);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(addDisable)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(arrowIcon, [CLS_NAVRIGHTARROW], [CLS_NAVLEFTARROW]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(arrowIcon, [CLS_NAVLEFTARROW], [CLS_NAVRIGHTARROW]);\n }\n }\n else if (addDisable && removeDisable) {\n addDisable.classList.add(CLS_DISABLE);\n addDisable.setAttribute('aria-disabled', 'true');\n addDisable.removeAttribute('tabindex');\n removeDisable.classList.remove(CLS_DISABLE);\n removeDisable.setAttribute('aria-disabled', 'false');\n removeDisable.setAttribute('tabindex', '0');\n }\n this.repeatScroll();\n };\n HScroll.prototype.scrollHandler = function (e) {\n var target = e.target;\n var width = target.offsetWidth;\n var rootEle = this.element;\n var navLeftEle = this.element.querySelector('.' + CLS_HSCROLLNAVLEFT);\n var navRightEle = this.element.querySelector('.' + CLS_HSCROLLNAVRIGHT);\n var leftOverlay = this.element.querySelector('.' + CLS_LEFTOVERLAY);\n var rightOverlay = this.element.querySelector('.' + CLS_RIGHTOVERLAY);\n var scrollLeft = target.scrollLeft;\n if (scrollLeft <= 0) {\n scrollLeft = -scrollLeft;\n }\n if (this.isDevice) {\n if (this.enableRtl && !(this.browserCheck || this.ieCheck)) {\n leftOverlay = this.element.querySelector('.' + CLS_RIGHTOVERLAY);\n rightOverlay = this.element.querySelector('.' + CLS_LEFTOVERLAY);\n }\n if (scrollLeft < OVERLAY_MAXWID) {\n leftOverlay.style.width = scrollLeft + 'px';\n }\n else {\n leftOverlay.style.width = '40px';\n }\n if ((target.scrollWidth - Math.ceil(width + scrollLeft)) < OVERLAY_MAXWID) {\n rightOverlay.style.width = (target.scrollWidth - Math.ceil(width + scrollLeft)) + 'px';\n }\n else {\n rightOverlay.style.width = '40px';\n }\n }\n if (scrollLeft === 0) {\n this.arrowDisabling(navLeftEle, navRightEle);\n }\n else if (Math.ceil(width + scrollLeft + .1) >= target.scrollWidth) {\n this.arrowDisabling(navRightEle, navLeftEle);\n }\n else {\n var disEle = this.element.querySelector('.' + CLS_HSCROLLNAV + '.' + CLS_DISABLE);\n if (disEle) {\n disEle.classList.remove(CLS_DISABLE);\n disEle.setAttribute('aria-disabled', 'false');\n disEle.setAttribute('tabindex', '0');\n }\n }\n };\n /**\n * Gets called when the model property changes.The data that describes the old and new values of property that changed.\n *\n * @param {HScrollModel} newProp - It contains the new value of data.\n * @param {HScrollModel} oldProp - It contains the old value of data.\n * @returns {void}\n * @private\n */\n HScroll.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'scrollStep':\n this.setScrollState();\n break;\n case 'enableRtl':\n newProp.enableRtl ? this.element.classList.add(CLS_RTL) : this.element.classList.remove(CLS_RTL);\n break;\n }\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], HScroll.prototype, \"scrollStep\", void 0);\n HScroll = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], HScroll);\n return HScroll;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-navigations/src/common/menu-base.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-navigations/src/common/menu-base.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FieldSettings: () => (/* binding */ FieldSettings),\n/* harmony export */ MenuAnimationSettings: () => (/* binding */ MenuAnimationSettings),\n/* harmony export */ MenuBase: () => (/* binding */ MenuBase),\n/* harmony export */ MenuItem: () => (/* binding */ MenuItem)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-lists */ \"./node_modules/@syncfusion/ej2-lists/src/common/list-base.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/collision.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _common_h_scroll__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/h-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.js\");\n/* harmony import */ var _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/v-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.js\");\n/* harmony import */ var _common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/menu-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/menu-scroll.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\nvar ENTER = 'enter';\nvar ESCAPE = 'escape';\nvar FOCUSED = 'e-focused';\nvar HEADER = 'e-menu-header';\nvar SELECTED = 'e-selected';\nvar SEPARATOR = 'e-separator';\nvar UPARROW = 'uparrow';\nvar DOWNARROW = 'downarrow';\nvar LEFTARROW = 'leftarrow';\nvar RIGHTARROW = 'rightarrow';\nvar HOME = 'home';\nvar END = 'end';\nvar TAB = 'tab';\nvar CARET = 'e-caret';\nvar ITEM = 'e-menu-item';\nvar DISABLED = 'e-disabled';\nvar HIDE = 'e-menu-hide';\nvar ICONS = 'e-icons';\nvar RTL = 'e-rtl';\nvar POPUP = 'e-menu-popup';\nvar TEMPLATE_PROPERTY = 'Template';\n/**\n * Configures the field options of the Menu.\n */\nvar FieldSettings = /** @class */ (function (_super) {\n __extends(FieldSettings, _super);\n function FieldSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('id')\n ], FieldSettings.prototype, \"itemId\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('parentId')\n ], FieldSettings.prototype, \"parentId\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('text')\n ], FieldSettings.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('iconCss')\n ], FieldSettings.prototype, \"iconCss\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('url')\n ], FieldSettings.prototype, \"url\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('separator')\n ], FieldSettings.prototype, \"separator\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('items')\n ], FieldSettings.prototype, \"children\", void 0);\n return FieldSettings;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * Specifies menu items.\n */\nvar MenuItem = /** @class */ (function (_super) {\n __extends(MenuItem, _super);\n function MenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MenuItem.prototype, \"iconCss\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], MenuItem.prototype, \"id\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MenuItem.prototype, \"separator\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([], MenuItem)\n ], MenuItem.prototype, \"items\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], MenuItem.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], MenuItem.prototype, \"url\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], MenuItem.prototype, \"htmlAttributes\", void 0);\n return MenuItem;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * Animation configuration settings.\n */\nvar MenuAnimationSettings = /** @class */ (function (_super) {\n __extends(MenuAnimationSettings, _super);\n function MenuAnimationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('SlideDown')\n ], MenuAnimationSettings.prototype, \"effect\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(400)\n ], MenuAnimationSettings.prototype, \"duration\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('ease')\n ], MenuAnimationSettings.prototype, \"easing\", void 0);\n return MenuAnimationSettings;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * Base class for Menu and ContextMenu components.\n *\n * @private\n */\nvar MenuBase = /** @class */ (function (_super) {\n __extends(MenuBase, _super);\n /**\n * Constructor for creating the widget.\n *\n * @private\n * @param {MenuBaseModel} options - Specifies the menu base model\n * @param {string | HTMLUListElement} element - Specifies the element\n */\n function MenuBase(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.navIdx = [];\n _this.animation = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation({});\n _this.isTapHold = false;\n _this.tempItem = [];\n _this.showSubMenuOn = 'Auto';\n _this.isAnimationNone = false;\n _this.isKBDAction = false;\n return _this;\n }\n /**\n * Initialized third party configuration settings.\n *\n * @private\n * @returns {void}\n */\n MenuBase.prototype.preRender = function () {\n if (!this.isMenu) {\n var ul = void 0;\n if (this.element.tagName === 'EJS-CONTEXTMENU') {\n ul = this.createElement('ul', {\n id: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)(this.getModuleName()), className: 'e-control e-lib e-' + this.getModuleName()\n });\n var ejInst = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', this.element);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], ['e-control', 'e-lib', 'e-' + this.getModuleName()]);\n this.clonedElement = this.element;\n this.element = ul;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', ejInst, this.element);\n }\n else {\n ul = this.createElement('ul', { id: (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)(this.getModuleName()) });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([].slice.call(this.element.cloneNode(true).children), ul);\n var refEle = this.element.nextElementSibling;\n if (refEle) {\n this.element.parentElement.insertBefore(ul, refEle);\n }\n else {\n this.element.parentElement.appendChild(ul);\n }\n this.clonedElement = ul;\n }\n this.clonedElement.style.display = 'none';\n }\n if (this.element.tagName === 'EJS-MENU') {\n var ele = this.element;\n var ejInstance = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getValue)('ej2_instances', ele);\n var ul = this.createElement('ul');\n var wrapper = this.createElement('EJS-MENU', { className: 'e-' + this.getModuleName() + '-wrapper' });\n for (var idx = 0, len = ele.attributes.length; idx < len; idx++) {\n ul.setAttribute(ele.attributes[idx].nodeName, ele.attributes[idx].nodeValue);\n }\n ele.parentNode.insertBefore(wrapper, ele);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(ele);\n ele = ul;\n wrapper.appendChild(ele);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setValue)('ej2_instances', ejInstance, ele);\n this.clonedElement = wrapper;\n this.element = ele;\n if (!this.element.id) {\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)(this.getModuleName());\n }\n }\n };\n /**\n * Initialize the control rendering.\n *\n * @private\n * @returns {void}\n */\n MenuBase.prototype.render = function () {\n var _this = this;\n this.initialize();\n this.renderItems();\n this.wireEvents();\n this.renderComplete();\n var wrapper = this.getWrapper();\n // eslint-disable-next-line\n if (this.template && this.enableScrolling && (this.isReact || this.isAngular)) {\n requestAnimationFrame(function () {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(_this.createElement, wrapper, _this.element, 'hscroll', _this.enableRtl);\n });\n }\n };\n MenuBase.prototype.enableTouchScroll = function (scrollList) {\n var touchStartY = 0;\n this.touchStartFn = function (e) {\n touchStartY = e.touches[0].clientY;\n };\n this.touchMoveFn = function (e) {\n var touchEndY = e.touches[0].clientY;\n var touchDiff = touchStartY - touchEndY;\n var atTop = scrollList.scrollTop === 0;\n var atBottom = scrollList.scrollTop + scrollList.clientHeight === scrollList.scrollHeight;\n if ((atTop && touchDiff < 0) || (atBottom && touchDiff > 0)) {\n e.preventDefault();\n }\n touchStartY = touchEndY;\n };\n scrollList.addEventListener('touchstart', this.touchStartFn, { passive: false });\n scrollList.addEventListener('touchmove', this.touchMoveFn, { passive: false });\n };\n MenuBase.prototype.touchOutsideHandler = function (e) {\n var target = e.target;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.e-' + this.getModuleName() + '-wrapper')) {\n this.closeMenu();\n }\n };\n MenuBase.prototype.initialize = function () {\n var wrapper = this.getWrapper();\n if (!wrapper) {\n wrapper = this.createElement('div', { className: 'e-' + this.getModuleName() + '-wrapper' });\n if (this.isMenu) {\n this.element.parentElement.insertBefore(wrapper, this.element);\n }\n else {\n document.body.appendChild(wrapper);\n }\n }\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n if (this.enableRtl) {\n wrapper.classList.add(RTL);\n }\n wrapper.appendChild(this.element);\n if (this.isMenu && this.hamburgerMode) {\n if (!this.target) {\n this.createHeaderContainer(wrapper);\n }\n }\n this.defaultOption = this.showItemOnClick;\n };\n MenuBase.prototype.renderItems = function () {\n if (!this.items.length) {\n var items = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_2__.ListBase.createJsonFromElement(this.element, { fields: { child: 'items' } });\n this.setProperties({ items: items }, true);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.isMenu) {\n this.element = this.removeChildElement(this.element);\n }\n else {\n this.element.innerHTML = '';\n }\n }\n var ul = this.createItems(this.items);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(Array.prototype.slice.call(ul.children), this.element);\n this.element.classList.add('e-menu-parent');\n if (this.isMenu) {\n if (!this.hamburgerMode && this.element.classList.contains('e-vertical')) {\n this.setBlankIconStyle(this.element);\n }\n if (this.enableScrolling) {\n var wrapper = this.getWrapper();\n if (this.element.classList.contains('e-vertical')) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this.createElement, wrapper, this.element, 'vscroll', this.enableRtl);\n }\n else {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this.createElement, wrapper, this.element, 'hscroll', this.enableRtl);\n }\n }\n }\n else {\n this.element.parentElement.setAttribute('role', 'dialog');\n this.element.parentElement.setAttribute('aria-label', 'context menu');\n }\n };\n MenuBase.prototype.wireEvents = function () {\n var wrapper = this.getWrapper();\n if (this.target) {\n var target = void 0;\n var targetElems = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(this.target);\n for (var i = 0, len = targetElems.length; i < len; i++) {\n target = targetElems[i];\n if (this.isMenu) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'click', this.menuHeaderClickHandler, this);\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos) {\n new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(target, { tapHold: this.touchHandler.bind(this) });\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'contextmenu', this.cmenuHandler, this);\n }\n }\n }\n this.targetElement = target;\n if (!this.isMenu) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.targetElement, 'scroll', this.scrollHandler, this);\n for (var _i = 0, _a = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.getScrollableParent)(this.targetElement); _i < _a.length; _i++) {\n var parent_1 = _a[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(parent_1, 'scroll', this.scrollHandler, this);\n }\n }\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.delegateMoverHandler = this.moverHandler.bind(this);\n this.delegateMouseDownHandler = this.mouseDownHandler.bind(this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.isMenu ? document : wrapper, 'mouseover', this.delegateMoverHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mousedown', this.delegateMouseDownHandler, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'keydown', this.domKeyHandler, this);\n if (!this.isMenu && !this.target) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'scroll', this.scrollHandler, this);\n }\n }\n this.delegateClickHandler = this.clickHandler.bind(this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'click', this.delegateClickHandler, this);\n this.wireKeyboardEvent(wrapper);\n this.rippleFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(wrapper, { selector: '.' + ITEM });\n if (!this.isMenu && this.enableScrolling) {\n this.enableTouchScroll(wrapper);\n document.addEventListener('touchstart', this.touchOutsideHandler.bind(this), { passive: true });\n }\n };\n MenuBase.prototype.wireKeyboardEvent = function (element) {\n var keyConfigs = {\n downarrow: DOWNARROW,\n uparrow: UPARROW,\n enter: ENTER,\n leftarrow: LEFTARROW,\n rightarrow: RIGHTARROW,\n escape: ESCAPE\n };\n if (this.isMenu) {\n keyConfigs.home = HOME;\n keyConfigs.end = END;\n keyConfigs.tab = TAB;\n }\n new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(element, {\n keyAction: this.keyBoardHandler.bind(this),\n keyConfigs: keyConfigs\n });\n };\n MenuBase.prototype.mouseDownHandler = function (e) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-' + this.getModuleName() + '-wrapper') !== this.getWrapper()\n && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-' + this.getModuleName() + '-popup'))) {\n this.closeMenu(this.isMenu ? null : this.navIdx.length, e);\n }\n };\n MenuBase.prototype.keyHandler = function (e) {\n if (e.keyCode === 38 || e.keyCode === 40) {\n if (e.target && (e.target.classList.contains('e-contextmenu') || e.target.classList.contains('e-menu-item'))) {\n e.preventDefault();\n }\n }\n };\n MenuBase.prototype.domKeyHandler = function (e) {\n if (e.keyCode === 27) {\n if (this.isMenuVisible()) {\n e.stopImmediatePropagation();\n }\n e.action = ESCAPE;\n this.leftEscKeyHandler(e);\n }\n };\n MenuBase.prototype.keyBoardHandler = function (e) {\n var actionName = '';\n var trgt = e.target;\n var actionNeeded = this.isMenu && !this.hamburgerMode && !this.element.classList.contains('e-vertical')\n && this.navIdx.length < 1;\n e.preventDefault();\n if (this.enableScrolling && e.keyCode === 13 && trgt.classList.contains('e-scroll-nav')) {\n this.removeLIStateByClass([FOCUSED, SELECTED], [(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.e-' + this.getModuleName() + '-wrapper')]);\n }\n this.isKBDAction = true;\n if (actionNeeded) {\n switch (e.action) {\n case RIGHTARROW:\n actionName = RIGHTARROW;\n e.action = DOWNARROW;\n break;\n case LEFTARROW:\n actionName = LEFTARROW;\n e.action = UPARROW;\n break;\n case DOWNARROW:\n actionName = DOWNARROW;\n e.action = RIGHTARROW;\n break;\n case UPARROW:\n actionName = UPARROW;\n e.action = '';\n break;\n }\n }\n else if (this.enableRtl) {\n switch (e.action) {\n case LEFTARROW:\n actionNeeded = true;\n actionName = LEFTARROW;\n e.action = RIGHTARROW;\n break;\n case RIGHTARROW:\n actionNeeded = true;\n actionName = RIGHTARROW;\n e.action = LEFTARROW;\n break;\n }\n }\n switch (e.action) {\n case DOWNARROW:\n case UPARROW:\n case END:\n case HOME:\n case TAB:\n this.upDownKeyHandler(e);\n break;\n case RIGHTARROW:\n this.rightEnterKeyHandler(e);\n break;\n case LEFTARROW:\n this.leftEscKeyHandler(e);\n break;\n case ENTER:\n if (this.hamburgerMode && trgt.tagName === 'SPAN' && trgt.classList.contains('e-menu-icon')) {\n this.menuHeaderClickHandler(e);\n }\n else {\n this.rightEnterKeyHandler(e);\n }\n break;\n }\n if (this.isAnimationNone) {\n this.isKBDAction = false;\n }\n if (actionNeeded) {\n e.action = actionName;\n }\n };\n MenuBase.prototype.upDownKeyHandler = function (e) {\n var cul = this.getUlByNavIdx();\n var defaultIdx = (e.action === DOWNARROW || e.action === HOME || e.action === TAB) ? 0 : cul.childElementCount - 1;\n var fliIdx = defaultIdx;\n var fli = this.getLIByClass(cul, FOCUSED);\n if (fli) {\n if (e.action !== END && e.action !== HOME) {\n fliIdx = this.getIdx(cul, fli);\n }\n fli.classList.remove(FOCUSED);\n if (e.action !== END && e.action !== HOME) {\n if (e.action === DOWNARROW) {\n fliIdx++;\n }\n else {\n fliIdx--;\n }\n if (fliIdx === (e.action === DOWNARROW ? cul.childElementCount : -1)) {\n fliIdx = defaultIdx;\n }\n }\n }\n var cli = cul.children[fliIdx];\n fliIdx = this.isValidLI(cli, fliIdx, e.action);\n cul.children[fliIdx].classList.add(FOCUSED);\n cul.children[fliIdx].focus();\n };\n MenuBase.prototype.isValidLI = function (cli, index, action) {\n var cul = this.getUlByNavIdx();\n var defaultIdx = (action === DOWNARROW || action === HOME || action === TAB) ? 0 : cul.childElementCount - 1;\n if (cli.classList.contains(SEPARATOR) || cli.classList.contains(DISABLED) || cli.classList.contains(HIDE)) {\n if (action === DOWNARROW && index === cul.childElementCount - 1) {\n index = defaultIdx;\n }\n else if (action === UPARROW && index === 0) {\n index = defaultIdx;\n }\n else if ((action === DOWNARROW) || (action === RIGHTARROW)) {\n index++;\n }\n else if (action === 'tab' && cli.classList.contains(SEPARATOR)) {\n index++;\n }\n else {\n index--;\n }\n }\n cli = cul.children[index];\n if (cli && (cli.classList.contains(SEPARATOR) || cli.classList.contains(DISABLED) || cli.classList.contains(HIDE))) {\n index = this.isValidLI(cli, index, action);\n }\n return index;\n };\n MenuBase.prototype.getUlByNavIdx = function (navIdxLen) {\n var _this = this;\n if (navIdxLen === void 0) { navIdxLen = this.navIdx.length; }\n if (this.isMenu) {\n var popup = [this.getWrapper()].concat([].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + POPUP)))[navIdxLen];\n var popups_1 = [];\n var allPopup = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + POPUP);\n allPopup.forEach(function (elem) {\n if (_this.element.id === elem.id.split('-')[2] || elem.id.split('-')[2] + '-' + elem.id.split('-')[3]) {\n popups_1.push(elem);\n }\n });\n popup = [this.getWrapper()].concat([].slice.call(popups_1))[navIdxLen];\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(popup) ? null : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-menu-parent', popup);\n }\n else {\n if (!document.body.contains(this.element) && navIdxLen === 0) {\n return null;\n }\n return this.getWrapper().children[navIdxLen];\n }\n };\n MenuBase.prototype.rightEnterKeyHandler = function (e) {\n var eventArgs;\n var cul = this.getUlByNavIdx();\n var fli = this.getLIByClass(cul, FOCUSED);\n if (fli) {\n var fliIdx = this.getIdx(cul, fli);\n var navIdx = this.navIdx.concat(fliIdx);\n var item = this.getItem(navIdx);\n if (item.items.length) {\n this.navIdx.push(fliIdx);\n this.keyType = 'right';\n this.action = e.action;\n this.openMenu(fli, item, -1, -1, e);\n }\n else {\n if (e.action === ENTER) {\n if (this.isMenu && this.navIdx.length === 0) {\n this.removeLIStateByClass([SELECTED], [this.getWrapper()]);\n }\n else {\n fli.classList.remove(FOCUSED);\n }\n fli.classList.add(SELECTED);\n eventArgs = { element: fli, item: item, event: e };\n this.trigger('select', eventArgs);\n var aEle = fli.querySelector('.e-menu-url');\n if (item.url && aEle) {\n switch (aEle.getAttribute('target')) {\n case '_blank':\n window.open(item.url, '_blank');\n break;\n case '_parent':\n window.parent.location.href = item.url;\n break;\n default:\n window.location.href = item.url;\n }\n }\n this.closeMenu(null, e);\n var sli = this.getLIByClass(this.getUlByNavIdx(), SELECTED);\n if (sli) {\n sli.classList.add(FOCUSED);\n sli.focus();\n }\n }\n }\n }\n };\n MenuBase.prototype.leftEscKeyHandler = function (e) {\n if (this.navIdx.length) {\n this.keyType = 'left';\n this.closeMenu(this.navIdx.length, e);\n }\n else {\n if (e.action === ESCAPE) {\n this.closeMenu(null, e);\n }\n }\n };\n MenuBase.prototype.scrollHandler = function (e) {\n this.closeMenu(null, e);\n };\n MenuBase.prototype.touchHandler = function (e) {\n this.isTapHold = true;\n this.cmenuHandler(e.originalEvent);\n };\n MenuBase.prototype.cmenuHandler = function (e) {\n e.preventDefault();\n this.currentTarget = e.target;\n this.isCMenu = true;\n this.pageX = e.changedTouches ? e.changedTouches[0].pageX + 1 : e.pageX + 1;\n this.pageY = e.changedTouches ? e.changedTouches[0].pageY + 1 : e.pageY + 1;\n this.closeMenu(null, e);\n if (this.isCMenu) {\n if (this.canOpen(e.target)) {\n this.openMenu(null, null, this.pageY, this.pageX, e);\n }\n this.isCMenu = false;\n }\n };\n // eslint:disable-next-line:max-func-body-length\n MenuBase.prototype.closeMenu = function (ulIndex, e, isIterated) {\n var _this = this;\n if (ulIndex === void 0) { ulIndex = 0; }\n if (e === void 0) { e = null; }\n if (this.isMenuVisible()) {\n var sli = void 0;\n var item_1;\n var wrapper_1 = this.getWrapper();\n var beforeCloseArgs = void 0;\n var items_1;\n var popups = this.getPopups();\n var isClose = false;\n var cnt = this.isMenu ? popups.length + 1 : wrapper_1.childElementCount;\n var ul_1 = this.isMenu && cnt !== 1 ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-ul', popups[cnt - 2])\n : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-menu-parent', wrapper_1)[cnt - 1];\n if (this.isMenu && ul_1.classList.contains('e-menu')) {\n sli = this.getLIByClass(ul_1, SELECTED);\n if (sli) {\n sli.classList.remove(SELECTED);\n }\n isClose = true;\n }\n if (!isClose) {\n var liElem_1 = e && e.target && this.getLI(e.target);\n if (liElem_1) {\n this.cli = liElem_1;\n }\n else {\n this.cli = ul_1.children[0];\n }\n item_1 = this.navIdx.length ? this.getItem(this.navIdx) : null;\n items_1 = item_1 ? item_1.items : this.items;\n beforeCloseArgs = { element: ul_1, parentItem: item_1, items: items_1, event: e, cancel: false, isFocused: true };\n this.trigger('beforeClose', beforeCloseArgs, function (observedCloseArgs) {\n var popupEle;\n var closeArgs;\n var popupId = '';\n var popupObj;\n var isOpen = !observedCloseArgs.cancel;\n if (isOpen || _this.isCMenu) {\n if (_this.isMenu) {\n popupEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul_1, '.' + POPUP);\n if (_this.hamburgerMode) {\n popupEle.parentElement.style.minHeight = '';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul_1, '.e-menu-item').setAttribute('aria-expanded', 'false');\n }\n _this.unWireKeyboardEvent(popupEle);\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(popupEle.children[0], _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), popupEle.children[0]);\n popupObj = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(popupEle, _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.Popup);\n popupObj.hide();\n popupId = popupEle.id;\n popupObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(popupEle);\n }\n else {\n _this.isContextMenuClosed = false;\n _this.toggleAnimation(ul_1, false);\n }\n closeArgs = { element: ul_1, parentItem: item_1, items: items_1 };\n _this.trigger('onClose', closeArgs);\n _this.navIdx.pop();\n if (_this.navIdx.length === 0 && e && e.type === 'keyup') {\n _this.showSubMenu = false;\n }\n if (!_this.isMenu) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(ul_1, 'keydown', _this.keyHandler);\n if (_this.keyType === 'right') {\n _this.keyType = '';\n }\n }\n }\n _this.updateReactTemplate();\n var trgtliId;\n var closedLi;\n var trgtLi;\n var trgtpopUp = _this.getWrapper() && _this.getUlByNavIdx();\n if (_this.isCMenu) {\n if (_this.canOpen(e.target)) {\n _this.openMenu(null, null, _this.pageY, _this.pageX, e);\n }\n _this.isCMenu = false;\n }\n if (_this.isMenu && trgtpopUp && popupId.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var regExp = RegExp;\n trgtliId = new regExp('(.*)-ej2menu-' + _this.element.id + '-popup').exec(popupId)[1];\n closedLi = trgtpopUp.querySelector('[id=\"' + trgtliId + '\"]');\n trgtLi = (liElem_1 && trgtpopUp.querySelector('[id=\"' + liElem_1.id + '\"]'));\n }\n else if (trgtpopUp) {\n closedLi = trgtpopUp.querySelector('.e-menu-item.e-selected');\n trgtLi = (liElem_1 && trgtpopUp.querySelector('[id=\"' + liElem_1.id + '\"]'));\n }\n var submenus = liElem_1 && liElem_1.querySelectorAll('.e-menu-item');\n if (isOpen && _this.hamburgerMode && ulIndex && !(submenus.length)) {\n _this.afterCloseMenu(e);\n }\n else if (isOpen && !_this.hamburgerMode && closedLi && !trgtLi && _this.keyType !== 'left' && (_this.navIdx.length || !_this.isMenu && _this.navIdx.length === 0)) {\n var ele = (e && e.target.classList && (e.target.classList.contains('e-vscroll') || e.target.classList.contains('e-scroll-nav')))\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-menu-wrapper') : null;\n if (ele) {\n ele = ele.querySelector('.e-menu-item');\n if (_this.showItemOnClick || (ele && _this.getIndex(ele.id, true).length <= _this.navIdx.length)) {\n _this.closeMenu(_this.navIdx[_this.navIdx.length - 1], e, true);\n }\n }\n else {\n if (!(e && e.target.classList && e.target.classList.contains('e-nav-arrow'))) {\n _this.closeMenu(_this.navIdx[_this.navIdx.length - 1], e);\n }\n }\n }\n else if (isOpen && !isIterated && !ulIndex && ((_this.hamburgerMode && _this.navIdx.length) ||\n _this.navIdx.length === 1 && liElem_1 && trgtpopUp !== liElem_1.parentElement)) {\n _this.closeMenu(null, e);\n }\n else if (isOpen && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ulIndex) && _this.navIdx.length) {\n _this.closeMenu(null, e);\n }\n else if (isOpen && !_this.isMenu && !ulIndex && _this.navIdx.length === 0 &&\n !_this.isMenusClosed && !_this.isCmenuHover) {\n _this.isMenusClosed = true;\n _this.closeMenu(0, e);\n }\n else if (isOpen && _this.isMenu && e && e.target &&\n _this.navIdx.length !== 0 && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-menu-parent.e-control')) {\n _this.closeMenu(0, e);\n }\n else if (isOpen && !_this.isMenu && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-menu-parent', wrapper_1)[ulIndex - 1] && e.which === 3) {\n _this.closeMenu(null, e);\n }\n else {\n if (isOpen && (_this.keyType === 'right' || _this.keyType === 'click')) {\n _this.afterCloseMenu(e);\n }\n else {\n var cul = _this.getUlByNavIdx();\n var sli_1 = _this.getLIByClass(cul, SELECTED);\n if (sli_1) {\n sli_1.setAttribute('aria-expanded', 'false');\n sli_1.classList.remove(SELECTED);\n if (observedCloseArgs.isFocused && liElem_1 || _this.keyType === 'left') {\n sli_1.classList.add(FOCUSED);\n if (!e.target || !e.target.classList.contains('e-edit-template')) {\n sli_1.focus();\n }\n }\n }\n if (!isOpen && _this.hamburgerMode && liElem_1 && liElem_1.getAttribute('aria-expanded') === 'false' &&\n liElem_1.getAttribute('aria-haspopup') === 'true') {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(liElem_1, '.e-menu-parent.e-control')) {\n _this.navIdx = [];\n }\n else {\n _this.navIdx.pop();\n }\n _this.navIdx.push(_this.cliIdx);\n var item_2 = _this.getItem(_this.navIdx);\n liElem_1.setAttribute('aria-expanded', 'true');\n _this.openMenu(liElem_1, item_2, -1, -1, e);\n }\n }\n if (_this.navIdx.length < 1) {\n if (_this.showSubMenuOn === 'Hover' || _this.showSubMenuOn === 'Click') {\n _this.showItemOnClick = _this.defaultOption;\n _this.showSubMenuOn = 'Auto';\n }\n }\n }\n _this.removeStateWrapper();\n });\n }\n }\n };\n MenuBase.prototype.updateReactTemplate = function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact && this.template && this.navIdx.length === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var portals = void 0;\n if (this.portals) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n portals = this.portals.splice(0, this.items.length);\n }\n this.clearTemplate(['template']);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.portals = portals;\n this.renderReactTemplates();\n }\n };\n MenuBase.prototype.getMenuItemModel = function (item, level) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item)) {\n return null;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(level)) {\n level = 0;\n }\n var fields = this.getFields(level);\n return { text: item[fields.text], id: item[fields.id], items: item[fields.child], separator: item[fields.separator],\n iconCss: item[fields.iconCss], url: item[fields.url] };\n };\n MenuBase.prototype.getPopups = function () {\n var _this = this;\n var popups = [];\n [].slice.call(document.querySelectorAll('.' + POPUP)).forEach(function (elem) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(elem.querySelector('.' + ITEM)) && _this.getIndex(elem.querySelector('.' + ITEM).id, true).length) {\n popups.push(elem);\n }\n });\n return popups;\n };\n MenuBase.prototype.isMenuVisible = function () {\n return (this.navIdx.length > 0 || (this.element.classList.contains('e-contextmenu') && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(this.element).valueOf()));\n };\n MenuBase.prototype.canOpen = function (target) {\n var canOpen = true;\n if (this.filter) {\n canOpen = false;\n var filter = this.filter.split(' ');\n for (var i = 0, len = filter.length; i < len; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(target, '.' + filter[i])) {\n canOpen = true;\n break;\n }\n }\n }\n return canOpen;\n };\n MenuBase.prototype.openMenu = function (li, item, top, left, e, target) {\n var _this = this;\n if (top === void 0) { top = 0; }\n if (left === void 0) { left = 0; }\n if (e === void 0) { e = null; }\n if (target === void 0) { target = this.targetElement; }\n var wrapper = this.getWrapper();\n this.lItem = li;\n var elemId = this.element.id !== '' ? this.element.id : 'menu';\n this.isMenusClosed = false;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(top)) {\n top = -1;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(left)) {\n left = -1;\n }\n if (li) {\n this.uList = this.createItems(item[this.getField('children', this.navIdx.length - 1)]);\n if (!this.isMenu && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n wrapper.lastChild.style.display = 'none';\n var data = {\n text: item[this.getField('text')].toString(), iconCss: ICONS + ' e-previous'\n };\n if (this.template) {\n item.iconCss = (item.iconCss || '') + ICONS + ' e-previous';\n }\n var hdata = new MenuItem(this.items[0], 'items', this.template ? item : data, true);\n var hli = this.createItems([hdata]).children[0];\n hli.classList.add(HEADER);\n this.uList.insertBefore(hli, this.uList.children[0]);\n }\n if (this.isMenu) {\n this.popupWrapper = this.createElement('div', {\n className: 'e-' + this.getModuleName() + '-wrapper ' + POPUP, id: li.id + '-ej2menu-' + elemId + '-popup'\n });\n this.popupWrapper.setAttribute('role', 'navigation');\n this.popupWrapper.setAttribute('aria-label', item.text + '-menu-popup');\n if (this.hamburgerMode) {\n top = li.offsetHeight;\n li.appendChild(this.popupWrapper);\n }\n else {\n document.body.appendChild(this.popupWrapper);\n }\n this.isNestedOrVertical = this.element.classList.contains('e-vertical') || this.navIdx.length !== 1;\n this.popupObj = this.generatePopup(this.popupWrapper, this.uList, li, this.isNestedOrVertical);\n if (this.template) {\n this.renderReactTemplates();\n }\n if (this.hamburgerMode) {\n this.calculateIndentSize(this.uList, li);\n }\n else {\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.popupWrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n this.popupObj.hide();\n }\n if (!this.hamburgerMode && !this.showItemOnClick && this.hoverDelay) {\n window.clearInterval(this.timer);\n this.timer = window.setTimeout(function () { _this.triggerBeforeOpen(li, _this.uList, item, e, 0, 0, 'menu'); }, this.hoverDelay);\n }\n else {\n this.triggerBeforeOpen(li, this.uList, item, e, 0, 0, 'menu');\n }\n }\n else {\n this.uList.style.zIndex = this.element.style.zIndex;\n wrapper.appendChild(this.uList);\n if (!this.showItemOnClick && this.hoverDelay) {\n window.clearInterval(this.timer);\n this.timer = window.setTimeout(function () { _this.triggerBeforeOpen(li, _this.uList, item, e, top, left, 'none'); }, this.hoverDelay);\n }\n else {\n this.triggerBeforeOpen(li, this.uList, item, e, top, left, 'none');\n }\n }\n }\n else {\n this.uList = this.element;\n this.uList.style.zIndex = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.getZindexPartial)(target ? target : this.element).toString();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var ev = document.createEvent('MouseEvents');\n ev.initEvent('click', true, false);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var targetEvent = this.copyObject(ev, {});\n targetEvent.target = targetEvent.srcElement = target;\n targetEvent.currentTarget = target;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.triggerBeforeOpen(li, this.uList, item, targetEvent, top, left, 'none');\n }\n else {\n this.triggerBeforeOpen(li, this.uList, item, e, top, left, 'none');\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n MenuBase.prototype.copyObject = function (source, destination) {\n // eslint-disable-next-line guard-for-in\n for (var prop in source) {\n destination[\"\" + prop] = source[\"\" + prop];\n }\n return destination;\n };\n MenuBase.prototype.calculateIndentSize = function (ul, li) {\n var liStyle = getComputedStyle(li);\n var liIndent = parseInt(liStyle.textIndent, 10);\n if (this.navIdx.length < 2 && !li.classList.contains('e-blankicon')) {\n liIndent *= 2;\n }\n else {\n liIndent += (liIndent / 4);\n }\n ul.style.textIndent = liIndent + 'px';\n var blankIconElem = ul.querySelectorAll('.e-blankicon');\n if (blankIconElem && blankIconElem.length) {\n var menuIconElem = ul.querySelector('.e-menu-icon');\n var menuIconElemStyle = getComputedStyle(menuIconElem);\n var blankIconIndent = (parseInt(menuIconElemStyle.marginRight, 10) + menuIconElem.offsetWidth + liIndent);\n for (var i = 0; i < blankIconElem.length; i++) {\n blankIconElem[i].style.textIndent = blankIconIndent + 'px';\n }\n }\n };\n MenuBase.prototype.generatePopup = function (popupWrapper, ul, li, isNestedOrVertical) {\n var _this = this;\n var popupObj = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.Popup(popupWrapper, {\n actionOnScroll: this.hamburgerMode ? 'none' : 'reposition',\n relateTo: li,\n collision: this.hamburgerMode ? { X: 'none', Y: 'none' } : { X: isNestedOrVertical ||\n this.enableRtl ? 'none' : 'flip', Y: 'fit' },\n position: (isNestedOrVertical && !this.hamburgerMode) ? { X: 'right', Y: 'top' } : { X: 'left', Y: 'bottom' },\n targetType: 'relative',\n enableRtl: this.enableRtl,\n content: ul,\n open: function () {\n var scrollEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-menu-vscroll', popupObj.element);\n if (scrollEle) {\n scrollEle.style.height = 'inherit';\n scrollEle.style.maxHeight = '';\n }\n var ul = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-ul', popupObj.element);\n popupObj.element.style.maxHeight = '';\n ul.focus();\n _this.triggerOpen(ul);\n }\n });\n return popupObj;\n };\n MenuBase.prototype.createHeaderContainer = function (wrapper) {\n wrapper = wrapper || this.getWrapper();\n var spanElem = this.createElement('span', { className: 'e-' + this.getModuleName() + '-header' });\n var tempTitle = (this.enableHtmlSanitizer) ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(this.title) : this.title;\n var spanTitle = this.createElement('span', {\n className: 'e-' + this.getModuleName() + '-title', innerHTML: tempTitle\n });\n var spanIcon = this.createElement('span', {\n className: 'e-icons e-' + this.getModuleName() + '-icon', attrs: { 'tabindex': '0' }\n });\n spanElem.appendChild(spanTitle);\n spanElem.appendChild(spanIcon);\n wrapper.insertBefore(spanElem, this.element);\n };\n MenuBase.prototype.openHamburgerMenu = function (e) {\n if (this.hamburgerMode) {\n this.triggerBeforeOpen(null, this.element, null, e, 0, 0, 'hamburger');\n }\n };\n MenuBase.prototype.closeHamburgerMenu = function (e) {\n var _this = this;\n var beforeCloseArgs = { element: this.element, parentItem: null, event: e,\n items: this.items, cancel: false };\n this.trigger('beforeClose', beforeCloseArgs, function (observedHamburgerCloseArgs) {\n if (!observedHamburgerCloseArgs.cancel) {\n _this.closeMenu(null, e);\n _this.element.classList.add('e-hide-menu');\n _this.trigger('onClose', { element: _this.element, parentItem: null, items: _this.items });\n }\n });\n };\n MenuBase.prototype.callFit = function (element, x, y, top, left) {\n return (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.fit)(element, null, { X: x, Y: y }, { top: top, left: left });\n };\n MenuBase.prototype.triggerBeforeOpen = function (li, ul, item, e, top, left, type) {\n var _this = this;\n var items = li ? item[this.getField('children', this.navIdx.length - 1)] : this.items;\n var eventArgs = {\n element: ul, items: items, parentItem: item, event: e, cancel: false, top: top, left: left, showSubMenuOn: 'Auto'\n };\n var menuType = type;\n var observedElement;\n this.trigger('beforeOpen', eventArgs, function (observedOpenArgs) {\n switch (menuType) {\n case 'menu':\n if (!_this.hamburgerMode) {\n if (observedOpenArgs.showSubMenuOn !== 'Auto') {\n _this.showItemOnClick = !_this.defaultOption;\n _this.showSubMenuOn = observedOpenArgs.showSubMenuOn;\n }\n _this.top = observedOpenArgs.top;\n _this.left = observedOpenArgs.left;\n }\n _this.popupWrapper.style.display = 'block';\n if (!_this.hamburgerMode) {\n _this.popupWrapper.style.maxHeight = _this.popupWrapper.getBoundingClientRect().height + 'px';\n if (_this.enableScrolling) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(_this.createElement, _this.popupWrapper, _this.uList, 'vscroll', _this.enableRtl);\n }\n _this.checkScrollOffset(e);\n }\n if (!_this.hamburgerMode && !_this.left && !_this.top) {\n _this.popupObj.refreshPosition(_this.lItem, true);\n _this.left = parseInt(_this.popupWrapper.style.left, 10);\n _this.top = parseInt(_this.popupWrapper.style.top, 10);\n if (_this.enableRtl) {\n _this.left =\n _this.isNestedOrVertical ? _this.left - _this.popupWrapper.offsetWidth - _this.lItem.parentElement.offsetWidth + 2\n : _this.left - _this.popupWrapper.offsetWidth + _this.lItem.offsetWidth;\n }\n // eslint-disable-next-line\n if (_this.template && (_this.isReact || _this.isAngular)) {\n requestAnimationFrame(function () {\n _this.collision();\n _this.popupWrapper.style.display = '';\n });\n }\n else {\n _this.collision();\n _this.popupWrapper.style.display = '';\n }\n }\n else {\n _this.popupObj.collision = { X: 'none', Y: 'none' };\n _this.popupWrapper.style.display = '';\n }\n break;\n case 'none':\n _this.top = observedOpenArgs.top;\n _this.left = observedOpenArgs.left;\n _this.isContextMenuClosed = true;\n observedElement = observedOpenArgs.element;\n if (_this.enableScrolling && _this.isCMenu && observedElement && observedElement.parentElement) {\n observedElement.style.height = observedElement.parentElement.style.height;\n }\n break;\n case 'hamburger':\n if (!observedOpenArgs.cancel) {\n _this.element.classList.remove('e-hide-menu');\n _this.triggerOpen(_this.element);\n }\n break;\n }\n if (menuType !== 'hamburger') {\n if (observedOpenArgs.cancel) {\n if (_this.isMenu) {\n _this.popupObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(_this.popupWrapper);\n }\n else if (ul.className.indexOf('e-ul') > -1) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(ul);\n }\n _this.navIdx.pop();\n }\n else {\n if (_this.isMenu) {\n if (_this.hamburgerMode) {\n _this.popupWrapper.style.top = _this.top + 'px';\n _this.popupWrapper.style.left = 0 + 'px';\n _this.toggleAnimation(_this.popupWrapper);\n }\n else {\n _this.setBlankIconStyle(_this.popupWrapper);\n _this.wireKeyboardEvent(_this.popupWrapper);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.rippleEffect)(_this.popupWrapper, { selector: '.' + ITEM });\n _this.popupWrapper.style.left = _this.left + 'px';\n _this.popupWrapper.style.top = _this.top + 'px';\n var animationOptions = _this.animationSettings.effect !== 'None' ? {\n name: _this.animationSettings.effect, duration: _this.animationSettings.duration,\n timingFunction: _this.animationSettings.easing\n } : null;\n _this.popupObj.show(animationOptions, _this.lItem);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _this.popupWrapper.style.left = _this.left + 'px';\n }\n }\n }\n else {\n _this.setBlankIconStyle(_this.uList);\n _this.setPosition(_this.lItem, _this.uList, _this.top, _this.left);\n _this.toggleAnimation(_this.uList);\n }\n }\n }\n if (_this.keyType === 'right') {\n var cul = _this.getUlByNavIdx();\n li.classList.remove(FOCUSED);\n if (_this.isMenu && _this.navIdx.length === 1) {\n _this.removeLIStateByClass([SELECTED], [_this.getWrapper()]);\n }\n li.classList.add(SELECTED);\n if (_this.action === ENTER) {\n var eventArgs_1 = { element: li, item: item, event: e };\n _this.trigger('select', eventArgs_1);\n }\n li.focus();\n cul = _this.getUlByNavIdx();\n var index = _this.isValidLI(cul.children[0], 0, _this.action);\n cul.children[index].classList.add(FOCUSED);\n cul.children[index].focus();\n }\n });\n };\n MenuBase.prototype.collision = function () {\n var collide;\n collide = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.isCollide)(this.popupWrapper, null, this.left, this.top);\n if ((this.isNestedOrVertical || this.enableRtl) && (collide.indexOf('right') > -1\n || collide.indexOf('left') > -1)) {\n this.popupObj.collision.X = 'none';\n var offWidth = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.lItem, '.e-' + this.getModuleName() + '-wrapper').offsetWidth;\n this.left =\n this.enableRtl ? (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.calculatePosition)(this.lItem, this.isNestedOrVertical ? 'right' : 'left', 'top').left\n : this.left - this.popupWrapper.offsetWidth - offWidth + 2;\n }\n collide = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.isCollide)(this.popupWrapper, null, this.left, this.top);\n if (collide.indexOf('left') > -1 || collide.indexOf('right') > -1) {\n this.left = this.callFit(this.popupWrapper, true, false, this.top, this.left).left;\n }\n this.popupWrapper.style.left = this.left + 'px';\n };\n MenuBase.prototype.setBlankIconStyle = function (menu) {\n var blankIconList = [].slice.call(menu.getElementsByClassName('e-blankicon'));\n if (!blankIconList.length) {\n return;\n }\n var iconLi = menu.querySelector('.e-menu-item:not(.e-blankicon):not(.e-separator)');\n if (!iconLi) {\n return;\n }\n var icon = iconLi.querySelector('.e-menu-icon');\n if (!icon) {\n return;\n }\n var cssProp = this.enableRtl ? { padding: 'paddingRight', margin: 'marginLeft' } :\n { padding: 'paddingLeft', margin: 'marginRight' };\n var iconCssProps = getComputedStyle(icon);\n var iconSize = parseInt(iconCssProps.fontSize, 10);\n if (!!parseInt(iconCssProps.width, 10) && parseInt(iconCssProps.width, 10) > iconSize) {\n iconSize = parseInt(iconCssProps.width, 10);\n }\n // eslint:disable\n var size = iconSize + parseInt(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n iconCssProps[cssProp.margin], 10) + parseInt(getComputedStyle(iconLi)[cssProp.padding], 10) + \"px\";\n blankIconList.forEach(function (li) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n li.style[cssProp.padding] = size;\n });\n // eslint:enable\n };\n MenuBase.prototype.checkScrollOffset = function (e) {\n var wrapper = this.getWrapper();\n if (wrapper.children[0].classList.contains('e-menu-hscroll') && this.navIdx.length === 1) {\n var trgt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e) ? this.element : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + ITEM);\n var offsetEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-hscroll-bar', wrapper);\n if (offsetEle.scrollLeft > trgt.offsetLeft) {\n offsetEle.scrollLeft -= (offsetEle.scrollLeft - trgt.offsetLeft);\n }\n var offsetLeft = offsetEle.scrollLeft + offsetEle.offsetWidth;\n var offsetRight = trgt.offsetLeft + trgt.offsetWidth;\n if (offsetLeft < offsetRight) {\n offsetEle.scrollLeft += (offsetRight - offsetLeft);\n }\n }\n };\n MenuBase.prototype.setPosition = function (li, ul, top, left) {\n var px = 'px';\n this.toggleVisiblity(ul);\n if (ul === this.element || (left > -1 && top > -1)) {\n var collide = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.isCollide)(ul, null, left, top);\n if (collide.indexOf('right') > -1) {\n left = left - ul.offsetWidth;\n }\n if (collide.indexOf('bottom') > -1) {\n var offset = this.callFit(ul, false, true, top, left);\n top = offset.top - 20;\n if (top < 0) {\n var newTop = (pageYOffset + document.documentElement.clientHeight) - ul.getBoundingClientRect().height;\n if (newTop > -1) {\n top = newTop;\n }\n }\n }\n collide = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.isCollide)(ul, null, left, top);\n if (collide.indexOf('left') > -1) {\n var offset = this.callFit(ul, true, false, top, left);\n left = offset.left;\n }\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if (!this.isMenu && this.enableScrolling) {\n var menuScrollElement = document.querySelector('.e-menu-vscroll');\n top = Number(menuScrollElement.style.top.replace('px', ''));\n left = Number(menuScrollElement.style.left.replace('px', ''));\n }\n else {\n top = Number(this.element.style.top.replace(px, ''));\n left = Number(this.element.style.left.replace(px, ''));\n }\n }\n else {\n var x = this.enableRtl ? 'left' : 'right';\n var offset = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.calculatePosition)(li, x, 'top');\n top = offset.top;\n left = offset.left;\n var collide = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_5__.isCollide)(ul, null, this.enableRtl ? left - ul.offsetWidth : left, top);\n var xCollision = collide.indexOf('left') > -1 || collide.indexOf('right') > -1;\n if (xCollision) {\n offset = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_6__.calculatePosition)(li, this.enableRtl ? 'right' : 'left', 'top');\n left = offset.left;\n }\n if (this.enableRtl || xCollision) {\n left = (this.enableRtl && xCollision) ? left : left - ul.offsetWidth;\n }\n if (collide.indexOf('bottom') > -1 && (this.isMenu || !this.enableScrolling)) {\n offset = this.callFit(ul, false, true, top, left);\n top = offset.top;\n }\n }\n }\n this.toggleVisiblity(ul, false);\n if (this.isCMenu && this.enableScrolling && ul) {\n ul.style.height = '';\n }\n var wrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, '.e-' + this.getModuleName() + '-wrapper');\n if (!this.isMenu && this.enableScrolling && ul && wrapper && wrapper.offsetHeight > 0) {\n var menuVScroll = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul, '.e-menu-vscroll');\n ul.style.display = 'block';\n if (menuVScroll) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(menuVScroll, _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), menuVScroll);\n }\n var cmenuWidth = Math.ceil(this.getMenuWidth(ul, ul.offsetWidth, this.enableRtl));\n var cmenu = (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this.createElement, wrapper, ul, 'vscroll', this.enableRtl, wrapper.offsetHeight);\n Object.assign(cmenu.style, {\n top: top + \"px\",\n left: left + \"px\",\n width: cmenuWidth + \"px\",\n position: 'absolute',\n display: 'none'\n });\n }\n else {\n ul.style.top = top + px;\n ul.style.left = left + px;\n }\n };\n MenuBase.prototype.getMenuWidth = function (cmenu, width, isRtl) {\n var caretIcon = cmenu.getElementsByClassName(CARET)[0];\n if (caretIcon) {\n width += parseInt(getComputedStyle(caretIcon)[isRtl ? 'marginRight' : 'marginLeft'], 10);\n }\n return width < 120 ? 120 : width;\n };\n MenuBase.prototype.toggleVisiblity = function (ul, isVisible) {\n if (isVisible === void 0) { isVisible = true; }\n ul.style.visibility = isVisible ? 'hidden' : '';\n ul.style.display = isVisible ? 'block' : 'none';\n };\n MenuBase.prototype.createItems = function (items) {\n var _this = this;\n var level = this.navIdx ? this.navIdx.length : 0;\n var fields = this.getFields(level);\n var showIcon = this.hasField(items, this.getField('iconCss', level));\n var listBaseOptions = {\n showIcon: showIcon,\n moduleName: 'menu',\n fields: fields,\n template: this.template,\n itemNavigable: true,\n itemCreating: function (args) {\n if (!args.curData[args.fields[fields.id]]) {\n args.curData[args.fields[fields.id]] = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('menuitem');\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.curData.htmlAttributes)) {\n Object.defineProperty(args.curData, 'htmlAttributes', {\n value: {},\n writable: true,\n enumerable: true,\n configurable: true\n });\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE) {\n if (!args.curData.htmlAttributes.role) {\n args.curData.htmlAttributes.role = 'menuitem';\n }\n if (!args.curData.htmlAttributes.tabindex) {\n args.curData.htmlAttributes.tabindex = '-1';\n }\n }\n else {\n Object.assign(args.curData.htmlAttributes, {\n role: args.curData.htmlAttributes.role || 'menuitem',\n tabindex: args.curData.htmlAttributes.tabindex || '-1'\n });\n }\n if (_this.isMenu && !args.curData[_this.getField('separator', level)]) {\n if (!args.curData.htmlAttributes['aria-label']) {\n args.curData.htmlAttributes['aria-label'] = args.curData[args.fields.text] ?\n args.curData[args.fields.text] : args.curData[args.fields.id];\n }\n }\n if (args.curData[args.fields[fields.iconCss]] === '') {\n args.curData[args.fields[fields.iconCss]] = null;\n }\n },\n itemCreated: function (args) {\n if (args.curData[_this.getField('separator', level)]) {\n args.item.classList.add(SEPARATOR);\n if (!args.curData.htmlAttributes.role) {\n args.item.setAttribute('role', 'separator');\n }\n if (!args.curData.htmlAttributes.ariaLabel) {\n args.item.setAttribute('aria-label', 'separator');\n }\n }\n if (showIcon && !args.curData[args.fields.iconCss]\n && !args.curData[_this.getField('separator', level)]) {\n args.item.classList.add('e-blankicon');\n }\n if (args.curData[args.fields.child]\n && args.curData[args.fields.child].length) {\n var span = _this.createElement('span', { className: ICONS + ' ' + CARET });\n args.item.appendChild(span);\n args.item.setAttribute('aria-haspopup', 'true');\n args.item.setAttribute('aria-expanded', 'false');\n args.item.classList.add('e-menu-caret-icon');\n }\n if (_this.isMenu && _this.template) {\n args.item.setAttribute('id', args.curData[args.fields.id].toString());\n args.item.removeAttribute('data-uid');\n if (args.item.classList.contains('e-level-1')) {\n args.item.classList.remove('e-level-1');\n }\n if (args.item.classList.contains('e-has-child')) {\n args.item.classList.remove('e-has-child');\n }\n args.item.removeAttribute('aria-level');\n }\n var eventArgs = { item: args.curData, element: args.item };\n _this.trigger('beforeItemRender', eventArgs);\n }\n };\n this.setProperties({ 'items': this.items }, true);\n if (this.isMenu) {\n listBaseOptions.templateID = this.element.id + TEMPLATE_PROPERTY;\n }\n var ul = _syncfusion_ej2_lists__WEBPACK_IMPORTED_MODULE_2__.ListBase.createList(this.createElement, items, listBaseOptions, !this.template, this);\n ul.setAttribute('tabindex', '0');\n if (this.isMenu) {\n ul.setAttribute('role', 'menu');\n }\n else {\n ul.setAttribute('role', 'menubar');\n }\n return ul;\n };\n MenuBase.prototype.moverHandler = function (e) {\n var trgt = e.target;\n this.liTrgt = trgt;\n if (!this.isMenu) {\n this.isCmenuHover = true;\n }\n var cli = this.getLI(trgt);\n var wrapper = cli ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cli, '.e-' + this.getModuleName() + '-wrapper') : this.getWrapper();\n var hdrWrapper = this.getWrapper();\n var regex = new RegExp('-ej2menu-(.*)-popup');\n var ulId;\n var isDifferentElem = false;\n if (!wrapper) {\n return;\n }\n if (wrapper.id !== '') {\n ulId = regex.exec(wrapper.id)[1];\n }\n else {\n ulId = wrapper.querySelector('ul').id;\n }\n if (ulId !== this.element.id) {\n this.removeLIStateByClass([FOCUSED, SELECTED], [this.getWrapper()]);\n if (this.navIdx.length) {\n isDifferentElem = true;\n }\n else {\n return;\n }\n }\n if (cli && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cli, '.e-' + this.getModuleName() + '-wrapper') && !isDifferentElem) {\n this.removeLIStateByClass([FOCUSED], this.isMenu ? [wrapper].concat(this.getPopups()) : [wrapper]);\n this.removeLIStateByClass([FOCUSED], this.isMenu ? [hdrWrapper].concat(this.getPopups()) : [hdrWrapper]);\n cli.classList.add(FOCUSED);\n if (!this.showItemOnClick) {\n this.clickHandler(e);\n }\n }\n else if (this.isMenu && this.showItemOnClick && !isDifferentElem) {\n this.removeLIStateByClass([FOCUSED], [wrapper].concat(this.getPopups()));\n }\n if (this.isMenu) {\n if (!this.showItemOnClick && (trgt.parentElement !== wrapper && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.e-' + this.getModuleName() + '-popup'))\n && (!cli || (cli && !this.getIndex(cli.id, true).length)) && this.showSubMenuOn !== 'Hover') {\n this.removeLIStateByClass([FOCUSED], [wrapper]);\n if (this.navIdx.length) {\n this.isClosed = true;\n this.closeMenu(null, e);\n }\n }\n else if (isDifferentElem && !this.showItemOnClick) {\n if (this.navIdx.length) {\n this.isClosed = true;\n this.closeMenu(null, e);\n }\n }\n if (!this.isClosed) {\n this.removeStateWrapper();\n }\n this.isClosed = false;\n }\n if (!this.isMenu) {\n this.isCmenuHover = false;\n }\n };\n MenuBase.prototype.removeStateWrapper = function () {\n if (this.liTrgt) {\n var wrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.liTrgt, '.e-menu-vscroll');\n if (this.liTrgt.tagName === 'DIV' && wrapper) {\n this.removeLIStateByClass([FOCUSED, SELECTED], [wrapper]);\n }\n }\n };\n MenuBase.prototype.removeLIStateByClass = function (classList, element) {\n var li;\n var _loop_1 = function (i) {\n classList.forEach(function (className) {\n li = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + className, element[i]);\n if (li) {\n li.classList.remove(className);\n }\n });\n };\n for (var i = 0; i < element.length; i++) {\n _loop_1(i);\n }\n };\n MenuBase.prototype.getField = function (propName, level) {\n if (level === void 0) { level = 0; }\n var fieldName = this.fields[\"\" + propName];\n return typeof fieldName === 'string' ? fieldName :\n (!fieldName[level] ? fieldName[fieldName.length - 1].toString()\n : fieldName[level].toString());\n };\n MenuBase.prototype.getFields = function (level) {\n if (level === void 0) { level = 0; }\n return {\n id: this.getField('itemId', level),\n iconCss: this.getField('iconCss', level),\n text: this.getField('text', level),\n url: this.getField('url', level),\n child: this.getField('children', level),\n separator: this.getField('separator', level)\n };\n };\n MenuBase.prototype.hasField = function (items, field) {\n for (var i = 0, len = items.length; i < len; i++) {\n if (items[i][\"\" + field]) {\n return true;\n }\n }\n return false;\n };\n MenuBase.prototype.menuHeaderClickHandler = function (e) {\n var menuWrapper = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-menu-wrapper');\n if (menuWrapper && menuWrapper.querySelector('ul.e-menu-parent').id !== this.element.id) {\n return;\n }\n if (this.element.className.indexOf('e-hide-menu') > -1) {\n this.openHamburgerMenu(e);\n }\n else {\n this.closeHamburgerMenu(e);\n }\n };\n MenuBase.prototype.clickHandler = function (e) {\n this.isTapHold = this.isTapHold ? false : this.isTapHold;\n var wrapper = this.getWrapper();\n var trgt = e.target;\n var cli = this.cli = this.getLI(trgt);\n var regex = new RegExp('-ej2menu-(.*)-popup');\n var cliWrapper = cli ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cli, '.e-' + this.getModuleName() + '-wrapper') : null;\n var isInstLI = cli && cliWrapper && (this.isMenu ? this.getIndex(cli.id, true).length > 0\n : wrapper.firstElementChild.id === cliWrapper.firstElementChild.id);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isMenu) {\n this.removeLIStateByClass([FOCUSED], [wrapper].concat(this.getPopups()));\n this.mouseDownHandler(e);\n }\n if (cli && cliWrapper && this.isMenu) {\n var cliWrapperId = cliWrapper.id ? regex.exec(cliWrapper.id)[1] : cliWrapper.querySelector('.e-menu-parent').id;\n if (this.element.id !== cliWrapperId) {\n return;\n }\n }\n if (isInstLI && e.type === 'click' && !cli.classList.contains(HEADER)) {\n this.setLISelected(cli);\n var navIdx = this.getIndex(cli.id, true);\n var item = this.getItem(navIdx);\n var eventArgs = { element: cli, item: item, event: e };\n this.trigger('select', eventArgs);\n }\n if (isInstLI && (e.type === 'mouseover' || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || this.showItemOnClick)) {\n var ul = void 0;\n if (cli.classList.contains(HEADER)) {\n ul = wrapper.children[this.navIdx.length - 1];\n this.toggleAnimation(ul);\n var sli = this.getLIByClass(ul, SELECTED);\n if (sli) {\n sli.classList.remove(SELECTED);\n }\n var scrollMenu = this.enableScrolling && !this.isMenu ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cli.parentElement, '.e-menu-vscroll') : null;\n if (scrollMenu) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(scrollMenu, _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), scrollMenu);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(cli.parentNode);\n this.navIdx.pop();\n }\n else {\n if (!cli.classList.contains(SEPARATOR)) {\n this.showSubMenu = true;\n var cul = cli.parentNode;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cul)) {\n return;\n }\n this.cliIdx = this.getIdx(cul, cli);\n if (this.isMenu || !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n var culIdx = this.isMenu ? Array.prototype.indexOf.call([wrapper].concat(this.getPopups()), (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(cul, '.' + 'e-' + this.getModuleName() + '-wrapper'))\n : this.getIdx(wrapper, cul);\n if (this.navIdx[culIdx] === this.cliIdx) {\n this.showSubMenu = false;\n }\n if (culIdx !== this.navIdx.length && (e.type !== 'mouseover' || this.showSubMenu)) {\n var sli = this.getLIByClass(cul, SELECTED);\n if (sli) {\n sli.classList.remove(SELECTED);\n }\n this.isClosed = true;\n this.keyType = 'click';\n if (this.showItemOnClick) {\n this.setLISelected(cli);\n if (!this.isMenu) {\n this.isCmenuHover = true;\n }\n }\n this.closeMenu(culIdx + 1, e);\n if (this.showItemOnClick) {\n this.setLISelected(cli);\n if (!this.isMenu) {\n this.isCmenuHover = false;\n }\n }\n }\n }\n if (!this.isClosed) {\n this.afterCloseMenu(e);\n }\n this.isClosed = false;\n }\n }\n }\n else {\n if (trgt.tagName === 'DIV' && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.e-menu-vscroll') && (this.navIdx.length || !this.isMenu && this.enableScrolling && this.navIdx.length === 0)) {\n var popupEle = this.isMenu ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.' + POPUP) : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.e-menu-vscroll');\n var cIdx = this.isMenu ? Array.prototype.indexOf.call(this.getPopups(), popupEle) + 1\n : this.getIdx(wrapper, (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('ul.e-menu-parent', popupEle));\n if (cIdx < this.navIdx.length) {\n this.closeMenu(cIdx + 1, e);\n if (popupEle) {\n this.removeLIStateByClass([FOCUSED, SELECTED], [popupEle]);\n }\n }\n }\n else if (this.isMenu && this.hamburgerMode && trgt.tagName === 'SPAN'\n && trgt.classList.contains('e-menu-icon')) {\n this.menuHeaderClickHandler(e);\n }\n else {\n if (trgt.tagName !== 'UL' || (this.isMenu ? trgt.parentElement.classList.contains('e-menu-wrapper') &&\n !this.getIndex(trgt.querySelector('.' + ITEM).id, true).length : trgt.parentElement !== wrapper)) {\n if (!cli) {\n this.removeLIStateByClass([SELECTED], [wrapper]);\n }\n if (!this.isAnimationNone && !cli || (cli && !cli.querySelector('.' + CARET))) {\n if (navigator.platform.toUpperCase().indexOf('MAC') < 0 || (navigator.platform.toUpperCase().indexOf('MAC') >= 0 && !e.ctrlKey)) {\n this.closeMenu(null, e);\n }\n }\n }\n }\n }\n };\n MenuBase.prototype.afterCloseMenu = function (e) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)) {\n return;\n }\n var isHeader;\n if (this.showSubMenu) {\n if (this.showItemOnClick && this.navIdx.length === 0) {\n isHeader = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-menu-parent.e-control');\n }\n else {\n isHeader = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, '.e-menu-parent.e-control');\n }\n var idx = this.navIdx.concat(this.cliIdx);\n var item = this.getItem(idx);\n if (item && item[this.getField('children', idx.length - 1)] &&\n item[this.getField('children', idx.length - 1)].length) {\n if (e.type === 'mouseover' || (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && this.isMenu)) {\n this.setLISelected(this.cli);\n }\n if ((!this.hamburgerMode && isHeader) || (this.hamburgerMode && this.cli.getAttribute('aria-expanded') === 'false')) {\n this.cli.setAttribute('aria-expanded', 'true');\n this.navIdx.push(this.cliIdx);\n this.openMenu(this.cli, item, null, null, e);\n }\n }\n else {\n if (e.type !== 'mouseover') {\n this.closeMenu(null, e);\n }\n }\n if (!isHeader) {\n var cul = this.getUlByNavIdx();\n var sli = this.getLIByClass(cul, SELECTED);\n if (sli) {\n sli.setAttribute('aria-expanded', 'false');\n sli.classList.remove(SELECTED);\n }\n }\n }\n this.keyType = '';\n };\n MenuBase.prototype.setLISelected = function (li) {\n var sli = this.getLIByClass(li.parentElement, SELECTED);\n if (sli) {\n sli.classList.remove(SELECTED);\n }\n if (!this.isMenu) {\n li.classList.remove(FOCUSED);\n }\n li.classList.add(SELECTED);\n };\n MenuBase.prototype.getLIByClass = function (ul, classname) {\n if (ul && ul.children) {\n for (var i = 0, len = ul.children.length; i < len; i++) {\n if (ul.children[i].classList.contains(classname)) {\n return ul.children[i];\n }\n }\n }\n return null;\n };\n /**\n * This method is used to get the index of the menu item in the Menu based on the argument.\n *\n * @param {MenuItem | string} item - item be passed to get the index | id to be passed to get the item index.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.getItemIndex = function (item, isUniqueId) {\n var idx;\n if (typeof item === 'string') {\n idx = item;\n }\n else {\n idx = item.id;\n }\n var isText = (isUniqueId === false) ? false : true;\n var navIdx = this.getIndex(idx, isText);\n return navIdx;\n };\n /**\n * This method is used to set the menu item in the Menu based on the argument.\n *\n * @param {MenuItem} item - item need to be updated.\n * @param {string} id - id / text to be passed to update the item.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.setItem = function (item, id, isUniqueId) {\n var idx;\n if (isUniqueId) {\n idx = id ? id : item.id;\n }\n else {\n idx = id ? id : item.text;\n }\n var navIdx = this.getIndex(idx, isUniqueId);\n var newItem = this.getItem(navIdx);\n Object.assign(newItem, item);\n };\n MenuBase.prototype.getItem = function (navIdx) {\n navIdx = navIdx.slice();\n var idx = navIdx.pop();\n var items = this.getItems(navIdx);\n return items[idx];\n };\n MenuBase.prototype.getItems = function (navIdx) {\n var items = this.items;\n for (var i = 0; i < navIdx.length; i++) {\n items = items[navIdx[i]][this.getField('children', i)];\n }\n return items;\n };\n MenuBase.prototype.setItems = function (newItems, navIdx) {\n var items = this.getItems(navIdx);\n items.splice(0, items.length);\n for (var i = 0; i < newItems.length; i++) {\n items.splice(i, 0, newItems[i]);\n }\n };\n MenuBase.prototype.getIdx = function (ul, li, skipHdr) {\n if (skipHdr === void 0) { skipHdr = true; }\n var ulElem = !this.isMenu && this.enableScrolling && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-menu-vscroll', ul)\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-menu-parent', ul) : Array.from(ul.children);\n var idx = Array.prototype.indexOf.call(ulElem, li);\n if (skipHdr && ul.children[0].classList.contains(HEADER)) {\n idx--;\n }\n return idx;\n };\n MenuBase.prototype.getLI = function (elem) {\n if (elem.tagName === 'LI' && elem.classList.contains('e-menu-item')) {\n return elem;\n }\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(elem, 'li.e-menu-item');\n };\n MenuBase.prototype.updateItemsByNavIdx = function () {\n var items = this.items;\n var count = 0;\n for (var index = 0; index < this.navIdx.length; index++) {\n items = items[index].items;\n if (!items) {\n break;\n }\n count++;\n var ul = this.getUlByNavIdx(count);\n if (!ul) {\n break;\n }\n this.updateItem(ul, items);\n }\n };\n MenuBase.prototype.removeChildElement = function (elem) {\n while (elem.firstElementChild) {\n elem.removeChild(elem.firstElementChild);\n }\n return elem;\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @private\n * @param {MenuBaseModel} newProp - Specifies the new properties\n * @param {MenuBaseModel} oldProp - Specifies the old properties\n * @returns {void}\n */\n MenuBase.prototype.onPropertyChanged = function (newProp, oldProp) {\n var _this = this;\n var wrapper = this.getWrapper();\n var _loop_2 = function (prop) {\n switch (prop) {\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([wrapper], oldProp.cssClass.split(' '));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([wrapper], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n break;\n case 'enableRtl':\n if (this_1.enableRtl) {\n wrapper.classList.add(RTL);\n }\n else {\n wrapper.classList.remove(RTL);\n }\n break;\n case 'showItemOnClick':\n this_1.unWireEvents();\n this_1.showItemOnClick = newProp.showItemOnClick;\n this_1.wireEvents();\n break;\n case 'enableScrolling':\n if (newProp.enableScrolling) {\n var ul_2;\n if (this_1.element.classList.contains('e-vertical')) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this_1.createElement, wrapper, this_1.element, 'vscroll', this_1.enableRtl);\n }\n else {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this_1.createElement, wrapper, this_1.element, 'hscroll', this_1.enableRtl);\n }\n this_1.getPopups().forEach(function (wrapper) {\n ul_2 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-ul', wrapper);\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(_this.createElement, wrapper, ul_2, 'vscroll', _this.enableRtl);\n });\n }\n else {\n var ul_3 = wrapper.children[0];\n if (this_1.element.classList.contains('e-vertical') || !this_1.isMenu) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(ul_3, _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), ul_3);\n }\n else {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(ul_3, _common_h_scroll__WEBPACK_IMPORTED_MODULE_7__.HScroll), ul_3);\n }\n wrapper.style.overflow = '';\n wrapper.appendChild(this_1.element);\n this_1.getPopups().forEach(function (wrapper) {\n ul_3 = wrapper.children[0];\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(ul_3, _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), ul_3);\n wrapper.style.overflow = '';\n });\n }\n break;\n case 'items': {\n var idx = void 0;\n var navIdx = void 0;\n var item = void 0;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this_1.isReact && this_1.template) {\n this_1.clearTemplate(['template']);\n }\n if (!Object.keys(oldProp.items).length) {\n this_1.updateItem(this_1.element, this_1.items);\n if (this_1.enableScrolling && this_1.element.parentElement.classList.contains('e-custom-scroll')) {\n if (this_1.element.classList.contains('e-vertical')) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this_1.createElement, wrapper, this_1.element, 'vscroll', this_1.enableRtl);\n }\n else {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.addScrolling)(this_1.createElement, wrapper, this_1.element, 'hscroll', this_1.enableRtl);\n }\n }\n if (!this_1.hamburgerMode) {\n for (var i = 1, count = wrapper.childElementCount; i < count; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(wrapper.lastElementChild);\n }\n }\n this_1.navIdx = [];\n }\n else {\n var keys = Object.keys(newProp.items);\n for (var i = 0; i < keys.length; i++) {\n navIdx = this_1.getChangedItemIndex(newProp, [], Number(keys[i]));\n if (navIdx.length <= this_1.getWrapper().children.length) {\n idx = navIdx.pop();\n item = this_1.getItems(navIdx);\n this_1.insertAfter([item[idx]], item[idx].text);\n this_1.removeItem(item, navIdx, idx);\n this_1.setItems(item, navIdx);\n }\n navIdx.length = 0;\n }\n }\n break;\n }\n }\n };\n var this_1 = this;\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_2(prop);\n }\n };\n MenuBase.prototype.updateItem = function (ul, items) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.isMenu) {\n ul = this.removeChildElement(ul);\n }\n else {\n if (this.enableScrolling) {\n var wrapper1 = this.getWrapper();\n var ul1 = wrapper1.children[0];\n if (this.element.classList.contains('e-vertical')) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(ul1, _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), ul1);\n }\n else {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(ul1, _common_h_scroll__WEBPACK_IMPORTED_MODULE_7__.HScroll), ul1);\n }\n }\n ul.innerHTML = '';\n }\n var lis = [].slice.call(this.createItems(items).children);\n lis.forEach(function (li) {\n ul.appendChild(li);\n });\n };\n MenuBase.prototype.getChangedItemIndex = function (newProp, index, idx) {\n index.push(idx);\n var key = Object.keys(newProp.items[idx]).pop();\n if (key === 'items') {\n var item = newProp.items[idx];\n var popStr = Object.keys(item.items).pop();\n if (popStr) {\n this.getChangedItemIndex(item, index, Number(popStr));\n }\n }\n else {\n if (key === 'isParentArray' && index.length > 1) {\n index.pop();\n }\n }\n return index;\n };\n MenuBase.prototype.removeItem = function (item, navIdx, idx) {\n item.splice(idx, 1);\n var uls = this.getWrapper().children;\n if (navIdx.length < uls.length) {\n if (this.enableScrolling && !uls[navIdx.length].classList.contains('e-menu-parent')) {\n var ul = uls[navIdx.length].querySelector('.e-menu-parent');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(ul.children[idx]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(uls[navIdx.length].children[idx]);\n }\n }\n };\n /**\n * Used to unwire the bind events.\n *\n * @private\n * @param {string} targetSelctor - Specifies the target selector\n * @returns {void}\n */\n MenuBase.prototype.unWireEvents = function (targetSelctor) {\n if (targetSelctor === void 0) { targetSelctor = this.target; }\n var wrapper = this.getWrapper();\n if (targetSelctor) {\n var target = void 0;\n var touchModule = void 0;\n var targetElems = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(targetSelctor);\n for (var i = 0, len = targetElems.length; i < len; i++) {\n target = targetElems[i];\n if (this.isMenu) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'click', this.menuHeaderClickHandler);\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIos) {\n touchModule = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(target, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch);\n if (touchModule) {\n touchModule.destroy();\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'contextmenu', this.cmenuHandler);\n }\n }\n }\n if (!this.isMenu) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);\n for (var _i = 0, _a = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.getScrollableParent)(this.targetElement); _i < _a.length; _i++) {\n var parent_2 = _a[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(parent_2, 'scroll', this.scrollHandler);\n }\n }\n }\n if (!_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.isMenu ? document : wrapper, 'mouseover', this.delegateMoverHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mousedown', this.delegateMouseDownHandler);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'keydown', this.domKeyHandler);\n if (!this.isMenu && !this.target) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'scroll', this.scrollHandler);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'click', this.delegateClickHandler);\n this.unWireKeyboardEvent(wrapper);\n this.rippleFn();\n if (!this.isMenu && this.enableScrolling) {\n wrapper.removeEventListener('touchstart', this.touchStartFn);\n wrapper.removeEventListener('touchmove', this.touchMoveFn);\n document.removeEventListener('touchstart', this.touchOutsideHandler);\n }\n };\n MenuBase.prototype.unWireKeyboardEvent = function (element) {\n var keyboardModule = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents);\n if (keyboardModule) {\n keyboardModule.destroy();\n }\n };\n MenuBase.prototype.toggleAnimation = function (ul, isMenuOpen) {\n var _this = this;\n if (isMenuOpen === void 0) { isMenuOpen = true; }\n var pUlHeight;\n var pElement;\n var animateElement = (this.enableScrolling && !this.isMenu && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul, '.e-menu-vscroll'))\n ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul, '.e-menu-vscroll') : ul;\n if (this.animationSettings.effect === 'None' || !isMenuOpen) {\n if (this.hamburgerMode && ul) {\n ul.style.top = '0px';\n }\n this.isAnimationNone = this.animationSettings.effect === 'None';\n this.end(ul, isMenuOpen);\n }\n else {\n this.animation.animate(animateElement, {\n name: this.animationSettings.effect,\n duration: this.animationSettings.duration,\n timingFunction: this.animationSettings.easing,\n begin: function (options) {\n if (_this.hamburgerMode) {\n pElement = options.element.parentElement;\n options.element.style.position = 'absolute';\n if (pElement) {\n pUlHeight = pElement.offsetHeight;\n }\n options.element.style.maxHeight = options.element.offsetHeight + 'px';\n if (pElement) {\n pElement.style.maxHeight = '';\n }\n }\n else {\n options.element.style.display = 'block';\n options.element.style.maxHeight = _this.isMenu ? options.element.getBoundingClientRect().height + 'px' : options.element.scrollHeight + 'px';\n }\n },\n progress: function (options) {\n if (_this.hamburgerMode && pElement) {\n pElement.style.minHeight = (pUlHeight + options.element.offsetHeight) + 'px';\n }\n },\n end: function (options) {\n if (_this.hamburgerMode) {\n options.element.style.position = '';\n options.element.style.maxHeight = '';\n if (pElement) {\n pElement.style.minHeight = '';\n }\n options.element.style.top = 0 + 'px';\n options.element.children[0].focus();\n _this.triggerOpen(options.element.children[0]);\n }\n else {\n _this.end(options.element, isMenuOpen);\n }\n _this.isKBDAction = false;\n }\n });\n }\n };\n MenuBase.prototype.triggerOpen = function (ul) {\n var item = this.navIdx.length ? this.getItem(this.navIdx) : null;\n var eventArgs = {\n element: ul, parentItem: item, items: item ? item.items : this.items\n };\n this.trigger('onOpen', eventArgs);\n if (!this.isMenu) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(ul, 'keydown', this.keyHandler, this);\n }\n };\n MenuBase.prototype.end = function (ul, isMenuOpen) {\n if (isMenuOpen && this.isContextMenuClosed) {\n if (this.isMenu || !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice || (!this.isMenu && this.isAnimationNone && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice)) {\n ul.style.display = 'block';\n }\n ul.style.maxHeight = '';\n var scrollMenu = this.enableScrolling && !this.isMenu ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul, '.e-menu-vscroll') : null;\n if (scrollMenu) {\n scrollMenu.style.display = 'block';\n }\n this.triggerOpen(ul);\n if (ul.querySelector('.' + FOCUSED) && this.isKBDAction) {\n ul.querySelector('.' + FOCUSED).focus();\n }\n else {\n var ele = this.getWrapper().children[this.getIdx(this.getWrapper(), ul) - 1];\n if (this.currentTarget) {\n if (!(this.currentTarget.classList.contains('e-numerictextbox') || this.currentTarget.classList.contains('e-textbox') || this.currentTarget.tagName === 'INPUT')) {\n if (ele && this.isKBDAction) {\n ele.querySelector('.' + SELECTED).focus();\n }\n else {\n this.element.focus();\n }\n }\n }\n else {\n if (ele && this.isKBDAction) {\n ele.querySelector('.' + SELECTED).focus();\n }\n else {\n this.element.focus();\n }\n }\n }\n }\n else {\n var scrollMenu = this.enableScrolling && !this.isMenu ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul, '.e-menu-vscroll') : null;\n if (scrollMenu) {\n (0,_common_menu_scroll__WEBPACK_IMPORTED_MODULE_1__.destroyScroll)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getInstance)(scrollMenu, _common_v_scroll__WEBPACK_IMPORTED_MODULE_4__.VScroll), scrollMenu);\n }\n if (ul === this.element) {\n var fli = this.getLIByClass(this.element, FOCUSED);\n if (fli) {\n fli.classList.remove(FOCUSED);\n }\n var sli = this.getLIByClass(this.element, SELECTED);\n if (sli) {\n sli.classList.remove(SELECTED);\n }\n ul.style.display = 'none';\n this.isAnimationNone = false;\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(ul);\n }\n }\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} - Persist data\n */\n MenuBase.prototype.getPersistData = function () {\n return '';\n };\n /**\n * Get wrapper element.\n *\n * @returns {Element} - Wrapper element\n * @private\n */\n MenuBase.prototype.getWrapper = function () {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(this.element, '.e-' + this.getModuleName() + '-wrapper');\n };\n MenuBase.prototype.getIndex = function (data, isUniqueId, items, nIndex, isCallBack, level) {\n if (items === void 0) { items = this.items; }\n if (nIndex === void 0) { nIndex = []; }\n if (isCallBack === void 0) { isCallBack = false; }\n if (level === void 0) { level = 0; }\n var item;\n level = isCallBack ? level + 1 : 0;\n for (var i = 0, len = items.length; i < len; i++) {\n item = items[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var currentField = isUniqueId ? item[this.getField('itemId', level)] : item[this.getField('text', level)];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var itemId = (item.htmlAttributes && 'id' in item.htmlAttributes) ? item.htmlAttributes.id : currentField;\n if (itemId === data) {\n nIndex.push(i);\n break;\n }\n else if (item[this.getField('children', level)]\n && item[this.getField('children', level)].length) {\n nIndex = this.getIndex(data, isUniqueId, item[this.getField('children', level)], nIndex, true, level);\n if (nIndex[nIndex.length - 1] === -1) {\n if (i !== len - 1) {\n nIndex.pop();\n }\n }\n else {\n nIndex.unshift(i);\n break;\n }\n }\n else {\n if (i === len - 1) {\n nIndex.push(-1);\n }\n }\n }\n return (!isCallBack && nIndex[0] === -1) ? [] : nIndex;\n };\n /**\n * This method is used to enable or disable the menu items in the Menu based on the items and enable argument.\n *\n * @param {string[]} items - Text items that needs to be enabled/disabled.\n * @param {boolean} enable - Set `true`/`false` to enable/disable the list items.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.enableItems = function (items, enable, isUniqueId) {\n if (enable === void 0) { enable = true; }\n var ul;\n var idx;\n var navIdx;\n var disabled = DISABLED;\n var skipItem;\n for (var i = 0; i < items.length; i++) {\n navIdx = this.getIndex(items[i], isUniqueId);\n if (this.navIdx.length) {\n if (navIdx.length !== 1) {\n skipItem = false;\n for (var i_1 = 0, len = navIdx.length - 1; i_1 < len; i_1++) {\n if (navIdx[i_1] !== this.navIdx[i_1]) {\n skipItem = true;\n break;\n }\n }\n if (skipItem) {\n continue;\n }\n }\n }\n else {\n if (navIdx.length !== 1) {\n continue;\n }\n }\n idx = navIdx.pop();\n ul = this.getUlByNavIdx(navIdx.length);\n if (ul && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(idx)) {\n if (enable) {\n if (this.isMenu) {\n ul.children[idx].classList.remove(disabled);\n ul.children[idx].removeAttribute('aria-disabled');\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !ul.classList.contains('e-contextmenu')) {\n ul.children[idx + 1].classList.remove(disabled);\n }\n else if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {\n var mainUl = ul.querySelector('.e-menu-parent');\n mainUl.children[idx].classList.remove(disabled);\n }\n else {\n ul.children[idx].classList.remove(disabled);\n }\n }\n }\n else {\n if (this.isMenu) {\n ul.children[idx].classList.add(disabled);\n ul.children[idx].setAttribute('aria-disabled', 'true');\n }\n else {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice && !ul.classList.contains('e-contextmenu')) {\n ul.children[idx + 1].classList.add(disabled);\n }\n else {\n if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {\n var mainUl = ul.querySelector('.e-menu-parent');\n mainUl.children[idx].classList.add(disabled);\n }\n else {\n ul.children[idx].classList.add(disabled);\n }\n }\n }\n }\n }\n }\n };\n /**\n * This method is used to show the menu items in the Menu based on the items text.\n *\n * @param {string[]} items - Text items that needs to be shown.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.showItems = function (items, isUniqueId) {\n this.showHideItems(items, false, isUniqueId);\n };\n /**\n * This method is used to hide the menu items in the Menu based on the items text.\n *\n * @param {string[]} items - Text items that needs to be hidden.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.hideItems = function (items, isUniqueId) {\n this.showHideItems(items, true, isUniqueId);\n };\n MenuBase.prototype.showHideItems = function (items, ishide, isUniqueId) {\n var ul;\n var index;\n var navIdx;\n var item;\n for (var i = 0; i < items.length; i++) {\n navIdx = this.getIndex(items[i], isUniqueId);\n index = navIdx.pop();\n ul = this.getUlByNavIdx(navIdx.length);\n item = this.getItems(navIdx);\n if (ul) {\n if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {\n ul = ul.querySelector('.e-menu-parent');\n }\n var validUl = isUniqueId ? ul.children[index].id : item[index].text.toString();\n if (ishide && validUl === items[i]) {\n ul.children[index].classList.add(HIDE);\n }\n else if (!ishide && validUl === items[i]) {\n ul.children[index].classList.remove(HIDE);\n }\n }\n }\n };\n /**\n * It is used to remove the menu items from the Menu based on the items text.\n *\n * @param {string[]} items Text items that needs to be removed.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.removeItems = function (items, isUniqueId) {\n var idx;\n var navIdx;\n var iitems;\n for (var i = 0; i < items.length; i++) {\n navIdx = this.getIndex(items[i], isUniqueId);\n idx = navIdx.pop();\n iitems = this.getItems(navIdx);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(idx)) {\n this.removeItem(iitems, navIdx, idx);\n }\n }\n };\n /**\n * It is used to insert the menu items after the specified menu item text.\n *\n * @param {MenuItemModel[]} items - Items that needs to be inserted.\n * @param {string} text - Text item after that the element to be inserted.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.insertAfter = function (items, text, isUniqueId) {\n this.insertItems(items, text, isUniqueId);\n };\n /**\n * It is used to insert the menu items before the specified menu item text.\n *\n * @param {MenuItemModel[]} items - Items that needs to be inserted.\n * @param {string} text - Text item before that the element to be inserted.\n * @param {boolean} isUniqueId - Set `true` if it is a unique id.\n * @returns {void}\n */\n MenuBase.prototype.insertBefore = function (items, text, isUniqueId) {\n this.insertItems(items, text, isUniqueId, false);\n };\n MenuBase.prototype.insertItems = function (items, text, isUniqueId, isAfter) {\n if (isAfter === void 0) { isAfter = true; }\n var li;\n var idx;\n var navIdx;\n var iitems;\n var menuitem;\n var parentUl;\n for (var i = 0; i < items.length; i++) {\n navIdx = this.getIndex(text, isUniqueId);\n idx = navIdx.pop();\n iitems = this.getItems(navIdx);\n menuitem = new MenuItem(iitems[0], 'items', items[i], true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n menuitem.parentObj = iitems[0].parentObj;\n iitems.splice(isAfter ? idx + 1 : idx, 0, menuitem);\n var uls = this.isMenu ? [this.getWrapper()].concat(this.getPopups()) : [].slice.call(this.getWrapper().children);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(idx) && navIdx.length < uls.length) {\n idx = isAfter ? idx + 1 : idx;\n li = this.createItems(iitems).children[idx];\n var ul = parentUl = this.isMenu ? (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-menu-parent', uls[navIdx.length]) : uls[navIdx.length];\n if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {\n ul = ul.querySelector('.e-menu-parent');\n }\n ul.insertBefore(li, ul.children[idx]);\n if (i === items.length - 1 && !this.isMenu && ul.style.display === 'block') {\n if (this.enableScrolling) {\n this.setPosition(null, ul, parseFloat(parentUl.style.top), parseFloat(parentUl.style.left));\n var scrollElem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(ul, '.e-vscroll');\n if (scrollElem) {\n scrollElem.style.display = 'block';\n }\n }\n else {\n this.setPosition(null, ul, parseFloat(ul.style.top), parseFloat(ul.style.left));\n ul.style.display = 'block';\n }\n }\n }\n }\n };\n MenuBase.prototype.removeAttributes = function () {\n var _this = this;\n ['top', 'left', 'display', 'z-index'].forEach(function (key) {\n _this.element.style.removeProperty(key);\n });\n ['role', 'tabindex', 'class', 'style'].forEach(function (key) {\n if (key === 'class' && _this.element.classList.contains('e-menu-parent')) {\n _this.element.classList.remove('e-menu-parent');\n }\n if (['class', 'style'].indexOf(key) === -1 || !_this.element.getAttribute(key)) {\n _this.element.removeAttribute(key);\n }\n if (_this.isMenu && key === 'class' && _this.element.classList.contains('e-vertical')) {\n _this.element.classList.remove('e-vertical');\n }\n });\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n MenuBase.prototype.destroy = function () {\n var wrapper = this.getWrapper();\n if (wrapper) {\n this.unWireEvents();\n if (!this.isMenu) {\n this.clonedElement.style.display = '';\n if (this.clonedElement.tagName === 'EJS-CONTEXTMENU') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.clonedElement], ['e-control', 'e-lib', 'e-' + this.getModuleName()]);\n this.element = this.clonedElement;\n }\n else {\n if (this.refreshing && this.clonedElement.childElementCount && this.clonedElement.children[0].tagName === 'LI') {\n this.setProperties({ 'items': [] }, true);\n }\n if (document.getElementById(this.clonedElement.id)) {\n var refEle = this.clonedElement.nextElementSibling;\n if (refEle && refEle !== wrapper) {\n this.clonedElement.parentElement.insertBefore(this.element, refEle);\n }\n else {\n this.clonedElement.parentElement.appendChild(this.element);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.isMenu) {\n this.element = this.removeChildElement(this.element);\n }\n else {\n this.element.innerHTML = '';\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([].slice.call(this.clonedElement.children), this.element);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.clonedElement);\n this.removeAttributes();\n }\n }\n this.clonedElement = null;\n }\n else {\n this.closeMenu();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.isMenu) {\n this.element = this.removeChildElement(this.element);\n }\n else {\n this.element.innerHTML = '';\n }\n this.removeAttributes();\n wrapper.parentNode.insertBefore(this.element, wrapper);\n this.clonedElement = null;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(wrapper);\n _super.prototype.destroy.call(this);\n if (this.template) {\n this.clearTemplate(['template']);\n }\n }\n this.rippleFn = null;\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"beforeItemRender\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"beforeOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"onOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"beforeClose\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"onClose\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"select\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], MenuBase.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], MenuBase.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], MenuBase.prototype, \"hoverDelay\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MenuBase.prototype, \"showItemOnClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], MenuBase.prototype, \"target\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], MenuBase.prototype, \"filter\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], MenuBase.prototype, \"template\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], MenuBase.prototype, \"enableScrolling\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], MenuBase.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({ itemId: 'id', text: 'text', parentId: 'parentId', iconCss: 'iconCss', url: 'url', separator: 'separator', children: 'items' }, FieldSettings)\n ], MenuBase.prototype, \"fields\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([], MenuItem)\n ], MenuBase.prototype, \"items\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({ duration: 400, easing: 'ease', effect: 'SlideDown' }, MenuAnimationSettings)\n ], MenuBase.prototype, \"animationSettings\", void 0);\n MenuBase = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], MenuBase);\n return MenuBase;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-navigations/src/common/menu-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-navigations/src/common/menu-scroll.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-navigations/src/common/menu-scroll.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addScrolling: () => (/* binding */ addScrolling),\n/* harmony export */ destroyScroll: () => (/* binding */ destroyScroll)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _v_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./v-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.js\");\n/* harmony import */ var _h_scroll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./h-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.js\");\n\n\n\n/**\n * Used to add scroll in menu.\n *\n * @param {createElementType} createElement - Specifies the create element model\n * @param {HTMLElement} container - Specifies the element container\n * @param {HTMLElement} content - Specifies the content element\n * @param {string} scrollType - Specifies the scroll type\n * @param {boolean} enableRtl - Specifies the enable RTL property\n * @param {boolean} offset - Specifies the offset value\n * @returns {HTMLElement} - Element\n * @hidden\n */\nfunction addScrolling(createElement, container, content, scrollType, enableRtl, offset) {\n var containerOffset;\n var contentOffset;\n var parentElem = container.parentElement;\n if (scrollType === 'vscroll') {\n containerOffset = offset || container.getBoundingClientRect().height;\n contentOffset = content.getBoundingClientRect().height;\n }\n else {\n containerOffset = container.getBoundingClientRect().width;\n contentOffset = content.getBoundingClientRect().width;\n }\n if (containerOffset < contentOffset) {\n return createScrollbar(createElement, container, content, scrollType, enableRtl, offset);\n }\n else if (parentElem) {\n var width = parentElem.getBoundingClientRect().width;\n if (width < containerOffset && scrollType === 'hscroll') {\n contentOffset = width;\n container.style.maxWidth = width + 'px';\n return createScrollbar(createElement, container, content, scrollType, enableRtl, offset);\n }\n return content;\n }\n else {\n return content;\n }\n}\n/**\n * Used to create scroll bar in menu.\n *\n * @param {createElementType} createElement - Specifies the create element model\n * @param {HTMLElement} container - Specifies the element container\n * @param {HTMLElement} content - Specifies the content element\n * @param {string} scrollType - Specifies the scroll type\n * @param {boolean} enableRtl - Specifies the enable RTL property\n * @param {boolean} offset - Specifies the offset value\n * @returns {HTMLElement} - Element\n * @hidden\n */\nfunction createScrollbar(createElement, container, content, scrollType, enableRtl, offset) {\n var scrollEle = createElement('div', { className: 'e-menu-' + scrollType });\n container.appendChild(scrollEle);\n scrollEle.appendChild(content);\n if (offset) {\n scrollEle.style.overflow = 'hidden';\n scrollEle.style.height = offset + 'px';\n }\n else {\n scrollEle.style.maxHeight = container.style.maxHeight;\n container.style.overflow = 'hidden';\n }\n var scrollObj;\n if (scrollType === 'vscroll') {\n scrollObj = new _v_scroll__WEBPACK_IMPORTED_MODULE_1__.VScroll({ enableRtl: enableRtl }, scrollEle);\n scrollObj.scrollStep = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-' + scrollType + '-bar', container).offsetHeight / 2;\n }\n else {\n scrollObj = new _h_scroll__WEBPACK_IMPORTED_MODULE_2__.HScroll({ enableRtl: enableRtl }, scrollEle);\n scrollObj.scrollStep = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-' + scrollType + '-bar', container).offsetWidth;\n }\n return scrollEle;\n}\n/**\n * Used to destroy the scroll option.\n *\n * @param {VScroll | HScroll} scrollObj - Specifies the scroller object\n * @param {Element} element - Specifies the element\n * @param {HTMLElement} skipEle - Specifies the skip element\n * @returns {void}\n * @hidden\n */\nfunction destroyScroll(scrollObj, element, skipEle) {\n if (scrollObj) {\n var menu = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.e-menu-parent', element);\n if (menu) {\n if (!skipEle || skipEle === menu) {\n scrollObj.destroy();\n element.parentElement.appendChild(menu);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(element);\n }\n }\n else {\n scrollObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(element);\n }\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-navigations/src/common/menu-scroll.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VScroll: () => (/* binding */ VScroll)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar CLS_ROOT = 'e-vscroll';\nvar CLS_RTL = 'e-rtl';\nvar CLS_DISABLE = 'e-overlay';\nvar CLS_VSCROLLBAR = 'e-vscroll-bar';\nvar CLS_VSCROLLCON = 'e-vscroll-content';\nvar CLS_NAVARROW = 'e-nav-arrow';\nvar CLS_NAVUPARROW = 'e-nav-up-arrow';\nvar CLS_NAVDOWNARROW = 'e-nav-down-arrow';\nvar CLS_VSCROLLNAV = 'e-scroll-nav';\nvar CLS_VSCROLLNAVUP = 'e-scroll-up-nav';\nvar CLS_VSCROLLNAVDOWN = 'e-scroll-down-nav';\nvar CLS_DEVICE = 'e-scroll-device';\nvar CLS_OVERLAY = 'e-scroll-overlay';\nvar CLS_UPOVERLAY = 'e-scroll-up-overlay';\nvar CLS_DOWNOVERLAY = 'e-scroll-down-overlay';\nvar OVERLAY_MAXWID = 40;\n/**\n * VScroll module is introduces vertical scroller when content exceeds the current viewing area.\n * It can be useful for the components like Toolbar, Tab which needs vertical scrolling alone.\n * Hidden content can be view by touch moving or icon click.\n * ```html\n *
      \n * \n * ```\n */\nvar VScroll = /** @class */ (function (_super) {\n __extends(VScroll, _super);\n /**\n * Initializes a new instance of the VScroll class.\n *\n * @param {VScrollModel} options - Specifies VScroll model properties as options.\n * @param {string | HTMLElement} element - Specifies the element for which vertical scrolling applies.\n */\n function VScroll(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Initialize the event handler\n *\n * @private\n * @returns {void}\n */\n VScroll.prototype.preRender = function () {\n this.browser = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name;\n this.browserCheck = this.browser === 'mozilla';\n this.isDevice = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice;\n this.customStep = true;\n var ele = this.element;\n this.ieCheck = this.browser === 'edge' || this.browser === 'msie';\n this.initialize();\n if (ele.id === '') {\n ele.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('vscroll');\n this.uniqueId = true;\n }\n ele.style.display = 'block';\n if (this.enableRtl) {\n ele.classList.add(CLS_RTL);\n }\n };\n /**\n * To Initialize the vertical scroll rendering\n *\n * @private\n * @returns {void}\n */\n VScroll.prototype.render = function () {\n this.touchModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(this.element, { scroll: this.touchHandler.bind(this), swipe: this.swipeHandler.bind(this) });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.scrollEle, 'scroll', this.scrollEventHandler, this);\n if (!this.isDevice) {\n this.createNavIcon(this.element);\n }\n else {\n this.element.classList.add(CLS_DEVICE);\n this.createOverlayElement(this.element);\n }\n this.setScrollState();\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'wheel', this.wheelEventHandler, this);\n };\n VScroll.prototype.setScrollState = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.scrollStep) || this.scrollStep < 0) {\n this.scrollStep = this.scrollEle.offsetHeight;\n this.customStep = false;\n }\n else {\n this.customStep = true;\n }\n };\n VScroll.prototype.initialize = function () {\n var scrollCnt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_VSCROLLCON });\n var scrollBar = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_VSCROLLBAR });\n scrollBar.setAttribute('tabindex', '-1');\n var ele = this.element;\n var innerEle = [].slice.call(ele.children);\n for (var _i = 0, innerEle_1 = innerEle; _i < innerEle_1.length; _i++) {\n var ele_1 = innerEle_1[_i];\n scrollCnt.appendChild(ele_1);\n }\n scrollBar.appendChild(scrollCnt);\n ele.appendChild(scrollBar);\n scrollBar.style.overflow = 'hidden';\n this.scrollEle = scrollBar;\n this.scrollItems = scrollCnt;\n };\n VScroll.prototype.getPersistData = function () {\n var keyEntity = ['scrollStep'];\n return this.addOnPersist(keyEntity);\n };\n /**\n * Returns the current module name.\n *\n * @returns {string} - It returns the current module name.\n * @private\n */\n VScroll.prototype.getModuleName = function () {\n return 'vScroll';\n };\n /**\n * Removes the control from the DOM and also removes all its related events.\n *\n * @returns {void}\n */\n VScroll.prototype.destroy = function () {\n var el = this.element;\n el.style.display = '';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], [CLS_ROOT, CLS_DEVICE, CLS_RTL]);\n var navs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-' + el.id + '_nav.' + CLS_VSCROLLNAV, el);\n var overlays = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_OVERLAY, el);\n [].slice.call(overlays).forEach(function (ele) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(ele);\n });\n for (var _i = 0, _a = [].slice.call(this.scrollItems.children); _i < _a.length; _i++) {\n var elem = _a[_i];\n el.appendChild(elem);\n }\n if (this.uniqueId) {\n this.element.removeAttribute('id');\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.scrollEle);\n if (navs.length > 0) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(navs[0]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(navs[1])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(navs[1]);\n }\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.scrollEle, 'scroll', this.scrollEventHandler);\n this.touchModule.destroy();\n this.touchModule = null;\n _super.prototype.destroy.call(this);\n };\n /**\n * Specifies the value to disable/enable the VScroll component.\n * When set to `true` , the component will be disabled.\n *\n * @param {boolean} value - Based on this Boolean value, VScroll will be enabled (false) or disabled (true).\n * @returns {void}.\n */\n VScroll.prototype.disable = function (value) {\n var navEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.e-scroll-nav:not(.' + CLS_DISABLE + ')', this.element);\n if (value) {\n this.element.classList.add(CLS_DISABLE);\n }\n else {\n this.element.classList.remove(CLS_DISABLE);\n }\n [].slice.call(navEle).forEach(function (el) {\n el.setAttribute('tabindex', !value ? '0' : '-1');\n });\n };\n VScroll.prototype.createOverlayElement = function (element) {\n var id = element.id.concat('_nav');\n var downOverlayEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_OVERLAY + ' ' + CLS_DOWNOVERLAY });\n var clsDown = 'e-' + element.id.concat('_nav ' + CLS_VSCROLLNAV + ' ' + CLS_VSCROLLNAVDOWN);\n var downEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { id: id.concat('down'), className: clsDown });\n var navItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_NAVDOWNARROW + ' ' + CLS_NAVARROW + ' e-icons' });\n downEle.appendChild(navItem);\n var upEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_OVERLAY + ' ' + CLS_UPOVERLAY });\n if (this.ieCheck) {\n downEle.classList.add('e-ie-align');\n }\n element.appendChild(downOverlayEle);\n element.appendChild(downEle);\n element.insertBefore(upEle, element.firstChild);\n this.eventBinding([downEle]);\n };\n VScroll.prototype.createNavIcon = function (element) {\n var id = element.id.concat('_nav');\n var clsDown = 'e-' + element.id.concat('_nav ' + CLS_VSCROLLNAV + ' ' + CLS_VSCROLLNAVDOWN);\n var nav = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { id: id.concat('_down'), className: clsDown });\n nav.setAttribute('aria-disabled', 'false');\n var navItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_NAVDOWNARROW + ' ' + CLS_NAVARROW + ' e-icons' });\n var clsUp = 'e-' + element.id.concat('_nav ' + CLS_VSCROLLNAV + ' ' + CLS_VSCROLLNAVUP);\n var navElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { id: id.concat('_up'), className: clsUp + ' ' + CLS_DISABLE });\n navElement.setAttribute('aria-disabled', 'true');\n var navUpItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: CLS_NAVUPARROW + ' ' + CLS_NAVARROW + ' e-icons' });\n navElement.appendChild(navUpItem);\n nav.appendChild(navItem);\n nav.setAttribute('tabindex', '0');\n element.appendChild(nav);\n element.insertBefore(navElement, element.firstChild);\n if (this.ieCheck) {\n nav.classList.add('e-ie-align');\n navElement.classList.add('e-ie-align');\n }\n this.eventBinding([nav, navElement]);\n };\n VScroll.prototype.onKeyPress = function (ev) {\n var _this = this;\n if (ev.key === 'Enter') {\n var timeoutFun_1 = function () {\n _this.keyTimeout = true;\n _this.eleScrolling(10, ev.target, true);\n };\n this.keyTimer = window.setTimeout(function () {\n timeoutFun_1();\n }, 100);\n }\n };\n VScroll.prototype.onKeyUp = function (ev) {\n if (ev.key !== 'Enter') {\n return;\n }\n if (this.keyTimeout) {\n this.keyTimeout = false;\n }\n else {\n ev.target.click();\n }\n clearTimeout(this.keyTimer);\n };\n VScroll.prototype.eventBinding = function (element) {\n var _this = this;\n [].slice.call(element).forEach(function (ele) {\n new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(ele, { tapHold: _this.tabHoldHandler.bind(_this), tapHoldThreshold: 500 });\n ele.addEventListener('keydown', _this.onKeyPress.bind(_this));\n ele.addEventListener('keyup', _this.onKeyUp.bind(_this));\n ele.addEventListener('mouseup', _this.repeatScroll.bind(_this));\n ele.addEventListener('touchend', _this.repeatScroll.bind(_this));\n ele.addEventListener('contextmenu', function (e) {\n e.preventDefault();\n });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(ele, 'click', _this.clickEventHandler, _this);\n });\n };\n VScroll.prototype.repeatScroll = function () {\n clearInterval(this.timeout);\n };\n VScroll.prototype.tabHoldHandler = function (ev) {\n var _this = this;\n var trgt = ev.originalEvent.target;\n trgt = this.contains(trgt, CLS_VSCROLLNAV) ? trgt.firstElementChild : trgt;\n var scrollDistance = 10;\n var timeoutFun = function () {\n _this.eleScrolling(scrollDistance, trgt, true);\n };\n this.timeout = window.setInterval(function () {\n timeoutFun();\n }, 50);\n };\n VScroll.prototype.contains = function (element, className) {\n return element.classList.contains(className);\n };\n VScroll.prototype.eleScrolling = function (scrollDis, trgt, isContinuous) {\n var classList = trgt.classList;\n if (classList.contains(CLS_VSCROLLNAV)) {\n classList = trgt.querySelector('.' + CLS_NAVARROW).classList;\n }\n if (classList.contains(CLS_NAVDOWNARROW)) {\n this.frameScrollRequest(scrollDis, 'add', isContinuous);\n }\n else if (classList.contains(CLS_NAVUPARROW)) {\n this.frameScrollRequest(scrollDis, '', isContinuous);\n }\n };\n VScroll.prototype.clickEventHandler = function (event) {\n this.eleScrolling(this.scrollStep, event.target, false);\n };\n VScroll.prototype.wheelEventHandler = function (e) {\n e.preventDefault();\n this.frameScrollRequest(this.scrollStep, (e.deltaY > 0 ? 'add' : ''), false);\n };\n VScroll.prototype.swipeHandler = function (e) {\n var swipeElement = this.scrollEle;\n var distance;\n if (e.velocity <= 1) {\n distance = e.distanceY / (e.velocity * 10);\n }\n else {\n distance = e.distanceY / e.velocity;\n }\n var start = 0.5;\n var animate = function () {\n var step = Math.sin(start);\n if (step <= 0) {\n window.cancelAnimationFrame(step);\n }\n else {\n if (e.swipeDirection === 'Up') {\n swipeElement.scrollTop += distance * step;\n }\n else if (e.swipeDirection === 'Down') {\n swipeElement.scrollTop -= distance * step;\n }\n start -= 0.02;\n window.requestAnimationFrame(animate);\n }\n };\n animate();\n };\n VScroll.prototype.scrollUpdating = function (scrollVal, action) {\n if (action === 'add') {\n this.scrollEle.scrollTop += scrollVal;\n }\n else {\n this.scrollEle.scrollTop -= scrollVal;\n }\n };\n VScroll.prototype.frameScrollRequest = function (scrollValue, action, isContinuous) {\n var _this = this;\n var step = 10;\n if (isContinuous) {\n this.scrollUpdating(scrollValue, action);\n return;\n }\n if (!this.customStep) {\n [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_OVERLAY, this.element)).forEach(function (el) {\n scrollValue -= el.offsetHeight;\n });\n }\n var animate = function () {\n if (scrollValue < step) {\n window.cancelAnimationFrame(step);\n }\n else {\n _this.scrollUpdating(step, action);\n scrollValue -= step;\n window.requestAnimationFrame(animate);\n }\n };\n animate();\n };\n VScroll.prototype.touchHandler = function (e) {\n var el = this.scrollEle;\n var distance = e.distanceY;\n if (e.scrollDirection === 'Up') {\n el.scrollTop = el.scrollTop + distance;\n }\n else if (e.scrollDirection === 'Down') {\n el.scrollTop = el.scrollTop - distance;\n }\n };\n VScroll.prototype.arrowDisabling = function (addDisableCls, removeDisableCls) {\n if (this.isDevice) {\n var arrowEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(addDisableCls) ? removeDisableCls : addDisableCls;\n var arrowIcon = arrowEle.querySelector('.' + CLS_NAVARROW);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(addDisableCls)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(arrowIcon, [CLS_NAVDOWNARROW], [CLS_NAVUPARROW]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(arrowIcon, [CLS_NAVUPARROW], [CLS_NAVDOWNARROW]);\n }\n }\n else {\n addDisableCls.classList.add(CLS_DISABLE);\n addDisableCls.setAttribute('aria-disabled', 'true');\n addDisableCls.removeAttribute('tabindex');\n removeDisableCls.classList.remove(CLS_DISABLE);\n removeDisableCls.setAttribute('aria-disabled', 'false');\n removeDisableCls.setAttribute('tabindex', '0');\n }\n this.repeatScroll();\n };\n VScroll.prototype.scrollEventHandler = function (e) {\n var target = e.target;\n var height = target.offsetHeight;\n var navUpEle = this.element.querySelector('.' + CLS_VSCROLLNAVUP);\n var navDownEle = this.element.querySelector('.' + CLS_VSCROLLNAVDOWN);\n var upOverlay = this.element.querySelector('.' + CLS_UPOVERLAY);\n var downOverlay = this.element.querySelector('.' + CLS_DOWNOVERLAY);\n var scrollTop = target.scrollTop;\n if (scrollTop <= 0) {\n scrollTop = -scrollTop;\n }\n if (this.isDevice) {\n if (scrollTop < OVERLAY_MAXWID) {\n upOverlay.style.height = scrollTop + 'px';\n }\n else {\n upOverlay.style.height = '40px';\n }\n if ((target.scrollHeight - Math.ceil(height + scrollTop)) < OVERLAY_MAXWID) {\n downOverlay.style.height = (target.scrollHeight - Math.ceil(height + scrollTop)) + 'px';\n }\n else {\n downOverlay.style.height = '40px';\n }\n }\n if (scrollTop === 0) {\n this.arrowDisabling(navUpEle, navDownEle);\n }\n else if (Math.ceil(height + scrollTop + .1) >= target.scrollHeight) {\n this.arrowDisabling(navDownEle, navUpEle);\n }\n else {\n var disEle = this.element.querySelector('.' + CLS_VSCROLLNAV + '.' + CLS_DISABLE);\n if (disEle) {\n disEle.classList.remove(CLS_DISABLE);\n disEle.setAttribute('aria-disabled', 'false');\n disEle.setAttribute('tabindex', '0');\n }\n }\n };\n /**\n * Gets called when the model property changes.The data that describes the old and new values of property that changed.\n *\n * @param {VScrollModel} newProp - It contains the new value of data.\n * @param {VScrollModel} oldProp - It contains the old value of data.\n * @returns {void}\n * @private\n */\n VScroll.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'scrollStep':\n this.setScrollState();\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n this.element.classList.add(CLS_RTL);\n }\n else {\n this.element.classList.remove(CLS_RTL);\n }\n break;\n }\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], VScroll.prototype, \"scrollStep\", void 0);\n VScroll = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], VScroll);\n return VScroll;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContextMenu: () => (/* binding */ ContextMenu)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _common_menu_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/menu-base */ \"./node_modules/@syncfusion/ej2-navigations/src/common/menu-base.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/triple-slash-reference */\n/// \n\n\n\n/**\n * The ContextMenu is a graphical user interface that appears on the user right click/touch hold operation.\n * ```html\n *
      \n *
        \n * ```\n * ```typescript\n * \n * ```\n */\nvar ContextMenu = /** @class */ (function (_super) {\n __extends(ContextMenu, _super);\n /**\n * Constructor for creating the widget.\n *\n * @private\n * @param {ContextMenuModel} options - Specifies the context menu model\n * @param {string} element - Specifies the element\n */\n function ContextMenu(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * For internal use only - prerender processing.\n *\n * @private\n * @returns {void}\n */\n ContextMenu.prototype.preRender = function () {\n this.isMenu = false;\n this.element.id = this.element.id || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('ej2-contextmenu');\n _super.prototype.preRender.call(this);\n };\n ContextMenu.prototype.initialize = function () {\n this.template = this.itemTemplate ? this.itemTemplate : null;\n _super.prototype.initialize.call(this);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'role': 'menubar', 'tabindex': '0' });\n this.element.style.zIndex = (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_1__.getZindexPartial)(this.element).toString();\n };\n /**\n * This method is used to open the ContextMenu in specified position.\n *\n * @param {number} top - To specify ContextMenu vertical positioning.\n * @param {number} left - To specify ContextMenu horizontal positioning.\n * @param {HTMLElement} target - To calculate z-index for ContextMenu based upon the specified target.\n * @function open\n * @returns {void}\n */\n ContextMenu.prototype.open = function (top, left, target) {\n _super.prototype.openMenu.call(this, null, null, top, left, null, target);\n };\n /**\n * Closes the ContextMenu if it is opened.\n *\n * @function close\n * @returns {void}\n */\n ContextMenu.prototype.close = function () {\n _super.prototype.closeMenu.call(this);\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @private\n * @param {ContextMenuModel} newProp - Specifies new properties\n * @param {ContextMenuModel} oldProp - Specifies old properties\n * @returns {void}\n */\n ContextMenu.prototype.onPropertyChanged = function (newProp, oldProp) {\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'filter':\n this.close();\n this.filter = newProp.filter;\n break;\n case 'target':\n this.unWireEvents(oldProp.target);\n this.wireEvents();\n break;\n case 'itemTemplate':\n this.itemTemplate = newProp.itemTemplate;\n this.refresh();\n }\n }\n };\n /**\n * Get module name.\n *\n * @returns {string} - Module Name\n * @private\n */\n ContextMenu.prototype.getModuleName = function () {\n return 'contextmenu';\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], ContextMenu.prototype, \"target\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], ContextMenu.prototype, \"filter\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([], _common_menu_base__WEBPACK_IMPORTED_MODULE_2__.MenuItem)\n ], ContextMenu.prototype, \"items\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], ContextMenu.prototype, \"itemTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], ContextMenu.prototype, \"enableScrolling\", void 0);\n ContextMenu = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], ContextMenu);\n return ContextMenu;\n}(_common_menu_base__WEBPACK_IMPORTED_MODULE_2__.MenuBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Item: () => (/* binding */ Item),\n/* harmony export */ Toolbar: () => (/* binding */ Toolbar)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @syncfusion/ej2-popups */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/button/button.js\");\n/* harmony import */ var _common_h_scroll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/h-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.js\");\n/* harmony import */ var _common_v_scroll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/v-scroll */ \"./node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\n\n\n\n\n\n\n\n\nvar CLS_VERTICAL = 'e-vertical';\nvar CLS_ITEMS = 'e-toolbar-items';\nvar CLS_ITEM = 'e-toolbar-item';\nvar CLS_RTL = 'e-rtl';\nvar CLS_SEPARATOR = 'e-separator';\nvar CLS_POPUPICON = 'e-popup-up-icon';\nvar CLS_POPUPDOWN = 'e-popup-down-icon';\nvar CLS_POPUPOPEN = 'e-popup-open';\nvar CLS_TEMPLATE = 'e-template';\nvar CLS_DISABLE = 'e-overlay';\nvar CLS_POPUPTEXT = 'e-toolbar-text';\nvar CLS_TBARTEXT = 'e-popup-text';\nvar CLS_TBAROVERFLOW = 'e-overflow-show';\nvar CLS_POPOVERFLOW = 'e-overflow-hide';\nvar CLS_TBARBTN = 'e-tbar-btn';\nvar CLS_TBARNAV = 'e-hor-nav';\nvar CLS_TBARSCRLNAV = 'e-scroll-nav';\nvar CLS_TBARRIGHT = 'e-toolbar-right';\nvar CLS_TBARLEFT = 'e-toolbar-left';\nvar CLS_TBARCENTER = 'e-toolbar-center';\nvar CLS_TBARPOS = 'e-tbar-pos';\nvar CLS_HSCROLLCNT = 'e-hscroll-content';\nvar CLS_VSCROLLCNT = 'e-vscroll-content';\nvar CLS_HSCROLLBAR = 'e-hscroll-bar';\nvar CLS_POPUPNAV = 'e-hor-nav';\nvar CLS_POPUPCLASS = 'e-toolbar-pop';\nvar CLS_POPUP = 'e-toolbar-popup';\nvar CLS_TBARBTNTEXT = 'e-tbar-btn-text';\nvar CLS_TBARNAVACT = 'e-nav-active';\nvar CLS_TBARIGNORE = 'e-ignore';\nvar CLS_POPPRI = 'e-popup-alone';\nvar CLS_HIDDEN = 'e-hidden';\nvar CLS_MULTIROW = 'e-toolbar-multirow';\nvar CLS_MULTIROWPOS = 'e-multirow-pos';\nvar CLS_MULTIROW_SEPARATOR = 'e-multirow-separator';\nvar CLS_EXTENDABLE_SEPARATOR = 'e-extended-separator';\nvar CLS_EXTEANDABLE_TOOLBAR = 'e-extended-toolbar';\nvar CLS_EXTENDABLECLASS = 'e-toolbar-extended';\nvar CLS_EXTENDPOPUP = 'e-expended-nav';\nvar CLS_EXTENDEDPOPOPEN = 'e-tbar-extended';\n/**\n * An item object that is used to configure Toolbar commands.\n */\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"id\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"text\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Item.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Item.prototype, \"showAlwaysInPopup\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Item.prototype, \"disabled\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"prefixIcon\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"suffixIcon\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Item.prototype, \"visible\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('None')\n ], Item.prototype, \"overflow\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"template\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Button')\n ], Item.prototype, \"type\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Both')\n ], Item.prototype, \"showTextOn\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Item.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Item.prototype, \"tooltipText\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Left')\n ], Item.prototype, \"align\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Item.prototype, \"click\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(-1)\n ], Item.prototype, \"tabIndex\", void 0);\n return Item;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * The Toolbar control contains a group of commands that are aligned horizontally.\n * ```html\n *
        \n * \n * ```\n */\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n /**\n * Initializes a new instance of the Toolbar class.\n *\n * @param {ToolbarModel} options - Specifies Toolbar model properties as options.\n * @param { string | HTMLElement} element - Specifies the element that is rendered as a Toolbar.\n */\n function Toolbar(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.resizeContext = _this.resize.bind(_this);\n _this.orientationChangeContext = _this.orientationChange.bind(_this);\n /**\n * Contains the keyboard configuration of the Toolbar.\n */\n _this.keyConfigs = {\n moveLeft: 'leftarrow',\n moveRight: 'rightarrow',\n moveUp: 'uparrow',\n moveDown: 'downarrow',\n popupOpen: 'enter',\n popupClose: 'escape',\n tab: 'tab',\n home: 'home',\n end: 'end'\n };\n return _this;\n }\n /**\n * Removes the control from the DOM and also removes all its related events.\n *\n * @returns {void}.\n */\n Toolbar.prototype.destroy = function () {\n var _this = this;\n if (this.isReact || this.isAngular) {\n this.clearTemplate();\n }\n var btnItems = this.element.querySelectorAll('.e-control.e-btn');\n [].slice.call(btnItems).forEach(function (el) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(el) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(el.ej2_instances) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(el.ej2_instances[0]) && !(el.ej2_instances[0].isDestroyed)) {\n el.ej2_instances[0].destroy();\n }\n });\n this.unwireEvents();\n this.tempId.forEach(function (ele) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.element.querySelector(ele))) {\n document.body.appendChild(_this.element.querySelector(ele)).style.display = 'none';\n }\n });\n this.destroyItems();\n while (this.element.lastElementChild) {\n this.element.removeChild(this.element.lastElementChild);\n }\n if (this.trgtEle) {\n this.element.appendChild(this.ctrlTem);\n this.trgtEle = null;\n this.ctrlTem = null;\n }\n if (this.popObj) {\n this.popObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.popObj.element);\n }\n if (this.activeEle) {\n this.activeEle = null;\n }\n this.popObj = null;\n this.tbarAlign = null;\n this.tbarItemsCol = [];\n this.remove(this.element, 'e-toolpop');\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], this.cssClass.split(' '));\n }\n this.element.removeAttribute('style');\n ['aria-disabled', 'aria-orientation', 'role'].forEach(function (attrb) {\n return _this.element.removeAttribute(attrb);\n });\n _super.prototype.destroy.call(this);\n };\n /**\n * Initialize the event handler\n *\n * @private\n * @returns {void}\n */\n Toolbar.prototype.preRender = function () {\n var eventArgs = { enableCollision: this.enableCollision, scrollStep: this.scrollStep };\n this.trigger('beforeCreate', eventArgs);\n this.enableCollision = eventArgs.enableCollision;\n this.scrollStep = eventArgs.scrollStep;\n this.scrollModule = null;\n this.popObj = null;\n this.tempId = [];\n this.tbarItemsCol = this.items;\n this.isVertical = this.element.classList.contains(CLS_VERTICAL) ? true : false;\n this.isExtendedOpen = false;\n this.popupPriCount = 0;\n if (this.enableRtl) {\n this.add(this.element, CLS_RTL);\n }\n };\n Toolbar.prototype.wireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'click', this.clickHandler, this);\n window.addEventListener('resize', this.resizeContext);\n window.addEventListener('orientationchange', this.orientationChangeContext);\n if (this.allowKeyboard) {\n this.wireKeyboardEvent();\n }\n };\n Toolbar.prototype.wireKeyboardEvent = function () {\n this.keyModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.KeyboardEvents(this.element, {\n keyAction: this.keyActionHandler.bind(this),\n keyConfigs: this.keyConfigs\n });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'keydown', this.docKeyDown, this);\n this.updateTabIndex('0');\n };\n Toolbar.prototype.updateTabIndex = function (tabIndex) {\n var ele = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.firstElementChild)) {\n var dataTabIndex = ele.firstElementChild.getAttribute('data-tabindex');\n if (dataTabIndex && dataTabIndex === '-1' && ele.firstElementChild.tagName !== 'INPUT') {\n ele.firstElementChild.setAttribute('tabindex', tabIndex);\n }\n }\n };\n Toolbar.prototype.unwireKeyboardEvent = function () {\n if (this.keyModule) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'keydown', this.docKeyDown);\n this.keyModule.destroy();\n this.keyModule = null;\n }\n };\n Toolbar.prototype.docKeyDown = function (e) {\n if (e.target.tagName === 'INPUT') {\n return;\n }\n var popCheck = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popObj) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(this.popObj.element) && this.overflowMode !== 'Extended';\n if (e.keyCode === 9 && e.target.classList.contains('e-hor-nav') === true && popCheck) {\n this.popObj.hide({ name: 'FadeOut', duration: 100 });\n }\n var keyCheck = (e.keyCode === 40 || e.keyCode === 38 || e.keyCode === 35 || e.keyCode === 36);\n if (keyCheck) {\n e.preventDefault();\n }\n };\n Toolbar.prototype.unwireEvents = function () {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'click', this.clickHandler);\n this.destroyScroll();\n this.unwireKeyboardEvent();\n window.removeEventListener('resize', this.resizeContext);\n window.removeEventListener('orientationchange', this.orientationChangeContext);\n document.removeEventListener('scroll', this.clickEvent);\n document.removeEventListener('click', this.scrollEvent);\n this.scrollEvent = null;\n this.clickEvent = null;\n };\n Toolbar.prototype.clearProperty = function () {\n this.tbarEle = [];\n this.tbarAlgEle = { lefts: [], centers: [], rights: [] };\n };\n Toolbar.prototype.docEvent = function (e) {\n var popEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.e-popup');\n if (this.popObj && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(this.popObj.element) && !popEle && this.overflowMode === 'Popup') {\n this.popObj.hide({ name: 'FadeOut', duration: 100 });\n }\n };\n Toolbar.prototype.destroyScroll = function () {\n if (this.scrollModule) {\n if (this.tbarAlign) {\n this.add(this.scrollModule.element, CLS_TBARPOS);\n }\n this.scrollModule.destroy();\n this.scrollModule = null;\n }\n };\n Toolbar.prototype.destroyItems = function () {\n if (this.element) {\n [].slice.call(this.element.querySelectorAll('.' + CLS_ITEM)).forEach(function (el) { (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(el); });\n }\n if (this.tbarAlign) {\n var tbarItems = this.element.querySelector('.' + CLS_ITEMS);\n [].slice.call(tbarItems.children).forEach(function (el) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(el);\n });\n this.tbarAlign = false;\n this.remove(tbarItems, CLS_TBARPOS);\n }\n this.clearProperty();\n };\n Toolbar.prototype.destroyMode = function () {\n if (this.scrollModule) {\n this.remove(this.scrollModule.element, CLS_RTL);\n this.destroyScroll();\n }\n this.remove(this.element, CLS_EXTENDEDPOPOPEN);\n this.remove(this.element, CLS_EXTEANDABLE_TOOLBAR);\n var tempEle = this.element.querySelector('.e-toolbar-multirow');\n if (tempEle) {\n this.remove(tempEle, CLS_MULTIROW);\n }\n if (this.popObj) {\n this.popupRefresh(this.popObj.element, true);\n }\n };\n Toolbar.prototype.add = function (ele, val) {\n ele.classList.add(val);\n };\n Toolbar.prototype.remove = function (ele, val) {\n ele.classList.remove(val);\n };\n Toolbar.prototype.elementFocus = function (ele) {\n var fChild = ele.firstElementChild;\n if (fChild) {\n fChild.focus();\n this.activeEleSwitch(ele);\n }\n else {\n ele.focus();\n }\n };\n Toolbar.prototype.clstElement = function (tbrNavChk, trgt) {\n var clst;\n if (tbrNavChk && this.popObj && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(this.popObj.element)) {\n clst = this.popObj.element.querySelector('.' + CLS_ITEM);\n }\n else if (this.element === trgt || tbrNavChk) {\n clst = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');\n }\n else {\n clst = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.' + CLS_ITEM);\n }\n return clst;\n };\n Toolbar.prototype.keyHandling = function (clst, e, trgt, navChk, scrollChk) {\n var popObj = this.popObj;\n var rootEle = this.element;\n var popAnimate = { name: 'FadeOut', duration: 100 };\n var value = e.action === 'moveUp' ? 'previous' : 'next';\n var ele;\n var nodes;\n switch (e.action) {\n case 'moveRight':\n if (this.isVertical) {\n return;\n }\n if (rootEle === trgt) {\n this.elementFocus(clst);\n }\n else if (!navChk) {\n this.eleFocus(clst, 'next');\n }\n break;\n case 'moveLeft':\n if (this.isVertical) {\n return;\n }\n if (!navChk) {\n this.eleFocus(clst, 'previous');\n }\n break;\n case 'home':\n case 'end':\n if (clst) {\n var popupCheck = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(clst, '.e-popup');\n var extendedPopup = this.element.querySelector('.' + CLS_EXTENDABLECLASS);\n if (this.overflowMode === 'Extended' && extendedPopup && extendedPopup.classList.contains('e-popup-open')) {\n popupCheck = e.action === 'end' ? extendedPopup : null;\n }\n if (popupCheck) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(this.popObj.element)) {\n nodes = [].slice.call(popupCheck.children);\n if (e.action === 'home') {\n ele = this.focusFirstVisibleEle(nodes);\n }\n else {\n ele = this.focusLastVisibleEle(nodes);\n }\n }\n }\n else {\n nodes = this.element.querySelectorAll('.' + CLS_ITEMS + ' .' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + ')');\n if (e.action === 'home') {\n ele = this.focusFirstVisibleEle(nodes);\n }\n else {\n ele = this.focusLastVisibleEle(nodes);\n }\n }\n if (ele) {\n this.elementFocus(ele);\n }\n }\n break;\n case 'moveUp':\n case 'moveDown':\n if (!this.isVertical) {\n if (popObj && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.e-popup')) {\n var popEle = popObj.element;\n var popFrstEle = popEle.firstElementChild;\n if ((value === 'previous' && popFrstEle === clst)) {\n popEle.lastElementChild.firstChild.focus();\n }\n else if (value === 'next' && popEle.lastElementChild === clst) {\n popFrstEle.firstChild.focus();\n }\n else {\n this.eleFocus(clst, value);\n }\n }\n else if (e.action === 'moveDown' && popObj && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(popObj.element)) {\n this.elementFocus(clst);\n }\n }\n else {\n if (e.action === 'moveUp') {\n this.eleFocus(clst, 'previous');\n }\n else {\n this.eleFocus(clst, 'next');\n }\n }\n break;\n case 'tab':\n if (!scrollChk && !navChk) {\n var ele_1 = clst.firstElementChild;\n if (rootEle === trgt) {\n if (this.activeEle) {\n this.activeEle.focus();\n }\n else {\n this.activeEleRemove(ele_1);\n ele_1.focus();\n }\n }\n }\n break;\n case 'popupClose':\n if (popObj && this.overflowMode !== 'Extended') {\n popObj.hide(popAnimate);\n }\n break;\n case 'popupOpen':\n if (!navChk) {\n return;\n }\n if (popObj && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(popObj.element)) {\n popObj.element.style.top = rootEle.offsetHeight + 'px';\n popObj.show({ name: 'FadeIn', duration: 100 });\n }\n else {\n popObj.hide(popAnimate);\n }\n break;\n }\n };\n Toolbar.prototype.keyActionHandler = function (e) {\n var trgt = e.target;\n if (trgt.tagName === 'INPUT' || trgt.tagName === 'TEXTAREA' || this.element.classList.contains(CLS_DISABLE)) {\n return;\n }\n e.preventDefault();\n var tbrNavChk = trgt.classList.contains(CLS_TBARNAV);\n var tbarScrollChk = trgt.classList.contains(CLS_TBARSCRLNAV);\n var clst = this.clstElement(tbrNavChk, trgt);\n if (clst || tbarScrollChk) {\n this.keyHandling(clst, e, trgt, tbrNavChk, tbarScrollChk);\n }\n };\n /**\n * Specifies the value to disable/enable the Toolbar component.\n * When set to `true`, the component will be disabled.\n *\n * @param {boolean} value - Based on this Boolean value, Toolbar will be enabled (false) or disabled (true).\n * @returns {void}.\n */\n Toolbar.prototype.disable = function (value) {\n var rootEle = this.element;\n if (value) {\n rootEle.classList.add(CLS_DISABLE);\n }\n else {\n rootEle.classList.remove(CLS_DISABLE);\n }\n if (this.activeEle) {\n this.activeEle.setAttribute('tabindex', this.activeEle.getAttribute('data-tabindex'));\n }\n if (this.scrollModule) {\n this.scrollModule.disable(value);\n }\n if (this.popObj) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(this.popObj.element) && this.overflowMode !== 'Extended') {\n this.popObj.hide();\n }\n rootEle.querySelector('#' + rootEle.id + '_nav').setAttribute('tabindex', !value ? '0' : '-1');\n }\n };\n Toolbar.prototype.eleContains = function (el) {\n return el.classList.contains(CLS_SEPARATOR) || el.classList.contains(CLS_DISABLE) || el.getAttribute('disabled') || el.classList.contains(CLS_HIDDEN) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(el) || !el.classList.contains(CLS_ITEM);\n };\n Toolbar.prototype.focusFirstVisibleEle = function (nodes) {\n var element;\n var index = 0;\n while (index < nodes.length) {\n var ele = nodes[parseInt(index.toString(), 10)];\n if (!ele.classList.contains(CLS_HIDDEN) && !ele.classList.contains(CLS_DISABLE)) {\n return ele;\n }\n index++;\n }\n return element;\n };\n Toolbar.prototype.focusLastVisibleEle = function (nodes) {\n var element;\n var index = nodes.length - 1;\n while (index >= 0) {\n var ele = nodes[parseInt(index.toString(), 10)];\n if (!ele.classList.contains(CLS_HIDDEN) && !ele.classList.contains(CLS_DISABLE)) {\n return ele;\n }\n index--;\n }\n return element;\n };\n Toolbar.prototype.eleFocus = function (closest, pos) {\n var sib = Object(closest)[pos + 'ElementSibling'];\n if (sib) {\n var skipEle = this.eleContains(sib);\n if (skipEle) {\n this.eleFocus(sib, pos);\n return;\n }\n this.elementFocus(sib);\n }\n else if (this.tbarAlign) {\n var elem = Object(closest.parentElement)[pos + 'ElementSibling'];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(elem) && elem.children.length === 0) {\n elem = Object(elem)[pos + 'ElementSibling'];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(elem) && elem.children.length > 0) {\n if (pos === 'next') {\n var el = elem.querySelector('.' + CLS_ITEM);\n if (this.eleContains(el)) {\n this.eleFocus(el, pos);\n }\n else {\n el.firstElementChild.focus();\n this.activeEleSwitch(el);\n }\n }\n else {\n var el = elem.lastElementChild;\n if (this.eleContains(el)) {\n this.eleFocus(el, pos);\n }\n else {\n this.elementFocus(el);\n }\n }\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(closest)) {\n var tbrItems = this.element.querySelectorAll('.' + CLS_ITEMS + ' .' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + ')' + ':not(.' + CLS_DISABLE + ')' + ':not(.' + CLS_HIDDEN + ')');\n if (pos === 'next' && tbrItems) {\n this.elementFocus(tbrItems[0]);\n }\n else if (pos === 'previous' && tbrItems) {\n this.elementFocus(tbrItems[tbrItems.length - 1]);\n }\n }\n };\n Toolbar.prototype.clickHandler = function (e) {\n var _this = this;\n var trgt = e.target;\n var ele = this.element;\n var isPopupElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, '.' + CLS_POPUPCLASS));\n var clsList = trgt.classList;\n var popupNav = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(trgt, ('.' + CLS_TBARNAV));\n if (!popupNav) {\n popupNav = trgt;\n }\n if (!ele.children[0].classList.contains('e-hscroll') && !ele.children[0].classList.contains('e-vscroll')\n && (clsList.contains(CLS_TBARNAV))) {\n clsList = trgt.querySelector('.e-icons').classList;\n }\n if (clsList.contains(CLS_POPUPICON) || clsList.contains(CLS_POPUPDOWN)) {\n this.popupClickHandler(ele, popupNav, CLS_RTL);\n }\n var itemObj;\n var clst = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + CLS_ITEM);\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(clst) || clst.classList.contains(CLS_DISABLE)) && !popupNav.classList.contains(CLS_TBARNAV)) {\n return;\n }\n if (clst) {\n var tempItem = this.items[this.tbarEle.indexOf(clst)];\n itemObj = tempItem;\n }\n var eventArgs = { originalEvent: e, item: itemObj };\n var isClickBinded = itemObj && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemObj.click) && typeof itemObj.click == 'object' ?\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemObj.click.observers) && itemObj.click.observers.length > 0 :\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemObj) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemObj.click);\n if (isClickBinded) {\n this.trigger('items[' + this.tbarEle.indexOf(clst) + '].click', eventArgs);\n }\n if (!eventArgs.cancel) {\n this.trigger('clicked', eventArgs, function (clickedArgs) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.popObj) && isPopupElement && !clickedArgs.cancel && _this.overflowMode === 'Popup' &&\n clickedArgs.item && clickedArgs.item.type !== 'Input') {\n _this.popObj.hide({ name: 'FadeOut', duration: 100 });\n }\n });\n }\n };\n Toolbar.prototype.popupClickHandler = function (ele, popupNav, CLS_RTL) {\n var popObj = this.popObj;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(popObj.element)) {\n popupNav.classList.remove(CLS_TBARNAVACT);\n popObj.hide({ name: 'FadeOut', duration: 100 });\n }\n else {\n if (ele.classList.contains(CLS_RTL)) {\n popObj.enableRtl = true;\n popObj.position = { X: 'left', Y: 'top' };\n }\n if (popObj.offsetX === 0 && !ele.classList.contains(CLS_RTL)) {\n popObj.enableRtl = false;\n popObj.position = { X: 'right', Y: 'top' };\n }\n if (this.overflowMode === 'Extended') {\n popObj.element.style.minHeight = '0px';\n popObj.width = this.getToolbarPopupWidth(this.element);\n }\n popObj.dataBind();\n popObj.refreshPosition();\n popObj.element.style.top = this.getElementOffsetY() + 'px';\n popupNav.classList.add(CLS_TBARNAVACT);\n popObj.show({ name: 'FadeIn', duration: 100 });\n }\n };\n Toolbar.prototype.getToolbarPopupWidth = function (ele) {\n var eleStyles = window.getComputedStyle(ele);\n return parseFloat(eleStyles.width) + ((parseFloat(eleStyles.borderRightWidth)) * 2);\n };\n /**\n * To Initialize the control rendering\n *\n * @private\n * @returns {void}\n */\n Toolbar.prototype.render = function () {\n var _this = this;\n this.initialize();\n this.renderControl();\n this.wireEvents();\n this.clickEvent = this.docEvent.bind(this);\n this.scrollEvent = this.docEvent.bind(this);\n this.renderComplete();\n if (this.isReact && this.portals && this.portals.length > 0) {\n this.renderReactTemplates(function () {\n _this.refreshOverflow();\n });\n }\n };\n Toolbar.prototype.initialize = function () {\n var width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n var height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.height);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name !== 'msie' || this.height !== 'auto' || this.overflowMode === 'MultiRow') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'height': height });\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'width': width });\n var ariaAttr = {\n 'role': 'toolbar', 'aria-disabled': 'false',\n 'aria-orientation': !this.isVertical ? 'horizontal' : 'vertical'\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, ariaAttr);\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], this.cssClass.split(' '));\n }\n };\n Toolbar.prototype.renderControl = function () {\n var ele = this.element;\n this.trgtEle = (ele.children.length > 0) ? ele.querySelector('div') : null;\n this.tbarAlgEle = { lefts: [], centers: [], rights: [] };\n this.renderItems();\n this.renderLayout();\n };\n Toolbar.prototype.renderLayout = function () {\n this.renderOverflowMode();\n if (this.tbarAlign) {\n this.itemPositioning();\n }\n if (this.popObj && this.popObj.element.childElementCount > 1 && this.checkPopupRefresh(this.element, this.popObj.element)) {\n this.popupRefresh(this.popObj.element, false);\n }\n this.separator();\n };\n Toolbar.prototype.itemsAlign = function (items, itemEleDom) {\n var innerItem;\n var innerPos;\n if (!this.tbarEle) {\n this.tbarEle = [];\n }\n for (var i = 0; i < items.length; i++) {\n innerItem = this.renderSubComponent(items[parseInt(i.toString(), 10)], i);\n if (this.tbarEle.indexOf(innerItem) === -1) {\n this.tbarEle.push(innerItem);\n }\n if (!this.tbarAlign) {\n this.tbarItemAlign(items[parseInt(i.toString(), 10)], itemEleDom, i);\n }\n innerPos = itemEleDom.querySelector('.e-toolbar-' + items[parseInt(i.toString(), 10)].align.toLowerCase());\n if (innerPos) {\n if (!(items[parseInt(i.toString(), 10)].showAlwaysInPopup && items[parseInt(i.toString(), 10)].overflow !== 'Show')) {\n this.tbarAlgEle[(items[parseInt(i.toString(), 10)].align + 's').toLowerCase()].push(innerItem);\n }\n innerPos.appendChild(innerItem);\n }\n else {\n itemEleDom.appendChild(innerItem);\n }\n }\n if (this.isReact) {\n var portals = 'portals';\n this.notify('render-react-toolbar-template', this[\"\" + portals]);\n this.renderReactTemplates();\n }\n };\n /**\n * @hidden\n * @returns {void}\n */\n Toolbar.prototype.changeOrientation = function () {\n var ele = this.element;\n if (this.isVertical) {\n ele.classList.remove(CLS_VERTICAL);\n this.isVertical = false;\n if (this.height === 'auto' || this.height === '100%') {\n ele.style.height = this.height;\n }\n ele.setAttribute('aria-orientation', 'horizontal');\n }\n else {\n ele.classList.add(CLS_VERTICAL);\n this.isVertical = true;\n ele.setAttribute('aria-orientation', 'vertical');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'height': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.height), 'width': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width) });\n }\n this.destroyMode();\n this.refreshOverflow();\n };\n Toolbar.prototype.initScroll = function (element, innerItems) {\n if (!this.scrollModule && this.checkOverflow(element, innerItems[0])) {\n if (this.tbarAlign) {\n this.element.querySelector('.' + CLS_ITEMS + ' .' + CLS_TBARCENTER).removeAttribute('style');\n }\n if (this.isVertical) {\n this.scrollModule = new _common_v_scroll__WEBPACK_IMPORTED_MODULE_1__.VScroll({ scrollStep: this.scrollStep, enableRtl: this.enableRtl }, innerItems[0]);\n }\n else {\n this.scrollModule = new _common_h_scroll__WEBPACK_IMPORTED_MODULE_2__.HScroll({ scrollStep: this.scrollStep, enableRtl: this.enableRtl }, innerItems[0]);\n }\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([innerItems[0]], this.cssClass.split(' '));\n }\n var scrollEle = this.scrollModule.element.querySelector('.' + CLS_HSCROLLBAR + ', .' + 'e-vscroll-bar');\n if (scrollEle) {\n scrollEle.removeAttribute('tabindex');\n }\n this.remove(this.scrollModule.element, CLS_TBARPOS);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { overflow: 'hidden' });\n }\n };\n Toolbar.prototype.itemWidthCal = function (items) {\n var _this = this;\n var width = 0;\n var style;\n [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, items)).forEach(function (el) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(el)) {\n style = window.getComputedStyle(el);\n width += _this.isVertical ? el.offsetHeight : el.offsetWidth;\n width += parseFloat(_this.isVertical ? style.marginTop : style.marginRight);\n width += parseFloat(_this.isVertical ? style.marginBottom : style.marginLeft);\n }\n });\n return width;\n };\n Toolbar.prototype.getScrollCntEle = function (innerItem) {\n var trgClass = (this.isVertical) ? '.e-vscroll-content' : '.e-hscroll-content';\n return innerItem.querySelector(trgClass);\n };\n Toolbar.prototype.checkOverflow = function (element, innerItem) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(innerItem) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(element)) {\n return false;\n }\n var eleWidth = this.isVertical ? element.offsetHeight : element.offsetWidth;\n var itemWidth = this.isVertical ? innerItem.offsetHeight : innerItem.offsetWidth;\n if (this.tbarAlign || this.scrollModule || (eleWidth === itemWidth)) {\n itemWidth = this.itemWidthCal(this.scrollModule ? this.getScrollCntEle(innerItem) : innerItem);\n }\n var popNav = element.querySelector('.' + CLS_TBARNAV);\n var scrollNav = element.querySelector('.' + CLS_TBARSCRLNAV);\n var navEleWidth = 0;\n if (popNav) {\n navEleWidth = this.isVertical ? popNav.offsetHeight : popNav.offsetWidth;\n }\n else if (scrollNav) {\n navEleWidth = this.isVertical ? (scrollNav.offsetHeight * (2)) : (scrollNav.offsetWidth * 2);\n }\n if (eleWidth >= itemWidth && scrollNav) {\n return false;\n }\n else if (itemWidth > eleWidth - navEleWidth) {\n return true;\n }\n else {\n return false;\n }\n };\n /**\n * Refresh the whole Toolbar component without re-rendering.\n * - It is used to manually refresh the Toolbar overflow modes such as scrollable, popup, multi row, and extended.\n * - It will refresh the Toolbar component after loading items dynamically.\n *\n * @returns {void}.\n */\n Toolbar.prototype.refreshOverflow = function () {\n this.resize();\n };\n Toolbar.prototype.toolbarAlign = function (innerItems) {\n if (this.tbarAlign) {\n this.add(innerItems, CLS_TBARPOS);\n this.itemPositioning();\n }\n };\n Toolbar.prototype.renderOverflowMode = function () {\n var ele = this.element;\n var innerItems = ele.querySelector('.' + CLS_ITEMS);\n var priorityCheck = this.popupPriCount > 0;\n if (ele && ele.children.length > 0) {\n this.offsetWid = ele.offsetWidth;\n this.remove(this.element, 'e-toolpop');\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie' && this.height === 'auto') {\n ele.style.height = '';\n }\n switch (this.overflowMode) {\n case 'Scrollable':\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.scrollModule)) {\n this.initScroll(ele, [].slice.call(ele.getElementsByClassName(CLS_ITEMS)));\n }\n break;\n case 'Popup':\n this.add(this.element, 'e-toolpop');\n if (this.tbarAlign) {\n this.removePositioning();\n }\n if (this.checkOverflow(ele, innerItems) || priorityCheck) {\n this.setOverflowAttributes(ele);\n }\n this.toolbarAlign(innerItems);\n break;\n case 'MultiRow':\n this.add(innerItems, CLS_MULTIROW);\n if (this.checkOverflow(ele, innerItems) && this.tbarAlign) {\n this.removePositioning();\n this.add(innerItems, CLS_MULTIROWPOS);\n }\n if (ele.style.overflow === 'hidden') {\n ele.style.overflow = '';\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie' || ele.style.height !== 'auto') {\n ele.style.height = 'auto';\n }\n break;\n case 'Extended':\n this.add(this.element, CLS_EXTEANDABLE_TOOLBAR);\n if (this.checkOverflow(ele, innerItems) || priorityCheck) {\n if (this.tbarAlign) {\n this.removePositioning();\n }\n this.setOverflowAttributes(ele);\n }\n this.toolbarAlign(innerItems);\n }\n }\n };\n Toolbar.prototype.setOverflowAttributes = function (ele) {\n this.createPopupEle(ele, [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));\n var ariaAttr = {\n 'tabindex': '0', 'role': 'button', 'aria-haspopup': 'true',\n 'aria-label': 'overflow'\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element.querySelector('.' + CLS_TBARNAV), ariaAttr);\n };\n Toolbar.prototype.separator = function () {\n var element = this.element;\n var eleItem = [].slice.call(element.querySelectorAll('.' + CLS_SEPARATOR));\n var multiVar = element.querySelector('.' + CLS_MULTIROW_SEPARATOR);\n var extendVar = element.querySelector('.' + CLS_EXTENDABLE_SEPARATOR);\n var eleInlineItem = this.overflowMode === 'MultiRow' ? multiVar : extendVar;\n if (eleInlineItem !== null) {\n if (this.overflowMode === 'MultiRow') {\n eleInlineItem.classList.remove(CLS_MULTIROW_SEPARATOR);\n }\n else if (this.overflowMode === 'Extended') {\n eleInlineItem.classList.remove(CLS_EXTENDABLE_SEPARATOR);\n }\n }\n for (var i = 0; i <= eleItem.length - 1; i++) {\n if (eleItem[parseInt(i.toString(), 10)].offsetLeft < 30 && eleItem[parseInt(i.toString(), 10)].offsetLeft !== 0) {\n if (this.overflowMode === 'MultiRow') {\n eleItem[parseInt(i.toString(), 10)].classList.add(CLS_MULTIROW_SEPARATOR);\n }\n else if (this.overflowMode === 'Extended') {\n eleItem[parseInt(i.toString(), 10)].classList.add(CLS_EXTENDABLE_SEPARATOR);\n }\n }\n }\n };\n Toolbar.prototype.createPopupEle = function (ele, innerEle) {\n var innerNav = ele.querySelector('.' + CLS_TBARNAV);\n var vertical = this.isVertical;\n if (!innerNav) {\n this.createPopupIcon(ele);\n }\n innerNav = ele.querySelector('.' + CLS_TBARNAV);\n var innerNavDom = (vertical ? innerNav.offsetHeight : innerNav.offsetWidth);\n var eleWidth = ((vertical ? ele.offsetHeight : ele.offsetWidth) - (innerNavDom));\n this.element.classList.remove('e-rtl');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { direction: 'initial' });\n this.checkPriority(ele, innerEle, eleWidth, true);\n if (this.enableRtl) {\n this.element.classList.add('e-rtl');\n }\n this.element.style.removeProperty('direction');\n this.createPopup();\n };\n Toolbar.prototype.pushingPoppedEle = function (tbarObj, popupPri, ele, eleHeight, sepHeight) {\n var element = tbarObj.element;\n var poppedEle = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_POPUP, element.querySelector('.' + CLS_ITEMS)));\n var nodes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_TBAROVERFLOW, ele);\n var nodeIndex = 0;\n var nodePri = 0;\n poppedEle.forEach(function (el, index) {\n nodes = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_TBAROVERFLOW, ele);\n if (el.classList.contains(CLS_TBAROVERFLOW) && nodes.length > 0) {\n if (tbarObj.tbResize && nodes.length > index) {\n ele.insertBefore(el, nodes[parseInt(index.toString(), 10)]);\n ++nodePri;\n }\n else {\n ele.insertBefore(el, ele.children[nodes.length]);\n ++nodePri;\n }\n }\n else if (el.classList.contains(CLS_TBAROVERFLOW)) {\n ele.insertBefore(el, ele.firstChild);\n ++nodePri;\n }\n else if (tbarObj.tbResize && el.classList.contains(CLS_POPOVERFLOW) && ele.children.length > 0 && nodes.length === 0) {\n ele.insertBefore(el, ele.firstChild);\n ++nodePri;\n }\n else if (el.classList.contains(CLS_POPOVERFLOW)) {\n popupPri.push(el);\n }\n else if (tbarObj.tbResize) {\n ele.insertBefore(el, ele.childNodes[nodeIndex + nodePri]);\n ++nodeIndex;\n }\n else {\n ele.appendChild(el);\n }\n if (el.classList.contains(CLS_SEPARATOR)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(el, { display: '', height: sepHeight + 'px' });\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(el, { display: '', height: eleHeight + 'px' });\n }\n });\n popupPri.forEach(function (el) {\n ele.appendChild(el);\n });\n var tbarEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, element.querySelector('.' + CLS_ITEMS));\n for (var i = tbarEle.length - 1; i >= 0; i--) {\n var tbarElement = tbarEle[parseInt(i.toString(), 10)];\n if (tbarElement.classList.contains(CLS_SEPARATOR) && this.overflowMode !== 'Extended') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(tbarElement, { display: 'none' });\n }\n else {\n break;\n }\n }\n };\n Toolbar.prototype.createPopup = function () {\n var element = this.element;\n var sepHeight;\n var sepItem;\n if (this.overflowMode === 'Extended') {\n sepItem = element.querySelector('.' + CLS_SEPARATOR);\n sepHeight =\n (element.style.height === 'auto' || element.style.height === '') ? null : (sepItem && sepItem.offsetHeight);\n }\n var eleItem = element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + '):not(.' + CLS_POPUP + ')');\n var eleHeight = (element.style.height === 'auto' || element.style.height === '') ? null : (eleItem && eleItem.offsetHeight);\n var ele;\n var popupPri = [];\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + element.id + '_popup.' + CLS_POPUPCLASS, element)) {\n ele = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('#' + element.id + '_popup.' + CLS_POPUPCLASS, element);\n }\n else {\n var extendEle = this.createElement('div', {\n id: element.id + '_popup', className: CLS_POPUPCLASS + ' ' + CLS_EXTENDABLECLASS\n });\n var popupEle = this.createElement('div', { id: element.id + '_popup', className: CLS_POPUPCLASS });\n ele = this.overflowMode === 'Extended' ? extendEle : popupEle;\n }\n this.pushingPoppedEle(this, popupPri, ele, eleHeight, sepHeight);\n this.popupInit(element, ele);\n };\n Toolbar.prototype.getElementOffsetY = function () {\n return (this.overflowMode === 'Extended' && window.getComputedStyle(this.element).getPropertyValue('box-sizing') === 'border-box' ?\n this.element.clientHeight : this.element.offsetHeight);\n };\n Toolbar.prototype.popupInit = function (element, ele) {\n if (!this.popObj) {\n element.appendChild(ele);\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ele], this.cssClass.split(' '));\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { overflow: '' });\n var popup = new _syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_3__.Popup(null, {\n relateTo: this.element,\n offsetY: (this.isVertical) ? 0 : this.getElementOffsetY(),\n enableRtl: this.enableRtl,\n open: this.popupOpen.bind(this),\n close: this.popupClose.bind(this),\n collision: { Y: this.enableCollision ? 'flip' : 'none' },\n position: this.enableRtl ? { X: 'left', Y: 'top' } : { X: 'right', Y: 'top' }\n });\n if (this.overflowMode === 'Extended') {\n popup.width = this.getToolbarPopupWidth(this.element);\n popup.offsetX = 0;\n }\n popup.appendTo(ele);\n document.addEventListener('scroll', this.clickEvent);\n document.addEventListener('click', this.scrollEvent);\n if (this.overflowMode !== 'Extended') {\n popup.element.style.maxHeight = popup.element.offsetHeight + 'px';\n }\n if (this.isVertical) {\n popup.element.style.visibility = 'hidden';\n }\n if (this.isExtendedOpen) {\n var popupNav = this.element.querySelector('.' + CLS_TBARNAV);\n popupNav.classList.add(CLS_TBARNAVACT);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(popupNav.firstElementChild, [CLS_POPUPICON], [CLS_POPUPDOWN]);\n this.element.querySelector('.' + CLS_EXTENDABLECLASS).classList.add(CLS_POPUPOPEN);\n }\n else {\n popup.hide();\n }\n this.popObj = popup;\n }\n else if (this.overflowMode !== 'Extended') {\n var popupEle = this.popObj.element;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(popupEle, { maxHeight: '', display: 'block' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(popupEle, { maxHeight: popupEle.offsetHeight + 'px', display: '' });\n }\n };\n Toolbar.prototype.tbarPopupHandler = function (isOpen) {\n if (this.overflowMode === 'Extended') {\n if (isOpen) {\n this.add(this.element, CLS_EXTENDEDPOPOPEN);\n }\n else {\n this.remove(this.element, CLS_EXTENDEDPOPOPEN);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Toolbar.prototype.popupOpen = function (e) {\n var popObj = this.popObj;\n if (!this.isVertical) {\n popObj.offsetY = this.getElementOffsetY();\n popObj.dataBind();\n }\n var popupEle = this.popObj.element;\n var toolEle = this.popObj.element.parentElement;\n var popupNav = toolEle.querySelector('.' + CLS_TBARNAV);\n popupNav.setAttribute('aria-expanded', 'true');\n if (this.overflowMode === 'Extended') {\n popObj.element.style.minHeight = '';\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(popObj.element, { height: 'auto', maxHeight: '' });\n popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';\n }\n var popupElePos = popupEle.offsetTop + popupEle.offsetHeight + (0,_syncfusion_ej2_popups__WEBPACK_IMPORTED_MODULE_4__.calculatePosition)(toolEle).top;\n var popIcon = popupNav.firstElementChild;\n popupNav.classList.add(CLS_TBARNAVACT);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(popIcon, [CLS_POPUPICON], [CLS_POPUPDOWN]);\n this.tbarPopupHandler(true);\n var scrollVal = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(window.scrollY) ? 0 : window.scrollY;\n if (!this.isVertical && ((window.innerHeight + scrollVal) < popupElePos) && (this.element.offsetTop < popupEle.offsetHeight)) {\n var overflowHeight = (popupEle.offsetHeight - ((popupElePos - window.innerHeight - scrollVal) + 5));\n popObj.height = overflowHeight + 'px';\n for (var i = 0; i <= popupEle.childElementCount; i++) {\n var ele = popupEle.children[parseInt(i.toString(), 10)];\n if (ele.offsetTop + ele.offsetHeight > overflowHeight) {\n overflowHeight = ele.offsetTop;\n break;\n }\n }\n if (this.overflowMode !== 'Extended') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(popObj.element, { maxHeight: overflowHeight + 'px' });\n }\n }\n else if (this.isVertical && this.overflowMode !== 'Extended') {\n var tbEleData = this.element.getBoundingClientRect();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(popObj.element, { maxHeight: (tbEleData.top + this.element.offsetHeight) + 'px', bottom: 0, visibility: '' });\n }\n if (popObj) {\n var popupOffset = popupEle.getBoundingClientRect();\n if (popupOffset.right > document.documentElement.clientWidth && popupOffset.width > toolEle.getBoundingClientRect().width) {\n popObj.collision = { Y: 'none' };\n popObj.dataBind();\n }\n popObj.refreshPosition();\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Toolbar.prototype.popupClose = function (e) {\n var element = this.element;\n var popupNav = element.querySelector('.' + CLS_TBARNAV);\n popupNav.setAttribute('aria-expanded', 'false');\n var popIcon = popupNav.firstElementChild;\n popupNav.classList.remove(CLS_TBARNAVACT);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(popIcon, [CLS_POPUPDOWN], [CLS_POPUPICON]);\n this.tbarPopupHandler(false);\n };\n Toolbar.prototype.checkPriority = function (ele, inEle, eleWidth, pre) {\n var popPriority = this.popupPriCount > 0;\n var len = inEle.length;\n var eleWid = eleWidth;\n var eleOffset;\n var checkoffset;\n var sepCheck = 0;\n var itemCount = 0;\n var itemPopCount = 0;\n var checkClass = function (ele, val) {\n var rVal = false;\n val.forEach(function (cls) {\n if (ele.classList.contains(cls)) {\n rVal = true;\n }\n });\n return rVal;\n };\n for (var i = len - 1; i >= 0; i--) {\n var mrgn = void 0;\n var compuStyle = window.getComputedStyle(inEle[parseInt(i.toString(), 10)]);\n if (this.isVertical) {\n mrgn = parseFloat((compuStyle).marginTop);\n mrgn += parseFloat((compuStyle).marginBottom);\n }\n else {\n mrgn = parseFloat((compuStyle).marginRight);\n mrgn += parseFloat((compuStyle).marginLeft);\n }\n var fstEleCheck = inEle[parseInt(i.toString(), 10)] === this.tbarEle[0];\n if (fstEleCheck) {\n this.tbarEleMrgn = mrgn;\n }\n eleOffset = this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight : inEle[parseInt(i.toString(), 10)].offsetWidth;\n var eleWid_1 = fstEleCheck ? (eleOffset + mrgn) : eleOffset;\n if (checkClass(inEle[parseInt(i.toString(), 10)], [CLS_POPPRI]) && popPriority) {\n inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);\n if (this.isVertical) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });\n }\n itemPopCount++;\n }\n if (this.isVertical) {\n checkoffset =\n (inEle[parseInt(i.toString(), 10)].offsetTop + inEle[parseInt(i.toString(), 10)].offsetHeight + mrgn) > eleWidth;\n }\n else {\n checkoffset =\n (inEle[parseInt(i.toString(), 10)].offsetLeft + inEle[parseInt(i.toString(), 10)].offsetWidth + mrgn) > eleWidth;\n }\n if (checkoffset) {\n if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_SEPARATOR)) {\n if (this.overflowMode === 'Extended') {\n var sepEle = inEle[parseInt(i.toString(), 10)];\n if (checkClass(sepEle, [CLS_SEPARATOR, CLS_TBARIGNORE])) {\n inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);\n itemPopCount++;\n }\n itemCount++;\n }\n else if (this.overflowMode === 'Popup') {\n if (sepCheck > 0 && itemCount === itemPopCount) {\n var sepEle = inEle[i + itemCount + (sepCheck - 1)];\n if (checkClass(sepEle, [CLS_SEPARATOR, CLS_TBARIGNORE])) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(sepEle, { display: 'none' });\n }\n }\n sepCheck++;\n itemCount = 0;\n itemPopCount = 0;\n }\n }\n else {\n itemCount++;\n }\n if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_TBAROVERFLOW) && pre) {\n eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :\n inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));\n }\n else if (!checkClass(inEle[parseInt(i.toString(), 10)], [CLS_SEPARATOR, CLS_TBARIGNORE])) {\n inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);\n if (this.isVertical) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });\n }\n itemPopCount++;\n }\n else {\n eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :\n inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));\n }\n }\n }\n if (pre) {\n var popedEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM + ':not(.' + CLS_POPUP + ')', this.element);\n this.checkPriority(ele, popedEle, eleWid, false);\n }\n };\n Toolbar.prototype.createPopupIcon = function (element) {\n var id = element.id.concat('_nav');\n var className = 'e-' + element.id.concat('_nav ' + CLS_POPUPNAV);\n className = this.overflowMode === 'Extended' ? className + ' ' + CLS_EXTENDPOPUP : className;\n var nav = this.createElement('div', { id: id, className: className });\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie' || _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'edge') {\n nav.classList.add('e-ie-align');\n }\n var navItem = this.createElement('div', { className: CLS_POPUPDOWN + ' e-icons' });\n nav.appendChild(navItem);\n nav.setAttribute('tabindex', '0');\n nav.setAttribute('role', 'button');\n element.appendChild(nav);\n };\n // eslint-disable-next-line max-len\n Toolbar.prototype.tbarPriRef = function (inEle, indx, sepPri, el, des, elWid, wid, ig, eleStyles) {\n var ignoreCount = ig;\n var popEle = this.popObj.element;\n var query = '.' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + '):not(.' + CLS_TBAROVERFLOW + ')';\n var priEleCnt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_POPUP + ':not(.' + CLS_TBAROVERFLOW + ')', popEle).length;\n var checkClass = function (ele, val) {\n return ele.classList.contains(val);\n };\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(query, inEle).length === 0) {\n var eleSep = inEle.children[indx - (indx - sepPri) - 1];\n var ignoreCheck = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eleSep) && checkClass(eleSep, CLS_TBARIGNORE));\n if ((!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eleSep) && checkClass(eleSep, CLS_SEPARATOR) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isVisible)(eleSep)) || ignoreCheck) {\n eleSep.style.display = 'unset';\n var eleSepWidth = eleSep.offsetWidth + (parseFloat(window.getComputedStyle(eleSep).marginRight) * 2);\n var prevSep = eleSep.previousElementSibling;\n if ((elWid + eleSepWidth) < wid || des) {\n inEle.insertBefore(el, inEle.children[(indx + ignoreCount) - (indx - sepPri)]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(prevSep)) {\n prevSep.style.display = '';\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(el, eleStyles);\n if (prevSep.classList.contains(CLS_SEPARATOR)) {\n prevSep.style.display = 'none';\n }\n }\n eleSep.style.display = '';\n }\n else {\n inEle.insertBefore(el, inEle.children[(indx + ignoreCount) - (indx - sepPri)]);\n }\n }\n else {\n inEle.insertBefore(el, inEle.children[(indx + ignoreCount) - priEleCnt]);\n }\n };\n Toolbar.prototype.popupRefresh = function (popupEle, destroy) {\n var _this = this;\n var ele = this.element;\n var isVer = this.isVertical;\n var innerEle = ele.querySelector('.' + CLS_ITEMS);\n var popNav = ele.querySelector('.' + CLS_TBARNAV);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(popNav)) {\n return;\n }\n innerEle.removeAttribute('style');\n popupEle.style.display = 'block';\n var dimension;\n if (isVer) {\n dimension = ele.offsetHeight - (popNav.offsetHeight + innerEle.offsetHeight);\n }\n else {\n dimension = ele.offsetWidth - (popNav.offsetWidth + innerEle.offsetWidth);\n }\n var popupEleWidth = 0;\n [].slice.call(popupEle.children).forEach(function (el) {\n popupEleWidth += _this.popupEleWidth(el);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(el, { 'position': '' });\n });\n if ((dimension + (isVer ? popNav.offsetHeight : popNav.offsetWidth)) > (popupEleWidth) && this.popupPriCount === 0) {\n destroy = true;\n }\n this.popupEleRefresh(dimension, popupEle, destroy);\n popupEle.style.display = '';\n if (popupEle.children.length === 0 && popNav && this.popObj) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(popNav);\n popNav = null;\n this.popObj.destroy();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.popObj.element);\n this.popObj = null;\n }\n };\n Toolbar.prototype.ignoreEleFetch = function (index, innerEle) {\n var ignoreEle = [].slice.call(innerEle.querySelectorAll('.' + CLS_TBARIGNORE));\n var ignoreInx = [];\n var count = 0;\n if (ignoreEle.length > 0) {\n ignoreEle.forEach(function (ele) {\n ignoreInx.push([].slice.call(innerEle.children).indexOf(ele));\n });\n }\n else {\n return 0;\n }\n ignoreInx.forEach(function (val) {\n if (val <= index) {\n count++;\n }\n });\n return count;\n };\n Toolbar.prototype.checkPopupRefresh = function (root, popEle) {\n popEle.style.display = 'block';\n var elWid = this.popupEleWidth(popEle.firstElementChild);\n popEle.firstElementChild.style.removeProperty('Position');\n var tbarWidth = root.offsetWidth - root.querySelector('.' + CLS_TBARNAV).offsetWidth;\n var tbarItemsWid = root.querySelector('.' + CLS_ITEMS).offsetWidth;\n popEle.style.removeProperty('display');\n if (tbarWidth > (elWid + tbarItemsWid)) {\n return true;\n }\n return false;\n };\n Toolbar.prototype.popupEleWidth = function (el) {\n el.style.position = 'absolute';\n var elWidth = this.isVertical ? el.offsetHeight : el.offsetWidth;\n var btnText = el.querySelector('.' + CLS_TBARBTNTEXT);\n if (el.classList.contains('e-tbtn-align') || el.classList.contains(CLS_TBARTEXT)) {\n var btn = el.children[0];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(btnText) && el.classList.contains(CLS_TBARTEXT)) {\n btnText.style.display = 'none';\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(btnText) && el.classList.contains(CLS_POPUPTEXT)) {\n btnText.style.display = 'block';\n }\n btn.style.minWidth = '0%';\n elWidth = parseFloat(!this.isVertical ? el.style.minWidth : el.style.minHeight);\n btn.style.minWidth = '';\n btn.style.minHeight = '';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(btnText)) {\n btnText.style.display = '';\n }\n }\n return elWidth;\n };\n Toolbar.prototype.popupEleRefresh = function (width, popupEle, destroy) {\n var popPriority = this.popupPriCount > 0;\n var eleSplice = this.tbarEle;\n var priEleCnt;\n var index;\n var innerEle = this.element.querySelector('.' + CLS_ITEMS);\n var ignoreCount = 0;\n var _loop_1 = function (el) {\n if (el.classList.contains(CLS_POPPRI) && popPriority && !destroy) {\n return \"continue\";\n }\n var elWidth = this_1.popupEleWidth(el);\n if (el === this_1.tbarEle[0]) {\n elWidth += this_1.tbarEleMrgn;\n }\n el.style.position = '';\n if (elWidth < width || destroy) {\n var inlineStyles = {\n minWidth: el.style.minWidth, height: el.style.height,\n minHeight: el.style.minHeight\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(el, { minWidth: '', height: '', minHeight: '' });\n if (!el.classList.contains(CLS_POPOVERFLOW)) {\n el.classList.remove(CLS_POPUP);\n }\n index = this_1.tbarEle.indexOf(el);\n if (this_1.tbarAlign) {\n var pos = this_1.items[parseInt(index.toString(), 10)].align;\n index = this_1.tbarAlgEle[(pos + 's').toLowerCase()].indexOf(el);\n eleSplice = this_1.tbarAlgEle[(pos + 's').toLowerCase()];\n innerEle = this_1.element.querySelector('.' + CLS_ITEMS + ' .' + 'e-toolbar-' + pos.toLowerCase());\n }\n var sepBeforePri_1 = 0;\n if (this_1.overflowMode !== 'Extended') {\n eleSplice.slice(0, index).forEach(function (el) {\n if (el.classList.contains(CLS_TBAROVERFLOW) || el.classList.contains(CLS_SEPARATOR)) {\n if (el.classList.contains(CLS_SEPARATOR)) {\n el.style.display = '';\n width -= el.offsetWidth;\n }\n sepBeforePri_1++;\n }\n });\n }\n ignoreCount = this_1.ignoreEleFetch(index, innerEle);\n if (el.classList.contains(CLS_TBAROVERFLOW)) {\n this_1.tbarPriRef(innerEle, index, sepBeforePri_1, el, destroy, elWidth, width, ignoreCount, inlineStyles);\n width -= el.offsetWidth;\n }\n else if (index === 0) {\n innerEle.insertBefore(el, innerEle.firstChild);\n width -= el.offsetWidth;\n }\n else {\n priEleCnt = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_TBAROVERFLOW, this_1.popObj.element).length;\n innerEle.insertBefore(el, innerEle.children[(index + ignoreCount) - priEleCnt]);\n width -= el.offsetWidth;\n }\n el.style.height = '';\n }\n else {\n return \"break\";\n }\n };\n var this_1 = this;\n for (var _i = 0, _a = [].slice.call(popupEle.children); _i < _a.length; _i++) {\n var el = _a[_i];\n var state_1 = _loop_1(el);\n if (state_1 === \"break\")\n break;\n }\n var checkOverflow = this.checkOverflow(this.element, this.element.getElementsByClassName(CLS_ITEMS)[0]);\n if (checkOverflow && !destroy) {\n this.renderOverflowMode();\n }\n };\n Toolbar.prototype.removePositioning = function () {\n var item = this.element.querySelector('.' + CLS_ITEMS);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item) || !item.classList.contains(CLS_TBARPOS)) {\n return;\n }\n this.remove(item, CLS_TBARPOS);\n var innerItem = [].slice.call(item.childNodes);\n innerItem[1].removeAttribute('style');\n innerItem[2].removeAttribute('style');\n };\n Toolbar.prototype.refreshPositioning = function () {\n var item = this.element.querySelector('.' + CLS_ITEMS);\n this.add(item, CLS_TBARPOS);\n this.itemPositioning();\n };\n Toolbar.prototype.itemPositioning = function () {\n var item = this.element.querySelector('.' + CLS_ITEMS);\n var margin;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item) || !item.classList.contains(CLS_TBARPOS)) {\n return;\n }\n var popupNav = this.element.querySelector('.' + CLS_TBARNAV);\n var innerItem;\n if (this.scrollModule) {\n var trgClass = (this.isVertical) ? CLS_VSCROLLCNT : CLS_HSCROLLCNT;\n innerItem = [].slice.call(item.querySelector('.' + trgClass).children);\n }\n else {\n innerItem = [].slice.call(item.childNodes);\n }\n if (this.isVertical) {\n margin = innerItem[0].offsetHeight + innerItem[2].offsetHeight;\n }\n else {\n margin = innerItem[0].offsetWidth + innerItem[2].offsetWidth;\n }\n var tbarWid = this.isVertical ? this.element.offsetHeight : this.element.offsetWidth;\n if (popupNav) {\n tbarWid -= (this.isVertical ? popupNav.offsetHeight : popupNav.offsetWidth);\n var popWid = (this.isVertical ? popupNav.offsetHeight : popupNav.offsetWidth) + 'px';\n innerItem[2].removeAttribute('style');\n if (this.isVertical) {\n if (this.enableRtl) {\n innerItem[2].style.top = popWid;\n }\n else {\n innerItem[2].style.bottom = popWid;\n }\n }\n else {\n if (this.enableRtl) {\n innerItem[2].style.left = popWid;\n }\n else {\n innerItem[2].style.right = popWid;\n }\n }\n }\n if (tbarWid <= margin) {\n return;\n }\n var value = (((tbarWid - margin)) - (!this.isVertical ? innerItem[1].offsetWidth : innerItem[1].offsetHeight)) / 2;\n innerItem[1].removeAttribute('style');\n var mrgn = ((!this.isVertical ? innerItem[0].offsetWidth : innerItem[0].offsetHeight) + value) + 'px';\n if (this.isVertical) {\n if (this.enableRtl) {\n innerItem[1].style.marginBottom = mrgn;\n }\n else {\n innerItem[1].style.marginTop = mrgn;\n }\n }\n else {\n if (this.enableRtl) {\n innerItem[1].style.marginRight = mrgn;\n }\n else {\n innerItem[1].style.marginLeft = mrgn;\n }\n }\n };\n Toolbar.prototype.tbarItemAlign = function (item, itemEle, pos) {\n var _this = this;\n if (item.showAlwaysInPopup && item.overflow !== 'Show') {\n return;\n }\n var alignDiv = [];\n alignDiv.push(this.createElement('div', { className: CLS_TBARLEFT, attrs: { role: 'group' } }));\n alignDiv.push(this.createElement('div', { className: CLS_TBARCENTER, attrs: { role: 'group' } }));\n alignDiv.push(this.createElement('div', { className: CLS_TBARRIGHT, attrs: { role: 'group' } }));\n if (pos === 0 && item.align !== 'Left') {\n alignDiv.forEach(function (ele) {\n itemEle.appendChild(ele);\n });\n this.tbarAlign = true;\n this.add(itemEle, CLS_TBARPOS);\n }\n else if (item.align !== 'Left') {\n var alignEle = itemEle.childNodes;\n var leftAlign_1 = alignDiv[0];\n [].slice.call(alignEle).forEach(function (el) {\n _this.tbarAlgEle.lefts.push(el);\n leftAlign_1.appendChild(el);\n });\n itemEle.appendChild(leftAlign_1);\n itemEle.appendChild(alignDiv[1]);\n itemEle.appendChild(alignDiv[2]);\n this.tbarAlign = true;\n this.add(itemEle, CLS_TBARPOS);\n }\n };\n Toolbar.prototype.ctrlTemplate = function () {\n var _this = this;\n this.ctrlTem = this.trgtEle.cloneNode(true);\n this.add(this.trgtEle, CLS_ITEMS);\n this.tbarEle = [];\n var innerEle = [].slice.call(this.trgtEle.children);\n innerEle.forEach(function (ele) {\n if (ele.tagName === 'DIV') {\n _this.tbarEle.push(ele);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.firstElementChild)) {\n ele.firstElementChild.setAttribute('aria-disabled', 'false');\n }\n _this.add(ele, CLS_ITEM);\n }\n });\n };\n Toolbar.prototype.renderItems = function () {\n var ele = this.element;\n var items = this.items;\n if (this.trgtEle != null) {\n this.ctrlTemplate();\n }\n else if (ele && items.length > 0) {\n var itemEleDom = void 0;\n if (ele && ele.children.length > 0) {\n itemEleDom = ele.querySelector('.' + CLS_ITEMS);\n }\n if (!itemEleDom) {\n itemEleDom = this.createElement('div', { className: CLS_ITEMS });\n }\n this.itemsAlign(items, itemEleDom);\n ele.appendChild(itemEleDom);\n }\n };\n Toolbar.prototype.setAttr = function (attr, element) {\n var key = Object.keys(attr);\n var keyVal;\n for (var i = 0; i < key.length; i++) {\n keyVal = key[parseInt(i.toString(), 10)];\n if (keyVal === 'class') {\n this.add(element, attr[\"\" + keyVal]);\n }\n else {\n element.setAttribute(keyVal, attr[\"\" + keyVal]);\n }\n }\n };\n /**\n * Enables or disables the specified Toolbar item.\n *\n * @param {number|HTMLElement|NodeList} items - DOM element or an array of items to be enabled or disabled.\n * @param {boolean} isEnable - Boolean value that determines whether the command should be enabled or disabled.\n * By default, `isEnable` is set to true.\n * @returns {void}.\n */\n Toolbar.prototype.enableItems = function (items, isEnable) {\n var _this = this;\n var elements = items;\n var len = elements.length;\n var ele;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isEnable)) {\n isEnable = true;\n }\n var enable = function (isEnable, ele) {\n if (isEnable) {\n ele.classList.remove(CLS_DISABLE);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.firstElementChild)) {\n ele.firstElementChild.setAttribute('aria-disabled', 'false');\n _this.updateTabIndex('0');\n }\n }\n else {\n ele.classList.add(CLS_DISABLE);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.firstElementChild)) {\n ele.firstElementChild.setAttribute('aria-disabled', 'true');\n ele.firstElementChild.setAttribute('tabindex', '-1');\n _this.updateTabIndex('0');\n }\n }\n };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(len) && len >= 1) {\n for (var a = 0, element = [].slice.call(elements); a < len; a++) {\n var itemElement = element[parseInt(a.toString(), 10)];\n if (typeof (itemElement) === 'number') {\n ele = this.getElementByIndex(itemElement);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele)) {\n return;\n }\n else {\n elements[parseInt(a.toString(), 10)] = ele;\n }\n }\n else {\n ele = itemElement;\n }\n enable(isEnable, ele);\n }\n if (isEnable) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(elements, CLS_DISABLE);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(elements, CLS_DISABLE);\n }\n }\n else {\n if (typeof (elements) === 'number') {\n ele = this.getElementByIndex(elements);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele)) {\n return;\n }\n }\n else {\n ele = items;\n }\n enable(isEnable, ele);\n }\n };\n Toolbar.prototype.getElementByIndex = function (index) {\n if (this.tbarEle[parseInt(index.toString(), 10)]) {\n return this.tbarEle[parseInt(index.toString(), 10)];\n }\n return null;\n };\n /**\n * Adds new items to the Toolbar that accepts an array as Toolbar items.\n *\n * @param {ItemModel[]} items - DOM element or an array of items to be added to the Toolbar.\n * @param {number} index - Number value that determines where the command is to be added. By default, index is 0.\n * @returns {void}.\n */\n Toolbar.prototype.addItems = function (items, index) {\n var innerItems;\n this.extendedOpen();\n var itemsDiv = this.element.querySelector('.' + CLS_ITEMS);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(itemsDiv)) {\n this.itemsRerender(items);\n return;\n }\n var innerEle;\n var itemAgn = 'Left';\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index)) {\n index = 0;\n }\n items.forEach(function (e) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e.align) && e.align !== 'Left' && itemAgn === 'Left') {\n itemAgn = e.align;\n }\n });\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item.type)) {\n item.type = 'Button';\n }\n innerItems = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, this.element);\n item.align = itemAgn;\n innerEle = this.renderSubComponent(item, index);\n if (this.tbarEle.length >= index && innerItems.length >= 0) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.scrollModule)) {\n this.destroyMode();\n }\n var algIndex = item.align[0] === 'L' ? 0 : item.align[0] === 'C' ? 1 : 2;\n var ele = void 0;\n if (!this.tbarAlign && itemAgn !== 'Left') {\n this.tbarItemAlign(item, itemsDiv, 1);\n this.tbarAlign = true;\n ele = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];\n ele.appendChild(innerEle);\n this.tbarAlgEle[(item.align + 's').toLowerCase()].push(innerEle);\n this.refreshPositioning();\n }\n else if (this.tbarAlign) {\n ele = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];\n ele.insertBefore(innerEle, ele.children[parseInt(index.toString(), 10)]);\n this.tbarAlgEle[(item.align + 's').toLowerCase()].splice(index, 0, innerEle);\n this.refreshPositioning();\n }\n else if (innerItems.length === 0) {\n innerItems = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEMS, this.element);\n innerItems[0].appendChild(innerEle);\n }\n else {\n innerItems[0].parentNode.insertBefore(innerEle, innerItems[parseInt(index.toString(), 10)]);\n }\n this.items.splice(index, 0, item);\n if (item.template) {\n this.tbarEle.splice(this.tbarEle.length - 1, 1);\n }\n this.tbarEle.splice(index, 0, innerEle);\n index++;\n this.offsetWid = itemsDiv.offsetWidth;\n }\n }\n itemsDiv.style.width = '';\n this.renderOverflowMode();\n if (this.isReact) {\n this.renderReactTemplates();\n }\n };\n /**\n * Removes the items from the Toolbar. Acceptable arguments are index of item/HTMLElement/node list.\n *\n * @param {number|HTMLElement|NodeList|HTMLElement[]} args\n * Index or DOM element or an Array of item which is to be removed from the Toolbar.\n * @returns {void}.\n */\n Toolbar.prototype.removeItems = function (args) {\n var elements = args;\n var index;\n var innerItems = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, this.element));\n if (typeof (elements) === 'number') {\n index = parseInt(args.toString(), 10);\n this.removeItemByIndex(index, innerItems);\n }\n else {\n if (elements && elements.length > 1) {\n for (var _i = 0, _a = [].slice.call(elements); _i < _a.length; _i++) {\n var ele = _a[_i];\n index = this.tbarEle.indexOf(ele);\n this.removeItemByIndex(index, innerItems);\n innerItems = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, this.element);\n }\n }\n else {\n var ele = (elements && elements.length && elements.length === 1) ? elements[0] : args;\n index = innerItems.indexOf(ele);\n this.removeItemByIndex(index, innerItems);\n }\n }\n this.resize();\n };\n Toolbar.prototype.removeItemByIndex = function (index, innerItems) {\n if (this.tbarEle[parseInt(index.toString(), 10)] && innerItems[parseInt(index.toString(), 10)]) {\n var eleIdx = this.tbarEle.indexOf(innerItems[parseInt(index.toString(), 10)]);\n if (this.tbarAlign) {\n var indexAgn = this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].indexOf(this.tbarEle[parseInt(eleIdx.toString(), 10)]);\n this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].splice(parseInt(indexAgn.toString(), 10), 1);\n }\n if (this.isReact) {\n this.clearToolbarTemplate(innerItems[parseInt(index.toString(), 10)]);\n }\n var btnItem = innerItems[parseInt(index.toString(), 10)].querySelector('.e-control.e-btn');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(btnItem) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(btnItem.ej2_instances[0]) && !(btnItem.ej2_instances[0].isDestroyed)) {\n btnItem.ej2_instances[0].destroy();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(innerItems[parseInt(index.toString(), 10)]);\n this.items.splice(eleIdx, 1);\n this.tbarEle.splice(eleIdx, 1);\n }\n };\n Toolbar.prototype.templateRender = function (templateProp, innerEle, item, index) {\n var itemType = item.type;\n var eleObj = templateProp;\n var isComponent;\n if (typeof (templateProp) === 'object') {\n isComponent = typeof (eleObj.appendTo) === 'function';\n }\n if (typeof (templateProp) === 'string' || !isComponent) {\n var templateFn = void 0;\n var val = templateProp;\n var regEx = new RegExp(/<(?=.*? .*?\\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\\/\\1>/i);\n val = (typeof (templateProp) === 'string') ? templateProp.trim() : templateProp;\n try {\n if (typeof (templateProp) === 'object' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateProp.tagName)) {\n innerEle.appendChild(templateProp);\n }\n else if (typeof (templateProp) === 'string' && regEx.test(val)) {\n innerEle.innerHTML = val;\n }\n else if (document.querySelectorAll(val).length) {\n var ele = document.querySelector(val);\n var tempStr = ele.outerHTML.trim();\n innerEle.appendChild(ele);\n ele.style.display = '';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tempStr)) {\n this.tempId.push(val);\n }\n }\n else {\n templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(val);\n }\n }\n catch (e) {\n templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(val);\n }\n var tempArray = void 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateFn)) {\n var toolbarTemplateID = this.element.id + index + '_template';\n tempArray = templateFn({}, this, 'template', toolbarTemplateID, this.isStringTemplate, undefined, undefined, this.root);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tempArray) && tempArray.length > 0) {\n [].slice.call(tempArray).forEach(function (ele) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.tagName)) {\n ele.style.display = '';\n }\n innerEle.appendChild(ele);\n });\n }\n }\n else if (itemType === 'Input') {\n var ele = this.createElement('input');\n if (item.id) {\n ele.id = item.id;\n }\n else {\n ele.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('tbr-ipt');\n }\n innerEle.appendChild(ele);\n eleObj.appendTo(ele);\n }\n this.add(innerEle, CLS_TEMPLATE);\n var firstChild = innerEle.firstElementChild;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(firstChild)) {\n firstChild.setAttribute('tabindex', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(firstChild.getAttribute('tabIndex')) ? '-1' : this.getDataTabindex(firstChild));\n firstChild.setAttribute('data-tabindex', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(firstChild.getAttribute('tabIndex')) ? '-1' : this.getDataTabindex(firstChild));\n }\n this.tbarEle.push(innerEle);\n };\n Toolbar.prototype.buttonRendering = function (item, innerEle) {\n var dom = this.createElement('button', { className: CLS_TBARBTN });\n dom.setAttribute('type', 'button');\n var textStr = item.text;\n var iconCss;\n var iconPos;\n if (item.id) {\n dom.id = item.id;\n }\n else {\n dom.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('e-tbr-btn');\n }\n var btnTxt = this.createElement('span', { className: 'e-tbar-btn-text' });\n if (textStr) {\n btnTxt.innerHTML = this.enableHtmlSanitizer ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(textStr) : textStr;\n dom.appendChild(btnTxt);\n dom.classList.add('e-tbtn-txt');\n }\n else {\n this.add(innerEle, 'e-tbtn-align');\n }\n if (item.prefixIcon || item.suffixIcon) {\n if ((item.prefixIcon && item.suffixIcon) || item.prefixIcon) {\n iconCss = item.prefixIcon + ' e-icons';\n iconPos = 'Left';\n }\n else {\n iconCss = item.suffixIcon + ' e-icons';\n iconPos = 'Right';\n }\n }\n var btnObj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_5__.Button({ iconCss: iconCss, iconPosition: iconPos });\n btnObj.createElement = this.createElement;\n btnObj.appendTo(dom);\n if (item.width) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(dom, { 'width': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(item.width) });\n }\n return dom;\n };\n Toolbar.prototype.renderSubComponent = function (item, index) {\n var dom;\n var innerEle = this.createElement('div', { className: CLS_ITEM });\n var tempDom = this.createElement('div', {\n innerHTML: this.enableHtmlSanitizer && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item.tooltipText) ?\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(item.tooltipText) : item.tooltipText\n });\n if (!this.tbarEle) {\n this.tbarEle = [];\n }\n if (item.htmlAttributes) {\n this.setAttr(item.htmlAttributes, innerEle);\n }\n if (item.tooltipText) {\n innerEle.setAttribute('title', tempDom.textContent);\n }\n if (item.cssClass) {\n innerEle.className = innerEle.className + ' ' + item.cssClass;\n }\n if (item.template) {\n this.templateRender(item.template, innerEle, item, index);\n }\n else {\n switch (item.type) {\n case 'Button':\n dom = this.buttonRendering(item, innerEle);\n dom.setAttribute('tabindex', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item.tabIndex) ? '-1' : item.tabIndex.toString());\n dom.setAttribute('data-tabindex', (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(item.tabIndex) ? '-1' : item.tabIndex.toString());\n dom.setAttribute('aria-label', (item.text || item.tooltipText));\n dom.setAttribute('aria-disabled', 'false');\n innerEle.appendChild(dom);\n innerEle.addEventListener('click', this.itemClick.bind(this));\n break;\n case 'Separator':\n this.add(innerEle, CLS_SEPARATOR);\n break;\n }\n }\n if (item.showTextOn) {\n var sTxt = item.showTextOn;\n if (sTxt === 'Toolbar') {\n this.add(innerEle, CLS_POPUPTEXT);\n this.add(innerEle, 'e-tbtn-align');\n }\n else if (sTxt === 'Overflow') {\n this.add(innerEle, CLS_TBARTEXT);\n }\n }\n if (item.overflow) {\n var overflow = item.overflow;\n if (overflow === 'Show') {\n this.add(innerEle, CLS_TBAROVERFLOW);\n }\n else if (overflow === 'Hide') {\n if (!innerEle.classList.contains(CLS_SEPARATOR)) {\n this.add(innerEle, CLS_POPOVERFLOW);\n }\n }\n }\n if (item.overflow !== 'Show' && item.showAlwaysInPopup && !innerEle.classList.contains(CLS_SEPARATOR)) {\n this.add(innerEle, CLS_POPPRI);\n this.popupPriCount++;\n }\n if (item.disabled) {\n this.add(innerEle, CLS_DISABLE);\n }\n if (item.visible === false) {\n this.add(innerEle, CLS_HIDDEN);\n }\n return innerEle;\n };\n Toolbar.prototype.getDataTabindex = function (ele) {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.getAttribute('data-tabindex')) ? '-1' : ele.getAttribute('data-tabindex');\n };\n Toolbar.prototype.itemClick = function (e) {\n this.activeEleSwitch(e.currentTarget);\n };\n Toolbar.prototype.activeEleSwitch = function (ele) {\n this.activeEleRemove(ele.firstElementChild);\n this.activeEle.focus();\n };\n Toolbar.prototype.activeEleRemove = function (curEle) {\n var previousEle = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.activeEle)) {\n this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));\n if (previousEle) {\n previousEle.removeAttribute('tabindex');\n }\n previousEle = this.activeEle;\n }\n this.activeEle = curEle;\n if (this.getDataTabindex(this.activeEle) === '-1') {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-hor-nav')) && this.element.querySelector('.e-hor-nav').classList.contains('e-nav-active')) {\n this.updateTabIndex('0');\n var tabindexValue = this.getDataTabindex(previousEle) === '-1' ? '0' : this.getDataTabindex(previousEle);\n previousEle.setAttribute('tabindex', tabindexValue);\n }\n else {\n this.updateTabIndex('-1');\n }\n curEle.removeAttribute('tabindex');\n }\n else {\n var tabIndex = parseInt(this.getDataTabindex(this.activeEle), 10) + 1;\n this.activeEle.setAttribute('tabindex', tabIndex.toString());\n }\n }\n };\n Toolbar.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * Returns the current module name.\n *\n * @returns {string} - Returns the module name as string.\n * @private\n */\n Toolbar.prototype.getModuleName = function () {\n return 'toolbar';\n };\n Toolbar.prototype.itemsRerender = function (newProp) {\n this.items = this.tbarItemsCol;\n if (this.isReact || this.isAngular) {\n this.clearTemplate();\n }\n this.destroyMode();\n this.destroyItems();\n this.items = newProp;\n this.tbarItemsCol = this.items;\n this.renderItems();\n this.renderOverflowMode();\n if (this.isReact) {\n this.renderReactTemplates();\n }\n };\n Toolbar.prototype.resize = function () {\n var ele = this.element;\n this.tbResize = true;\n if (this.tbarAlign) {\n this.itemPositioning();\n }\n if (this.popObj && this.overflowMode === 'Popup') {\n this.popObj.hide();\n }\n var checkOverflow = this.checkOverflow(ele, ele.getElementsByClassName(CLS_ITEMS)[0]);\n if (!checkOverflow) {\n this.destroyScroll();\n var multirowele = ele.querySelector('.' + CLS_ITEMS);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(multirowele)) {\n this.remove(multirowele, CLS_MULTIROWPOS);\n if (this.tbarAlign) {\n this.add(multirowele, CLS_TBARPOS);\n }\n }\n }\n if (checkOverflow && this.scrollModule && (this.offsetWid === ele.offsetWidth)) {\n return;\n }\n if (this.offsetWid > ele.offsetWidth || checkOverflow) {\n this.renderOverflowMode();\n }\n if (this.popObj) {\n if (this.overflowMode === 'Extended') {\n this.popObj.width = this.getToolbarPopupWidth(this.element);\n }\n if (this.tbarAlign) {\n this.removePositioning();\n }\n this.popupRefresh(this.popObj.element, false);\n if (this.tbarAlign) {\n this.refreshPositioning();\n }\n }\n if (this.element.querySelector('.' + CLS_HSCROLLBAR)) {\n this.scrollStep = this.element.querySelector('.' + CLS_HSCROLLBAR).offsetWidth;\n }\n this.offsetWid = ele.offsetWidth;\n this.tbResize = false;\n this.separator();\n };\n Toolbar.prototype.orientationChange = function () {\n var _this = this;\n setTimeout(function () {\n _this.resize();\n }, 500);\n };\n Toolbar.prototype.extendedOpen = function () {\n var sib = this.element.querySelector('.' + CLS_EXTENDABLECLASS);\n if (this.overflowMode === 'Extended' && sib) {\n this.isExtendedOpen = sib.classList.contains(CLS_POPUPOPEN);\n }\n };\n Toolbar.prototype.updateHideEleTabIndex = function (ele, isHidden, isElement, eleIndex, innerItems) {\n if (isElement) {\n eleIndex = innerItems.indexOf(ele);\n }\n var nextEle = innerItems[++eleIndex];\n while (nextEle) {\n var skipEle = this.eleContains(nextEle);\n if (!skipEle) {\n var dataTabIndex = nextEle.firstElementChild.getAttribute('data-tabindex');\n if (isHidden && dataTabIndex === '-1') {\n nextEle.firstElementChild.setAttribute('tabindex', '0');\n }\n else if (dataTabIndex !== nextEle.firstElementChild.getAttribute('tabindex')) {\n nextEle.firstElementChild.setAttribute('tabindex', dataTabIndex);\n }\n break;\n }\n nextEle = innerItems[++eleIndex];\n }\n };\n Toolbar.prototype.clearToolbarTemplate = function (templateEle) {\n if (this.registeredTemplate && this.registeredTemplate[\"\" + 'template']) {\n var registeredTemplates = this.registeredTemplate;\n for (var index = 0; index < registeredTemplates[\"\" + 'template'].length; index++) {\n var registeredItem = registeredTemplates[\"\" + 'template'][parseInt(index.toString(), 10)].rootNodes[0];\n var closestItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(registeredItem, '.' + CLS_ITEM);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(closestItem) && closestItem === templateEle) {\n this.clearTemplate(['template'], [registeredTemplates[\"\" + 'template'][parseInt(index.toString(), 10)]]);\n break;\n }\n }\n }\n else if (this.portals && this.portals.length > 0) {\n var portals = this.portals;\n for (var index = 0; index < portals.length; index++) {\n var portalItem = portals[parseInt(index.toString(), 10)];\n var closestItem = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(portalItem.containerInfo, '.' + CLS_ITEM);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(closestItem) && closestItem === templateEle) {\n this.clearTemplate(['template'], index);\n break;\n }\n }\n }\n };\n /**\n * Gets called when the model property changes.The data that describes the old and new values of the property that changed.\n *\n * @param {ToolbarModel} newProp - It contains new value of the data.\n * @param {ToolbarModel} oldProp - It contains old value of the data.\n * @returns {void}\n * @private\n */\n Toolbar.prototype.onPropertyChanged = function (newProp, oldProp) {\n var tEle = this.element;\n this.extendedOpen();\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'items':\n if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {\n var changedProb = Object.keys(newProp.items);\n for (var i = 0; i < changedProb.length; i++) {\n var index = parseInt(Object.keys(newProp.items)[parseInt(i.toString(), 10)], 10);\n var property = Object.keys(newProp.items[parseInt(index.toString(), 10)])[0];\n var newProperty = Object(newProp.items[parseInt(index.toString(), 10)])[\"\" + property];\n if (this.tbarAlign || property === 'align') {\n this.refresh();\n this.trigger('created');\n break;\n }\n var popupPriCheck = property === 'showAlwaysInPopup' && !newProperty;\n var booleanCheck = property === 'overflow' && this.popupPriCount !== 0;\n if ((popupPriCheck) || (this.items[parseInt(index.toString(), 10)].showAlwaysInPopup) && booleanCheck) {\n --this.popupPriCount;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.scrollModule)) {\n this.destroyMode();\n }\n var itemCol = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEMS + ' .' + CLS_ITEM, tEle));\n if (this.isReact && this.items[parseInt(index.toString(), 10)].template) {\n this.clearToolbarTemplate(itemCol[parseInt(index.toString(), 10)]);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(itemCol[parseInt(index.toString(), 10)]);\n this.tbarEle.splice(index, 1);\n this.addItems([this.items[parseInt(index.toString(), 10)]], index);\n this.items.splice(index, 1);\n if (this.items[parseInt(index.toString(), 10)].template) {\n this.tbarEle.splice(this.items.length, 1);\n }\n }\n }\n else {\n this.itemsRerender(newProp.items);\n }\n break;\n case 'width':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(tEle, { 'width': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.width) });\n this.refreshOverflow();\n break;\n case 'height':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'height': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.height) });\n break;\n case 'overflowMode':\n this.destroyMode();\n this.renderOverflowMode();\n if (this.enableRtl) {\n this.add(tEle, CLS_RTL);\n }\n this.refreshOverflow();\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n this.add(tEle, CLS_RTL);\n }\n else {\n this.remove(tEle, CLS_RTL);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.scrollModule)) {\n if (newProp.enableRtl) {\n this.add(this.scrollModule.element, CLS_RTL);\n }\n else {\n this.remove(this.scrollModule.element, CLS_RTL);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popObj)) {\n if (newProp.enableRtl) {\n this.add(this.popObj.element, CLS_RTL);\n }\n else {\n this.remove(this.popObj.element, CLS_RTL);\n }\n }\n if (this.tbarAlign) {\n this.itemPositioning();\n }\n break;\n case 'scrollStep':\n if (this.scrollModule) {\n this.scrollModule.scrollStep = this.scrollStep;\n }\n break;\n case 'enableCollision':\n if (this.popObj) {\n this.popObj.collision = { Y: this.enableCollision ? 'flip' : 'none' };\n }\n break;\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], oldProp.cssClass.split(' '));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], newProp.cssClass.split(' '));\n }\n break;\n case 'allowKeyboard':\n this.unwireKeyboardEvent();\n if (newProp.allowKeyboard) {\n this.wireKeyboardEvent();\n }\n break;\n }\n }\n };\n /**\n * Shows or hides the Toolbar item that is in the specified index.\n *\n * @param {number | HTMLElement} index - Index value of target item or DOM element of items to be hidden or shown.\n * @param {boolean} value - Based on this Boolean value, item will be hide (true) or show (false). By default, value is false.\n * @returns {void}.\n */\n Toolbar.prototype.hideItem = function (index, value) {\n var isElement = (typeof (index) === 'object') ? true : false;\n var eleIndex = index;\n var ele;\n if (!isElement && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eleIndex)) {\n return;\n }\n var innerItems = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, this.element));\n if (isElement) {\n ele = index;\n }\n else if (this.tbarEle[parseInt(eleIndex.toString(), 10)]) {\n var innerItems_1 = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + CLS_ITEM, this.element));\n ele = innerItems_1[parseInt(eleIndex.toString(), 10)];\n }\n if (ele) {\n if (value) {\n ele.classList.add(CLS_HIDDEN);\n if (!ele.classList.contains(CLS_SEPARATOR)) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(ele.firstElementChild.getAttribute('tabindex')) ||\n ele.firstElementChild.getAttribute('tabindex') !== '-1') {\n this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);\n }\n }\n }\n else {\n ele.classList.remove(CLS_HIDDEN);\n if (!ele.classList.contains(CLS_SEPARATOR)) {\n this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);\n }\n }\n this.refreshOverflow();\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([], Item)\n ], Toolbar.prototype, \"items\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Toolbar.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Toolbar.prototype, \"height\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Toolbar.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Scrollable')\n ], Toolbar.prototype, \"overflowMode\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Toolbar.prototype, \"scrollStep\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Toolbar.prototype, \"enableCollision\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Toolbar.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Toolbar.prototype, \"allowKeyboard\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Toolbar.prototype, \"clicked\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Toolbar.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Toolbar.prototype, \"destroyed\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Toolbar.prototype, \"beforeCreate\", void 0);\n Toolbar = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Toolbar);\n return Toolbar;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-notifications/src/skeleton/skeleton.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-notifications/src/skeleton/skeleton.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ShimmerEffect: () => (/* binding */ ShimmerEffect),\n/* harmony export */ Skeleton: () => (/* binding */ Skeleton),\n/* harmony export */ SkeletonType: () => (/* binding */ SkeletonType)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nvar cssClassName = {\n TEXTSHAPE: 'e-skeleton-text',\n CIRCLESHAPE: 'e-skeleton-circle',\n SQUARESHAPE: 'e-skeleton-square',\n RECTANGLESHAPE: 'e-skeleton-rectangle',\n WAVEEFFECT: 'e-shimmer-wave',\n PULSEEFFECT: 'e-shimmer-pulse',\n FADEEFFECT: 'e-shimmer-fade',\n VISIBLENONE: 'e-visible-none'\n};\n/**\n * Defines the shape of Skeleton.\n */\nvar SkeletonType;\n(function (SkeletonType) {\n /**\n * Defines the skeleton shape as text.\n */\n SkeletonType[\"Text\"] = \"Text\";\n /**\n * Defines the skeleton shape as circle.\n */\n SkeletonType[\"Circle\"] = \"Circle\";\n /**\n * Defines the skeleton shape as square.\n */\n SkeletonType[\"Square\"] = \"Square\";\n /**\n * Defines the skeleton shape as rectangle.\n */\n SkeletonType[\"Rectangle\"] = \"Rectangle\";\n})(SkeletonType || (SkeletonType = {}));\n/**\n * Defines the animation effect of Skeleton.\n */\nvar ShimmerEffect;\n(function (ShimmerEffect) {\n /**\n * Defines the animation as shimmer wave effect.\n */\n ShimmerEffect[\"Wave\"] = \"Wave\";\n /**\n * Defines the animation as fade effect.\n */\n ShimmerEffect[\"Fade\"] = \"Fade\";\n /**\n * Defines the animation as pulse effect.\n */\n ShimmerEffect[\"Pulse\"] = \"Pulse\";\n /**\n * Defines the animation as no effect.\n */\n ShimmerEffect[\"None\"] = \"None\";\n})(ShimmerEffect || (ShimmerEffect = {}));\n/**\n * The Shimmer is a placeholder that animates a shimmer effect to let users know that the page’s content is loading at the moment.\n * In other terms, it simulates the layout of page content while loading the actual content.\n * ```html\n *
        \n * ```\n * ```typescript\n * \n * ```\n */\nvar Skeleton = /** @class */ (function (_super) {\n __extends(Skeleton, _super);\n /**\n * Constructor for creating Skeleton component.\n *\n * @param {SkeletonModel} options - Defines the model of Skeleton class.\n * @param {HTMLElement} element - Defines the target HTML element.\n */\n function Skeleton(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Get component module name.\n *\n * @returns {string} - Module name\n * @private\n */\n Skeleton.prototype.getModuleName = function () {\n return 'skeleton';\n };\n Skeleton.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n Skeleton.prototype.preRender = function () {\n if (!this.element.id) {\n this.element.id = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('e-' + this.getModuleName());\n }\n this.updateCssClass();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { role: 'alert', 'aria-busy': 'true', 'aria-live': 'polite', 'aria-label': this.label });\n };\n /**\n * Method for initialize the component rendering.\n *\n * @returns {void}\n * @private\n */\n Skeleton.prototype.render = function () {\n this.initialize();\n };\n Skeleton.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'width':\n case 'height':\n this.updateDimension();\n break;\n case 'shape':\n this.updateShape();\n break;\n case 'shimmerEffect':\n this.updateEffect();\n break;\n case 'visible':\n this.updateVisibility();\n break;\n case 'label':\n this.element.setAttribute('aria-label', this.label);\n break;\n case 'cssClass':\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], oldProp.cssClass.split(' '));\n }\n this.updateCssClass();\n break;\n }\n }\n };\n /**\n * Method to destroys the Skeleton component.\n *\n * @returns {void}\n */\n Skeleton.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n var attrs = ['role', 'aria-live', 'aria-busy', 'aria-label'];\n var cssClass = [];\n if (this.cssClass) {\n cssClass = cssClass.concat(this.cssClass.split(' '));\n }\n for (var i = 0; i < attrs.length; i++) {\n this.element.removeAttribute(attrs[parseInt(i.toString(), 10)]);\n }\n cssClass = cssClass.concat(this.element.classList.value.match(/(e-skeleton-[^\\s]+)/g) || []);\n cssClass = cssClass.concat(this.element.classList.value.match(/(e-shimmer-[^\\s]+)/g) || []);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], cssClass);\n };\n Skeleton.prototype.initialize = function () {\n this.updateShape();\n this.updateEffect();\n this.updateVisibility();\n };\n Skeleton.prototype.updateShape = function () {\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.shape))) {\n var shapeCss = cssClassName[this.shape.toUpperCase() + 'SHAPE'];\n var removeCss = (this.element.classList.value.match(/(e-skeleton-[^\\s]+)/g) || []);\n this.updateDimension();\n if (removeCss) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], removeCss);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], [shapeCss]);\n }\n };\n Skeleton.prototype.updateDimension = function () {\n var width = (!this.width && (['Text', 'Rectangle'].indexOf(this.shape) > -1)) ? '100%' : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n var height = ['Circle', 'Square'].indexOf(this.shape) > -1 ? width : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.height);\n this.element.style.width = width;\n this.element.style.height = height;\n };\n Skeleton.prototype.updateEffect = function () {\n var removeCss = (this.element.classList.value.match(/(e-shimmer-[^\\s]+)/g) || []);\n if (removeCss) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], removeCss);\n }\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.shimmerEffect))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], [cssClassName[this.shimmerEffect.toUpperCase() + 'EFFECT']]);\n }\n };\n Skeleton.prototype.updateVisibility = function () {\n this.element.classList[this.visible ? 'remove' : 'add'](cssClassName.VISIBLENONE);\n };\n Skeleton.prototype.updateCssClass = function () {\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], this.cssClass.split(' '));\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Skeleton.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Skeleton.prototype, \"height\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Skeleton.prototype, \"visible\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Text')\n ], Skeleton.prototype, \"shape\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Wave')\n ], Skeleton.prototype, \"shimmerEffect\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Loading...')\n ], Skeleton.prototype, \"label\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Skeleton.prototype, \"cssClass\", void 0);\n Skeleton = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Skeleton);\n return Skeleton;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-notifications/src/skeleton/skeleton.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/action.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/action.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAction: () => (/* binding */ PdfAction)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n\n\n\n\n/**\n * `PdfAction` class represents base class for all action types.\n * @private\n */\nvar PdfAction = /** @class */ (function () {\n // Constructors\n /**\n * Initialize instance for `Action` class.\n * @private\n */\n function PdfAction() {\n /**\n * Specifies the Next `action` to perform.\n * @private\n */\n this.action = null;\n /**\n * Specifies the Internal variable to store `dictionary properties`.\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n // super(); -> Object()\n this.initialize();\n }\n Object.defineProperty(PdfAction.prototype, \"next\", {\n // Properties\n /**\n * Gets and Sets the `Next` action to perform.\n * @private\n */\n get: function () {\n return this.action;\n },\n set: function (value) {\n // if (this.action !== value) {\n this.action = value;\n this.dictionary.items.setValue(this.dictionaryProperties.next, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_1__.PdfReferenceHolder(this.action));\n // }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAction.prototype, \"dictionary\", {\n /**\n * Gets and Sets the instance of PdfDictionary class for `Dictionary`.\n * @private\n */\n get: function () {\n if (typeof this.pdfDictionary === 'undefined') {\n this.pdfDictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__.PdfDictionary();\n }\n return this.pdfDictionary;\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Initialize` the action type.\n * @private\n */\n PdfAction.prototype.initialize = function () {\n this.dictionary.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this.dictionaryProperties.action));\n };\n Object.defineProperty(PdfAction.prototype, \"element\", {\n // IPdfWrapper Members\n /**\n * Gets the `Element` as IPdfPrimitive class.\n * @private\n */\n get: function () {\n return this.dictionary;\n },\n enumerable: true,\n configurable: true\n });\n return PdfAction;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/action.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/uri-action.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/uri-action.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfUriAction: () => (/* binding */ PdfUriAction)\n/* harmony export */ });\n/* harmony import */ var _action__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./action */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/action.js\");\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * `PdfUriAction` class for initialize the uri related internals.\n * @private\n */\nvar PdfUriAction = /** @class */ (function (_super) {\n __extends(PdfUriAction, _super);\n function PdfUriAction(uri) {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Specifies the `uri` string.\n * @default ''.\n * @private\n */\n _this.uniformResourceIdentifier = '';\n return _this;\n }\n Object.defineProperty(PdfUriAction.prototype, \"uri\", {\n // Properties\n /**\n * Gets and Sets the value of `Uri`.\n * @private\n */\n get: function () {\n return this.uniformResourceIdentifier;\n },\n set: function (value) {\n this.uniformResourceIdentifier = value;\n this.dictionary.items.setValue(this.dictionaryProperties.uri, new _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_0__.PdfString(this.uniformResourceIdentifier));\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Initialize` the internals.\n * @private\n */\n PdfUriAction.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.dictionary.items.setValue(this.dictionaryProperties.s, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__.PdfName(this.dictionaryProperties.uri));\n };\n return PdfUriAction;\n}(_action__WEBPACK_IMPORTED_MODULE_2__.PdfAction));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/uri-action.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/action-link-annotation.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/action-link-annotation.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfActionLinkAnnotation: () => (/* binding */ PdfActionLinkAnnotation)\n/* harmony export */ });\n/* harmony import */ var _link_annotation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./link-annotation */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/link-annotation.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n/**\n * Represents base class for `link annotations` with associated action.\n * @private\n */\nvar PdfActionLinkAnnotation = /** @class */ (function (_super) {\n __extends(PdfActionLinkAnnotation, _super);\n // Constructors\n /**\n * Specifies the constructor for `ActionLinkAnnotation`.\n * @private\n */\n function PdfActionLinkAnnotation(rectangle) {\n var _this = _super.call(this, rectangle) || this;\n // Fields\n /**\n * Internal variable to store annotation's `action`.\n * @default null\n * @private\n */\n _this.pdfAction = null;\n return _this;\n }\n //Public method\n /**\n * get and set the `action`.\n * @hidden\n */\n PdfActionLinkAnnotation.prototype.getSetAction = function (value) {\n if (typeof value === 'undefined') {\n return this.pdfAction;\n }\n else {\n this.pdfAction = value;\n }\n };\n return PdfActionLinkAnnotation;\n}(_link_annotation__WEBPACK_IMPORTED_MODULE_0__.PdfLinkAnnotation));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/action-link-annotation.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation-collection.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation-collection.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAnnotationCollection: () => (/* binding */ PdfAnnotationCollection)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../graphics/fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n\n\n\n\n\n\n/**\n * `PdfAnnotationCollection` class represents the collection of 'PdfAnnotation' objects.\n * @private\n */\nvar PdfAnnotationCollection = /** @class */ (function () {\n function PdfAnnotationCollection(page) {\n // Constants\n /**\n * `Error` constant message.\n * @private\n */\n this.alreadyExistsAnnotationError = 'This annotatation had been already added to page';\n /**\n * `Error` constant message.\n * @private\n */\n this.missingAnnotationException = 'Annotation is not contained in collection.';\n /**\n * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n /**\n * Array of the `annotations`.\n * @private\n */\n this.internalAnnotations = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_1__.PdfArray();\n /**\n * privte `list` for the annotations.\n * @private\n */\n this.lists = [];\n if (typeof page !== 'undefined') {\n this.page = page;\n }\n }\n Object.defineProperty(PdfAnnotationCollection.prototype, \"annotations\", {\n /**\n * Gets the `PdfAnnotation` object at the specified index. Read-Only.\n * @private\n */\n get: function () {\n return this.internalAnnotations;\n },\n set: function (value) {\n this.internalAnnotations = value;\n },\n enumerable: true,\n configurable: true\n });\n // Public methods\n /**\n * `Adds` a new annotation to the collection.\n * @private\n */\n PdfAnnotationCollection.prototype.add = function (annotation) {\n // this.SetPrint(annotation);\n this.doAdd(annotation);\n };\n /**\n * `Adds` a Annotation to collection.\n * @private\n */\n /* tslint:disable */\n PdfAnnotationCollection.prototype.doAdd = function (annotation) {\n if (typeof annotation.destination !== 'undefined') {\n var layout = new _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_2__.PdfStringLayouter();\n var layoutResult = layout.layout(annotation.text, annotation.font, annotation.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF((annotation.bounds.width), 0), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(0, 0));\n var lastPosition = annotation.bounds.y;\n if (layoutResult.lines.length === 1) {\n var size = annotation.font.measureString(layoutResult.lines[0].text);\n annotation.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF(annotation.bounds.x, lastPosition), size);\n annotation.text = layoutResult.lines[0].text;\n //Draw Annotation Text.\n this.page.graphics.drawString(annotation.text, annotation.font, null, annotation.brush, annotation.bounds.x, annotation.bounds.y, annotation.bounds.width, annotation.bounds.height, null);\n //Add annotation to dictionary.\n annotation.setPage(this.page);\n this.setColor(annotation);\n this.internalAnnotations.add(new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_4__.PdfReferenceHolder(annotation));\n this.lists.push(annotation);\n }\n else {\n for (var i = 0; i < layoutResult.lines.length; i++) {\n var size = annotation.font.measureString(layoutResult.lines[i].text);\n if (i === 0) {\n annotation.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.RectangleF(annotation.bounds.x, lastPosition, size.width, size.height);\n annotation.text = layoutResult.lines[i].text;\n //Draw Annotation Text.\n this.page.graphics.drawString(annotation.text, annotation.font, null, annotation.brush, annotation.bounds.x, lastPosition, size.width, size.height, null);\n //Add annotation to dictionary.\n annotation.setPage(this.page);\n this.setColor(annotation);\n this.internalAnnotations.add(new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_4__.PdfReferenceHolder(annotation));\n this.lists.push(annotation);\n //Update y for drawing next line of the text.\n lastPosition += annotation.bounds.height;\n }\n else {\n var annot = annotation.clone();\n annot.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF(annotation.bounds.x, lastPosition), size);\n annot.text = layoutResult.lines[i].text;\n //Draw Annotation Text.\n this.page.graphics.drawString(annot.text, annot.font, null, annot.brush, annot.bounds.x, annot.bounds.y, annot.bounds.width, annot.bounds.height, null);\n //Add annotation to dictionary.\n annot.setPage(this.page);\n this.setColor(annot);\n this.internalAnnotations.add(new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_4__.PdfReferenceHolder(annot));\n this.lists.push(annot);\n //Update y for drawing next line of the text.\n lastPosition += annot.bounds.height;\n }\n }\n }\n }\n else {\n annotation.setPage(this.page);\n this.internalAnnotations.add(new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_4__.PdfReferenceHolder(annotation));\n return this.lists.push(annotation);\n }\n };\n /* tslint:enable */\n /**\n * `Set a color of an annotation`.\n * @private\n */\n PdfAnnotationCollection.prototype.setColor = function (annotation) {\n var cs = _graphics_enum__WEBPACK_IMPORTED_MODULE_5__.PdfColorSpace.Rgb;\n var colours = annotation.color.toArray(cs);\n annotation.dictionary.items.setValue(this.dictionaryProperties.c, colours);\n };\n Object.defineProperty(PdfAnnotationCollection.prototype, \"element\", {\n // IPdfWrapper Members\n /**\n * Gets the `Element` representing this object.\n * @private\n */\n get: function () {\n return this.internalAnnotations;\n },\n enumerable: true,\n configurable: true\n });\n return PdfAnnotationCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAnnotation: () => (/* binding */ PdfAnnotation)\n/* harmony export */ });\n/* harmony import */ var _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../graphics/pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _graphics_brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../graphics/brushes/pdf-solid-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _graphics_fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../graphics/fonts/pdf-standard-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js\");\n/* harmony import */ var _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../graphics/fonts/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../graphics/fonts/pdf-string-format */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfAnnotation` class represents the base class for annotation objects.\n * @private\n */\nvar PdfAnnotation = /** @class */ (function () {\n function PdfAnnotation(arg1) {\n // Fields\n /**\n * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n /**\n * `Color` of the annotation\n * @private\n */\n this.pdfColor = new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor(255, 255, 255);\n /**\n * `Bounds` of the annotation.\n * @private\n */\n this.rectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(0, 0, 0, 0);\n /**\n * Parent `page` of the annotation.\n * @private\n */\n this.pdfPage = null;\n /**\n * `Brush of the text` of the annotation.\n * @default new PdfSolidBrush(new PdfColor(0, 0, 0))\n * @private\n */\n this.textBrush = new _graphics_brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_3__.PdfSolidBrush(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor(0, 0, 0));\n /**\n * `Font of the text` of the annotation.\n * @default new PdfStandardFont(PdfFontFamily.TimesRoman, 10)\n * @private\n */\n this.textFont = new _graphics_fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_4__.PdfStandardFont(_graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_5__.PdfFontFamily.TimesRoman, 10);\n /**\n * `StringFormat of the text` of the annotation.\n * @default new PdfStringFormat(PdfTextAlignment.Left)\n * @private\n */\n this.format = new _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_6__.PdfStringFormat(_graphics_enum__WEBPACK_IMPORTED_MODULE_7__.PdfTextAlignment.Left);\n /**\n * `Text` of the annotation.\n * @private\n */\n this.content = '';\n /**\n * Internal variable to store `dictionary`.\n * @private\n */\n this.pdfDictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_8__.PdfDictionary();\n /**\n * To specifying the `Inner color` with which to fill the annotation\n * @private\n */\n this.internalColor = new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor();\n /**\n * `opacity or darkness` of the annotation.\n * @private\n * @default 1.0\n */\n this.darkness = 1.0;\n if (typeof arg1 === 'undefined') {\n this.initialize();\n }\n else {\n this.initialize();\n this.bounds = arg1;\n }\n }\n Object.defineProperty(PdfAnnotation.prototype, \"color\", {\n // Properties\n /**\n * `Color` of the annotation\n * @private\n */\n get: function () {\n return this.pdfColor;\n },\n set: function (value) {\n this.pdfColor = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"innerColor\", {\n /**\n * To specifying the `Inner color` with which to fill the annotation\n * @private\n */\n get: function () {\n return this.internalColor;\n },\n set: function (value) {\n this.internalColor = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"bounds\", {\n /**\n * `bounds` of the annotation.\n * @private\n */\n get: function () {\n return this.rectangle;\n },\n set: function (value) {\n this.rectangle = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"page\", {\n /**\n * Parent `page` of the annotation.\n * @private\n */\n get: function () {\n return this.pdfPage;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"font\", {\n /**\n * To specifying the `Font of the text` in the annotation.\n * @private\n */\n get: function () {\n return this.textFont;\n },\n set: function (value) {\n this.textFont = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"stringFormat\", {\n /**\n * To specifying the `StringFormat of the text` in the annotation.\n * @private\n */\n get: function () {\n return this.format;\n },\n set: function (value) {\n this.format = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"brush\", {\n /**\n * To specifying the `Brush of the text` in the annotation.\n * @private\n */\n get: function () {\n return this.textBrush;\n },\n set: function (value) {\n this.textBrush = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"text\", {\n /**\n * `Text` of the annotation.\n * @private\n */\n get: function () {\n return this.content;\n },\n set: function (value) {\n this.content = value;\n this.dictionary.items.setValue(this.dictionaryProperties.contents, new _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_9__.PdfString(this.content));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAnnotation.prototype, \"dictionary\", {\n /**\n * Internal variable to store `dictionary`.\n * @hidden\n */\n get: function () {\n return this.pdfDictionary;\n },\n set: function (value) {\n this.pdfDictionary = value;\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Initialize` the annotation event handler and specifies the type of the annotation.\n * @private\n */\n PdfAnnotation.prototype.initialize = function () {\n this.pdfDictionary.annotationBeginSave = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_8__.SaveAnnotationEventHandler(this);\n this.pdfDictionary.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_10__.PdfName(this.dictionaryProperties.annot));\n };\n /**\n * Sets related `page` of the annotation.\n * @private\n */\n PdfAnnotation.prototype.setPage = function (page) {\n this.pdfPage = page;\n this.pdfDictionary.items.setValue(this.dictionaryProperties.p, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_11__.PdfReferenceHolder(this.pdfPage));\n };\n /**\n * Handles the `BeginSave` event of the Dictionary.\n * @private\n */\n PdfAnnotation.prototype.beginSave = function () {\n this.save();\n };\n /**\n * `Saves` an annotation.\n * @private\n */\n /* tslint:disable */\n PdfAnnotation.prototype.save = function () {\n var nativeRectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(this.rectangle.x, this.rectangle.y, this.rectangle.width, this.rectangle.height);\n var section = this.pdfPage.section;\n var initialHeight = nativeRectangle.height;\n var tempLoacation = section.pointToNativePdf(this.page, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(nativeRectangle.x, nativeRectangle.y));\n nativeRectangle.x = tempLoacation.x;\n nativeRectangle.width = tempLoacation.x + nativeRectangle.width;\n nativeRectangle.y = (tempLoacation.y - this.page.document.pageSettings.margins.top);\n nativeRectangle.height = nativeRectangle.y - initialHeight;\n this.pdfDictionary.items.setValue(this.dictionaryProperties.rect, _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_12__.PdfArray.fromRectangle(nativeRectangle));\n this.dictionary.items.setValue(this.dictionaryProperties.ca, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_13__.PdfNumber(this.darkness));\n };\n Object.defineProperty(PdfAnnotation.prototype, \"element\", {\n /* tslint:enable */\n // IPdfWrapper Members\n /**\n * Gets the `element`.\n * @private\n */\n get: function () {\n return this.pdfDictionary;\n },\n enumerable: true,\n configurable: true\n });\n return PdfAnnotation;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/link-annotation.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/link-annotation.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfLinkAnnotation: () => (/* binding */ PdfLinkAnnotation)\n/* harmony export */ });\n/* harmony import */ var _annotation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./annotation */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * `PdfLinkAnnotation` class represents the ink annotation class.\n * @private\n */\nvar PdfLinkAnnotation = /** @class */ (function (_super) {\n __extends(PdfLinkAnnotation, _super);\n function PdfLinkAnnotation(rectangle) {\n return _super.call(this, rectangle) || this;\n }\n // Implementation\n /**\n * `Initializes` annotation object.\n * @private\n */\n PdfLinkAnnotation.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.dictionary.items.setValue(this.dictionaryProperties.subtype, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__.PdfName(this.dictionaryProperties.link));\n };\n return PdfLinkAnnotation;\n}(_annotation__WEBPACK_IMPORTED_MODULE_1__.PdfAnnotation));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/link-annotation.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTextWebLink: () => (/* binding */ PdfTextWebLink)\n/* harmony export */ });\n/* harmony import */ var _pages_pdf_page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../pages/pdf-page */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_figures_text_element__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../graphics/figures/text-element */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/text-element.js\");\n/* harmony import */ var _uri_annotation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./uri-annotation */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/uri-annotation.js\");\n/* harmony import */ var _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../graphics/fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../graphics/fonts/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n/**\n * `PdfTextWebLink` class represents the class for text web link annotation.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * // create the font\n * let font : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);\n * //\n * // create the Text Web Link\n * let textLink : PdfTextWebLink = new PdfTextWebLink();\n * // set the hyperlink\n * textLink.url = 'http://www.google.com';\n * // set the link text\n * textLink.text = 'Google';\n * // set the font\n * textLink.font = font;\n * // draw the hyperlink in PDF page\n * textLink.draw(page1, new PointF(10, 40));\n * //\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfTextWebLink = /** @class */ (function (_super) {\n __extends(PdfTextWebLink, _super);\n // Constructors\n /**\n * Initializes a new instance of the `PdfTextWebLink` class.\n * @private\n */\n function PdfTextWebLink() {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Internal variable to store `Url`.\n * @default ''\n * @private\n */\n _this.uniformResourceLocator = '';\n /**\n * Internal variable to store `Uri Annotation` object.\n * @default null\n * @private\n */\n _this.uriAnnotation = null;\n /**\n * Checks whether the drawTextWebLink method with `PointF` overload is called or not.\n * If it set as true, then the start position of each lines excluding firest line is changed as (0, Y).\n * @private\n * @hidden\n */\n _this.recalculateBounds = false;\n _this.defaultBorder = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_0__.PdfArray();\n for (var i = 0; i < 3; i++) {\n _this.defaultBorder.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_1__.PdfNumber(0));\n }\n return _this;\n }\n Object.defineProperty(PdfTextWebLink.prototype, \"url\", {\n // Properties\n /**\n * Gets or sets the `Uri address`.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * // create the font\n * let font : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);\n * // create the Text Web Link\n * let textLink : PdfTextWebLink = new PdfTextWebLink();\n * //\n * // set the hyperlink\n * textLink.url = 'http://www.google.com';\n * //\n * // set the link text\n * textLink.text = 'Google';\n * // set the font\n * textLink.font = font;\n * // draw the hyperlink in PDF page\n * textLink.draw(page1, new PointF(10, 40));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.uniformResourceLocator;\n },\n set: function (value) {\n if (value.length === 0) {\n throw new Error('ArgumentException : Url - string can not be empty');\n }\n this.uniformResourceLocator = value;\n },\n enumerable: true,\n configurable: true\n });\n PdfTextWebLink.prototype.draw = function (arg1, arg2) {\n if (arg1 instanceof _pages_pdf_page__WEBPACK_IMPORTED_MODULE_2__.PdfPage) {\n var layout = new _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_3__.PdfStringLayouter();\n var previousFontStyle = this.font.style;\n if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF) {\n this.recalculateBounds = true;\n this.font.style = _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_5__.PdfFontStyle.Underline;\n var layoutResult = layout.layout(this.value, this.font, this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF((arg1.graphics.clientSize.width - arg2.x), 0), true, arg1.graphics.clientSize);\n if (layoutResult.lines.length === 1) {\n var textSize = this.font.measureString(this.value);\n var rect = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(arg2, textSize);\n rect = this.calculateBounds(rect, textSize.width, arg1.graphics.clientSize.width, arg2.x);\n this.uriAnnotation = new _uri_annotation__WEBPACK_IMPORTED_MODULE_6__.PdfUriAnnotation(rect, this.url);\n this.uriAnnotation.dictionary.items.setValue('Border', this.defaultBorder);\n arg1.annotations.add(this.uriAnnotation);\n var result = this.drawText(arg1, arg2);\n this.font.style = previousFontStyle;\n return result;\n }\n else {\n var result = this.drawMultipleLineWithPoint(layoutResult, arg1, arg2);\n this.font.style = previousFontStyle;\n return result;\n }\n }\n else {\n var layoutResult = layout.layout(this.value, this.font, this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(arg2.width, 0), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0));\n this.font.style = _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_5__.PdfFontStyle.Underline;\n if (layoutResult.lines.length === 1) {\n var textSize = this.font.measureString(this.value);\n var rect = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(arg2.x, arg2.y), textSize);\n rect = this.calculateBounds(rect, textSize.width, arg2.width, arg2.x);\n this.uriAnnotation = new _uri_annotation__WEBPACK_IMPORTED_MODULE_6__.PdfUriAnnotation(rect, this.url);\n this.uriAnnotation.dictionary.items.setValue('Border', this.defaultBorder);\n arg1.annotations.add(this.uriAnnotation);\n var returnValue = this.drawText(arg1, arg2);\n this.font.style = previousFontStyle;\n return returnValue;\n }\n else {\n var returnValue = this.drawMultipleLineWithBounds(layoutResult, arg1, arg2);\n this.font.style = previousFontStyle;\n return returnValue;\n }\n }\n }\n else {\n var page = new _pages_pdf_page__WEBPACK_IMPORTED_MODULE_2__.PdfPage();\n page = arg1.page;\n return this.draw(page, arg2);\n }\n };\n /* tslint:enable */\n //Private methods\n /**\n * Helper method `Draw` a Multiple Line Text Web Link on the Graphics with the specified location.\n * @private\n */\n PdfTextWebLink.prototype.drawMultipleLineWithPoint = function (result, page, location) {\n var layoutResult;\n for (var i = 0; i < result.layoutLines.length; i++) {\n var size = this.font.measureString(result.lines[i].text);\n if (i === result.layoutLines.length - 1 && this.stringFormat && this.stringFormat.alignment === _graphics_enum__WEBPACK_IMPORTED_MODULE_7__.PdfTextAlignment.Justify) {\n this._isLastElement = true;\n }\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(location, size);\n if (i !== 0) {\n bounds.x = 0;\n }\n this.text = result.lines[i].text;\n if (bounds.y + size.height > page.graphics.clientSize.height) {\n if (i !== 0) {\n page = page.graphics.getNextPage();\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(0, 0, page.graphics.clientSize.width, size.height);\n location.y = 0;\n }\n else {\n break;\n }\n }\n bounds = this.calculateBounds(bounds, size.width, page.graphics.clientSize.width, bounds.x);\n this.uriAnnotation = new _uri_annotation__WEBPACK_IMPORTED_MODULE_6__.PdfUriAnnotation(bounds, this.url);\n this.uriAnnotation.dictionary.items.setValue('Border', this.defaultBorder);\n page.annotations.add(this.uriAnnotation);\n if (i !== 0) {\n layoutResult = this.drawText(page, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(0, bounds.y));\n }\n else {\n layoutResult = this.drawText(page, bounds.x, bounds.y);\n }\n location.y += size.height;\n }\n return layoutResult;\n };\n /**\n * Helper method `Draw` a Multiple Line Text Web Link on the Graphics with the specified bounds.\n * @private\n */\n PdfTextWebLink.prototype.drawMultipleLineWithBounds = function (result, page, bounds) {\n var layoutResult;\n for (var i = 0; i < result.layoutLines.length; i++) {\n var size = this.font.measureString(result.lines[i].text);\n var internalBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x, bounds.y), size);\n internalBounds = this.calculateBounds(internalBounds, size.width, bounds.width, bounds.x);\n this.text = result.lines[i].text;\n if (bounds.y + size.height > page.graphics.clientSize.height) {\n if (i !== 0) {\n page = page.graphics.getNextPage();\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(bounds.x, 0, bounds.width, size.height);\n internalBounds.y = 0;\n }\n else {\n break;\n }\n }\n this.uriAnnotation = new _uri_annotation__WEBPACK_IMPORTED_MODULE_6__.PdfUriAnnotation(internalBounds, this.url);\n this.uriAnnotation.dictionary.items.setValue('Border', this.defaultBorder);\n page.annotations.add(this.uriAnnotation);\n layoutResult = this.drawText(page, bounds);\n bounds.y += size.height;\n }\n return layoutResult;\n };\n /* tslint:disable */\n PdfTextWebLink.prototype.calculateBounds = function (currentBounds, lineWidth, maximumWidth, startPosition) {\n var shift = 0;\n if (this.stringFormat != null && typeof this.stringFormat !== 'undefined' && this.stringFormat.alignment === _graphics_enum__WEBPACK_IMPORTED_MODULE_7__.PdfTextAlignment.Center) {\n currentBounds.x = startPosition + (maximumWidth - lineWidth) / 2;\n currentBounds.width = lineWidth;\n }\n else if (this.stringFormat != null && typeof this.stringFormat !== 'undefined' && this.stringFormat.alignment === _graphics_enum__WEBPACK_IMPORTED_MODULE_7__.PdfTextAlignment.Right) {\n currentBounds.x = startPosition + (maximumWidth - lineWidth);\n currentBounds.width = lineWidth;\n }\n else if (this.stringFormat != null && typeof this.stringFormat !== 'undefined' && this.stringFormat.alignment === _graphics_enum__WEBPACK_IMPORTED_MODULE_7__.PdfTextAlignment.Justify) {\n currentBounds.x = startPosition;\n currentBounds.width = maximumWidth;\n }\n else {\n currentBounds.width = startPosition;\n currentBounds.width = lineWidth;\n }\n return currentBounds;\n };\n return PdfTextWebLink;\n}(_graphics_figures_text_element__WEBPACK_IMPORTED_MODULE_8__.PdfTextElement));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/uri-annotation.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/uri-annotation.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfUriAnnotation: () => (/* binding */ PdfUriAnnotation)\n/* harmony export */ });\n/* harmony import */ var _action_link_annotation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./action-link-annotation */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/action-link-annotation.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _actions_uri_action__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../actions/uri-action */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/uri-action.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * `PdfUriAnnotation` class represents the Uri annotation.\n * @private\n */\nvar PdfUriAnnotation = /** @class */ (function (_super) {\n __extends(PdfUriAnnotation, _super);\n function PdfUriAnnotation(rectangle, uri) {\n var _this = _super.call(this, rectangle) || this;\n if (typeof uri !== 'undefined') {\n _this.uri = uri;\n }\n return _this;\n }\n Object.defineProperty(PdfUriAnnotation.prototype, \"uriAction\", {\n /**\n * Get `action` of the annotation.\n * @private\n */\n get: function () {\n if (typeof this.pdfUriAction === 'undefined') {\n this.pdfUriAction = new _actions_uri_action__WEBPACK_IMPORTED_MODULE_0__.PdfUriAction();\n }\n return this.pdfUriAction;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfUriAnnotation.prototype, \"uri\", {\n // Properties\n /**\n * Gets or sets the `Uri` address.\n * @private\n */\n get: function () {\n return this.uriAction.uri;\n },\n set: function (value) {\n if (this.uriAction.uri !== value) {\n this.uriAction.uri = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfUriAnnotation.prototype, \"action\", {\n /**\n * Gets or sets the `action`.\n * @private\n */\n get: function () {\n return this.getSetAction();\n },\n set: function (value) {\n this.getSetAction(value);\n this.uriAction.next = value;\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Initializes` annotation object.\n * @private\n */\n PdfUriAnnotation.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.dictionary.items.setValue(this.dictionaryProperties.subtype, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__.PdfName(this.dictionaryProperties.link));\n var tempPrimitive = this.uriAction.element;\n this.dictionary.items.setValue(this.dictionaryProperties.a, this.uriAction.element);\n };\n return PdfUriAnnotation;\n}(_action_link_annotation__WEBPACK_IMPORTED_MODULE_2__.PdfActionLinkAnnotation));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/uri-annotation.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Dictionary: () => (/* binding */ Dictionary)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/utils.js\");\n/**\n * Dictionary.ts class for EJ2-PDF\n * @private\n * @hidden\n */\n\n/**\n * @private\n * @hidden\n */\nvar Dictionary = /** @class */ (function () {\n /**\n * @private\n * @hidden\n */\n function Dictionary(toStringFunction) {\n this.table = {};\n this.nElements = 0;\n this.toStr = toStringFunction || _utils__WEBPACK_IMPORTED_MODULE_0__.defaultToString;\n }\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.getValue = function (key) {\n var pair = this.table['$' + this.toStr(key)];\n if (typeof pair === 'undefined') {\n return undefined;\n }\n return pair.value;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.setValue = function (key, value) {\n // if (typeof key === 'undefined' || typeof value === 'undefined') {\n // return undefined;\n // }\n var ret;\n var k = '$' + this.toStr(key);\n var previousElement = this.table[k];\n // if (typeof previousElement === 'undefined') {\n this.nElements++;\n ret = undefined;\n // }\n this.table[k] = {\n key: key,\n value: value\n };\n return ret;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.remove = function (key) {\n var k = '$' + this.toStr(key);\n var previousElement = this.table[k];\n // if (typeof previousElement !== 'undefined') {\n delete this.table[k];\n this.nElements--;\n return previousElement.value;\n // }\n // return undefined;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.keys = function () {\n var keysArray = [];\n var namesOfKeys = Object.keys(this.table);\n for (var index1 = 0; index1 < namesOfKeys.length; index1++) {\n // if (Object.prototype.hasOwnProperty.call(this.table, namesOfKeys[index1])) {\n var pair1 = this.table[namesOfKeys[index1]];\n keysArray.push(pair1.key);\n // }\n }\n return keysArray;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.values = function () {\n var valuesArray = [];\n var namesOfValues = Object.keys(this.table);\n for (var index2 = 0; index2 < namesOfValues.length; index2++) {\n // if (Object.prototype.hasOwnProperty.call(this.table, namesOfValues[index2])) {\n var pair2 = this.table[namesOfValues[index2]];\n valuesArray.push(pair2.value);\n // }\n }\n return valuesArray;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.containsKey = function (key) {\n var retutnValue = true;\n if (typeof this.getValue(key) === 'undefined') {\n retutnValue = true;\n }\n else {\n retutnValue = false;\n }\n return !retutnValue;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.clear = function () {\n this.table = {};\n this.nElements = 0;\n };\n /**\n * @private\n * @hidden\n */\n Dictionary.prototype.size = function () {\n return this.nElements;\n };\n return Dictionary;\n}()); // End of dictionary\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js": +/*!*****************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TemporaryDictionary: () => (/* binding */ TemporaryDictionary)\n/* harmony export */ });\n/**\n * Dictionary class\n * @private\n * @hidden\n */\nvar TemporaryDictionary = /** @class */ (function () {\n function TemporaryDictionary() {\n /**\n * @hidden\n * @private\n */\n this.mKeys = [];\n /**\n * @hidden\n * @private\n */\n this.mValues = [];\n }\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.size = function () {\n return this.mKeys.length;\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.add = function (key, value) {\n if (key === undefined || key === null || value === undefined || value === null) {\n throw new ReferenceError('Provided key or value is not valid.');\n }\n var index = this.mKeys.indexOf(key);\n if (index < 0) {\n this.mKeys.push(key);\n this.mValues.push(value);\n return 1;\n }\n else {\n throw new RangeError('An item with the same key has already been added.');\n }\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.keys = function () {\n return this.mKeys;\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.values = function () {\n return this.mValues;\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.getValue = function (key) {\n if (key === undefined || key === null) {\n throw new ReferenceError('Provided key is not valid.');\n }\n var index = this.mKeys.indexOf(key);\n if (index < 0) {\n throw new RangeError('No item with the specified key has been added.');\n }\n else {\n return this.mValues[index];\n }\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.setValue = function (key, value) {\n if (key === undefined || key === null) {\n throw new ReferenceError('Provided key is not valid.');\n }\n var index = this.mKeys.indexOf(key);\n if (index < 0) {\n this.mKeys.push(key);\n this.mValues.push(value);\n }\n else {\n this.mValues[index] = value;\n }\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.remove = function (key) {\n if (key === undefined || key === null) {\n throw new ReferenceError('Provided key is not valid.');\n }\n var index = this.mKeys.indexOf(key);\n if (index < 0) {\n throw new RangeError('No item with the specified key has been added.');\n }\n else {\n this.mKeys.splice(index, 1);\n this.mValues.splice(index, 1);\n return true;\n }\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.containsKey = function (key) {\n if (key === undefined || key === null) {\n throw new ReferenceError('Provided key is not valid.');\n }\n var index = this.mKeys.indexOf(key);\n if (index < 0) {\n return false;\n }\n return true;\n };\n /**\n * @hidden\n * @private\n */\n TemporaryDictionary.prototype.clear = function () {\n this.mKeys = [];\n this.mValues = [];\n };\n return TemporaryDictionary;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/utils.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/utils.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultToString: () => (/* binding */ defaultToString)\n/* harmony export */ });\n/**\n * @private\n * @hidden\n */\nfunction defaultToString(item) {\n // if (item === null) {\n // return 'COLLECTION_NULL';\n // } else if (typeof item === 'undefined') {\n // return 'COLLECTION_UNDEFINED';\n // } else if (Object.prototype.toString.call(item) === '[object String]') {\n if (Object.prototype.toString.call(item) === '[object String]') {\n return '$s' + item;\n }\n else {\n return '$o' + item.toString();\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/utils.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info-collection.js": +/*!*********************************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info-collection.js ***! + \*********************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAutomaticFieldInfoCollection: () => (/* binding */ PdfAutomaticFieldInfoCollection)\n/* harmony export */ });\n/**\n * Represent a `collection of automatic fields information`.\n * @private\n */\nvar PdfAutomaticFieldInfoCollection = /** @class */ (function () {\n /**\n * Initializes a new instance of the 'PdfPageNumberFieldInfoCollection' class.\n * @private\n */\n function PdfAutomaticFieldInfoCollection() {\n /**\n * Internal variable to store instance of `pageNumberFields` class.\n * @private\n */\n this.automaticFieldsInformation = [];\n //\n }\n Object.defineProperty(PdfAutomaticFieldInfoCollection.prototype, \"automaticFields\", {\n /**\n * Gets the `page number fields collection`.\n * @private\n */\n get: function () {\n return this.automaticFieldsInformation;\n },\n enumerable: true,\n configurable: true\n });\n // Public methods\n /// Adds the specified field info.\n /**\n * Add page number field into collection.\n * @private\n */\n PdfAutomaticFieldInfoCollection.prototype.add = function (fieldInfo) {\n return this.automaticFields.push(fieldInfo);\n };\n return PdfAutomaticFieldInfoCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info.js": +/*!**********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info.js ***! + \**********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAutomaticFieldInfo: () => (/* binding */ PdfAutomaticFieldInfo)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _automatic_field__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./automatic-field */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.js\");\n/**\n * PdfAutomaticFieldInfo.ts class for EJ2-PDF\n * @private\n */\n\n\n/**\n * Represents information about the automatic field.\n * @private\n */\nvar PdfAutomaticFieldInfo = /** @class */ (function () {\n function PdfAutomaticFieldInfo(field, location, scaleX, scaleY) {\n // Fields\n /**\n * Internal variable to store location of the field.\n * @private\n */\n this.pageNumberFieldLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF();\n /**\n * Internal variable to store field.\n * @private\n */\n this.pageNumberField = null;\n /**\n * Internal variable to store x scaling factor.\n * @private\n */\n this.scaleX = 1;\n /**\n * Internal variable to store y scaling factor.\n * @private\n */\n this.scaleY = 1;\n if (typeof location === 'undefined' && field instanceof PdfAutomaticFieldInfo) {\n this.pageNumberField = field.field;\n this.pageNumberFieldLocation = field.location;\n this.scaleX = field.scalingX;\n this.scaleY = field.scalingY;\n }\n else if (typeof scaleX === 'undefined' && location instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && field instanceof _automatic_field__WEBPACK_IMPORTED_MODULE_1__.PdfAutomaticField) {\n this.pageNumberField = field;\n this.pageNumberFieldLocation = location;\n }\n else {\n this.pageNumberField = field;\n this.pageNumberFieldLocation = location;\n this.scaleX = scaleX;\n this.scaleY = scaleY;\n }\n }\n Object.defineProperty(PdfAutomaticFieldInfo.prototype, \"location\", {\n /* tslint:enable */\n // Properties\n /**\n * Gets or sets the location.\n * @private\n */\n get: function () {\n return this.pageNumberFieldLocation;\n },\n set: function (value) {\n this.pageNumberFieldLocation = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticFieldInfo.prototype, \"field\", {\n /**\n * Gets or sets the field.\n * @private\n */\n get: function () {\n return this.pageNumberField;\n },\n set: function (value) {\n this.pageNumberField = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticFieldInfo.prototype, \"scalingX\", {\n /**\n * Gets or sets the scaling X factor.\n * @private\n */\n get: function () {\n return this.scaleX;\n },\n set: function (value) {\n this.scaleX = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticFieldInfo.prototype, \"scalingY\", {\n /**\n * Gets or sets the scaling Y factor.\n * @private\n */\n get: function () {\n return this.scaleY;\n },\n set: function (value) {\n this.scaleY = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfAutomaticFieldInfo;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.js": +/*!*****************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAutomaticField: () => (/* binding */ PdfAutomaticField)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../graphics/brushes/pdf-solid-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../graphics/pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _pdf_document__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../pdf-document */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\n/* harmony import */ var _graphics_figures_base_graphics_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../graphics/figures/base/graphics-element */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/graphics-element.js\");\n/* harmony import */ var _automatic_field_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./automatic-field-info */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfAutomaticField.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n/**\n * Represents a fields which is calculated before the document saves.\n */\nvar PdfAutomaticField = /** @class */ (function (_super) {\n __extends(PdfAutomaticField, _super);\n // Constructors\n function PdfAutomaticField() {\n var _this = _super.call(this) || this;\n // Fields\n _this.internalBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(0, 0, 0, 0);\n _this.internalTemplateSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0);\n return _this;\n }\n Object.defineProperty(PdfAutomaticField.prototype, \"bounds\", {\n // Properties\n get: function () {\n return this.internalBounds;\n },\n set: function (value) {\n this.internalBounds = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticField.prototype, \"size\", {\n get: function () {\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(this.bounds.width, this.bounds.height);\n },\n set: function (value) {\n this.bounds.width = value.width;\n this.bounds.height = value.height;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticField.prototype, \"location\", {\n get: function () {\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(this.bounds.x, this.bounds.y);\n },\n set: function (value) {\n this.bounds.x = value.x;\n this.bounds.y = value.y;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticField.prototype, \"font\", {\n get: function () {\n return this.internalFont;\n },\n set: function (value) {\n this.internalFont = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticField.prototype, \"brush\", {\n get: function () {\n return this.internalBrush;\n },\n set: function (value) {\n this.internalBrush = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticField.prototype, \"pen\", {\n get: function () {\n return this.internalPen;\n },\n set: function (value) {\n this.internalPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfAutomaticField.prototype, \"stringFormat\", {\n get: function () {\n return this.internalStringFormat;\n },\n set: function (value) {\n this.internalStringFormat = value;\n },\n enumerable: true,\n configurable: true\n });\n PdfAutomaticField.prototype.performDrawHelper = function (graphics, location, scalingX, scalingY) {\n if (this.bounds.height === 0 || this.bounds.width === 0) {\n var text = this.getValue(graphics);\n this.internalTemplateSize = this.getFont().measureString(text, this.size, this.stringFormat);\n }\n };\n PdfAutomaticField.prototype.draw = function (arg1, arg2, arg3) {\n if (typeof arg2 === 'undefined') {\n var location_1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0);\n this.draw(arg1, location_1);\n }\n else if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF) {\n this.draw(arg1, arg2.x, arg2.y);\n }\n else {\n this.drawHelper(arg1, arg2, arg3);\n var info = new _automatic_field_info__WEBPACK_IMPORTED_MODULE_1__.PdfAutomaticFieldInfo(this, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(arg2, arg3));\n arg1.automaticFields.add(info);\n }\n };\n PdfAutomaticField.prototype.getSize = function () {\n if (this.bounds.height === 0 || this.bounds.width === 0) {\n return this.internalTemplateSize;\n }\n else {\n return this.size;\n }\n };\n PdfAutomaticField.prototype.drawInternal = function (graphics) {\n //\n };\n /* tslint:disable */\n PdfAutomaticField.prototype.getBrush = function () {\n return (typeof this.internalBrush === 'undefined' || this.internalBrush == null) ? new _graphics_brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_2__.PdfSolidBrush(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_3__.PdfColor(0, 0, 0)) : this.internalBrush;\n };\n PdfAutomaticField.prototype.getFont = function () {\n return (typeof this.internalFont === 'undefined' || this.internalFont == null) ? _pdf_document__WEBPACK_IMPORTED_MODULE_4__.PdfDocument.defaultFont : this.internalFont;\n };\n /* tslint:enable */\n PdfAutomaticField.prototype.getPageFromGraphics = function (graphics) {\n if (typeof graphics.page !== 'undefined' && graphics.page !== null) {\n var page = graphics.page;\n return page;\n }\n else {\n var page = graphics.currentPage;\n return page;\n }\n };\n return PdfAutomaticField;\n}(_graphics_figures_base_graphics_element__WEBPACK_IMPORTED_MODULE_5__.PdfGraphicsElement));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/composite-field.js": +/*!*****************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/composite-field.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfCompositeField: () => (/* binding */ PdfCompositeField)\n/* harmony export */ });\n/* harmony import */ var _multiple_value_field__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiple-value-field */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/multiple-value-field.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfCompositeField.ts class for EJ2-PDF\n */\n\n/**\n * Represents class which can concatenate multiple automatic fields into single string.\n */\nvar PdfCompositeField = /** @class */ (function (_super) {\n __extends(PdfCompositeField, _super);\n // Constructor\n /**\n * Initialize a new instance of `PdfCompositeField` class.\n * @param font Font of the field.\n * @param brush Color of the field.\n * @param text Content of the field.\n * @param list List of the automatic fields in specific order based on the text content.\n */\n function PdfCompositeField(font, brush, text) {\n var list = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n list[_i - 3] = arguments[_i];\n }\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Stores the array of automatic fields.\n * @private\n */\n _this.internalAutomaticFields = null;\n /**\n * Stores the text value of the field.\n * @private\n */\n _this.internalText = '';\n _this.font = font;\n _this.brush = brush;\n _this.text = text;\n _this.automaticFields = list;\n return _this;\n }\n Object.defineProperty(PdfCompositeField.prototype, \"text\", {\n // Properties\n /**\n * Gets and sets the content of the field.\n * @public\n */\n get: function () {\n return this.internalText;\n },\n set: function (value) {\n this.internalText = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCompositeField.prototype, \"automaticFields\", {\n /**\n * Gets and sets the list of the field to drawn.\n * @public\n */\n get: function () {\n return this.internalAutomaticFields;\n },\n set: function (value) {\n this.internalAutomaticFields = value;\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * Return the actual value generated from the list of automatic fields.\n * @public\n */\n PdfCompositeField.prototype.getValue = function (graphics) {\n var values = [];\n var text = this.text.toString();\n if (typeof this.automaticFields !== 'undefined' && this.automaticFields != null && this.automaticFields.length > 0) {\n for (var i = 0; i < this.automaticFields.length; i++) {\n var automaticField = this.automaticFields[i];\n text = text.replace('{' + i + '}', automaticField.getValue(graphics));\n }\n }\n return text;\n };\n return PdfCompositeField;\n}(_multiple_value_field__WEBPACK_IMPORTED_MODULE_0__.PdfMultipleValueField));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/composite-field.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/multiple-value-field.js": +/*!**********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/multiple-value-field.js ***! + \**********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfMultipleValueField: () => (/* binding */ PdfMultipleValueField)\n/* harmony export */ });\n/* harmony import */ var _automatic_field__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./automatic-field */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.js\");\n/* harmony import */ var _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../collections/object-object-pair/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js\");\n/* harmony import */ var _pdf_template_value_pair__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-template-value-pair */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-template-value-pair.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_figures_pdf_template__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../graphics/figures/pdf-template */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfAutomaticField.ts class for EJ2-PDF\n */\n\n\n\n\n\n/**\n * Represents automatic field which has the same value within the `PdfGraphics`.\n */\nvar PdfMultipleValueField = /** @class */ (function (_super) {\n __extends(PdfMultipleValueField, _super);\n function PdfMultipleValueField() {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Stores the instance of dictionary values of `graphics and template value pair`.\n * @private\n */\n _this.list = new _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_0__.TemporaryDictionary();\n return _this;\n }\n // Implementation\n /* tslint:disable */\n PdfMultipleValueField.prototype.performDraw = function (graphics, location, scalingX, scalingY) {\n _super.prototype.performDrawHelper.call(this, graphics, location, scalingX, scalingY);\n var value = this.getValue(graphics);\n var template = new _graphics_figures_pdf_template__WEBPACK_IMPORTED_MODULE_1__.PdfTemplate(this.getSize());\n this.list.setValue(graphics, new _pdf_template_value_pair__WEBPACK_IMPORTED_MODULE_2__.PdfTemplateValuePair(template, value));\n var g = template.graphics;\n var size = this.getSize();\n template.graphics.drawString(value, this.getFont(), this.pen, this.getBrush(), 0, 0, size.width, size.height, this.stringFormat);\n var drawLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF(location.x + this.location.x, location.y + this.location.y);\n graphics.drawPdfTemplate(template, drawLocation, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(template.width * scalingX, template.height * scalingY));\n };\n return PdfMultipleValueField;\n}(_automatic_field__WEBPACK_IMPORTED_MODULE_4__.PdfAutomaticField));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/multiple-value-field.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/page-count-field.js": +/*!******************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/page-count-field.js ***! + \******************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageCountField: () => (/* binding */ PdfPageCountField)\n/* harmony export */ });\n/* harmony import */ var _single_value_field__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./single-value-field */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/single-value-field.js\");\n/* harmony import */ var _pages_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../pages/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n/* harmony import */ var _graphics_brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../graphics/brushes/pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _pdf_numbers_convertor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-numbers-convertor */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-numbers-convertor.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfPageCountField.ts class for EJ2-PDF\n */\n\n\n\n\n/**\n * Represents total PDF document page count automatic field.\n */\nvar PdfPageCountField = /** @class */ (function (_super) {\n __extends(PdfPageCountField, _super);\n function PdfPageCountField(font, arg2) {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Stores the number style of the field.\n * @private\n */\n _this.internalNumberStyle = _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.Numeric;\n if (typeof arg2 === 'undefined') {\n _this.font = font;\n }\n else if (arg2 instanceof _graphics_brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_1__.PdfBrush) {\n _this.font = font;\n _this.brush = arg2;\n }\n else {\n _this.font = font;\n _this.bounds = arg2;\n }\n return _this;\n }\n Object.defineProperty(PdfPageCountField.prototype, \"numberStyle\", {\n // Properties\n /**\n * Gets and sets the number style of the field.\n * @public\n */\n get: function () {\n return this.internalNumberStyle;\n },\n set: function (value) {\n this.internalNumberStyle = value;\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * Return the actual value of the content to drawn.\n * @public\n */\n PdfPageCountField.prototype.getValue = function (graphics) {\n var result = null;\n var page = this.getPageFromGraphics(graphics);\n var document = page.section.parent.document;\n var count = document.pages.count;\n result = _pdf_numbers_convertor__WEBPACK_IMPORTED_MODULE_2__.PdfNumbersConvertor.convert(count, this.numberStyle);\n return result;\n };\n return PdfPageCountField;\n}(_single_value_field__WEBPACK_IMPORTED_MODULE_3__.PdfSingleValueField));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/page-count-field.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-numbers-convertor.js": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-numbers-convertor.js ***! + \***********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfNumbersConvertor: () => (/* binding */ PdfNumbersConvertor)\n/* harmony export */ });\n/* harmony import */ var _pages_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../pages/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n/**\n * PdfNumbersConvertor.ts class for EJ2-PDF\n * @private\n */\n\n/**\n * `PdfNumbersConvertor` for convert page number into numbers, roman letters, etc.,\n * @private\n */\nvar PdfNumbersConvertor = /** @class */ (function () {\n function PdfNumbersConvertor() {\n }\n // Static methods\n /**\n * Convert string value from page number with correct format.\n * @private\n */\n PdfNumbersConvertor.convert = function (intArabic, numberStyle) {\n var result = '';\n switch (numberStyle) {\n case _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.None:\n result = '';\n break;\n case _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.Numeric:\n result = intArabic.toString();\n break;\n case _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.LowerLatin:\n result = this.arabicToLetter(intArabic).toLowerCase();\n break;\n case _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.LowerRoman:\n result = this.arabicToRoman(intArabic).toLowerCase();\n break;\n case _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.UpperLatin:\n result = this.arabicToLetter(intArabic);\n break;\n case _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.UpperRoman:\n result = this.arabicToRoman(intArabic);\n break;\n }\n return result;\n };\n /**\n * Converts `arabic to roman` letters.\n * @private\n */\n PdfNumbersConvertor.arabicToRoman = function (intArabic) {\n var retval = '';\n var retvalM = this.generateNumber(intArabic, 1000, 'M');\n retval += retvalM.returnValue;\n intArabic = retvalM.intArabic;\n var retvalCM = this.generateNumber(intArabic, 900, 'CM');\n retval += retvalCM.returnValue;\n intArabic = retvalCM.intArabic;\n var retvalD = this.generateNumber(intArabic, 500, 'D');\n retval += retvalD.returnValue;\n intArabic = retvalD.intArabic;\n var retvalCD = this.generateNumber(intArabic, 400, 'CD');\n retval += retvalCD.returnValue;\n intArabic = retvalCD.intArabic;\n var retvalC = this.generateNumber(intArabic, 100, 'C');\n retval += retvalC.returnValue;\n intArabic = retvalC.intArabic;\n var retvalXC = this.generateNumber(intArabic, 90, 'XC');\n retval += retvalXC.returnValue;\n intArabic = retvalXC.intArabic;\n var retvalL = this.generateNumber(intArabic, 50, 'L');\n retval += retvalL.returnValue;\n intArabic = retvalL.intArabic;\n var retvalXL = this.generateNumber(intArabic, 40, 'XL');\n retval += retvalXL.returnValue;\n intArabic = retvalXL.intArabic;\n var retvalX = this.generateNumber(intArabic, 10, 'X');\n retval += retvalX.returnValue;\n intArabic = retvalX.intArabic;\n var retvalIX = this.generateNumber(intArabic, 9, 'IX');\n retval += retvalIX.returnValue;\n intArabic = retvalIX.intArabic;\n var retvalV = this.generateNumber(intArabic, 5, 'V');\n retval += retvalV.returnValue;\n intArabic = retvalV.intArabic;\n var retvalIV = this.generateNumber(intArabic, 4, 'IV');\n retval += retvalIV.returnValue;\n intArabic = retvalIV.intArabic;\n var retvalI = this.generateNumber(intArabic, 1, 'I');\n retval += retvalI.returnValue;\n intArabic = retvalI.intArabic;\n return retval.toString();\n };\n /**\n * Converts `arabic to normal letters`.\n * @private\n */\n PdfNumbersConvertor.arabicToLetter = function (arabic) {\n var stack = this.convertToLetter(arabic);\n var result = '';\n while (stack.length > 0) {\n var num = stack.pop();\n result = this.appendChar(result, num);\n }\n return result.toString();\n };\n /**\n * Generate a string value of an input number.\n * @private\n */\n PdfNumbersConvertor.generateNumber = function (value, magnitude, letter) {\n var numberstring = '';\n while (value >= magnitude) {\n value -= magnitude;\n numberstring += letter;\n }\n return { returnValue: numberstring.toString(), intArabic: value };\n };\n /**\n * Convert a input number into letters.\n * @private\n */\n PdfNumbersConvertor.convertToLetter = function (arabic) {\n if (arabic <= 0) {\n throw Error('ArgumentOutOfRangeException-arabic, Value can not be less 0');\n }\n var stack = [];\n while (arabic > this.letterLimit) {\n var remainder = arabic % this.letterLimit;\n if (remainder === 0.0) {\n arabic = arabic / this.letterLimit - 1;\n remainder = this.letterLimit;\n }\n else {\n arabic /= this.letterLimit;\n }\n stack.push(remainder);\n }\n stack.push(arabic);\n return stack;\n };\n /**\n * Convert number to actual string value.\n * @private\n */\n PdfNumbersConvertor.appendChar = function (builder, value) {\n var letter = String.fromCharCode(PdfNumbersConvertor.acsiiStartIndex + value);\n builder += letter;\n return builder;\n };\n // Fields\n /**\n * numbers of letters in english [readonly].\n * @default = 26.0\n * @private\n */\n PdfNumbersConvertor.letterLimit = 26.0;\n /**\n * Resturns `acsii start index` value.\n * @default 64\n * @private\n */\n PdfNumbersConvertor.acsiiStartIndex = (65 - 1);\n return PdfNumbersConvertor;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-numbers-convertor.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-page-number-field.js": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-page-number-field.js ***! + \***********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageNumberField: () => (/* binding */ PdfPageNumberField)\n/* harmony export */ });\n/* harmony import */ var _graphics_brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../graphics/brushes/pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _pages_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../pages/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n/* harmony import */ var _pdf_numbers_convertor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-numbers-convertor */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-numbers-convertor.js\");\n/* harmony import */ var _multiple_value_field__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multiple-value-field */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/multiple-value-field.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * Represents PDF document `page number field`.\n * @public\n */\nvar PdfPageNumberField = /** @class */ (function (_super) {\n __extends(PdfPageNumberField, _super);\n function PdfPageNumberField(font, arg2) {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Stores the number style of the page number field.\n * @private\n */\n _this.internalNumberStyle = _pages_enum__WEBPACK_IMPORTED_MODULE_0__.PdfNumberStyle.Numeric;\n if (typeof arg2 === 'undefined') {\n _this.font = font;\n }\n else if (arg2 instanceof _graphics_brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_1__.PdfBrush) {\n _this.font = font;\n _this.brush = arg2;\n }\n else {\n _this.font = font;\n _this.bounds = arg2;\n }\n return _this;\n }\n Object.defineProperty(PdfPageNumberField.prototype, \"numberStyle\", {\n // Properties\n /**\n * Gets and sets the number style of the page number field.\n * @private\n */\n get: function () {\n return this.internalNumberStyle;\n },\n set: function (value) {\n this.internalNumberStyle = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Return the `string` value of page number field.\n * @public\n */\n PdfPageNumberField.prototype.getValue = function (graphics) {\n var result = null;\n var page = this.getPageFromGraphics(graphics);\n result = this.internalGetValue(page);\n return result;\n };\n /**\n * Internal method to `get actual value of page number`.\n * @private\n */\n PdfPageNumberField.prototype.internalGetValue = function (page) {\n var document = page.document;\n var pageIndex = document.pages.indexOf(page) + 1;\n return _pdf_numbers_convertor__WEBPACK_IMPORTED_MODULE_2__.PdfNumbersConvertor.convert(pageIndex, this.numberStyle);\n };\n return PdfPageNumberField;\n}(_multiple_value_field__WEBPACK_IMPORTED_MODULE_3__.PdfMultipleValueField));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-page-number-field.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-template-value-pair.js": +/*!*************************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-template-value-pair.js ***! + \*************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTemplateValuePair: () => (/* binding */ PdfTemplateValuePair)\n/* harmony export */ });\n/**\n * Represent class to store information about `template and value pairs`.\n * @private\n */\nvar PdfTemplateValuePair = /** @class */ (function () {\n function PdfTemplateValuePair(template, value) {\n // Fields\n /**\n * Internal variable to store template.\n * @default null\n * @private\n */\n this.pdfTemplate = null;\n /**\n * Intenal variable to store value.\n * @private\n */\n this.content = '';\n if (typeof template === 'undefined') {\n //\n }\n else {\n this.template = template;\n this.value = value;\n }\n }\n Object.defineProperty(PdfTemplateValuePair.prototype, \"template\", {\n // Properties\n /**\n * Gets or sets the template.\n * @private\n */\n get: function () {\n return this.pdfTemplate;\n },\n set: function (value) {\n this.pdfTemplate = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTemplateValuePair.prototype, \"value\", {\n /**\n * Gets or sets the value.\n * @private\n */\n get: function () {\n return this.content;\n },\n set: function (value) {\n this.content = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfTemplateValuePair;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-template-value-pair.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/single-value-field.js": +/*!********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/single-value-field.js ***! + \********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfSingleValueField: () => (/* binding */ PdfSingleValueField)\n/* harmony export */ });\n/* harmony import */ var _automatic_field__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./automatic-field */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.js\");\n/* harmony import */ var _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../collections/object-object-pair/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js\");\n/* harmony import */ var _pdf_template_value_pair__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-template-value-pair */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-template-value-pair.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_figures_pdf_template__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../graphics/figures/pdf-template */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfSingleValueField.ts class for EJ2-PDF\n */\n\n\n\n\n\n/**\n * Represents automatic field which has the same value in the whole document.\n */\nvar PdfSingleValueField = /** @class */ (function (_super) {\n __extends(PdfSingleValueField, _super);\n // Constructors\n function PdfSingleValueField() {\n var _this = _super.call(this) || this;\n // Fields\n /* tslint:disable */\n _this.list = new _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_0__.TemporaryDictionary();\n /* tslint:enable */\n _this.painterGraphics = [];\n return _this;\n }\n PdfSingleValueField.prototype.performDraw = function (graphics, location, scalingX, scalingY) {\n _super.prototype.performDrawHelper.call(this, graphics, location, scalingX, scalingY);\n var page = this.getPageFromGraphics(graphics);\n var document = page.document;\n var textValue = this.getValue(graphics);\n /* tslint:disable */\n if (this.list.containsKey(document)) {\n var pair = this.list.getValue(document);\n var drawLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.PointF(location.x + this.location.x, location.y + this.location.y);\n graphics.drawPdfTemplate(pair.template, drawLocation, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.SizeF(pair.template.width * scalingX, pair.template.height * scalingY));\n this.painterGraphics.push(graphics);\n }\n else {\n var size = this.getSize();\n var template = new _graphics_figures_pdf_template__WEBPACK_IMPORTED_MODULE_2__.PdfTemplate(size);\n this.list.setValue(document, new _pdf_template_value_pair__WEBPACK_IMPORTED_MODULE_3__.PdfTemplateValuePair(template, textValue));\n template.graphics.drawString(textValue, this.getFont(), this.pen, this.getBrush(), 0, 0, size.width, size.height, this.stringFormat);\n var drawLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.PointF(location.x + this.location.x, location.y + this.location.y);\n graphics.drawPdfTemplate(template, drawLocation, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.SizeF(template.width * scalingX, template.height * scalingY));\n this.painterGraphics.push(graphics);\n }\n /* tslint:enable */\n };\n return PdfSingleValueField;\n}(_automatic_field__WEBPACK_IMPORTED_MODULE_4__.PdfAutomaticField));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/single-value-field.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-catalog.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-catalog.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfCatalog: () => (/* binding */ PdfCatalog)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _pdf_viewer_preferences__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-viewer-preferences */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-viewer-preferences.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfCatalog.ts class for EJ2-PDF\n */\n\n\n\n\n\n/**\n * `PdfCatalog` class represents internal catalog of the Pdf document.\n * @private\n */\nvar PdfCatalog = /** @class */ (function (_super) {\n __extends(PdfCatalog, _super);\n //constructor\n /**\n * Initializes a new instance of the `PdfCatalog` class.\n * @private\n */\n function PdfCatalog() {\n var _this = _super.call(this) || this;\n //fields\n /**\n * Internal variable to store collection of `sections`.\n * @default null\n * @private\n */\n _this.sections = null;\n /**\n * Internal variable for accessing fields from `DictionryProperties` class.\n * @private\n */\n _this.tempDictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n _this.items.setValue(new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties().type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__.PdfName('Catalog'));\n return _this;\n }\n Object.defineProperty(PdfCatalog.prototype, \"pages\", {\n //Properties\n /**\n * Gets or sets the sections, which contain `pages`.\n * @private\n */\n get: function () {\n return this.sections;\n },\n set: function (value) {\n var dictionary = value.element;\n // if (this.sections !== value) {\n // this.sections = value;\n // this.Items.setValue(this.tempDictionaryProperties.pages, new PdfReferenceHolder(value));\n // }\n this.sections = value;\n this.items.setValue(this.tempDictionaryProperties.pages, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__.PdfReferenceHolder(value));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCatalog.prototype, \"viewerPreferences\", {\n /**\n * Gets the viewer preferences of the PDF document.\n * @private\n */\n get: function () {\n if (this._viewerPreferences === null || typeof this._viewerPreferences === 'undefined') {\n this._viewerPreferences = new _pdf_viewer_preferences__WEBPACK_IMPORTED_MODULE_3__.PdfViewerPreferences(this);\n this.items.setValue(this.tempDictionaryProperties.viewerPreferences, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__.PdfReferenceHolder(this._viewerPreferences.element));\n }\n return this._viewerPreferences;\n },\n enumerable: true,\n configurable: true\n });\n return PdfCatalog;\n}(_primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.PdfDictionary));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-catalog.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-base.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-base.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfDocumentBase: () => (/* binding */ PdfDocumentBase)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @syncfusion/ej2-file-utils */ \"./node_modules/@syncfusion/ej2-file-utils/src/encoding.js\");\n/* harmony import */ var _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @syncfusion/ej2-file-utils */ \"./node_modules/@syncfusion/ej2-file-utils/src/stream-writer.js\");\n/* harmony import */ var _pdf_document__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pdf-document */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\n\n\n/**\n * `PdfDocumentBase` class represent common properties of PdfDocument classes.\n * @private\n */\nvar PdfDocumentBase = /** @class */ (function () {\n function PdfDocumentBase(document) {\n /**\n * If the stream is copied, then it specifies true.\n * @private\n */\n this.isStreamCopied = false;\n if (document instanceof _pdf_document__WEBPACK_IMPORTED_MODULE_0__.PdfDocument) {\n this.document = document;\n }\n }\n Object.defineProperty(PdfDocumentBase.prototype, \"pdfObjects\", {\n //Prpperties\n /**\n * Gets the `PDF objects` collection, which stores all objects and references to it..\n * @private\n */\n get: function () {\n return this.objects;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentBase.prototype, \"crossTable\", {\n /**\n * Gets the `cross-reference` table.\n * @private\n */\n get: function () {\n return this.pdfCrossTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentBase.prototype, \"currentSavingObj\", {\n /**\n * Gets or sets the current saving `object number`.\n * @private\n */\n get: function () {\n return this.currentSavingObject;\n },\n set: function (value) {\n this.currentSavingObject = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentBase.prototype, \"catalog\", {\n /**\n * Gets the PDF document `catalog`.\n * @private\n */\n get: function () {\n return this.pdfCatalog;\n },\n set: function (value) {\n this.pdfCatalog = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentBase.prototype, \"viewerPreferences\", {\n /**\n * Gets viewer preferences for presenting the PDF document in a viewer.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets viewer preferences\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.pdfCatalog.viewerPreferences;\n },\n enumerable: true,\n configurable: true\n });\n //Public methods\n /**\n * Sets the `main object collection`.\n * @private\n */\n PdfDocumentBase.prototype.setMainObjectCollection = function (mainObjectCollection) {\n this.objects = mainObjectCollection;\n };\n /**\n * Sets the `cross table`.\n * @private\n */\n PdfDocumentBase.prototype.setCrossTable = function (cTable) {\n this.pdfCrossTable = cTable;\n };\n /**\n * Sets the `catalog`.\n * @private\n */\n PdfDocumentBase.prototype.setCatalog = function (catalog) {\n this.pdfCatalog = catalog;\n };\n PdfDocumentBase.prototype.save = function (filename) {\n var _this = this;\n var encoding = new _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_1__.Encoding(true);\n var SW = new _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_2__.StreamWriter(encoding);\n if (typeof filename === 'undefined') {\n var encoding_1 = new _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_1__.Encoding(true);\n var SW_1 = new _syncfusion_ej2_file_utils__WEBPACK_IMPORTED_MODULE_2__.StreamWriter(encoding_1);\n return new Promise(function (resolve, reject) {\n /* tslint:disable-next-line:no-any */\n var obj = {};\n obj.blobData = new Blob([_this.document.docSave(SW_1, true)], { type: 'application/pdf' });\n resolve(obj);\n });\n }\n else {\n this.document.docSave(SW, filename, true);\n }\n };\n /**\n * `Clone` of parent object - PdfDocument.\n * @private\n */\n PdfDocumentBase.prototype.clone = function () {\n return this.document;\n };\n /**\n * Save PDF document.\n * @private\n */\n PdfDocumentBase.prototype._save = function () {\n return this.document._docSave();\n };\n return PdfDocumentBase;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-template.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-template.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfDocumentTemplate: () => (/* binding */ PdfDocumentTemplate)\n/* harmony export */ });\n/* harmony import */ var _pages_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../pages/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n\n// import { PdfStampCollection } from `./../Pages/PdfStampCollection`;\n/**\n * `PdfDocumentTemplate` class encapsulates a page template for all the pages in the document.\n * @private\n */\nvar PdfDocumentTemplate = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `PdfDocumentTemplate` class.\n * @public\n */\n function PdfDocumentTemplate() {\n //\n }\n Object.defineProperty(PdfDocumentTemplate.prototype, \"left\", {\n // private m_stamps : PdfStampCollection;\n // Properties\n /**\n * `Left` page template object.\n * @public\n */\n get: function () {\n return this.leftTemplate;\n },\n set: function (value) {\n this.leftTemplate = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Left);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"top\", {\n /**\n * `Top` page template object.\n * @public\n */\n get: function () {\n return this.topTemplate;\n },\n set: function (value) {\n this.topTemplate = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Top);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"right\", {\n /**\n * `Right` page template object.\n * @public\n */\n get: function () {\n return this.rightTemplate;\n },\n set: function (value) {\n this.rightTemplate = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Right);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"bottom\", {\n /**\n * `Bottom` page template object.\n * @public\n */\n get: function () {\n return this.bottomTemplate;\n },\n set: function (value) {\n this.bottomTemplate = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Bottom);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"EvenLeft\", {\n /**\n * `EvenLeft` page template object.\n * @public\n */\n get: function () {\n return this.evenLeft;\n },\n set: function (value) {\n this.evenLeft = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Left);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"EvenTop\", {\n /**\n * `EvenTop` page template object.\n * @public\n */\n get: function () {\n return this.evenTop;\n },\n set: function (value) {\n this.evenTop = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Top);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"EvenRight\", {\n /**\n * `EvenRight` page template object.\n * @public\n */\n get: function () {\n return this.evenRight;\n },\n set: function (value) {\n this.evenRight = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Right);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"EvenBottom\", {\n /**\n * `EvenBottom` page template object.\n * @public\n */\n get: function () {\n return this.evenBottom;\n },\n set: function (value) {\n this.evenBottom = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Bottom);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"OddLeft\", {\n /**\n * `OddLeft` page template object.\n * @public\n */\n get: function () {\n return this.oddLeft;\n },\n set: function (value) {\n this.oddLeft = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Left);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"OddTop\", {\n /**\n * `OddTop` page template object.\n * @public\n */\n get: function () {\n return this.oddTop;\n },\n set: function (value) {\n this.oddTop = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Top);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"OddRight\", {\n /**\n * `OddRight` page template object.\n * @public\n */\n get: function () {\n return this.oddRight;\n },\n set: function (value) {\n this.oddRight = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Right);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentTemplate.prototype, \"OddBottom\", {\n /**\n * `OddBottom` page template object.\n * @public\n */\n get: function () {\n return this.oddBottom;\n },\n set: function (value) {\n this.oddBottom = this.checkElement(value, _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.Bottom);\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * Returns `left` template.\n * @public\n */\n PdfDocumentTemplate.prototype.getLeft = function (page) {\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var template = null;\n // if (page.Document.Pages != null) {\n var even = this.isEven(page);\n if (even) {\n template = (this.EvenLeft != null) ? this.EvenLeft : this.left;\n }\n else {\n template = (this.OddLeft != null) ? this.OddLeft : this.left;\n }\n // }\n return template;\n };\n /**\n * Returns `top` template.\n * @public\n */\n PdfDocumentTemplate.prototype.getTop = function (page) {\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var template = null;\n // if (page.Document.Pages != null) {\n var even = this.isEven(page);\n if (even) {\n template = (this.EvenTop != null) ? this.EvenTop : this.top;\n }\n else {\n template = (this.OddTop != null) ? this.OddTop : this.top;\n }\n // }\n return template;\n };\n /**\n * Returns `right` template.\n * @public\n */\n PdfDocumentTemplate.prototype.getRight = function (page) {\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var template = null;\n // if (page.Document.Pages != null) {\n var even = this.isEven(page);\n if (even) {\n template = (this.EvenRight != null) ? this.EvenRight : this.right;\n }\n else {\n template = (this.OddRight != null) ? this.OddRight : this.right;\n }\n // }\n return template;\n };\n /**\n * Returns `bottom` template.\n * @public\n */\n PdfDocumentTemplate.prototype.getBottom = function (page) {\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var template = null;\n // if (page.Document.Pages != null) {\n var even = this.isEven(page);\n if (even) {\n template = (this.EvenBottom != null) ? this.EvenBottom : this.bottom;\n }\n else {\n template = (this.OddBottom != null) ? this.OddBottom : this.bottom;\n }\n // }\n return template;\n };\n /**\n * Checks whether the page `is even`.\n * @private\n */\n PdfDocumentTemplate.prototype.isEven = function (page) {\n var pages = page.section.document.pages;\n var index = 0;\n if (pages.pageCollectionIndex.containsKey(page)) {\n index = pages.pageCollectionIndex.getValue(page) + 1;\n }\n else {\n index = pages.indexOf(page) + 1;\n }\n var even = ((index % 2) === 0);\n return even;\n };\n /**\n * Checks a `template element`.\n * @private\n */\n PdfDocumentTemplate.prototype.checkElement = function (templateElement, type) {\n if (templateElement != null) {\n if ((typeof templateElement.type !== 'undefined') && (templateElement.type !== _pages_enum__WEBPACK_IMPORTED_MODULE_0__.TemplateType.None)) {\n throw new Error('NotSupportedException:Can not reassign the template element. Please, create new one.');\n }\n templateElement.type = type;\n }\n return templateElement;\n };\n return PdfDocumentTemplate;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-template.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfDocument: () => (/* binding */ PdfDocument)\n/* harmony export */ });\n/* harmony import */ var _input_output_pdf_writer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./../input-output/pdf-writer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-writer.js\");\n/* harmony import */ var _input_output_pdf_main_object_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../input-output/pdf-main-object-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-main-object-collection.js\");\n/* harmony import */ var _pdf_document_base__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./pdf-document-base */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-base.js\");\n/* harmony import */ var _input_output_pdf_cross_table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../input-output/pdf-cross-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-cross-table.js\");\n/* harmony import */ var _pdf_catalog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-catalog */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-catalog.js\");\n/* harmony import */ var _pages_pdf_page_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../pages/pdf-page-settings */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-settings.js\");\n/* harmony import */ var _pages_pdf_section_collection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../pages/pdf-section-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-collection.js\");\n/* harmony import */ var _pages_pdf_document_page_collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../pages/pdf-document-page-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-document-page-collection.js\");\n/* harmony import */ var _general_pdf_cache_collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../general/pdf-cache-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-cache-collection.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _pdf_document_template__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./pdf-document-template */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-template.js\");\n/* harmony import */ var _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../graphics/fonts/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _graphics_fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../graphics/fonts/pdf-standard-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a PDF document and can be used to create a new PDF document from the scratch.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * // set the font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfDocument = /** @class */ (function (_super) {\n __extends(PdfDocument, _super);\n function PdfDocument(isMerging) {\n var _this = _super.call(this) || this;\n /**\n * Default `margin` value.\n * @default 40.0\n * @private\n */\n _this.defaultMargin = 40.0;\n /**\n * Internal variable to store instance of `StreamWriter` classes..\n * @default null\n * @private\n */\n _this.streamWriter = null;\n _this.document = _this;\n var isMerge = false;\n if (typeof isMerging === 'undefined') {\n PdfDocument.cacheCollection = new _general_pdf_cache_collection__WEBPACK_IMPORTED_MODULE_0__.PdfCacheCollection();\n isMerge = false;\n }\n else {\n isMerge = isMerging;\n }\n var objects = new _input_output_pdf_main_object_collection__WEBPACK_IMPORTED_MODULE_1__.PdfMainObjectCollection();\n _this.setMainObjectCollection(objects);\n var crossTable = new _input_output_pdf_cross_table__WEBPACK_IMPORTED_MODULE_2__.PdfCrossTable();\n crossTable.isMerging = isMerge;\n crossTable.document = _this;\n _this.setCrossTable(crossTable);\n var catalog = new _pdf_catalog__WEBPACK_IMPORTED_MODULE_3__.PdfCatalog();\n _this.setCatalog(catalog);\n objects.add(catalog);\n catalog.position = -1;\n _this.sectionCollection = new _pages_pdf_section_collection__WEBPACK_IMPORTED_MODULE_4__.PdfSectionCollection(_this);\n _this.documentPageCollection = new _pages_pdf_document_page_collection__WEBPACK_IMPORTED_MODULE_5__.PdfDocumentPageCollection(_this);\n catalog.pages = _this.sectionCollection;\n return _this;\n }\n Object.defineProperty(PdfDocument, \"defaultFont\", {\n //Properties\n /**\n * Gets the `default font`. It is used for complex objects when font is not explicitly defined.\n * @private\n */\n get: function () {\n if (this.defaultStandardFont == null) {\n this.defaultStandardFont = new _graphics_fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_6__.PdfStandardFont(_graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_7__.PdfFontFamily.Helvetica, 8);\n }\n return this.defaultStandardFont;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument.prototype, \"sections\", {\n /**\n * Gets the collection of the `sections` in the document.\n * @private\n */\n get: function () {\n return this.sectionCollection;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument.prototype, \"pageSettings\", {\n /**\n * Gets the document's page setting.\n * @public\n */\n get: function () {\n if (this.settings == null) {\n this.settings = new _pages_pdf_page_settings__WEBPACK_IMPORTED_MODULE_8__.PdfPageSettings(this.defaultMargin);\n }\n return this.settings;\n },\n /**\n * Sets the document's page setting.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n *\n * // sets the right margin of the page\n * document.pageSettings.margins.right = 0;\n * // set the page size.\n * document.pageSettings.size = new SizeF(500, 500);\n * // change the page orientation to landscape\n * document.pageSettings.orientation = PdfPageOrientation.Landscape;\n * // apply 90 degree rotation on the page\n * document.pageSettings.rotate = PdfPageRotateAngle.RotateAngle90;\n *\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // set the specified Point\n * let point : PointF = new PointF(page1.getClientSize().width - 200, page1.getClientSize().height - 200);\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, point);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this.settings = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument.prototype, \"pages\", {\n /**\n * Represents the collection of pages in the PDF document.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * //\n * // get the collection of pages in the document\n * let pageCollection : PdfDocumentPageCollection = document.pages;\n * //\n * // add pages\n * let page1 : PdfPage = pageCollection.add();\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.documentPageCollection;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument, \"cache\", {\n /**\n * Gets collection of the `cached objects`.\n * @private\n */\n get: function () {\n if (typeof PdfDocument.cacheCollection === 'undefined' || PdfDocument.cacheCollection == null) {\n return new _general_pdf_cache_collection__WEBPACK_IMPORTED_MODULE_0__.PdfCacheCollection();\n }\n return PdfDocument.cacheCollection;\n },\n /**\n * Sets collection of the `cached objects`.\n * @private\n */\n set: function (value) {\n this.cacheCollection = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument, \"enableCache\", {\n /**\n * Gets the value of enable cache.\n * @private\n */\n get: function () {\n return this.isCacheEnabled;\n },\n /**\n * Sets thie value of enable cache.\n * @private\n */\n set: function (value) {\n this.isCacheEnabled = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument.prototype, \"colorSpace\", {\n /* tslint:disable */\n /**\n * Gets or sets the `color space` of the document. This property can be used to create PDF document in RGB, Gray scale or CMYK color spaces.\n * @private\n */\n get: function () {\n if ((this.pdfColorSpace === _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.Rgb) || ((this.pdfColorSpace === _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.Cmyk)\n || (this.pdfColorSpace === _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.GrayScale))) {\n return this.pdfColorSpace;\n }\n else {\n return _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.Rgb;\n }\n },\n set: function (value) {\n if ((value === _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.Rgb) || ((value === _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.Cmyk) ||\n (value === _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.GrayScale))) {\n this.pdfColorSpace = value;\n }\n else {\n this.pdfColorSpace = _graphics_enum__WEBPACK_IMPORTED_MODULE_9__.PdfColorSpace.Rgb;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocument.prototype, \"template\", {\n /* tslint:enable */\n /**\n * Gets or sets a `template` to all pages in the document.\n * @private\n */\n get: function () {\n if (this.pageTemplate == null) {\n this.pageTemplate = new _pdf_document_template__WEBPACK_IMPORTED_MODULE_10__.PdfDocumentTemplate();\n }\n return this.pageTemplate;\n },\n set: function (value) {\n this.pageTemplate = value;\n },\n enumerable: true,\n configurable: true\n });\n PdfDocument.prototype.docSave = function (stream, arg2, arg3) {\n this.checkPagesPresence();\n if (stream === null) {\n throw new Error('ArgumentNullException : stream');\n }\n this.streamWriter = stream;\n var writer = new _input_output_pdf_writer__WEBPACK_IMPORTED_MODULE_11__.PdfWriter(stream);\n writer.document = this;\n if (typeof arg2 === 'boolean' && typeof arg3 === 'undefined') {\n return this.crossTable.save(writer);\n }\n else {\n this.crossTable.save(writer, arg2);\n }\n };\n /**\n * Saves the document to the specified output stream and return the stream as byte array.\n * @private\n */\n PdfDocument.prototype._docSave = function () {\n var stream = new _input_output_pdf_writer__WEBPACK_IMPORTED_MODULE_11__.PdfWriterHelper();\n this.checkPagesPresence();\n if (stream === null) {\n throw new Error('ArgumentNullException : stream');\n }\n this.streamWriter = stream;\n var writer = new _input_output_pdf_writer__WEBPACK_IMPORTED_MODULE_11__.PdfWriter(stream);\n writer.document = this;\n return this.crossTable._save(writer);\n };\n /**\n * Checks the pages `presence`.\n * @private\n */\n PdfDocument.prototype.checkPagesPresence = function () {\n if (this.pages.count === 0) {\n this.pages.add();\n }\n };\n /**\n * disposes the current instance of `PdfDocument` class.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * // set the font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n PdfDocument.prototype.destroy = function () {\n this.catalog = undefined;\n this.colorSpace = undefined;\n this.currentSavingObj = undefined;\n this.documentPageCollection = undefined;\n this.isStreamCopied = undefined;\n this.pageSettings = undefined;\n this.pageTemplate = undefined;\n this.pdfColorSpace = undefined;\n this.sectionCollection = undefined;\n PdfDocument.cache.destroy();\n this.crossTable.pdfObjects.destroy();\n PdfDocument.cache = undefined;\n if (this.streamWriter) {\n this.streamWriter.destroy();\n }\n };\n /**\n * `Font` used in complex objects to draw strings and text when it is not defined explicitly.\n * @default null\n * @private\n */\n PdfDocument.defaultStandardFont = null;\n /**\n * Indicates whether enable cache or not\n * @default true\n * @private\n */\n PdfDocument.isCacheEnabled = true;\n return PdfDocument;\n}(_pdf_document_base__WEBPACK_IMPORTED_MODULE_12__.PdfDocumentBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-viewer-preferences.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-viewer-preferences.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DuplexMode: () => (/* binding */ DuplexMode),\n/* harmony export */ PageScalingMode: () => (/* binding */ PageScalingMode),\n/* harmony export */ PdfPageLayout: () => (/* binding */ PdfPageLayout),\n/* harmony export */ PdfPageMode: () => (/* binding */ PdfPageMode),\n/* harmony export */ PdfViewerPreferences: () => (/* binding */ PdfViewerPreferences)\n/* harmony export */ });\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-boolean */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n\n\n\n\n/**\n * Defines the way the document is to be presented on the screen or in print.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets viewer preferences\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Destroy the document\n * document.destroy();\n * ```\n */\nvar PdfViewerPreferences = /** @class */ (function () {\n /**\n * Initialize a new instance of `PdfViewerPreferences` class.\n *\n * @private\n * ```\n */\n function PdfViewerPreferences(catalog) {\n this._dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n this._centerWindow = false;\n this._fitWindow = false;\n this._displayTitle = false;\n this._splitWindow = false;\n this._hideMenuBar = false;\n this._hideToolBar = false;\n this._hideWindowUI = false;\n this._pageMode = PdfPageMode.UseNone;\n this._pageLayout = PdfPageLayout.SinglePage;\n this._dictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_1__.PdfDictionary();\n this._duplex = DuplexMode.None;\n this._catalog = catalog;\n }\n Object.defineProperty(PdfViewerPreferences.prototype, \"centerWindow\", {\n /**\n * A flag specifying whether to position the document’s window in the center of the screen.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the center window\n * let centerWindow : boolean = viewerPreferences.centerWindow;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._centerWindow;\n },\n /**\n * A flag specifying whether to position the document’s window in the center of the screen.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the center window\n * viewerPreferences.centerWindow = true;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._centerWindow = value;\n this._dictionary.items.setValue(this._dictionaryProperties.centerWindow, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__.PdfBoolean(this._centerWindow));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"displayTitle\", {\n /**\n * A flag specifying whether the window’s title bar should display the document title taken\n * from the Title entry of the document information dictionary. If false, the title bar\n * should instead display the name of the PDF file containing the document.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the display title\n * let displayTitle : boolean = viewerPreferences.displayTitle;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._displayTitle;\n },\n /**\n * A flag specifying whether the window’s title bar should display the document title taken\n * from the Title entry of the document information dictionary. If false, the title bar\n * should instead display the name of the PDF file containing the document.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the display title\n * viewerPreferences.displayTitle = true;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._displayTitle = value;\n this._dictionary.items.setValue(this._dictionaryProperties.displayTitle, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__.PdfBoolean(this._displayTitle));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"fitWindow\", {\n /**\n * A flag specifying whether to resize the document’s window to fit the size of the first\n * displayed page.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the fit window\n * let fitWindow : boolean = viewerPreferences.fitWindow;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._fitWindow;\n },\n /**\n * A flag specifying whether to resize the document’s window to fit the size of the first\n * displayed page.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the fit window\n * viewerPreferences.fitWindow = true;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._fitWindow = value;\n this._dictionary.items.setValue(this._dictionaryProperties.fitWindow, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__.PdfBoolean(this._fitWindow));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"hideMenuBar\", {\n /**\n * A flag specifying whether to hide the viewer application’s menu bar when the\n * document is active.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the hide menu bar\n * let hideMenuBar: boolean = viewerPreferences.hideMenuBar;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._hideMenuBar;\n },\n /**\n * A flag specifying whether to hide the viewer application’s menu bar when the\n * document is active.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the hide menu bar\n * viewerPreferences.hideMenuBar = true;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._hideMenuBar = value;\n this._dictionary.items.setValue(this._dictionaryProperties.hideMenuBar, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__.PdfBoolean(this._hideMenuBar));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"hideToolBar\", {\n /**\n * A flag specifying whether to hide the viewer application’s tool bar when the\n * document is active.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the hide tool bar\n * let hideToolBar: boolean = viewerPreferences.hideToolBar;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._hideToolBar;\n },\n /**\n * A flag specifying whether to hide the viewer application’s tool bar when the\n * document is active.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the hide tool bar\n * viewerPreferences.hideToolbar = true;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._hideToolBar = value;\n this._dictionary.items.setValue(this._dictionaryProperties.hideToolBar, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__.PdfBoolean(this._hideToolBar));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"hideWindowUI\", {\n /**\n * A flag specifying whether to hide user interface elements in the document’s window\n * (such as scroll bars and navigation controls), leaving only the document’s contents displayed.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the hide window UI\n * let hideWindowUI: boolean = viewerPreferences.hideWindowUI;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._hideWindowUI;\n },\n /**\n * A flag specifying whether to hide user interface elements in the document’s window\n * (such as scroll bars and navigation controls), leaving only the document’s contents displayed.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the hide window UI\n * viewerPreferences.hideWindowUI = true;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._hideWindowUI = value;\n this._dictionary.items.setValue(this._dictionaryProperties.hideWindowUI, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_2__.PdfBoolean(this._hideWindowUI));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"pageMode\", {\n /**\n * A name object specifying how the document should be displayed when opened.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the page mode\n * let pageMode: PdfPageMode = viewerPreferences.pageMode;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._pageMode;\n },\n /**\n * A name object specifying how the document should be displayed when opened.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the page mode\n * viewerPreferences.pageMode = PdfPageMode.UseOutlines;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._pageMode = value;\n this._catalog.items.setValue(this._dictionaryProperties.pageMode, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this._mapPageMode(this._pageMode)));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"duplex\", {\n /**\n * Gets print duplex mode handling option to use when printing the file from the print dialog.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the duplex\n * let duplex : DuplexMode = viewerPreferences.duplex;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._duplex;\n },\n /**\n * Sets print duplex mode handling option to use when printing the file from the print dialog.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the duplex\n * viewerPreferences.duplex = DuplexMode.DuplexFlipLongEdge;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._duplex = value;\n this._catalog.items.setValue(this._dictionaryProperties.duplex, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this._mapDuplexMode(this._duplex)));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"pageLayout\", {\n /**\n * A name object specifying the page layout to be used when the document is opened.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the page layout\n * let pageLayout : PdfPageLayout = viewerPreferences.pageLayout;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._pageLayout;\n },\n /**\n * A name object specifying the page layout to be used when the document is opened.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the page layout\n * viewerPreferences.pageLayout = PdfPageLayout.TwoColumnLeft;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._pageLayout = value;\n this._catalog.items.setValue(this._dictionaryProperties.pageLayout, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this._mapPageLayout(this._pageLayout)));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"pageScaling\", {\n /**\n * Gets the page scaling option to be selected\n * when a print dialog is displayed for this document.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Gets the page scaling\n * let pageScaling : PageScalingMode = viewerPreferences.pageScaling;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this._pageScaling;\n },\n /**\n * Sets the page scaling option to be selected\n * when a print dialog is displayed for this document.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the page scaling\n * viewerPreferences.pageScaling = PageScalingMode.None;\n * // Destroy the document\n * document.destroy();\n * ```\n */\n set: function (value) {\n this._pageScaling = value;\n if (this._pageScaling === PageScalingMode.AppDefault && this._dictionary.items.containsKey(this._dictionaryProperties.printScaling)) {\n this._dictionary.items.remove(this._dictionaryProperties.printScaling);\n }\n else if (this._pageScaling === PageScalingMode.None) {\n this._dictionary.items.setValue(this._dictionaryProperties.printScaling, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName('None'));\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfViewerPreferences.prototype, \"element\", {\n /**\n * Primivie element\n *\n * @private\n */\n get: function () {\n return this._dictionary;\n },\n enumerable: true,\n configurable: true\n });\n PdfViewerPreferences.prototype._mapDuplexMode = function (mode) {\n switch (mode) {\n case DuplexMode.Simplex:\n return 'Simplex';\n case DuplexMode.DuplexFlipShortEdge:\n return 'DuplexFlipShortEdge';\n case DuplexMode.DuplexFlipLongEdge:\n return 'DuplexFlipLongEdge';\n case DuplexMode.None:\n return 'None';\n }\n };\n PdfViewerPreferences.prototype._mapPageMode = function (mode) {\n switch (mode) {\n case PdfPageMode.UseNone:\n return 'UseNone';\n case PdfPageMode.UseOutlines:\n return 'UseOutlines';\n case PdfPageMode.UseThumbs:\n return 'UseThumbs';\n case PdfPageMode.FullScreen:\n return 'FullScreen';\n case PdfPageMode.UseOC:\n return 'UseOC';\n case PdfPageMode.UseAttachments:\n return 'UseAttachments';\n }\n };\n PdfViewerPreferences.prototype._mapPageLayout = function (layout) {\n switch (layout) {\n case PdfPageLayout.SinglePage:\n return 'SinglePage';\n case PdfPageLayout.OneColumn:\n return 'OneColumn';\n case PdfPageLayout.TwoColumnLeft:\n return 'TwoColumnLeft';\n case PdfPageLayout.TwoColumnRight:\n return 'TwoColumnRight';\n case PdfPageLayout.TwoPageLeft:\n return 'TwoPageLeft';\n case PdfPageLayout.TwoPageRight:\n return 'TwoPageRight';\n }\n };\n return PdfViewerPreferences;\n}());\n\n/**\n * Represents mode of document displaying.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the page mode\n * viewerPreferences.pageMode = PdfPageMode.UseOutlines;\n * // Destroy the document\n * document.destroy();\n * ```\n */\nvar PdfPageMode;\n(function (PdfPageMode) {\n /**\n * Default value. Neither document outline nor thumbnail images visible.\n */\n PdfPageMode[PdfPageMode[\"UseNone\"] = 0] = \"UseNone\";\n /**\n * Document outline visible.\n */\n PdfPageMode[PdfPageMode[\"UseOutlines\"] = 1] = \"UseOutlines\";\n /**\n * Thumbnail images visible.\n */\n PdfPageMode[PdfPageMode[\"UseThumbs\"] = 2] = \"UseThumbs\";\n /**\n * Full-screen mode, with no menu bar, window controls, or any other window visible.\n */\n PdfPageMode[PdfPageMode[\"FullScreen\"] = 3] = \"FullScreen\";\n /**\n * Optional content group panel visible.\n */\n PdfPageMode[PdfPageMode[\"UseOC\"] = 4] = \"UseOC\";\n /**\n * Attachments are visible.\n */\n PdfPageMode[PdfPageMode[\"UseAttachments\"] = 5] = \"UseAttachments\";\n})(PdfPageMode || (PdfPageMode = {}));\n/**\n * A name object specifying the page layout to be used when the document is opened.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the page layout\n * viewerPreferences.pageLayout = PdfPageLayout.TwoColumnLeft;\n * // Destroy the document\n * document.destroy();\n * ```\n */\nvar PdfPageLayout;\n(function (PdfPageLayout) {\n /**\n * Default Value. Display one page at a time.\n */\n PdfPageLayout[PdfPageLayout[\"SinglePage\"] = 0] = \"SinglePage\";\n /**\n * Display the pages in one column.\n */\n PdfPageLayout[PdfPageLayout[\"OneColumn\"] = 1] = \"OneColumn\";\n /**\n * Display the pages in two columns, with odd numbered\n * pages on the left.\n */\n PdfPageLayout[PdfPageLayout[\"TwoColumnLeft\"] = 2] = \"TwoColumnLeft\";\n /**\n * Display the pages in two columns, with odd numbered\n * pages on the right.\n */\n PdfPageLayout[PdfPageLayout[\"TwoColumnRight\"] = 3] = \"TwoColumnRight\";\n /**\n * Display the pages two at a time, with odd-numbered pages on the left.\n */\n PdfPageLayout[PdfPageLayout[\"TwoPageLeft\"] = 4] = \"TwoPageLeft\";\n /**\n * Display the pages two at a time, with odd-numbered pages on the right.\n */\n PdfPageLayout[PdfPageLayout[\"TwoPageRight\"] = 5] = \"TwoPageRight\";\n})(PdfPageLayout || (PdfPageLayout = {}));\n/**\n * The paper handling option to use when printing the file from the print dialog.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the duplex\n * viewerPreferences.duplex = DuplexMode.DuplexFlipLongEdge;\n * // Destroy the document\n * document.destroy();\n * ```\n */\nvar DuplexMode;\n(function (DuplexMode) {\n /**\n * Print single-sided.\n */\n DuplexMode[DuplexMode[\"Simplex\"] = 0] = \"Simplex\";\n /**\n * Duplex and flip on the short edge of the sheet.\n */\n DuplexMode[DuplexMode[\"DuplexFlipShortEdge\"] = 1] = \"DuplexFlipShortEdge\";\n /**\n * Duplex and flip on the long edge of the sheet.\n */\n DuplexMode[DuplexMode[\"DuplexFlipLongEdge\"] = 2] = \"DuplexFlipLongEdge\";\n /**\n * Default value.\n */\n DuplexMode[DuplexMode[\"None\"] = 3] = \"None\";\n})(DuplexMode || (DuplexMode = {}));\n/**\n * Specifies the different page scaling option that shall be selected\n * when a print dialog is displayed for this document.\n * ```typescript\n * // Create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // Gets the viewer preferences of the document\n * let viewerPreferences : PdfViewerPreferences = document.viewerPreferences;\n * // Sets the page scaling\n * viewerPreferences.pageScaling = PageScalingMode.None;\n * // Destroy the document\n * document.destroy();\n * ```\n */\nvar PageScalingMode;\n(function (PageScalingMode) {\n /**\n * Indicates the conforming reader’s default print scaling.\n */\n PageScalingMode[PageScalingMode[\"AppDefault\"] = 0] = \"AppDefault\";\n /**\n * Indicates no page scaling.\n */\n PageScalingMode[PageScalingMode[\"None\"] = 1] = \"None\";\n})(PageScalingMode || (PageScalingMode = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-viewer-preferences.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PointF: () => (/* binding */ PointF),\n/* harmony export */ Rectangle: () => (/* binding */ Rectangle),\n/* harmony export */ RectangleF: () => (/* binding */ RectangleF),\n/* harmony export */ SizeF: () => (/* binding */ SizeF)\n/* harmony export */ });\n/**\n * Coordinates of Position for `PointF`.\n * @private\n */\nvar PointF = /** @class */ (function () {\n function PointF(x, y) {\n if (typeof x === 'undefined') {\n this.x = 0;\n this.y = 0;\n }\n else {\n if (x !== null) {\n this.x = x;\n }\n else {\n this.x = 0;\n }\n if (y !== null) {\n this.y = y;\n }\n else {\n this.y = 0;\n }\n }\n }\n return PointF;\n}());\n\n/**\n * Width and Height as `Size`.\n * @private\n */\nvar SizeF = /** @class */ (function () {\n function SizeF(width, height) {\n if (typeof height === 'undefined') {\n this.height = 0;\n this.width = 0;\n }\n else {\n if (height !== null) {\n this.height = height;\n }\n else {\n this.height = 0;\n }\n if (width !== null) {\n this.width = width;\n }\n else {\n this.width = 0;\n }\n }\n }\n return SizeF;\n}());\n\n/**\n * `RectangleF` with Position and size.\n * @private\n */\nvar RectangleF = /** @class */ (function () {\n function RectangleF(arg1, arg2, arg3, arg4) {\n if (typeof arg1 === typeof arg1 && typeof arg1 === 'undefined') {\n this.x = 0;\n this.y = 0;\n this.height = 0;\n this.width = 0;\n }\n else {\n if (arg1 instanceof PointF && arg2 instanceof SizeF && typeof arg3 === 'undefined') {\n var pointf = arg1;\n this.x = pointf.x;\n this.y = pointf.y;\n var sizef = arg2;\n this.height = sizef.height;\n this.width = sizef.width;\n }\n else {\n var x = arg1;\n var y = arg2;\n var width = arg3;\n var height = arg4;\n this.x = x;\n this.y = y;\n this.height = height;\n this.width = width;\n }\n }\n }\n return RectangleF;\n}());\n\n/**\n * `Rectangle` with left, right, top and bottom.\n * @private\n */\nvar Rectangle = /** @class */ (function () {\n /**\n * Instance of `RectangleF` class with X, Y, Width and Height.\n * @private\n */\n function Rectangle(left, top, right, bottom) {\n this.left = left;\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n }\n Object.defineProperty(Rectangle.prototype, \"width\", {\n /**\n * Gets a value of width\n */\n get: function () {\n return this.right - this.left;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"height\", {\n /**\n * Gets a value of height\n */\n get: function () {\n return this.bottom - this.top;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"topLeft\", {\n /**\n * Gets a value of Top and Left\n */\n get: function () {\n return new PointF(this.left, this.top);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"size\", {\n /**\n * Gets a value of size\n */\n get: function () {\n return new SizeF(this.width, this.height);\n },\n enumerable: true,\n configurable: true\n });\n Rectangle.prototype.toString = function () {\n return this.topLeft + 'x' + this.size;\n };\n return Rectangle;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-cache-collection.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-cache-collection.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfCacheCollection: () => (/* binding */ PdfCacheCollection)\n/* harmony export */ });\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/**\n * PdfCacheCollection.ts class for EJ2-PDF\n */\n\n/**\n * `Collection of the cached objects`.\n * @private\n */\nvar PdfCacheCollection = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `PdfCacheCollection` class.\n * @private\n */\n function PdfCacheCollection() {\n this.referenceObjects = [];\n this.pdfFontCollection = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n // Public methods\n /**\n * `Searches` for the similar cached object. If is not found - adds the object to the cache.\n * @private\n */\n PdfCacheCollection.prototype.search = function (obj) {\n var result = null;\n var group = this.getGroup(obj);\n if (group == null) {\n group = this.createNewGroup();\n }\n else if (group.length > 0) {\n result = group[0];\n }\n group.push(obj);\n return result;\n };\n // Implementation\n /**\n * `Creates` a new group.\n * @private\n */\n PdfCacheCollection.prototype.createNewGroup = function () {\n var group = [];\n this.referenceObjects.push(group);\n return group;\n };\n /**\n * `Find and Return` a group.\n * @private\n */\n PdfCacheCollection.prototype.getGroup = function (result) {\n var group = null;\n if (result !== null) {\n var len = this.referenceObjects.length;\n for (var i = 0; i < len; i++) {\n if (this.referenceObjects.length > 0) {\n var tGroup = this.referenceObjects[i];\n if (tGroup.length > 0) {\n var representative = tGroup[0];\n if (result.equalsTo(representative)) {\n group = tGroup;\n break;\n }\n }\n else {\n this.removeGroup(tGroup);\n }\n }\n len = this.referenceObjects.length;\n }\n }\n return group;\n };\n /**\n * Remove a group from the storage.\n */\n PdfCacheCollection.prototype.removeGroup = function (group) {\n if (group !== null) {\n var index = this.referenceObjects.indexOf(group);\n this.referenceObjects.slice(index, index + 1);\n }\n };\n PdfCacheCollection.prototype.destroy = function () {\n this.pdfFontCollection = undefined;\n this.referenceObjects = undefined;\n };\n return PdfCacheCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-cache-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-collection.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-collection.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfCollection: () => (/* binding */ PdfCollection)\n/* harmony export */ });\n/**\n * PdfCollection.ts class for EJ2-PDF\n * The class used to handle the collection of PdF objects.\n */\nvar PdfCollection = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `Collection` class.\n * @private\n */\n function PdfCollection() {\n //\n }\n Object.defineProperty(PdfCollection.prototype, \"count\", {\n // Properties\n /**\n * Gets the `Count` of stored objects.\n * @private\n */\n get: function () {\n if (typeof this.collection === 'undefined') {\n this.collection = [];\n }\n return this.collection.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCollection.prototype, \"list\", {\n /**\n * Gets the `list` of stored objects.\n * @private\n */\n get: function () {\n if (typeof this.collection === 'undefined') {\n this.collection = [];\n }\n return this.collection;\n },\n enumerable: true,\n configurable: true\n });\n return PdfCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfBrush: () => (/* binding */ PdfBrush)\n/* harmony export */ });\n/**\n * `PdfBrush` class provides objects used to fill the interiors of graphical shapes such as rectangles,\n * ellipses, pies, polygons, and paths.\n * @private\n */\nvar PdfBrush = /** @class */ (function () {\n /**\n * Creates instanceof `PdfBrush` class.\n * @hidden\n * @private\n */\n function PdfBrush() {\n //\n }\n //IClonable implementation\n PdfBrush.prototype.clone = function () {\n return this;\n };\n return PdfBrush;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.js": +/*!***********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGradientBrush: () => (/* binding */ PdfGradientBrush)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _pdf_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _pdf_brush__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../primitives/pdf-boolean */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfGradientBrush` class provides objects used to fill the interiors of graphical shapes such as rectangles,\n * ellipses, pies, polygons, and paths.\n * @private\n */\nvar PdfGradientBrush = /** @class */ (function (_super) {\n __extends(PdfGradientBrush, _super);\n //Constructor\n /**\n * Initializes a new instance of the `PdfGradientBrush` class.\n * @public\n */\n /* tslint:disable-next-line:max-line-length */\n function PdfGradientBrush(shading) {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * Local variable to store the background color.\n * @private\n */\n _this.mbackground = new _pdf_color__WEBPACK_IMPORTED_MODULE_0__.PdfColor(255, 255, 255);\n /**\n * Local variable to store the stroking color.\n * @private\n */\n _this.mbStroking = false;\n /**\n * Local variable to store the function.\n * @private\n */\n _this.mfunction = null;\n /**\n * Local variable to store the DictionaryProperties.\n * @private\n */\n _this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n _this.mpatternDictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__.PdfDictionary();\n _this.mpatternDictionary.items.setValue(_this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(_this.dictionaryProperties.pattern));\n _this.mpatternDictionary.items.setValue(_this.dictionaryProperties.patternType, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(2));\n _this.shading = shading;\n _this.colorSpace = _enum__WEBPACK_IMPORTED_MODULE_5__.PdfColorSpace.Rgb;\n return _this;\n }\n Object.defineProperty(PdfGradientBrush.prototype, \"background\", {\n //Properties\n /**\n * Gets or sets the background color of the brush.\n * @public\n */\n get: function () {\n return this.mbackground;\n },\n set: function (value) {\n this.mbackground = value;\n var sh = this.shading;\n if (value.isEmpty) {\n sh.remove(this.dictionaryProperties.background);\n }\n else {\n sh.items.setValue(this.dictionaryProperties.background, value.toArray(this.colorSpace));\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"antiAlias\", {\n /**\n * Gets or sets a value indicating whether use anti aliasing algorithm.\n * @public\n */\n get: function () {\n var sh = this.shading;\n var aa = (sh.items.getValue(this.dictionaryProperties.antiAlias));\n return aa.value;\n },\n set: function (value) {\n var sh = this.shading;\n var aa = (sh.items.getValue(this.dictionaryProperties.antiAlias));\n if ((aa == null && typeof aa === 'undefined')) {\n aa = new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_6__.PdfBoolean(value);\n sh.items.setValue(this.dictionaryProperties.antiAlias, aa);\n }\n else {\n aa.value = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"function\", {\n /**\n * Gets or sets the function of the brush.\n * @protected\n */\n get: function () {\n return this.mfunction;\n },\n set: function (value) {\n this.mfunction = value;\n if (value != null && typeof value !== 'undefined') {\n this.shading.items.setValue(this.dictionaryProperties.function, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_7__.PdfReferenceHolder(this.mfunction));\n }\n else {\n this.shading.remove(this.dictionaryProperties.function);\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"bBox\", {\n /**\n * Gets or sets the boundary box of the brush.\n * @protected\n */\n get: function () {\n var sh = this.shading;\n var box = (sh.items.getValue(this.dictionaryProperties.bBox));\n return box;\n },\n set: function (value) {\n var sh = this.shading;\n if (value == null && typeof value === 'undefined') {\n sh.remove(this.dictionaryProperties.bBox);\n }\n else {\n sh.items.setValue(this.dictionaryProperties.bBox, value);\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"colorSpace\", {\n /**\n * Gets or sets the color space of the brush.\n * @public\n */\n get: function () {\n return this.mcolorSpace;\n },\n set: function (value) {\n var colorSpace = this.shading.items.getValue(this.dictionaryProperties.colorSpace);\n if ((value !== this.mcolorSpace) || (colorSpace == null)) {\n this.mcolorSpace = value;\n var csValue = this.colorSpaceToDeviceName(value);\n this.shading.items.setValue(this.dictionaryProperties.colorSpace, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(csValue));\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"stroking\", {\n /**\n * Gets or sets a value indicating whether this PdfGradientBrush is stroking.\n * @public\n */\n get: function () {\n return this.mbStroking;\n },\n set: function (value) {\n this.mbStroking = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"patternDictionary\", {\n /**\n * Gets the pattern dictionary.\n * @protected\n */\n get: function () {\n if (this.mpatternDictionary == null) {\n this.mpatternDictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__.PdfDictionary();\n }\n return this.mpatternDictionary;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"shading\", {\n /**\n * Gets or sets the shading dictionary.\n * @protected\n */\n get: function () {\n return this.mshading;\n },\n set: function (value) {\n if (value == null) {\n throw new Error('ArgumentNullException : Shading');\n }\n if (value !== this.mshading) {\n this.mshading = value;\n this.patternDictionary.items.setValue(this.dictionaryProperties.shading, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_7__.PdfReferenceHolder(this.mshading));\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGradientBrush.prototype, \"matrix\", {\n /**\n * Gets or sets the transformation matrix.\n * @public\n */\n get: function () {\n return this.mmatrix;\n },\n set: function (value) {\n if (value == null) {\n throw new Error('ArgumentNullException : Matrix');\n }\n if (value !== this.mmatrix) {\n this.mmatrix = value.clone();\n var m = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_8__.PdfArray(this.mmatrix.matrix.elements);\n this.mpatternDictionary.items.setValue(this.dictionaryProperties.matrix, m);\n }\n },\n enumerable: true,\n configurable: true\n });\n //Overrides\n /**\n * Monitors the changes of the brush and modify PDF state respectfully.\n * @param brush The brush.\n * @param streamWriter The stream writer.\n * @param getResources The get resources delegate.\n * @param saveChanges if set to true the changes should be saved anyway.\n * @param currentColorSpace The current color space.\n */\n /* tslint:disable-next-line:max-line-length */\n PdfGradientBrush.prototype.monitorChanges = function (brush, streamWriter, getResources, saveChanges, currentColorSpace) {\n var diff = false;\n if (brush instanceof PdfGradientBrush) {\n if ((this.colorSpace !== currentColorSpace)) {\n this.colorSpace = currentColorSpace;\n this.resetFunction();\n }\n // Set the /Pattern colour space.\n streamWriter.setColorSpace('Pattern', this.mbStroking);\n // Set the pattern for non-stroking operations.\n var resources = getResources.getResources();\n var name_1 = resources.getName(this);\n streamWriter.setColourWithPattern(null, name_1, this.mbStroking);\n diff = true;\n }\n return diff;\n };\n /**\n * Resets the changes, which were made by the brush.\n * In other words resets the state to the initial one.\n * @param streamWriter The stream writer.\n */\n PdfGradientBrush.prototype.resetChanges = function (streamWriter) {\n // Unable reset.\n };\n //Implementation\n /**\n * Converts colorspace enum to a PDF name.\n * @param colorSpace The color space enum value.\n */\n PdfGradientBrush.prototype.colorSpaceToDeviceName = function (colorSpace) {\n var result;\n switch (colorSpace) {\n case _enum__WEBPACK_IMPORTED_MODULE_5__.PdfColorSpace.Rgb:\n result = 'DeviceRGB';\n break;\n }\n return result;\n };\n /**\n * Resets the pattern dictionary.\n * @param dictionary A new pattern dictionary.\n */\n PdfGradientBrush.prototype.resetPatternDictionary = function (dictionary) {\n this.mpatternDictionary = dictionary;\n };\n /**\n * Clones the anti aliasing value.\n * @param brush The brush.\n */\n PdfGradientBrush.prototype.cloneAntiAliasingValue = function (brush) {\n if ((brush == null)) {\n throw new Error('ArgumentNullException : brush');\n }\n var sh = this.shading;\n var aa = (sh.items.getValue(this.dictionaryProperties.antiAlias));\n if ((aa != null)) {\n brush.shading.items.setValue(this.dictionaryProperties.antiAlias, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_6__.PdfBoolean(aa.value));\n }\n };\n /**\n * Clones the background value.\n * @param brush The brush.\n */\n PdfGradientBrush.prototype.cloneBackgroundValue = function (brush) {\n var background = this.background;\n if (!background.isEmpty) {\n brush.background = background;\n }\n };\n Object.defineProperty(PdfGradientBrush.prototype, \"element\", {\n /* tslint:enable */\n // IPdfWrapper Members\n /**\n * Gets the `element`.\n * @private\n */\n get: function () {\n return this.patternDictionary;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGradientBrush;\n}(_pdf_brush__WEBPACK_IMPORTED_MODULE_9__.PdfBrush));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfSolidBrush: () => (/* binding */ PdfSolidBrush)\n/* harmony export */ });\n/* harmony import */ var _pdf_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _pdf_brush__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * Represents a brush that fills any object with a solid color.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfSolidBrush = /** @class */ (function (_super) {\n __extends(PdfSolidBrush, _super);\n //Constructors\n /**\n * Initializes a new instance of the `PdfSolidBrush` class.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @param color color of the brush\n */\n function PdfSolidBrush(color) {\n var _this = _super.call(this) || this;\n _this.pdfColor = color;\n return _this;\n }\n Object.defineProperty(PdfSolidBrush.prototype, \"color\", {\n //Properties\n /**\n * Gets or sets the `color` of the brush.\n * @private\n */\n get: function () {\n return this.pdfColor;\n },\n set: function (value) {\n this.pdfColor = value;\n },\n enumerable: true,\n configurable: true\n });\n //Implementation\n /**\n * `Monitors` the changes of the brush and modify PDF state respectively.\n * @private\n */\n PdfSolidBrush.prototype.monitorChanges = function (brush, streamWriter, getResources, saveChanges, currentColorSpace) {\n if (streamWriter == null) {\n throw new Error('ArgumentNullException:streamWriter');\n }\n var diff = false;\n if (brush == null) {\n diff = true;\n streamWriter.setColorAndSpace(this.pdfColor, currentColorSpace, false);\n return diff;\n }\n else {\n var sBrush = brush;\n diff = true;\n streamWriter.setColorAndSpace(this.pdfColor, currentColorSpace, false);\n return diff;\n }\n };\n /**\n * `Resets` the changes, which were made by the brush.\n * @private\n */\n PdfSolidBrush.prototype.resetChanges = function (streamWriter) {\n streamWriter.setColorAndSpace(new _pdf_color__WEBPACK_IMPORTED_MODULE_0__.PdfColor(0, 0, 0), _enum__WEBPACK_IMPORTED_MODULE_1__.PdfColorSpace.Rgb, false);\n };\n return PdfSolidBrush;\n}(_pdf_brush__WEBPACK_IMPORTED_MODULE_2__.PdfBrush));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTilingBrush: () => (/* binding */ PdfTilingBrush)\n/* harmony export */ });\n/* harmony import */ var _pdf_graphics__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../pdf-graphics */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.js\");\n/* harmony import */ var _pdf_brush__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _pdf_resources__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../pdf-resources */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.js\");\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _pages_pdf_page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../pages/pdf-page */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfTilingBrush` Implements a colored tiling brush.\n */\nvar PdfTilingBrush = /** @class */ (function (_super) {\n __extends(PdfTilingBrush, _super);\n /**\n * Initializes a new instance of the `PdfTilingBrush` class.\n * @public\n */\n function PdfTilingBrush(arg1, arg2) {\n var _this = _super.call(this) || this;\n /**\n * Local variable to store Stroking.\n * @private\n */\n _this.mStroking = false;\n /**\n * Local variable to store the tile start location.\n * @private\n */\n _this.mLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0);\n /**\n * Local variable to store the dictionary properties.\n * @private\n */\n _this.mDictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n var rect = null;\n if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.Rectangle) {\n rect = arg1;\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF) {\n rect = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.Rectangle(0, 0, arg1.width, arg1.height);\n }\n if (arg2 !== null && arg2 instanceof _pages_pdf_page__WEBPACK_IMPORTED_MODULE_2__.PdfPage) {\n _this.mPage = arg2;\n }\n _this.brushStream = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_3__.PdfStream();\n _this.mResources = new _pdf_resources__WEBPACK_IMPORTED_MODULE_4__.PdfResources();\n _this.brushStream.items.setValue(_this.mDictionaryProperties.resources, _this.mResources);\n _this.setBox(rect);\n _this.setObligatoryFields();\n if (arg2 !== null && arg2 instanceof _pages_pdf_page__WEBPACK_IMPORTED_MODULE_2__.PdfPage) {\n _this.mPage = arg2;\n _this.graphics.colorSpace = arg2.document.colorSpace;\n }\n return _this;\n }\n /**\n * Initializes a new instance of the `PdfTilingBrush` class.\n * @private\n * @param rectangle The size of the smallest brush cell.\n * @param page The Current Page Object.\n * @param location The Tile start location.\n * @param matrix The matrix.\n */\n PdfTilingBrush.prototype.initialize = function (rectangle, page, location, matrix) {\n this.mPage = page;\n this.mLocation = location;\n this.mTransformationMatrix = matrix;\n this.tempBrushStream = this.brushStream;\n this.brushStream = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_3__.PdfStream();\n var tempResource = new _pdf_resources__WEBPACK_IMPORTED_MODULE_4__.PdfResources();\n this.brushStream.items.setValue(this.mDictionaryProperties.resources, tempResource);\n this.setBox(rectangle);\n this.setObligatoryFields();\n return this;\n };\n Object.defineProperty(PdfTilingBrush.prototype, \"location\", {\n //Properties\n /**\n * Location representing the start position of the tiles.\n * @public\n */\n get: function () {\n return this.mLocation;\n },\n set: function (value) {\n this.mLocation = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Sets the obligatory fields.\n * @private\n */\n PdfTilingBrush.prototype.setObligatoryFields = function () {\n this.brushStream.items.setValue(this.mDictionaryProperties.patternType, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__.PdfNumber(1));\n // Tiling brush.\n this.brushStream.items.setValue(this.mDictionaryProperties.paintType, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__.PdfNumber(1));\n // Coloured.\n this.brushStream.items.setValue(this.mDictionaryProperties.tilingType, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__.PdfNumber(1));\n // Constant spacing.\n this.brushStream.items.setValue(this.mDictionaryProperties.xStep, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__.PdfNumber((this.mBox.right - this.mBox.left)));\n this.brushStream.items.setValue(this.mDictionaryProperties.yStep, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__.PdfNumber((this.mBox.bottom - this.mBox.top)));\n if ((this.mPage != null) && (this.mLocation != null)) {\n if ((this.mTransformationMatrix == null && typeof this.mTransformationMatrix === 'undefined')) {\n // Transform the tile origin to fit the location\n var tileTransform = (this.mPage.size.height % this.rectangle.size.height) - (this.mLocation.y);\n /* tslint:disable-next-line:max-line-length */\n this.brushStream.items.setValue(this.mDictionaryProperties.matrix, new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__.PdfArray([1, 0, 0, 1, this.mLocation.x, tileTransform]));\n }\n else {\n var tileTransform = 0;\n // Transform the tile origin to fit the location\n var elements = this.mTransformationMatrix.matrix.elements;\n if ((this.mPage.size.height > this.rectangle.size.height)) {\n tileTransform = (this.mTransformationMatrix.matrix.offsetY\n - (this.mPage.size.height % this.rectangle.size.height));\n }\n else {\n tileTransform = ((this.mPage.size.height % this.rectangle.size.height) + this.mTransformationMatrix.matrix.offsetY);\n }\n this.brushStream.items.setValue(this.mDictionaryProperties.matrix, new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__.PdfArray([\n elements[0], elements[1], elements[2], elements[3], elements[4], tileTransform\n ]));\n }\n }\n };\n /**\n * Sets the BBox coordinates.\n * @private\n */\n PdfTilingBrush.prototype.setBox = function (box) {\n this.mBox = box;\n var rect = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(this.mBox.left, this.mBox.top, this.mBox.right, this.mBox.bottom);\n this.brushStream.items.setValue(this.mDictionaryProperties.bBox, _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__.PdfArray.fromRectangle(rect));\n };\n Object.defineProperty(PdfTilingBrush.prototype, \"rectangle\", {\n //Properties\n /**\n * Gets the boundary box of the smallest brush cell.\n * @public\n */\n get: function () {\n return this.mBox;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTilingBrush.prototype, \"size\", {\n /**\n * Gets the size of the smallest brush cell.\n * @public\n */\n get: function () {\n return this.mBox.size;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTilingBrush.prototype, \"graphics\", {\n /**\n * Gets Graphics context of the brush.\n */\n get: function () {\n if ((this.mGraphics == null && typeof this.mGraphics === 'undefined')) {\n var gr = new _pdf_graphics__WEBPACK_IMPORTED_MODULE_7__.GetResourceEventHandler(this);\n var g = new _pdf_graphics__WEBPACK_IMPORTED_MODULE_7__.PdfGraphics(this.size, gr, this.brushStream);\n this.mGraphics = g;\n this.mResources = this.getResources();\n this.mGraphics.initializeCoordinates();\n }\n return this.mGraphics;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets the resources and modifies the template dictionary.\n * @public\n */\n PdfTilingBrush.prototype.getResources = function () {\n return this.mResources;\n };\n Object.defineProperty(PdfTilingBrush.prototype, \"stroking\", {\n /**\n * Gets or sets a value indicating whether this PdfTilingBrush\n * is used for stroking operations.\n */\n get: function () {\n return this.mStroking;\n },\n set: function (value) {\n this.mStroking = value;\n },\n enumerable: true,\n configurable: true\n });\n //PdfBrush methods\n /**\n * Creates a new copy of a brush.\n * @public\n */\n PdfTilingBrush.prototype.clone = function () {\n var brush = this.initialize(this.rectangle, this.mPage, this.location, this.mTransformationMatrix);\n if ((this.mTransformationMatrix != null) && (this.mTransformationMatrix.matrix != null)) {\n /* tslint:disable-next-line:max-line-length */\n brush.brushStream.items.setValue(this.mDictionaryProperties.matrix, new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__.PdfArray(this.mTransformationMatrix.matrix.elements));\n }\n brush.brushStream.data = this.tempBrushStream.data;\n brush.mResources = new _pdf_resources__WEBPACK_IMPORTED_MODULE_4__.PdfResources(this.mResources);\n brush.brushStream.items.setValue(this.mDictionaryProperties.resources, brush.mResources);\n return brush;\n };\n /**\n * Monitors the changes of the brush and modify PDF state respectfully.\n * @param brush The brush\n * @param streamWriter The stream writer\n * @param getResources The get resources delegate.\n * @param saveChanges if set to true the changes should be saved anyway.\n * @param currentColorSpace The current color space.\n */\n /* tslint:disable-next-line:max-line-length */\n PdfTilingBrush.prototype.monitorChanges = function (brush, streamWriter, getResources, saveChanges, currentColorSpace) {\n var diff = false;\n if (brush !== this) {\n // Set the Pattern colour space.\n streamWriter.setColorSpace('Pattern', this.mStroking);\n // Set the pattern for non-stroking operations.\n var resources1 = getResources.getResources();\n var name1 = resources1.getName(this);\n streamWriter.setColourWithPattern(null, name1, this.mStroking);\n diff = true;\n }\n else if (brush instanceof PdfTilingBrush) {\n // Set the /Pattern colour space.\n streamWriter.setColorSpace('Pattern', this.mStroking);\n // Set the pattern for non-stroking operations.\n var resources = getResources.getResources();\n var name_1 = resources.getName(this);\n streamWriter.setColourWithPattern(null, name_1, this.mStroking);\n diff = true;\n }\n return diff;\n };\n /**\n * Resets the changes, which were made by the brush.\n * In other words resets the state to the initial one.\n * @param streamWriter The stream writer.\n */\n PdfTilingBrush.prototype.resetChanges = function (streamWriter) {\n // We shouldn't do anything to reset changes.\n // All changes will be reset automatically by setting a new colour space.\n };\n Object.defineProperty(PdfTilingBrush.prototype, \"element\", {\n /* tslint:enable */\n // IPdfWrapper Members\n /**\n * Gets the `element`.\n * @public\n */\n get: function () {\n return this.brushStream;\n },\n enumerable: true,\n configurable: true\n });\n return PdfTilingBrush;\n}(_pdf_brush__WEBPACK_IMPORTED_MODULE_8__.PdfBrush));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/constants.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/constants.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProcedureSets: () => (/* binding */ ProcedureSets)\n/* harmony export */ });\n/**\n * `constants.ts` class for EJ2-PDF\n * @private\n */\nvar ProcedureSets = /** @class */ (function () {\n function ProcedureSets() {\n /**\n * Specifies the `PDF` procedure set.\n * @private\n */\n this.pdf = 'PDF';\n /**\n * Specifies the `Text` procedure set.\n * @private\n */\n this.text = 'Text';\n /**\n * Specifies the `ImageB` procedure set.\n * @private\n */\n this.imageB = 'ImageB';\n /**\n * Specifies the `ImageC` procedure set.\n * @private\n */\n this.imageC = 'ImageC';\n /**\n * Specifies the `ImageI` procedure set.\n * @private\n */\n this.imageI = 'ImageI';\n }\n return ProcedureSets;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/constants.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfBlendMode: () => (/* binding */ PdfBlendMode),\n/* harmony export */ PdfColorSpace: () => (/* binding */ PdfColorSpace),\n/* harmony export */ PdfDashStyle: () => (/* binding */ PdfDashStyle),\n/* harmony export */ PdfFillMode: () => (/* binding */ PdfFillMode),\n/* harmony export */ PdfGraphicsUnit: () => (/* binding */ PdfGraphicsUnit),\n/* harmony export */ PdfGridImagePosition: () => (/* binding */ PdfGridImagePosition),\n/* harmony export */ PdfHorizontalAlignment: () => (/* binding */ PdfHorizontalAlignment),\n/* harmony export */ PdfLineCap: () => (/* binding */ PdfLineCap),\n/* harmony export */ PdfLineJoin: () => (/* binding */ PdfLineJoin),\n/* harmony export */ PdfTextAlignment: () => (/* binding */ PdfTextAlignment),\n/* harmony export */ PdfTextDirection: () => (/* binding */ PdfTextDirection),\n/* harmony export */ PdfVerticalAlignment: () => (/* binding */ PdfVerticalAlignment),\n/* harmony export */ TextRenderingMode: () => (/* binding */ TextRenderingMode)\n/* harmony export */ });\n/**\n * public Enum for `PdfHorizontalAlignment`.\n * @private\n */\nvar PdfHorizontalAlignment;\n(function (PdfHorizontalAlignment) {\n /**\n * Specifies the type of `Left`.\n * @private\n */\n PdfHorizontalAlignment[PdfHorizontalAlignment[\"Left\"] = 0] = \"Left\";\n /**\n * Specifies the type of `Center`.\n * @private\n */\n PdfHorizontalAlignment[PdfHorizontalAlignment[\"Center\"] = 1] = \"Center\";\n /**\n * Specifies the type of `Right`.\n * @private\n */\n PdfHorizontalAlignment[PdfHorizontalAlignment[\"Right\"] = 2] = \"Right\";\n})(PdfHorizontalAlignment || (PdfHorizontalAlignment = {}));\n/**\n * public Enum for `PdfVerticalAlignment`.\n * @private\n */\nvar PdfVerticalAlignment;\n(function (PdfVerticalAlignment) {\n /**\n * Specifies the type of `Top`.\n * @private\n */\n PdfVerticalAlignment[PdfVerticalAlignment[\"Top\"] = 0] = \"Top\";\n /**\n * Specifies the type of `Middle`.\n * @private\n */\n PdfVerticalAlignment[PdfVerticalAlignment[\"Middle\"] = 1] = \"Middle\";\n /**\n * Specifies the type of `Bottom`.\n * @private\n */\n PdfVerticalAlignment[PdfVerticalAlignment[\"Bottom\"] = 2] = \"Bottom\";\n})(PdfVerticalAlignment || (PdfVerticalAlignment = {}));\n/**\n * public Enum for `public`.\n * @private\n */\nvar PdfTextAlignment;\n(function (PdfTextAlignment) {\n /**\n * Specifies the type of `Left`.\n * @private\n */\n PdfTextAlignment[PdfTextAlignment[\"Left\"] = 0] = \"Left\";\n /**\n * Specifies the type of `Center`.\n * @private\n */\n PdfTextAlignment[PdfTextAlignment[\"Center\"] = 1] = \"Center\";\n /**\n * Specifies the type of `Right`.\n * @private\n */\n PdfTextAlignment[PdfTextAlignment[\"Right\"] = 2] = \"Right\";\n /**\n * Specifies the type of `Justify`.\n * @private\n */\n PdfTextAlignment[PdfTextAlignment[\"Justify\"] = 3] = \"Justify\";\n})(PdfTextAlignment || (PdfTextAlignment = {}));\n/**\n * public Enum for `TextRenderingMode`.\n * @private\n */\nvar TextRenderingMode;\n(function (TextRenderingMode) {\n /**\n * Specifies the type of `Fill`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"Fill\"] = 0] = \"Fill\";\n /**\n * Specifies the type of `Stroke`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"Stroke\"] = 1] = \"Stroke\";\n /**\n * Specifies the type of `FillStroke`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"FillStroke\"] = 2] = \"FillStroke\";\n /**\n * Specifies the type of `None`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"None\"] = 3] = \"None\";\n /**\n * Specifies the type of `ClipFlag`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"ClipFlag\"] = 4] = \"ClipFlag\";\n /**\n * Specifies the type of `ClipFill`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"ClipFill\"] = 4] = \"ClipFill\";\n /**\n * Specifies the type of `ClipStroke`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"ClipStroke\"] = 5] = \"ClipStroke\";\n /**\n * Specifies the type of `ClipFillStroke`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"ClipFillStroke\"] = 6] = \"ClipFillStroke\";\n /**\n * Specifies the type of `Clip`.\n * @private\n */\n TextRenderingMode[TextRenderingMode[\"Clip\"] = 7] = \"Clip\";\n})(TextRenderingMode || (TextRenderingMode = {}));\n/**\n * public Enum for `PdfLineJoin`.\n * @private\n */\nvar PdfLineJoin;\n(function (PdfLineJoin) {\n /**\n * Specifies the type of `Miter`.\n * @private\n */\n PdfLineJoin[PdfLineJoin[\"Miter\"] = 0] = \"Miter\";\n /**\n * Specifies the type of `Round`.\n * @private\n */\n PdfLineJoin[PdfLineJoin[\"Round\"] = 1] = \"Round\";\n /**\n * Specifies the type of `Bevel`.\n * @private\n */\n PdfLineJoin[PdfLineJoin[\"Bevel\"] = 2] = \"Bevel\";\n})(PdfLineJoin || (PdfLineJoin = {}));\n/**\n * public Enum for `PdfLineCap`.\n * @private\n */\nvar PdfLineCap;\n(function (PdfLineCap) {\n /**\n * Specifies the type of `Flat`.\n * @private\n */\n PdfLineCap[PdfLineCap[\"Flat\"] = 0] = \"Flat\";\n /**\n * Specifies the type of `Round`.\n * @private\n */\n PdfLineCap[PdfLineCap[\"Round\"] = 1] = \"Round\";\n /**\n * Specifies the type of `Square`.\n * @private\n */\n PdfLineCap[PdfLineCap[\"Square\"] = 2] = \"Square\";\n})(PdfLineCap || (PdfLineCap = {}));\n/**\n * public Enum for `PdfDashStyle`.\n * @private\n */\nvar PdfDashStyle;\n(function (PdfDashStyle) {\n /**\n * Specifies the type of `Solid`.\n * @private\n */\n PdfDashStyle[PdfDashStyle[\"Solid\"] = 0] = \"Solid\";\n /**\n * Specifies the type of `Dash`.\n * @private\n */\n PdfDashStyle[PdfDashStyle[\"Dash\"] = 1] = \"Dash\";\n /**\n * Specifies the type of `Dot`.\n * @private\n */\n PdfDashStyle[PdfDashStyle[\"Dot\"] = 2] = \"Dot\";\n /**\n * Specifies the type of `DashDot`.\n * @private\n */\n PdfDashStyle[PdfDashStyle[\"DashDot\"] = 3] = \"DashDot\";\n /**\n * Specifies the type of `DashDotDot`.\n * @private\n */\n PdfDashStyle[PdfDashStyle[\"DashDotDot\"] = 4] = \"DashDotDot\";\n /**\n * Specifies the type of `Custom`.\n * @private\n */\n PdfDashStyle[PdfDashStyle[\"Custom\"] = 5] = \"Custom\";\n})(PdfDashStyle || (PdfDashStyle = {}));\n/**\n * public Enum for `PdfFillMode`.\n * @private\n */\nvar PdfFillMode;\n(function (PdfFillMode) {\n /**\n * Specifies the type of `Winding`.\n * @private\n */\n PdfFillMode[PdfFillMode[\"Winding\"] = 0] = \"Winding\";\n /**\n * Specifies the type of `Alternate`.\n * @private\n */\n PdfFillMode[PdfFillMode[\"Alternate\"] = 1] = \"Alternate\";\n})(PdfFillMode || (PdfFillMode = {}));\n/**\n * public Enum for `PdfColorSpace`.\n * @private\n */\nvar PdfColorSpace;\n(function (PdfColorSpace) {\n /**\n * Specifies the type of `Rgb`.\n * @private\n */\n PdfColorSpace[PdfColorSpace[\"Rgb\"] = 0] = \"Rgb\";\n /**\n * Specifies the type of `Cmyk`.\n * @private\n */\n PdfColorSpace[PdfColorSpace[\"Cmyk\"] = 1] = \"Cmyk\";\n /**\n * Specifies the type of `GrayScale`.\n * @private\n */\n PdfColorSpace[PdfColorSpace[\"GrayScale\"] = 2] = \"GrayScale\";\n /**\n * Specifies the type of `Indexed`.\n * @private\n */\n PdfColorSpace[PdfColorSpace[\"Indexed\"] = 3] = \"Indexed\";\n})(PdfColorSpace || (PdfColorSpace = {}));\n/**\n * public Enum for `PdfBlendMode`.\n * @private\n */\nvar PdfBlendMode;\n(function (PdfBlendMode) {\n /**\n * Specifies the type of `Normal`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Normal\"] = 0] = \"Normal\";\n /**\n * Specifies the type of `Multiply`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Multiply\"] = 1] = \"Multiply\";\n /**\n * Specifies the type of `Screen`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Screen\"] = 2] = \"Screen\";\n /**\n * Specifies the type of `Overlay`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Overlay\"] = 3] = \"Overlay\";\n /**\n * Specifies the type of `Darken`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Darken\"] = 4] = \"Darken\";\n /**\n * Specifies the type of `Lighten`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Lighten\"] = 5] = \"Lighten\";\n /**\n * Specifies the type of `ColorDodge`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"ColorDodge\"] = 6] = \"ColorDodge\";\n /**\n * Specifies the type of `ColorBurn`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"ColorBurn\"] = 7] = \"ColorBurn\";\n /**\n * Specifies the type of `HardLight`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"HardLight\"] = 8] = \"HardLight\";\n /**\n * Specifies the type of `SoftLight`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"SoftLight\"] = 9] = \"SoftLight\";\n /**\n * Specifies the type of `Difference`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Difference\"] = 10] = \"Difference\";\n /**\n * Specifies the type of `Exclusion`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Exclusion\"] = 11] = \"Exclusion\";\n /**\n * Specifies the type of `Hue`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Hue\"] = 12] = \"Hue\";\n /**\n * Specifies the type of `Saturation`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Saturation\"] = 13] = \"Saturation\";\n /**\n * Specifies the type of `Color`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Color\"] = 14] = \"Color\";\n /**\n * Specifies the type of `Luminosity`.\n * @private\n */\n PdfBlendMode[PdfBlendMode[\"Luminosity\"] = 15] = \"Luminosity\";\n})(PdfBlendMode || (PdfBlendMode = {}));\n/**\n * public Enum for `PdfGraphicsUnit`.\n * @private\n */\nvar PdfGraphicsUnit;\n(function (PdfGraphicsUnit) {\n /**\n * Specifies the type of `Centimeter`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Centimeter\"] = 0] = \"Centimeter\";\n /**\n * Specifies the type of `Pica`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Pica\"] = 1] = \"Pica\";\n /**\n * Specifies the type of `Pixel`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Pixel\"] = 2] = \"Pixel\";\n /**\n * Specifies the type of `Point`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Point\"] = 3] = \"Point\";\n /**\n * Specifies the type of `Inch`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Inch\"] = 4] = \"Inch\";\n /**\n * Specifies the type of `Document`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Document\"] = 5] = \"Document\";\n /**\n * Specifies the type of `Millimeter`.\n * @private\n */\n PdfGraphicsUnit[PdfGraphicsUnit[\"Millimeter\"] = 6] = \"Millimeter\";\n})(PdfGraphicsUnit || (PdfGraphicsUnit = {}));\n/**\n * public Enum for `PdfGridImagePosition`.\n * @private\n */\nvar PdfGridImagePosition;\n(function (PdfGridImagePosition) {\n /**\n * Specifies the type of `Fit`.\n * @private\n */\n PdfGridImagePosition[PdfGridImagePosition[\"Fit\"] = 0] = \"Fit\";\n /**\n * Specifies the type of `Center`.\n * @private\n */\n PdfGridImagePosition[PdfGridImagePosition[\"Center\"] = 1] = \"Center\";\n /**\n * Specifies the type of `Stretch`.\n * @private\n */\n PdfGridImagePosition[PdfGridImagePosition[\"Stretch\"] = 2] = \"Stretch\";\n /**\n * Specifies the type of `Tile`.\n * @private\n */\n PdfGridImagePosition[PdfGridImagePosition[\"Tile\"] = 3] = \"Tile\";\n})(PdfGridImagePosition || (PdfGridImagePosition = {}));\n/**\n * public Enum for `the text rendering direction`.\n * @private\n */\nvar PdfTextDirection;\n(function (PdfTextDirection) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n PdfTextDirection[PdfTextDirection[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `LeftToRight`.\n * @private\n */\n PdfTextDirection[PdfTextDirection[\"LeftToRight\"] = 1] = \"LeftToRight\";\n /**\n * Specifies the type of `RightToLeft`.\n * @private\n */\n PdfTextDirection[PdfTextDirection[\"RightToLeft\"] = 2] = \"RightToLeft\";\n})(PdfTextDirection || (PdfTextDirection = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js": +/*!**************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ElementLayouter: () => (/* binding */ ElementLayouter),\n/* harmony export */ PdfLayoutFormat: () => (/* binding */ PdfLayoutFormat),\n/* harmony export */ PdfLayoutParams: () => (/* binding */ PdfLayoutParams),\n/* harmony export */ PdfLayoutResult: () => (/* binding */ PdfLayoutResult)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/**\n * ElementLayouter.ts class for EJ2-PDF\n */\n\n/**\n * Base class for `elements lay outing`.\n * @private\n */\nvar ElementLayouter = /** @class */ (function () {\n // Constructor\n /**\n * Initializes a new instance of the `ElementLayouter` class.\n * @private\n */\n function ElementLayouter(element) {\n this.layoutElement = element;\n }\n Object.defineProperty(ElementLayouter.prototype, \"elements\", {\n // Properties\n /**\n * Gets the `element`.\n * @private\n */\n get: function () {\n return this.layoutElement;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets the `element`.\n * @private\n */\n ElementLayouter.prototype.getElement = function () {\n return this.layoutElement;\n };\n // Implementation\n /**\n * `Layouts` the element.\n * @private\n */\n ElementLayouter.prototype.layout = function (param) {\n return this.layoutInternal(param);\n };\n ElementLayouter.prototype.Layouter = function (param) {\n return this.layoutInternal(param);\n };\n /**\n * Returns the `next page`.\n * @private\n */\n ElementLayouter.prototype.getNextPage = function (currentPage) {\n var section = currentPage.section;\n var nextPage = section.add();\n return nextPage;\n };\n ElementLayouter.prototype.getPaginateBounds = function (param) {\n if ((param == null)) {\n throw new Error('ArgumentNullException : param');\n }\n var result = param.format.usePaginateBounds ? param.format.paginateBounds\n : new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(param.bounds.x, 0, param.bounds.width, param.bounds.height);\n return result;\n };\n return ElementLayouter;\n}());\n\nvar PdfLayoutFormat = /** @class */ (function () {\n function PdfLayoutFormat(baseFormat) {\n if (typeof baseFormat === 'undefined') {\n //\n }\n else {\n this.break = baseFormat.break;\n this.layout = baseFormat.layout;\n this.paginateBounds = baseFormat.paginateBounds;\n this.boundsSet = baseFormat.usePaginateBounds;\n }\n }\n Object.defineProperty(PdfLayoutFormat.prototype, \"layout\", {\n // Properties\n /**\n * Gets or sets `layout` type of the element.\n * @private\n */\n get: function () {\n // if (typeof this.layoutType === 'undefined' || this.layoutType == null) {\n // this.layoutType = PdfLayoutType.Paginate;\n // }\n return this.layoutType;\n },\n set: function (value) {\n this.layoutType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutFormat.prototype, \"break\", {\n /**\n * Gets or sets `break` type of the element.\n * @private\n */\n get: function () {\n // if (typeof this.breakType === 'undefined' || this.boundsSet == null) {\n // this.breakType = PdfLayoutBreakType.FitPage;\n // }\n return this.breakType;\n },\n set: function (value) {\n this.breakType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutFormat.prototype, \"paginateBounds\", {\n /**\n * Gets or sets the `bounds` on the next page.\n * @private\n */\n get: function () {\n if (typeof this.layoutPaginateBounds === 'undefined' && this.layoutPaginateBounds == null) {\n this.layoutPaginateBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(0, 0, 0, 0);\n }\n return this.layoutPaginateBounds;\n },\n set: function (value) {\n this.layoutPaginateBounds = value;\n this.boundsSet = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutFormat.prototype, \"usePaginateBounds\", {\n /**\n * Gets a value indicating whether [`use paginate bounds`].\n * @private\n */\n get: function () {\n // if (typeof this.boundsSet === 'undefined' || this.boundsSet == null) {\n // this.boundsSet = false;\n // }\n return this.boundsSet;\n },\n enumerable: true,\n configurable: true\n });\n return PdfLayoutFormat;\n}());\n\nvar PdfLayoutParams = /** @class */ (function () {\n function PdfLayoutParams() {\n }\n Object.defineProperty(PdfLayoutParams.prototype, \"page\", {\n // Properties\n /**\n * Gets or sets the layout `page` for the element.\n * @private\n */\n get: function () {\n return this.pdfPage;\n },\n set: function (value) {\n this.pdfPage = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutParams.prototype, \"bounds\", {\n /**\n * Gets or sets layout `bounds` for the element.\n * @private\n */\n get: function () {\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(this.layoutBounds.x, this.layoutBounds.y, this.layoutBounds.width, this.layoutBounds.height);\n },\n set: function (value) {\n this.layoutBounds = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutParams.prototype, \"format\", {\n /**\n * Gets or sets `layout settings` for the element.\n * @private\n */\n get: function () {\n return this.layoutFormat;\n },\n set: function (value) {\n this.layoutFormat = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfLayoutParams;\n}());\n\nvar PdfLayoutResult = /** @class */ (function () {\n // Constructors\n /**\n * Initializes the new instance of `PdfLayoutResult` class.\n * @private\n */\n function PdfLayoutResult(page, bounds) {\n this.pdfPage = page;\n this.layoutBounds = bounds;\n }\n Object.defineProperty(PdfLayoutResult.prototype, \"page\", {\n // Properties\n /**\n * Gets the last `page` where the element was drawn.\n * @private\n */\n get: function () {\n return this.pdfPage;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutResult.prototype, \"bounds\", {\n /**\n * Gets the `bounds` of the element on the last page where it was drawn.\n * @private\n */\n get: function () {\n return this.layoutBounds;\n },\n enumerable: true,\n configurable: true\n });\n return PdfLayoutResult;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/graphics-element.js": +/*!**************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/graphics-element.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGraphicsElement: () => (/* binding */ PdfGraphicsElement)\n/* harmony export */ });\n/**\n * Represents a base class for all page graphics elements.\n */\nvar PdfGraphicsElement = /** @class */ (function () {\n // Constructors\n function PdfGraphicsElement() {\n //\n }\n /**\n * `Draws` the page number field.\n * @public\n */\n PdfGraphicsElement.prototype.drawHelper = function (graphics, x, y) {\n var bNeedSave = (x !== 0 || y !== 0);\n var gState = null;\n // Translate co-ordinates.\n if (bNeedSave) {\n // Save state.\n gState = graphics.save();\n graphics.translateTransform(x, y);\n }\n this.drawInternal(graphics);\n if (bNeedSave) {\n // Restore state.\n graphics.restore(gState);\n }\n };\n return PdfGraphicsElement;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/graphics-element.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/text-layouter.js": +/*!***********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/text-layouter.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTextLayoutResult: () => (/* binding */ PdfTextLayoutResult),\n/* harmony export */ TextLayouter: () => (/* binding */ TextLayouter),\n/* harmony export */ TextPageLayoutResult: () => (/* binding */ TextPageLayoutResult)\n/* harmony export */ });\n/* harmony import */ var _element_layouter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./element-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js\");\n/* harmony import */ var _text_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../text-element */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/text-element.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _figures_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../figures/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js\");\n/* harmony import */ var _pdf_color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../../pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _annotations_pdf_text_web_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../../annotations/pdf-text-web-link */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * TextLayouter.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n/**\n * Class that `layouts the text`.\n * @private\n */\nvar TextLayouter = /** @class */ (function (_super) {\n __extends(TextLayouter, _super);\n // Constructors\n /**\n * Initializes a new instance of the `TextLayouter` class.\n * @private\n */\n function TextLayouter(element) {\n return _super.call(this, element) || this;\n }\n Object.defineProperty(TextLayouter.prototype, \"element\", {\n /**\n * Gets the layout `element`.\n * @private\n */\n get: function () {\n return _super.prototype.getElement.call(this);\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Layouts` the element.\n * @private\n */\n TextLayouter.prototype.layoutInternal = function (param) {\n /* tslint:disable */\n this.format = (this.element.stringFormat !== null && typeof this.element.stringFormat !== 'undefined') ? this.element.stringFormat : null;\n var currentPage = param.page;\n var currentBounds = param.bounds;\n var text = this.element.value;\n var result = null;\n var pageResult = new TextPageLayoutResult();\n pageResult.page = currentPage;\n pageResult.remainder = text;\n for (;;) {\n pageResult = this.layoutOnPage(text, currentPage, currentBounds, param);\n result = this.getLayoutResult(pageResult);\n break;\n }\n /* tslint:enable */\n return result;\n };\n /**\n * Raises `PageLayout` event if needed.\n * @private\n */\n TextLayouter.prototype.getLayoutResult = function (pageResult) {\n var result = new PdfTextLayoutResult(pageResult.page, pageResult.bounds, pageResult.remainder, pageResult.lastLineBounds);\n return result;\n };\n /* tslint:disable */\n /**\n * `Layouts` the text on the page.\n * @private\n */\n TextLayouter.prototype.layoutOnPage = function (text, currentPage, currentBounds, param) {\n var result = new TextPageLayoutResult();\n result.remainder = text;\n result.page = currentPage;\n currentBounds = this.checkCorrectBounds(currentPage, currentBounds);\n var layouter = new _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_0__.PdfStringLayouter();\n var stringResult = layouter.layout(text, this.element.font, this.format, currentBounds, currentPage.getClientSize().height, false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.SizeF(0, 0));\n var textFinished = (stringResult.remainder == null);\n var doesntFit = (param.format.break === _figures_enum__WEBPACK_IMPORTED_MODULE_2__.PdfLayoutBreakType.FitElement);\n var canDraw = !(doesntFit || stringResult.empty);\n // Draw the text.\n var graphics = currentPage.graphics;\n var brush = this.element.getBrush();\n if (this.element instanceof _annotations_pdf_text_web_link__WEBPACK_IMPORTED_MODULE_3__.PdfTextWebLink) {\n brush.color = new _pdf_color__WEBPACK_IMPORTED_MODULE_4__.PdfColor(0, 0, 255);\n if (!this.element._isLastElement && this.element.stringFormat && this.element.stringFormat.alignment === _enum__WEBPACK_IMPORTED_MODULE_5__.PdfTextAlignment.Justify) {\n stringResult.layoutLines[0].type = _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_0__.LineType.LayoutBreak | _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_0__.LineType.FirstParagraphLine;\n }\n }\n if (this.element && this.element instanceof _text_element__WEBPACK_IMPORTED_MODULE_6__.PdfTextElement && !this.element._isLastElement && this.element.stringFormat && this.element.stringFormat.alignment === _enum__WEBPACK_IMPORTED_MODULE_5__.PdfTextAlignment.Justify) {\n stringResult.layoutLines[0].type = _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_0__.LineType.LayoutBreak | _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_0__.LineType.FirstParagraphLine;\n }\n graphics.drawStringLayoutResult(stringResult, this.element.font, this.element.pen, brush, currentBounds, this.format);\n var lineInfo = stringResult.lines[stringResult.lineCount - 1];\n result.lastLineBounds = graphics.getLineBounds(stringResult.lineCount - 1, stringResult, this.element.font, currentBounds, this.format);\n result.bounds = this.getTextPageBounds(currentPage, currentBounds, stringResult);\n result.remainder = stringResult.remainder;\n result.end = (textFinished);\n return result;\n };\n /* tslint:enable */\n /**\n * `Corrects current bounds` on the page.\n * @private\n */\n TextLayouter.prototype.checkCorrectBounds = function (currentPage, currentBounds) {\n var pageSize = currentPage.graphics.clientSize;\n currentBounds.height = (currentBounds.height > 0) ? currentBounds.height : pageSize.height - currentBounds.y;\n return currentBounds;\n };\n /**\n * Returns a `rectangle` where the text was printed on the page.\n * @private\n */\n /* tslint:disable */\n TextLayouter.prototype.getTextPageBounds = function (currentPage, currentBounds, stringResult) {\n var textSize = stringResult.actualSize;\n var x = currentBounds.x;\n var y = currentBounds.y;\n var width = (currentBounds.width > 0) ? currentBounds.width : textSize.width;\n var height = textSize.height;\n var shiftedRect = currentPage.graphics.checkCorrectLayoutRectangle(textSize, currentBounds.x, currentBounds.y, this.format);\n // if (currentBounds.width <= 0) {\n x = shiftedRect.x;\n // }\n var verticalShift = currentPage.graphics.getTextVerticalAlignShift(textSize.height, currentBounds.height, this.format);\n y += verticalShift;\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.RectangleF(x, y, width, height);\n return bounds;\n };\n return TextLayouter;\n}(_element_layouter__WEBPACK_IMPORTED_MODULE_7__.ElementLayouter));\n\nvar TextPageLayoutResult = /** @class */ (function () {\n function TextPageLayoutResult() {\n }\n return TextPageLayoutResult;\n}());\n\nvar PdfTextLayoutResult = /** @class */ (function (_super) {\n __extends(PdfTextLayoutResult, _super);\n // Constructors\n /**\n * Initializes the new instance of `PdfTextLayoutResult` class.\n * @private\n */\n function PdfTextLayoutResult(page, bounds, remainder, lastLineBounds) {\n var _this = _super.call(this, page, bounds) || this;\n _this.remainderText = remainder;\n _this.lastLineTextBounds = lastLineBounds;\n return _this;\n }\n Object.defineProperty(PdfTextLayoutResult.prototype, \"remainder\", {\n // Properties\n /**\n * Gets a value that contains the `text` that was not printed.\n * @private\n */\n get: function () {\n return this.remainderText;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTextLayoutResult.prototype, \"lastLineBounds\", {\n /**\n * Gets a value that indicates the `bounds` of the last line that was printed on the page.\n * @private\n */\n get: function () {\n return this.lastLineTextBounds;\n },\n enumerable: true,\n configurable: true\n });\n return PdfTextLayoutResult;\n}(_element_layouter__WEBPACK_IMPORTED_MODULE_7__.PdfLayoutResult));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/text-layouter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PathPointType: () => (/* binding */ PathPointType),\n/* harmony export */ PdfLayoutBreakType: () => (/* binding */ PdfLayoutBreakType),\n/* harmony export */ PdfLayoutType: () => (/* binding */ PdfLayoutType)\n/* harmony export */ });\n/**\n * public Enum for `PdfLayoutType`.\n * @private\n */\nvar PdfLayoutType;\n(function (PdfLayoutType) {\n /**\n * Specifies the type of `Paginate`.\n * @private\n */\n PdfLayoutType[PdfLayoutType[\"Paginate\"] = 0] = \"Paginate\";\n /**\n * Specifies the type of `OnePage`.\n * @private\n */\n PdfLayoutType[PdfLayoutType[\"OnePage\"] = 1] = \"OnePage\";\n})(PdfLayoutType || (PdfLayoutType = {}));\n/**\n * public Enum for `PdfLayoutBreakType`.\n * @private\n */\nvar PdfLayoutBreakType;\n(function (PdfLayoutBreakType) {\n /**\n * Specifies the type of `FitPage`.\n * @private\n */\n PdfLayoutBreakType[PdfLayoutBreakType[\"FitPage\"] = 0] = \"FitPage\";\n /**\n * Specifies the type of `FitElement`.\n * @private\n */\n PdfLayoutBreakType[PdfLayoutBreakType[\"FitElement\"] = 1] = \"FitElement\";\n /**\n * Specifies the type of `FitColumnsToPage`.\n * @private\n */\n PdfLayoutBreakType[PdfLayoutBreakType[\"FitColumnsToPage\"] = 2] = \"FitColumnsToPage\";\n})(PdfLayoutBreakType || (PdfLayoutBreakType = {}));\nvar PathPointType;\n(function (PathPointType) {\n /**\n * Specifies the path point type of `Start`.\n * @private\n */\n PathPointType[PathPointType[\"Start\"] = 0] = \"Start\";\n /**\n * Specifies the path point type of `Line`.\n * @private\n */\n PathPointType[PathPointType[\"Line\"] = 1] = \"Line\";\n /**\n * Specifies the path point type of `Bezier3`.\n * @private\n */\n PathPointType[PathPointType[\"Bezier3\"] = 3] = \"Bezier3\";\n /**\n * Specifies the path point type of `Bezier`.\n * @private\n */\n PathPointType[PathPointType[\"Bezier\"] = 3] = \"Bezier\";\n /**\n * Specifies the path point type of `PathTypeMask`.\n * @private\n */\n PathPointType[PathPointType[\"PathTypeMask\"] = 7] = \"PathTypeMask\";\n /**\n * Specifies the path point type of `DashMode`.\n * @private\n */\n PathPointType[PathPointType[\"DashMode\"] = 16] = \"DashMode\";\n /**\n * Specifies the path point type of `PathMarker`.\n * @private\n */\n PathPointType[PathPointType[\"PathMarker\"] = 32] = \"PathMarker\";\n /**\n * Specifies the path point type of `CloseSubpath`.\n * @private\n */\n PathPointType[PathPointType[\"CloseSubpath\"] = 128] = \"CloseSubpath\";\n})(PathPointType || (PathPointType = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfLayoutElement: () => (/* binding */ PdfLayoutElement)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _base_element_layouter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base/element-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js\");\n/* harmony import */ var _structured_elements_grid_styles_pdf_borders__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../structured-elements/grid/styles/pdf-borders */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js\");\n\n\n\n/**\n * `PdfLayoutElement` class represents the base class for all elements that can be layout on the pages.\n * @private\n */\nvar PdfLayoutElement = /** @class */ (function () {\n function PdfLayoutElement() {\n }\n Object.defineProperty(PdfLayoutElement.prototype, \"raiseBeginPageLayout\", {\n // Property\n /**\n * Gets a value indicating whether the `start page layout event` should be raised.\n * @private\n */\n get: function () {\n return (typeof this.beginPageLayout !== 'undefined');\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfLayoutElement.prototype, \"raiseEndPageLayout\", {\n /**\n * Gets a value indicating whether the `ending page layout event` should be raised.\n * @private\n */\n get: function () {\n return (typeof this.endPageLayout !== 'undefined');\n },\n enumerable: true,\n configurable: true\n });\n //Event Handlers\n PdfLayoutElement.prototype.onBeginPageLayout = function (args) {\n if (this.beginPageLayout) {\n this.beginPageLayout(this, args);\n }\n };\n PdfLayoutElement.prototype.onEndPageLayout = function (args) {\n if (this.endPageLayout) {\n this.endPageLayout(this, args);\n }\n };\n PdfLayoutElement.prototype.drawHelper = function (arg2, arg3, arg4, arg5) {\n if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && typeof arg3.width === 'undefined' && typeof arg4 === 'undefined') {\n return this.drawHelper(arg2, arg3.x, arg3.y);\n }\n else if (typeof arg3 === 'number' && typeof arg4 === 'number' && typeof arg5 === 'undefined') {\n return this.drawHelper(arg2, arg3, arg4, null);\n }\n else if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF && typeof arg3.width !== 'undefined' && typeof arg4 === 'undefined') {\n return this.drawHelper(arg2, arg3, null);\n }\n else if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && typeof arg3.width === 'undefined' && arg4 instanceof _base_element_layouter__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutFormat) {\n return this.drawHelper(arg2, arg3.x, arg3.y, arg4);\n }\n else if (typeof arg3 === 'number' && typeof arg4 === 'number' && (arg5 instanceof _base_element_layouter__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutFormat || arg5 == null)) {\n var width = (arg2.graphics.clientSize.width - arg3);\n var layoutRectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(arg3, arg4, width, 0);\n return this.drawHelper(arg2, layoutRectangle, arg5);\n }\n else if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF && typeof arg3.width !== 'undefined' && typeof arg4 === 'boolean') {\n this.bEmbedFonts = arg4;\n return this.drawHelper(arg2, arg3, null);\n }\n else {\n var param = new _base_element_layouter__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutParams();\n var temparg3 = arg3;\n var temparg4 = arg4;\n param.page = arg2;\n param.bounds = temparg3;\n if (param != null) {\n var x = param.bounds.x;\n var y = param.bounds.y;\n if (param.bounds.x === 0) {\n x = _structured_elements_grid_styles_pdf_borders__WEBPACK_IMPORTED_MODULE_2__.PdfBorders.default.right.width / 2;\n }\n if (param.bounds.y === 0) {\n y = _structured_elements_grid_styles_pdf_borders__WEBPACK_IMPORTED_MODULE_2__.PdfBorders.default.top.width / 2;\n }\n var newBound = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(x, y, param.bounds.width, param.bounds.height);\n param.bounds = newBound;\n }\n param.format = (temparg4 != null) ? temparg4 : new _base_element_layouter__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutFormat();\n var result = this.layout(param);\n return result;\n }\n };\n return PdfLayoutElement;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTemplate: () => (/* binding */ PdfTemplate)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _pdf_graphics__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../pdf-graphics */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.js\");\n/* harmony import */ var _pdf_resources__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../pdf-resources */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/**\n * PdfTemplate.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n/**\n * Represents `Pdf Template` object.\n * @private\n */\nvar PdfTemplate = /** @class */ (function () {\n function PdfTemplate(arg1, arg2) {\n /**\n * Initialize an instance for `DictionaryProperties` class.\n * @private\n * @hidden\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n /**\n * Checks whether the transformation 'is performed'.\n * @default true\n * @private\n */\n this.writeTransformation = true;\n if (typeof arg1 === 'undefined') {\n //\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.SizeF && typeof arg2 === 'undefined') {\n this.content = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream();\n var tempSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.SizeF(arg1.width, arg1.height);\n this.setSize(tempSize);\n this.initialize();\n }\n else {\n this.content = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream();\n this.setSize(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.SizeF(arg1, arg2));\n this.initialize();\n }\n }\n Object.defineProperty(PdfTemplate.prototype, \"size\", {\n //Properties\n /**\n * Gets the size of the 'PdfTemplate'.\n */\n get: function () {\n return this.templateSize;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTemplate.prototype, \"width\", {\n /**\n * Gets the width of the 'PdfTemplate'.\n */\n get: function () {\n return this.size.width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTemplate.prototype, \"height\", {\n /**\n * Gets the height of the 'PdfTemplate'.\n */\n get: function () {\n return this.size.height;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTemplate.prototype, \"graphics\", {\n /**\n * Gets the `graphics` of the 'PdfTemplate'.\n */\n get: function () {\n if (this.pdfGraphics == null || typeof this.pdfGraphics === 'undefined') {\n var gr = new _pdf_graphics__WEBPACK_IMPORTED_MODULE_3__.GetResourceEventHandler(this);\n var g = new _pdf_graphics__WEBPACK_IMPORTED_MODULE_3__.PdfGraphics(this.size, gr, this.content);\n this.pdfGraphics = g;\n // if(this.writeTransformation) {\n // Transform co-ordinates to Top/Left.\n this.pdfGraphics.initializeCoordinates();\n // }\n }\n return this.pdfGraphics;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets the resources and modifies the template dictionary.\n * @private\n */\n PdfTemplate.prototype.getResources = function () {\n if (this.resources == null) {\n this.resources = new _pdf_resources__WEBPACK_IMPORTED_MODULE_4__.PdfResources();\n this.content.items.setValue(this.dictionaryProperties.resources, this.resources);\n }\n return this.resources;\n };\n // Public methods\n /**\n * `Initialize` the type and subtype of the template.\n * @private\n */\n PdfTemplate.prototype.initialize = function () {\n this.addType();\n this.addSubType();\n };\n /**\n * `Adds type key`.\n * @private\n */\n PdfTemplate.prototype.addType = function () {\n var value = new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_5__.PdfName(this.dictionaryProperties.xObject);\n this.content.items.setValue(this.dictionaryProperties.type, value);\n };\n /**\n * `Adds SubType key`.\n * @private\n */\n PdfTemplate.prototype.addSubType = function () {\n var value = new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_5__.PdfName(this.dictionaryProperties.form);\n this.content.items.setValue(this.dictionaryProperties.subtype, value);\n };\n PdfTemplate.prototype.reset = function (size) {\n if (typeof size === 'undefined') {\n if (this.resources != null) {\n this.resources = null;\n this.content.remove(this.dictionaryProperties.resources);\n }\n if (this.graphics != null) {\n this.graphics.reset(this.size);\n }\n }\n else {\n this.setSize(size);\n this.reset();\n }\n };\n /**\n * `Set the size` of the 'PdfTemplate'.\n * @private\n */\n PdfTemplate.prototype.setSize = function (size) {\n var rect = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.PointF(0, 0), size);\n var val = _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_6__.PdfArray.fromRectangle(rect);\n this.content.items.setValue(this.dictionaryProperties.bBox, val);\n this.templateSize = size;\n };\n Object.defineProperty(PdfTemplate.prototype, \"element\", {\n // /**\n // * Returns the value of current graphics.\n // * @private\n // */\n // public GetGraphics(g : PdfGraphics) : PdfGraphics {\n // if (this.graphics == null || typeof this.graphics === 'undefined') {\n // this.graphics = g;\n // this.graphics.Size = this.Size;\n // this.graphics.StreamWriter = new PdfStreamWriter(this.content)\n // this.graphics.Initialize();\n // if(this.writeTransformation) {\n // this.graphics.InitializeCoordinates();\n // }\n // }\n // return this.graphics;\n // }\n // IPdfWrapper Members\n /**\n * Gets the `content stream` of 'PdfTemplate' class.\n * @private\n */\n get: function () {\n return this.content;\n },\n enumerable: true,\n configurable: true\n });\n return PdfTemplate;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/text-element.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/text-element.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTextElement: () => (/* binding */ PdfTextElement)\n/* harmony export */ });\n/* harmony import */ var _figures_layout_element__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./../figures/layout-element */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.js\");\n/* harmony import */ var _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../brushes/pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../fonts/pdf-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js\");\n/* harmony import */ var _fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../fonts/pdf-standard-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js\");\n/* harmony import */ var _pdf_pen__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../pdf-pen */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js\");\n/* harmony import */ var _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./base/element-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js\");\n/* harmony import */ var _base_text_layouter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./base/text-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/text-layouter.js\");\n/* harmony import */ var _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../brushes/pdf-solid-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _pdf_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfTextElement.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfTextElement` class represents the text area with the ability to span several pages\n * and inherited from the 'PdfLayoutElement' class.\n * @private\n */\nvar PdfTextElement = /** @class */ (function (_super) {\n __extends(PdfTextElement, _super);\n function PdfTextElement(arg1, arg2, arg3, arg4, arg5) {\n var _this = _super.call(this) || this;\n // Fields\n /**\n * `Text` data.\n * @private\n */\n _this.content = '';\n /**\n * `Value` of text data.\n * @private\n */\n _this.elementValue = '';\n /**\n * indicate whether the drawText with PointF overload is called or not.\n * @default false\n * @private\n */\n _this.hasPointOverload = false;\n _this._isLastElement = false;\n /**\n * indicate whether the PdfGridCell value is `PdfTextElement`\n * @default false\n * @private\n */\n _this.isPdfTextElement = false;\n if (typeof arg1 === 'undefined') {\n //\n }\n else if (typeof arg1 === 'string' && typeof arg2 === 'undefined') {\n _this.content = arg1;\n _this.elementValue = arg1;\n }\n else if (typeof arg1 === 'string' && arg2 instanceof _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_0__.PdfFont && typeof arg3 === 'undefined') {\n _this.content = arg1;\n _this.elementValue = arg1;\n _this.pdfFont = arg2;\n }\n else if (typeof arg1 === 'string' && arg2 instanceof _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_0__.PdfFont && arg3 instanceof _pdf_pen__WEBPACK_IMPORTED_MODULE_1__.PdfPen && typeof arg4 === 'undefined') {\n _this.content = arg1;\n _this.elementValue = arg1;\n _this.pdfFont = arg2;\n _this.pdfPen = arg3;\n }\n else if (typeof arg1 === 'string' && arg2 instanceof _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_0__.PdfFont && arg3 instanceof _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_2__.PdfBrush && typeof arg4 === 'undefined') {\n _this.content = arg1;\n _this.elementValue = arg1;\n _this.pdfFont = arg2;\n _this.pdfBrush = arg3;\n }\n else {\n _this.content = arg1;\n _this.elementValue = arg1;\n _this.pdfFont = arg2;\n _this.pdfPen = arg3;\n _this.pdfBrush = arg4;\n _this.format = arg5;\n }\n return _this;\n }\n Object.defineProperty(PdfTextElement.prototype, \"text\", {\n // Properties\n /**\n * Gets or sets a value indicating the `text` that should be printed.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * // create the font\n * let font : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);\n * // create the Text Web Link\n * let textLink : PdfTextWebLink = new PdfTextWebLink();\n * // set the hyperlink\n * textLink.url = 'http://www.google.com';\n * //\n * // set the link text\n * textLink.text = 'Google';\n * //\n * // set the font\n * textLink.font = font;\n * // draw the hyperlink in PDF page\n * textLink.draw(page1, new PointF(10, 40));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.content;\n },\n set: function (value) {\n this.elementValue = value;\n this.content = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTextElement.prototype, \"value\", {\n //get value\n /**\n * Gets or sets a `value` indicating the text that should be printed.\n * @private\n */\n get: function () {\n return this.elementValue;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTextElement.prototype, \"pen\", {\n //get pen\n /**\n * Gets or sets a `PdfPen` that determines the color, width, and style of the text\n * @private\n */\n get: function () {\n return this.pdfPen;\n },\n //Set pen value\n set: function (value) {\n this.pdfPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTextElement.prototype, \"brush\", {\n //get brush\n /**\n * Gets or sets the `PdfBrush` that will be used to draw the text with color and texture.\n * @private\n */\n get: function () {\n return this.pdfBrush;\n },\n //Set brush value\n set: function (value) {\n this.pdfBrush = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTextElement.prototype, \"font\", {\n //get font\n /**\n * Gets or sets a `PdfFont` that defines the text format.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * // create the font\n * let font : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);\n * // create the Text Web Link\n * let textLink : PdfTextWebLink = new PdfTextWebLink();\n * // set the hyperlink\n * textLink.url = 'http://www.google.com';\n * // set the link text\n * textLink.text = 'Google';\n * //\n * // set the font\n * textLink.font = font;\n * //\n * // draw the hyperlink in PDF page\n * textLink.draw(page1, new PointF(10, 40));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.pdfFont;\n },\n set: function (value) {\n this.pdfFont = value;\n if (this.pdfFont instanceof _fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_3__.PdfStandardFont && this.content != null) {\n this.elementValue = _fonts_pdf_standard_font__WEBPACK_IMPORTED_MODULE_3__.PdfStandardFont.convert(this.content);\n }\n else {\n this.elementValue = this.content;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfTextElement.prototype, \"stringFormat\", {\n /**\n * Gets or sets the `PdfStringFormat` that will be used to set the string format\n * @private\n */\n get: function () {\n return this.format;\n },\n set: function (value) {\n this.format = value;\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * Gets a `brush` for drawing.\n * @private\n */\n PdfTextElement.prototype.getBrush = function () {\n return (this.pdfBrush == null || typeof this.pdfBrush === 'undefined') ? new _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_4__.PdfSolidBrush(new _pdf_color__WEBPACK_IMPORTED_MODULE_5__.PdfColor(0, 0, 0)) : this.pdfBrush;\n };\n // /**\n // * `Draws` an element on the Graphics.\n // * @private\n // */\n // public drawInternal(graphics : PdfGraphics) : void {\n // graphics.drawString(this.elementValue, this.pdfFont, this.pdfPen, this.getBrush(), 0, 0, this.stringFormat);\n // }\n /**\n * `Layouts` the element.\n * @private\n */\n PdfTextElement.prototype.layout = function (param) {\n var layouter = new _base_text_layouter__WEBPACK_IMPORTED_MODULE_6__.TextLayouter(this);\n var result = layouter.layout(param);\n return result;\n };\n PdfTextElement.prototype.drawText = function (arg2, arg3, arg4, arg5) {\n if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.PointF && typeof arg3.width === 'undefined' && typeof arg4 === 'undefined') {\n this.hasPointOverload = true;\n return this.drawText(arg2, arg3.x, arg3.y);\n }\n else if (typeof arg3 === 'number' && typeof arg4 === 'number' && typeof arg5 === 'undefined') {\n this.hasPointOverload = true;\n return this.drawText(arg2, arg3, arg4, null);\n }\n else if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF && typeof arg3.width !== 'undefined' && typeof arg4 === 'undefined') {\n return this.drawText(arg2, arg3, null);\n }\n else if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.PointF && typeof arg3.width === 'undefined' && arg4 instanceof _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__.PdfLayoutFormat) {\n this.hasPointOverload = true;\n return this.drawText(arg2, arg3.x, arg3.y, arg4);\n }\n else if (typeof arg3 === 'number' && typeof arg4 === 'number' && (arg5 instanceof _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__.PdfLayoutFormat || arg5 == null)) {\n this.hasPointOverload = true;\n var width = (arg2.graphics.clientSize.width - arg3);\n var layoutRectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(arg3, arg4, width, 0);\n return this.drawText(arg2, layoutRectangle, arg5);\n }\n else if (arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF && typeof arg3.width !== 'undefined' && typeof arg4 === 'boolean') {\n return this.drawText(arg2, arg3, null);\n }\n else {\n var layout = new _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_9__.PdfStringLayouter();\n if (this.hasPointOverload) {\n var stringLayoutResult = layout.layout(this.value, this.font, this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.SizeF((arg2.graphics.clientSize.width - arg3.x), 0), true, arg2.graphics.clientSize);\n var layoutResult = void 0;\n var param = new _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__.PdfLayoutParams();\n var temparg3 = arg3;\n var temparg4 = arg4;\n param.page = arg2;\n var previousPage = arg2;\n param.bounds = temparg3;\n param.format = (temparg4 != null) ? temparg4 : new _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__.PdfLayoutFormat();\n if (stringLayoutResult.lines.length > 1) {\n this.text = stringLayoutResult.layoutLines[0].text;\n if (param.bounds.y <= param.page.graphics.clientSize.height) {\n var previousPosition = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.PointF(param.bounds.x, param.bounds.y);\n layoutResult = this.layout(param);\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(0, layoutResult.bounds.y + stringLayoutResult.lineHeight, arg2.graphics.clientSize.width, stringLayoutResult.lineHeight);\n var isPaginate = false;\n for (var i = 1; i < stringLayoutResult.lines.length; i++) {\n param.page = layoutResult.page;\n param.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.PointF(bounds.x, bounds.y), new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.SizeF(bounds.width, bounds.height));\n this.text = stringLayoutResult.layoutLines[i].text;\n if (bounds.y + stringLayoutResult.lineHeight > layoutResult.page.graphics.clientSize.height) {\n isPaginate = true;\n param.page = param.page.graphics.getNextPage();\n if (previousPosition.y > (layoutResult.page.graphics.clientSize.height - layoutResult.bounds.height)) {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(0, layoutResult.bounds.height, layoutResult.page.graphics.clientSize.width, stringLayoutResult.lineHeight);\n }\n else {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(0, 0, layoutResult.page.graphics.clientSize.width, stringLayoutResult.lineHeight);\n }\n param.bounds = bounds;\n }\n if (i === stringLayoutResult.lines.length - 1) {\n this._isLastElement = true;\n }\n layoutResult = this.layout(param);\n if (i !== (stringLayoutResult.lines.length - 1)) {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(0, layoutResult.bounds.y + stringLayoutResult.lineHeight, layoutResult.page.graphics.clientSize.width, stringLayoutResult.lineHeight);\n }\n else {\n var lineWidth = this.font.measureString(this.text, this.format).width;\n layoutResult = this.calculateResultBounds(layoutResult, lineWidth, layoutResult.page.graphics.clientSize.width, 0);\n }\n }\n }\n return layoutResult;\n }\n else {\n var lineSize = this.font.measureString(this.text, this.format);\n if (param.bounds.y <= param.page.graphics.clientSize.height) {\n layoutResult = this.layout(param);\n layoutResult = this.calculateResultBounds(layoutResult, lineSize.width, layoutResult.page.graphics.clientSize.width, 0);\n }\n return layoutResult;\n }\n }\n else {\n var layoutResult = layout.layout(this.value, this.font, this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.SizeF(arg3.width, 0), false, arg2.graphics.clientSize);\n var result = void 0;\n var param = new _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__.PdfLayoutParams();\n var temparg3 = arg3;\n var temparg4 = arg4;\n param.page = arg2;\n param.bounds = temparg3;\n param.format = (temparg4 != null) ? temparg4 : new _base_element_layouter__WEBPACK_IMPORTED_MODULE_8__.PdfLayoutFormat();\n if (layoutResult.lines.length > 1) {\n this.text = layoutResult.layoutLines[0].text;\n if (param.bounds.y <= param.page.graphics.clientSize.height) {\n var previousPosition = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.PointF(param.bounds.x, param.bounds.y);\n result = this.layout(param);\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(temparg3.x, result.bounds.y + layoutResult.lineHeight, temparg3.width, layoutResult.lineHeight);\n var isPaginate = false;\n for (var i = 1; i < layoutResult.lines.length; i++) {\n param.page = result.page;\n param.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(bounds.x, bounds.y, bounds.width, bounds.height);\n this.text = layoutResult.layoutLines[i].text;\n if (bounds.y + layoutResult.lineHeight > result.page.graphics.clientSize.height) {\n isPaginate = true;\n param.page = param.page.graphics.getNextPage();\n if (previousPosition.y > (result.page.graphics.clientSize.height - result.bounds.height)) {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(temparg3.x, layoutResult.lineHeight, temparg3.width, layoutResult.lineHeight);\n }\n else {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(temparg3.x, 0, temparg3.width, layoutResult.lineHeight);\n }\n param.bounds = bounds;\n }\n result = this.layout(param);\n if (i !== (layoutResult.lines.length - 1)) {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_7__.RectangleF(temparg3.x, result.bounds.y + layoutResult.lineHeight, temparg3.width, layoutResult.lineHeight);\n }\n else {\n var lineWidth = this.font.measureString(this.text, this.format).width;\n result = this.calculateResultBounds(result, lineWidth, temparg3.width, temparg3.x);\n }\n }\n }\n return result;\n }\n else {\n var lineSize = this.font.measureString(this.text, this.format);\n if (param.bounds.y <= param.page.graphics.clientSize.height) {\n result = this.layout(param);\n result = this.calculateResultBounds(result, lineSize.width, temparg3.width, temparg3.x);\n }\n return result;\n }\n }\n }\n };\n PdfTextElement.prototype.calculateResultBounds = function (result, lineWidth, maximumWidth, startPosition) {\n var shift = 0;\n if (this.stringFormat != null && typeof this.stringFormat !== 'undefined' && this.stringFormat.alignment === _enum__WEBPACK_IMPORTED_MODULE_10__.PdfTextAlignment.Center) {\n result.bounds.x = startPosition + (maximumWidth - lineWidth) / 2;\n result.bounds.width = lineWidth;\n }\n else if (this.stringFormat != null && typeof this.stringFormat !== 'undefined' && this.stringFormat.alignment === _enum__WEBPACK_IMPORTED_MODULE_10__.PdfTextAlignment.Right) {\n result.bounds.x = startPosition + (maximumWidth - lineWidth);\n result.bounds.width = lineWidth;\n }\n else if (this.stringFormat != null && typeof this.stringFormat !== 'undefined' && this.stringFormat.alignment === _enum__WEBPACK_IMPORTED_MODULE_10__.PdfTextAlignment.Justify) {\n result.bounds.x = startPosition;\n result.bounds.width = maximumWidth;\n }\n else {\n result.bounds.width = startPosition;\n result.bounds.width = lineWidth;\n }\n return result;\n };\n return PdfTextElement;\n}(_figures_layout_element__WEBPACK_IMPORTED_MODULE_11__.PdfLayoutElement));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/text-element.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FontDescriptorFlags: () => (/* binding */ FontDescriptorFlags),\n/* harmony export */ FontEncoding: () => (/* binding */ FontEncoding),\n/* harmony export */ PdfFontFamily: () => (/* binding */ PdfFontFamily),\n/* harmony export */ PdfFontStyle: () => (/* binding */ PdfFontStyle),\n/* harmony export */ PdfFontType: () => (/* binding */ PdfFontType),\n/* harmony export */ PdfSubSuperScript: () => (/* binding */ PdfSubSuperScript),\n/* harmony export */ PdfWordWrapType: () => (/* binding */ PdfWordWrapType),\n/* harmony export */ TtfCmapEncoding: () => (/* binding */ TtfCmapEncoding),\n/* harmony export */ TtfCmapFormat: () => (/* binding */ TtfCmapFormat),\n/* harmony export */ TtfCompositeGlyphFlags: () => (/* binding */ TtfCompositeGlyphFlags),\n/* harmony export */ TtfMacintoshEncodingID: () => (/* binding */ TtfMacintoshEncodingID),\n/* harmony export */ TtfMicrosoftEncodingID: () => (/* binding */ TtfMicrosoftEncodingID),\n/* harmony export */ TtfPlatformID: () => (/* binding */ TtfPlatformID)\n/* harmony export */ });\n/**\n * public Enum for `PdfFontStyle`.\n * @private\n */\nvar PdfFontStyle;\n(function (PdfFontStyle) {\n /**\n * Specifies the type of `Regular`.\n * @private\n */\n PdfFontStyle[PdfFontStyle[\"Regular\"] = 0] = \"Regular\";\n /**\n * Specifies the type of `Bold`.\n * @private\n */\n PdfFontStyle[PdfFontStyle[\"Bold\"] = 1] = \"Bold\";\n /**\n * Specifies the type of `Italic`.\n * @private\n */\n PdfFontStyle[PdfFontStyle[\"Italic\"] = 2] = \"Italic\";\n /**\n * Specifies the type of `Underline`.\n * @private\n */\n PdfFontStyle[PdfFontStyle[\"Underline\"] = 4] = \"Underline\";\n /**\n * Specifies the type of `Strikeout`.\n * @private\n */\n PdfFontStyle[PdfFontStyle[\"Strikeout\"] = 8] = \"Strikeout\";\n})(PdfFontStyle || (PdfFontStyle = {}));\n/**\n * Specifies the font family from the standard font.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * // create new standard font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * ```\n */\nvar PdfFontFamily;\n(function (PdfFontFamily) {\n /**\n * Specifies the `Helvetica` font.\n */\n PdfFontFamily[PdfFontFamily[\"Helvetica\"] = 0] = \"Helvetica\";\n /**\n * Specifies the `Courier` font.\n */\n PdfFontFamily[PdfFontFamily[\"Courier\"] = 1] = \"Courier\";\n /**\n * Specifies the `TimesRoman` font.\n */\n PdfFontFamily[PdfFontFamily[\"TimesRoman\"] = 2] = \"TimesRoman\";\n /**\n * Specifies the `Symbol` font.\n */\n PdfFontFamily[PdfFontFamily[\"Symbol\"] = 3] = \"Symbol\";\n /**\n * Specifies the `ZapfDingbats` font.\n */\n PdfFontFamily[PdfFontFamily[\"ZapfDingbats\"] = 4] = \"ZapfDingbats\";\n})(PdfFontFamily || (PdfFontFamily = {}));\n/**\n * public Enum for `PdfFontType`.\n * @private\n */\nvar PdfFontType;\n(function (PdfFontType) {\n /**\n * Specifies the type of `Standard`.\n * @private\n */\n PdfFontType[PdfFontType[\"Standard\"] = 0] = \"Standard\";\n /**\n * Specifies the type of `TrueType`.\n * @private\n */\n PdfFontType[PdfFontType[\"TrueType\"] = 1] = \"TrueType\";\n /**\n * Specifies the type of `TrueTypeEmbedded`.\n * @private\n */\n PdfFontType[PdfFontType[\"TrueTypeEmbedded\"] = 2] = \"TrueTypeEmbedded\";\n})(PdfFontType || (PdfFontType = {}));\n/**\n * public Enum for `PdfWordWrapType`.\n * @private\n */\nvar PdfWordWrapType;\n(function (PdfWordWrapType) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n PdfWordWrapType[PdfWordWrapType[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `Word`.\n * @private\n */\n PdfWordWrapType[PdfWordWrapType[\"Word\"] = 1] = \"Word\";\n /**\n * Specifies the type of `WordOnly`.\n * @private\n */\n PdfWordWrapType[PdfWordWrapType[\"WordOnly\"] = 2] = \"WordOnly\";\n /**\n * Specifies the type of `Character`.\n * @private\n */\n PdfWordWrapType[PdfWordWrapType[\"Character\"] = 3] = \"Character\";\n})(PdfWordWrapType || (PdfWordWrapType = {}));\n/**\n * public Enum for `PdfSubSuperScript`.\n * @private\n */\nvar PdfSubSuperScript;\n(function (PdfSubSuperScript) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n PdfSubSuperScript[PdfSubSuperScript[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `SuperScript`.\n * @private\n */\n PdfSubSuperScript[PdfSubSuperScript[\"SuperScript\"] = 1] = \"SuperScript\";\n /**\n * Specifies the type of `SubScript`.\n * @private\n */\n PdfSubSuperScript[PdfSubSuperScript[\"SubScript\"] = 2] = \"SubScript\";\n})(PdfSubSuperScript || (PdfSubSuperScript = {}));\n/**\n * public Enum for `FontEncoding`.\n * @private\n */\nvar FontEncoding;\n(function (FontEncoding) {\n /**\n * Specifies the type of `Unknown`.\n * @private\n */\n FontEncoding[FontEncoding[\"Unknown\"] = 0] = \"Unknown\";\n /**\n * Specifies the type of `StandardEncoding`.\n * @private\n */\n FontEncoding[FontEncoding[\"StandardEncoding\"] = 1] = \"StandardEncoding\";\n /**\n * Specifies the type of `MacRomanEncoding`.\n * @private\n */\n FontEncoding[FontEncoding[\"MacRomanEncoding\"] = 2] = \"MacRomanEncoding\";\n /**\n * Specifies the type of `MacExpertEncoding`.\n * @private\n */\n FontEncoding[FontEncoding[\"MacExpertEncoding\"] = 3] = \"MacExpertEncoding\";\n /**\n * Specifies the type of `WinAnsiEncoding`.\n * @private\n */\n FontEncoding[FontEncoding[\"WinAnsiEncoding\"] = 4] = \"WinAnsiEncoding\";\n /**\n * Specifies the type of `PdfDocEncoding`.\n * @private\n */\n FontEncoding[FontEncoding[\"PdfDocEncoding\"] = 5] = \"PdfDocEncoding\";\n /**\n * Specifies the type of `IdentityH`.\n * @private\n */\n FontEncoding[FontEncoding[\"IdentityH\"] = 6] = \"IdentityH\";\n})(FontEncoding || (FontEncoding = {}));\n/**\n * public Enum for `TtfCmapFormat`.\n * @private\n */\nvar TtfCmapFormat;\n(function (TtfCmapFormat) {\n /**\n * This is the Apple standard character to glyph index mapping table.\n * @private\n */\n TtfCmapFormat[TtfCmapFormat[\"Apple\"] = 0] = \"Apple\";\n /**\n * This is the Microsoft standard character to glyph index mapping table.\n * @private\n */\n TtfCmapFormat[TtfCmapFormat[\"Microsoft\"] = 4] = \"Microsoft\";\n /**\n * Format 6: Trimmed table mapping.\n * @private\n */\n TtfCmapFormat[TtfCmapFormat[\"Trimmed\"] = 6] = \"Trimmed\";\n})(TtfCmapFormat || (TtfCmapFormat = {}));\n/**\n * Enumerator that implements CMAP encodings.\n * @private\n */\nvar TtfCmapEncoding;\n(function (TtfCmapEncoding) {\n /**\n * Unknown encoding.\n * @private\n */\n TtfCmapEncoding[TtfCmapEncoding[\"Unknown\"] = 0] = \"Unknown\";\n /**\n * When building a symbol font for Windows.\n * @private\n */\n TtfCmapEncoding[TtfCmapEncoding[\"Symbol\"] = 1] = \"Symbol\";\n /**\n * When building a Unicode font for Windows.\n * @private\n */\n TtfCmapEncoding[TtfCmapEncoding[\"Unicode\"] = 2] = \"Unicode\";\n /**\n * For font that will be used on a Macintosh.\n * @private\n */\n TtfCmapEncoding[TtfCmapEncoding[\"Macintosh\"] = 3] = \"Macintosh\";\n})(TtfCmapEncoding || (TtfCmapEncoding = {}));\n/**\n * Ttf platform ID.\n * @private\n */\nvar TtfPlatformID;\n(function (TtfPlatformID) {\n /**\n * Apple platform.\n * @private\n */\n TtfPlatformID[TtfPlatformID[\"AppleUnicode\"] = 0] = \"AppleUnicode\";\n /**\n * Macintosh platform.\n * @private\n */\n TtfPlatformID[TtfPlatformID[\"Macintosh\"] = 1] = \"Macintosh\";\n /**\n * Iso platform.\n * @private\n */\n TtfPlatformID[TtfPlatformID[\"Iso\"] = 2] = \"Iso\";\n /**\n * Microsoft platform.\n * @private\n */\n TtfPlatformID[TtfPlatformID[\"Microsoft\"] = 3] = \"Microsoft\";\n})(TtfPlatformID || (TtfPlatformID = {}));\n/**\n * Microsoft encoding ID.\n * @private\n */\nvar TtfMicrosoftEncodingID;\n(function (TtfMicrosoftEncodingID) {\n /**\n * Undefined encoding.\n * @private\n */\n TtfMicrosoftEncodingID[TtfMicrosoftEncodingID[\"Undefined\"] = 0] = \"Undefined\";\n /**\n * Unicode encoding.\n * @private\n */\n TtfMicrosoftEncodingID[TtfMicrosoftEncodingID[\"Unicode\"] = 1] = \"Unicode\";\n})(TtfMicrosoftEncodingID || (TtfMicrosoftEncodingID = {}));\n/**\n * Macintosh encoding ID.\n * @private\n */\nvar TtfMacintoshEncodingID;\n(function (TtfMacintoshEncodingID) {\n /**\n * Roman encoding.\n * @private\n */\n TtfMacintoshEncodingID[TtfMacintoshEncodingID[\"Roman\"] = 0] = \"Roman\";\n /**\n * Japanese encoding.\n * @private\n */\n TtfMacintoshEncodingID[TtfMacintoshEncodingID[\"Japanese\"] = 1] = \"Japanese\";\n /**\n * Chinese encoding.\n * @private\n */\n TtfMacintoshEncodingID[TtfMacintoshEncodingID[\"Chinese\"] = 2] = \"Chinese\";\n})(TtfMacintoshEncodingID || (TtfMacintoshEncodingID = {}));\n/**\n * Enumerator that implements font descriptor flags.\n * @private\n */\nvar FontDescriptorFlags;\n(function (FontDescriptorFlags) {\n /**\n * All glyphs have the same width (as opposed to proportional or variable-pitch fonts, which have different widths).\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"FixedPitch\"] = 1] = \"FixedPitch\";\n /**\n * Glyphs have serifs, which are short strokes drawn at an angle on the top and\n * bottom of glyph stems (as opposed to sans serif fonts, which do not).\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"Serif\"] = 2] = \"Serif\";\n /**\n * Font contains glyphs outside the Adobe standard Latin character set. The\n * flag and the nonsymbolic flag cannot both be set or both be clear.\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"Symbolic\"] = 4] = \"Symbolic\";\n /**\n * Glyphs resemble cursive handwriting.\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"Script\"] = 8] = \"Script\";\n /**\n * Font uses the Adobe standard Latin character set or a subset of it.\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"Nonsymbolic\"] = 32] = \"Nonsymbolic\";\n /**\n * Glyphs have dominant vertical strokes that are slanted.\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"Italic\"] = 64] = \"Italic\";\n /**\n * Bold font.\n * @private\n */\n FontDescriptorFlags[FontDescriptorFlags[\"ForceBold\"] = 262144] = \"ForceBold\";\n})(FontDescriptorFlags || (FontDescriptorFlags = {}));\n/**\n * true type font composite glyph flags.\n * @private\n */\nvar TtfCompositeGlyphFlags;\n(function (TtfCompositeGlyphFlags) {\n /**\n * The Arg1And2AreWords.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"Arg1And2AreWords\"] = 1] = \"Arg1And2AreWords\";\n /**\n * The ArgsAreXyValues.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"ArgsAreXyValues\"] = 2] = \"ArgsAreXyValues\";\n /**\n * The RoundXyToGrid.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"RoundXyToGrid\"] = 4] = \"RoundXyToGrid\";\n /**\n * The WeHaveScale.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"WeHaveScale\"] = 8] = \"WeHaveScale\";\n /**\n * The Reserved.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"Reserved\"] = 16] = \"Reserved\";\n /**\n * The MoreComponents.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"MoreComponents\"] = 32] = \"MoreComponents\";\n /**\n * The WeHaveAnXyScale.\n * @private\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"WeHaveAnXyScale\"] = 64] = \"WeHaveAnXyScale\";\n /**\n * The WeHaveTwoByTwo\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"WeHaveTwoByTwo\"] = 128] = \"WeHaveTwoByTwo\";\n /**\n * The WeHaveInstructions.\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"WeHaveInstructions\"] = 256] = \"WeHaveInstructions\";\n /**\n * The UseMyMetrics.\n */\n TtfCompositeGlyphFlags[TtfCompositeGlyphFlags[\"UseMyMetrics\"] = 512] = \"UseMyMetrics\";\n})(TtfCompositeGlyphFlags || (TtfCompositeGlyphFlags = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font-metrics.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font-metrics.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfFontMetrics: () => (/* binding */ PdfFontMetrics),\n/* harmony export */ StandardWidthTable: () => (/* binding */ StandardWidthTable),\n/* harmony export */ WidthTable: () => (/* binding */ WidthTable)\n/* harmony export */ });\n/* harmony import */ var _pdf_font__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pdf-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * `Metrics` of the font.\n * @private\n */\nvar PdfFontMetrics = /** @class */ (function () {\n function PdfFontMetrics() {\n /**\n * `Line gap`.\n * @private\n */\n this.lineGap = 0;\n }\n // Public methods\n /**\n * Returns `ascent` taking into consideration font`s size.\n * @private\n */\n PdfFontMetrics.prototype.getAscent = function (format) {\n var returnValue = this.ascent * _pdf_font__WEBPACK_IMPORTED_MODULE_0__.PdfFont.charSizeMultiplier * this.getSize(format);\n return returnValue;\n };\n /**\n * Returns `descent` taking into consideration font`s size.\n * @private\n */\n PdfFontMetrics.prototype.getDescent = function (format) {\n var returnValue = this.descent * _pdf_font__WEBPACK_IMPORTED_MODULE_0__.PdfFont.charSizeMultiplier * this.getSize(format);\n return returnValue;\n };\n /**\n * Returns `Line gap` taking into consideration font`s size.\n * @private\n */\n PdfFontMetrics.prototype.getLineGap = function (format) {\n var returnValue = this.lineGap * _pdf_font__WEBPACK_IMPORTED_MODULE_0__.PdfFont.charSizeMultiplier * this.getSize(format);\n return returnValue;\n };\n /**\n * Returns `height` taking into consideration font`s size.\n * @private\n */\n PdfFontMetrics.prototype.getHeight = function (format) {\n var height;\n var clearTypeFonts = ['cambria', 'candara', 'constantia', 'corbel', 'cariadings'];\n var clearTypeFontCollection = [];\n for (var index = 0; index < clearTypeFonts.length; index++) {\n var font = clearTypeFonts[index];\n clearTypeFontCollection.push(font);\n }\n if (this.getDescent(format) < 0) {\n // if ((clearTypeFontCollection.indexOf(this.name.toLowerCase()) !== -1) && !this.isUnicodeFont) {\n // height = (this.GetAscent(format) - this.GetDescent(format) - this.GetLineGap(format));\n // } else {\n height = (this.getAscent(format) - this.getDescent(format) + this.getLineGap(format));\n // }\n }\n else {\n height = (this.getAscent(format) + this.getDescent(format) + this.getLineGap(format));\n }\n return height;\n };\n /**\n * Calculates `size` of the font depending on the subscript/superscript value.\n * @private\n */\n PdfFontMetrics.prototype.getSize = function (format) {\n var size = this.size;\n if (format != null) {\n switch (format.subSuperScript) {\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfSubSuperScript.SubScript:\n size /= this.subScriptSizeFactor;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfSubSuperScript.SuperScript:\n size /= this.superscriptSizeFactor;\n break;\n }\n }\n return size;\n };\n /**\n * `Clones` the metrics.\n * @private\n */\n PdfFontMetrics.prototype.clone = function () {\n var metrics = this;\n metrics.widthTable = WidthTable.clone();\n return metrics;\n };\n Object.defineProperty(PdfFontMetrics.prototype, \"widthTable\", {\n // Properies\n /**\n * Gets or sets the `width table`.\n * @private\n */\n get: function () {\n return this.internalWidthTable;\n },\n set: function (value) {\n this.internalWidthTable = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfFontMetrics;\n}());\n\nvar WidthTable = /** @class */ (function () {\n function WidthTable() {\n }\n /**\n * Static `clones` this instance of the WidthTable class.\n * @private\n */\n WidthTable.clone = function () {\n return null;\n };\n return WidthTable;\n}());\n\nvar StandardWidthTable = /** @class */ (function (_super) {\n __extends(StandardWidthTable, _super);\n // Constructors\n /**\n * Initializes a new instance of the `StandardWidthTable` class.\n * @private\n */\n function StandardWidthTable(widths) {\n var _this = _super.call(this) || this;\n if (widths == null) {\n throw new Error('ArgumentNullException:widths');\n }\n _this.widths = widths;\n return _this;\n }\n //Properties\n /**\n * Gets the `32 bit number` at the specified index.\n * @private\n */\n StandardWidthTable.prototype.items = function (index) {\n if (index < 0 || index >= this.widths.length) {\n throw new Error('ArgumentOutOfRangeException:index, The character is not supported by the font.');\n }\n var result = this.widths[index];\n return result;\n };\n Object.defineProperty(StandardWidthTable.prototype, \"length\", {\n /**\n * Gets the `length` of the internal array.\n * @private\n */\n get: function () {\n return this.widths.length;\n },\n enumerable: true,\n configurable: true\n });\n //Overrides\n /**\n * `Clones` this instance of the WidthTable class.\n * @private\n */\n StandardWidthTable.prototype.clone = function () {\n var swt = this;\n swt.widths = this.widths;\n return swt;\n };\n /**\n * Converts width table to a `PDF array`.\n * @private\n */\n StandardWidthTable.prototype.toArray = function () {\n var arr = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_2__.PdfArray(this.widths);\n return arr;\n };\n return StandardWidthTable;\n}(WidthTable));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font-metrics.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfFont: () => (/* binding */ PdfFont)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _pdf_string_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-string-format */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n/* harmony import */ var _string_layouter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _string_tokenizer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./string-tokenizer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js\");\n/**\n * PdfFont.ts class for EJ2-PDF\n */\n\n\n\n\n\n/**\n * Defines a particular format for text, including font face, size, and style attributes.\n * @private\n */\nvar PdfFont = /** @class */ (function () {\n function PdfFont(size, style) {\n /**\n * `Style` of the font.\n * @private\n */\n this.fontStyle = _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Regular;\n if (typeof size === 'number' && typeof style === 'undefined') {\n this.fontSize = size;\n }\n else {\n this.fontSize = size;\n this.setStyle(style);\n }\n }\n Object.defineProperty(PdfFont.prototype, \"name\", {\n //Properties\n /**\n * Gets the face name of this Font.\n * @private\n */\n get: function () {\n return this.metrics.name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"size\", {\n /**\n * Gets the size of this font.\n * @private\n */\n get: function () {\n return this.fontSize;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"height\", {\n /**\n * Gets the height of the font in points.\n * @private\n */\n get: function () {\n return this.metrics.getHeight(null);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"style\", {\n /**\n * Gets the style information for this font.\n * @private\n */\n get: function () {\n return this.fontStyle;\n },\n set: function (value) {\n this.fontStyle = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"bold\", {\n /**\n * Gets a value indicating whether this `PdfFont` is `bold`.\n * @private\n */\n get: function () {\n return ((this.style & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"italic\", {\n /**\n * Gets a value indicating whether this `PdfFont` has the `italic` style applied.\n * @private\n */\n get: function () {\n return ((this.style & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"strikeout\", {\n /**\n * Gets a value indicating whether this `PdfFont` is `strikeout`.\n * @private\n */\n get: function () {\n return ((this.style & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Strikeout) > 0);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"underline\", {\n /**\n * Gets a value indicating whether this `PdfFont` is `underline`.\n * @private\n */\n get: function () {\n return ((this.style & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Underline) > 0);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"metrics\", {\n /**\n * Gets or sets the `metrics` for this font.\n * @private\n */\n get: function () {\n return this.fontMetrics;\n },\n set: function (value) {\n this.fontMetrics = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfFont.prototype, \"element\", {\n // /**\n // * Gets and Sets the font `internals`.\n // * @private\n // */\n // public get fontInternal() : IPdfPrimitive {\n // return this.pdfFontInternals;\n // }\n // public set fontInternal(value : IPdfPrimitive) {\n // this.pdfFontInternals = value;\n // }\n //IPdfWrapper Members\n /**\n * Gets the `element` representing the font.\n * @private\n */\n get: function () {\n return this.pdfFontInternals;\n },\n enumerable: true,\n configurable: true\n });\n PdfFont.prototype.measureString = function (text, arg2, arg3, arg4, arg5) {\n if (typeof text === 'string' && typeof arg2 === 'undefined') {\n return this.measureString(text, null);\n }\n else if (typeof text === 'string' && (arg2 instanceof _pdf_string_format__WEBPACK_IMPORTED_MODULE_1__.PdfStringFormat || arg2 == null) && typeof arg3 === 'undefined' && typeof arg4 === 'undefined') {\n var temparg2 = arg2;\n var charactersFitted = 0;\n var linesFilled = 0;\n return this.measureString(text, temparg2, charactersFitted, linesFilled);\n }\n else if (typeof text === 'string' && (arg2 instanceof _pdf_string_format__WEBPACK_IMPORTED_MODULE_1__.PdfStringFormat || arg2 == null) && typeof arg3 === 'number' && typeof arg4 === 'number') {\n var temparg2 = arg2;\n return this.measureString(text, 0, temparg2, arg3, arg4);\n // } else if (typeof text === 'string' && typeof arg2 === 'number' && typeof arg3 === 'undefined') {\n // return this.measureString(text, arg2, null);\n // } else if (typeof text === 'string' && typeof arg2 === 'number' && (arg3 instanceof PdfStringFormat || arg3 == null) && typeof arg4 === 'undefined' && typeof arg5 === 'undefined') {\n // let temparg3 : PdfStringFormat = arg3 as PdfStringFormat;\n // let charactersFitted : number = 0;\n // let linesFilled : number = 0;\n // return this.measureString(text, arg2, temparg3, charactersFitted, linesFilled);\n }\n else if (typeof text === 'string' && typeof arg2 === 'number' && (arg3 instanceof _pdf_string_format__WEBPACK_IMPORTED_MODULE_1__.PdfStringFormat || arg3 == null) && typeof arg4 === 'number' && typeof arg5 === 'number') {\n var layoutArea = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.SizeF(arg2, 0);\n var temparg3 = arg3;\n return this.measureString(text, layoutArea, temparg3, arg4, arg5);\n // } else if (typeof text === 'string' && arg2 instanceof SizeF && typeof arg3 === 'undefined') {\n // return this.measureString(text, arg2, null);\n // } else if (typeof text === 'string' && arg2 instanceof SizeF && (arg3 instanceof PdfStringFormat || arg3 == null) && typeof arg4 === 'undefined' && typeof arg5 === 'undefined') {\n // let temparg3 : PdfStringFormat = arg3 as PdfStringFormat;\n // let charactersFitted : number = 0;\n // let linesFilled : number = 0;\n // return this.measureString(text, arg2, temparg3, charactersFitted, linesFilled);\n }\n else {\n if (text == null) {\n throw Error(\"ArgumentNullException(\\\"text\\\")\");\n }\n var temparg2 = arg2;\n var temparg3 = arg3;\n var layouter = new _string_layouter__WEBPACK_IMPORTED_MODULE_3__.PdfStringLayouter();\n var result = layouter.layout(text, this, temparg3, temparg2, false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.SizeF(0, 0));\n // arg4 = (result.Remainder == null) ? text.length : text.length - result.Remainder.length;\n arg4 = text.length;\n arg5 = (result.empty) ? 0 : result.lines.length;\n return result.actualSize;\n }\n };\n /* tslint:enable */\n //IPdfCache Members\n /**\n * `Checks` whether the object is similar to another object.\n * @private\n */\n PdfFont.prototype.equalsTo = function (obj) {\n var result = this.equalsToFont(obj);\n return result;\n };\n /**\n * Returns `internals` of the object.\n * @private\n */\n PdfFont.prototype.getInternals = function () {\n return this.pdfFontInternals;\n };\n /**\n * Sets `internals` to the object.\n * @private\n */\n PdfFont.prototype.setInternals = function (internals) {\n if (internals == null) {\n throw new Error('ArgumentNullException:internals');\n }\n this.pdfFontInternals = internals;\n };\n /**\n * Sets the `style` of the font.\n * @private\n */\n PdfFont.prototype.setStyle = function (style) {\n this.fontStyle = style;\n };\n /**\n * Applies `settings` to the default line width.\n * @private\n */\n PdfFont.prototype.applyFormatSettings = function (line, format, width) {\n // if (line == null) {\n // throw new Error(`ArgumentNullException:line`);\n // }\n var realWidth = width;\n if (format != null && width > 0) {\n // Space among characters is not default.\n if (format.characterSpacing !== 0) {\n realWidth += (line.length - 1) * format.characterSpacing;\n }\n // Space among words is not default.\n if (format.wordSpacing !== 0) {\n var symbols = _string_tokenizer__WEBPACK_IMPORTED_MODULE_4__.StringTokenizer.spaces;\n var whitespacesCount = _string_tokenizer__WEBPACK_IMPORTED_MODULE_4__.StringTokenizer.getCharsCount(line, symbols);\n realWidth += whitespacesCount * format.wordSpacing;\n }\n }\n return realWidth;\n };\n //Constants\n /**\n * `Multiplier` of the symbol width.\n * @default 0.001\n * @private\n */\n PdfFont.charSizeMultiplier = 0.001;\n /**\n * `Synchronization` object.\n * @private\n */\n PdfFont.syncObject = new Object();\n return PdfFont;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js": +/*!************************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js ***! + \************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfStandardFontMetricsFactory: () => (/* binding */ PdfStandardFontMetricsFactory)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-font-metrics */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font-metrics.js\");\n/**\n * PdfStandardFontMetricsFactory.ts class for EJ2-PDF\n */\n\n\n/**\n * @private\n * `Factory of the standard fonts metrics`.\n */\nvar PdfStandardFontMetricsFactory = /** @class */ (function () {\n function PdfStandardFontMetricsFactory() {\n }\n /**\n * Returns `metrics` of the font.\n * @private\n */\n PdfStandardFontMetricsFactory.getMetrics = function (fontFamily, fontStyle, size) {\n var metrics = null;\n switch (fontFamily) {\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Helvetica:\n metrics = this.getHelveticaMetrics(fontFamily, fontStyle, size);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Courier:\n metrics = this.getCourierMetrics(fontFamily, fontStyle, size);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.TimesRoman:\n metrics = this.getTimesMetrics(fontFamily, fontStyle, size);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Symbol:\n metrics = this.getSymbolMetrics(fontFamily, fontStyle, size);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.ZapfDingbats:\n metrics = this.getZapfDingbatsMetrics(fontFamily, fontStyle, size);\n break;\n default:\n metrics = this.getHelveticaMetrics(_enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Helvetica, fontStyle, size);\n break;\n }\n metrics.name = fontFamily.toString();\n metrics.subScriptSizeFactor = this.subSuperScriptFactor;\n metrics.superscriptSizeFactor = this.subSuperScriptFactor;\n return metrics;\n };\n // Implementation\n /**\n * Creates `Helvetica font metrics`.\n * @private\n */\n PdfStandardFontMetricsFactory.getHelveticaMetrics = function (fontFamily, fontStyle, size) {\n var metrics = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.PdfFontMetrics();\n if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0 && (fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0) {\n metrics.ascent = this.helveticaBoldItalicAscent;\n metrics.descent = this.helveticaBoldItalicDescent;\n metrics.postScriptName = this.helveticaBoldItalicName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.arialBoldWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0) {\n metrics.ascent = this.helveticaBoldAscent;\n metrics.descent = this.helveticaBoldDescent;\n metrics.postScriptName = this.helveticaBoldName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.arialBoldWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0) {\n metrics.ascent = this.helveticaItalicAscent;\n metrics.descent = this.helveticaItalicDescent;\n metrics.postScriptName = this.helveticaItalicName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.arialWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else {\n metrics.ascent = this.helveticaAscent;\n metrics.descent = this.helveticaDescent;\n metrics.postScriptName = this.helveticaName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.arialWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n return metrics;\n };\n /**\n * Creates `Courier font metrics`.\n * @private\n */\n PdfStandardFontMetricsFactory.getCourierMetrics = function (fontFamily, fontStyle, size) {\n var metrics = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.PdfFontMetrics();\n if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0 && (fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0) {\n metrics.ascent = this.courierBoldItalicAscent;\n metrics.descent = this.courierBoldItalicDescent;\n metrics.postScriptName = this.courierBoldItalicName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.fixedWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0) {\n metrics.ascent = this.courierBoldAscent;\n metrics.descent = this.courierBoldDescent;\n metrics.postScriptName = this.courierBoldName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.fixedWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0) {\n metrics.ascent = this.courierItalicAscent;\n metrics.descent = this.courierItalicDescent;\n metrics.postScriptName = this.courierItalicName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.fixedWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else {\n metrics.ascent = this.courierAscent;\n metrics.descent = this.courierDescent;\n metrics.postScriptName = this.courierName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.fixedWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n return metrics;\n };\n /**\n * Creates `Times font metrics`.\n * @private\n */\n PdfStandardFontMetricsFactory.getTimesMetrics = function (fontFamily, fontStyle, size) {\n var metrics = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.PdfFontMetrics();\n if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0 && (fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0) {\n metrics.ascent = this.timesBoldItalicAscent;\n metrics.descent = this.timesBoldItalicDescent;\n metrics.postScriptName = this.timesBoldItalicName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.timesRomanBoldItalicWidths);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold) > 0) {\n metrics.ascent = this.timesBoldAscent;\n metrics.descent = this.timesBoldDescent;\n metrics.postScriptName = this.timesBoldName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.timesRomanBoldWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else if ((fontStyle & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic) > 0) {\n metrics.ascent = this.timesItalicAscent;\n metrics.descent = this.timesItalicDescent;\n metrics.postScriptName = this.timesItalicName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.timesRomanItalicWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n else {\n metrics.ascent = this.timesAscent;\n metrics.descent = this.timesDescent;\n metrics.postScriptName = this.timesName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.timesRomanWidth);\n metrics.height = metrics.ascent - metrics.descent;\n }\n return metrics;\n };\n /**\n * Creates `Symbol font metrics`.\n * @private\n */\n PdfStandardFontMetricsFactory.getSymbolMetrics = function (fontFamily, fontStyle, size) {\n var metrics = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.PdfFontMetrics();\n metrics.ascent = this.symbolAscent;\n metrics.descent = this.symbolDescent;\n metrics.postScriptName = this.symbolName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.symbolWidth);\n metrics.height = metrics.ascent - metrics.descent;\n return metrics;\n };\n /**\n * Creates `ZapfDingbats font metrics`.\n * @private\n */\n PdfStandardFontMetricsFactory.getZapfDingbatsMetrics = function (fontFamily, fontStyle, size) {\n var metrics = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.PdfFontMetrics();\n metrics.ascent = this.zapfDingbatsAscent;\n metrics.descent = this.zapfDingbatsDescent;\n metrics.postScriptName = this.zapfDingbatsName;\n metrics.size = size;\n metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_1__.StandardWidthTable(this.zapfDingbatsWidth);\n metrics.height = metrics.ascent - metrics.descent;\n return metrics;\n };\n /**\n * `Multiplier` os subscript superscript.\n * @private\n */\n PdfStandardFontMetricsFactory.subSuperScriptFactor = 1.52;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaAscent = 931;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaDescent = -225;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaName = 'Helvetica';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaBoldAscent = 962;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaBoldDescent = -228;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaBoldName = 'Helvetica-Bold';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaItalicAscent = 931;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaItalicDescent = -225;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaItalicName = 'Helvetica-Oblique';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaBoldItalicAscent = 962;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaBoldItalicDescent = -228;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.helveticaBoldItalicName = 'Helvetica-BoldOblique';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierAscent = 805;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierDescent = -250;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.courierName = 'Courier';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierBoldAscent = 801;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierBoldDescent = -250;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.courierBoldName = 'Courier-Bold';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierItalicAscent = 805;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierItalicDescent = -250;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.courierItalicName = 'Courier-Oblique';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierBoldItalicAscent = 801;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.courierBoldItalicDescent = -250;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.courierBoldItalicName = 'Courier-BoldOblique';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesAscent = 898;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesDescent = -218;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.timesName = 'Times-Roman';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesBoldAscent = 935;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesBoldDescent = -218;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.timesBoldName = 'Times-Bold';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesItalicAscent = 883;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesItalicDescent = -217;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.timesItalicName = 'Times-Italic';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesBoldItalicAscent = 921;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.timesBoldItalicDescent = -218;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.timesBoldItalicName = 'Times-BoldItalic';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.symbolAscent = 1010;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.symbolDescent = -293;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.symbolName = 'Symbol';\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.zapfDingbatsAscent = 820;\n /**\n * `Ascender` value for the font.\n * @private\n */\n PdfStandardFontMetricsFactory.zapfDingbatsDescent = -143;\n /**\n * `Font type`.\n * @private\n */\n PdfStandardFontMetricsFactory.zapfDingbatsName = 'ZapfDingbats';\n /**\n * `Arial` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.arialWidth = [\n 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333,\n 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584,\n 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833,\n 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278,\n 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833,\n 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334,\n 584, 0, 556, 0, 222, 556, 333, 1000, 556, 556, 333, 1000, 667, 333, 1000, 0,\n 611, 0, 0, 222, 222, 333, 333, 350, 556, 1000, 333, 1000, 500, 333, 944, 0,\n 500, 667, 0, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 0,\n 737, 333, 400, 584, 333, 333, 333, 556, 537, 278, 333, 333, 365, 556, 834, 834,\n 834, 611, 667, 667, 667, 667, 667, 667, 1000, 722, 667, 667, 667, 667, 278, 278,\n 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667,\n 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278,\n 278, 278, 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, 556, 556, 556, 500,\n 556, 500\n ];\n /**\n * `Arial bold` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.arialBoldWidth = [\n 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333,\n 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584,\n 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833,\n 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333,\n 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889,\n 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389,\n 584, 0, 556, 0, 278, 556, 500, 1000, 556, 556, 333, 1000, 667, 333, 1000, 0,\n 611, 0, 0, 278, 278, 500, 500, 350, 556, 1000, 333, 1000, 556, 333, 944, 0,\n 500, 667, 0, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 0,\n 737, 333, 400, 584, 333, 333, 333, 611, 556, 278, 333, 333, 365, 556, 834, 834,\n 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, 667, 667, 278, 278,\n 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667,\n 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278,\n 278, 278, 611, 611, 611, 611, 611, 611, 611, 584, 611, 611, 611, 611, 611, 556,\n 611, 556\n ];\n /**\n * `Fixed` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.fixedWidth = [\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,\n 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600\n ];\n /**\n * `Times` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.timesRomanWidth = [\n 250, 333, 408, 500, 500, 833, 778, 180, 333, 333, 500, 564, 250, 333,\n 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 564, 564,\n 564, 444, 921, 722, 667, 667, 722, 611, 556, 722, 722, 333, 389, 722, 611, 889,\n 722, 722, 556, 722, 667, 556, 611, 722, 722, 944, 722, 722, 611, 333, 278, 333,\n 469, 500, 333, 444, 500, 444, 500, 444, 333, 500, 500, 278, 278, 500, 278, 778,\n 500, 500, 500, 500, 333, 389, 278, 500, 500, 722, 500, 500, 444, 480, 200, 480,\n 541, 0, 500, 0, 333, 500, 444, 1000, 500, 500, 333, 1000, 556, 333, 889, 0,\n 611, 0, 0, 333, 333, 444, 444, 350, 500, 1000, 333, 980, 389, 333, 722, 0,\n 444, 722, 0, 333, 500, 500, 500, 500, 200, 500, 333, 760, 276, 500, 564, 0,\n 760, 333, 400, 564, 300, 300, 333, 500, 453, 250, 333, 300, 310, 500, 750, 750,\n 750, 444, 722, 722, 722, 722, 722, 722, 889, 667, 611, 611, 611, 611, 333, 333,\n 333, 333, 722, 722, 722, 722, 722, 722, 722, 564, 722, 722, 722, 722, 722, 722,\n 556, 500, 444, 444, 444, 444, 444, 444, 667, 444, 444, 444, 444, 444, 278, 278,\n 278, 278, 500, 500, 500, 500, 500, 500, 500, 564, 500, 500, 500, 500, 500, 500,\n 500, 500\n ];\n /**\n * `Times bold` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.timesRomanBoldWidth = [\n 250, 333, 555, 500, 500, 1000, 833, 278, 333, 333, 500, 570, 250, 333,\n 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570,\n 570, 500, 930, 722, 667, 722, 722, 667, 611, 778, 778, 389, 500, 778, 667, 944,\n 722, 778, 611, 778, 722, 556, 667, 722, 722, 1000, 722, 722, 667, 333, 278, 333,\n 581, 500, 333, 500, 556, 444, 556, 444, 333, 500, 556, 278, 333, 556, 278, 833,\n 556, 500, 556, 556, 444, 389, 333, 556, 500, 722, 500, 500, 444, 394, 220, 394,\n 520, 0, 500, 0, 333, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, 1000, 0,\n 667, 0, 0, 333, 333, 500, 500, 350, 500, 1000, 333, 1000, 389, 333, 722, 0,\n 444, 722, 0, 333, 500, 500, 500, 500, 220, 500, 333, 747, 300, 500, 570, 0,\n 747, 333, 400, 570, 300, 300, 333, 556, 540, 250, 333, 300, 330, 500, 750, 750,\n 750, 500, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, 667, 667, 389, 389,\n 389, 389, 722, 722, 778, 778, 778, 778, 778, 570, 778, 722, 722, 722, 722, 722,\n 611, 556, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278,\n 278, 278, 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, 556, 556, 556, 500,\n 556, 500\n ];\n /**\n * `Times italic` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.timesRomanItalicWidth = [\n 250, 333, 420, 500, 500, 833, 778, 214, 333, 333, 500, 675, 250, 333,\n 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 675, 675,\n 675, 500, 920, 611, 611, 667, 722, 611, 611, 722, 722, 333, 444, 667, 556, 833,\n 667, 722, 611, 722, 611, 500, 556, 722, 611, 833, 611, 556, 556, 389, 278, 389,\n 422, 500, 333, 500, 500, 444, 500, 444, 278, 500, 500, 278, 278, 444, 278, 722,\n 500, 500, 500, 500, 389, 389, 278, 500, 444, 667, 444, 444, 389, 400, 275, 400,\n 541, 0, 500, 0, 333, 500, 556, 889, 500, 500, 333, 1000, 500, 333, 944, 0,\n 556, 0, 0, 333, 333, 556, 556, 350, 500, 889, 333, 980, 389, 333, 667, 0,\n 389, 556, 0, 389, 500, 500, 500, 500, 275, 500, 333, 760, 276, 500, 675, 0,\n 760, 333, 400, 675, 300, 300, 333, 500, 523, 250, 333, 300, 310, 500, 750, 750,\n 750, 500, 611, 611, 611, 611, 611, 611, 889, 667, 611, 611, 611, 611, 333, 333,\n 333, 333, 722, 667, 722, 722, 722, 722, 722, 675, 722, 722, 722, 722, 722, 556,\n 611, 500, 500, 500, 500, 500, 500, 500, 667, 444, 444, 444, 444, 444, 278, 278,\n 278, 278, 500, 500, 500, 500, 500, 500, 500, 675, 500, 500, 500, 500, 500, 444,\n 500, 444\n ];\n /**\n * `Times bold italic` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.timesRomanBoldItalicWidths = [\n 250, 389, 555, 500, 500, 833, 778, 278, 333, 333, 500, 570, 250, 333,\n 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570,\n 570, 500, 832, 667, 667, 667, 722, 667, 667, 722, 778, 389, 500, 667, 611, 889,\n 722, 722, 611, 722, 667, 556, 611, 722, 667, 889, 667, 611, 611, 333, 278, 333,\n 570, 500, 333, 500, 500, 444, 500, 444, 333, 500, 556, 278, 278, 500, 278, 778,\n 556, 500, 500, 500, 389, 389, 278, 556, 444, 667, 500, 444, 389, 348, 220, 348,\n 570, 0, 500, 0, 333, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, 944, 0,\n 611, 0, 0, 333, 333, 500, 500, 350, 500, 1000, 333, 1000, 389, 333, 722, 0,\n 389, 611, 0, 389, 500, 500, 500, 500, 220, 500, 333, 747, 266, 500, 606, 0,\n 747, 333, 400, 570, 300, 300, 333, 576, 500, 250, 333, 300, 300, 500, 750, 750,\n 750, 500, 667, 667, 667, 667, 667, 667, 944, 667, 667, 667, 667, 667, 389, 389,\n 389, 389, 722, 722, 722, 722, 722, 722, 722, 570, 722, 722, 722, 722, 722, 611,\n 611, 500, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278,\n 278, 278, 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, 556, 556, 556, 444,\n 500, 444\n ];\n /**\n * `Symbol` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.symbolWidth = [\n 250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549,\n 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278,\n 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333,\n 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, 439, 768,\n 645, 795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439,\n 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603,\n 439, 576, 713, 686, 493, 686, 494, 480, 200, 480, 549, 750, 620, 247,\n 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, 400,\n 549, 411, 549, 549, 713, 494, 460, 549, 549, 549, 549, 1000, 603, 1000,\n 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713,\n 713, 713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, 603, 603,\n 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384,\n 384, 384, 384, 494, 494, 494, 494, 329, 274, 686, 686, 686, 384, 384,\n 384, 384, 384, 384, 494, 494, 494, -1\n ];\n /**\n * `Zip dingbats` widths table.\n * @private\n */\n PdfStandardFontMetricsFactory.zapfDingbatsWidth = [\n 278, 974, 961, 974, 980, 719, 789, 790, 791, 690, 960, 939, 549, 855,\n 911, 933, 911, 945, 974, 755, 846, 762, 761, 571, 677, 763, 760, 759,\n 754, 494, 552, 537, 577, 692, 786, 788, 788, 790, 793, 794, 816, 823,\n 789, 841, 823, 833, 816, 831, 923, 744, 723, 749, 790, 792, 695, 776,\n 768, 792, 759, 707, 708, 682, 701, 826, 815, 789, 789, 707, 687, 696,\n 689, 786, 787, 713, 791, 785, 791, 873, 761, 762, 762, 759, 759, 892,\n 892, 788, 784, 438, 138, 277, 415, 392, 392, 668, 668, 390, 390, 317,\n 317, 276, 276, 509, 509, 410, 410, 234, 234, 334, 334, 732, 544, 544,\n 910, 667, 760, 760, 776, 595, 694, 626, 788, 788, 788, 788, 788, 788,\n 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,\n 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,\n 788, 788, 788, 788, 788, 788, 894, 838, 1016, 458, 748, 924, 748, 918,\n 927, 928, 928, 834, 873, 828, 924, 924, 917, 930, 931, 463, 883, 836,\n 836, 867, 867, 696, 696, 874, 874, 760, 946, 771, 865, 771, 888, 967,\n 888, 831, 873, 927, 970, 918\n ];\n return PdfStandardFontMetricsFactory;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfStandardFont: () => (/* binding */ PdfStandardFont)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _pdf_font__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js\");\n/* harmony import */ var _document_pdf_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../document/pdf-document */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\n/* harmony import */ var _pdf_standard_font_metrics_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pdf-standard-font-metrics-factory */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Represents one of the 14 standard fonts.\n * It's used to create a standard PDF font to draw the text in to the PDF.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * //\n * // create new standard font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * //\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfStandardFont = /** @class */ (function (_super) {\n __extends(PdfStandardFont, _super);\n function PdfStandardFont(fontFamilyPrototype, size, style) {\n var _this = _super.call(this, size, (typeof style === 'undefined') ? ((fontFamilyPrototype instanceof PdfStandardFont) ? fontFamilyPrototype.style : _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Regular) : style) || this;\n /**\n * Gets `ascent` of the font.\n * @private\n */\n _this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n /**\n * Gets `encodings` for internal class use.\n * @hidden\n * @private\n */\n _this.encodings = ['Unknown', 'StandardEncoding', 'MacRomanEncoding', 'MacExpertEncoding',\n 'WinAnsiEncoding', 'PDFDocEncoding', 'IdentityH'];\n if (typeof fontFamilyPrototype === 'undefined') {\n _this.pdfFontFamily = _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Helvetica;\n }\n else if ((fontFamilyPrototype instanceof PdfStandardFont)) {\n _this.pdfFontFamily = fontFamilyPrototype.fontFamily;\n }\n else {\n _this.pdfFontFamily = fontFamilyPrototype;\n }\n _this.checkStyle();\n _this.initializeInternals();\n return _this;\n }\n Object.defineProperty(PdfStandardFont.prototype, \"fontFamily\", {\n /* tslint:enable */\n //Properties\n /**\n * Gets the `FontFamily`.\n * @private\n */\n get: function () {\n return this.pdfFontFamily;\n },\n enumerable: true,\n configurable: true\n });\n //methods\n /**\n * Checks font `style` of the font.\n * @private\n */\n PdfStandardFont.prototype.checkStyle = function () {\n if (this.fontFamily === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Symbol || this.fontFamily === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.ZapfDingbats) {\n var style = this.style;\n style &= ~(_enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Bold | _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Italic);\n this.setStyle(style);\n }\n };\n /**\n * Returns `width` of the line.\n * @public\n */\n PdfStandardFont.prototype.getLineWidth = function (line, format) {\n if (line == null) {\n throw new Error('ArgumentNullException:line');\n }\n var width = 0;\n var name = this.name;\n line = PdfStandardFont.convert(line);\n for (var i = 0, len = line.length; i < len; i++) {\n var ch = line[i];\n var charWidth = this.getCharWidthInternal(ch, format);\n width += charWidth;\n }\n var size = this.metrics.getSize(format);\n width *= (_pdf_font__WEBPACK_IMPORTED_MODULE_2__.PdfFont.charSizeMultiplier * size);\n width = this.applyFormatSettings(line, format, width);\n return width;\n };\n /**\n * Checks whether fonts are `equals`.\n * @private\n */\n PdfStandardFont.prototype.equalsToFont = function (font) {\n var equal = false;\n var stFont = font;\n if (stFont != null) {\n var fontFamilyEqual = (this.fontFamily === stFont.fontFamily);\n var lineReducer = (~(_enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Underline | _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Strikeout));\n var styleEqual = (this.style & lineReducer) === (stFont.style & lineReducer);\n equal = (fontFamilyEqual && styleEqual);\n }\n return equal;\n };\n /**\n * `Initializes` font internals..\n * @private\n */\n PdfStandardFont.prototype.initializeInternals = function () {\n var equalFont = null;\n // if (PdfDocument.EnableCache) {\n equalFont = _document_pdf_document__WEBPACK_IMPORTED_MODULE_3__.PdfDocument.cache.search(this);\n // }\n var internals = null;\n // if (equalFont == null) {\n // Create font metrics.\n var metrics = _pdf_standard_font_metrics_factory__WEBPACK_IMPORTED_MODULE_4__.PdfStandardFontMetricsFactory.getMetrics(this.pdfFontFamily, this.style, this.size);\n this.metrics = metrics;\n internals = this.createInternals();\n this.setInternals(internals);\n };\n /**\n * `Creates` font`s dictionary.\n * @private\n */\n PdfStandardFont.prototype.createInternals = function () {\n var dictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_5__.PdfDictionary();\n dictionary.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_6__.PdfName(this.dictionaryProperties.font));\n dictionary.items.setValue(this.dictionaryProperties.subtype, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_6__.PdfName(this.dictionaryProperties.type1));\n dictionary.items.setValue(this.dictionaryProperties.baseFont, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_6__.PdfName(this.metrics.postScriptName));\n if (this.fontFamily !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.Symbol && this.fontFamily !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontFamily.ZapfDingbats) {\n var encoding = this.encodings[_enum__WEBPACK_IMPORTED_MODULE_0__.FontEncoding.WinAnsiEncoding];\n dictionary.items.setValue(this.dictionaryProperties.encoding, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_6__.PdfName(encoding));\n }\n return dictionary;\n };\n /**\n * Returns `width` of the char. This methods doesn`t takes into consideration font`s size.\n * @private\n */\n PdfStandardFont.prototype.getCharWidthInternal = function (charCode, format) {\n var width = 0;\n var code = 0;\n code = charCode.charCodeAt(0);\n if (this.name === '0' || this.name === '1' || this.name === '2' ||\n this.name === '3' || this.name === '4') {\n code = code - PdfStandardFont.charOffset;\n }\n code = (code >= 0 && code !== 128) ? code : 0;\n var metrics = this.metrics;\n var widthTable = metrics.widthTable;\n width = widthTable.items(code);\n return width;\n };\n /**\n * `Converts` the specified text.\n * @private\n */\n PdfStandardFont.convert = function (text) {\n return text;\n };\n //Constants\n /**\n * First character `position`.\n * @private\n */\n PdfStandardFont.charOffset = 32;\n return PdfStandardFont;\n}(_pdf_font__WEBPACK_IMPORTED_MODULE_2__.PdfFont));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfStringFormat: () => (/* binding */ PdfStringFormat)\n/* harmony export */ });\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../graphics/fonts/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/**\n * PdfStringFormat.ts class for EJ2-PDF\n */\n\n\n/**\n * `PdfStringFormat` class represents the text layout information on PDF.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * // set the format for string\n * let stringFormat : PdfStringFormat = new PdfStringFormat();\n * // set the text alignment\n * stringFormat.alignment = PdfTextAlignment.Center;\n * // set the vertical alignment\n * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;\n * //\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfStringFormat = /** @class */ (function () {\n function PdfStringFormat(arg1, arg2) {\n /**\n * The `scaling factor` of the text being drawn.\n * @private\n */\n this.scalingFactor = 100.0;\n /**\n * Indicates text `wrapping` type.\n * @private\n */\n this.wordWrapType = _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_0__.PdfWordWrapType.Word;\n this.internalLineLimit = true;\n this.wordWrapType = _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_0__.PdfWordWrapType.Word;\n if ((typeof arg1 !== 'undefined') && (typeof arg1 !== 'string')) {\n this.textAlignment = arg1;\n }\n if (typeof arg2 !== 'undefined') {\n this.verticalAlignment = arg2;\n }\n }\n Object.defineProperty(PdfStringFormat.prototype, \"alignment\", {\n //Properties\n /**\n * Gets or sets the `horizontal` text alignment\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * // set the format for string\n * let stringFormat : PdfStringFormat = new PdfStringFormat();\n * // set the text alignment\n * stringFormat.alignment = PdfTextAlignment.Center;\n * //\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.textAlignment;\n },\n set: function (value) {\n this.textAlignment = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"textDirection\", {\n get: function () {\n return this.direction;\n },\n set: function (value) {\n this.direction = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"lineAlignment\", {\n /**\n * Gets or sets the `vertical` text alignment.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * // set the format for string\n * let stringFormat : PdfStringFormat = new PdfStringFormat();\n * // set the vertical alignment\n * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;\n * //\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n if (typeof this.verticalAlignment === 'undefined' || this.verticalAlignment == null) {\n return _graphics_enum__WEBPACK_IMPORTED_MODULE_1__.PdfVerticalAlignment.Top;\n }\n else {\n return this.verticalAlignment;\n }\n },\n set: function (value) {\n this.verticalAlignment = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"rightToLeft\", {\n /**\n * Gets or sets the value that indicates text `direction` mode.\n * @private\n */\n get: function () {\n if (typeof this.isRightToLeft === 'undefined' || this.isRightToLeft == null) {\n return false;\n }\n else {\n return this.isRightToLeft;\n }\n },\n set: function (value) {\n this.isRightToLeft = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"characterSpacing\", {\n /**\n * Gets or sets value that indicates a `size` among the characters in the text.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * // set the format for string\n * let stringFormat : PdfStringFormat = new PdfStringFormat();\n * // set character spacing\n * stringFormat.characterSpacing = 10;\n * //\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n if (typeof this.internalCharacterSpacing === 'undefined' || this.internalCharacterSpacing == null) {\n return 0;\n }\n else {\n return this.internalCharacterSpacing;\n }\n },\n set: function (value) {\n this.internalCharacterSpacing = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"wordSpacing\", {\n /**\n * Gets or sets value that indicates a `size` among the words in the text.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * // set the format for string\n * let stringFormat : PdfStringFormat = new PdfStringFormat();\n * // set word spacing\n * stringFormat.wordSpacing = 10;\n * //\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n if (typeof this.internalWordSpacing === 'undefined' || this.internalWordSpacing == null) {\n return 0;\n }\n else {\n return this.internalWordSpacing;\n }\n },\n set: function (value) {\n this.internalWordSpacing = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"lineSpacing\", {\n /**\n * Gets or sets value that indicates the `vertical distance` between the baselines of adjacent lines of text.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // set font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // set string\n * let text : string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor\n * incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitati';\n * // set rectangle bounds\n * let rectangle : RectangleF = new RectangleF({x : 0, y : 0}, {width : 300, height : 100})\n * //\n * // set the format for string\n * let stringFormat : PdfStringFormat = new PdfStringFormat();\n * // set line spacing\n * stringFormat.lineSpacing = 10;\n * //\n * // draw the text\n * page1.graphics.drawString(text, font, blackBrush, rectangle, stringFormat);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n if (typeof this.leading === 'undefined' || this.leading == null) {\n return 0;\n }\n else {\n return this.leading;\n }\n },\n set: function (value) {\n this.leading = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"clipPath\", {\n /**\n * Gets or sets a value indicating whether the text is `clipped` or not.\n * @private\n */\n get: function () {\n if (typeof this.clip === 'undefined' || this.clip == null) {\n return false;\n }\n else {\n return this.clip;\n }\n },\n set: function (value) {\n this.clip = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"subSuperScript\", {\n /**\n * Gets or sets value indicating whether the text is in `subscript or superscript` mode.\n * @private\n */\n get: function () {\n if (typeof this.pdfSubSuperScript === 'undefined' || this.pdfSubSuperScript == null) {\n return _graphics_fonts_enum__WEBPACK_IMPORTED_MODULE_0__.PdfSubSuperScript.None;\n }\n else {\n return this.pdfSubSuperScript;\n }\n },\n set: function (value) {\n this.pdfSubSuperScript = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"paragraphIndent\", {\n /**\n * Gets or sets the `indent` of the first line in the paragraph.\n * @private\n */\n get: function () {\n if (typeof this.internalParagraphIndent === 'undefined' || this.internalParagraphIndent == null) {\n return 0;\n }\n else {\n return this.internalParagraphIndent;\n }\n },\n set: function (value) {\n this.internalParagraphIndent = value;\n this.firstLineIndent = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"lineLimit\", {\n /**\n * Gets or sets a value indicating whether [`line limit`].\n * @private\n */\n get: function () {\n return this.internalLineLimit;\n },\n set: function (value) {\n this.internalLineLimit = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"measureTrailingSpaces\", {\n /**\n * Gets or sets a value indicating whether [`measure trailing spaces`].\n * @private\n */\n get: function () {\n if (typeof this.trailingSpaces === 'undefined' || this.trailingSpaces == null) {\n return false;\n }\n else {\n return this.trailingSpaces;\n }\n },\n set: function (value) {\n this.trailingSpaces = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"noClip\", {\n /**\n * Gets or sets a value indicating whether [`no clip`].\n * @private\n */\n get: function () {\n if (typeof this.isNoClip === 'undefined' || this.isNoClip == null) {\n return false;\n }\n else {\n return this.isNoClip;\n }\n },\n set: function (value) {\n this.isNoClip = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"wordWrap\", {\n /**\n * Gets or sets value indicating type of the text `wrapping`.\n * @private\n */\n get: function () {\n // if (typeof this.wrapType === 'undefined' || this.wrapType == null) {\n // return PdfWordWrapType.Word;\n // } else {\n return this.wordWrapType;\n // }\n },\n set: function (value) {\n this.wordWrapType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"horizontalScalingFactor\", {\n /**\n * Gets or sets the `scaling factor`.\n * @private\n */\n get: function () {\n // if (typeof this.scalingFactor === 'undefined' || this.scalingFactor == null) {\n // return 100;\n // } else {\n return this.scalingFactor;\n // }\n },\n set: function (value) {\n if (value <= 0) {\n throw new Error('ArgumentOutOfRangeException:The scaling factor cant be less of equal to zero, ScalingFactor');\n }\n this.scalingFactor = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringFormat.prototype, \"firstLineIndent\", {\n /**\n * Gets or sets the `indent` of the first line in the text.\n * @private\n */\n get: function () {\n if (typeof this.initialLineIndent === 'undefined' || this.initialLineIndent == null) {\n return 0;\n }\n else {\n return this.initialLineIndent;\n }\n },\n set: function (value) {\n this.initialLineIndent = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Clones` the object.\n * @private\n */\n //IClonable implementation\n PdfStringFormat.prototype.clone = function () {\n var format = this;\n return format;\n };\n return PdfStringFormat;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-true-type-font.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-true-type-font.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTrueTypeFont: () => (/* binding */ PdfTrueTypeFont)\n/* harmony export */ });\n/* harmony import */ var _unicode_true_type_font__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./unicode-true-type-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/unicode-true-type-font.js\");\n/* harmony import */ var _pdf_font__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _document_pdf_document__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../../document/pdf-document */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _rtl_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./rtl-renderer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl-renderer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfTrueTypeFont.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n//https://www.giftofspeed.com/base64-encoder/\nvar PdfTrueTypeFont = /** @class */ (function (_super) {\n __extends(PdfTrueTypeFont, _super);\n function PdfTrueTypeFont(base64String, size, style) {\n var _this = _super.call(this, size) || this;\n /**\n * Indicates whether the font is embedded or not.\n * @private\n */\n _this.isEmbedFont = false;\n /**\n * Indicates whether the font is unicoded or not.\n * @private\n */\n _this.isUnicode = true;\n if (style !== undefined) {\n _this.createFontInternal(base64String, style);\n }\n else {\n _this.createFontInternal(base64String, _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Regular);\n }\n return _this;\n }\n PdfTrueTypeFont.prototype.equalsToFont = function (font) {\n var result = false;\n //let result : boolean = this.fontInternal.equalsToFont(font);\n return result;\n };\n PdfTrueTypeFont.prototype.getLineWidth = function (line, format) {\n var width = 0;\n if (format !== null && typeof format !== 'undefined' && format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_1__.PdfTextDirection.None) {\n var returnValue = this.getUnicodeLineWidth(line, /*out*/ width, format);\n width = returnValue.width;\n }\n else {\n width = this.fontInternal.getLineWidth(line);\n }\n var size = this.metrics.getSize(format);\n width *= (_pdf_font__WEBPACK_IMPORTED_MODULE_2__.PdfFont.charSizeMultiplier * size);\n width = this.applyFormatSettings(line, format, width);\n return width;\n };\n /**\n * Returns width of the char.\n */\n PdfTrueTypeFont.prototype.getCharWidth = function (charCode, format) {\n var codeWidth = this.fontInternal.getCharWidth(charCode);\n var size = this.metrics.getSize(format);\n codeWidth *= (0.001 * size);\n return codeWidth;\n };\n //Implementation\n PdfTrueTypeFont.prototype.createFontInternal = function (base64String, style) {\n this.fontInternal = new _unicode_true_type_font__WEBPACK_IMPORTED_MODULE_3__.UnicodeTrueTypeFont(base64String, this.size);\n this.calculateStyle(style);\n this.initializeInternals();\n };\n PdfTrueTypeFont.prototype.calculateStyle = function (style) {\n var iStyle = this.fontInternal.ttfMetrics.macStyle;\n if ((style & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Underline) !== 0) {\n iStyle |= _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Underline;\n }\n if ((style & _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Strikeout) !== 0) {\n iStyle |= _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFontStyle.Strikeout;\n }\n this.setStyle(iStyle);\n };\n PdfTrueTypeFont.prototype.initializeInternals = function () {\n var equalFont = null;\n if (_document_pdf_document__WEBPACK_IMPORTED_MODULE_4__.PdfDocument.enableCache) {\n // Search for the similar fonts.\n equalFont = _document_pdf_document__WEBPACK_IMPORTED_MODULE_4__.PdfDocument.cache.search(this);\n }\n var internals = null;\n // There is not equal font in the cache.\n if (equalFont !== null && equalFont !== undefined) {\n // Get the settings from the cached font.\n internals = equalFont.getInternals();\n var metrics = equalFont.metrics;\n metrics = metrics.clone();\n metrics.size = this.size;\n this.metrics = metrics;\n this.fontInternal = equalFont.fontInternal;\n }\n else {\n if (equalFont == null) {\n if (this.fontInternal instanceof _unicode_true_type_font__WEBPACK_IMPORTED_MODULE_3__.UnicodeTrueTypeFont) {\n this.fontInternal.isEmbed = this.isEmbedFont;\n }\n this.fontInternal.createInternals();\n internals = this.fontInternal.getInternals();\n this.metrics = this.fontInternal.metrics;\n }\n }\n this.metrics.isUnicodeFont = true;\n this.setInternals(internals);\n //this.ttfReader = (this.fontInternal as UnicodeTrueTypeFont).ttfReader;\n };\n /**\n * Stores used symbols.\n */\n PdfTrueTypeFont.prototype.setSymbols = function (text) {\n var internalFont = this.fontInternal;\n if (internalFont != null) {\n internalFont.setSymbols(text);\n }\n };\n Object.defineProperty(PdfTrueTypeFont.prototype, \"Unicode\", {\n /**\n * Property\n *\n */\n get: function () {\n return this.isUnicode;\n },\n enumerable: true,\n configurable: true\n });\n // public get Font() : UnicodeTrueTypeFont {\n // return this.fontInternal as UnicodeTrueTypeFont;\n // }\n PdfTrueTypeFont.prototype.getUnicodeLineWidth = function (line, /*out*/ width, format) {\n // if (line == null) {\n // throw new Error('ArgumentNullException : line');\n // }\n width = 0;\n var glyphIndices = null;\n var rtlRender = new _rtl_renderer__WEBPACK_IMPORTED_MODULE_5__.RtlRenderer();\n /* tslint:disable-next-line:max-line-length */\n var result = rtlRender.getGlyphIndex(line, this, (format.textDirection === _enum__WEBPACK_IMPORTED_MODULE_1__.PdfTextDirection.RightToLeft) ? true : false, /*out*/ glyphIndices, true);\n var resultGlyph = result.success;\n glyphIndices = result.glyphs;\n if (resultGlyph && glyphIndices !== null) {\n var ttfReader = this.fontInternal.ttfReader;\n for (var i = 0, len = glyphIndices.length; i < len; i++) {\n var glyphIndex = glyphIndices[i];\n var glyph = ttfReader.getGlyph(glyphIndex);\n if (glyph !== null && typeof glyph !== 'undefined') {\n width += glyph.width;\n }\n }\n }\n return { success: resultGlyph, width: width };\n };\n return PdfTrueTypeFont;\n}(_pdf_font__WEBPACK_IMPORTED_MODULE_2__.PdfFont));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-true-type-font.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl-renderer.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl-renderer.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RtlRenderer: () => (/* binding */ RtlRenderer)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n/* harmony import */ var _rtl_rtl_text_shape__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rtl/rtl-text-shape */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-text-shape.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _rtl_rtl_bidirectional__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rtl/rtl-bidirectional */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-bidirectional.js\");\n\n\n\n\n/**\n * `Metrics` of the font.\n * @private\n */\nvar RtlRenderer = /** @class */ (function () {\n function RtlRenderer() {\n //region Constants\n /// Open bracket symbol.\n /// \n this.openBracket = '(';\n /// \n /// Close bracket symbol.\n /// \n this.closeBracket = ')';\n //#endregion\n }\n //#region Constructors\n /// \n /// Initializes a new instance of the class.\n /// \n // public constructor() {\n // }\n //#region Public Methods\n /// \n /// Layouts text. Changes blocks position in the RTL text.\n /// Ligates the text if needed.\n /// \n /// Line of the text.\n /// Font to be used for string printing.\n /// Font alignment.\n /// Indicates whether Word Spacing used or not.\n /// Layout string.\n RtlRenderer.prototype.layout = function (line, font, rtl, wordSpace, format) {\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n if (font == null) {\n throw new Error('ArgumentNullException : font');\n }\n var result = [];\n if (font.Unicode) {\n result = this.customLayout(line, rtl, format, font, wordSpace);\n }\n else {\n result = [];\n result[0] = line;\n }\n return result;\n };\n /// \n /// Layouts a string and splits it by the words and using correct lay outing.\n /// \n /// Text line.\n /// Font object.\n /// Indicates whether RTL should be applied.\n /// Indicates whether word spacing is used.\n /// Array of words if converted, null otherwise.\n RtlRenderer.prototype.splitLayout = function (line, font, rtl, wordSpace, format) {\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n if (font == null) {\n throw new Error('ArgumentNullException : font');\n }\n var words = [];\n var system = false;\n if (!system || words == null) {\n words = this.customSplitLayout(line, font, rtl, wordSpace, format);\n }\n return words;\n };\n //#endregion\n //#region Implementation\n // private isEnglish( word : string) : boolean\n // {\n // let c : string = (word.length > 0) ? word[0] : '';\n // return (c >= '0' && c < 'ÿ');\n // }\n // private keepOrder( words : string, startIndex : number, count: number, result : string[], resultIndex : number) : void\n // {\n // for (let i : number = 0, ri = resultIndex - count + 1; i < count; ++i, ++ri) {\n // result[ri] = words[i + startIndex];\n // }\n // }\n /// \n /// Uses system API to layout the text.\n /// \n /// Line of the text to be layouted.\n /// Font which is used for text printing.\n /// Indicates whether we use RTL or RTL lay outing of the text container.\n /// Layout string.\n /* tslint:disable-next-line:max-line-length */\n RtlRenderer.prototype.getGlyphIndex = function (line, font, rtl, /*out*/ glyphs, custom) {\n var success = true;\n var fail = false;\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n if (font == null) {\n throw new Error('ArgumentNullException : font');\n }\n glyphs = null;\n if (line.length === 0) {\n return { success: fail, glyphs: glyphs };\n }\n var renderer = new _rtl_rtl_text_shape__WEBPACK_IMPORTED_MODULE_0__.ArabicShapeRenderer();\n var text = renderer.shape(line, 0);\n var internalFont = font.fontInternal;\n var ttfReader = internalFont.ttfReader;\n glyphs = new Uint16Array(text.length);\n var i = 0;\n for (var k = 0, len = text.length; k < len; k++) {\n var ch = text[k];\n var glyphInfo = ttfReader.getGlyph(ch);\n if (glyphInfo !== null && typeof glyphInfo !== 'undefined') {\n glyphs[i++] = (glyphInfo).index;\n }\n }\n return { success: success, glyphs: glyphs };\n };\n /* tslint:disable-next-line:max-line-length */\n RtlRenderer.prototype.customLayout = function (line, rtl, format, font, wordSpace) {\n if (wordSpace === null || typeof wordSpace === 'undefined') {\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n var result = null;\n //bidirectional order.\n if (format !== null && typeof format !== 'undefined' && format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_1__.PdfTextDirection.None) {\n var bidi = new _rtl_rtl_bidirectional__WEBPACK_IMPORTED_MODULE_2__.Bidi();\n result = bidi.getLogicalToVisualString(line, rtl);\n }\n return result;\n }\n else {\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n if (font == null) {\n throw new Error('ArgumentNullException : font');\n }\n var layouted = null;\n if (format !== null && typeof format !== 'undefined' && format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_1__.PdfTextDirection.None) {\n var renderer = new _rtl_rtl_text_shape__WEBPACK_IMPORTED_MODULE_0__.ArabicShapeRenderer();\n var txt = renderer.shape(line, 0);\n layouted = this.customLayout(txt, rtl, format);\n }\n // else {\n // layouted = this.customLayout(line, rtl, format);\n // }\n // We have unicode font, but from the file. \n var result = [];\n // Split the text by words if word spacing is not default.\n if (wordSpace) {\n var words = layouted.split('');\n var count = words.length;\n for (var i = 0; i < count; i++) {\n words[i] = this.addChars(font, words[i]);\n }\n result = words;\n }\n else {\n result = [];\n result[0] = this.addChars(font, layouted);\n }\n return result;\n }\n };\n /// \n /// Add information about used glyphs to the font.\n /// \n /// Font used for text rendering.\n /// Array of used glyphs.\n /// String in the form to be written to the file.\n RtlRenderer.prototype.addChars = function (font, glyphs) {\n var line = glyphs;\n if (font == null) {\n throw new Error('ArgumentNullException : font');\n }\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n var text = line;\n var internalFont = font.fontInternal;\n var ttfReader = internalFont.ttfReader;\n font.setSymbols(text);\n // Reconvert string according to unicode standard.\n text = ttfReader.convertString(text);\n var bytes = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_3__.PdfString.toUnicodeArray(text, false);\n text = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_3__.PdfString.byteToString(bytes);\n return text;\n // else {\n // if (font == null) {\n // throw new Error('ArgumentNullException : font');\n // }\n // if (glyphs == null) {\n // throw new Error('ArgumentNullException : glyphs');\n // }\n // // Mark the chars as used.\n // let text : string = '';\n // font.setSymbols(glyphs);\n // // Create string from the glyphs.\n // \n // let chars : string[] = [];\n // for (let i : number = 0; i < glyphs.length; i++) {\n // chars[i] = glyphs[i].toString();\n // }\n // for (let j : number = 0 ; j < chars.length; j++) {\n // text = text + chars[j];\n // }\n // let bytes : number[] = PdfString.toUnicodeArray(text, false);\n // text = PdfString.byteToString(bytes);\n // return text;\n // }\n };\n /// \n /// Layouts a string and splits it by the words by using custom lay outing.\n /// \n /// Text line.\n /// Font object.\n /// Indicates whether RTL should be applied.\n /// Indicates whether word spacing is used.\n /// Array of words if converted, null otherwise.\n /* tslint:disable-next-line:max-line-length */\n RtlRenderer.prototype.customSplitLayout = function (line, font, rtl, wordSpace, format) {\n if (line == null) {\n throw new Error('ArgumentNullException : line');\n }\n if (font == null) {\n throw new Error('ArgumentNullException : font');\n }\n var reversedLine = this.customLayout(line, rtl, format);\n var words = reversedLine.split('');\n return words;\n };\n return RtlRenderer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl-renderer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-bidirectional.js": +/*!************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-bidirectional.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Bidi: () => (/* binding */ Bidi),\n/* harmony export */ RtlCharacters: () => (/* binding */ RtlCharacters)\n/* harmony export */ });\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/**\n * Bidi.ts class for EJ2-PDF\n */\n\n/**\n * `Metrics` of the font.\n * @private\n */\nvar Bidi = /** @class */ (function () {\n //#endregion\n //#region Constructor\n function Bidi() {\n //#region Fields\n this.indexes = [];\n this.indexLevels = [];\n this.mirroringShapeCharacters = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n this.update();\n }\n //#endregion\n //#region implementation\n Bidi.prototype.doMirrorShaping = function (text) {\n var result = [];\n for (var i = 0; i < text.length; i++) {\n if (((this.indexLevels[i] & 1) === 1) && this.mirroringShapeCharacters.containsKey(text[i].charCodeAt(0))) {\n result[i] = String.fromCharCode(this.mirroringShapeCharacters.getValue(text[i].charCodeAt(0)));\n }\n else {\n result[i] = text[i].toString();\n }\n }\n var res = '';\n for (var j = 0; j < result.length; j++) {\n res = res + result[j];\n }\n return res;\n };\n Bidi.prototype.getLogicalToVisualString = function (inputText, isRtl) {\n var rtlCharacters = new RtlCharacters();\n this.indexLevels = rtlCharacters.getVisualOrder(inputText, isRtl);\n this.setDefaultIndexLevel();\n this.doOrder(0, this.indexLevels.length - 1);\n var text = this.doMirrorShaping(inputText);\n //let text : string = inputText;\n var resultBuilder = '';\n for (var i = 0; i < this.indexes.length; i++) {\n var index = this.indexes[i];\n resultBuilder += text[index];\n }\n return resultBuilder.toString();\n };\n Bidi.prototype.setDefaultIndexLevel = function () {\n for (var i = 0; i < this.indexLevels.length; i++) {\n this.indexes[i] = i;\n }\n };\n Bidi.prototype.doOrder = function (sIndex, eIndex) {\n var max = this.indexLevels[sIndex];\n var min = max;\n var odd = max;\n var even = max;\n for (var i = sIndex + 1; i <= eIndex; ++i) {\n var data = this.indexLevels[i];\n if (data > max) {\n max = data;\n }\n else if (data < min) {\n min = data;\n }\n odd &= data;\n even |= data;\n }\n if ((even & 1) === 0) {\n return;\n }\n if ((odd & 1) === 1) {\n this.reArrange(sIndex, eIndex + 1);\n return;\n }\n min |= 1;\n while (max >= min) {\n var pstart = sIndex;\n /*tslint:disable:no-constant-condition */\n while (true) {\n while (pstart <= eIndex) {\n if (this.indexLevels[pstart] >= max) {\n break;\n }\n pstart += 1;\n }\n if (pstart > eIndex) {\n break;\n }\n var pend = pstart + 1;\n while (pend <= eIndex) {\n if (this.indexLevels[pend] < max) {\n break;\n }\n pend += 1;\n }\n this.reArrange(pstart, pend);\n pstart = pend + 1;\n }\n max -= 1;\n }\n };\n Bidi.prototype.reArrange = function (i, j) {\n var length = (i + j) / 2;\n --j;\n for (; i < length; ++i, --j) {\n var temp = this.indexes[i];\n this.indexes[i] = this.indexes[j];\n this.indexes[j] = temp;\n }\n };\n Bidi.prototype.update = function () {\n this.mirroringShapeCharacters.setValue(40, 41);\n this.mirroringShapeCharacters.setValue(41, 40);\n this.mirroringShapeCharacters.setValue(60, 62);\n this.mirroringShapeCharacters.setValue(62, 60);\n this.mirroringShapeCharacters.setValue(91, 93);\n this.mirroringShapeCharacters.setValue(93, 91);\n this.mirroringShapeCharacters.setValue(123, 125);\n this.mirroringShapeCharacters.setValue(125, 123);\n this.mirroringShapeCharacters.setValue(171, 187);\n this.mirroringShapeCharacters.setValue(187, 171);\n this.mirroringShapeCharacters.setValue(8249, 8250);\n this.mirroringShapeCharacters.setValue(8250, 8249);\n this.mirroringShapeCharacters.setValue(8261, 8262);\n this.mirroringShapeCharacters.setValue(8262, 8261);\n this.mirroringShapeCharacters.setValue(8317, 8318);\n this.mirroringShapeCharacters.setValue(8318, 8317);\n this.mirroringShapeCharacters.setValue(8333, 8334);\n this.mirroringShapeCharacters.setValue(8334, 8333);\n this.mirroringShapeCharacters.setValue(8712, 8715);\n this.mirroringShapeCharacters.setValue(8713, 8716);\n this.mirroringShapeCharacters.setValue(8714, 8717);\n this.mirroringShapeCharacters.setValue(8715, 8712);\n this.mirroringShapeCharacters.setValue(8716, 8713);\n this.mirroringShapeCharacters.setValue(8717, 8714);\n this.mirroringShapeCharacters.setValue(8725, 10741);\n this.mirroringShapeCharacters.setValue(8764, 8765);\n this.mirroringShapeCharacters.setValue(8765, 8764);\n this.mirroringShapeCharacters.setValue(8771, 8909);\n this.mirroringShapeCharacters.setValue(8786, 8787);\n this.mirroringShapeCharacters.setValue(8787, 8786);\n this.mirroringShapeCharacters.setValue(8788, 8789);\n this.mirroringShapeCharacters.setValue(8789, 8788);\n this.mirroringShapeCharacters.setValue(8804, 8805);\n this.mirroringShapeCharacters.setValue(8805, 8804);\n this.mirroringShapeCharacters.setValue(8806, 8807);\n this.mirroringShapeCharacters.setValue(8807, 8806);\n this.mirroringShapeCharacters.setValue(8808, 8809);\n this.mirroringShapeCharacters.setValue(8809, 8808);\n this.mirroringShapeCharacters.setValue(8810, 8811);\n this.mirroringShapeCharacters.setValue(8811, 8810);\n this.mirroringShapeCharacters.setValue(8814, 8815);\n this.mirroringShapeCharacters.setValue(8815, 8814);\n this.mirroringShapeCharacters.setValue(8816, 8817);\n this.mirroringShapeCharacters.setValue(8817, 8816);\n this.mirroringShapeCharacters.setValue(8818, 8819);\n this.mirroringShapeCharacters.setValue(8819, 8818);\n this.mirroringShapeCharacters.setValue(8820, 8821);\n this.mirroringShapeCharacters.setValue(8821, 8820);\n this.mirroringShapeCharacters.setValue(8822, 8823);\n this.mirroringShapeCharacters.setValue(8823, 8822);\n this.mirroringShapeCharacters.setValue(8824, 8825);\n this.mirroringShapeCharacters.setValue(8825, 8824);\n this.mirroringShapeCharacters.setValue(8826, 8827);\n this.mirroringShapeCharacters.setValue(8827, 8826);\n this.mirroringShapeCharacters.setValue(8828, 8829);\n this.mirroringShapeCharacters.setValue(8829, 8828);\n this.mirroringShapeCharacters.setValue(8830, 8831);\n this.mirroringShapeCharacters.setValue(8831, 8830);\n this.mirroringShapeCharacters.setValue(8832, 8833);\n this.mirroringShapeCharacters.setValue(8833, 8832);\n this.mirroringShapeCharacters.setValue(8834, 8835);\n this.mirroringShapeCharacters.setValue(8835, 8834);\n this.mirroringShapeCharacters.setValue(8836, 8837);\n this.mirroringShapeCharacters.setValue(8837, 8836);\n this.mirroringShapeCharacters.setValue(8838, 8839);\n this.mirroringShapeCharacters.setValue(8839, 8838);\n this.mirroringShapeCharacters.setValue(8840, 8841);\n this.mirroringShapeCharacters.setValue(8841, 8840);\n this.mirroringShapeCharacters.setValue(8842, 8843);\n this.mirroringShapeCharacters.setValue(8843, 8842);\n this.mirroringShapeCharacters.setValue(8847, 8848);\n this.mirroringShapeCharacters.setValue(8848, 8847);\n this.mirroringShapeCharacters.setValue(8849, 8850);\n this.mirroringShapeCharacters.setValue(8850, 8849);\n this.mirroringShapeCharacters.setValue(8856, 10680);\n this.mirroringShapeCharacters.setValue(8866, 8867);\n this.mirroringShapeCharacters.setValue(8867, 8866);\n this.mirroringShapeCharacters.setValue(8870, 10974);\n this.mirroringShapeCharacters.setValue(8872, 10980);\n this.mirroringShapeCharacters.setValue(8873, 10979);\n this.mirroringShapeCharacters.setValue(8875, 10981);\n this.mirroringShapeCharacters.setValue(8880, 8881);\n this.mirroringShapeCharacters.setValue(8881, 8880);\n this.mirroringShapeCharacters.setValue(8882, 8883);\n this.mirroringShapeCharacters.setValue(8883, 8882);\n this.mirroringShapeCharacters.setValue(8884, 8885);\n this.mirroringShapeCharacters.setValue(8885, 8884);\n /*tslint:disable:max-func-body-length */\n this.mirroringShapeCharacters.setValue(8886, 8887);\n this.mirroringShapeCharacters.setValue(8887, 8886);\n this.mirroringShapeCharacters.setValue(8905, 8906);\n this.mirroringShapeCharacters.setValue(8906, 8905);\n this.mirroringShapeCharacters.setValue(8907, 8908);\n this.mirroringShapeCharacters.setValue(8908, 8907);\n this.mirroringShapeCharacters.setValue(8909, 8771);\n this.mirroringShapeCharacters.setValue(8912, 8913);\n this.mirroringShapeCharacters.setValue(8913, 8912);\n this.mirroringShapeCharacters.setValue(8918, 8919);\n this.mirroringShapeCharacters.setValue(8919, 8918);\n this.mirroringShapeCharacters.setValue(8920, 8921);\n this.mirroringShapeCharacters.setValue(8921, 8920);\n this.mirroringShapeCharacters.setValue(8922, 8923);\n this.mirroringShapeCharacters.setValue(8923, 8922);\n this.mirroringShapeCharacters.setValue(8924, 8925);\n this.mirroringShapeCharacters.setValue(8925, 8924);\n this.mirroringShapeCharacters.setValue(8926, 8927);\n this.mirroringShapeCharacters.setValue(8927, 8926);\n this.mirroringShapeCharacters.setValue(8928, 8929);\n this.mirroringShapeCharacters.setValue(8929, 8928);\n this.mirroringShapeCharacters.setValue(8930, 8931);\n this.mirroringShapeCharacters.setValue(8931, 8930);\n this.mirroringShapeCharacters.setValue(8932, 8933);\n this.mirroringShapeCharacters.setValue(8933, 8932);\n this.mirroringShapeCharacters.setValue(8934, 8935);\n this.mirroringShapeCharacters.setValue(8935, 8934);\n this.mirroringShapeCharacters.setValue(8936, 8937);\n this.mirroringShapeCharacters.setValue(8937, 8936);\n this.mirroringShapeCharacters.setValue(8938, 8939);\n this.mirroringShapeCharacters.setValue(8939, 8938);\n this.mirroringShapeCharacters.setValue(8940, 8941);\n this.mirroringShapeCharacters.setValue(8941, 8940);\n this.mirroringShapeCharacters.setValue(8944, 8945);\n this.mirroringShapeCharacters.setValue(8945, 8944);\n this.mirroringShapeCharacters.setValue(8946, 8954);\n this.mirroringShapeCharacters.setValue(8947, 8955);\n this.mirroringShapeCharacters.setValue(8948, 8956);\n this.mirroringShapeCharacters.setValue(8950, 8957);\n this.mirroringShapeCharacters.setValue(8951, 8958);\n this.mirroringShapeCharacters.setValue(8954, 8946);\n this.mirroringShapeCharacters.setValue(8955, 8947);\n this.mirroringShapeCharacters.setValue(8956, 8948);\n this.mirroringShapeCharacters.setValue(8957, 8950);\n this.mirroringShapeCharacters.setValue(8958, 8951);\n this.mirroringShapeCharacters.setValue(8968, 8969);\n this.mirroringShapeCharacters.setValue(8969, 8968);\n this.mirroringShapeCharacters.setValue(8970, 8971);\n this.mirroringShapeCharacters.setValue(8971, 8970);\n this.mirroringShapeCharacters.setValue(9001, 9002);\n this.mirroringShapeCharacters.setValue(9002, 9001);\n this.mirroringShapeCharacters.setValue(10088, 10089);\n this.mirroringShapeCharacters.setValue(10089, 10088);\n this.mirroringShapeCharacters.setValue(10090, 10091);\n this.mirroringShapeCharacters.setValue(10091, 10090);\n this.mirroringShapeCharacters.setValue(10092, 10093);\n this.mirroringShapeCharacters.setValue(10093, 10092);\n this.mirroringShapeCharacters.setValue(10094, 10095);\n this.mirroringShapeCharacters.setValue(10095, 10094);\n this.mirroringShapeCharacters.setValue(10096, 10097);\n this.mirroringShapeCharacters.setValue(10097, 10096);\n this.mirroringShapeCharacters.setValue(10098, 10099);\n this.mirroringShapeCharacters.setValue(10099, 10098);\n this.mirroringShapeCharacters.setValue(10100, 10101);\n this.mirroringShapeCharacters.setValue(10101, 10100);\n this.mirroringShapeCharacters.setValue(10197, 10198);\n this.mirroringShapeCharacters.setValue(10198, 10197);\n this.mirroringShapeCharacters.setValue(10205, 10206);\n this.mirroringShapeCharacters.setValue(10206, 10205);\n this.mirroringShapeCharacters.setValue(10210, 10211);\n this.mirroringShapeCharacters.setValue(10211, 10210);\n this.mirroringShapeCharacters.setValue(10212, 10213);\n this.mirroringShapeCharacters.setValue(10213, 10212);\n this.mirroringShapeCharacters.setValue(10214, 10215);\n this.mirroringShapeCharacters.setValue(10215, 10214);\n this.mirroringShapeCharacters.setValue(10216, 10217);\n this.mirroringShapeCharacters.setValue(10217, 10216);\n this.mirroringShapeCharacters.setValue(10218, 10219);\n this.mirroringShapeCharacters.setValue(10219, 10218);\n this.mirroringShapeCharacters.setValue(10627, 10628);\n this.mirroringShapeCharacters.setValue(10628, 10627);\n this.mirroringShapeCharacters.setValue(10629, 10630);\n this.mirroringShapeCharacters.setValue(10630, 10629);\n this.mirroringShapeCharacters.setValue(10631, 10632);\n this.mirroringShapeCharacters.setValue(10632, 10631);\n this.mirroringShapeCharacters.setValue(10633, 10634);\n this.mirroringShapeCharacters.setValue(10634, 10633);\n this.mirroringShapeCharacters.setValue(10635, 10636);\n this.mirroringShapeCharacters.setValue(10636, 10635);\n this.mirroringShapeCharacters.setValue(10637, 10640);\n this.mirroringShapeCharacters.setValue(10638, 10639);\n this.mirroringShapeCharacters.setValue(10639, 10638);\n this.mirroringShapeCharacters.setValue(10640, 10637);\n this.mirroringShapeCharacters.setValue(10641, 10642);\n this.mirroringShapeCharacters.setValue(10642, 10641);\n this.mirroringShapeCharacters.setValue(10643, 10644);\n this.mirroringShapeCharacters.setValue(10644, 10643);\n this.mirroringShapeCharacters.setValue(10645, 10646);\n this.mirroringShapeCharacters.setValue(10646, 10645);\n this.mirroringShapeCharacters.setValue(10647, 10648);\n this.mirroringShapeCharacters.setValue(10648, 10647);\n this.mirroringShapeCharacters.setValue(10680, 8856);\n this.mirroringShapeCharacters.setValue(10688, 10689);\n this.mirroringShapeCharacters.setValue(10689, 10688);\n this.mirroringShapeCharacters.setValue(10692, 10693);\n this.mirroringShapeCharacters.setValue(10693, 10692);\n this.mirroringShapeCharacters.setValue(10703, 10704);\n this.mirroringShapeCharacters.setValue(10704, 10703);\n this.mirroringShapeCharacters.setValue(10705, 10706);\n this.mirroringShapeCharacters.setValue(10706, 10705);\n this.mirroringShapeCharacters.setValue(10708, 10709);\n this.mirroringShapeCharacters.setValue(10709, 10708);\n this.mirroringShapeCharacters.setValue(10712, 10713);\n this.mirroringShapeCharacters.setValue(10713, 10712);\n this.mirroringShapeCharacters.setValue(10714, 10715);\n this.mirroringShapeCharacters.setValue(10715, 10714);\n this.mirroringShapeCharacters.setValue(10741, 8725);\n this.mirroringShapeCharacters.setValue(10744, 10745);\n this.mirroringShapeCharacters.setValue(10745, 10744);\n this.mirroringShapeCharacters.setValue(10748, 10749);\n this.mirroringShapeCharacters.setValue(10749, 10748);\n this.mirroringShapeCharacters.setValue(10795, 10796);\n this.mirroringShapeCharacters.setValue(10796, 10795);\n this.mirroringShapeCharacters.setValue(10797, 10796);\n this.mirroringShapeCharacters.setValue(10798, 10797);\n this.mirroringShapeCharacters.setValue(10804, 10805);\n this.mirroringShapeCharacters.setValue(10805, 10804);\n this.mirroringShapeCharacters.setValue(10812, 10813);\n this.mirroringShapeCharacters.setValue(10813, 10812);\n this.mirroringShapeCharacters.setValue(10852, 10853);\n this.mirroringShapeCharacters.setValue(10853, 10852);\n this.mirroringShapeCharacters.setValue(10873, 10874);\n this.mirroringShapeCharacters.setValue(10874, 10873);\n this.mirroringShapeCharacters.setValue(10877, 10878);\n this.mirroringShapeCharacters.setValue(10878, 10877);\n this.mirroringShapeCharacters.setValue(10879, 10880);\n this.mirroringShapeCharacters.setValue(10880, 10879);\n this.mirroringShapeCharacters.setValue(10881, 10882);\n this.mirroringShapeCharacters.setValue(10882, 10881);\n this.mirroringShapeCharacters.setValue(10883, 10884);\n this.mirroringShapeCharacters.setValue(10884, 10883);\n this.mirroringShapeCharacters.setValue(10891, 10892);\n this.mirroringShapeCharacters.setValue(10892, 10891);\n this.mirroringShapeCharacters.setValue(10897, 10898);\n this.mirroringShapeCharacters.setValue(10898, 10897);\n this.mirroringShapeCharacters.setValue(10899, 10900);\n this.mirroringShapeCharacters.setValue(10900, 10899);\n this.mirroringShapeCharacters.setValue(10901, 10902);\n this.mirroringShapeCharacters.setValue(10902, 10901);\n this.mirroringShapeCharacters.setValue(10903, 10904);\n this.mirroringShapeCharacters.setValue(10904, 10903);\n this.mirroringShapeCharacters.setValue(10905, 10906);\n this.mirroringShapeCharacters.setValue(10906, 10905);\n this.mirroringShapeCharacters.setValue(10907, 10908);\n this.mirroringShapeCharacters.setValue(10908, 10907);\n this.mirroringShapeCharacters.setValue(10913, 10914);\n this.mirroringShapeCharacters.setValue(10914, 10913);\n this.mirroringShapeCharacters.setValue(10918, 10919);\n this.mirroringShapeCharacters.setValue(10919, 10918);\n this.mirroringShapeCharacters.setValue(10920, 10921);\n this.mirroringShapeCharacters.setValue(10921, 10920);\n this.mirroringShapeCharacters.setValue(10922, 10923);\n this.mirroringShapeCharacters.setValue(10923, 10922);\n this.mirroringShapeCharacters.setValue(10924, 10925);\n this.mirroringShapeCharacters.setValue(10925, 10924);\n this.mirroringShapeCharacters.setValue(10927, 10928);\n this.mirroringShapeCharacters.setValue(10928, 10927);\n this.mirroringShapeCharacters.setValue(10931, 10932);\n this.mirroringShapeCharacters.setValue(10932, 10931);\n this.mirroringShapeCharacters.setValue(10939, 10940);\n this.mirroringShapeCharacters.setValue(10940, 10939);\n this.mirroringShapeCharacters.setValue(10941, 10942);\n this.mirroringShapeCharacters.setValue(10942, 10941);\n this.mirroringShapeCharacters.setValue(10943, 10944);\n this.mirroringShapeCharacters.setValue(10944, 10943);\n this.mirroringShapeCharacters.setValue(10945, 10946);\n this.mirroringShapeCharacters.setValue(10946, 10945);\n this.mirroringShapeCharacters.setValue(10947, 10948);\n this.mirroringShapeCharacters.setValue(10948, 10947);\n this.mirroringShapeCharacters.setValue(10949, 10950);\n this.mirroringShapeCharacters.setValue(10950, 10949);\n this.mirroringShapeCharacters.setValue(10957, 10958);\n this.mirroringShapeCharacters.setValue(10958, 10957);\n this.mirroringShapeCharacters.setValue(10959, 10960);\n this.mirroringShapeCharacters.setValue(10960, 10959);\n this.mirroringShapeCharacters.setValue(10961, 10962);\n this.mirroringShapeCharacters.setValue(10962, 10961);\n this.mirroringShapeCharacters.setValue(10963, 10964);\n this.mirroringShapeCharacters.setValue(10964, 10963);\n this.mirroringShapeCharacters.setValue(10965, 10966);\n this.mirroringShapeCharacters.setValue(10966, 10965);\n this.mirroringShapeCharacters.setValue(10974, 8870);\n this.mirroringShapeCharacters.setValue(10979, 8873);\n this.mirroringShapeCharacters.setValue(10980, 8872);\n this.mirroringShapeCharacters.setValue(10981, 8875);\n this.mirroringShapeCharacters.setValue(10988, 10989);\n this.mirroringShapeCharacters.setValue(10989, 10988);\n this.mirroringShapeCharacters.setValue(10999, 11000);\n this.mirroringShapeCharacters.setValue(11000, 10999);\n this.mirroringShapeCharacters.setValue(11001, 11002);\n this.mirroringShapeCharacters.setValue(11002, 11001);\n this.mirroringShapeCharacters.setValue(12296, 12297);\n this.mirroringShapeCharacters.setValue(12297, 12296);\n this.mirroringShapeCharacters.setValue(12298, 12299);\n this.mirroringShapeCharacters.setValue(12299, 12298);\n this.mirroringShapeCharacters.setValue(12300, 12301);\n this.mirroringShapeCharacters.setValue(12301, 12300);\n this.mirroringShapeCharacters.setValue(12302, 12303);\n this.mirroringShapeCharacters.setValue(12303, 12302);\n this.mirroringShapeCharacters.setValue(12304, 12305);\n this.mirroringShapeCharacters.setValue(12305, 12304);\n this.mirroringShapeCharacters.setValue(12308, 12309);\n this.mirroringShapeCharacters.setValue(12309, 12308);\n this.mirroringShapeCharacters.setValue(12310, 12311);\n this.mirroringShapeCharacters.setValue(12311, 12310);\n this.mirroringShapeCharacters.setValue(12312, 12313);\n this.mirroringShapeCharacters.setValue(12313, 12312);\n this.mirroringShapeCharacters.setValue(12314, 12315);\n this.mirroringShapeCharacters.setValue(12315, 12314);\n this.mirroringShapeCharacters.setValue(65288, 65289);\n this.mirroringShapeCharacters.setValue(65289, 65288);\n this.mirroringShapeCharacters.setValue(65308, 65310);\n this.mirroringShapeCharacters.setValue(65310, 65308);\n this.mirroringShapeCharacters.setValue(65339, 65341);\n this.mirroringShapeCharacters.setValue(65341, 65339);\n this.mirroringShapeCharacters.setValue(65371, 65373);\n this.mirroringShapeCharacters.setValue(65373, 65371);\n this.mirroringShapeCharacters.setValue(65375, 65376);\n this.mirroringShapeCharacters.setValue(65376, 65375);\n this.mirroringShapeCharacters.setValue(65378, 65379);\n this.mirroringShapeCharacters.setValue(65379, 65378);\n };\n return Bidi;\n}());\n\nvar RtlCharacters = /** @class */ (function () {\n //#endregion\n //#region constructors\n function RtlCharacters() {\n //#region fields\n /// \n /// Specifies the character types.\n /// \n this.types = [];\n /// \n /// Specifies the text order (RTL or LTR).\n /// \n this.textOrder = -1;\n /// \n /// Specifies the RTL character types.\n /// \n /* tslint:disable-next-line:prefer-array-literal */\n this.rtlCharacterTypes = new Array(65536);\n //#endregion\n //#region constants\n /// \n /// Left-to-Right (Non-European or non-Arabic digits).\n /// \n this.L = 0;\n /// \n /// Left-to-Right Embedding\n /// \n this.LRE = 1;\n /// \n /// Left-to-Right Override\n /// \n this.LRO = 2;\n /// \n /// Right-to-Left (Hebrew alphabet, and related punctuation).\n /// \n this.R = 3;\n /// \n /// Right-to-Left Arabic \n /// \n this.AL = 4;\n /// \n /// Right-to-Left Embedding.\n /// \n this.RLE = 5;\n /// \n /// Right-to-Left Override\n /// \n this.RLO = 6;\n /// \n /// Pop Directional Format\n /// \n this.PDF = 7;\n /// \n /// European Number (European digits, Eastern Arabic-Indic digits).\n /// \n this.EN = 8;\n /// \n /// European Number Separator (Plus sign, Minus sign).\n /// \n this.ES = 9;\n /// \n /// European Number Terminator (Degree sign, currency symbols).\n /// \n this.ET = 10;\n /// \n /// Arabic Number (Arabic-Indic digits, Arabic decimal and thousands separators).\n /// \n this.AN = 11;\n /// \n /// Common Number Separator (Colon, Comma, Full Stop, No-Break Space.\n /// \n this.CS = 12;\n /// \n /// Nonspacing Mark (Characters with the General_Category values).\n /// \n this.NSM = 13;\n /// \n /// Boundary Neutral (Default ignorables, non-characters, and control characters, other than those explicitly given other types.)\n /// \n this.BN = 14;\n /// \n /// Paragraph Separator (Paragraph separator, appropriate Newline Functions, higher-level protocol paragraph determination).\n /// \n this.B = 15;\n /// \n /// \tSegment Separator (tab).\n /// \n this.S = 16;\n /// \n /// Whitespace (Space, Figure space, Line separator, Form feed, General Punctuation spaces).\n /// \n this.WS = 17;\n /// \n /// Other Neutrals (All other characters, including object replacement character).\n /// \n this.ON = 18;\n /// \n /// RTL character types.\n /// \n this.charTypes = [\n this.L, this.EN, this.BN, this.ES, this.ES, this.S, this.ET, this.ET, this.B, this.AN, this.AN, this.S, this.CS, this.CS,\n this.WS, this.NSM, this.NSM, this.B, this.BN, 27, this.BN, 28, 30, this.B, 31, 31, this.S, 32, 32, this.WS, 33, 34,\n this.ON, 35, 37, this.ET, 38, 42, this.ON, 43, 43, this.ET, 44, 44, this.CS, 45, 45, this.ET, 46, 46, this.CS,\n 47, 47, this.CS, 48, 57, this.EN, 58, 58, this.CS, 59, 64, this.ON, 65, 90, this.L, 91, 96, this.ON, 97, 122, this.L,\n 123, 126, this.ON, 127, 132, this.BN, 133, 133, this.B, 134, 159, this.BN, 160, 160, this.CS,\n 161, 161, this.ON, 162, 165, this.ET, 166, 169, this.ON, 170, 170, this.L, 171, 175, this.ON,\n 176, 177, this.ET, 178, 179, this.EN, 180, 180, this.ON, 181, 181, this.L, 182, 184, this.ON,\n 185, 185, this.EN, 186, 186, this.L, 187, 191, this.ON, 192, 214, this.L, 215, 215, this.ON,\n 216, 246, this.L, 247, 247, this.ON, 248, 696, this.L, 697, 698, this.ON, 699, 705, this.L,\n 706, 719, this.ON, 720, 721, this.L, 722, 735, this.ON, 736, 740, this.L, 741, 749, this.ON,\n 750, 750, this.L, 751, 767, this.ON, 768, 855, this.NSM, 856, 860, this.L, 861, 879, this.NSM,\n 880, 883, this.L, 884, 885, this.ON, 886, 893, this.L, 894, 894, this.ON, 895, 899, this.L,\n 900, 901, this.ON, 902, 902, this.L, 903, 903, this.ON, 904, 1013, this.L, 1014, 1014, this.ON,\n 1015, 1154, this.L, 1155, 1158, this.NSM, 1159, 1159, this.L, 1160, 1161, this.NSM,\n 1162, 1417, this.L, 1418, 1418, this.ON, 1419, 1424, this.L, 1425, 1441, this.NSM,\n 1442, 1442, this.L, 1443, 1465, this.NSM, 1466, 1466, this.L, 1467, 1469, this.NSM,\n 1470, 1470, this.R, 1471, 1471, this.NSM, 1472, 1472, this.R, 1473, 1474, this.NSM,\n 1475, 1475, this.R, 1476, 1476, this.NSM, 1477, 1487, this.L, 1488, 1514, this.R,\n 1515, 1519, this.L, 1520, 1524, this.R, 1525, 1535, this.L, 1536, 1539, this.AL,\n 1540, 1547, this.L, 1548, 1548, this.CS, 1549, 1549, this.AL, 1550, 1551, this.ON,\n 1552, 1557, this.NSM, 1558, 1562, this.L, 1563, 1563, this.AL, 1564, 1566, this.L,\n 1567, 1567, this.AL, 1568, 1568, this.L, 1569, 1594, this.AL, 1595, 1599, this.L,\n 1600, 1610, this.AL, 1611, 1624, this.NSM, 1625, 1631, this.L, 1632, 1641, this.AN,\n 1642, 1642, this.ET, 1643, 1644, this.AN, 1645, 1647, this.AL, 1648, 1648, this.NSM,\n 1649, 1749, this.AL, 1750, 1756, this.NSM, 1757, 1757, this.AL, 1758, 1764, this.NSM,\n 1765, 1766, this.AL, 1767, 1768, this.NSM, 1769, 1769, this.ON, 1770, 1773, this.NSM,\n 1774, 1775, this.AL, 1776, 1785, this.EN, 1786, 1805, this.AL, 1806, 1806, this.L,\n 1807, 1807, this.BN, 1808, 1808, this.AL, 1809, 1809, this.NSM, 1810, 1839, this.AL,\n 1840, 1866, this.NSM, 1867, 1868, this.L, 1869, 1871, this.AL, 1872, 1919, this.L,\n 1920, 1957, this.AL, 1958, 1968, this.NSM, 1969, 1969, this.AL, 1970, 2304, this.L,\n 2305, 2306, this.NSM, 2307, 2363, this.L, 2364, 2364, this.NSM, 2365, 2368, this.L,\n 2369, 2376, this.NSM, 2377, 2380, this.L, 2381, 2381, this.NSM, 2382, 2384, this.L,\n 2385, 2388, this.NSM, 2389, 2401, this.L, 2402, 2403, this.NSM, 2404, 2432, this.L,\n 2433, 2433, this.NSM, 2434, 2491, this.L, 2492, 2492, this.NSM, 2493, 2496, this.L,\n 2497, 2500, this.NSM, 2501, 2508, this.L, 2509, 2509, this.NSM, 2510, 2529, this.L,\n 2530, 2531, this.NSM, 2532, 2545, this.L, 2546, 2547, this.ET, 2548, 2560, this.L,\n 2561, 2562, this.NSM, 2563, 2619, this.L, 2620, 2620, this.NSM, 2621, 2624, this.L,\n 2625, 2626, this.NSM, 2627, 2630, this.L, 2631, 2632, this.NSM, 2633, 2634, this.L,\n 2635, 2637, this.NSM, 2638, 2671, this.L, 2672, 2673, this.NSM, 2674, 2688, this.L,\n 2689, 2690, this.NSM, 2691, 2747, this.L, 2748, 2748, this.NSM, 2749, 2752, this.L,\n 2753, 2757, this.NSM, 2758, 2758, this.L, 2759, 2760, this.NSM, 2761, 2764, this.L,\n 2765, 2765, this.NSM, 2766, 2785, this.L, 2786, 2787, this.NSM, 2788, 2800, this.L,\n 2801, 2801, this.ET, 2802, 2816, this.L, 2817, 2817, this.NSM, 2818, 2875, this.L,\n 2876, 2876, this.NSM, 2877, 2878, this.L, 2879, 2879, this.NSM, 2880, 2880, this.L,\n 2881, 2883, this.NSM, 2884, 2892, this.L, 2893, 2893, this.NSM, 2894, 2901, this.L,\n 2902, 2902, this.NSM, 2903, 2945, this.L, 2946, 2946, this.NSM, 2947, 3007, this.L,\n 3008, 3008, this.NSM, 3009, 3020, this.L, 3021, 3021, this.NSM, 3022, 3058, this.L,\n 3059, 3064, this.ON, 3065, 3065, this.ET, 3066, 3066, this.ON, 3067, 3133, this.L,\n 3134, 3136, this.NSM, 3137, 3141, this.L, 3142, 3144, this.NSM, 3145, 3145, this.L,\n 3146, 3149, this.NSM, 3150, 3156, this.L, 3157, 3158, this.NSM, 3159, 3259, this.L,\n 3260, 3260, this.NSM, 3261, 3275, this.L, 3276, 3277, this.NSM, 3278, 3392, this.L,\n 3393, 3395, this.NSM, 3396, 3404, this.L, 3405, 3405, this.NSM, 3406, 3529, this.L,\n 3530, 3530, this.NSM, 3531, 3537, this.L, 3538, 3540, this.NSM, 3541, 3541, this.L,\n 3542, 3542, this.NSM, 3543, 3632, this.L, 3633, 3633, this.NSM, 3634, 3635, this.L,\n 3636, 3642, this.NSM, 3643, 3646, this.L, 3647, 3647, this.ET, 3648, 3654, this.L,\n 3655, 3662, this.NSM, 3663, 3760, this.L, 3761, 3761, this.NSM, 3762, 3763, this.L,\n 3764, 3769, this.NSM, 3770, 3770, this.L, 3771, 3772, this.NSM, 3773, 3783, this.L,\n 3784, 3789, this.NSM, 3790, 3863, this.L, 3864, 3865, this.NSM, 3866, 3892, this.L,\n 3893, 3893, this.NSM, 3894, 3894, this.L, 3895, 3895, this.NSM, 3896, 3896, this.L,\n 3897, 3897, this.NSM, 3898, 3901, this.ON, 3902, 3952, this.L, 3953, 3966, this.NSM,\n 3967, 3967, this.L, 3968, 3972, this.NSM, 3973, 3973, this.L, 3974, 3975, this.NSM,\n 3976, 3983, this.L, 3984, 3991, this.NSM, 3992, 3992, this.L, 3993, 4028, this.NSM,\n 4029, 4037, this.L, 4038, 4038, this.NSM, 4039, 4140, this.L, 4141, 4144, this.NSM,\n 4145, 4145, this.L, 4146, 4146, this.NSM, 4147, 4149, this.L, 4150, 4151, this.NSM,\n 4152, 4152, this.L, 4153, 4153, this.NSM, 4154, 4183, this.L, 4184, 4185, this.NSM,\n 4186, 5759, this.L, 5760, 5760, this.WS, 5761, 5786, this.L, 5787, 5788, this.ON,\n 5789, 5905, this.L, 5906, 5908, this.NSM, 5909, 5937, this.L, 5938, 5940, this.NSM,\n 5941, 5969, this.L, 5970, 5971, this.NSM, 5972, 6001, this.L, 6002, 6003, this.NSM,\n 6004, 6070, this.L, 6071, 6077, this.NSM, 6078, 6085, this.L, 6086, 6086, this.NSM,\n 6087, 6088, this.L, 6089, 6099, this.NSM, 6100, 6106, this.L, 6107, 6107, this.ET,\n 6108, 6108, this.L, 6109, 6109, this.NSM, 6110, 6127, this.L, 6128, 6137, this.ON,\n 6138, 6143, this.L, 6144, 6154, this.ON, 6155, 6157, this.NSM, 6158, 6158, this.WS,\n 6159, 6312, this.L, 6313, 6313, this.NSM, 6314, 6431, this.L, 6432, 6434, this.NSM,\n 6435, 6438, this.L, 6439, 6443, this.NSM, 6444, 6449, this.L, 6450, 6450, this.NSM,\n 6451, 6456, this.L, 6457, 6459, this.NSM, 6460, 6463, this.L, 6464, 6464, this.ON,\n 6465, 6467, this.L, 6468, 6469, this.ON, 6470, 6623, this.L, 6624, 6655, this.ON,\n 6656, 8124, this.L, 8125, 8125, this.ON, 8126, 8126, this.L, 8127, 8129, this.ON,\n 8130, 8140, this.L, 8141, 8143, this.ON, 8144, 8156, this.L, 8157, 8159, this.ON,\n 8160, 8172, this.L, 8173, 8175, this.ON, 8176, 8188, this.L, 8189, 8190, this.ON,\n 8191, 8191, this.L, 8192, 8202, this.WS, 8203, 8205, this.BN, 8206, 8206, this.L,\n 8207, 8207, this.R, 8208, 8231, this.ON, 8232, 8232, this.WS, 8233, 8233, this.B,\n 8234, 8234, this.LRE, 8235, 8235, this.RLE, 8236, 8236, this.PDF, 8237, 8237, this.LRO,\n 8238, 8238, this.RLO, 8239, 8239, this.WS, 8240, 8244, this.ET, 8245, 8276, this.ON,\n 8277, 8278, this.L, 8279, 8279, this.ON, 8280, 8286, this.L, 8287, 8287, this.WS,\n 8288, 8291, this.BN, 8292, 8297, this.L, 8298, 8303, this.BN, 8304, 8304, this.EN,\n 8305, 8307, this.L, 8308, 8313, this.EN, 8314, 8315, this.ET, 8316, 8318, this.ON,\n 8319, 8319, this.L, 8320, 8329, this.EN, 8330, 8331, this.ET, 8332, 8334, this.ON,\n 8335, 8351, this.L, 8352, 8369, this.ET, 8370, 8399, this.L, 8400, 8426, this.NSM,\n 8427, 8447, this.L, 8448, 8449, this.ON, 8450, 8450, this.L, 8451, 8454, this.ON,\n 8455, 8455, this.L, 8456, 8457, this.ON, 8458, 8467, this.L, 8468, 8468, this.ON,\n 8469, 8469, this.L, 8470, 8472, this.ON, 8473, 8477, this.L, 8478, 8483, this.ON,\n 8484, 8484, this.L, 8485, 8485, this.ON, 8486, 8486, this.L, 8487, 8487, this.ON,\n 8488, 8488, this.L, 8489, 8489, this.ON, 8490, 8493, this.L, 8494, 8494, this.ET,\n 8495, 8497, this.L, 8498, 8498, this.ON, 8499, 8505, this.L, 8506, 8507, this.ON,\n 8508, 8511, this.L, 8512, 8516, this.ON, 8517, 8521, this.L, 8522, 8523, this.ON,\n 8524, 8530, this.L, 8531, 8543, this.ON, 8544, 8591, this.L, 8592, 8721, this.ON,\n 8722, 8723, this.ET, 8724, 9013, this.ON, 9014, 9082, this.L, 9083, 9108, this.ON,\n 9109, 9109, this.L, 9110, 9168, this.ON, 9169, 9215, this.L, 9216, 9254, this.ON,\n 9255, 9279, this.L, 9280, 9290, this.ON, 9291, 9311, this.L, 9312, 9371, this.EN,\n 9372, 9449, this.L, 9450, 9450, this.EN, 9451, 9751, this.ON, 9752, 9752, this.L,\n 9753, 9853, this.ON, 9854, 9855, this.L, 9856, 9873, this.ON, 9874, 9887, this.L,\n 9888, 9889, this.ON, 9890, 9984, this.L, 9985, 9988, this.ON, 9989, 9989, this.L,\n 9990, 9993, this.ON, 9994, 9995, this.L, 9996, 10023, this.ON, 10024, 10024, this.L,\n 10025, 10059, this.ON, 10060, 10060, this.L, 10061, 10061, this.ON, 10062, 10062, this.L,\n 10063, 10066, this.ON, 10067, 10069, this.L, 10070, 10070, this.ON, 10071, 10071, this.L,\n 10072, 10078, this.ON, 10079, 10080, this.L, 10081, 10132, this.ON, 10133, 10135, this.L,\n 10136, 10159, this.ON, 10160, 10160, this.L, 10161, 10174, this.ON, 10175, 10191, this.L,\n 10192, 10219, this.ON, 10220, 10223, this.L, 10224, 11021, this.ON, 11022, 11903, this.L,\n 11904, 11929, this.ON, 11930, 11930, this.L, 11931, 12019, this.ON, 12020, 12031, this.L,\n 12032, 12245, this.ON, 12246, 12271, this.L, 12272, 12283, this.ON, 12284, 12287, this.L,\n 12288, 12288, this.WS, 12289, 12292, this.ON, 12293, 12295, this.L, 12296, 12320, this.ON,\n 12321, 12329, this.L, 12330, 12335, this.NSM, 12336, 12336, this.ON, 12337, 12341, this.L,\n 12342, 12343, this.ON, 12344, 12348, this.L, 12349, 12351, this.ON, 12352, 12440, this.L,\n 12441, 12442, this.NSM, 12443, 12444, this.ON, 12445, 12447, this.L, 12448, 12448, this.ON,\n 12449, 12538, this.L, 12539, 12539, this.ON, 12540, 12828, this.L, 12829, 12830, this.ON,\n 12831, 12879, this.L, 12880, 12895, this.ON, 12896, 12923, this.L, 12924, 12925, this.ON,\n 12926, 12976, this.L, 12977, 12991, this.ON, 12992, 13003, this.L, 13004, 13007, this.ON,\n 13008, 13174, this.L, 13175, 13178, this.ON, 13179, 13277, this.L, 13278, 13279, this.ON,\n 13280, 13310, this.L, 13311, 13311, this.ON, 13312, 19903, this.L, 19904, 19967, this.ON,\n 19968, 42127, this.L, 42128, 42182, this.ON, 42183, 64284, this.L, 64285, 64285, this.R,\n 64286, 64286, this.NSM, 64287, 64296, this.R, 64297, 64297, this.ET, 64298, 64310, this.R,\n 64311, 64311, this.L, 64312, 64316, this.R, 64317, 64317, this.L, 64318, 64318, this.R,\n 64319, 64319, this.L, 64320, 64321, this.R, 64322, 64322, this.L, 64323, 64324, this.R,\n 64325, 64325, this.L, 64326, 64335, this.R, 64336, 64433, this.AL, 64434, 64466, this.L,\n 64467, 64829, this.AL, 64830, 64831, this.ON, 64832, 64847, this.L, 64848, 64911, this.AL,\n 64912, 64913, this.L, 64914, 64967, this.AL, 64968, 65007, this.L, 65008, 65020, this.AL,\n 65021, 65021, this.ON, 65022, 65023, this.L, 65024, 65039, this.NSM, 65040, 65055, this.L,\n 65056, 65059, this.NSM, 65060, 65071, this.L, 65072, 65103, this.ON, 65104, 65104, this.CS,\n 65105, 65105, this.ON, 65106, 65106, this.CS, 65107, 65107, this.L, 65108, 65108, this.ON,\n 65109, 65109, this.CS, 65110, 65118, this.ON, 65119, 65119, this.ET, 65120, 65121, this.ON,\n 65122, 65123, this.ET, 65124, 65126, this.ON, 65127, 65127, this.L, 65128, 65128, this.ON,\n 65129, 65130, this.ET, 65131, 65131, this.ON, 65132, 65135, this.L, 65136, 65140, this.AL,\n 65141, 65141, this.L, 65142, 65276, this.AL, 65277, 65278, this.L, 65279, 65279, this.BN,\n 65280, 65280, this.L, 65281, 65282, this.ON, 65283, 65285, this.ET, 65286, 65290, this.ON,\n 65291, 65291, this.ET, 65292, 65292, this.CS, 65293, 65293, this.ET, 65294, 65294, this.CS,\n 65295, 65295, this.ES, 65296, 65305, this.EN, 65306, 65306, this.CS, 65307, 65312, this.ON,\n 65313, 65338, this.L, 65339, 65344, this.ON, 65345, 65370, this.L, 65371, 65381, this.ON,\n 65382, 65503, this.L, 65504, 65505, this.ET, 65506, 65508, this.ON, 65509, 65510, this.ET,\n 65511, 65511, this.L, 65512, 65518, this.ON, 65519, 65528, this.L, 65529, 65531, this.BN,\n 65532, 65533, this.ON, 65534, 65535, this.L\n ];\n for (var i = 0; i < this.charTypes.length; ++i) {\n var start = this.charTypes[i];\n var end = this.charTypes[++i];\n var b = this.charTypes[++i];\n while (start <= end) {\n this.rtlCharacterTypes[start++] = b;\n }\n }\n }\n //#endregion\n //#region implementation\n RtlCharacters.prototype.getVisualOrder = function (inputText, isRtl) {\n this.types = this.getCharacterCode(inputText);\n this.textOrder = isRtl ? this.LRE : this.L;\n this.doVisualOrder();\n var result = [];\n for (var i = 0; i < this.levels.length; i++) {\n result[i] = this.levels[i];\n }\n return result;\n };\n RtlCharacters.prototype.getCharacterCode = function (text) {\n var characterCodes = [];\n for (var i = 0; i < text.length; i++) {\n characterCodes[i] = this.rtlCharacterTypes[text[i].charCodeAt(0)];\n }\n return characterCodes;\n };\n RtlCharacters.prototype.setDefaultLevels = function () {\n for (var i = 0; i < this.length; i++) {\n this.levels[i] = this.textOrder;\n }\n };\n RtlCharacters.prototype.setLevels = function () {\n this.setDefaultLevels();\n for (var n = 0; n < this.length; ++n) {\n var level = this.levels[n];\n if ((level & 0x80) !== 0) {\n level &= 0x7f;\n this.result[n] = ((level & 0x1) === 0) ? this.L : this.R;\n }\n this.levels[n] = level;\n }\n };\n RtlCharacters.prototype.updateLevels = function (index, level, length) {\n if ((level & 1) === 0) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.R) {\n this.levels[i] += 1;\n }\n else if (this.result[i] !== this.L) {\n this.levels[i] += 2;\n }\n }\n }\n else {\n for (var i = index; i < length; ++i) {\n if (this.result[i] !== this.R) {\n this.levels[i] += 1;\n }\n }\n }\n };\n RtlCharacters.prototype.doVisualOrder = function () {\n this.length = this.types.length;\n this.result = this.types;\n this.levels = [];\n this.setLevels();\n this.length = this.getEmbeddedCharactersLength();\n var preview = this.textOrder;\n var i = 0;\n while (i < this.length) {\n var level = this.levels[i];\n var preType = ((Math.max(preview, level) & 0x1) === 0) ? this.L : this.R;\n var length_1 = i + 1;\n while (length_1 < this.length && this.levels[length_1] === level) {\n ++length_1;\n }\n var success = length_1 < this.length ? this.levels[length_1] : this.textOrder;\n var type = ((Math.max(success, level) & 0x1) === 0) ? this.L : this.R;\n this.checkNSM(i, length_1, level, preType, type);\n this.updateLevels(i, level, length_1);\n preview = level;\n i = length_1;\n }\n this.checkEmbeddedCharacters(this.length);\n };\n RtlCharacters.prototype.getEmbeddedCharactersLength = function () {\n var index = 0;\n for (var i = 0; i < this.length; ++i) {\n if (!(this.types[i] === this.LRE || this.types[i] === this.RLE || this.types[i] === this.LRO ||\n this.types[i] === this.RLO || this.types[i] === this.PDF || this.types[i] === this.BN)) {\n this.result[index] = this.result[i];\n this.levels[index] = this.levels[i];\n index++;\n }\n }\n return index;\n };\n RtlCharacters.prototype.checkEmbeddedCharacters = function (length) {\n for (var i = this.types.length - 1; i >= 0; --i) {\n if (this.types[i] === this.LRE || this.types[i] === this.RLE || this.types[i] === this.LRO ||\n this.types[i] === this.RLO || this.types[i] === this.PDF || this.types[i] === this.BN) {\n this.result[i] = this.types[i];\n this.levels[i] = -1;\n }\n else {\n length -= 1;\n this.result[i] = this.result[length];\n this.levels[i] = this.levels[length];\n }\n }\n for (var i = 0; i < this.types.length; i++) {\n if (this.levels[i] === -1) {\n if (i === 0) {\n this.levels[i] = this.textOrder;\n }\n else {\n this.levels[i] = this.levels[i - 1];\n }\n }\n }\n };\n RtlCharacters.prototype.checkNSM = function (index, length, level, startType, endType) {\n var charType = startType;\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.NSM) {\n this.result[i] = charType;\n }\n else {\n charType = this.result[i];\n }\n }\n this.checkEuropeanDigits(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.checkEuropeanDigits = function (index, length, level, startType, endType) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.EN) {\n for (var j = i - 1; j >= index; --j) {\n if (this.result[j] === this.L || this.result[j] === this.R || this.result[j] === this.AL) {\n if (this.result[j] === this.AL) {\n this.result[i] = this.AN;\n }\n break;\n }\n }\n }\n }\n this.checkArabicCharacters(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.checkArabicCharacters = function (index, length, level, startType, endType) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.AL) {\n this.result[i] = this.R;\n }\n }\n this.checkEuropeanNumberSeparator(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.checkEuropeanNumberSeparator = function (index, length, level, startType, endType) {\n for (var i = index + 1; i < length - 1; ++i) {\n if (this.result[i] === this.ES || this.result[i] === this.CS) {\n var preview = this.result[i - 1];\n var success = this.result[i + 1];\n if (preview === this.EN && success === this.EN) {\n this.result[i] = this.EN;\n }\n else if (this.result[i] === this.CS && preview === this.AN && success === this.AN) {\n this.result[i] = this.AN;\n }\n }\n }\n this.checkEuropeanNumberTerminator(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.checkEuropeanNumberTerminator = function (index, length, level, startType, endType) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.ET) {\n var s = i;\n var b = [];\n b.push(this.ET);\n var l = this.getLength(s, length, b);\n var data = s === index ? startType : this.result[s - 1];\n if (data !== this.EN) {\n data = (l === length) ? endType : this.result[l];\n }\n if (data === this.EN) {\n for (var j = s; j < l; ++j) {\n this.result[j] = this.EN;\n }\n }\n i = l;\n }\n }\n this.checkOtherNeutrals(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.checkOtherNeutrals = function (index, length, level, startType, endType) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.ES || this.result[i] === this.ET || this.result[i] === this.CS) {\n this.result[i] = this.ON;\n }\n }\n this.checkOtherCharacters(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.checkOtherCharacters = function (index, length, level, startType, endType) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.EN) {\n var pst = startType;\n for (var j = i - 1; j >= index; --j) {\n if (this.result[j] === this.L || this.result[j] === this.R) {\n pst = this.result[j];\n break;\n }\n }\n if (pst === this.L) {\n this.result[i] = this.L;\n }\n }\n }\n this.checkCommanCharacters(index, length, level, startType, endType);\n };\n RtlCharacters.prototype.getLength = function (index, length, validSet) {\n --index;\n while (++index < length) {\n var t = this.result[index];\n for (var i = 0; i < validSet.length; ++i) {\n if (t === validSet[i]) {\n index = this.getLength(++index, length, validSet);\n }\n }\n return index;\n }\n return length;\n };\n RtlCharacters.prototype.checkCommanCharacters = function (index, length, level, startType, endType) {\n for (var i = index; i < length; ++i) {\n if (this.result[i] === this.WS || this.result[i] === this.ON || this.result[i] === this.B ||\n this.result[i] === this.S) {\n var s = i;\n var byte = [this.B, this.S, this.WS, this.ON];\n var l = this.getLength(s, length, byte);\n var lt = 0;\n var tt = 0;\n var rt = 0;\n if (s === index) {\n lt = startType;\n }\n else {\n lt = this.result[s - 1];\n if (lt === this.AN) {\n lt = this.R;\n }\n else if (lt === this.EN) {\n lt = this.R;\n }\n }\n if (l === length) {\n tt = endType;\n }\n else {\n tt = this.result[l];\n if (tt === this.AN) {\n tt = this.R;\n }\n else if (tt === this.EN) {\n tt = this.R;\n }\n }\n if (lt === tt) {\n rt = lt;\n }\n else {\n rt = ((level & 0x1) === 0) ? this.L : this.R;\n }\n for (var j = s; j < l; ++j) {\n this.result[j] = rt;\n }\n i = l;\n }\n }\n };\n return RtlCharacters;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-bidirectional.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-text-shape.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-text-shape.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ArabicShape: () => (/* binding */ ArabicShape),\n/* harmony export */ ArabicShapeRenderer: () => (/* binding */ ArabicShapeRenderer)\n/* harmony export */ });\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/**\n * ArabicShapeRenderer.ts class for EJ2-PDF\n */\n\nvar ArabicShapeRenderer = /** @class */ (function () {\n //#endregion\n //#region Constructor\n function ArabicShapeRenderer() {\n //#region Constants\n this.arabicCharTable = [['\\u0621', '\\uFE80'], ['\\u0622', '\\uFE81', '\\uFE82'],\n ['\\u0623', '\\uFE83', '\\uFE84'],\n ['\\u0624', '\\uFE85', '\\uFE86'],\n ['\\u0625', '\\uFE87', '\\uFE88'],\n ['\\u0626', '\\uFE89', '\\uFE8A', '\\uFE8B', '\\uFE8C'],\n ['\\u0627', '\\uFE8D', '\\uFE8E'],\n ['\\u0628', '\\uFE8F', '\\uFE90', '\\uFE91', '\\uFE92'],\n ['\\u0629', '\\uFE93', '\\uFE94'],\n ['\\u062A', '\\uFE95', '\\uFE96', '\\uFE97', '\\uFE98'],\n ['\\u062B', '\\uFE99', '\\uFE9A', '\\uFE9B', '\\uFE9C'],\n ['\\u062C', '\\uFE9D', '\\uFE9E', '\\uFE9F', '\\uFEA0'],\n ['\\u062D', '\\uFEA1', '\\uFEA2', '\\uFEA3', '\\uFEA4'],\n ['\\u062E', '\\uFEA5', '\\uFEA6', '\\uFEA7', '\\uFEA8'],\n ['\\u062F', '\\uFEA9', '\\uFEAA'],\n ['\\u0630', '\\uFEAB', '\\uFEAC'],\n ['\\u0631', '\\uFEAD', '\\uFEAE'],\n ['\\u0632', '\\uFEAF', '\\uFEB0'],\n ['\\u0633', '\\uFEB1', '\\uFEB2', '\\uFEB3', '\\uFEB4'],\n ['\\u0634', '\\uFEB5', '\\uFEB6', '\\uFEB7', '\\uFEB8'],\n ['\\u0635', '\\uFEB9', '\\uFEBA', '\\uFEBB', '\\uFEBC'],\n ['\\u0636', '\\uFEBD', '\\uFEBE', '\\uFEBF', '\\uFEC0'],\n ['\\u0637', '\\uFEC1', '\\uFEC2', '\\uFEC3', '\\uFEC4'],\n ['\\u0638', '\\uFEC5', '\\uFEC6', '\\uFEC7', '\\uFEC8'],\n ['\\u0639', '\\uFEC9', '\\uFECA', '\\uFECB', '\\uFECC'],\n ['\\u063A', '\\uFECD', '\\uFECE', '\\uFECF', '\\uFED0'],\n ['\\u0640', '\\u0640', '\\u0640', '\\u0640', '\\u0640'],\n ['\\u0641', '\\uFED1', '\\uFED2', '\\uFED3', '\\uFED4'],\n ['\\u0642', '\\uFED5', '\\uFED6', '\\uFED7', '\\uFED8'],\n ['\\u0643', '\\uFED9', '\\uFEDA', '\\uFEDB', '\\uFEDC'],\n ['\\u0644', '\\uFEDD', '\\uFEDE', '\\uFEDF', '\\uFEE0'],\n ['\\u0645', '\\uFEE1', '\\uFEE2', '\\uFEE3', '\\uFEE4'],\n ['\\u0646', '\\uFEE5', '\\uFEE6', '\\uFEE7', '\\uFEE8'],\n ['\\u0647', '\\uFEE9', '\\uFEEA', '\\uFEEB', '\\uFEEC'],\n ['\\u0648', '\\uFEED', '\\uFEEE'],\n ['\\u0649', '\\uFEEF', '\\uFEF0', '\\uFBE8', '\\uFBE9'],\n ['\\u064A', '\\uFEF1', '\\uFEF2', '\\uFEF3', '\\uFEF4'],\n ['\\u0671', '\\uFB50', '\\uFB51'],\n ['\\u0679', '\\uFB66', '\\uFB67', '\\uFB68', '\\uFB69'],\n ['\\u067A', '\\uFB5E', '\\uFB5F', '\\uFB60', '\\uFB61'],\n ['\\u067B', '\\uFB52', '\\uFB53', '\\uFB54', '\\uFB55'],\n ['\\u067E', '\\uFB56', '\\uFB57', '\\uFB58', '\\uFB59'],\n ['\\u067F', '\\uFB62', '\\uFB63', '\\uFB64', '\\uFB65'],\n ['\\u0680', '\\uFB5A', '\\uFB5B', '\\uFB5C', '\\uFB5D'],\n ['\\u0683', '\\uFB76', '\\uFB77', '\\uFB78', '\\uFB79'],\n ['\\u0684', '\\uFB72', '\\uFB73', '\\uFB74', '\\uFB75'],\n ['\\u0686', '\\uFB7A', '\\uFB7B', '\\uFB7C', '\\uFB7D'],\n ['\\u0687', '\\uFB7E', '\\uFB7F', '\\uFB80', '\\uFB81'],\n ['\\u0688', '\\uFB88', '\\uFB89'],\n ['\\u068C', '\\uFB84', '\\uFB85'],\n ['\\u068D', '\\uFB82', '\\uFB83'],\n ['\\u068E', '\\uFB86', '\\uFB87'],\n ['\\u0691', '\\uFB8C', '\\uFB8D'],\n ['\\u0698', '\\uFB8A', '\\uFB8B'],\n ['\\u06A4', '\\uFB6A', '\\uFB6B', '\\uFB6C', '\\uFB6D'],\n ['\\u06A6', '\\uFB6E', '\\uFB6F', '\\uFB70', '\\uFB71'],\n ['\\u06A9', '\\uFB8E', '\\uFB8F', '\\uFB90', '\\uFB91'],\n ['\\u06AD', '\\uFBD3', '\\uFBD4', '\\uFBD5', '\\uFBD6'],\n ['\\u06AF', '\\uFB92', '\\uFB93', '\\uFB94', '\\uFB95'],\n ['\\u06B1', '\\uFB9A', '\\uFB9B', '\\uFB9C', '\\uFB9D'],\n ['\\u06B3', '\\uFB96', '\\uFB97', '\\uFB98', '\\uFB99'],\n ['\\u06BA', '\\uFB9E', '\\uFB9F'],\n ['\\u06BB', '\\uFBA0', '\\uFBA1', '\\uFBA2', '\\uFBA3'],\n ['\\u06BE', '\\uFBAA', '\\uFBAB', '\\uFBAC', '\\uFBAD'],\n ['\\u06C0', '\\uFBA4', '\\uFBA5'],\n ['\\u06C1', '\\uFBA6', '\\uFBA7', '\\uFBA8', '\\uFBA9'],\n ['\\u06C5', '\\uFBE0', '\\uFBE1'],\n ['\\u06C6', '\\uFBD9', '\\uFBDA'],\n ['\\u06C7', '\\uFBD7', '\\uFBD8'],\n ['\\u06C8', '\\uFBDB', '\\uFBDC'],\n ['\\u06C9', '\\uFBE2', '\\uFBE3'],\n ['\\u06CB', '\\uFBDE', '\\uFBDF'],\n ['\\u06CC', '\\uFBFC', '\\uFBFD', '\\uFBFE', '\\uFBFF'],\n ['\\u06D0', '\\uFBE4', '\\uFBE5', '\\uFBE6', '\\uFBE7'],\n ['\\u06D2', '\\uFBAE', '\\uFBAF'],\n ['\\u06D3', '\\uFBB0', '\\uFBB1']\n ];\n this.alef = '\\u0627';\n this.alefHamza = '\\u0623';\n this.alefHamzaBelow = '\\u0625';\n this.alefMadda = '\\u0622';\n this.lam = '\\u0644';\n this.hamza = '\\u0621';\n this.zeroWidthJoiner = '\\u200D';\n this.hamzaAbove = '\\u0654';\n this.hamzaBelow = '\\u0655';\n this.wawHamza = '\\u0624';\n this.yehHamza = '\\u0626';\n this.waw = '\\u0648';\n this.alefMaksura = '\\u0649';\n this.yeh = '\\u064A';\n this.farsiYeh = '\\u06CC';\n this.shadda = '\\u0651';\n this.madda = '\\u0653';\n this.lwa = '\\uFEFB';\n this.lwawh = '\\uFEF7';\n this.lwawhb = '\\uFEF9';\n this.lwawm = '\\uFEF5';\n this.bwhb = '\\u06D3';\n this.fathatan = '\\u064B';\n this.superScriptalef = '\\u0670';\n this.vowel = 0x1;\n // #endregion\n //#region Fields\n this.arabicMapTable = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n for (var i = 0; i < this.arabicCharTable.length; i++) {\n this.arabicMapTable.setValue(this.arabicCharTable[i][0], this.arabicCharTable[i]);\n }\n }\n //#endregion\n //#region implementation\n ArabicShapeRenderer.prototype.getCharacterShape = function (input, index) {\n if ((input >= this.hamza) && (input <= this.bwhb)) {\n var value = [];\n if (this.arabicMapTable.getValue(input)) {\n value = this.arabicMapTable.getValue(input);\n return value[index + 1];\n }\n }\n else if (input >= this.lwawm && input <= this.lwa) {\n return (input);\n }\n return input;\n };\n ArabicShapeRenderer.prototype.shape = function (text, level) {\n var builder = '';\n var str2 = '';\n for (var i = 0; i < text.length; i++) {\n var c = text[i];\n if (c >= '؀' && c <= 'ۿ') {\n //if(c>= 0x0600.toString() && c<= 0x06FF.toString()) {\n str2 = str2 + c;\n }\n else {\n if (str2.length > 0) {\n var st = this.doShape(str2.toString(), 0);\n builder = builder + st;\n str2 = '';\n }\n builder = builder + c;\n }\n }\n if (str2.length > 0) {\n var st = this.doShape(str2.toString(), 0);\n builder = builder + st;\n }\n return builder.toString();\n };\n ArabicShapeRenderer.prototype.doShape = function (input, level) {\n var str = '';\n var ligature = 0;\n var len = 0;\n var i = 0;\n var next = '';\n var previous = new ArabicShape();\n var present = new ArabicShape();\n while (i < input.length) {\n next = input[i++];\n ligature = this.ligature(next, present);\n if (ligature === 0) {\n var shapeCount = this.getShapeCount(next);\n len = (shapeCount === 1) ? 0 : 2;\n if (previous.Shapes > 2) {\n len += 1;\n }\n len = len % (present.Shapes);\n present.Value = this.getCharacterShape(present.Value, len);\n str = this.append(str, previous, level);\n previous = present;\n present = new ArabicShape();\n present.Value = next;\n present.Shapes = shapeCount;\n present.Ligature++;\n }\n }\n len = (previous.Shapes > 2) ? 1 : 0;\n len = len % (present.Shapes);\n present.Value = this.getCharacterShape(present.Value, len);\n str = this.append(str, previous, level);\n str = this.append(str, present, level);\n return str.toString();\n };\n ArabicShapeRenderer.prototype.append = function (builder, shape, level) {\n if (shape.Value !== '') {\n builder = builder + shape.Value;\n shape.Ligature -= 1;\n if (shape.Type !== '') {\n if ((level & this.vowel) === 0) {\n builder = builder + shape.Type;\n shape.Ligature -= 1;\n }\n else {\n shape.Ligature -= 1;\n }\n }\n if (shape.vowel !== '') {\n if ((level & this.vowel) === 0) {\n builder = builder + shape.vowel;\n shape.Ligature -= 1;\n }\n else {\n shape.Ligature -= 1;\n }\n }\n }\n return builder;\n };\n ArabicShapeRenderer.prototype.ligature = function (value, shape) {\n if (shape.Value !== '') {\n var result = 0;\n if ((value >= this.fathatan && value <= this.hamzaBelow) || value === this.superScriptalef) {\n result = 1;\n if ((shape.vowel !== '') && (value !== this.shadda)) {\n result = 2;\n }\n if (value === this.shadda) {\n if (shape.Type == null) {\n shape.Type = this.shadda;\n }\n else {\n return 0;\n }\n }\n else if (value === this.hamzaBelow) {\n if (shape.Value === this.alef) {\n shape.Value = this.alefHamzaBelow;\n result = 2;\n }\n else if (value === this.lwa) {\n shape.Value = this.lwawhb;\n result = 2;\n }\n else {\n shape.Type = this.hamzaBelow;\n }\n }\n else if (value === this.hamzaAbove) {\n if (shape.Value === this.alef) {\n shape.Value = this.alefHamza;\n result = 2;\n }\n else if (shape.Value === this.lwa) {\n shape.Value = this.lwawh;\n result = 2;\n }\n else if (shape.Value === this.waw) {\n shape.Value = this.wawHamza;\n result = 2;\n }\n else if (shape.Value === this.yeh || shape.Value === this.alefMaksura || shape.Value === this.farsiYeh) {\n shape.Value = this.yehHamza;\n result = 2;\n }\n else {\n shape.Type = this.hamzaAbove;\n }\n }\n else if (value === this.madda) {\n if (shape.Value === this.alef) {\n shape.Value = this.alefMadda;\n result = 2;\n }\n }\n else {\n shape.vowel = value;\n }\n if (result === 1) {\n shape.Ligature++;\n }\n return result;\n }\n if (shape.vowel !== '') {\n return 0;\n }\n if (shape.Value === this.lam) {\n if (value === this.alef) {\n shape.Value = this.lwa;\n shape.Shapes = 2;\n result = 3;\n }\n else if (value === this.alefHamza) {\n shape.Value = this.lwawh;\n shape.Shapes = 2;\n result = 3;\n }\n else if (value === this.alefHamzaBelow) {\n shape.Value = this.lwawhb;\n shape.Shapes = 2;\n result = 3;\n }\n else if (value === this.alefMadda) {\n shape.Value = this.lwawm;\n shape.Shapes = 2;\n result = 3;\n }\n }\n // else if (shape.Value === '') {\n // shape.Value = value;\n // shape.Shapes = this.getShapeCount(value);\n // result = 1;\n // }\n return result;\n }\n else {\n return 0;\n }\n };\n ArabicShapeRenderer.prototype.getShapeCount = function (shape) {\n if ((shape >= this.hamza) && (shape <= this.bwhb) && !((shape >= this.fathatan && shape <= this.hamzaBelow)\n || shape === this.superScriptalef)) {\n var c = [];\n if (this.arabicMapTable.getValue(shape)) {\n c = this.arabicMapTable.getValue(shape);\n return c.length - 1;\n }\n }\n else if (shape === this.zeroWidthJoiner) {\n return 4;\n }\n return 1;\n };\n return ArabicShapeRenderer;\n}());\n\n//#endregion\n//#region Internals\nvar ArabicShape = /** @class */ (function () {\n function ArabicShape() {\n //#region Fields\n this.shapeValue = '';\n this.shapeType = '';\n this.shapeVowel = '';\n this.shapeLigature = 0;\n this.shapeShapes = 1;\n //#endregion\n }\n Object.defineProperty(ArabicShape.prototype, \"Value\", {\n //#endregion\n //#region Properties \n /**\n * Gets or sets the values.\n * @private\n */\n get: function () {\n return this.shapeValue;\n },\n set: function (value) {\n this.shapeValue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArabicShape.prototype, \"Type\", {\n /**\n * Gets or sets the values.\n * @private\n */\n get: function () {\n return this.shapeType;\n },\n set: function (value) {\n this.shapeType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArabicShape.prototype, \"vowel\", {\n /**\n * Gets or sets the values.\n * @private\n */\n get: function () {\n return this.shapeVowel;\n },\n set: function (value) {\n this.shapeVowel = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArabicShape.prototype, \"Ligature\", {\n /**\n * Gets or sets the values.\n * @private\n */\n get: function () {\n return this.shapeLigature;\n },\n set: function (value) {\n this.shapeLigature = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArabicShape.prototype, \"Shapes\", {\n /**\n * Gets or sets the values.\n * @private\n */\n get: function () {\n return this.shapeShapes;\n },\n set: function (value) {\n this.shapeShapes = value;\n },\n enumerable: true,\n configurable: true\n });\n return ArabicShape;\n}());\n\n//#endregion\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-text-shape.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LineInfo: () => (/* binding */ LineInfo),\n/* harmony export */ LineType: () => (/* binding */ LineType),\n/* harmony export */ PdfStringLayoutResult: () => (/* binding */ PdfStringLayoutResult),\n/* harmony export */ PdfStringLayouter: () => (/* binding */ PdfStringLayouter)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _string_tokenizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./string-tokenizer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js\");\n\n\n\n/**\n * Class `lay outing the text`.\n */\nvar PdfStringLayouter = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `StringLayouter` class.\n * @private\n */\n function PdfStringLayouter() {\n /**\n * Checks whether the x co-ordinate is need to set as client size or not.\n * @hidden\n * @private\n */\n this.isOverloadWithPosition = false;\n //\n }\n PdfStringLayouter.prototype.layout = function (arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n if (arg4 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF) {\n this.initialize(arg1, arg2, arg3, arg4, arg5);\n this.isOverloadWithPosition = arg6;\n this.clientSize = arg7;\n var result = this.doLayout();\n this.clear();\n return result;\n }\n else {\n this.initialize(arg1, arg2, arg3, arg4);\n this.isOverloadWithPosition = arg5;\n this.clientSize = arg6;\n var result = this.doLayout();\n this.clear();\n return result;\n }\n };\n PdfStringLayouter.prototype.initialize = function (text, font, format, rectSize, pageHeight) {\n if (typeof pageHeight === 'number') {\n if (text == null) {\n throw new Error('ArgumentNullException:text');\n }\n if (font == null) {\n throw new Error('ArgumentNullException:font');\n }\n this.text = text;\n this.font = font;\n this.format = format;\n this.size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(rectSize.width, rectSize.height);\n this.rectangle = rectSize;\n this.pageHeight = pageHeight;\n this.reader = new _string_tokenizer__WEBPACK_IMPORTED_MODULE_1__.StringTokenizer(text);\n }\n else {\n this.initialize(text, font, format, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0), rectSize), 0);\n }\n };\n /**\n * `Clear` all resources.\n * @private\n */\n PdfStringLayouter.prototype.clear = function () {\n this.font = null;\n this.format = null;\n this.reader.close();\n this.reader = null;\n this.text = null;\n };\n /**\n * `Layouts` the text.\n * @private\n */\n PdfStringLayouter.prototype.doLayout = function () {\n var result = new PdfStringLayoutResult();\n var lineResult = new PdfStringLayoutResult();\n var lines = [];\n var line = this.reader.peekLine();\n var lineIndent = this.getLineIndent(true);\n while (line != null) {\n lineResult = this.layoutLine(line, lineIndent);\n if (lineResult !== null || typeof lineResult !== 'undefined') {\n var numSymbolsInserted = 0;\n /* tslint:disable */\n var returnedValue = this.copyToResult(result, lineResult, lines, /*out*/ numSymbolsInserted);\n /* tslint:enable */\n var success = returnedValue.success;\n numSymbolsInserted = returnedValue.numInserted;\n if (!success) {\n this.reader.read(numSymbolsInserted);\n break;\n }\n }\n // if (lineResult.textRemainder != null && lineResult.textRemainder.length > 0 ) {\n // break;\n // }\n this.reader.readLine();\n line = this.reader.peekLine();\n lineIndent = this.getLineIndent(false);\n }\n this.finalizeResult(result, lines);\n return result;\n };\n /**\n * Returns `line indent` for the line.\n * @private\n */\n PdfStringLayouter.prototype.getLineIndent = function (firstLine) {\n var lineIndent = 0;\n if (this.format != null) {\n lineIndent = (firstLine) ? this.format.firstLineIndent : this.format.paragraphIndent;\n lineIndent = (this.size.width > 0) ? Math.min(this.size.width, lineIndent) : lineIndent;\n }\n return lineIndent;\n };\n /**\n * Calculates `height` of the line.\n * @private\n */\n PdfStringLayouter.prototype.getLineHeight = function () {\n var height = this.font.height;\n if (this.format != null && this.format.lineSpacing !== 0) {\n height = this.format.lineSpacing + this.font.height;\n }\n return height;\n };\n /**\n * Calculates `width` of the line.\n * @private\n */\n PdfStringLayouter.prototype.getLineWidth = function (line) {\n var width = this.font.getLineWidth(line, this.format);\n return width;\n };\n // tslint:disable\n /**\n * `Layouts` line.\n * @private\n */\n PdfStringLayouter.prototype.layoutLine = function (line, lineIndent) {\n var lineResult = new PdfStringLayoutResult();\n lineResult.layoutLineHeight = this.getLineHeight();\n var lines = [];\n var maxWidth = this.size.width;\n var lineWidth = this.getLineWidth(line) + lineIndent;\n var lineType = LineType.FirstParagraphLine;\n var readWord = true;\n // line is in bounds.\n if (maxWidth <= 0 || Math.round(lineWidth) <= Math.round(maxWidth)) {\n this.addToLineResult(lineResult, lines, line, lineWidth, LineType.NewLineBreak | lineType);\n }\n else {\n var builder = '';\n var curLine = '';\n lineWidth = lineIndent;\n var curIndent = lineIndent;\n var reader = new _string_tokenizer__WEBPACK_IMPORTED_MODULE_1__.StringTokenizer(line);\n var word = reader.peekWord();\n var isSingleWord = false;\n if (word.length !== reader.length) {\n if (word === ' ') {\n curLine = curLine + word;\n builder = builder + word;\n reader.position += 1;\n word = reader.peekWord();\n }\n }\n while (word != null) {\n curLine = curLine + word;\n var curLineWidth = this.getLineWidth(curLine.toString()) + curIndent /*)*/;\n if (curLine.toString() === ' ') {\n curLine = '';\n curLineWidth = 0;\n }\n if (curLineWidth > maxWidth) {\n if (this.getWrapType() === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfWordWrapType.None) {\n break;\n }\n if (curLine.length === word.length) {\n // Character wrap is disabled or one symbol is greater than bounds.\n if (this.getWrapType() === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfWordWrapType.WordOnly) {\n lineResult.textRemainder = line.substring(reader.position);\n break;\n }\n else if (curLine.length === 1) {\n builder = builder + word;\n break;\n }\n else {\n readWord = false;\n curLine = '';\n word = reader.peek().toString();\n continue;\n }\n }\n else {\n if (this.getLineWidth(word.toString()) > maxWidth) {\n this.format.wordWrap = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfWordWrapType.Character;\n }\n else {\n if (typeof this.format !== 'undefined' && this.format !== null) {\n this.format.wordWrap = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfWordWrapType.Word;\n }\n }\n if (this.getWrapType() !== _enum__WEBPACK_IMPORTED_MODULE_2__.PdfWordWrapType.Character || !readWord) {\n var ln = builder.toString();\n // if (ln.indexOf(' ') === -1) {\n // isSingleWord = true;\n // this.addToLineResult(lineResult, lines, curLine, lineWidth, LineType.LayoutBreak | lineType);\n // } else {\n // this.addToLineResult(lineResult, lines, ln, lineWidth, LineType.LayoutBreak | lineType);\n // } \n if (ln !== ' ') {\n this.addToLineResult(lineResult, lines, ln, lineWidth, LineType.LayoutBreak | lineType);\n }\n if (this.isOverloadWithPosition) {\n maxWidth = this.clientSize.width;\n }\n curLine = '';\n builder = '';\n lineWidth = 0;\n curIndent = 0;\n curLineWidth = 0;\n lineType = LineType.None;\n // if (isSingleWord) {\n // reader.readWord();\n // readWord = false;\n // }\n word = (readWord) ? word : reader.peekWord();\n //isSingleWord = false;\n readWord = true;\n }\n else {\n readWord = false;\n curLine = '';\n curLine = curLine + builder.toString();\n word = reader.peek().toString();\n }\n continue;\n }\n }\n /*tslint:disable:max-func-body-length */\n builder = builder + word;\n lineWidth = curLineWidth;\n if (readWord) {\n reader.readWord();\n word = reader.peekWord();\n //isSingleWord = false;\n }\n else {\n reader.read();\n word = reader.peek().toString();\n }\n }\n if (builder.length > 0) {\n var ln = builder.toString();\n this.addToLineResult(lineResult, lines, ln, lineWidth, LineType.NewLineBreak | LineType.LastParagraphLine);\n }\n reader.close();\n }\n lineResult.layoutLines = [];\n for (var index = 0; index < lines.length; index++) {\n lineResult.layoutLines.push(lines[index]);\n }\n lines = [];\n return lineResult;\n };\n /**\n * `Adds` line to line result.\n * @private\n */\n PdfStringLayouter.prototype.addToLineResult = function (lineResult, lines, line, lineWidth, breakType) {\n var info = new LineInfo();\n info.text = line;\n info.width = lineWidth;\n info.lineType = breakType;\n lines.push(info);\n var size = lineResult.actualSize;\n size.height += this.getLineHeight();\n size.width = Math.max(size.width, lineWidth);\n lineResult.size = size;\n };\n /**\n * `Copies` layout result from line result to entire result. Checks whether we can proceed lay outing or not.\n * @private\n */\n PdfStringLayouter.prototype.copyToResult = function (result, lineResult, lines, \n /*out*/ numInserted) {\n var success = true;\n var allowPartialLines = (this.format != null && !this.format.lineLimit);\n var height = result.actualSize.height;\n var maxHeight = this.size.height;\n if ((this.pageHeight > 0) && (maxHeight + this.rectangle.y > this.pageHeight)) {\n maxHeight = this.rectangle.y - this.pageHeight;\n maxHeight = Math.max(maxHeight, -maxHeight);\n }\n numInserted = 0;\n if (lineResult.lines != null) {\n for (var i = 0, len = lineResult.lines.length; i < len; i++) {\n var expHeight = height + lineResult.lineHeight;\n if (expHeight <= maxHeight || maxHeight <= 0 || allowPartialLines) {\n var info = lineResult.lines[i];\n numInserted += info.text.length;\n info = this.trimLine(info, (lines.length === 0));\n lines.push(info);\n // Update width.\n var size = result.actualSize;\n size.width = Math.max(size.width, info.width);\n result.size = size;\n // The part of the line fits only and it's allowed to use partial lines.\n // if (expHeight >= maxHeight && maxHeight > 0 && allowPartialLines)\n // {\n // let shouldClip : boolean = (this.format == null || !this.format.noClip);\n // if (shouldClip)\n // {\n // let exceededHeight : number = expHeight - maxHeight;\n // let fitHeight : number = /*Utils.Round(*/ lineResult.lineHeight - exceededHeight /*)*/;\n // height = /*Utils.Round(*/ height + fitHeight /*)*/;\n // }\n // else\n // {\n // height = expHeight;\n // }\n // success = false;\n // break;\n // } else {\n height = expHeight;\n // }\n }\n else {\n success = false;\n break;\n }\n }\n }\n if (height != result.size.height) {\n var size1 = result.actualSize;\n size1.height = height;\n result.size = size1;\n }\n return { success: success, numInserted: numInserted };\n };\n /**\n * `Finalizes` final result.\n * @private\n */\n PdfStringLayouter.prototype.finalizeResult = function (result, lines) {\n result.layoutLines = [];\n for (var index = 0; index < lines.length; index++) {\n result.layoutLines.push(lines[index]);\n }\n result.layoutLineHeight = this.getLineHeight();\n if (!this.reader.end) {\n result.textRemainder = this.reader.readToEnd();\n }\n lines = [];\n };\n /**\n * `Trims` whitespaces at the line.\n * @private\n */\n PdfStringLayouter.prototype.trimLine = function (info, firstLine) {\n var line = info.text;\n var lineWidth = info.width;\n // Trim start whitespaces if the line is not a start of the paragraph only.\n var trimStartSpaces = ((info.lineType & LineType.FirstParagraphLine) === 0);\n var start = (this.format == null || !this.format.rightToLeft);\n var spaces = _string_tokenizer__WEBPACK_IMPORTED_MODULE_1__.StringTokenizer.spaces;\n line = (start) ? line.trim() : line.trim();\n // Recalculate line width.\n if (line.length !== info.text.length) {\n lineWidth = this.getLineWidth(line);\n if ((info.lineType & LineType.FirstParagraphLine) > 0) {\n lineWidth += this.getLineIndent(firstLine);\n }\n }\n info.text = line;\n info.width = lineWidth;\n return info;\n };\n /**\n * Returns `wrap` type.\n * @private\n */\n PdfStringLayouter.prototype.getWrapType = function () {\n var wrapType = (this.format != null) ? this.format.wordWrap : _enum__WEBPACK_IMPORTED_MODULE_2__.PdfWordWrapType.Word;\n return wrapType;\n };\n return PdfStringLayouter;\n}());\n\n//Internal declaration\nvar PdfStringLayoutResult = /** @class */ (function () {\n function PdfStringLayoutResult() {\n }\n Object.defineProperty(PdfStringLayoutResult.prototype, \"remainder\", {\n // Properties\n /**\n * Gets the `text` which is not lay outed.\n * @private\n */\n get: function () {\n return this.textRemainder;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringLayoutResult.prototype, \"actualSize\", {\n /**\n * Gets the actual layout text `bounds`.\n * @private\n */\n get: function () {\n if (typeof this.size === 'undefined') {\n this.size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0);\n }\n return this.size;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringLayoutResult.prototype, \"lines\", {\n /**\n * Gets layout `lines` information.\n * @private\n */\n get: function () {\n return this.layoutLines;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringLayoutResult.prototype, \"lineHeight\", {\n /**\n * Gets the `height` of the line.\n * @private\n */\n get: function () {\n return this.layoutLineHeight;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringLayoutResult.prototype, \"empty\", {\n /**\n * Gets value that indicates whether any layout text [`empty`].\n * @private\n */\n get: function () {\n return (this.layoutLines == null || this.layoutLines.length === 0);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStringLayoutResult.prototype, \"lineCount\", {\n /**\n * Gets `number of` the layout lines.\n * @private\n */\n get: function () {\n var count = (!this.empty) ? this.layoutLines.length : 0;\n return count;\n },\n enumerable: true,\n configurable: true\n });\n return PdfStringLayoutResult;\n}());\n\nvar LineInfo = /** @class */ (function () {\n function LineInfo() {\n }\n Object.defineProperty(LineInfo.prototype, \"lineType\", {\n //Properties\n /**\n * Gets the `type` of the line text.\n * @private\n */\n get: function () {\n return this.type;\n },\n set: function (value) {\n this.type = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LineInfo.prototype, \"text\", {\n /**\n * Gets the line `text`.\n * @private\n */\n get: function () {\n return this.content;\n },\n set: function (value) {\n this.content = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(LineInfo.prototype, \"width\", {\n /**\n * Gets `width` of the line text.\n * @private\n */\n get: function () {\n return this.lineWidth;\n },\n set: function (value) {\n this.lineWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n return LineInfo;\n}());\n\n/**\n* Break type of the `line`.\n* @private\n*/\nvar LineType;\n(function (LineType) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n LineType[LineType[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `NewLineBreak`.\n * @private\n */\n LineType[LineType[\"NewLineBreak\"] = 1] = \"NewLineBreak\";\n /**\n * Specifies the type of `LayoutBreak`.\n * @private\n */\n LineType[LineType[\"LayoutBreak\"] = 2] = \"LayoutBreak\";\n /**\n * Specifies the type of `FirstParagraphLine`.\n * @private\n */\n LineType[LineType[\"FirstParagraphLine\"] = 4] = \"FirstParagraphLine\";\n /**\n * Specifies the type of `LastParagraphLine`.\n * @private\n */\n LineType[LineType[\"LastParagraphLine\"] = 8] = \"LastParagraphLine\";\n})(LineType || (LineType = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StringTokenizer: () => (/* binding */ StringTokenizer)\n/* harmony export */ });\n/**\n * StringTokenizer.ts class for EJ2-PDF\n * Utility class for working with strings.\n * @private\n */\nvar StringTokenizer = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `StringTokenizer` class.\n * @private\n */\n function StringTokenizer(textValue) {\n /**\n * Current `position`.\n * @private\n */\n this.currentPosition = 0;\n if (textValue == null) {\n throw new Error('ArgumentNullException:text');\n }\n this.text = textValue;\n }\n Object.defineProperty(StringTokenizer.prototype, \"length\", {\n // Properties\n /**\n * Gets text `length`.\n * @private\n */\n get: function () {\n return this.text.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(StringTokenizer.prototype, \"end\", {\n get: function () {\n return (this.currentPosition === this.text.length);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(StringTokenizer.prototype, \"position\", {\n /**\n * Gets or sets the position.\n * @private\n */\n get: function () {\n return this.currentPosition;\n },\n set: function (value) {\n this.currentPosition = value;\n },\n enumerable: true,\n configurable: true\n });\n StringTokenizer.getCharsCount = function (text, symbols) {\n if (typeof symbols === 'string') {\n if (text == null) {\n throw new Error('ArgumentNullException:wholeText');\n }\n var numSymbols = 0;\n var curIndex = 0;\n for (;;) {\n curIndex = text.indexOf(symbols, curIndex);\n if (curIndex === -1) {\n break;\n }\n else {\n numSymbols++;\n curIndex++;\n }\n }\n return numSymbols;\n }\n else {\n if (text == null) {\n throw new Error('ArgumentNullException:text');\n }\n if (symbols == null) {\n throw new Error('ArgumentNullException:symbols');\n }\n var count = 0;\n for (var i = 0, len = text.length; i < len; i++) {\n var ch = text[i];\n if (this.contains(symbols, ch)) {\n count++;\n }\n }\n return count;\n }\n };\n /**\n * Reads line of the text.\n * @private\n */\n StringTokenizer.prototype.readLine = function () {\n var pos = this.currentPosition;\n while (pos < this.length) {\n var ch = this.text[pos];\n switch (ch) {\n case '\\r':\n case '\\n': {\n var text = this.text.substr(this.currentPosition, pos - this.currentPosition);\n this.currentPosition = pos + 1;\n if (((ch === '\\r') && (this.currentPosition < this.length)) && (this.text[this.currentPosition] === '\\n')) {\n this.currentPosition++;\n }\n return text;\n }\n }\n pos++;\n }\n // The remaining text.\n if (pos > this.currentPosition) {\n var text2 = this.text.substr(this.currentPosition, pos - this.currentPosition);\n this.currentPosition = pos;\n return text2;\n }\n return null;\n };\n /**\n * Reads line of the text.\n * @private\n */\n StringTokenizer.prototype.peekLine = function () {\n var pos = this.currentPosition;\n var line = this.readLine();\n this.currentPosition = pos;\n return line;\n };\n /**\n * Reads a word from the text.\n * @private\n */\n StringTokenizer.prototype.readWord = function () {\n var pos = this.currentPosition;\n while (pos < this.length) {\n var ch = this.text[pos];\n switch (ch) {\n case '\\r':\n case '\\n':\n var textValue = this.text.substr(this.currentPosition, pos - this.currentPosition);\n this.currentPosition = pos + 1;\n if (((ch === '\\r') && (this.currentPosition < this.length)) && (this.text[this.currentPosition] === '\\n')) {\n this.currentPosition++;\n }\n return textValue;\n case ' ':\n case '\\t': {\n if (pos === this.currentPosition) {\n pos++;\n }\n var text = this.text.substr(this.currentPosition, pos - this.currentPosition);\n this.currentPosition = pos;\n return text;\n }\n }\n pos++;\n }\n // The remaining text.\n if (pos > this.currentPosition) {\n var text2 = this.text.substr(this.currentPosition, pos - this.currentPosition);\n this.currentPosition = pos;\n return text2;\n }\n return null;\n };\n /**\n * Peeks a word from the text.\n * @private\n */\n StringTokenizer.prototype.peekWord = function () {\n var pos = this.currentPosition;\n var word = this.readWord();\n this.currentPosition = pos;\n return word;\n };\n StringTokenizer.prototype.read = function (count) {\n if (typeof count === 'undefined') {\n var ch = '0';\n if (!this.end) {\n ch = this.text[this.currentPosition];\n this.currentPosition++;\n }\n return ch;\n }\n else {\n var num = 0;\n var builder = '';\n while (!this.end && num < count) {\n var ch = this.read();\n builder = builder + ch;\n num++;\n }\n return builder;\n }\n };\n /**\n * Peeks char form the data.\n * @private\n */\n StringTokenizer.prototype.peek = function () {\n var ch = '0';\n if (!this.end) {\n ch = this.text[this.currentPosition];\n }\n return ch;\n };\n /**\n * Closes a reader.\n * @private\n */\n StringTokenizer.prototype.close = function () {\n this.text = null;\n };\n StringTokenizer.prototype.readToEnd = function () {\n var text;\n if (this.currentPosition === 0) {\n text = this.text;\n }\n else {\n text = this.text.substr(this.currentPosition, this.length - this.currentPosition);\n }\n this.currentPosition = this.length;\n return text;\n };\n //Implementation\n /**\n * Checks whether array contains a symbol.\n * @private\n */\n StringTokenizer.contains = function (array, symbol) {\n var contains = false;\n for (var i = 0; i < array.length; i++) {\n if (array[i] === symbol) {\n contains = true;\n break;\n }\n }\n return contains;\n };\n // Constants\n /**\n * `Whitespace` symbol.\n * @private\n */\n StringTokenizer.whiteSpace = ' ';\n /**\n * `tab` symbol.\n * @private\n */\n StringTokenizer.tab = '\\t';\n /**\n * Array of `spaces`.\n * @private\n */\n StringTokenizer.spaces = [StringTokenizer.whiteSpace, StringTokenizer.tab];\n /**\n * `Pattern` for WhiteSpace.\n * @private\n */\n StringTokenizer.whiteSpacePattern = '^[ \\t]+$';\n return StringTokenizer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-OS2-Table.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-OS2-Table.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfOS2Table: () => (/* binding */ TtfOS2Table)\n/* harmony export */ });\n/**\n * TtfOS2Table.ts class for EJ2-PDF\n * The OS/2 table consists of a set of metrics that are required by Windows and OS/2.\n */\nvar TtfOS2Table = /** @class */ (function () {\n function TtfOS2Table() {\n }\n return TtfOS2Table;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-OS2-Table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-apple-cmap-sub-table.js": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-apple-cmap-sub-table.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfAppleCmapSubTable: () => (/* binding */ TtfAppleCmapSubTable)\n/* harmony export */ });\n/**\n * TtfAppleCmapSubTable.ts class for EJ2-PDF\n */\nvar TtfAppleCmapSubTable = /** @class */ (function () {\n function TtfAppleCmapSubTable() {\n }\n return TtfAppleCmapSubTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-apple-cmap-sub-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-sub-table.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-sub-table.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfCmapSubTable: () => (/* binding */ TtfCmapSubTable)\n/* harmony export */ });\n/**\n * TtfCmapSubTable.ts class for EJ2-PDF\n */\nvar TtfCmapSubTable = /** @class */ (function () {\n function TtfCmapSubTable() {\n }\n return TtfCmapSubTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-sub-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-table.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-table.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfCmapTable: () => (/* binding */ TtfCmapTable)\n/* harmony export */ });\n/**\n * TtfCmapTable.ts class for EJ2-PDF\n */\nvar TtfCmapTable = /** @class */ (function () {\n function TtfCmapTable() {\n }\n return TtfCmapTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-header.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-header.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfGlyphHeader: () => (/* binding */ TtfGlyphHeader)\n/* harmony export */ });\n/**\n * TtfLocaTable.ts class for EJ2-PDF\n */\nvar TtfGlyphHeader = /** @class */ (function () {\n function TtfGlyphHeader() {\n }\n return TtfGlyphHeader;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-header.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-info.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-info.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfGlyphInfo: () => (/* binding */ TtfGlyphInfo)\n/* harmony export */ });\n/**\n * TtfGlyphInfo.ts class for EJ2-PDF\n */\nvar TtfGlyphInfo = /** @class */ (function () {\n function TtfGlyphInfo() {\n }\n Object.defineProperty(TtfGlyphInfo.prototype, \"empty\", {\n //Properties\n /**\n * Gets a value indicating whether this TtfGlyphInfo is empty.\n */\n get: function () {\n var empty = (this.index === this.width && this.width === this.charCode && this.charCode === 0);\n return empty;\n },\n enumerable: true,\n configurable: true\n });\n //IComparable implementation\n /**\n * Compares two WidthDescriptor objects.\n */\n TtfGlyphInfo.prototype.compareTo = function (obj) {\n var glyph = obj;\n return this.index - glyph.index;\n };\n return TtfGlyphInfo;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-info.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-head-table.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-head-table.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfHeadTable: () => (/* binding */ TtfHeadTable)\n/* harmony export */ });\n/**\n * TtfHeadTable.ts class for EJ2-PDF\n */\nvar TtfHeadTable = /** @class */ (function () {\n function TtfHeadTable() {\n }\n return TtfHeadTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-head-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-horizontal-header-table.js": +/*!******************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-horizontal-header-table.js ***! + \******************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfHorizontalHeaderTable: () => (/* binding */ TtfHorizontalHeaderTable)\n/* harmony export */ });\n/**\n * TtfHorizontalHeaderTable.ts class for EJ2-PDF\n */\nvar TtfHorizontalHeaderTable = /** @class */ (function () {\n function TtfHorizontalHeaderTable() {\n }\n return TtfHorizontalHeaderTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-horizontal-header-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-loca-table.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-loca-table.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfLocaTable: () => (/* binding */ TtfLocaTable)\n/* harmony export */ });\n/**\n * TtfLocaTable.ts class for EJ2-PDF\n */\nvar TtfLocaTable = /** @class */ (function () {\n function TtfLocaTable() {\n }\n return TtfLocaTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-loca-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-long-hor-metric.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-long-hor-metric.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfLongHorMetric: () => (/* binding */ TtfLongHorMetric)\n/* harmony export */ });\n/**\n * TtfLongHorMetric.ts class for EJ2-PDF\n */\nvar TtfLongHorMetric = /** @class */ (function () {\n function TtfLongHorMetric() {\n }\n return TtfLongHorMetric;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-long-hor-metric.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-metrics.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-metrics.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfMetrics: () => (/* binding */ TtfMetrics)\n/* harmony export */ });\nvar TtfMetrics = /** @class */ (function () {\n function TtfMetrics() {\n }\n Object.defineProperty(TtfMetrics.prototype, \"isItalic\", {\n //Properties\n /**\n * Gets a value indicating whether this instance is italic.\n */\n get: function () {\n return ((this.macStyle & 2) !== 0);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TtfMetrics.prototype, \"isBold\", {\n /**\n * Gets a value indicating whether this instance is bold.\n */\n get: function () {\n return ((this.macStyle & 1) !== 0);\n },\n enumerable: true,\n configurable: true\n });\n return TtfMetrics;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-metrics.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.js": +/*!*******************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.js ***! + \*******************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfMicrosoftCmapSubTable: () => (/* binding */ TtfMicrosoftCmapSubTable)\n/* harmony export */ });\n/**\n * TtfMicrosoftCmapSubTable.ts class for EJ2-PDF\n */\nvar TtfMicrosoftCmapSubTable = /** @class */ (function () {\n function TtfMicrosoftCmapSubTable() {\n }\n return TtfMicrosoftCmapSubTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-record.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-record.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfNameRecord: () => (/* binding */ TtfNameRecord)\n/* harmony export */ });\n/**\n * TtfNameRecord.ts class for EJ2-PDF\n */\nvar TtfNameRecord = /** @class */ (function () {\n function TtfNameRecord() {\n }\n return TtfNameRecord;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-record.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-table.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-table.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfNameTable: () => (/* binding */ TtfNameTable)\n/* harmony export */ });\nvar TtfNameTable = /** @class */ (function () {\n function TtfNameTable() {\n }\n return TtfNameTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-post-table.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-post-table.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfPostTable: () => (/* binding */ TtfPostTable)\n/* harmony export */ });\n/**\n * TtfPostTable.ts class for EJ2-PDF\n */\nvar TtfPostTable = /** @class */ (function () {\n function TtfPostTable() {\n }\n return TtfPostTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-post-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-reader.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-reader.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfReader: () => (/* binding */ TtfReader)\n/* harmony export */ });\n/* harmony import */ var _ttf_table_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ttf-table-info */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-table-info.js\");\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/* harmony import */ var _ttf_name_table__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ttf-name-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-table.js\");\n/* harmony import */ var _ttf_name_record__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ttf-name-record */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-record.js\");\n/* harmony import */ var _ttf_head_table__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ttf-head-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-head-table.js\");\n/* harmony import */ var _ttf_metrics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ttf-metrics */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-metrics.js\");\n/* harmony import */ var _ttf_horizontal_header_table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ttf-horizontal-header-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-horizontal-header-table.js\");\n/* harmony import */ var _ttf_OS2_Table__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ttf-OS2-Table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-OS2-Table.js\");\n/* harmony import */ var _ttf_post_table__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ttf-post-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-post-table.js\");\n/* harmony import */ var _ttf_long_hor_metric__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ttf-long-hor-metric */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-long-hor-metric.js\");\n/* harmony import */ var _ttf_cmap_sub_table__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ttf-cmap-sub-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-sub-table.js\");\n/* harmony import */ var _ttf_cmap_table__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ttf-cmap-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-table.js\");\n/* harmony import */ var _ttf_glyph_info__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ttf-glyph-info */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-info.js\");\n/* harmony import */ var _ttf_loca_table__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ttf-loca-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-loca-table.js\");\n/* harmony import */ var _ttf_apple_cmap_sub_table__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ttf-apple-cmap-sub-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-apple-cmap-sub-table.js\");\n/* harmony import */ var _ttf_microsoft_cmap_sub_table__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ttf-microsoft-cmap-sub-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.js\");\n/* harmony import */ var _ttf_trimmed_cmap_sub_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ttf-trimmed-cmap-sub-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.js\");\n/* harmony import */ var _ttf_glyph_header__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./ttf-glyph-header */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-header.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _string_tokenizer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./string-tokenizer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _input_output_big_endian_writer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./../../input-output/big-endian-writer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/big-endian-writer.js\");\n/**\n * TtfReader.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar TtfReader = /** @class */ (function () {\n //Constructors\n function TtfReader(fontData) {\n this.int32Size = 4;\n this.isTtcFont = false;\n this.isMacTtf = false;\n this.metricsName = '';\n this.isMacTTF = false;\n this.missedGlyphs = 0;\n this.tableNames = ['cvt ', 'fpgm', 'glyf', 'head', 'hhea', 'hmtx', 'loca', 'maxp', 'prep'];\n this.entrySelectors = [0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4];\n this.fontData = fontData;\n this.initialize();\n }\n Object.defineProperty(TtfReader.prototype, \"macintosh\", {\n //Properties\n /**\n * Gets glyphs for Macintosh or Symbol fonts (char - key, glyph - value).\n */\n get: function () {\n if (this.macintoshDictionary === null || this.macintoshDictionary === undefined) {\n this.macintoshDictionary = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n return this.macintoshDictionary;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TtfReader.prototype, \"microsoft\", {\n /**\n * Gets glyphs for Microsoft or Symbol fonts (char - key, glyph - value).\n */\n get: function () {\n if (this.microsoftDictionary === null || this.microsoftDictionary === undefined) {\n this.microsoftDictionary = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n return this.microsoftDictionary;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TtfReader.prototype, \"macintoshGlyphs\", {\n /**\n * Gets glyphs for Macintosh or Symbol fonts (glyph index - key, glyph - value).\n */\n get: function () {\n if (this.internalMacintoshGlyphs === null || this.internalMacintoshGlyphs === undefined) {\n this.internalMacintoshGlyphs = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n return this.internalMacintoshGlyphs;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TtfReader.prototype, \"microsoftGlyphs\", {\n /**\n * Gets glyphs for Microsoft Unicode fonts (glyph index - key, glyph - value).\n */\n get: function () {\n if (this.internalMicrosoftGlyphs === null || this.internalMicrosoftGlyphs === undefined) {\n this.internalMicrosoftGlyphs = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n return this.internalMicrosoftGlyphs;\n },\n enumerable: true,\n configurable: true\n });\n //Implementation\n TtfReader.prototype.initialize = function () {\n if (this.metrics === undefined) {\n this.metrics = new _ttf_metrics__WEBPACK_IMPORTED_MODULE_1__.TtfMetrics();\n }\n this.readFontDictionary();\n var nameTable = this.readNameTable();\n var headTable = this.readHeadTable();\n this.initializeFontName(nameTable);\n this.metrics.macStyle = headTable.macStyle;\n };\n TtfReader.prototype.readFontDictionary = function () {\n this.offset = 0;\n var version = this.checkPreambula();\n //this.offset += 4;\n var numTables = this.readInt16(this.offset);\n var searchRange = this.readInt16(this.offset);\n var entrySelector = this.readInt16(this.offset);\n var rangeShift = this.readInt16(this.offset);\n if (this.tableDirectory === undefined) {\n this.tableDirectory = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n for (var i = 0; i < numTables; ++i) {\n var table = new _ttf_table_info__WEBPACK_IMPORTED_MODULE_2__.TtfTableInfo();\n var tableKey = this.readString(this.int32Size);\n table.checksum = this.readInt32(this.offset);\n table.offset = this.readInt32(this.offset);\n table.length = this.readInt32(this.offset);\n this.tableDirectory.setValue(tableKey, table);\n }\n this.lowestPosition = this.offset;\n if (!this.isTtcFont) {\n this.fixOffsets();\n }\n };\n TtfReader.prototype.fixOffsets = function () {\n var minOffset = Number.MAX_VALUE;\n // Search for a smallest offset and compare it with the lowest position found.\n var tableKeys = this.tableDirectory.keys();\n for (var i = 0; i < tableKeys.length; i++) {\n var value = this.tableDirectory.getValue(tableKeys[i]);\n var offset = value.offset;\n if (minOffset > offset) {\n minOffset = offset;\n if (minOffset <= this.lowestPosition) {\n break;\n }\n }\n }\n var shift = minOffset - this.lowestPosition;\n if (shift !== 0) {\n var table = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n for (var i = 0; i < tableKeys.length; i++) {\n var value = this.tableDirectory.getValue(tableKeys[i]);\n value.offset -= shift;\n table.setValue(tableKeys[i], value);\n }\n this.tableDirectory = table;\n }\n };\n TtfReader.prototype.checkPreambula = function () {\n var version = this.readInt32(this.offset);\n this.isMacTtf = (version === 0x74727565) ? true : false;\n if (version !== 0x10000 && version !== 0x74727565 && version !== 0x4f54544f) {\n this.isTtcFont = true;\n this.offset = 0;\n var fontTag = this.readString(4);\n if (fontTag !== 'ttcf') {\n throw new Error('Can not read TTF font data');\n }\n //skip 4\n this.offset += 4;\n var ttcIdentificationNumber = this.readInt32(this.offset);\n if (ttcIdentificationNumber < 0) {\n throw new Error('Can not read TTF font data');\n }\n this.offset = this.readInt32(this.offset);\n version = this.readInt32(this.offset);\n }\n return version;\n };\n TtfReader.prototype.readNameTable = function () {\n var tableInfo = this.getTable('name');\n this.offset = tableInfo.offset;\n var table = new _ttf_name_table__WEBPACK_IMPORTED_MODULE_3__.TtfNameTable();\n table.formatSelector = this.readUInt16(this.offset);\n table.recordsCount = this.readUInt16(this.offset);\n table.offset = this.readUInt16(this.offset);\n table.nameRecords = [];\n var recordSize = 12;\n var position = this.offset;\n for (var i = 0; i < table.recordsCount; i++) {\n this.offset = position;\n var record = new _ttf_name_record__WEBPACK_IMPORTED_MODULE_4__.TtfNameRecord();\n record.platformID = this.readUInt16(this.offset);\n record.encodingID = this.readUInt16(this.offset);\n record.languageID = this.readUInt16(this.offset);\n record.nameID = this.readUInt16(this.offset);\n record.length = this.readUInt16(this.offset);\n record.offset = this.readUInt16(this.offset);\n this.offset = tableInfo.offset + table.offset + record.offset;\n var unicode = (record.platformID === 0 || record.platformID === 3);\n record.name = this.readString(record.length, unicode);\n table.nameRecords[i] = record;\n position += recordSize;\n }\n return table;\n };\n TtfReader.prototype.readHeadTable = function () {\n var tableInfo = this.getTable('head');\n this.offset = tableInfo.offset;\n var table = new _ttf_head_table__WEBPACK_IMPORTED_MODULE_5__.TtfHeadTable();\n table.version = this.readFixed(this.offset);\n table.fontRevision = this.readFixed(this.offset);\n table.checkSumAdjustment = this.readUInt32(this.offset);\n table.magicNumber = this.readUInt32(this.offset);\n table.flags = this.readUInt16(this.offset);\n table.unitsPerEm = this.readUInt16(this.offset);\n table.created = this.readInt64(this.offset);\n table.modified = this.readInt64(this.offset);\n table.xMin = this.readInt16(this.offset);\n table.yMin = this.readInt16(this.offset);\n table.xMax = this.readInt16(this.offset);\n table.yMax = this.readInt16(this.offset);\n table.macStyle = this.readUInt16(this.offset);\n table.lowestReadableSize = this.readUInt16(this.offset);\n table.fontDirectionHint = this.readInt16(this.offset);\n table.indexToLocalFormat = this.readInt16(this.offset);\n table.glyphDataFormat = this.readInt16(this.offset);\n return table;\n };\n TtfReader.prototype.readHorizontalHeaderTable = function () {\n var tableInfo = this.getTable('hhea');\n this.offset = tableInfo.offset;\n var table = new _ttf_horizontal_header_table__WEBPACK_IMPORTED_MODULE_6__.TtfHorizontalHeaderTable();\n table.version = this.readFixed(this.offset);\n table.ascender = this.readInt16(this.offset);\n table.descender = this.readInt16(this.offset);\n table.lineGap = this.readInt16(this.offset);\n table.advanceWidthMax = this.readUInt16(this.offset);\n table.minLeftSideBearing = this.readInt16(this.offset);\n table.minRightSideBearing = this.readInt16(this.offset);\n table.xMaxExtent = this.readInt16(this.offset);\n table.caretSlopeRise = this.readInt16(this.offset);\n table.caretSlopeRun = this.readInt16(this.offset);\n //skip 2 * 5\n this.offset += 10;\n table.metricDataFormat = this.readInt16(this.offset);\n table.numberOfHMetrics = this.readUInt16(this.offset);\n return table;\n };\n TtfReader.prototype.readOS2Table = function () {\n var tableInfo = this.getTable('OS/2');\n this.offset = tableInfo.offset;\n var table = new _ttf_OS2_Table__WEBPACK_IMPORTED_MODULE_7__.TtfOS2Table();\n table.version = this.readUInt16(this.offset);\n table.xAvgCharWidth = this.readInt16(this.offset);\n table.usWeightClass = this.readUInt16(this.offset);\n table.usWidthClass = this.readUInt16(this.offset);\n table.fsType = this.readInt16(this.offset);\n table.ySubscriptXSize = this.readInt16(this.offset);\n table.ySubscriptYSize = this.readInt16(this.offset);\n table.ySubscriptXOffset = this.readInt16(this.offset);\n table.ySubscriptYOffset = this.readInt16(this.offset);\n table.ySuperscriptXSize = this.readInt16(this.offset);\n table.ySuperscriptYSize = this.readInt16(this.offset);\n table.ySuperscriptXOffset = this.readInt16(this.offset);\n table.ySuperscriptYOffset = this.readInt16(this.offset);\n table.yStrikeoutSize = this.readInt16(this.offset);\n table.yStrikeoutPosition = this.readInt16(this.offset);\n table.sFamilyClass = this.readInt16(this.offset);\n table.panose = this.readBytes(10);\n table.ulUnicodeRange1 = this.readUInt32(this.offset);\n table.ulUnicodeRange2 = this.readUInt32(this.offset);\n table.ulUnicodeRange3 = this.readUInt32(this.offset);\n table.ulUnicodeRange4 = this.readUInt32(this.offset);\n table.vendorIdentifier = this.readBytes(4);\n table.fsSelection = this.readUInt16(this.offset);\n table.usFirstCharIndex = this.readUInt16(this.offset);\n table.usLastCharIndex = this.readUInt16(this.offset);\n table.sTypoAscender = this.readInt16(this.offset);\n table.sTypoDescender = this.readInt16(this.offset);\n table.sTypoLineGap = this.readInt16(this.offset);\n table.usWinAscent = this.readUInt16(this.offset);\n table.usWinDescent = this.readUInt16(this.offset);\n table.ulCodePageRange1 = this.readUInt32(this.offset);\n table.ulCodePageRange2 = this.readUInt32(this.offset);\n if (table.version > 1) {\n table.sxHeight = this.readInt16(this.offset);\n table.sCapHeight = this.readInt16(this.offset);\n table.usDefaultChar = this.readUInt16(this.offset);\n table.usBreakChar = this.readUInt16(this.offset);\n table.usMaxContext = this.readUInt16(this.offset);\n }\n else {\n table.sxHeight = 0;\n table.sCapHeight = 0;\n table.usDefaultChar = 0;\n table.usBreakChar = 0;\n table.usMaxContext = 0;\n }\n return table;\n };\n TtfReader.prototype.readPostTable = function () {\n var tableInfo = this.getTable('post');\n this.offset = tableInfo.offset;\n var table = new _ttf_post_table__WEBPACK_IMPORTED_MODULE_8__.TtfPostTable();\n table.formatType = this.readFixed(this.offset);\n table.italicAngle = this.readFixed(this.offset);\n table.underlinePosition = this.readInt16(this.offset);\n table.underlineThickness = this.readInt16(this.offset);\n table.isFixedPitch = this.readUInt32(this.offset);\n table.minType42 = this.readUInt32(this.offset);\n table.maxType42 = this.readUInt32(this.offset);\n table.minType1 = this.readUInt32(this.offset);\n table.maxType1 = this.readUInt32(this.offset);\n return table;\n };\n /**\n * Reads Width of the glyphs.\n */\n TtfReader.prototype.readWidthTable = function (glyphCount, unitsPerEm) {\n var tableInfo = this.getTable('hmtx');\n this.offset = tableInfo.offset;\n var width = [];\n for (var i = 0; i < glyphCount; i++) {\n var glyph = new _ttf_long_hor_metric__WEBPACK_IMPORTED_MODULE_9__.TtfLongHorMetric();\n glyph.advanceWidth = this.readUInt16(this.offset);\n glyph.lsb = this.readInt16(this.offset);\n var glyphWidth = glyph.advanceWidth * 1000 / unitsPerEm;\n width.push(Math.floor(glyphWidth));\n }\n return width;\n };\n /**\n * Reads the cmap table.\n */\n TtfReader.prototype.readCmapTable = function () {\n var tableInfo = this.getTable('cmap');\n this.offset = tableInfo.offset;\n var table = new _ttf_cmap_table__WEBPACK_IMPORTED_MODULE_10__.TtfCmapTable();\n table.version = this.readUInt16(this.offset);\n table.tablesCount = this.readUInt16(this.offset);\n var position = this.offset;\n var subTables = [];\n for (var i = 0; i < table.tablesCount; i++) {\n this.offset = position;\n var subTable = new _ttf_cmap_sub_table__WEBPACK_IMPORTED_MODULE_11__.TtfCmapSubTable();\n subTable.platformID = this.readUInt16(this.offset);\n subTable.encodingID = this.readUInt16(this.offset);\n subTable.offset = this.readUInt32(this.offset);\n position = this.offset;\n this.readCmapSubTable(subTable);\n subTables[i] = subTable;\n }\n return subTables;\n };\n /**\n * Reads the cmap sub table.\n */\n TtfReader.prototype.readCmapSubTable = function (subTable) {\n var tableInfo = this.getTable('cmap');\n this.offset = tableInfo.offset + subTable.offset;\n var format = this.readUInt16(this.offset);\n var encoding = this.getCmapEncoding(subTable.platformID, subTable.encodingID);\n var platform = (encoding === _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Macintosh) ? _enum__WEBPACK_IMPORTED_MODULE_12__.TtfPlatformID.Macintosh : _enum__WEBPACK_IMPORTED_MODULE_12__.TtfPlatformID.Microsoft;\n if (encoding !== _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Unknown) {\n switch (format) {\n case _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapFormat.Apple:\n this.readAppleCmapTable(subTable, encoding);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapFormat.Microsoft:\n this.readMicrosoftCmapTable(subTable, encoding);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapFormat.Trimmed:\n this.readTrimmedCmapTable(subTable, encoding);\n break;\n }\n }\n };\n /**\n * Reads Symbol cmap table.\n */\n TtfReader.prototype.readAppleCmapTable = function (subTable, encoding) {\n var tableInfo = this.getTable('cmap');\n this.offset = tableInfo.offset + subTable.offset;\n var table = new _ttf_apple_cmap_sub_table__WEBPACK_IMPORTED_MODULE_13__.TtfAppleCmapSubTable();\n table.format = this.readUInt16(this.offset);\n table.length = this.readUInt16(this.offset);\n table.version = this.readUInt16(this.offset);\n if (this.maxMacIndex === null || this.maxMacIndex === undefined) {\n this.maxMacIndex = 0;\n }\n for (var i = 0; i < 256; ++i) {\n var glyphInfo = new _ttf_glyph_info__WEBPACK_IMPORTED_MODULE_14__.TtfGlyphInfo();\n glyphInfo.index = this.readByte(this.offset);\n glyphInfo.width = this.getWidth(glyphInfo.index);\n glyphInfo.charCode = i;\n this.macintosh.setValue(i, glyphInfo);\n this.addGlyph(glyphInfo, encoding);\n // NOTE: this code fixes char codes that extends 0x100. However, it might corrupt something.\n this.maxMacIndex = Math.max(i, this.maxMacIndex);\n }\n };\n /**\n * Reads Symbol cmap table.\n */\n TtfReader.prototype.readMicrosoftCmapTable = function (subTable, encoding) {\n var tableInfo = this.getTable('cmap');\n this.offset = tableInfo.offset + subTable.offset;\n var collection = (encoding === _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Unicode) ? this.microsoft : this.macintosh;\n var table = new _ttf_microsoft_cmap_sub_table__WEBPACK_IMPORTED_MODULE_15__.TtfMicrosoftCmapSubTable();\n table.format = this.readUInt16(this.offset);\n table.length = this.readUInt16(this.offset);\n table.version = this.readUInt16(this.offset);\n table.segCountX2 = this.readUInt16(this.offset);\n table.searchRange = this.readUInt16(this.offset);\n table.entrySelector = this.readUInt16(this.offset);\n table.rangeShift = this.readUInt16(this.offset);\n var segCount = table.segCountX2 / 2;\n table.endCount = this.readUshortArray(segCount);\n table.reservedPad = this.readUInt16(this.offset);\n table.startCount = this.readUshortArray(segCount);\n table.idDelta = this.readUshortArray(segCount);\n table.idRangeOffset = this.readUshortArray(segCount);\n var length = (table.length / 2 - 8) - (segCount * 4);\n table.glyphID = this.readUshortArray(length);\n // Process glyphIdArray array.\n var codeOffset = 0;\n var index = 0;\n for (var j = 0; j < segCount; j++) {\n for (var k = table.startCount[j]; k <= table.endCount[j] && k !== 65535; k++) {\n if (table.idRangeOffset[j] === 0) {\n codeOffset = (k + table.idDelta[j]) & 65535;\n }\n else {\n index = j + table.idRangeOffset[j] / 2 - segCount + k - table.startCount[j];\n if (index >= table.glyphID.length) {\n continue;\n }\n codeOffset = (table.glyphID[index] + table.idDelta[j]) & 65535;\n }\n var glyph = new _ttf_glyph_info__WEBPACK_IMPORTED_MODULE_14__.TtfGlyphInfo();\n glyph.index = codeOffset;\n glyph.width = this.getWidth(glyph.index);\n var id = (encoding === _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Symbol) ? ((k & 0xff00) === 0xf000 ? k & 0xff : k) : k;\n glyph.charCode = id;\n collection.setValue(id, glyph);\n this.addGlyph(glyph, encoding);\n }\n }\n };\n /**\n * Reads Trimed cmap table.\n */\n TtfReader.prototype.readTrimmedCmapTable = function (subTable, encoding) {\n var tableInfo = this.getTable('cmap');\n this.offset = tableInfo.offset + subTable.offset;\n var table = new _ttf_trimmed_cmap_sub_table__WEBPACK_IMPORTED_MODULE_16__.TtfTrimmedCmapSubTable();\n table.format = this.readUInt16(this.offset);\n table.length = this.readUInt16(this.offset);\n table.version = this.readUInt16(this.offset);\n table.firstCode = this.readUInt16(this.offset);\n table.entryCount = this.readUInt16(this.offset);\n for (var i = 0; i < table.entryCount; ++i) {\n var glyphInfo = new _ttf_glyph_info__WEBPACK_IMPORTED_MODULE_14__.TtfGlyphInfo();\n glyphInfo.index = this.readUInt16(this.offset);\n glyphInfo.width = this.getWidth(glyphInfo.index);\n glyphInfo.charCode = i + table.firstCode;\n this.macintosh.setValue(i, glyphInfo);\n this.addGlyph(glyphInfo, encoding);\n // NOTE: this code fixes char codes that extends 0x100. However, it might corrupt something.\n this.maxMacIndex = Math.max(i, this.maxMacIndex);\n }\n };\n TtfReader.prototype.initializeFontName = function (nameTable) {\n for (var i = 0; i < nameTable.recordsCount; i++) {\n var record = nameTable.nameRecords[i];\n if (record.nameID === 1) {\n //font family\n this.metrics.fontFamily = record.name;\n }\n else if (record.nameID === 6) {\n //post script name\n this.metrics.postScriptName = record.name;\n }\n /* tslint:disable */\n if (this.metrics.fontFamily !== null && this.metrics.fontFamily !== undefined && this.metrics.postScriptName !== null && this.metrics.postScriptName !== undefined) {\n break;\n }\n /* tslint:disable */\n }\n };\n TtfReader.prototype.getTable = function (name) {\n // if (name === null) {\n // throw new Error('Argument Null Exception : name');\n // }\n var table = new _ttf_table_info__WEBPACK_IMPORTED_MODULE_2__.TtfTableInfo();\n var obj;\n if (this.tableDirectory.containsKey(name)) {\n obj = this.tableDirectory.getValue(name);\n }\n if (obj !== null && obj !== undefined) {\n table = obj;\n }\n return table;\n };\n /**\n * Returns width of the glyph.\n */\n TtfReader.prototype.getWidth = function (glyphCode) {\n glyphCode = (glyphCode < this.width.length) ? glyphCode : this.width.length - 1;\n return this.width[glyphCode];\n };\n /**\n * Gets CMAP encoding based on platform ID and encoding ID.\n */\n /* tslint:disable */\n TtfReader.prototype.getCmapEncoding = function (platformID, encodingID) {\n var format = _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Unknown;\n if (platformID == _enum__WEBPACK_IMPORTED_MODULE_12__.TtfPlatformID.Microsoft && encodingID == _enum__WEBPACK_IMPORTED_MODULE_12__.TtfMicrosoftEncodingID.Undefined) {\n // When building a symbol font for Windows,\n // the platform ID should be 3 and the encoding ID should be 0.\n format = _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Symbol;\n }\n else if (platformID == _enum__WEBPACK_IMPORTED_MODULE_12__.TtfPlatformID.Microsoft && encodingID == _enum__WEBPACK_IMPORTED_MODULE_12__.TtfMicrosoftEncodingID.Unicode) {\n // When building a Unicode font for Windows,\n // the platform ID should be 3 and the encoding ID should be 1.\n format = _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Unicode;\n }\n else if (platformID == _enum__WEBPACK_IMPORTED_MODULE_12__.TtfPlatformID.Macintosh && encodingID == _enum__WEBPACK_IMPORTED_MODULE_12__.TtfMacintoshEncodingID.Roman) {\n // When building a font that will be used on the Macintosh,\n // the platform ID should be 1 and the encoding ID should be 0.\n format = _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Macintosh;\n }\n return format;\n };\n /* tslint:enable */\n /**\n * Adds glyph to the collection.\n */\n TtfReader.prototype.addGlyph = function (glyph, encoding) {\n var collection = null;\n switch (encoding) {\n case _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Unicode:\n collection = this.microsoftGlyphs;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Macintosh:\n case _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Symbol:\n collection = this.macintoshGlyphs;\n break;\n }\n collection.setValue(glyph.index, glyph);\n };\n /**\n * Initializes metrics.\n */\n /* tslint:disable */\n TtfReader.prototype.initializeMetrics = function (nameTable, headTable, horizontalHeadTable, os2Table, postTable, cmapTables) {\n /* tslint:enable */\n // if (cmapTables === null) {\n // throw new Error('ArgumentNullException : cmapTables');\n // }\n this.initializeFontName(nameTable);\n // Get font encoding.\n var bSymbol = false;\n for (var i = 0; i < cmapTables.length; i++) {\n var subTable = cmapTables[i];\n var encoding = this.getCmapEncoding(subTable.platformID, subTable.encodingID);\n if (encoding === _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCmapEncoding.Symbol) {\n bSymbol = true;\n break;\n }\n }\n this.metrics.isSymbol = bSymbol;\n this.metrics.macStyle = headTable.macStyle;\n this.metrics.isFixedPitch = (postTable.isFixedPitch !== 0);\n this.metrics.italicAngle = postTable.italicAngle;\n var factor = 1000 / headTable.unitsPerEm;\n this.metrics.winAscent = os2Table.sTypoAscender * factor;\n this.metrics.macAscent = horizontalHeadTable.ascender * factor;\n //m_metrics.MacAscent = os2Table.UsWinAscent * factor;\n // NOTE: This is stange workaround. The value is good if os2Table.SCapHeight != 0, otherwise it should be properly computed.\n this.metrics.capHeight = (os2Table.sCapHeight !== 0) ? os2Table.sCapHeight : 0.7 * headTable.unitsPerEm * factor;\n this.metrics.winDescent = os2Table.sTypoDescender * factor;\n this.metrics.macDescent = horizontalHeadTable.descender * factor;\n //m_metrics.MacDescent = -os2Table.UsWinDescent * factor;\n this.metrics.leading = (os2Table.sTypoAscender - os2Table.sTypoDescender + os2Table.sTypoLineGap) * factor;\n this.metrics.lineGap = Math.ceil(horizontalHeadTable.lineGap * factor);\n var left = headTable.xMin * factor;\n var top = Math.ceil(this.metrics.macAscent + this.metrics.lineGap);\n var right = headTable.xMax * factor;\n var bottom = this.metrics.macDescent;\n this.metrics.fontBox = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_17__.Rectangle(left, top, right, bottom);\n // NOTE: Strange!\n this.metrics.stemV = 80;\n this.metrics.widthTable = this.updateWidth();\n this.metrics.contains = this.tableDirectory.containsKey('CFF');\n this.metrics.subScriptSizeFactor = headTable.unitsPerEm / os2Table.ySubscriptYSize;\n this.metrics.superscriptSizeFactor = headTable.unitsPerEm / os2Table.ySuperscriptYSize;\n };\n /**\n * Updates chars structure which is used in the case of ansi encoding (256 bytes).\n */\n TtfReader.prototype.updateWidth = function () {\n var count = 256;\n var bytes = [];\n if (this.metrics.isSymbol) {\n for (var i = 0; i < count; i++) {\n var glyphInfo = this.getGlyph(String.fromCharCode(i));\n bytes[i] = (glyphInfo.empty) ? 0 : glyphInfo.width;\n }\n }\n else {\n var byteToProcess = [];\n var unknown = '?';\n var space = String.fromCharCode(32);\n for (var i = 0; i < count; i++) {\n byteToProcess[0] = i;\n var text = this.getString(byteToProcess, 0, byteToProcess.length);\n var ch = (text.length > 0) ? text[0] : unknown;\n var glyphInfo = this.getGlyph(ch);\n if (!glyphInfo.empty) {\n bytes[i] = glyphInfo.width;\n }\n else {\n glyphInfo = this.getGlyph(space);\n bytes[i] = (glyphInfo.empty) ? 0 : glyphInfo.width;\n }\n }\n }\n return bytes;\n };\n /**\n * Returns default glyph.\n */\n TtfReader.prototype.getDefaultGlyph = function () {\n var glyph = this.getGlyph(_string_tokenizer__WEBPACK_IMPORTED_MODULE_18__.StringTokenizer.whiteSpace);\n return glyph;\n };\n /**\n * Reads unicode string from byte array.\n */\n TtfReader.prototype.getString = function (byteToProcess, start, length) {\n var result = '';\n for (var index = 0; index < length; index++) {\n result += String.fromCharCode(byteToProcess[index + start]);\n }\n return result;\n };\n /**\n * Reads loca table.\n */\n TtfReader.prototype.readLocaTable = function (bShort) {\n var tableInfo = this.getTable('loca');\n this.offset = tableInfo.offset;\n var table = new _ttf_loca_table__WEBPACK_IMPORTED_MODULE_19__.TtfLocaTable();\n var buffer = null;\n if (bShort) {\n var len = tableInfo.length / 2;\n buffer = [];\n for (var i = 0; i < len; i++) {\n buffer[i] = this.readUInt16(this.offset) * 2;\n }\n }\n else {\n var len = tableInfo.length / 4;\n buffer = [];\n for (var i = 0; i < len; i++) {\n buffer[i] = this.readUInt32(this.offset);\n }\n }\n table.offsets = buffer;\n return table;\n };\n /**\n * Updates hash table of used glyphs.\n */\n TtfReader.prototype.updateGlyphChars = function (glyphChars, locaTable) {\n // if (glyphChars === null) {\n // throw new Error('Argument Null Exception : glyphChars');\n // }\n // Add zero key.\n if (!glyphChars.containsKey(0)) {\n glyphChars.setValue(0, 0);\n }\n var clone = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n var glyphCharKeys = glyphChars.keys();\n for (var i = 0; i < glyphCharKeys.length; i++) {\n clone.setValue(glyphCharKeys[i], glyphChars.getValue(glyphCharKeys[i]));\n }\n for (var i = 0; i < glyphCharKeys.length; i++) {\n var nextKey = glyphCharKeys[i];\n this.processCompositeGlyph(glyphChars, nextKey, locaTable);\n }\n };\n /**\n * Checks if glyph is composite or not.\n */\n TtfReader.prototype.processCompositeGlyph = function (glyphChars, glyph, locaTable) {\n // if (glyphChars === null) {\n // throw new Error('Argument Null Exception : glyphChars');\n // }\n // Is in range.\n if (glyph < locaTable.offsets.length - 1) {\n var glyphOffset = locaTable.offsets[glyph];\n if (glyphOffset !== locaTable.offsets[glyph + 1]) {\n var tableInfo = this.getTable('glyf');\n this.offset = tableInfo.offset + glyphOffset;\n var glyphHeader = new _ttf_glyph_header__WEBPACK_IMPORTED_MODULE_20__.TtfGlyphHeader();\n glyphHeader.numberOfContours = this.readInt16(this.offset);\n glyphHeader.xMin = this.readInt16(this.offset);\n glyphHeader.yMin = this.readInt16(this.offset);\n glyphHeader.xMax = this.readInt16(this.offset);\n glyphHeader.yMax = this.readInt16(this.offset);\n // Glyph is composite.\n if (glyphHeader.numberOfContours < 0) {\n var skipBytes = 0;\n var entry = true;\n while (entry) {\n var flags = this.readUInt16(this.offset);\n var glyphIndex = this.readUInt16(this.offset);\n if (!glyphChars.containsKey(glyphIndex)) {\n glyphChars.setValue(glyphIndex, 0);\n }\n if ((flags & _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCompositeGlyphFlags.MoreComponents) === 0) {\n break;\n }\n skipBytes = ((flags & _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCompositeGlyphFlags.Arg1And2AreWords) !== 0) ? 4 : 2;\n if ((flags & _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCompositeGlyphFlags.WeHaveScale) !== 0) {\n skipBytes += 2;\n }\n else if ((flags & _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCompositeGlyphFlags.WeHaveAnXyScale) !== 0) {\n skipBytes += 4;\n }\n else if ((flags & _enum__WEBPACK_IMPORTED_MODULE_12__.TtfCompositeGlyphFlags.WeHaveTwoByTwo) !== 0) {\n skipBytes += 2 * 4;\n }\n this.offset += skipBytes;\n }\n }\n }\n }\n };\n /**\n * Creates new glyph tables based on chars that are used for output.\n */\n /* tslint:disable */\n TtfReader.prototype.generateGlyphTable = function (glyphChars, locaTable, newLocaTable, newGlyphTable) {\n /* tslint:enable */\n // if (glyphChars === null) {\n // throw new Error('Argument Null Exception : glyphChars');\n // }\n newLocaTable = [];\n // Sorting used glyphs keys.\n var activeGlyphs = glyphChars.keys();\n activeGlyphs.sort(function (a, b) { return a - b; });\n var glyphSize = 0;\n for (var i = 0; i < activeGlyphs.length; i++) {\n var glyphIndex = activeGlyphs[i];\n if (locaTable.offsets.length > 0) {\n glyphSize += locaTable.offsets[glyphIndex + 1] - locaTable.offsets[glyphIndex];\n }\n }\n var glyphSizeAligned = this.align(glyphSize);\n newGlyphTable = [];\n for (var i = 0; i < glyphSizeAligned; i++) {\n newGlyphTable.push(0);\n }\n var nextGlyphOffset = 0;\n var nextGlyphIndex = 0;\n var table = this.getTable('glyf');\n // Creating NewLocaTable - that would hold offsets for filtered glyphs.\n for (var i = 0; i < locaTable.offsets.length; i++) {\n newLocaTable.push(nextGlyphOffset);\n if (nextGlyphIndex < activeGlyphs.length && activeGlyphs[nextGlyphIndex] === i) {\n ++nextGlyphIndex;\n newLocaTable[i] = nextGlyphOffset;\n var oldGlyphOffset = locaTable.offsets[i];\n var oldNextGlyphOffset = locaTable.offsets[i + 1] - oldGlyphOffset;\n if (oldNextGlyphOffset > 0) {\n this.offset = table.offset + oldGlyphOffset;\n var result = this.read(newGlyphTable, nextGlyphOffset, oldNextGlyphOffset);\n newGlyphTable = result.buffer;\n nextGlyphOffset += oldNextGlyphOffset;\n }\n }\n }\n return { glyphTableSize: glyphSize, newLocaTable: newLocaTable, newGlyphTable: newGlyphTable };\n };\n /**\n * Updates new Loca table.\n */\n /* tslint:disable */\n TtfReader.prototype.updateLocaTable = function (newLocaTable, bLocaIsShort, newLocaTableOut) {\n /* tslint:enable */\n if (newLocaTable === null) {\n throw new Error('Argument Null Exception : newLocaTable');\n }\n var size = (bLocaIsShort) ? newLocaTable.length * 2 : newLocaTable.length * 4;\n var count = this.align(size);\n //BigEndianWiter\n var writer = new _input_output_big_endian_writer__WEBPACK_IMPORTED_MODULE_21__.BigEndianWriter(count);\n for (var i = 0; i < newLocaTable.length; i++) {\n var value = newLocaTable[i];\n if (bLocaIsShort) {\n value /= 2;\n writer.writeShort(value);\n }\n else {\n writer.writeInt(value);\n }\n }\n return { newLocaUpdated: writer.data, newLocaSize: size };\n };\n /**\n * Aligns number to be divisible on 4.\n */\n TtfReader.prototype.align = function (value) {\n return (value + 3) & (~3);\n };\n /**\n * Returns font program data.\n */\n /* tslint:disable */\n TtfReader.prototype.getFontProgram = function (newLocaTableOut, newGlyphTable, glyphTableSize, locaTableSize) {\n /* tslint:enable */\n if (newLocaTableOut === null) {\n throw new Error('Argument Null Exception : newLocaTableOut');\n }\n if (newGlyphTable === null) {\n throw new Error('Argument Null Exception : newGlyphTable');\n }\n var tableNames = this.tableNames;\n var result = this.getFontProgramLength(newLocaTableOut, newGlyphTable, 0);\n var fontProgramLength = result.fontProgramLength;\n var numTables = result.numTables;\n var writer = new _input_output_big_endian_writer__WEBPACK_IMPORTED_MODULE_21__.BigEndianWriter(fontProgramLength);\n writer.writeInt(0x10000);\n writer.writeShort(numTables);\n var entrySelector = this.entrySelectors[numTables];\n writer.writeShort((1 << (entrySelector & 31)) * 16);\n writer.writeShort(entrySelector);\n writer.writeShort((numTables - (1 << (entrySelector & 31))) * 16);\n // Writing to destination buffer - checksums && sizes of used tables.\n this.writeCheckSums(writer, numTables, newLocaTableOut, newGlyphTable, glyphTableSize, locaTableSize);\n // // Writing to destination buffer - used glyphs.\n this.writeGlyphs(writer, newLocaTableOut, newGlyphTable);\n return writer.data;\n };\n /* tslint:disable */\n TtfReader.prototype.getFontProgramLength = function (newLocaTableOut, newGlyphTable, numTables) {\n /* tslint:enable */\n if (newLocaTableOut === null) {\n throw new Error('Argument Null Exception : newLocaTableOut');\n }\n if (newGlyphTable === null) {\n throw new Error('Argument Null Exception : newGlyphTable');\n }\n // glyf and loca are used by default;\n numTables = 2;\n var tableNames = this.tableNames;\n var fontProgramLength = 0;\n for (var i = 0; i < tableNames.length; i++) {\n var tableName = tableNames[i];\n if (tableName !== 'glyf' && tableName !== 'loca') {\n var table = this.getTable(tableName);\n if (!table.empty) {\n ++numTables;\n fontProgramLength += this.align(table.length);\n }\n }\n }\n fontProgramLength += newLocaTableOut.length;\n fontProgramLength += newGlyphTable.length;\n var usedTablesSize = numTables * 16 + (3 * 4);\n fontProgramLength += usedTablesSize;\n return { fontProgramLength: fontProgramLength, numTables: numTables };\n };\n /**\n * Writing to destination buffer - checksums and sizes of used tables.\n */\n /* tslint:disable */\n TtfReader.prototype.writeCheckSums = function (writer, numTables, newLocaTableOut, newGlyphTable, glyphTableSize, locaTableSize) {\n /* tslint:enable */\n if (writer === null) {\n throw new Error('Argument Null Exception : writer');\n }\n if (newLocaTableOut === null) {\n throw new Error('Argument Null Exception : newLocaTableOut');\n }\n if (newGlyphTable === null) {\n throw new Error('Argument Null Exception : newGlyphTable');\n }\n var tableNames = this.tableNames;\n var usedTablesSize = numTables * 16 + (3 * 4);\n var nextTableSize = 0;\n for (var i = 0; i < tableNames.length; i++) {\n var tableName = tableNames[i];\n var tableInfo = this.getTable(tableName);\n if (tableInfo.empty) {\n continue;\n }\n writer.writeString(tableName);\n if (tableName === 'glyf') {\n var checksum = this.calculateCheckSum(newGlyphTable);\n writer.writeInt(checksum);\n nextTableSize = glyphTableSize;\n }\n else if (tableName === 'loca') {\n var checksum = this.calculateCheckSum(newLocaTableOut);\n writer.writeInt(checksum);\n nextTableSize = locaTableSize;\n }\n else {\n writer.writeInt(tableInfo.checksum);\n nextTableSize = tableInfo.length;\n }\n writer.writeUInt(usedTablesSize);\n writer.writeUInt(nextTableSize);\n usedTablesSize += this.align(nextTableSize);\n }\n };\n /**\n * Gets checksum from source buffer.\n */\n TtfReader.prototype.calculateCheckSum = function (bytes) {\n if (bytes === null) {\n throw new Error('Argument Null Exception : bytes');\n }\n var pos = 0;\n var byte1 = 0;\n var byte2 = 0;\n var byte3 = 0;\n var byte4 = 0;\n for (var i = 0; i < (bytes.length + 1) / 4; i++) {\n byte4 += (bytes[pos++] & 255);\n byte3 += (bytes[pos++] & 255);\n byte2 += (bytes[pos++] & 255);\n byte1 += (bytes[pos++] & 255);\n }\n var result = byte1;\n result += (byte2 << 8);\n result += (byte3 << 16);\n result += (byte4 << 24);\n return result;\n };\n /**\n * Writing to destination buffer - used glyphs.\n */\n TtfReader.prototype.writeGlyphs = function (writer, newLocaTable, newGlyphTable) {\n if (writer === null) {\n throw new Error('Argument Null Exception : writer');\n }\n if (newLocaTable === null) {\n throw new Error('Argument Null Exception : newLocaTableOut');\n }\n if (newGlyphTable === null) {\n throw new Error('Argument Null Exception : newGlyphTable');\n }\n var tableNames = this.tableNames;\n for (var i = 0; i < tableNames.length; i++) {\n var tableName = tableNames[i];\n var tableInfo = this.getTable(tableName);\n if (tableInfo.empty) {\n continue;\n }\n if (tableName === 'glyf') {\n writer.writeBytes(newGlyphTable);\n }\n else if (tableName === 'loca') {\n writer.writeBytes(newLocaTable);\n }\n else {\n var count = this.align(tableInfo.length);\n var buff = [];\n for (var i_1 = 0; i_1 < count; i_1++) {\n buff.push(0);\n }\n this.offset = tableInfo.offset;\n var result = this.read(buff, 0, tableInfo.length);\n writer.writeBytes(result.buffer);\n }\n }\n };\n //public methods\n /**\n * Sets position value of font data.\n */\n TtfReader.prototype.setOffset = function (offset) {\n this.offset = offset;\n };\n /**\n * Creates font Internals\n * @private\n */\n TtfReader.prototype.createInternals = function () {\n this.metrics = new _ttf_metrics__WEBPACK_IMPORTED_MODULE_1__.TtfMetrics();\n var nameTable = this.readNameTable();\n var headTable = this.readHeadTable();\n this.bIsLocaShort = (headTable.indexToLocalFormat === 0);\n var horizontalHeadTable = this.readHorizontalHeaderTable();\n var os2Table = this.readOS2Table();\n var postTable = this.readPostTable();\n this.width = this.readWidthTable(horizontalHeadTable.numberOfHMetrics, headTable.unitsPerEm);\n var subTables = this.readCmapTable();\n this.initializeMetrics(nameTable, headTable, horizontalHeadTable, os2Table, postTable, subTables);\n };\n TtfReader.prototype.getGlyph = function (charCode) {\n if (typeof charCode === 'number') {\n var obj1 = null;\n if (!this.metrics.isSymbol && this.microsoftGlyphs != null) {\n if (this.microsoftGlyphs.containsKey(charCode)) {\n obj1 = this.microsoftGlyphs.getValue(charCode);\n }\n }\n else if (this.metrics.isSymbol && this.macintoshGlyphs != null) {\n if (this.macintoshGlyphs.containsKey(charCode)) {\n obj1 = this.macintoshGlyphs.getValue(charCode);\n }\n }\n var glyph = (obj1 != null) ? obj1 : this.getDefaultGlyph();\n return glyph;\n }\n else {\n var obj = null;\n var code = charCode.charCodeAt(0);\n if (!this.metrics.isSymbol && this.microsoft !== null) {\n if (this.microsoft.containsKey(code)) {\n obj = this.microsoft.getValue(code);\n if (code !== _string_tokenizer__WEBPACK_IMPORTED_MODULE_18__.StringTokenizer.whiteSpace.charCodeAt(0)) {\n this.isFontPresent = true;\n }\n }\n else if (code !== _string_tokenizer__WEBPACK_IMPORTED_MODULE_18__.StringTokenizer.whiteSpace.charCodeAt(0)) {\n this.isFontPresent = false;\n }\n }\n else if (this.metrics.isSymbol && this.macintosh !== null || this.isMacTTF) {\n // NOTE: this code fixes char codes that extends 0x100. However, it might corrupt something.\n if (this.maxMacIndex !== 0) {\n code %= this.maxMacIndex + 1;\n }\n else {\n code = ((code & 0xff00) === 0xf000 ? code & 0xff : code);\n }\n if (this.macintosh.containsKey(code)) {\n obj = this.macintosh.getValue(code);\n this.isFontPresent = true;\n }\n }\n // Fix for StackOverFlow exception in XPS to PDF converter\n if (charCode === _string_tokenizer__WEBPACK_IMPORTED_MODULE_18__.StringTokenizer.whiteSpace && obj === null) {\n obj = new _ttf_glyph_info__WEBPACK_IMPORTED_MODULE_14__.TtfGlyphInfo();\n }\n var glyph = (obj !== null) ? obj : this.getDefaultGlyph();\n return glyph;\n }\n };\n /**\n * Gets hash table with chars indexed by glyph index.\n */\n TtfReader.prototype.getGlyphChars = function (chars) {\n if (chars === null || chars === undefined) {\n throw new Error('Argument Null Exception : chars');\n }\n var dictionary = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n var charKeys = chars.keys();\n for (var i = 0; i < charKeys.length; i++) {\n var ch = charKeys[i];\n var glyph = this.getGlyph(ch);\n if (!glyph.empty) {\n dictionary.setValue(glyph.index, ch.charCodeAt(0));\n }\n }\n return dictionary;\n };\n /**\n * Gets all glyphs.\n */\n TtfReader.prototype.getAllGlyphs = function () {\n var allGlyphInfo = [];\n var info = new _ttf_glyph_info__WEBPACK_IMPORTED_MODULE_14__.TtfGlyphInfo();\n var index = 0;\n for (var i = 0; i < this.width.length; i++) {\n var width = this.width[i];\n info.index = index;\n info.width = width;\n allGlyphInfo.push(info);\n index++;\n }\n return allGlyphInfo;\n };\n /**\n * Reads a font's program.\n * @private\n */\n TtfReader.prototype.readFontProgram = function (chars) {\n var glyphChars = this.getGlyphChars(chars);\n var locaTable = this.readLocaTable(this.bIsLocaShort);\n if (glyphChars.size() < chars.size()) {\n this.missedGlyphs = chars.size() - glyphChars.size();\n }\n this.updateGlyphChars(glyphChars, locaTable);\n /* tslint:disable */\n var result1 = this.generateGlyphTable(glyphChars, locaTable, null, null);\n /* tslint:enable */\n var glyphTableSize = result1.glyphTableSize;\n var newLocaTable = result1.newLocaTable;\n var newGlyphTable = result1.newGlyphTable;\n var result2 = this.updateLocaTable(newLocaTable, this.bIsLocaShort, null);\n var newLocaSize = result2.newLocaSize;\n var newLocaUpdated = result2.newLocaUpdated;\n var fontProgram = this.getFontProgram(newLocaUpdated, newGlyphTable, glyphTableSize, newLocaSize);\n return fontProgram;\n };\n /**\n * Reconverts string to be in proper format saved into PDF file.\n */\n TtfReader.prototype.convertString = function (text) {\n if (text === null) {\n throw new Error('Argument Null Exception : text');\n }\n var glyph = '';\n var i = 0;\n for (var k = 0; k < text.length; k++) {\n var ch = text[k];\n var glyphInfo = this.getGlyph(ch);\n if (!glyphInfo.empty) {\n glyph += String.fromCharCode(glyphInfo.index);\n i++;\n }\n }\n return glyph;\n };\n /**\n * Gets char width.\n */\n TtfReader.prototype.getCharWidth = function (code) {\n var glyphInfo = this.getGlyph(code);\n glyphInfo = (!glyphInfo.empty) ? glyphInfo : this.getDefaultGlyph();\n var codeWidth = (!glyphInfo.empty) ? glyphInfo.width : 0;\n return codeWidth;\n };\n TtfReader.prototype.readString = function (length, isUnicode) {\n if (isUnicode === undefined) {\n return this.readString(length, false);\n }\n else {\n //let buffer : number[] = this.readBytes(length);\n var result = '';\n if (isUnicode) {\n for (var i = 0; i < length; i++) {\n if (i % 2 !== 0) {\n result += String.fromCharCode(this.fontData[this.offset]);\n }\n this.offset += 1;\n }\n }\n else {\n for (var i = 0; i < length; i++) {\n result += String.fromCharCode(this.fontData[this.offset]);\n this.offset += 1;\n }\n }\n return result;\n }\n };\n TtfReader.prototype.readFixed = function (offset) {\n var integer = this.readInt16(offset);\n var sFraction = this.readInt16(offset + 2);\n var fraction = sFraction / 16384;\n return integer + fraction;\n };\n TtfReader.prototype.readInt32 = function (offset) {\n var i1 = this.fontData[offset + 3];\n var i2 = this.fontData[offset + 2];\n var i3 = this.fontData[offset + 1];\n var i4 = this.fontData[offset];\n this.offset += 4;\n return i1 + (i2 << 8) + (i3 << 16) + (i4 << 24);\n };\n TtfReader.prototype.readUInt32 = function (offset) {\n var i1 = this.fontData[offset + 3];\n var i2 = this.fontData[offset + 2];\n var i3 = this.fontData[offset + 1];\n var i4 = this.fontData[offset];\n this.offset += 4;\n return (i1 | i2 << 8 | i3 << 16 | i4 << 24);\n };\n // private readInt16(offset : number) : number {\n // let result : number = (this.fontData[offset] << 8) + this.fontData[offset + 1];\n // this.offset += 2;\n // return result;\n // }\n TtfReader.prototype.readInt16 = function (offset) {\n var result = (this.fontData[offset] << 8) + this.fontData[offset + 1];\n result = result & (1 << 15) ? result - 0x10000 : result;\n this.offset += 2;\n return result;\n };\n TtfReader.prototype.readInt64 = function (offset) {\n var low = this.readInt32(offset + 4);\n var n = this.readInt32(offset) * 4294967296.0 + low;\n if (low < 0) {\n n += 4294967296;\n }\n return n;\n };\n TtfReader.prototype.readUInt16 = function (offset) {\n var result = (this.fontData[offset] << 8) | this.fontData[offset + 1];\n this.offset += 2;\n return result;\n };\n /**\n * Reads ushort array.\n */\n TtfReader.prototype.readUshortArray = function (length) {\n var buffer = [];\n for (var i = 0; i < length; i++) {\n buffer[i] = this.readUInt16(this.offset);\n }\n return buffer;\n };\n TtfReader.prototype.readBytes = function (length) {\n var result = [];\n for (var i = 0; i < length; i++) {\n result.push(this.fontData[this.offset]);\n this.offset += 1;\n }\n return result;\n };\n TtfReader.prototype.readByte = function (offset) {\n var result = this.fontData[offset];\n this.offset += 1;\n return result;\n };\n /**\n * Reads bytes to array in BigEndian order.\n * @private\n */\n TtfReader.prototype.read = function (buffer, index, count) {\n if (buffer === null) {\n throw new Error('Argument Null Exception : buffer');\n }\n var written = 0;\n var read = 0;\n do {\n for (var i = 0; (i < count - written) && (this.offset + i < this.fontData.length); i++) {\n buffer[index + i] = this.fontData[this.offset + i];\n }\n read = count - written;\n this.offset += read;\n written += read;\n } while (written < count);\n return { buffer: buffer, written: written };\n };\n return TtfReader;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-reader.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-table-info.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-table-info.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfTableInfo: () => (/* binding */ TtfTableInfo)\n/* harmony export */ });\n/**\n * TtfTableInfo.ts class for EJ2-PDF\n */\nvar TtfTableInfo = /** @class */ (function () {\n function TtfTableInfo() {\n }\n Object.defineProperty(TtfTableInfo.prototype, \"empty\", {\n //Properties\n /**\n * Gets a value indicating whether this table is empty.\n * @private\n */\n get: function () {\n var empty = (this.offset === this.length && this.length === this.checksum && this.checksum === 0);\n return empty;\n },\n enumerable: true,\n configurable: true\n });\n return TtfTableInfo;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-table-info.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.js": +/*!*****************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TtfTrimmedCmapSubTable: () => (/* binding */ TtfTrimmedCmapSubTable)\n/* harmony export */ });\n/**\n * TtfTrimmedCmapSubTable.ts class for EJ2-PDF\n */\nvar TtfTrimmedCmapSubTable = /** @class */ (function () {\n function TtfTrimmedCmapSubTable() {\n }\n return TtfTrimmedCmapSubTable;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/unicode-true-type-font.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/unicode-true-type-font.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UnicodeTrueTypeFont: () => (/* binding */ UnicodeTrueTypeFont)\n/* harmony export */ });\n/* harmony import */ var _graphics_images_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../graphics/images/index */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.js\");\n/* harmony import */ var _ttf_reader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ttf-reader */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-reader.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./../../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pdf-font-metrics */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font-metrics.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./../../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../input-output/pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/**\n * TrueTypeFont.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar UnicodeTrueTypeFont = /** @class */ (function () {\n /* tslint:enable */\n //Constructors\n /**\n * Initializes a new instance of the `PdfTrueTypeFont` class.\n * @private\n */\n function UnicodeTrueTypeFont(base64String, size) {\n // Fields\n this.nameString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n /**\n * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n /**\n * Indicates whether the font program is compressed or not.\n * @private\n */\n this.isCompress = false;\n /**\n * Indicates whether the font is embedded or not.\n */\n this.isEmbedFont = false;\n /**\n * Cmap table's start prefix.\n */\n /* tslint:disable */\n this.cmapPrefix = '/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap' + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine + '/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0>> def\\n/CMapName ' + '/Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange' + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n /* tslint:enable */\n /**\n * Cmap table's start suffix.\n */\n this.cmapEndCodespaceRange = 'endcodespacerange' + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n /**\n * Cmap's begin range marker.\n */\n this.cmapBeginRange = 'beginbfrange' + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n /**\n * Cmap's end range marker.\n */\n this.cmapEndRange = 'endbfrange' + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n /**\n * Cmap table's end\n */\n /* tslint:disable */\n this.cmapSuffix = 'endbfrange\\nendcmap\\nCMapName currentdict ' + '/CMap defineresource pop\\nend end' + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n if (base64String === null || base64String === undefined) {\n throw new Error('ArgumentNullException:base64String');\n }\n this.fontSize = size;\n this.fontString = base64String;\n this.Initialize();\n }\n //Implementation\n /**\n * Returns width of the char symbol.\n */\n UnicodeTrueTypeFont.prototype.getCharWidth = function (charCode) {\n var codeWidth = this.ttfReader.getCharWidth(charCode);\n return codeWidth;\n };\n /**\n * Returns width of the text line.\n */\n UnicodeTrueTypeFont.prototype.getLineWidth = function (line) {\n // if (line == null) {\n // throw new Error('ArgumentNullException : line');\n // }\n var width = 0;\n for (var i = 0, len = line.length; i < len; i++) {\n var ch = line[i];\n var charWidth = this.getCharWidth(ch);\n width += charWidth;\n }\n return width;\n };\n /**\n * Initializes a new instance of the `PdfTrueTypeFont` class.\n * @private\n */\n UnicodeTrueTypeFont.prototype.Initialize = function () {\n var byteArray = new _graphics_images_index__WEBPACK_IMPORTED_MODULE_2__.ByteArray(this.fontString.length);\n byteArray.writeFromBase64String(this.fontString);\n this.fontData = byteArray.internalBuffer;\n this.ttfReader = new _ttf_reader__WEBPACK_IMPORTED_MODULE_3__.TtfReader(this.fontData);\n this.ttfMetrics = this.ttfReader.metrics;\n };\n UnicodeTrueTypeFont.prototype.createInternals = function () {\n this.fontDictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.PdfDictionary();\n this.fontProgram = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__.PdfStream();\n this.cmap = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__.PdfStream();\n this.descendantFont = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.PdfDictionary();\n this.metrics = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_6__.PdfFontMetrics();\n this.ttfReader.createInternals();\n this.ttfMetrics = this.ttfReader.metrics;\n this.initializeMetrics();\n // Create all the dictionaries of the font.\n this.subsetName = this.getFontName();\n this.createDescendantFont();\n this.createCmap();\n this.createFontDictionary();\n this.createFontProgram();\n };\n UnicodeTrueTypeFont.prototype.getInternals = function () {\n return this.fontDictionary;\n };\n /**\n * Initializes metrics.\n */\n UnicodeTrueTypeFont.prototype.initializeMetrics = function () {\n var ttfMetrics = this.ttfReader.metrics;\n this.metrics.ascent = ttfMetrics.macAscent;\n this.metrics.descent = ttfMetrics.macDescent;\n this.metrics.height = ttfMetrics.macAscent - ttfMetrics.macDescent + ttfMetrics.lineGap;\n this.metrics.name = ttfMetrics.fontFamily;\n this.metrics.postScriptName = ttfMetrics.postScriptName;\n this.metrics.size = this.fontSize;\n this.metrics.widthTable = new _pdf_font_metrics__WEBPACK_IMPORTED_MODULE_6__.StandardWidthTable(ttfMetrics.widthTable);\n this.metrics.lineGap = ttfMetrics.lineGap;\n this.metrics.subScriptSizeFactor = ttfMetrics.subScriptSizeFactor;\n this.metrics.superscriptSizeFactor = ttfMetrics.superscriptSizeFactor;\n this.metrics.isBold = ttfMetrics.isBold;\n };\n /**\n * Gets random string.\n */\n UnicodeTrueTypeFont.prototype.getFontName = function () {\n var builder = '';\n var name;\n // if (this.isEmbed === false) {\n for (var i = 0; i < 6; i++) {\n var index = Math.floor(Math.random() * (25 - 0 + 1)) + 0;\n builder += this.nameString[index];\n }\n builder += '+';\n // }\n builder += this.ttfReader.metrics.postScriptName;\n name = builder.toString();\n // if (name === '') {\n // name = this.ttfReader.metrics.fontFamily;\n // }\n name = this.formatName(name);\n return name;\n };\n /**\n * Generates name of the font.\n */\n UnicodeTrueTypeFont.prototype.formatName = function (fontName) {\n // if (fontName === null) {\n // throw new Error('ArgumentNullException : fontName');\n // }\n // if (fontName === '') {\n // throw new Error('ArgumentOutOfRangeException : fontName, Parameter can not be empty');\n // }\n var ret = fontName.replace('(', '#28');\n ret = ret.replace(')', '#29');\n ret = ret.replace('[', '#5B');\n ret = ret.replace(']', '#5D');\n ret = ret.replace('<', '#3C');\n ret = ret.replace('>', '#3E');\n ret = ret.replace('{', '#7B');\n ret = ret.replace('}', '#7D');\n ret = ret.replace('/', '#2F');\n ret = ret.replace('%', '#25');\n return ret.replace(' ', '#20');\n };\n /**\n * Creates descendant font.\n */\n UnicodeTrueTypeFont.prototype.createDescendantFont = function () {\n // Set property used to clone Font every time\n this.descendantFont.isResource = true;\n this.descendantFont.descendantFontBeginSave = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.SaveDescendantFontEventHandler(this);\n this.descendantFont.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.font));\n this.descendantFont.items.setValue(this.dictionaryProperties.subtype, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.cIDFontType2));\n this.descendantFont.items.setValue(this.dictionaryProperties.baseFont, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.subsetName));\n this.descendantFont.items.setValue(this.dictionaryProperties.cIDToGIDMap, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.identity));\n this.descendantFont.items.setValue(this.dictionaryProperties.dw, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(1000));\n this.fontDescriptor = this.createFontDescriptor();\n this.descendantFont.items.setValue(this.dictionaryProperties.fontDescriptor, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_9__.PdfReferenceHolder(this.fontDescriptor));\n var systemInfo = this.createSystemInfo();\n this.descendantFont.items.setValue(this.dictionaryProperties.cIDSystemInfo, systemInfo);\n };\n /**\n * Creates font descriptor.\n */\n UnicodeTrueTypeFont.prototype.createFontDescriptor = function () {\n var descriptor = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.PdfDictionary();\n var metrics = this.ttfReader.metrics;\n // Set property used to clone Font every time\n descriptor.isResource = true;\n descriptor.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.fontDescriptor));\n descriptor.items.setValue(this.dictionaryProperties.fontName, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.subsetName));\n descriptor.items.setValue(this.dictionaryProperties.flags, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(this.getDescriptorFlags()));\n descriptor.items.setValue(this.dictionaryProperties.fontBBox, _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_10__.PdfArray.fromRectangle(this.getBoundBox()));\n descriptor.items.setValue(this.dictionaryProperties.missingWidth, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.widthTable[32]));\n descriptor.items.setValue(this.dictionaryProperties.stemV, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.stemV));\n descriptor.items.setValue(this.dictionaryProperties.italicAngle, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.italicAngle));\n descriptor.items.setValue(this.dictionaryProperties.capHeight, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.capHeight));\n descriptor.items.setValue(this.dictionaryProperties.ascent, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.winAscent));\n descriptor.items.setValue(this.dictionaryProperties.descent, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.winDescent));\n descriptor.items.setValue(this.dictionaryProperties.leading, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.leading));\n descriptor.items.setValue(this.dictionaryProperties.avgWidth, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.widthTable[32]));\n descriptor.items.setValue(this.dictionaryProperties.fontFile2, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_9__.PdfReferenceHolder(this.fontProgram));\n descriptor.items.setValue(this.dictionaryProperties.maxWidth, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(metrics.widthTable[32]));\n descriptor.items.setValue(this.dictionaryProperties.xHeight, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(0));\n descriptor.items.setValue(this.dictionaryProperties.stemH, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(0));\n return descriptor;\n };\n /**\n * Generates cmap.\n * @private\n */\n UnicodeTrueTypeFont.prototype.createCmap = function () {\n this.cmap.cmapBeginSave = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__.SaveCmapEventHandler(this);\n };\n /**\n * Generates font dictionary.\n */\n UnicodeTrueTypeFont.prototype.createFontDictionary = function () {\n // Set property used to clone Font every time\n this.fontDictionary.isResource = true;\n this.fontDictionary.fontDictionaryBeginSave = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.SaveFontDictionaryEventHandler(this);\n this.fontDictionary.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.font));\n this.fontDictionary.items.setValue(this.dictionaryProperties.baseFont, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.subsetName));\n this.fontDictionary.items.setValue(this.dictionaryProperties.subtype, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.type0));\n this.fontDictionary.items.setValue(this.dictionaryProperties.encoding, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_7__.PdfName(this.dictionaryProperties.identityH));\n var descFonts = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_10__.PdfArray();\n var reference = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_9__.PdfReferenceHolder(this.descendantFont);\n // Set property used to clone Font every time\n descFonts.isFont = true;\n descFonts.add(reference);\n this.fontDictionary.items.setValue(this.dictionaryProperties.descendantFonts, descFonts);\n };\n /**\n * Creates font program.\n */\n UnicodeTrueTypeFont.prototype.createFontProgram = function () {\n this.fontProgram.fontProgramBeginSave = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__.SaveFontProgramEventHandler(this);\n };\n /**\n * Creates system info dictionary for CID font.\n * @private\n */\n UnicodeTrueTypeFont.prototype.createSystemInfo = function () {\n var systemInfo = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_4__.PdfDictionary();\n systemInfo.items.setValue(this.dictionaryProperties.registry, new _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_11__.PdfString('Adobe'));\n systemInfo.items.setValue(this.dictionaryProperties.ordering, new _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_11__.PdfString(this.dictionaryProperties.identity));\n systemInfo.items.setValue(this.dictionaryProperties.supplement, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(0));\n return systemInfo;\n };\n /**\n * Runs before font Dictionary will be saved.\n */\n UnicodeTrueTypeFont.prototype.descendantFontBeginSave = function () {\n if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0) {\n var width = this.getDescendantWidth();\n if (width !== null) {\n this.descendantFont.items.setValue(this.dictionaryProperties.w, width);\n }\n }\n };\n /**\n * Runs before font Dictionary will be saved.\n */\n UnicodeTrueTypeFont.prototype.cmapBeginSave = function () {\n this.generateCmap();\n };\n /**\n * Runs before font Dictionary will be saved.\n */\n /* tslint:disable */\n UnicodeTrueTypeFont.prototype.fontDictionaryBeginSave = function () {\n if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0 && !this.fontDictionary.containsKey(this.dictionaryProperties.toUnicode)) {\n this.fontDictionary.items.setValue(this.dictionaryProperties.toUnicode, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_9__.PdfReferenceHolder(this.cmap));\n }\n };\n /* tslint:enable */\n /**\n * Runs before font program stream save.\n */\n UnicodeTrueTypeFont.prototype.fontProgramBeginSave = function () {\n this.isCompress = true;\n this.generateFontProgram();\n };\n /**\n * Gets width description pad array for c i d font.\n */\n UnicodeTrueTypeFont.prototype.getDescendantWidth = function () {\n var array = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_10__.PdfArray();\n if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0) {\n var glyphInfo = [];\n // if (!this.isEmbedFont) {\n var keys = this.usedChars.keys();\n for (var i = 0; i < keys.length; i++) {\n var chLen = keys[i];\n var glyph = this.ttfReader.getGlyph(chLen);\n if (glyph.empty) {\n continue;\n }\n glyphInfo.push(glyph);\n }\n // } else {\n // glyphInfo = this.ttfReader.getAllGlyphs();\n // }\n glyphInfo.sort(function (a, b) { return a.index - b.index; });\n var firstGlyphIndex = 0;\n var lastGlyphIndex = 0;\n var firstGlyphIndexWasSet = false;\n var widthDetails = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_10__.PdfArray();\n // if (!this.isEmbedFont) {\n for (var i = 0; i < glyphInfo.length; i++) {\n var glyph = glyphInfo[i];\n if (!firstGlyphIndexWasSet) {\n firstGlyphIndexWasSet = true;\n firstGlyphIndex = glyph.index;\n lastGlyphIndex = glyph.index - 1;\n }\n if ((lastGlyphIndex + 1 !== glyph.index || (i + 1 === glyphInfo.length)) && glyphInfo.length > 1) {\n // Add glyph index / width.\n array.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(firstGlyphIndex));\n if (i !== 0) {\n array.add(widthDetails);\n }\n firstGlyphIndex = glyph.index;\n widthDetails = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_10__.PdfArray();\n }\n widthDetails.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(glyph.width));\n if (i + 1 === glyphInfo.length) {\n array.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_8__.PdfNumber(firstGlyphIndex));\n array.add(widthDetails);\n }\n lastGlyphIndex = glyph.index;\n }\n // } else {\n // for (let i : number = 0; i < glyphInfo.length; i++) {\n // let glyph : TtfGlyphInfo = glyphInfo[i];\n // if (!firstGlyphIndexWasSet) {\n // firstGlyphIndexWasSet = true;\n // lastGlyphIndex = glyph.index - 1;\n // }\n // firstGlyphIndex = glyph.index;\n // if ((lastGlyphIndex + 1 === glyph.index || (i + 1 === glyphInfo.length)) && glyphInfo.length > 1) {\n // // Add glyph index / width.\n // widthDetails.add(new PdfNumber(glyph.width));\n // array.add(new PdfNumber(firstGlyphIndex));\n // array.add(widthDetails);\n // widthDetails = new PdfArray();\n // }\n // lastGlyphIndex = glyph.index;\n // }\n // }\n }\n return array;\n };\n /**\n * Creates cmap.\n */\n UnicodeTrueTypeFont.prototype.generateCmap = function () {\n if (this.usedChars !== null && this.usedChars !== undefined && this.usedChars.size() > 0) {\n var glyphChars = this.ttfReader.getGlyphChars(this.usedChars);\n if (glyphChars.size() > 0) {\n var keys = glyphChars.keys().sort();\n // add first and last glyph indexes\n var first = keys[0];\n var last = keys[keys.length - 1];\n var middlePart = this.toHexString(first, false) + this.toHexString(last, false) + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n var builder = '';\n builder += this.cmapPrefix;\n builder += middlePart;\n builder += this.cmapEndCodespaceRange;\n var nextRange = 0;\n for (var i = 0; i < keys.length; i++) {\n if (nextRange === 0) {\n if (i !== 0) {\n builder += this.cmapEndRange;\n }\n nextRange = Math.min(100, keys.length - i);\n builder += nextRange;\n builder += _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace;\n builder += this.cmapBeginRange;\n }\n nextRange -= 1;\n var key = keys[i];\n /* tslint:disable */\n builder += this.toHexString(key, true) + this.toHexString(key, true) + this.toHexString(glyphChars.getValue(key), true) + '\\n';\n /* tslint:enable */\n }\n builder += this.cmapSuffix;\n this.cmap.clearStream();\n this.cmap.isResource = true;\n this.cmap.write(builder);\n }\n }\n };\n /**\n * Generates font program.\n */\n UnicodeTrueTypeFont.prototype.generateFontProgram = function () {\n var fontProgram = null;\n this.usedChars = (this.usedChars === null || this.usedChars === undefined) ? new _collections_dictionary__WEBPACK_IMPORTED_MODULE_12__.Dictionary() : this.usedChars;\n this.ttfReader.setOffset(0);\n fontProgram = this.ttfReader.readFontProgram(this.usedChars);\n this.fontProgram.clearStream();\n this.fontProgram.isResource = true;\n this.fontProgram.writeBytes(fontProgram);\n };\n /**\n * Calculates flags for the font descriptor.\n * @private\n */\n UnicodeTrueTypeFont.prototype.getDescriptorFlags = function () {\n var flags = 0;\n var metrics = this.ttfReader.metrics;\n if (metrics.isFixedPitch) {\n flags |= _enum__WEBPACK_IMPORTED_MODULE_13__.FontDescriptorFlags.FixedPitch;\n }\n if (metrics.isSymbol) {\n flags |= _enum__WEBPACK_IMPORTED_MODULE_13__.FontDescriptorFlags.Symbolic;\n }\n else {\n flags |= _enum__WEBPACK_IMPORTED_MODULE_13__.FontDescriptorFlags.Nonsymbolic;\n }\n if (metrics.isItalic) {\n flags |= _enum__WEBPACK_IMPORTED_MODULE_13__.FontDescriptorFlags.Italic;\n }\n if (metrics.isBold) {\n flags |= _enum__WEBPACK_IMPORTED_MODULE_13__.FontDescriptorFlags.ForceBold;\n }\n return flags;\n };\n /**\n * Calculates BoundBox of the descriptor.\n * @private\n */\n UnicodeTrueTypeFont.prototype.getBoundBox = function () {\n var rect = this.ttfReader.metrics.fontBox;\n var width = Math.abs(rect.right - rect.left);\n var height = Math.abs(rect.top - rect.bottom);\n var rectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_14__.RectangleF(rect.left, rect.bottom, width, height);\n return rectangle;\n };\n /**\n * Converts integer of decimal system to hex integer.\n */\n UnicodeTrueTypeFont.prototype.toHexString = function (n, isCaseChange) {\n var s = n.toString(16);\n if (isCaseChange) {\n s = s.toUpperCase();\n }\n return '<0000'.substring(0, 5 - s.length) + s + '>';\n };\n /**\n * Stores used symbols.\n */\n UnicodeTrueTypeFont.prototype.setSymbols = function (text) {\n if (text === null) {\n throw new Error('Argument Null Exception : text');\n }\n if (this.usedChars === null || this.usedChars === undefined) {\n this.usedChars = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_12__.Dictionary();\n }\n for (var i = 0; i < text.length; i++) {\n var ch = text[i];\n this.usedChars.setValue(ch, String.fromCharCode(0));\n }\n // else {\n // if (text === null) {\n // throw new Error('Argument Null Exception : glyphs');\n // }\n // if (this.usedChars === null || this.usedChars === undefined) {\n // this.usedChars = new Dictionary();\n // }\n // for (let i : number = 0; i < text.length; i++) {\n // let glyphIndex : number = text[i];\n // let glyph : TtfGlyphInfo = this.ttfReader.getGlyph(glyphIndex);\n // if (!glyph == null) {\n // let c : string = glyph.charCode.toLocaleString();\n // this.usedChars.setValue(c, String.fromCharCode(0));\n // }\n // }\n // }\n if (this.isEmbedFont === false) {\n this.getDescendantWidth();\n }\n };\n return UnicodeTrueTypeFont;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/unicode-true-type-font.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ByteArray: () => (/* binding */ ByteArray)\n/* harmony export */ });\n/**\n * ByteArray class\n * Used to keep information about image stream as byte array.\n * @private\n */\nvar ByteArray = /** @class */ (function () {\n /**\n * Initialize the new instance for `byte-array` class\n * @hidden\n * @private\n */\n function ByteArray(length) {\n /**\n * Current stream `position`.\n * @default 0\n * @private\n */\n this.mPosition = 0;\n this.buffer = new Uint8Array(length);\n this.dataView = new DataView(this.buffer.buffer);\n }\n Object.defineProperty(ByteArray.prototype, \"position\", {\n /**\n * Gets and Sets a current `position` of byte array.\n * @hidden\n * @private\n */\n get: function () {\n return this.mPosition;\n },\n set: function (value) {\n this.mPosition = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Read` from current stream position.\n * @default 0\n * @hidden\n * @private\n */\n ByteArray.prototype.read = function (buffer, offset, count) {\n for (var index = offset; index < count; index++) {\n var position = this.position;\n buffer.buffer[index] = this.readByte(position);\n this.position++;\n }\n };\n /**\n * @hidden\n */\n ByteArray.prototype.getBuffer = function (index) {\n return this.buffer[index];\n };\n /**\n * @hidden\n */\n ByteArray.prototype.writeFromBase64String = function (base64) {\n var arr = this.encodedString(base64);\n this.buffer = arr;\n };\n /**\n * @hidden\n */\n ByteArray.prototype.encodedString = function (input) {\n var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var chr1;\n var chr2;\n var chr3;\n var enc1;\n var enc2;\n var enc3;\n var enc4;\n var i = 0;\n var resultIndex = 0;\n var dataUrlPrefix = 'data:';\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, '');\n var totalLength = input.length * 3 / 4;\n if (input.charAt(input.length - 1) === keyStr.charAt(64)) {\n totalLength--;\n }\n var output = new Uint8Array(totalLength | 0);\n while (i < input.length) {\n enc1 = keyStr.indexOf(input.charAt(i++));\n enc2 = keyStr.indexOf(input.charAt(i++));\n enc3 = keyStr.indexOf(input.charAt(i++));\n enc4 = keyStr.indexOf(input.charAt(i++));\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n output[resultIndex++] = chr1;\n output[resultIndex++] = chr2;\n output[resultIndex++] = chr3;\n }\n return output;\n };\n /**\n * @hidden\n */\n ByteArray.prototype.readByte = function (offset) {\n return (this.buffer[offset]);\n };\n Object.defineProperty(ByteArray.prototype, \"internalBuffer\", {\n /**\n * @hidden\n */\n get: function () {\n return this.buffer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ByteArray.prototype, \"count\", {\n /**\n * @hidden\n */\n get: function () {\n return this.buffer.byteLength;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * 'readNextTwoBytes' stream\n * @hidden\n * @private\n */\n ByteArray.prototype.readNextTwoBytes = function (stream) {\n var data = stream.readByte(this.position);\n this.position++;\n data <<= 8;\n data |= stream.readByte(this.position);\n this.position++;\n return data;\n };\n return ByteArray;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/image-decoder.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/image-decoder.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageDecoder: () => (/* binding */ ImageDecoder),\n/* harmony export */ ImageFormat: () => (/* binding */ ImageFormat)\n/* harmony export */ });\n/* harmony import */ var _byte_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./byte-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.js\");\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../primitives/pdf-boolean */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/**\n * ImageDecoder class\n */\n\n\n\n\n\n\n\n/**\n * Specifies the image `format`.\n * @private\n */\nvar ImageFormat;\n(function (ImageFormat) {\n /**\n * Specifies the type of `Unknown`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Unknown\"] = 0] = \"Unknown\";\n /**\n * Specifies the type of `Bmp`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Bmp\"] = 1] = \"Bmp\";\n /**\n * Specifies the type of `Emf`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Emf\"] = 2] = \"Emf\";\n /**\n * Specifies the type of `Gif`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Gif\"] = 3] = \"Gif\";\n /**\n * Specifies the type of `Jpeg`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Jpeg\"] = 4] = \"Jpeg\";\n /**\n * Specifies the type of `Png`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Png\"] = 5] = \"Png\";\n /**\n * Specifies the type of `Wmf`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Wmf\"] = 6] = \"Wmf\";\n /**\n * Specifies the type of `Icon`.\n * @hidden\n * @private\n */\n ImageFormat[ImageFormat[\"Icon\"] = 7] = \"Icon\";\n})(ImageFormat || (ImageFormat = {}));\n/**\n * `Decode the image stream`.\n * @private\n */\nvar ImageDecoder = /** @class */ (function () {\n /**\n * Initialize the new instance for `image-decoder` class.\n * @private\n */\n function ImageDecoder(stream) {\n /**\n * Start of file markers.\n * @hidden\n * @private\n */\n this.sof1Marker = 0x00C1;\n this.sof2Marker = 0x00C2;\n this.sof3Marker = 0x00C3;\n this.sof5Marker = 0x00C5;\n this.sof6Marker = 0x00C6;\n this.sof7Marker = 0x00C7;\n this.sof9Marker = 0x00C9;\n this.sof10Marker = 0x00CA;\n this.sof11Marker = 0x00CB;\n this.sof13Marker = 0x00CD;\n this.sof14Marker = 0x00CE;\n this.sof15Marker = 0x00CF;\n /**\n * Specifies `format` of image.\n * @hidden\n * @private\n */\n this.mFormat = ImageFormat.Unknown;\n /**\n * `Bits per component`.\n * @default 8\n * @hidden\n * @private\n */\n this.mbitsPerComponent = 8;\n /**\n * Internal variable for accessing fields from `DictionryProperties` class.\n * @hidden\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n this.mStream = stream;\n this.initialize();\n }\n Object.defineProperty(ImageDecoder.prototype, \"height\", {\n /**\n * Gets the `height` of image.\n * @hidden\n * @private\n */\n get: function () {\n return this.mHeight;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ImageDecoder.prototype, \"width\", {\n /**\n * Gets the `width` of image.\n * @hidden\n * @private\n */\n get: function () {\n return this.mWidth;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ImageDecoder.prototype, \"bitsPerComponent\", {\n /**\n * Gets `bits per component`.\n * @hidden\n * @private\n */\n get: function () {\n return this.mbitsPerComponent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ImageDecoder.prototype, \"size\", {\n /**\n * Gets the `size` of an image data.\n * @hidden\n * @private\n */\n get: function () {\n return this.mImageData.count;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ImageDecoder.prototype, \"imageData\", {\n /**\n * Gets the value of an `image data`.\n * @hidden\n * @private\n */\n get: function () {\n return this.mImageData;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ImageDecoder.prototype, \"imageDataAsNumberArray\", {\n /**\n * Gets the value of an `image data as number array`.\n * @hidden\n * @private\n */\n get: function () {\n return this.mImageData.internalBuffer.buffer;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Initialize` image data and image stream.\n * @hidden\n * @private\n */\n ImageDecoder.prototype.initialize = function () {\n if (this.mFormat === ImageFormat.Unknown && this.checkIfJpeg()) {\n this.mFormat = ImageFormat.Jpeg;\n this.parseJpegImage();\n }\n else {\n throw new TypeError('Only the JPEG format is supported');\n }\n this.reset();\n this.mImageData = new _byte_array__WEBPACK_IMPORTED_MODULE_1__.ByteArray(this.mStream.count);\n this.mStream.read(this.mImageData, 0, this.mImageData.count);\n };\n /**\n * `Reset` stream position into 0.\n * @hidden\n * @private\n */\n ImageDecoder.prototype.reset = function () {\n this.mStream.position = 0;\n };\n /**\n * `Parse` Jpeg image.\n * @hidden\n * @private\n */\n ImageDecoder.prototype.parseJpegImage = function () {\n this.reset();\n var imgData = new _byte_array__WEBPACK_IMPORTED_MODULE_1__.ByteArray(this.mStream.count);\n this.mStream.read(imgData, 0, imgData.count);\n var i = 4;\n var isLengthExceed = false;\n /* tslint:disable */\n var length = imgData.getBuffer(i) * 256 + imgData.getBuffer(i + 1);\n while (i < imgData.count) {\n i += length;\n if (i < imgData.count) {\n if (imgData.getBuffer(i + 1) === 192) {\n this.mHeight = imgData.getBuffer(i + 5) * 256 + imgData.getBuffer(i + 6);\n this.mWidth = imgData.getBuffer(i + 7) * 256 + imgData.getBuffer(i + 8);\n return;\n }\n else {\n i += 2;\n length = imgData.getBuffer(i) * 256 + imgData.getBuffer(i + 1);\n }\n }\n else {\n isLengthExceed = true;\n break;\n }\n }\n if (isLengthExceed) {\n this.mStream.position = 0;\n this.skip(this.mStream, 2);\n this.readExceededJPGImage(this.mStream);\n }\n /* tslint:enable */\n };\n Object.defineProperty(ImageDecoder.prototype, \"format\", {\n /**\n * Gets the image `format`.\n * @private\n * @hidden\n */\n get: function () {\n return this.mFormat;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Checks if JPG`.\n * @private\n * @hidden\n */\n ImageDecoder.prototype.checkIfJpeg = function () {\n this.reset();\n for (var i = 0; i < ImageDecoder.mJpegHeader.length; i++) {\n if (ImageDecoder.mJpegHeader[i] !== this.mStream.readByte(i)) {\n return false;\n }\n this.mStream.position++;\n }\n return true;\n };\n /**\n * Return image `dictionary`.\n * @hidden\n * @private\n */\n ImageDecoder.prototype.getImageDictionary = function () {\n if (this.mFormat === ImageFormat.Jpeg) {\n var tempArrayBuffer = this.imageData.internalBuffer.length;\n this.imageStream = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream();\n this.imageStream.isResource = true;\n var tempString = '';\n var decodedString = '';\n for (var i = 0; i < this.imageDataAsNumberArray.byteLength; i++) {\n tempString += String.fromCharCode(null, this.mStream.readByte(i));\n }\n for (var i = 0; i < tempString.length; i++) {\n if (i % 2 !== 0) {\n decodedString += tempString[i];\n }\n }\n this.imageStream.data = [decodedString];\n this.imageStream.compress = false;\n this.imageStream.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this.dictionaryProperties.xObject));\n this.imageStream.items.setValue(this.dictionaryProperties.subtype, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this.dictionaryProperties.image));\n this.imageStream.items.setValue(this.dictionaryProperties.width, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(this.width));\n this.imageStream.items.setValue(this.dictionaryProperties.height, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(this.height));\n this.imageStream.items.setValue(this.dictionaryProperties.bitsPerComponent, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(this.bitsPerComponent));\n this.imageStream.items.setValue(this.dictionaryProperties.filter, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this.dictionaryProperties.dctdecode));\n this.imageStream.items.setValue(this.dictionaryProperties.colorSpace, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(this.getColorSpace()));\n this.imageStream.items.setValue(this.dictionaryProperties.decodeParms, this.getDecodeParams());\n return this.imageStream;\n }\n else {\n return this.imageStream;\n }\n };\n /**\n * Return `colorSpace` of an image.\n * @hidden\n * @private\n */\n ImageDecoder.prototype.getColorSpace = function () {\n return this.dictionaryProperties.deviceRgb;\n };\n /**\n * Return `decode parameters` of an image.\n * @hidden\n * @private\n */\n ImageDecoder.prototype.getDecodeParams = function () {\n var decodeParams = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_5__.PdfDictionary();\n decodeParams.items.setValue(this.dictionaryProperties.columns, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(this.width));\n decodeParams.items.setValue(this.dictionaryProperties.blackIs1, new _primitives_pdf_boolean__WEBPACK_IMPORTED_MODULE_6__.PdfBoolean(true));\n decodeParams.items.setValue(this.dictionaryProperties.k, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(-1));\n decodeParams.items.setValue(this.dictionaryProperties.predictor, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(15));\n decodeParams.items.setValue(this.dictionaryProperties.bitsPerComponent, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(this.bitsPerComponent));\n return decodeParams;\n };\n /**\n * 'readExceededJPGImage' stream\n * @hidden\n * @private\n */\n ImageDecoder.prototype.readExceededJPGImage = function (stream) {\n this.mStream = stream;\n var isContinueReading = true;\n while (isContinueReading) {\n var marker = this.getMarker(stream);\n switch (marker) {\n case this.sof1Marker:\n case this.sof2Marker:\n case this.sof3Marker:\n case this.sof5Marker:\n case this.sof6Marker:\n case this.sof7Marker:\n case this.sof9Marker:\n case this.sof10Marker:\n case this.sof11Marker:\n case this.sof13Marker:\n case this.sof14Marker:\n case this.sof15Marker:\n stream.position += 3;\n this.mHeight = this.mStream.readNextTwoBytes(stream);\n this.mWidth = this.mStream.readNextTwoBytes(stream);\n isContinueReading = false;\n break;\n default:\n this.skipStream(stream);\n break;\n }\n }\n };\n /**\n * 'skip' stream\n * @hidden\n * @private\n */\n ImageDecoder.prototype.skip = function (stream, noOfBytes) {\n this.mStream = stream;\n var temp = new _byte_array__WEBPACK_IMPORTED_MODULE_1__.ByteArray(noOfBytes);\n this.mStream.read(temp, 0, temp.count);\n };\n /**\n * 'getMarker' stream\n * @hidden\n * @private\n */\n ImageDecoder.prototype.getMarker = function (stream) {\n var skippedByte = 0;\n var marker = 32;\n marker = stream.readByte(this.mStream.position);\n stream.position++;\n while (marker !== 255) {\n skippedByte++;\n marker = stream.readByte(this.mStream.position);\n stream.position++;\n }\n do {\n marker = stream.readByte(this.mStream.position);\n stream.position++;\n } while (marker === 255);\n return marker;\n };\n /**\n * 'skipStream' stream\n * @hidden\n * @private\n */\n ImageDecoder.prototype.skipStream = function (stream) {\n var markerLength = this.mStream.readNextTwoBytes(stream) - 2;\n if (markerLength > 0) {\n stream.position += markerLength;\n }\n };\n /**\n * Number array for `png header`.\n * @hidden\n * @private\n */\n ImageDecoder.mPngHeader = [137, 80, 78, 71, 13, 10, 26, 10];\n /**\n * Number Array for `jpeg header`.\n * @hidden\n * @private\n */\n ImageDecoder.mJpegHeader = [255, 216];\n /**\n * Number array for `gif header`.\n * @hidden\n * @private\n */\n ImageDecoder.GIF_HEADER = 'G,I,F,8';\n /**\n * Number array for `bmp header.`\n * @hidden\n * @private\n */\n ImageDecoder.BMP_HEADER = 'B,M';\n return ImageDecoder;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/image-decoder.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfBitmap: () => (/* binding */ PdfBitmap)\n/* harmony export */ });\n/* harmony import */ var _graphics_images_image_decoder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../graphics/images/image-decoder */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/image-decoder.js\");\n/* harmony import */ var _graphics_images_byte_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../graphics/images/byte-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _pdf_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-image */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfBitmap.ts class for EJ2-PDF\n */\n\n\n\n\n/**\n * The 'PdfBitmap' contains methods and properties to handle the Bitmap images.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * // base64 string of an image\n * let imageString : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';\n * // load the image from the base64 string of original image.\n * let image : PdfBitmap = new PdfBitmap(imageString);\n * // draw the image\n * page1.graphics.drawImage(image, new RectangleF({x : 10, y : 10}, {width : 200, height : 200}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfBitmap = /** @class */ (function (_super) {\n __extends(PdfBitmap, _super);\n /**\n * Create an instance for `PdfBitmap` class.\n * @param encodedString Base64 string of an image.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * // base64 string of an image\n * let imageString : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';\n * //\n * // load the image from the base64 string of original image.\n * let image : PdfBitmap = new PdfBitmap(imageString);\n * //\n * // draw the image\n * page1.graphics.drawImage(image, new RectangleF({x : 10, y : 10}, {width : 200, height : 200}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n function PdfBitmap(encodedString) {\n var _this = _super.call(this) || this;\n //Fields\n /**\n * Specifies the `status` of an image.\n * @default true.\n * @hidden\n * @private\n */\n _this.imageStatus = true;\n /**\n * Internal variable for accessing fields from `DictionryProperties` class.\n * @hidden\n * @private\n */\n _this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n _this.loadImage(encodedString);\n return _this;\n }\n /**\n * `Load image`.\n * @hidden\n * @private\n */\n PdfBitmap.prototype.loadImage = function (encodedString) {\n var task = this.initializeAsync(encodedString);\n };\n /**\n * `Initialize` image parameters.\n * @private\n */\n PdfBitmap.prototype.initializeAsync = function (encodedString) {\n var byteArray = new _graphics_images_byte_array__WEBPACK_IMPORTED_MODULE_1__.ByteArray(encodedString.length);\n byteArray.writeFromBase64String(encodedString);\n this.decoder = new _graphics_images_image_decoder__WEBPACK_IMPORTED_MODULE_2__.ImageDecoder(byteArray);\n this.height = this.decoder.height;\n this.width = this.decoder.width;\n // FrameCount = BitmapImageDecoder.FrameCount;\n this.bitsPerComponent = this.decoder.bitsPerComponent;\n };\n /**\n * `Saves` the image into stream.\n * @private\n */\n PdfBitmap.prototype.save = function () {\n this.imageStatus = true;\n this.imageStream = this.decoder.getImageDictionary();\n };\n return PdfBitmap;\n}(_pdf_image__WEBPACK_IMPORTED_MODULE_3__.PdfImage));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfImage: () => (/* binding */ PdfImage)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _unit_convertor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../unit-convertor */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/unit-convertor.js\");\n\n\n\n/**\n * `PdfImage` class represents the base class for images and provides functionality for the 'PdfBitmap' class.\n * @private\n */\nvar PdfImage = /** @class */ (function () {\n function PdfImage() {\n }\n Object.defineProperty(PdfImage.prototype, \"width\", {\n /**\n * Gets and Sets the `width` of an image.\n * @private\n */\n get: function () {\n return this.imageWidth;\n },\n set: function (value) {\n this.imageWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfImage.prototype, \"height\", {\n /**\n * Gets and Sets the `height` of an image.\n * @private\n */\n get: function () {\n return this.imageHeight;\n },\n set: function (value) {\n this.imageHeight = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfImage.prototype, \"size\", {\n /**\n * Gets or sets the size of the image.\n * @private\n */\n set: function (value) {\n this.width = value.width;\n this.height = value.height;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfImage.prototype, \"physicalDimension\", {\n /**\n * Gets the `physical dimension` of an image.\n * @private\n */\n get: function () {\n this.imagePhysicalDimension = this.getPointSize(this.width, this.height, this.horizontalResolution, this.verticalResolution);\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(this.width, this.height);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfImage.prototype, \"element\", {\n // /**\n // * Gets the `image stream as string`.\n // * @private\n // */\n // public static fromString(string : string) : PdfImage {\n // let image : PdfImage = new PdfBitmap(string);\n // return image;\n // }\n /**\n * Gets the `element` image stream.\n * @private\n */\n get: function () {\n return this.imageStream;\n },\n enumerable: true,\n configurable: true\n });\n PdfImage.prototype.getPointSize = function (width, height, horizontalResolution, verticalResolution) {\n if (typeof horizontalResolution === 'undefined') {\n var dpiX = _unit_convertor__WEBPACK_IMPORTED_MODULE_1__.PdfUnitConverter.horizontalResolution;\n var dpiY = _unit_convertor__WEBPACK_IMPORTED_MODULE_1__.PdfUnitConverter.verticalResolution;\n var size = this.getPointSize(width, height, dpiX, dpiY);\n return size;\n }\n else {\n var ucX = new _unit_convertor__WEBPACK_IMPORTED_MODULE_1__.PdfUnitConverter(horizontalResolution);\n var ucY = new _unit_convertor__WEBPACK_IMPORTED_MODULE_1__.PdfUnitConverter(verticalResolution);\n var ptWidth = ucX.convertUnits(width, _enum__WEBPACK_IMPORTED_MODULE_2__.PdfGraphicsUnit.Pixel, _enum__WEBPACK_IMPORTED_MODULE_2__.PdfGraphicsUnit.Point);\n var ptHeight = ucY.convertUnits(height, _enum__WEBPACK_IMPORTED_MODULE_2__.PdfGraphicsUnit.Pixel, _enum__WEBPACK_IMPORTED_MODULE_2__.PdfGraphicsUnit.Point);\n var size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(ptWidth, ptHeight);\n return size;\n }\n };\n return PdfImage;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfColor: () => (/* binding */ PdfColor)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../input-output/pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n\n\n\n\n\n/**\n * Implements structures and routines working with `color`.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * // set the font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * //\n * // set color\n * let brushColor : PdfColor = new PdfColor(0, 0, 0);\n * //\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(brushColor);\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @default black color\n */\nvar PdfColor = /** @class */ (function () {\n function PdfColor(color1, color2, color3, color4) {\n if (typeof color1 === 'undefined') {\n if (typeof color2 !== 'undefined' && typeof color3 !== 'undefined' && typeof color4 !== 'undefined') {\n this.assignRGB(color2, color3, color4);\n }\n else {\n this.filled = false;\n }\n }\n else if (color1 instanceof PdfColor) {\n this.redColor = color1.r;\n this.greenColor = color1.g;\n this.blueColor = color1.b;\n this.grayColor = color1.gray;\n this.alpha = color1.alpha;\n this.filled = (this.alpha !== 0);\n /* tslint:disable-next-line:max-line-length */\n }\n else if (typeof color1 === 'number' && typeof color2 === 'undefined' && typeof color3 === 'undefined' && typeof color4 === 'undefined') {\n if (color1 < 0) {\n color1 = 0;\n }\n if (color1 > 1) {\n color1 = 1;\n }\n this.redColor = color1 * PdfColor.maxColourChannelValue;\n this.greenColor = color1 * PdfColor.maxColourChannelValue;\n this.blueColor = color1 * PdfColor.maxColourChannelValue;\n this.cyanColor = color1;\n this.magentaColor = color1;\n this.yellowColor = color1;\n this.blackColor = color1;\n this.grayColor = color1;\n this.alpha = PdfColor.maxColourChannelValue;\n this.filled = true;\n }\n else if (typeof color4 === 'undefined') {\n this.assignRGB(color1, color2, color3);\n }\n else {\n this.assignRGB(color2, color3, color4, color1);\n }\n }\n /**\n * `Assign` red, green, blue colors with alpha value..\n * @private\n */\n PdfColor.prototype.assignRGB = function (r, g, b, a) {\n if (typeof r === 'undefined' || typeof g === 'undefined' || typeof b === 'undefined') {\n this.filled = false;\n }\n else {\n this.cyanColor = 0;\n this.magentaColor = 0;\n this.yellowColor = 0;\n this.blackColor = 0;\n this.grayColor = 0;\n this.redColor = r;\n this.greenColor = g;\n this.blueColor = b;\n if (typeof a === 'undefined') {\n this.alpha = PdfColor.maxColourChannelValue;\n }\n else {\n this.alpha = a;\n }\n this.filled = true;\n this.assignCMYK(r, g, b);\n }\n };\n /**\n * `Calculate and assign` cyan, megenta, yellow colors from rgb values..\n * @private\n */\n PdfColor.prototype.assignCMYK = function (r, g, b) {\n var red = r / PdfColor.maxColourChannelValue;\n var green = g / PdfColor.maxColourChannelValue;\n var blue = b / PdfColor.maxColourChannelValue;\n var black = _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__.PdfNumber.min(1 - red, 1 - green, 1 - blue);\n var cyan = (black === 1.0) ? 0 : (1 - red - black) / (1 - black);\n var magenta = (black === 1.0) ? 0 : (1 - green - black) / (1 - black);\n var yellow = (black === 1.0) ? 0 : (1 - blue - black) / (1 - black);\n this.blackColor = black;\n this.cyanColor = cyan;\n this.magentaColor = magenta;\n this.yellowColor = yellow;\n };\n Object.defineProperty(PdfColor.prototype, \"r\", {\n //Properties\n // public static get Empty():PdfColor\n // {\n // return this.s_emptyColor\n // }\n /**\n * Gets or sets `Red` channel value.\n * @private\n */\n get: function () {\n return this.redColor;\n },\n set: function (value) {\n this.redColor = value;\n this.assignCMYK(this.redColor, this.greenColor, this.blueColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"red\", {\n /**\n * Gets the `Red` color\n * @private\n */\n get: function () {\n return (this.r / PdfColor.maxColourChannelValue);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"b\", {\n /**\n * Gets or sets `Blue` channel value.\n * @private\n */\n get: function () {\n return this.blueColor;\n },\n set: function (value) {\n this.blueColor = value;\n this.assignCMYK(this.redColor, this.greenColor, this.blueColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"blue\", {\n /**\n * Gets the `blue` color.\n * @private\n */\n get: function () {\n return (this.b / PdfColor.maxColourChannelValue);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"c\", {\n /**\n * Gets or sets `Cyan` channel value.\n * @private\n */\n get: function () {\n return this.cyanColor;\n },\n set: function (value) {\n if (value < 0) {\n this.cyanColor = 0;\n }\n else if (value > 1) {\n this.cyanColor = 1;\n }\n else {\n this.cyanColor = value;\n }\n this.assignRGB(this.cyanColor, this.magentaColor, this.yellowColor, this.blackColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"k\", {\n /**\n * Gets or sets `Black` channel value.\n * @private\n */\n get: function () {\n return this.blackColor;\n },\n set: function (value) {\n if ((value < 0)) {\n this.blackColor = 0;\n }\n else if ((value > 1)) {\n this.blackColor = 1;\n }\n else {\n this.blackColor = value;\n }\n this.assignRGB(this.cyanColor, this.magentaColor, this.yellowColor, this.blackColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"m\", {\n /**\n * Gets or sets `Magenta` channel value.\n * @private\n */\n get: function () {\n return this.magentaColor;\n },\n set: function (value) {\n if ((value < 0)) {\n this.magentaColor = 0;\n }\n else if ((value > 1)) {\n this.magentaColor = 1;\n }\n else {\n this.magentaColor = value;\n }\n this.assignRGB(this.cyanColor, this.magentaColor, this.yellowColor, this.blackColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"y\", {\n /**\n * Gets or sets `Yellow` channel value.\n * @private\n */\n get: function () {\n return this.yellowColor;\n },\n set: function (value) {\n if ((value < 0)) {\n this.yellowColor = 0;\n }\n else if ((value > 1)) {\n this.yellowColor = 1;\n }\n else {\n this.yellowColor = value;\n }\n this.assignRGB(this.cyanColor, this.magentaColor, this.yellowColor, this.blackColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"g\", {\n /**\n * Gets or sets `Green` channel value.\n * @private\n */\n get: function () {\n return this.greenColor;\n },\n set: function (value) {\n this.greenColor = value;\n this.assignCMYK(this.redColor, this.greenColor, this.blueColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"green\", {\n /**\n * Gets the `Green` color.\n * @private\n */\n get: function () {\n return (this.g / PdfColor.maxColourChannelValue);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"gray\", {\n /**\n * Gets or sets `Gray` channel value.\n * @private\n */\n get: function () {\n return ((((this.redColor + this.greenColor) + this.blueColor)) / (PdfColor.maxColourChannelValue * 3));\n },\n set: function (value) {\n if (value < 0) {\n this.grayColor = 0;\n }\n else if (value > 1) {\n this.grayColor = 1;\n }\n else {\n this.grayColor = value;\n }\n this.r = (this.grayColor * PdfColor.maxColourChannelValue);\n this.g = (this.grayColor * PdfColor.maxColourChannelValue);\n this.b = (this.grayColor * PdfColor.maxColourChannelValue);\n this.assignCMYK(this.redColor, this.greenColor, this.blueColor);\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"isEmpty\", {\n /**\n * Gets whether the PDFColor `is Empty` or not.\n * @private\n */\n get: function () {\n return !this.filled;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfColor.prototype, \"a\", {\n /**\n * Gets or sets `Alpha` channel value.\n * @private\n */\n get: function () {\n return this.alpha;\n },\n set: function (value) {\n if (value < 0) {\n this.alpha = 0;\n }\n else {\n // if (this.alpha !== value) {\n this.alpha = value;\n // }\n }\n this.filled = true;\n },\n enumerable: true,\n configurable: true\n });\n //Public methods\n /**\n * Converts `PDFColor to PDF string` representation.\n * @private\n */\n PdfColor.prototype.toString = function (colorSpace, stroke) {\n if (this.isEmpty) {\n return '';\n }\n var str = '';\n switch (colorSpace) {\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfColorSpace.Rgb:\n str = this.rgbToString(stroke);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfColorSpace.GrayScale:\n str = this.grayScaleToString(stroke);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfColorSpace.Cmyk:\n str = this.cmykToString(stroke);\n break;\n }\n return str;\n };\n /**\n * Sets `GrayScale` color.\n * @private\n */\n PdfColor.prototype.grayScaleToString = function (ifStroking) {\n var gray = this.gray;\n var colour = '';\n var obj = null;\n /* tslint:disable-next-line:max-line-length */\n obj = (ifStroking) ? PdfColor.grayStringsSroke.containsKey(gray) ? PdfColor.grayStringsSroke.getValue(gray) : null : PdfColor.grayStringsFill.containsKey(gray) ? PdfColor.grayStringsFill.getValue(gray) : null;\n if (obj == null) {\n if (ifStroking) {\n colour = gray.toString() + ' G';\n PdfColor.grayStringsSroke.setValue(gray, colour);\n }\n }\n else {\n colour = obj.toString();\n }\n return colour + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_2__.Operators.newLine;\n };\n /**\n * Sets `RGB` color.\n * @private\n */\n PdfColor.prototype.rgbToString = function (ifStroking) {\n var r = this.r;\n var g = this.g;\n var b = this.b;\n var key = (r << 16) + (g << 8) + b;\n if (ifStroking) {\n key += 1 << 24;\n }\n var colour = '';\n var obj = null;\n if (PdfColor.rgbStrings.containsKey(key)) {\n obj = PdfColor.rgbStrings.getValue(key);\n }\n if (obj == null) {\n var red = r / PdfColor.maxColourChannelValue;\n var green = g / PdfColor.maxColourChannelValue;\n var blue = b / PdfColor.maxColourChannelValue;\n if (ifStroking) {\n colour = red.toString() + ' ' + green.toString() + ' ' + blue.toString() + ' RG';\n }\n else {\n colour = red.toString() + ' ' + green.toString() + ' ' + blue.toString() + ' rg';\n }\n PdfColor.rgbStrings.setValue(key, colour);\n }\n else {\n colour = obj.toString();\n }\n return colour + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_2__.Operators.newLine;\n };\n /***\n * Sets `CMYK` color.\n * @private\n */\n PdfColor.prototype.cmykToString = function (ifStroking) {\n var cyan = this.c;\n var magenta = this.m;\n var yellow = this.y;\n var black = this.b;\n var colour = '';\n colour = cyan.toString() + ' ' + magenta.toString() + ' ' + yellow.toString() + ' ' + black.toString() + ' K';\n return colour + _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_2__.Operators.newLine;\n };\n /**\n * Converts `colour to a PDF array`.\n * @private\n */\n PdfColor.prototype.toArray = function (colorSpace) {\n var array = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_3__.PdfArray();\n switch (colorSpace) {\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfColorSpace.Rgb:\n array.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__.PdfNumber(this.red));\n array.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__.PdfNumber(this.green));\n array.add(new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__.PdfNumber(this.blue));\n break;\n }\n return array;\n };\n //Fields\n /**\n * Holds `RGB colors` converted into strings.\n * @private\n */\n PdfColor.rgbStrings = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_4__.Dictionary();\n /**\n * Holds Gray scale colors converted into strings for `stroking`.\n * @private\n */\n PdfColor.grayStringsSroke = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_4__.Dictionary();\n /**\n * Holds Gray scale colors converted into strings for `filling`.\n * @private\n */\n PdfColor.grayStringsFill = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_4__.Dictionary();\n /**\n * `Max value` of color channel.\n * @private\n */\n PdfColor.maxColourChannelValue = 255.0;\n return PdfColor;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GetResourceEventHandler: () => (/* binding */ GetResourceEventHandler),\n/* harmony export */ PdfGraphics: () => (/* binding */ PdfGraphics),\n/* harmony export */ PdfGraphicsState: () => (/* binding */ PdfGraphicsState)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _fonts_enum__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./fonts/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.js\");\n/* harmony import */ var _input_output_pdf_stream_writer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../input-output/pdf-stream-writer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-stream-writer.js\");\n/* harmony import */ var _pdf_pen__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pdf-pen */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js\");\n/* harmony import */ var _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./brushes/pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./brushes/pdf-solid-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./fonts/pdf-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js\");\n/* harmony import */ var _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pdf-transformation-matrix */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transformation-matrix.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/constants.js\");\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n/* harmony import */ var _fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./fonts/pdf-string-format */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n/* harmony import */ var _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./../collections/object-object-pair/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js\");\n/* harmony import */ var _pdf_transparency__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./pdf-transparency */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transparency.js\");\n/* harmony import */ var _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./fonts/string-tokenizer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.js\");\n/* harmony import */ var _document_automatic_fields_automatic_field_info_collection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../document/automatic-fields/automatic-field-info-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info-collection.js\");\n/* harmony import */ var _document_automatic_fields_automatic_field_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../document/automatic-fields/automatic-field-info */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info.js\");\n/* harmony import */ var _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./../input-output/pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/* harmony import */ var _fonts_unicode_true_type_font__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./fonts/unicode-true-type-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/unicode-true-type-font.js\");\n/* harmony import */ var _fonts_rtl_renderer__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./fonts/rtl-renderer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl-renderer.js\");\n/* harmony import */ var _figures_enum__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./figures/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js\");\n/* harmony import */ var _implementation_graphics_brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./../../implementation/graphics/brushes/pdf-gradient-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.js\");\n/* harmony import */ var _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./brushes/pdf-tiling-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.js\");\n/**\n * PdfGraphics.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfGraphics` class represents a graphics context of the objects.\n * It's used for performing all the graphics operations.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * // set the font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * //graphics of the page\n * let page1Graphics : PdfGraphics = page1.graphics;\n * // draw the text on the page1 graphics\n * page1Graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * //\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfGraphics = /** @class */ (function () {\n function PdfGraphics(arg1, arg2, arg3) {\n /**\n * Represents the `Current color space`.\n * @private\n */\n this.currentColorSpace = _enum__WEBPACK_IMPORTED_MODULE_0__.PdfColorSpace.Rgb;\n /**\n * Stores `previous rendering mode`.\n * @private\n */\n this.previousTextRenderingMode = _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.Fill;\n /**\n * Previous `character spacing` value or 0.\n * @private\n */\n this.previousCharacterSpacing = 0.0;\n /**\n * Previous `word spacing` value or 0.\n * @private\n */\n this.previousWordSpacing = 0.0;\n /**\n * The `previously used text scaling` value.\n * @private\n */\n this.previousTextScaling = 100.0;\n /**\n * Instance of `ProcedureSets` class.\n * @private\n */\n this.procedureSets = new _constants__WEBPACK_IMPORTED_MODULE_1__.ProcedureSets();\n /**\n * To check wihether it is a `direct text rendering`.\n * @default true\n * @private\n */\n this.isNormalRender = true;\n /**\n * check whether to `use font size` to calculate the shift.\n * @default false\n * @private\n */\n this.isUseFontSize = false;\n /**\n * check whether the font is in `italic type`.\n * @default false\n * @private\n */\n this.isItalic = false;\n /**\n * Check whether it is an `emf Text Matrix`.\n * @default false\n * @private\n */\n this.isEmfTextScaled = false;\n /**\n * Check whether it is an `emf` call.\n * @default false\n * @private\n */\n this.isEmf = false;\n /**\n * Check whether it is an `emf plus` call.\n * @default false\n * @private\n */\n this.isEmfPlus = false;\n /**\n * Check whether it is in `base line format`.\n * @default true\n * @private\n */\n this.isBaselineFormat = true;\n /**\n * Emf Text `Scaling Factor`.\n * @private\n */\n this.emfScalingFactor = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.SizeF(0, 0);\n /**\n * To check whether the `last color space` of document and garphics is saved.\n * @private\n */\n this.colorSpaceChanged = false;\n /**\n * Stores an instance of `DictionaryProperties`.\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_3__.DictionaryProperties();\n /**\n * Checks whether the x co-ordinate is need to set as client size or not.\n * @hidden\n * @private\n */\n this.isOverloadWithPosition = false;\n /**\n * Checks whether the x co-ordinate is need to set as client size or not.\n * @hidden\n * @private\n */\n this.isPointOverload = false;\n /**\n * Current colorspaces.\n * @hidden\n * @private\n */\n this.currentColorSpaces = ['RGB', 'CMYK', 'GrayScale', 'Indexed'];\n /**\n * Checks the current image `is optimized` or not.\n * @default false.\n * @private\n */\n this.isImageOptimized = false;\n /**\n * Stores the `graphics states`.\n * @private\n */\n this.graphicsState = [];\n /**\n * Indicates whether the object `had trasparency`.\n * @default false\n * @private\n */\n this.istransparencySet = false;\n /**\n * Stores the instance of `PdfAutomaticFieldInfoCollection` class .\n * @default null\n * @private\n */\n this.internalAutomaticFields = null;\n /**\n * Stores the index of the start line that should draw with in the next page.\n * @private\n */\n this.startCutIndex = -1;\n this.getResources = arg2;\n this.canvasSize = arg1;\n if (arg3 instanceof _input_output_pdf_stream_writer__WEBPACK_IMPORTED_MODULE_4__.PdfStreamWriter) {\n this.pdfStreamWriter = arg3;\n }\n else {\n this.pdfStreamWriter = new _input_output_pdf_stream_writer__WEBPACK_IMPORTED_MODULE_4__.PdfStreamWriter(arg3);\n }\n this.initialize();\n }\n Object.defineProperty(PdfGraphics.prototype, \"stringLayoutResult\", {\n // Properties\n /**\n * Returns the `result` after drawing string.\n * @private\n */\n get: function () {\n return this.pdfStringLayoutResult;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"size\", {\n /**\n * Gets the `size` of the canvas.\n * @private\n */\n get: function () {\n return this.canvasSize;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"mediaBoxUpperRightBound\", {\n /**\n * Gets and Sets the value of `MediaBox upper right bound`.\n * @private\n */\n get: function () {\n if (typeof this.internalMediaBoxUpperRightBound === 'undefined') {\n this.internalMediaBoxUpperRightBound = 0;\n }\n return this.internalMediaBoxUpperRightBound;\n },\n set: function (value) {\n this.internalMediaBoxUpperRightBound = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"clientSize\", {\n /**\n * Gets the `size` of the canvas reduced by margins and page templates.\n * @private\n */\n get: function () {\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.SizeF(this.clipBounds.width, this.clipBounds.height);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"colorSpace\", {\n /**\n * Gets or sets the current `color space` of the document\n * @private\n */\n get: function () {\n return this.currentColorSpace;\n },\n set: function (value) {\n this.currentColorSpace = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"streamWriter\", {\n /**\n * Gets the `stream writer`.\n * @private\n */\n get: function () {\n return this.pdfStreamWriter;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"matrix\", {\n /**\n * Gets the `transformation matrix` reflecting current transformation.\n * @private\n */\n get: function () {\n if (this.transformationMatrix == null) {\n this.transformationMatrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n }\n return this.transformationMatrix;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"layer\", {\n /**\n * Gets the `layer` for the graphics, if exists.\n * @private\n */\n get: function () {\n return this.pageLayer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"page\", {\n /**\n * Gets the `page` for this graphics, if exists.\n * @private\n */\n get: function () {\n return this.pageLayer.page;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphics.prototype, \"automaticFields\", {\n get: function () {\n if (this.internalAutomaticFields == null || typeof this.internalAutomaticFields === 'undefined') {\n this.internalAutomaticFields = new _document_automatic_fields_automatic_field_info_collection__WEBPACK_IMPORTED_MODULE_6__.PdfAutomaticFieldInfoCollection();\n }\n return this.internalAutomaticFields;\n },\n enumerable: true,\n configurable: true\n });\n //Implementation\n /**\n * `Initializes` this instance.\n * @private\n */\n PdfGraphics.prototype.initialize = function () {\n this.bStateSaved = false;\n this.currentPen = null;\n this.currentBrush = null;\n this.currentFont = null;\n this.currentColorSpace = _enum__WEBPACK_IMPORTED_MODULE_0__.PdfColorSpace.Rgb;\n this.bCSInitialized = false;\n this.transformationMatrix = null;\n this.previousTextRenderingMode = (-1); //.Fill;\n this.previousCharacterSpacing = -1.0;\n this.previousWordSpacing = -1.0;\n this.previousTextScaling = -100.0;\n // this.m_trasparencies = null;\n this.currentStringFormat = null;\n this.clipBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(0, 0), this.size);\n this.getResources.getResources().requireProcedureSet(this.procedureSets.pdf);\n };\n PdfGraphics.prototype.drawPdfTemplate = function (template, location, size) {\n if (typeof size === 'undefined') {\n if (template == null) {\n throw Error('ArgumentNullException-template');\n }\n this.drawPdfTemplate(template, location, template.size);\n }\n else {\n // let crossTable : PdfCrossTable = null;\n // if (this.pageLayer != null) {\n // crossTable = (this.page as PdfPage).section.parentDocument.crossTable;\n // }\n if (template == null) {\n throw Error('ArgumentNullException-template');\n }\n var scaleX = (template.width > 0) ? size.width / template.width : 1;\n var scaleY = (template.height > 0) ? size.height / template.height : 1;\n var bNeedScale = !(scaleX === 1 && scaleY === 1);\n // Save state.\n var state = this.save();\n // Take into consideration that rect location is bottom/left.\n var matrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n if (this.pageLayer != null) {\n this.getTranslateTransform(location.x, location.y + size.height, matrix);\n }\n if (bNeedScale) {\n this.getScaleTransform(scaleX, scaleY, matrix);\n }\n this.pdfStreamWriter.modifyCtm(matrix);\n // Output template.\n var resources = this.getResources.getResources();\n var name_1 = resources.getName(template);\n this.pdfStreamWriter.executeObject(name_1);\n // Restore state.\n this.restore(state);\n //Transfer automatic fields from template.\n var g = template.graphics;\n if (g != null) {\n for (var index = 0; index < g.automaticFields.automaticFields.length; index++) {\n var fieldInfo = g.automaticFields.automaticFields[index];\n var newLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(fieldInfo.location.x + location.x, fieldInfo.location.y + location.y);\n var scalingX = template.size.width == 0 ? 0 : size.width / template.size.width;\n var scalingY = template.size.height == 0 ? 0 : size.height / template.size.height;\n this.automaticFields.add(new _document_automatic_fields_automatic_field_info__WEBPACK_IMPORTED_MODULE_7__.PdfAutomaticFieldInfo(fieldInfo.field, newLocation, scalingX, scalingY));\n this.page.dictionary.modify();\n }\n }\n this.getResources.getResources().requireProcedureSet(this.procedureSets.imageB);\n this.getResources.getResources().requireProcedureSet(this.procedureSets.imageC);\n this.getResources.getResources().requireProcedureSet(this.procedureSets.imageI);\n this.getResources.getResources().requireProcedureSet(this.procedureSets.text);\n }\n };\n /**\n * @public\n */\n PdfGraphics.prototype.drawString = function (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {\n if (typeof arg1 === 'string' && arg2 instanceof _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_8__.PdfFont && (arg3 instanceof _pdf_pen__WEBPACK_IMPORTED_MODULE_9__.PdfPen || arg3 === null) && (arg4 instanceof _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_10__.PdfBrush || arg4 === null) && typeof arg5 === 'number' && typeof arg6 === 'number' && (arg7 instanceof _fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_11__.PdfStringFormat || arg7 === null) && typeof arg8 === 'undefined') {\n this.isOverloadWithPosition = true;\n this.drawString(arg1, arg2, arg3, arg4, arg5, arg6, (this.clientSize.width - arg5), 0, arg7);\n }\n else {\n var temparg3 = arg3;\n var temparg4 = arg4;\n var temparg5 = arg5;\n var temparg6 = arg6;\n var temparg7 = arg7;\n var temparg8 = arg8;\n var temparg9 = arg9;\n var layouter = new _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_12__.PdfStringLayouter();\n var result = layouter.layout(arg1, arg2, temparg9, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.SizeF(temparg7, temparg8), this.isOverloadWithPosition, this.clientSize);\n if (!result.empty) {\n var rect = this.checkCorrectLayoutRectangle(result.actualSize, temparg5, temparg6, temparg9);\n if (temparg7 <= 0) {\n temparg5 = rect.x;\n temparg7 = rect.width;\n }\n if (temparg8 <= 0) {\n temparg6 = rect.y;\n temparg8 = rect.height;\n }\n this.drawStringLayoutResult(result, arg2, temparg3, temparg4, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(temparg5, temparg6, temparg7, temparg8), temparg9);\n this.isEmfTextScaled = false;\n this.emfScalingFactor = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.SizeF(0, 0);\n }\n this.getResources.getResources().requireProcedureSet(this.procedureSets.text);\n this.isNormalRender = true;\n this.pdfStringLayoutResult = result;\n this.isUseFontSize = false;\n }\n };\n PdfGraphics.prototype.drawLine = function (arg1, arg2, arg3, arg4, arg5) {\n if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF) {\n var temparg2 = arg2;\n var temparg3 = arg3;\n this.drawLine(arg1, temparg2.x, temparg2.y, temparg3.x, temparg3.y);\n }\n else {\n var temparg2 = arg2;\n var temparg3 = arg3;\n var temparg4 = arg4;\n var temparg5 = arg5;\n this.stateControl(arg1, null, null);\n var sw = this.streamWriter;\n sw.beginPath(temparg2, temparg3);\n sw.appendLineSegment(temparg4, temparg5);\n sw.strokePath();\n this.getResources.getResources().requireProcedureSet(this.procedureSets.pdf);\n }\n };\n PdfGraphics.prototype.drawRectangle = function (arg1, arg2, arg3, arg4, arg5, arg6) {\n if (arg1 instanceof _pdf_pen__WEBPACK_IMPORTED_MODULE_9__.PdfPen && typeof arg2 === 'number') {\n var temparg3 = arg3;\n this.drawRectangle(arg1, null, arg2, temparg3, arg4, arg5);\n }\n else if (arg1 instanceof _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_10__.PdfBrush && typeof arg2 === 'number') {\n var temparg3 = arg3;\n this.drawRectangle(null, arg1, arg2, temparg3, arg4, arg5);\n }\n else {\n var temparg3 = arg3;\n var temparg4 = arg4;\n var temparg5 = arg5;\n var temparg6 = arg6;\n if ((arg2 instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_13__.PdfTilingBrush)) {\n this.bCSInitialized = false;\n var xOffset = (this.matrix.matrix.offsetX + temparg3);\n var yOffset = void 0;\n if (((this.layer != null) && (this.layer.page != null))) {\n yOffset = ((this.layer.page.size.height - this.matrix.matrix.offsetY) + temparg4);\n }\n else {\n yOffset = ((this.clientSize.height - this.matrix.matrix.offsetY) + temparg4);\n }\n (arg2).location = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(xOffset, yOffset);\n (arg2).graphics.colorSpace = this.colorSpace;\n }\n else if ((arg2 instanceof _implementation_graphics_brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_14__.PdfGradientBrush)) {\n arg2.colorSpace = this.colorSpace;\n }\n if (arg2 instanceof _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_15__.PdfSolidBrush && arg2.color.isEmpty) {\n arg2 = null;\n }\n var temparg1 = arg1;\n var temparg2 = arg2;\n this.stateControl(temparg1, temparg2, null);\n this.streamWriter.appendRectangle(temparg3, temparg4, temparg5, temparg6);\n this.drawPathHelper(temparg1, temparg2, false);\n }\n };\n /**\n * Draw rounded rectangle specified by a brush, pen, coordinate pair, a width, a height and a radius.\n * ```typescript\n * // Create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // Create a new page\n * let page : PdfPage = document.pages.add();\n * // Create brush for draw rectangle\n * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(238, 130, 238));\n * // Create a new PDF pen\n * let pen: PdfPen = new PdfPen(new PdfColor(255, 0, 0), 1);\n * // Draw rounded rectangle\n * page.graphics.drawRoundedRectangle(pen, brush, 20, 20, 100, 50, 5);\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @param pen Stoke color of the rectangle.\n * @param brush Fill color of the rectangle.\n * @param x The x-coordinate of the upper-left corner of the rectangle to draw.\n * @param y The y-coordinate of the upper-left corner of the rectangle to draw.\n * @param width Width of the rectangle to draw.\n * @param height Height of the rectangle to draw.\n * @param radius Radius of the arcs to draw.\n */\n PdfGraphics.prototype.drawRoundedRectangle = function (pen, brush, x, y, width, height, radius) {\n if (pen === null) {\n throw new Error('pen');\n }\n if (brush === null) {\n throw new Error('brush');\n }\n if (radius === 0) {\n this.drawRectangle(pen, brush, x, y, width, height);\n }\n else {\n var bounds = [x, y, width, height];\n var diameter = radius * 2;\n var size = [diameter, diameter];\n var arc = [bounds[0], bounds[1], size[0], size[1]];\n this._pathPoints = [];\n this._pathTypes = [];\n var startFigure = true;\n startFigure = this._addArc(arc[0], arc[1], arc[2], arc[3], 180, 90, startFigure);\n arc[0] = (bounds[0] + bounds[2]) - diameter;\n startFigure = this._addArc(arc[0], arc[1], arc[2], arc[3], 270, 90, startFigure);\n arc[1] = (bounds[1] + bounds[3]) - diameter;\n startFigure = this._addArc(arc[0], arc[1], arc[2], arc[3], 0, 90, startFigure);\n arc[0] = bounds[0];\n startFigure = this._addArc(arc[0], arc[1], arc[2], arc[3], 90, 90, startFigure);\n var index = this._pathPoints.length - 1;\n var type = ((this._pathTypes[index]));\n type = (type | _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.CloseSubpath);\n this._pathTypes[index] = (type);\n this._drawPath(pen, brush, this._pathPoints, this._pathTypes, _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFillMode.Alternate);\n this._pathPoints = [];\n this._pathTypes = [];\n }\n };\n PdfGraphics.prototype._addArc = function (x, y, width, height, startAngle, sweepAngle, startFigure) {\n var points = this._getBezierArcPoints(x, y, (x + width), (y + height), startAngle, sweepAngle);\n for (var i = 0; i < points.length; i = i + 8) {\n var point = [points[i], points[i + 1], points[i + 2], points[i + 3], points[i + 4], points[i + 5], points[i + 6], points[i + 7]];\n startFigure = this._addArcPoints(point, _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Bezier3, startFigure);\n }\n return startFigure;\n };\n PdfGraphics.prototype._addArcPoints = function (points, pointType, startFigure) {\n for (var i = 0; i < points.length; i++) {\n var point = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(points[i], points[(i + 1)]);\n if (i === 0) {\n if (this._pathPoints.length === 0 || startFigure) {\n this._addPoint(point, _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Start);\n startFigure = false;\n }\n else if (point.x !== this._getLastPoint().x || point.y !== this._getLastPoint().y) {\n this._addPoint(point, _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Line);\n }\n }\n else {\n this._addPoint(point, pointType);\n }\n i++;\n }\n return startFigure;\n };\n PdfGraphics.prototype._getLastPoint = function () {\n var lastPoint = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(0, 0);\n var count = this._pathPoints.length;\n if (count > 0) {\n lastPoint.x = this._pathPoints[(count - 1)].x;\n lastPoint.y = this._pathPoints[(count - 1)].y;\n }\n return lastPoint;\n };\n PdfGraphics.prototype._addPoint = function (point, type) {\n this._pathPoints.push(point);\n this._pathTypes.push(type);\n };\n PdfGraphics.prototype._getBezierArcPoints = function (x1, y1, x2, y2, s1, e1) {\n if ((x1 > x2)) {\n var tmp = void 0;\n tmp = x1;\n x1 = x2;\n x2 = tmp;\n }\n if ((y2 > y1)) {\n var tmp = void 0;\n tmp = y1;\n y1 = y2;\n y2 = tmp;\n }\n var fragAngle;\n var numFragments;\n if ((Math.abs(e1) <= 90)) {\n fragAngle = e1;\n numFragments = 1;\n }\n else {\n numFragments = (Math.ceil((Math.abs(e1) / 90)));\n fragAngle = (e1 / numFragments);\n }\n var xcen = ((x1 + x2) / 2);\n var ycen = ((y1 + y2) / 2);\n var rx = ((x2 - x1) / 2);\n var ry = ((y2 - y1) / 2);\n var halfAng = ((fragAngle * (Math.PI / 360)));\n var kappa = (Math.abs(4.0 / 3.0 * (1.0 - Math.cos(halfAng)) / Math.sin(halfAng)));\n var pointList = [];\n for (var i = 0; (i < numFragments); i++) {\n var theta0 = (((s1 + (i * fragAngle)) * (Math.PI / 180)));\n var theta1 = (((s1 + ((i + 1) * fragAngle)) * (Math.PI / 180)));\n var cos0 = (Math.cos(theta0));\n var cos1 = (Math.cos(theta1));\n var sin0 = (Math.sin(theta0));\n var sin1 = (Math.sin(theta1));\n if ((fragAngle > 0)) {\n pointList.push((xcen + (rx * cos0)), (ycen - (ry * sin0)), (xcen + (rx * (cos0 - (kappa * sin0)))), (ycen - (ry * (sin0 + (kappa * cos0)))), (xcen + (rx * (cos1 + (kappa * sin1)))), (ycen - (ry * (sin1 - (kappa * cos1)))), (xcen + (rx * cos1)), (ycen - (ry * sin1)));\n }\n else {\n pointList.push((xcen + (rx * cos0)), (ycen - (ry * sin0)), (xcen + (rx * (cos0 + (kappa * sin0)))), (ycen - (ry * (sin0 - (kappa * cos0)))), (xcen + (rx * (cos1 - (kappa * sin1)))), (ycen - (ry * (sin1 + (kappa * cos1)))), (xcen + (rx * cos1)), (ycen - (ry * sin1)));\n }\n }\n return pointList;\n };\n PdfGraphics.prototype.drawPathHelper = function (arg1, arg2, arg3, arg4) {\n if (typeof arg3 === 'boolean') {\n var temparg3 = arg3;\n this.drawPathHelper(arg1, arg2, _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFillMode.Winding, temparg3);\n }\n else {\n var temparg3 = arg3;\n var temparg4 = arg4;\n var isPen = arg1 != null;\n var isBrush = arg2 != null;\n var isEvenOdd = (temparg3 === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFillMode.Alternate);\n if (isPen && isBrush) {\n this.streamWriter.fillStrokePath(isEvenOdd);\n }\n else if (!isPen && !isBrush) {\n this.streamWriter.endPath();\n }\n else if (isPen) {\n this.streamWriter.strokePath();\n }\n else {\n this.streamWriter.fillPath(isEvenOdd);\n }\n }\n };\n PdfGraphics.prototype.drawImage = function (arg1, arg2, arg3, arg4, arg5) {\n if (typeof arg2 === 'number' && typeof arg3 === 'number' && typeof arg4 === 'undefined') {\n var size = arg1.physicalDimension;\n this.drawImage(arg1, arg2, arg3, size.width, size.height);\n }\n else {\n var temparg2 = arg2;\n var temparg3 = arg3;\n var temparg4 = arg4;\n var temparg5 = arg5;\n arg1.save();\n var matrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n this.getTranslateTransform(temparg2, (temparg3 + temparg5), matrix);\n this.getScaleTransform(arg4, arg5, matrix);\n this.pdfStreamWriter.write('q');\n this.pdfStreamWriter.modifyCtm(matrix);\n // Output template.\n var resources = this.getResources.getResources();\n if (typeof this.pageLayer !== 'undefined' && this.page != null) {\n resources.document = this.page.document;\n }\n var name_2 = resources.getName(arg1);\n if (typeof this.pageLayer !== 'undefined') {\n this.page.setResources(resources);\n }\n this.pdfStreamWriter.executeObject(name_2);\n this.pdfStreamWriter.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_17__.Operators.restoreState);\n this.pdfStreamWriter.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_17__.Operators.newLine);\n var resource = this.getResources.getResources();\n resource.requireProcedureSet(this.procedureSets.imageB);\n resource.requireProcedureSet(this.procedureSets.imageC);\n resource.requireProcedureSet(this.procedureSets.imageI);\n resource.requireProcedureSet(this.procedureSets.text);\n }\n };\n //Implementation\n /**\n * Returns `bounds` of the line info.\n * @private\n */\n PdfGraphics.prototype.getLineBounds = function (lineIndex, result, font, layoutRectangle, format) {\n var bounds;\n if (!result.empty && lineIndex < result.lineCount && lineIndex >= 0) {\n var line = result.lines[lineIndex];\n var vShift = this.getTextVerticalAlignShift(result.actualSize.height, layoutRectangle.height, format);\n var y = vShift + layoutRectangle.y + (result.lineHeight * lineIndex);\n var lineWidth = line.width;\n var hShift = this.getHorizontalAlignShift(lineWidth, layoutRectangle.width, format);\n var lineIndent = this.getLineIndent(line, format, layoutRectangle, (lineIndex === 0));\n hShift += (!this.rightToLeft(format)) ? lineIndent : 0;\n var x = layoutRectangle.x + hShift;\n var width = (!this.shouldJustify(line, layoutRectangle.width, format)) ? lineWidth - lineIndent : layoutRectangle.width - lineIndent;\n var height = result.lineHeight;\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(x, y, width, height);\n }\n else {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(0, 0, 0, 0);\n }\n return bounds;\n };\n /**\n * Creates `lay outed rectangle` depending on the text settings.\n * @private\n */\n PdfGraphics.prototype.checkCorrectLayoutRectangle = function (textSize, x, y, format) {\n var layoutedRectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(x, y, textSize.width, textSize.width);\n if (format != null) {\n switch (format.alignment) {\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Center:\n layoutedRectangle.x -= layoutedRectangle.width / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Right:\n layoutedRectangle.x -= layoutedRectangle.width;\n break;\n }\n switch (format.lineAlignment) {\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfVerticalAlignment.Middle:\n layoutedRectangle.y -= layoutedRectangle.height / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfVerticalAlignment.Bottom:\n layoutedRectangle.y -= layoutedRectangle.height;\n break;\n }\n }\n return layoutedRectangle;\n };\n /**\n * Sets the `layer` for the graphics.\n * @private\n */\n PdfGraphics.prototype.setLayer = function (layer) {\n this.pageLayer = layer;\n var page = layer.page;\n if (page != null && typeof page !== 'undefined') {\n page.beginSave = this.pageSave;\n }\n };\n /**\n * Adding page number field before page saving.\n * @private\n */\n PdfGraphics.prototype.pageSave = function (page) {\n if (page.graphics.automaticFields != null) {\n for (var i = 0; i < page.graphics.automaticFields.automaticFields.length; i++) {\n var fieldInfo = page.graphics.automaticFields.automaticFields[i];\n fieldInfo.field.performDraw(page.graphics, fieldInfo.location, fieldInfo.scalingX, fieldInfo.scalingY);\n }\n }\n };\n /**\n * `Draws a layout result`.\n * @private\n */\n PdfGraphics.prototype.drawStringLayoutResult = function (result, font, pen, brush, layoutRectangle, format) {\n if (!result.empty) {\n this.applyStringSettings(font, pen, brush, format, layoutRectangle);\n // Set text scaling\n var textScaling = (format != null) ? format.horizontalScalingFactor : 100.0;\n if (textScaling !== this.previousTextScaling && !this.isEmfTextScaled) {\n this.pdfStreamWriter.setTextScaling(textScaling);\n this.previousTextScaling = textScaling;\n }\n var height = (format == null || format.lineSpacing === 0) ? font.height : format.lineSpacing + font.height;\n var subScript = (format != null && format.subSuperScript === _fonts_enum__WEBPACK_IMPORTED_MODULE_18__.PdfSubSuperScript.SubScript);\n var shift = 0;\n shift = (subScript) ? height - (font.height + font.metrics.getDescent(format)) : (height - font.metrics.getAscent(format));\n this.shift = shift;\n this.pdfStreamWriter.startNextLine(layoutRectangle.x, layoutRectangle.y - shift);\n this.pdfStreamWriter.setLeading(+height);\n var resultHeight = 0;\n var remainingString = '';\n for (var i = 0; i < result.lines.length; i++) {\n resultHeight += result.lineHeight;\n if ((layoutRectangle.y + resultHeight) > this.clientSize.height) {\n this.startCutIndex = i;\n break;\n }\n }\n for (var j = this.startCutIndex; (j < result.lines.length && j >= 0); j++) {\n remainingString += result.lines[j].text;\n }\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height);\n this.drawLayoutResult(result, font, format, layoutRectangle);\n this.underlineStrikeoutText(pen, brush, result, font, bounds, format);\n this.isEmfPlus = false;\n this.isUseFontSize = false;\n if (this.startCutIndex !== -1) {\n var page = this.getNextPage();\n page.graphics.drawString(remainingString, font, pen, brush, layoutRectangle.x, 0, layoutRectangle.width, 0, format);\n }\n }\n else {\n throw new Error('ArgumentNullException:result');\n }\n };\n /**\n * Gets the `next page`.\n * @private\n */\n PdfGraphics.prototype.getNextPage = function () {\n var section = this.currentPage.section;\n var nextPage = null;\n var index = section.indexOf(this.currentPage);\n if (index === section.count - 1) {\n nextPage = section.add();\n }\n else {\n nextPage = section.getPages()[index + 1];\n }\n return nextPage;\n };\n PdfGraphics.prototype.setClip = function (rectangle, mode) {\n if (typeof mode === 'undefined') {\n this.setClip(rectangle, _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFillMode.Winding);\n }\n else {\n this.pdfStreamWriter.appendRectangle(rectangle);\n this.pdfStreamWriter.clipPath((mode === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfFillMode.Alternate));\n }\n };\n /**\n * Applies all the `text settings`.\n * @private\n */\n PdfGraphics.prototype.applyStringSettings = function (font, pen, brush, format, bounds) {\n if (brush instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_13__.PdfTilingBrush) {\n this.bCSInitialized = false;\n brush.graphics.colorSpace = this.colorSpace;\n }\n else if ((brush instanceof _implementation_graphics_brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_14__.PdfGradientBrush)) {\n this.bCSInitialized = false;\n brush.colorSpace = this.colorSpace;\n }\n var setLineWidth = false;\n var tm = this.getTextRenderingMode(pen, brush, format);\n this.stateControl(pen, brush, font, format);\n this.pdfStreamWriter.beginText();\n if ((tm) !== this.previousTextRenderingMode) {\n this.pdfStreamWriter.setTextRenderingMode(tm);\n this.previousTextRenderingMode = tm;\n }\n // Set character spacing.\n var cs = (format != null) ? format.characterSpacing : 0;\n if (cs !== this.previousCharacterSpacing && !this.isEmfTextScaled) {\n this.pdfStreamWriter.setCharacterSpacing(cs);\n this.previousCharacterSpacing = cs;\n }\n // Set word spacing.\n // NOTE: it works only if the space code is equal to 32 (0x20).\n var ws = (format != null) ? format.wordSpacing : 0;\n if (ws !== this.previousWordSpacing) {\n this.pdfStreamWriter.setWordSpacing(ws);\n this.previousWordSpacing = ws;\n }\n };\n /**\n * Calculates `shift value` if the text is vertically aligned.\n * @private\n */\n PdfGraphics.prototype.getTextVerticalAlignShift = function (textHeight, boundsHeight, format) {\n var shift = 0;\n if (boundsHeight >= 0 && format != null && format.lineAlignment !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfVerticalAlignment.Top) {\n switch (format.lineAlignment) {\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfVerticalAlignment.Middle:\n shift = (boundsHeight - textHeight) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfVerticalAlignment.Bottom:\n shift = boundsHeight - textHeight;\n break;\n }\n }\n return shift;\n };\n /**\n * `Draws layout result`.\n * @private\n */\n PdfGraphics.prototype.drawLayoutResult = function (result, font, format, layoutRectangle) {\n var vAlignShift = this.getTextVerticalAlignShift(result.actualSize.height, layoutRectangle.height, format);\n if (vAlignShift !== 0) {\n this.pdfStreamWriter.startNextLine(0, vAlignShift);\n }\n var ttfFont = font;\n var unicode = (ttfFont != null && ttfFont.isUnicode);\n var embed = (ttfFont != null && ttfFont.isEmbedFont);\n var lines = result.lines;\n for (var i = 0, len = lines.length; (i < len && i !== this.startCutIndex); i++) {\n var lineInfo = lines[i];\n var line = lineInfo.text;\n var lineWidth = lineInfo.width;\n var hAlignShift = this.getHorizontalAlignShift(lineWidth, layoutRectangle.width, format);\n var lineIndent = this.getLineIndent(lineInfo, format, layoutRectangle, (i === 0));\n hAlignShift += (!this.rightToLeft(format)) ? lineIndent : 0;\n if (hAlignShift !== 0 && !this.isEmfTextScaled) {\n this.pdfStreamWriter.startNextLine(hAlignShift, 0);\n }\n if (unicode) {\n this.drawUnicodeLine(lineInfo, layoutRectangle, font, format);\n }\n else {\n this.drawAsciiLine(lineInfo, layoutRectangle, font, format);\n }\n if (hAlignShift !== 0 && !this.isEmfTextScaled) {\n this.pdfStreamWriter.startNextLine(-hAlignShift, 0);\n }\n if (this.isOverloadWithPosition && lines.length > 1) {\n this.pdfStreamWriter.startNextLine(-(layoutRectangle.x), 0);\n layoutRectangle.x = 0;\n layoutRectangle.width = this.clientSize.width;\n this.isOverloadWithPosition = false;\n this.isPointOverload = true;\n }\n }\n this.getResources.getResources().requireProcedureSet(this.procedureSets.text);\n if (vAlignShift !== 0) {\n this.pdfStreamWriter.startNextLine(0, -(vAlignShift - result.lineHeight));\n }\n this.pdfStreamWriter.endText();\n };\n /**\n * `Draws Ascii line`.\n * @private\n */\n PdfGraphics.prototype.drawAsciiLine = function (lineInfo, layoutRectangle, font, format) {\n this.justifyLine(lineInfo, layoutRectangle.width, format);\n var value = '';\n if (lineInfo.text.indexOf('(') !== -1 || lineInfo.text.indexOf(')') !== -1) {\n for (var i = 0; i < lineInfo.text.length; i++) {\n if (lineInfo.text[i] === '(') {\n value += '\\\\\\(';\n }\n else if (lineInfo.text[i] === ')') {\n value += '\\\\\\)';\n }\n else {\n value += lineInfo.text[i];\n }\n }\n }\n if (value === '') {\n value = lineInfo.text;\n }\n var line = '(' + value + ')';\n this.pdfStreamWriter.showNextLineText(new _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_19__.PdfString(line));\n };\n /**\n * Draws unicode line.\n * @private\n */\n PdfGraphics.prototype.drawUnicodeLine = function (lineInfo, layoutRectangle, font, format) {\n var line = lineInfo.text;\n var lineWidth = lineInfo.width;\n var rtl = (format !== null && typeof format !== 'undefined' && format.rightToLeft);\n var useWordSpace = (format !== null && typeof format !== 'undefined' && (format.wordSpacing !== 0 || format.alignment === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Justify));\n var ttfFont = font;\n var wordSpacing = this.justifyLine(lineInfo, layoutRectangle.width, format);\n var rtlRender = new _fonts_rtl_renderer__WEBPACK_IMPORTED_MODULE_20__.RtlRenderer();\n if (rtl || (format !== null && typeof format !== 'undefined' && format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextDirection.None)) {\n var blocks = null;\n var rightAlign = (format !== null && typeof format !== 'undefined' && format.alignment === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Right);\n if (format !== null && typeof format !== 'undefined' && format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextDirection.None) {\n /* tslint:disable-next-line:max-line-length */\n blocks = rtlRender.layout(line, ttfFont, (format.textDirection === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextDirection.RightToLeft) ? true : false, useWordSpace, format);\n }\n else {\n blocks = rtlRender.layout(line, ttfFont, rightAlign, useWordSpace, format);\n }\n var words = null;\n if (blocks.length > 1) {\n if (format !== null && typeof format !== 'undefined' && format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextDirection.None) {\n /* tslint:disable-next-line:max-line-length */\n words = rtlRender.splitLayout(line, ttfFont, (format.textDirection === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextDirection.RightToLeft) ? true : false, useWordSpace, format);\n }\n else {\n words = rtlRender.splitLayout(line, ttfFont, rightAlign, useWordSpace, format);\n }\n }\n else {\n words = [line];\n }\n this.drawUnicodeBlocks(blocks, words, ttfFont, format, wordSpacing);\n }\n else {\n if (useWordSpace) {\n var result = this.breakUnicodeLine(line, ttfFont, null);\n var blocks = result.tokens;\n var words = result.words;\n this.drawUnicodeBlocks(blocks, words, ttfFont, format, wordSpacing);\n }\n else {\n var token = this.convertToUnicode(line, ttfFont);\n var value = this.getUnicodeString(token);\n this.streamWriter.showNextLineText(value);\n }\n }\n };\n /**\n * Draws array of unicode tokens.\n */\n PdfGraphics.prototype.drawUnicodeBlocks = function (blocks, words, font, format, wordSpacing) {\n if (blocks == null) {\n throw new Error('Argument Null Exception : blocks');\n }\n if (words == null) {\n throw new Error('Argument Null Exception : words');\n }\n if (font == null) {\n throw new Error('Argument Null Exception : font');\n }\n this.streamWriter.startNextLine();\n var x = 0;\n var xShift = 0;\n var firstLineIndent = 0;\n var paragraphIndent = 0;\n try {\n if (format !== null && typeof format !== 'undefined') {\n firstLineIndent = format.firstLineIndent;\n paragraphIndent = format.paragraphIndent;\n format.firstLineIndent = 0;\n format.paragraphIndent = 0;\n }\n var spaceWidth = font.getCharWidth(_fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__.StringTokenizer.whiteSpace, format) + wordSpacing;\n var characterSpacing = (format != null) ? format.characterSpacing : 0;\n var wordSpace = (format !== null && typeof format !== 'undefined' && wordSpacing === 0) ? format.wordSpacing : 0;\n spaceWidth += characterSpacing + wordSpace;\n for (var i = 0; i < blocks.length; i++) {\n var token = blocks[i];\n var word = words[i];\n var tokenWidth = 0;\n if (x !== 0) {\n this.streamWriter.startNextLine(x, 0);\n }\n if (word.length > 0) {\n tokenWidth += /*Utils.Round(*/ font.measureString(word, format).width /*)*/;\n tokenWidth += characterSpacing;\n var val = this.getUnicodeString(token);\n this.streamWriter.showText(val);\n }\n if (i !== blocks.length - 1) {\n x = tokenWidth + spaceWidth;\n xShift += x;\n }\n }\n // Rolback current line position.\n if (xShift > 0) {\n this.streamWriter.startNextLine(-xShift, 0);\n }\n }\n finally {\n if (format !== null && typeof format !== 'undefined') {\n format.firstLineIndent = firstLineIndent;\n format.paragraphIndent = paragraphIndent;\n }\n }\n };\n /**\n * Breakes the unicode line to the words and converts symbols to glyphs.\n */\n PdfGraphics.prototype.breakUnicodeLine = function (line, ttfFont, words) {\n if (line === null) {\n throw new Error('Argument Null Exception : line');\n }\n words = line.split(null);\n var tokens = [];\n for (var i = 0; i < words.length; i++) {\n // Reconvert string according to unicode standard.\n var word = words[i];\n var token = this.convertToUnicode(word, ttfFont);\n tokens[i] = token;\n }\n return { tokens: tokens, words: words };\n };\n /**\n * Creates PdfString from the unicode text.\n */\n PdfGraphics.prototype.getUnicodeString = function (token) {\n if (token === null) {\n throw new Error('Argument Null Exception : token');\n }\n var val = new _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_19__.PdfString(token);\n val.converted = true;\n val.encode = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_19__.InternalEnum.ForceEncoding.Ascii;\n return val;\n };\n /**\n * Converts to unicode format.\n */\n PdfGraphics.prototype.convertToUnicode = function (text, ttfFont) {\n var token = null;\n if (text == null) {\n throw new Error('Argument Null Exception : text');\n }\n if (ttfFont == null) {\n throw new Error('Argument Null Exception : ttfFont');\n }\n if (ttfFont.fontInternal instanceof _fonts_unicode_true_type_font__WEBPACK_IMPORTED_MODULE_22__.UnicodeTrueTypeFont) {\n var ttfReader = ttfFont.fontInternal.ttfReader;\n ttfFont.setSymbols(text);\n token = ttfReader.convertString(text);\n var bytes = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_19__.PdfString.toUnicodeArray(token, false);\n token = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_19__.PdfString.byteToString(bytes);\n }\n return token;\n };\n /**\n * `Justifies` the line if needed.\n * @private\n */\n PdfGraphics.prototype.justifyLine = function (lineInfo, boundsWidth, format) {\n var line = lineInfo.text;\n var lineWidth = lineInfo.width;\n var shouldJustify = this.shouldJustify(lineInfo, boundsWidth, format);\n var hasWordSpacing = (format != null && format.wordSpacing !== 0);\n var symbols = _fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__.StringTokenizer.spaces;\n var whitespacesCount = _fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__.StringTokenizer.getCharsCount(line, symbols);\n var wordSpace = 0;\n if (shouldJustify) {\n // Correct line width.\n if (hasWordSpacing) {\n lineWidth -= (whitespacesCount * format.wordSpacing);\n }\n var difference = boundsWidth - lineWidth;\n wordSpace = difference / whitespacesCount;\n this.pdfStreamWriter.setWordSpacing(wordSpace);\n }\n else {\n // If there is justifying, but the line shouldn't be justified, restore default word spacing.\n if (hasWordSpacing) {\n this.pdfStreamWriter.setWordSpacing(format.wordSpacing);\n }\n else {\n this.pdfStreamWriter.setWordSpacing(0);\n }\n }\n return wordSpace;\n };\n /**\n * `Reset` or reinitialize the current graphic value.\n * @private\n */\n PdfGraphics.prototype.reset = function (size) {\n this.canvasSize = size;\n this.streamWriter.clear();\n this.initialize();\n this.initializeCoordinates();\n };\n /**\n * Checks whether the line should be `justified`.\n * @private\n */\n PdfGraphics.prototype.shouldJustify = function (lineInfo, boundsWidth, format) {\n var line = lineInfo.text;\n var lineWidth = lineInfo.width;\n var justifyStyle = (format != null && format.alignment === _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Justify);\n var goodWidth = (boundsWidth >= 0 && lineWidth < boundsWidth);\n var symbols = _fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__.StringTokenizer.spaces;\n var whitespacesCount = _fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__.StringTokenizer.getCharsCount(line, symbols);\n var hasSpaces = (whitespacesCount > 0 && line[0] !== _fonts_string_tokenizer__WEBPACK_IMPORTED_MODULE_21__.StringTokenizer.whiteSpace);\n var goodLineBreakStyle = ((lineInfo.lineType & _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_12__.LineType.LayoutBreak) > 0) || (format && format.wordWrap === _fonts_enum__WEBPACK_IMPORTED_MODULE_18__.PdfWordWrapType.None);\n var shouldJustify = (justifyStyle && goodWidth && hasSpaces && goodLineBreakStyle);\n return shouldJustify;\n };\n /**\n * Emulates `Underline, Strikeout` of the text if needed.\n * @private\n */\n PdfGraphics.prototype.underlineStrikeoutText = function (pen, brush, result, font, layoutRectangle, format) {\n if (font.underline || font.strikeout) {\n // Calculate line width.\n var linePen = this.createUnderlineStikeoutPen(pen, brush, font, format);\n if (linePen != null) {\n // Approximate line positions.\n var vShift = this.getTextVerticalAlignShift(result.actualSize.height, layoutRectangle.height, format);\n var underlineYOffset = 0;\n underlineYOffset = layoutRectangle.y + vShift + font.metrics.getAscent(format) + 1.5 * linePen.width;\n var strikeoutYOffset = layoutRectangle.y + vShift + font.metrics.getHeight(format) / 2 + 1.5 * linePen.width;\n var lines = result.lines;\n // Run through the text and draw lines.\n for (var i = 0, len = result.lineCount; i < len; i++) {\n var lineInfo = lines[i];\n var line = lineInfo.text;\n var lineWidth = lineInfo.width;\n var hShift = this.getHorizontalAlignShift(lineWidth, layoutRectangle.width, format);\n var lineIndent = this.getLineIndent(lineInfo, format, layoutRectangle, (i === 0));\n hShift += (!this.rightToLeft(format)) ? lineIndent : 0;\n var x1 = layoutRectangle.x + hShift;\n var x2 = (!this.shouldJustify(lineInfo, layoutRectangle.width, format)) ? x1 + lineWidth - lineIndent : x1 + layoutRectangle.width - lineIndent;\n if (font.underline) {\n var y = underlineYOffset;\n this.drawLine(linePen, x1, y, x2, y);\n underlineYOffset += result.lineHeight;\n }\n if (font.strikeout) {\n var y = strikeoutYOffset;\n this.drawLine(linePen, x1, y, x2, y);\n strikeoutYOffset += result.lineHeight;\n }\n if (this.isPointOverload && lines.length > 1) {\n layoutRectangle.x = 0;\n layoutRectangle.width = this.clientSize.width;\n }\n }\n this.isPointOverload = false;\n }\n }\n };\n /**\n * `Creates a pen` for drawing lines in the text.\n * @private\n */\n PdfGraphics.prototype.createUnderlineStikeoutPen = function (pen, brush, font, format) {\n // Calculate line width.\n var lineWidth = font.metrics.getSize(format) / 20;\n var linePen = null;\n // Create a pen fo the lines.\n if (pen != null) {\n linePen = new _pdf_pen__WEBPACK_IMPORTED_MODULE_9__.PdfPen(pen.color, lineWidth);\n }\n else if (brush != null) {\n linePen = new _pdf_pen__WEBPACK_IMPORTED_MODULE_9__.PdfPen(brush, lineWidth);\n }\n return linePen;\n };\n /**\n * Return `text rendering mode`.\n * @private\n */\n PdfGraphics.prototype.getTextRenderingMode = function (pen, brush, format) {\n var tm = _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.None;\n if (pen != null && brush != null) {\n tm = _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.FillStroke;\n }\n else if (pen != null) {\n tm = _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.Stroke;\n }\n else {\n tm = _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.Fill;\n }\n if (format != null && format.clipPath) {\n tm |= _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.ClipFlag;\n }\n return tm;\n };\n /**\n * Returns `line indent` for the line.\n * @private\n */\n PdfGraphics.prototype.getLineIndent = function (lineInfo, format, layoutBounds, firstLine) {\n var lineIndent = 0;\n var firstParagraphLine = ((lineInfo.lineType & _fonts_string_layouter__WEBPACK_IMPORTED_MODULE_12__.LineType.FirstParagraphLine) > 0);\n if (format != null && firstParagraphLine) {\n lineIndent = (firstLine) ? format.firstLineIndent : format.paragraphIndent;\n lineIndent = (layoutBounds.width > 0) ? Math.min(layoutBounds.width, lineIndent) : lineIndent;\n }\n return lineIndent;\n };\n /**\n * Calculates shift value if the line is `horizontaly aligned`.\n * @private\n */\n PdfGraphics.prototype.getHorizontalAlignShift = function (lineWidth, boundsWidth, format) {\n var shift = 0;\n if (boundsWidth >= 0 && format != null && format.alignment !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Left) {\n switch (format.alignment) {\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Center:\n shift = (boundsWidth - lineWidth) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextAlignment.Right:\n shift = boundsWidth - lineWidth;\n break;\n }\n }\n return shift;\n };\n /**\n * Gets or sets the value that indicates `text direction` mode.\n * @private\n */\n PdfGraphics.prototype.rightToLeft = function (format) {\n var rtl = (format !== null && typeof format !== 'undefined' && format.rightToLeft);\n if (format !== null && typeof format !== 'undefined') {\n if (format.textDirection !== _enum__WEBPACK_IMPORTED_MODULE_0__.PdfTextDirection.None && typeof format.textDirection !== 'undefined') {\n rtl = true;\n }\n }\n return rtl;\n };\n PdfGraphics.prototype.stateControl = function (pen, brush, font, format) {\n if (typeof format === 'undefined') {\n this.stateControl(pen, brush, font, null);\n }\n else {\n if (brush instanceof _implementation_graphics_brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_14__.PdfGradientBrush) {\n this.bCSInitialized = false;\n brush.colorSpace = this.colorSpace;\n }\n if (brush instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_13__.PdfTilingBrush) {\n this.bCSInitialized = false;\n brush.graphics.colorSpace = this.colorSpace;\n }\n var saveState = false;\n if (brush !== null) {\n var solidBrush = brush;\n if (typeof this.pageLayer !== 'undefined' && this.pageLayer != null) {\n if (this.colorSpaceChanged === false) {\n this.lastDocumentCS = this.pageLayer.page.document.colorSpace;\n this.lastGraphicsCS = this.pageLayer.page.graphics.colorSpace;\n this.colorSpace = this.pageLayer.page.document.colorSpace;\n this.currentColorSpace = this.pageLayer.page.document.colorSpace;\n this.colorSpaceChanged = true;\n }\n }\n this.initCurrentColorSpace(this.currentColorSpace);\n }\n else if (pen != null) {\n var pdfPen = pen;\n if (typeof this.pageLayer !== 'undefined' && this.pageLayer != null) {\n this.colorSpace = this.pageLayer.page.document.colorSpace;\n this.currentColorSpace = this.pageLayer.page.document.colorSpace;\n }\n this.initCurrentColorSpace(this.currentColorSpace);\n }\n this.penControl(pen, saveState);\n this.brushControl(brush, saveState);\n this.fontControl(font, format, saveState);\n }\n };\n /**\n * Initializes the `current color space`.\n * @private\n */\n PdfGraphics.prototype.initCurrentColorSpace = function (colorspace) {\n var re = this.getResources.getResources();\n if (!this.bCSInitialized) {\n if (this.currentColorSpace != _enum__WEBPACK_IMPORTED_MODULE_0__.PdfColorSpace.GrayScale) {\n this.pdfStreamWriter.setColorSpace('Device' + this.currentColorSpaces[this.currentColorSpace], true);\n this.pdfStreamWriter.setColorSpace('Device' + this.currentColorSpaces[this.currentColorSpace], false);\n this.bCSInitialized = true;\n }\n else {\n this.pdfStreamWriter.setColorSpace('DeviceGray', true);\n this.pdfStreamWriter.setColorSpace('DeviceGray', false);\n this.bCSInitialized = true;\n }\n }\n };\n /**\n * Controls the `pen state`.\n * @private\n */\n PdfGraphics.prototype.penControl = function (pen, saveState) {\n if (pen != null) {\n this.currentPen = pen;\n pen.monitorChanges(this.currentPen, this.pdfStreamWriter, this.getResources, saveState, this.colorSpace, this.matrix.clone());\n this.currentPen = pen.clone();\n }\n };\n /**\n * Controls the `brush state`.\n * @private\n */\n PdfGraphics.prototype.brushControl = function (brush, saveState) {\n if (brush != null && typeof brush !== 'undefined') {\n var b = brush.clone();\n var lgb = b;\n if (lgb !== null && typeof lgb !== 'undefined' && !(brush instanceof _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_15__.PdfSolidBrush) && !(brush instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_13__.PdfTilingBrush)) {\n var m = lgb.matrix;\n var matrix = this.matrix.clone();\n if ((m != null)) {\n m.multiply(matrix);\n matrix = m;\n }\n lgb.matrix = matrix;\n }\n this.currentBrush = lgb;\n var br = (brush);\n b.monitorChanges(this.currentBrush, this.pdfStreamWriter, this.getResources, saveState, this.colorSpace);\n this.currentBrush = brush;\n brush = null;\n }\n };\n /**\n * Saves the font and other `font settings`.\n * @private\n */\n PdfGraphics.prototype.fontControl = function (font, format, saveState) {\n if (font != null) {\n var curSubSuper = (format != null) ? format.subSuperScript : _fonts_enum__WEBPACK_IMPORTED_MODULE_18__.PdfSubSuperScript.None;\n var prevSubSuper = (this.currentStringFormat != null) ? this.currentStringFormat.subSuperScript : _fonts_enum__WEBPACK_IMPORTED_MODULE_18__.PdfSubSuperScript.None;\n if (saveState || font !== this.currentFont || curSubSuper !== prevSubSuper) {\n var resources = this.getResources.getResources();\n this.currentFont = font;\n this.currentStringFormat = format;\n var size = font.metrics.getSize(format);\n this.isEmfTextScaled = false;\n var fontName = resources.getName(font);\n this.pdfStreamWriter.setFont(font, fontName, size);\n }\n }\n };\n PdfGraphics.prototype.setTransparency = function (arg1, arg2, arg3) {\n if (typeof arg2 === 'undefined') {\n this.istransparencySet = true;\n this.setTransparency(arg1, arg1, _enum__WEBPACK_IMPORTED_MODULE_0__.PdfBlendMode.Normal);\n }\n else if (typeof arg2 === 'number' && typeof arg3 === 'undefined') {\n this.setTransparency(arg1, arg2, _enum__WEBPACK_IMPORTED_MODULE_0__.PdfBlendMode.Normal);\n }\n else {\n if (this.trasparencies == null) {\n this.trasparencies = new _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_23__.TemporaryDictionary();\n }\n var transp = null;\n var td = new TransparencyData(arg1, arg2, arg3);\n if (this.trasparencies.containsKey(td)) {\n transp = this.trasparencies.getValue(td);\n }\n if (transp == null) {\n transp = new _pdf_transparency__WEBPACK_IMPORTED_MODULE_24__.PdfTransparency(arg1, arg2, arg3);\n this.trasparencies.setValue(td, transp);\n }\n var resources = this.getResources.getResources();\n var name_3 = resources.getName(transp);\n var sw = this.streamWriter;\n sw.setGraphicsState(name_3);\n }\n };\n PdfGraphics.prototype.clipTranslateMargins = function (x, y, left, top, right, bottom) {\n if (x instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF && typeof y === 'undefined') {\n this.clipBounds = x;\n this.pdfStreamWriter.writeComment('Clip margins.');\n this.pdfStreamWriter.appendRectangle(x);\n this.pdfStreamWriter.closePath();\n this.pdfStreamWriter.clipPath(false);\n this.pdfStreamWriter.writeComment('Translate co-ordinate system.');\n this.translateTransform(x.x, x.y);\n }\n else if (typeof x === 'number') {\n var clipArea = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF(left, top, this.size.width - left - right, this.size.height - top - bottom);\n this.clipBounds = clipArea;\n this.pdfStreamWriter.writeComment(\"Clip margins.\");\n this.pdfStreamWriter.appendRectangle(clipArea);\n this.pdfStreamWriter.closePath();\n this.pdfStreamWriter.clipPath(false);\n this.pdfStreamWriter.writeComment(\"Translate co-ordinate system.\");\n this.translateTransform(x, y);\n }\n };\n /**\n * `Updates y` co-ordinate.\n * @private\n */\n PdfGraphics.prototype.updateY = function (y) {\n return -y;\n };\n /**\n * Used to `translate the transformation`.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // set pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * //\n * // set translate transform\n * page1.graphics.translateTransform(100, 100);\n * //\n * // draw the rectangle after applying translate transform\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @param offsetX The x-coordinate of the translation.\n * @param offsetY The y-coordinate of the translation.\n */\n PdfGraphics.prototype.translateTransform = function (offsetX, offsetY) {\n var matrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n this.getTranslateTransform(offsetX, offsetY, matrix);\n this.pdfStreamWriter.modifyCtm(matrix);\n this.matrix.multiply(matrix);\n };\n /**\n * `Translates` coordinates of the input matrix.\n * @private\n */\n PdfGraphics.prototype.getTranslateTransform = function (x, y, input) {\n input.translate(x, this.updateY(y));\n return input;\n };\n /**\n * Applies the specified `scaling operation` to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // create pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * //\n * // apply scaling trasformation\n * page1.graphics.scaleTransform(1.5, 2);\n * //\n * // draw the rectangle after applying scaling transform\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @param scaleX Scale factor in the x direction.\n * @param scaleY Scale factor in the y direction.\n */\n PdfGraphics.prototype.scaleTransform = function (scaleX, scaleY) {\n var matrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n this.getScaleTransform(scaleX, scaleY, matrix);\n this.pdfStreamWriter.modifyCtm(matrix);\n this.matrix.multiply(matrix);\n };\n /**\n * `Scales` coordinates of the input matrix.\n * @private\n */\n PdfGraphics.prototype.getScaleTransform = function (x, y, input) {\n if (input == null) {\n input = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n }\n input.scale(x, y);\n return input;\n };\n /**\n * Applies the specified `rotation` to the transformation matrix of this Graphics.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // create pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * //\n * // set RotateTransform with 25 degree of angle\n * page1.graphics.rotateTransform(25);\n * //\n * // draw the rectangle after RotateTransformation\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @param angle Angle of rotation in degrees.\n */\n PdfGraphics.prototype.rotateTransform = function (angle) {\n var matrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n this.getRotateTransform(angle, matrix);\n this.pdfStreamWriter.modifyCtm(matrix);\n this.matrix.multiply(matrix);\n };\n /**\n * `Initializes coordinate system`.\n * @private\n */\n PdfGraphics.prototype.initializeCoordinates = function () {\n // Matrix equation: TM(T-1)=M', where T=[1 0 0 -1 0 h]\n this.pdfStreamWriter.writeComment('Change co-ordinate system to left/top.');\n // Translate co-ordinates only, don't flip.\n if (this.mediaBoxUpperRightBound !== -(this.size.height)) {\n if (this.cropBox == null) {\n if (this.mediaBoxUpperRightBound === this.size.height || this.mediaBoxUpperRightBound === 0) {\n this.translateTransform(0, this.updateY(this.size.height));\n }\n else {\n this.translateTransform(0, this.updateY(this.mediaBoxUpperRightBound));\n }\n }\n }\n };\n /**\n * `Rotates` coordinates of the input matrix.\n * @private\n */\n PdfGraphics.prototype.getRotateTransform = function (angle, input) {\n if (input == null || typeof input === 'undefined') {\n input = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n }\n input.rotate(this.updateY(angle));\n return input;\n };\n /**\n * `Saves` the current state of this Graphics and identifies the saved state with a GraphicsState.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // create pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * //\n * // save the graphics state\n * let state1 : PdfGraphicsState = page1.graphics.save();\n * //\n * page1.graphics.scaleTransform(1.5, 2);\n * // draw the rectangle\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));\n * // restore the graphics state\n * page1.graphics.restore(state1);\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n PdfGraphics.prototype.save = function () {\n var state = new PdfGraphicsState(this, this.matrix.clone());\n state.brush = this.currentBrush;\n state.pen = this.currentPen;\n state.font = this.currentFont;\n state.colorSpace = this.currentColorSpace;\n state.characterSpacing = this.previousCharacterSpacing;\n state.wordSpacing = this.previousWordSpacing;\n state.textScaling = this.previousTextScaling;\n state.textRenderingMode = this.previousTextRenderingMode;\n this.graphicsState.push(state);\n this.pdfStreamWriter.saveGraphicsState();\n return state;\n };\n PdfGraphics.prototype.restore = function (state) {\n if (typeof state === 'undefined') {\n if (this.graphicsState.length > 0) {\n this.doRestoreState();\n }\n }\n else {\n if (this.graphicsState.indexOf(state) !== -1) {\n for (;;) {\n if (this.graphicsState.length === 0) {\n break;\n }\n var popState = this.doRestoreState();\n if (popState === state) {\n break;\n }\n }\n }\n }\n };\n /**\n * `Restores graphics state`.\n * @private\n */\n PdfGraphics.prototype.doRestoreState = function () {\n var state = this.graphicsState.pop();\n this.transformationMatrix = state.matrix;\n this.currentBrush = state.brush;\n this.currentPen = state.pen;\n this.currentFont = state.font;\n this.currentColorSpace = state.colorSpace;\n this.previousCharacterSpacing = state.characterSpacing;\n this.previousWordSpacing = state.wordSpacing;\n this.previousTextScaling = state.textScaling;\n this.previousTextRenderingMode = state.textRenderingMode;\n this.pdfStreamWriter.restoreGraphicsState();\n return state;\n };\n /**\n * `Draws the specified path`, using its original physical size, at the location specified by a coordinate pair.\n * ```typescript\n * // create a new PDF document.\n * let document : PdfDocument = new PdfDocument();\n * // add a page to the document.\n * let page1 : PdfPage = document.pages.add();\n * //Create new PDF path.\n * let path : PdfPath = new PdfPath();\n * //Add line path points.\n * path.addLine(new PointF(10, 100), new PointF(10, 200));\n * path.addLine(new PointF(100, 100), new PointF(100, 200));\n * path.addLine(new PointF(100, 200), new PointF(55, 150));\n * // set pen\n * let pen : PdfPen = new PdfPen(new PdfColor(255, 0, 0));\n * // set brush\n * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the path\n * page1.graphics.drawPath(pen, brush, path);\n * //\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n * @param pen Color of the text.\n * @param brush Color of the text.\n * @param path Draw path.\n */\n PdfGraphics.prototype.drawPath = function (pen, brush, path) {\n this._drawPath(pen, brush, path.pathPoints, path.pathTypes, path.fillMode);\n };\n PdfGraphics.prototype._drawPath = function (pen, brush, pathPoints, pathTypes, fillMode) {\n if (brush instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_13__.PdfTilingBrush) {\n this.bCSInitialized = false;\n brush.graphics.colorSpace = this.colorSpace;\n }\n else if (brush instanceof _implementation_graphics_brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_14__.PdfGradientBrush) {\n this.bCSInitialized = false;\n brush.colorSpace = this.colorSpace;\n }\n this.stateControl(pen, brush, null);\n this.buildUpPath(pathPoints, pathTypes);\n this.drawPathHelper(pen, brush, fillMode, false);\n };\n /* tslint:disable-next-line:max-line-length */\n PdfGraphics.prototype.drawArc = function (arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.RectangleF) {\n this.drawArc(arg1, arg2.x, arg2.y, arg2.width, arg2.height, arg3, arg4);\n }\n else {\n if ((arg7 !== 0)) {\n this.stateControl(arg1, null, null);\n this.constructArcPath(arg2, arg3, (arg2 + arg4), (arg3 + arg5), arg6, arg7);\n this.drawPathHelper(arg1, null, false);\n }\n }\n };\n /**\n * Builds up the path.\n * @private\n */\n PdfGraphics.prototype.buildUpPath = function (arg1, arg2) {\n var cnt = arg1.length;\n for (var i = 0; i < cnt; ++i) {\n var typeValue = 0;\n var point = arg1[i];\n switch (((arg2[i] & (PdfGraphics.pathTypesValuesMask)))) {\n case _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Start:\n this.pdfStreamWriter.beginPath(point.x, point.y);\n break;\n case _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Bezier3:\n var p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(0, 0);\n var p3 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_2__.PointF(0, 0);\n var result1 = this.getBezierPoints(arg1, arg2, i, p2, p3);\n this.pdfStreamWriter.appendBezierSegment(point, result1.p2, result1.p3);\n i = result1.i;\n break;\n case _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Line:\n this.pdfStreamWriter.appendLineSegment(point);\n break;\n default:\n throw new Error('ArithmeticException - Incorrect path formation.');\n }\n typeValue = arg2[i];\n this.checkFlags(typeValue);\n }\n };\n /**\n * Gets the bezier points from respective arrays.\n * @private\n */\n /* tslint:disable-next-line:max-line-length */\n PdfGraphics.prototype.getBezierPoints = function (points, types, i, p2, p3) {\n var errorMsg = 'Malforming path.';\n ++i;\n if ((((types[i] & PdfGraphics.pathTypesValuesMask)) === _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Bezier3)) {\n p2 = points[i];\n ++i;\n if ((((types[i] & PdfGraphics.pathTypesValuesMask)) === _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.Bezier3)) {\n p3 = points[i];\n }\n else {\n throw new Error('ArgumentException : errorMsg');\n }\n }\n else {\n throw new Error('ArgumentException : errorMsg');\n }\n return { i: i, p2: p2, p3: p3 };\n };\n /**\n * Checks path point type flags.\n * @private\n */\n PdfGraphics.prototype.checkFlags = function (type) {\n if ((((type & (_figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.CloseSubpath))) === _figures_enum__WEBPACK_IMPORTED_MODULE_16__.PathPointType.CloseSubpath)) {\n this.pdfStreamWriter.closePath();\n }\n };\n /**\n * Constructs the arc path using Bezier curves.\n * @private\n */\n PdfGraphics.prototype.constructArcPath = function (x1, y1, x2, y2, startAng, sweepAngle) {\n var points = this.getBezierArc(x1, y1, x2, y2, startAng, sweepAngle);\n if ((points.length === 0)) {\n return;\n }\n var pt = [points[0], points[1], points[2], points[3], points[4], points[5], points[6], points[7]];\n this.pdfStreamWriter.beginPath(pt[0], pt[1]);\n var i = 0;\n for (i = 0; i < points.length; i = i + 8) {\n pt = [points[i], points[i + 1], points[i + 2], points[i + 3], points[i + 4], points[i + 5], points[i + 6], points[i + 7]];\n this.pdfStreamWriter.appendBezierSegment(pt[2], pt[3], pt[4], pt[5], pt[6], pt[7]);\n }\n };\n /**\n * Gets the bezier points for arc constructing.\n * @private\n */\n PdfGraphics.prototype.getBezierArc = function (numX1, numY1, numX2, numY2, s1, e1) {\n if ((numX1 > numX2)) {\n var tmp = void 0;\n tmp = numX1;\n numX1 = numX2;\n numX2 = tmp;\n }\n if ((numY2 > numY1)) {\n var tmp = void 0;\n tmp = numY1;\n numY1 = numY2;\n numY2 = tmp;\n }\n var fragAngle1;\n var numFragments;\n if ((Math.abs(e1) <= 90)) {\n fragAngle1 = e1;\n numFragments = 1;\n }\n else {\n numFragments = (Math.ceil((Math.abs(e1) / 90)));\n fragAngle1 = (e1 / numFragments);\n }\n var xcen = ((numX1 + numX2) / 2);\n var ycen = ((numY1 + numY2) / 2);\n var rx = ((numX2 - numX1) / 2);\n var ry = ((numY2 - numY1) / 2);\n var halfAng = ((fragAngle1 * (Math.PI / 360)));\n var kappa = (Math.abs(4.0 / 3.0 * (1.0 - Math.cos(halfAng)) / Math.sin(halfAng)));\n var pointsList = [];\n for (var i = 0; (i < numFragments); i++) {\n var thetaValue0 = (((s1 + (i * fragAngle1)) * (Math.PI / 180)));\n var thetaValue1 = (((s1 + ((i + 1) * fragAngle1)) * (Math.PI / 180)));\n var cos0 = (Math.cos(thetaValue0));\n var cos1 = (Math.cos(thetaValue1));\n var sin0 = (Math.sin(thetaValue0));\n var sin1 = (Math.sin(thetaValue1));\n if ((fragAngle1 > 0)) {\n /* tslint:disable-next-line:max-line-length */\n pointsList.push((xcen + (rx * cos0)), (ycen - (ry * sin0)), (xcen + (rx * (cos0 - (kappa * sin0)))), (ycen - (ry * (sin0 + (kappa * cos0)))), (xcen + (rx * (cos1 + (kappa * sin1)))), (ycen - (ry * (sin1 - (kappa * cos1)))), (xcen + (rx * cos1)), (ycen - (ry * sin1)));\n }\n else {\n /* tslint:disable-next-line:max-line-length */\n pointsList.push((xcen + (rx * cos0)), (ycen - (ry * sin0)), (xcen + (rx * (cos0 + (kappa * sin0)))), (ycen - (ry * (sin0 - (kappa * cos0)))), (xcen + (rx * (cos1 - (kappa * sin1)))), (ycen - (ry * (sin1 + (kappa * cos1)))), (xcen + (rx * cos1)), (ycen - (ry * sin1)));\n }\n }\n return pointsList;\n };\n /* tslint:disable */\n // Constants\n /**\n * Specifies the mask of `path type values`.\n * @private\n */\n PdfGraphics.pathTypesValuesMask = 0xf;\n /**\n * Checks whether the object is `transparencyObject`.\n * @hidden\n * @private\n */\n PdfGraphics.transparencyObject = false;\n return PdfGraphics;\n}());\n\n/**\n * `GetResourceEventHandler` class is alternate for event handlers and delegates.\n * @private\n * @hidden\n */\nvar GetResourceEventHandler = /** @class */ (function () {\n /**\n * Initialize instance of `GetResourceEventHandler` class.\n * Alternate for event handlers and delegates.\n * @private\n */\n function GetResourceEventHandler(sender) {\n this.sender = sender;\n }\n /**\n * Return the instance of `PdfResources` class.\n * @private\n */\n GetResourceEventHandler.prototype.getResources = function () {\n return this.sender.getResources();\n };\n return GetResourceEventHandler;\n}());\n\nvar PdfGraphicsState = /** @class */ (function () {\n function PdfGraphicsState(graphics, matrix) {\n /**\n * Stores `previous rendering mode`.\n * @default TextRenderingMode.Fill\n * @private\n */\n this.internalTextRenderingMode = _enum__WEBPACK_IMPORTED_MODULE_0__.TextRenderingMode.Fill;\n /**\n * `Previous character spacing` value or 0.\n * @default 0.0\n * @private\n */\n this.internalCharacterSpacing = 0.0;\n /**\n * `Previous word spacing` value or 0.\n * @default 0.0\n * @private\n */\n this.internalWordSpacing = 0.0;\n /**\n * The previously used `text scaling value`.\n * @default 100.0\n * @private\n */\n this.internalTextScaling = 100.0;\n /**\n * `Current color space`.\n * @default PdfColorSpace.Rgb\n * @private\n */\n this.pdfColorSpace = _enum__WEBPACK_IMPORTED_MODULE_0__.PdfColorSpace.Rgb;\n if (typeof graphics !== 'undefined') {\n this.pdfGraphics = graphics;\n var elements_1 = [];\n graphics.matrix.matrix.elements.forEach(function (element) {\n elements_1.push(element);\n });\n this.transformationMatrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.PdfTransformationMatrix();\n this.transformationMatrix.matrix = new _pdf_transformation_matrix__WEBPACK_IMPORTED_MODULE_5__.Matrix(elements_1);\n }\n }\n Object.defineProperty(PdfGraphicsState.prototype, \"graphics\", {\n // Properties\n /**\n * Gets the parent `graphics object`.\n * @private\n */\n get: function () {\n return this.pdfGraphics;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"matrix\", {\n /**\n * Gets the `current matrix`.\n * @private\n */\n get: function () {\n return this.transformationMatrix;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"characterSpacing\", {\n /**\n * Gets or sets the `current character spacing`.\n * @private\n */\n get: function () {\n return this.internalCharacterSpacing;\n },\n set: function (value) {\n this.internalCharacterSpacing = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"wordSpacing\", {\n /**\n * Gets or sets the `word spacing` value.\n * @private\n */\n get: function () {\n return this.internalWordSpacing;\n },\n set: function (value) {\n this.internalWordSpacing = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"textScaling\", {\n /**\n * Gets or sets the `text scaling` value.\n * @private\n */\n get: function () {\n return this.internalTextScaling;\n },\n set: function (value) {\n this.internalTextScaling = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"pen\", {\n /**\n * Gets or sets the `current pen` object.\n * @private\n */\n get: function () {\n return this.pdfPen;\n },\n set: function (value) {\n this.pdfPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"brush\", {\n /**\n * Gets or sets the `brush`.\n * @private\n */\n get: function () {\n return this.pdfBrush;\n },\n set: function (value) {\n this.pdfBrush = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"font\", {\n /**\n * Gets or sets the `current font` object.\n * @private\n */\n get: function () {\n return this.pdfFont;\n },\n set: function (value) {\n this.pdfFont = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"colorSpace\", {\n /**\n * Gets or sets the `current color space` value.\n * @private\n */\n get: function () {\n return this.pdfColorSpace;\n },\n set: function (value) {\n this.pdfColorSpace = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGraphicsState.prototype, \"textRenderingMode\", {\n /**\n * Gets or sets the `text rendering mode`.\n * @private\n */\n get: function () {\n return this.internalTextRenderingMode;\n },\n set: function (value) {\n this.internalTextRenderingMode = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGraphicsState;\n}());\n\nvar TransparencyData = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `TransparencyData` class.\n * @private\n */\n function TransparencyData(alphaPen, alphaBrush, blendMode) {\n this.alphaPen = alphaPen;\n this.alphaBrush = alphaBrush;\n this.blendMode = blendMode;\n }\n return TransparencyData;\n}());\n/* tslint:enable */\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-margins.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-margins.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfMargins: () => (/* binding */ PdfMargins)\n/* harmony export */ });\n/**\n * PdfMargins.ts class for EJ2-PDF\n * A class representing PDF page margins.\n */\nvar PdfMargins = /** @class */ (function () {\n /**\n * Initializes a new instance of the `PdfMargins` class.\n * @private\n */\n function PdfMargins() {\n /**\n * Represents the `Default Page Margin` value.\n * @default 0.0\n * @private\n */\n this.pdfMargin = 40.0;\n this.setMargins(this.pdfMargin);\n }\n Object.defineProperty(PdfMargins.prototype, \"left\", {\n //Properties\n /**\n * Gets or sets the `left margin` size.\n * @private\n */\n get: function () {\n return this.leftMargin;\n },\n set: function (value) {\n this.leftMargin = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfMargins.prototype, \"top\", {\n /**\n * Gets or sets the `top margin` size.\n * @private\n */\n get: function () {\n return this.topMargin;\n },\n set: function (value) {\n this.topMargin = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfMargins.prototype, \"right\", {\n /**\n * Gets or sets the `right margin` size.\n * @private\n */\n get: function () {\n return this.rightMargin;\n },\n set: function (value) {\n this.rightMargin = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfMargins.prototype, \"bottom\", {\n /**\n * Gets or sets the `bottom margin` size.\n * @private\n */\n get: function () {\n return this.bottomMargin;\n },\n set: function (value) {\n this.bottomMargin = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfMargins.prototype, \"all\", {\n /**\n * Sets the `margins`.\n * @private\n */\n set: function (value) {\n this.setMargins(value);\n },\n enumerable: true,\n configurable: true\n });\n PdfMargins.prototype.setMargins = function (margin1, margin2, margin3, margin4) {\n if (typeof margin2 === 'undefined') {\n this.leftMargin = this.topMargin = this.rightMargin = this.bottomMargin = margin1;\n }\n else {\n if (typeof margin3 === 'undefined') {\n this.leftMargin = this.rightMargin = margin1;\n this.bottomMargin = this.topMargin = margin2;\n }\n else {\n this.leftMargin = margin1;\n this.topMargin = margin2;\n this.rightMargin = margin3;\n this.bottomMargin = margin4;\n }\n }\n };\n /**\n * `Clones` the object.\n * @private\n */\n PdfMargins.prototype.clone = function () {\n return this;\n };\n return PdfMargins;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-margins.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPen: () => (/* binding */ PdfPen)\n/* harmony export */ });\n/* harmony import */ var _pdf_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./brushes/pdf-solid-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./brushes/pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/**\n * PdfPen.ts class for EJ2-PDF\n */\n\n\n\n\n/**\n * `PdfPen` class defining settings for drawing operations, that determines the color,\n * width, and style of the drawing elements.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // set pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * // draw rectangle\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfPen = /** @class */ (function () {\n function PdfPen(arg1, arg2) {\n //Fields\n /**\n * Specifies the `color of the pen`.\n * @default new PdfColor()\n * @private\n */\n this.pdfColor = new _pdf_color__WEBPACK_IMPORTED_MODULE_0__.PdfColor(0, 0, 0);\n /**\n * Specifies the `dash offset of the pen`.\n * @default 0\n * @private\n */\n this.dashOffsetValue = 0;\n /**\n * Specifies the `dash pattern of the pen`.\n * @default [0]\n * @private\n */\n this.penDashPattern = [0];\n /**\n * Specifies the `dash style of the pen`.\n * @default Solid\n * @private\n */\n this.pdfDashStyle = _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.Solid;\n /**\n * Specifies the `line cap of the pen`.\n * @default 0\n * @private\n */\n this.pdfLineCap = 0;\n /**\n * Specifies the `line join of the pen`.\n * @default 0\n * @private\n */\n this.pdfLineJoin = 0;\n /**\n * Specifies the `width of the pen`.\n * @default 1.0\n * @private\n */\n this.penWidth = 1.0;\n /**\n * Specifies the `mitter limit of the pen`.\n * @default 0.0\n * @private\n */\n this.internalMiterLimit = 0.0;\n /**\n * Stores the `colorspace` value.\n * @default Rgb\n * @private\n */\n this.colorSpace = _enum__WEBPACK_IMPORTED_MODULE_1__.PdfColorSpace.Rgb;\n if (arg1 instanceof _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_2__.PdfBrush) {\n this.setBrush(arg1);\n }\n else if (arg1 instanceof _pdf_color__WEBPACK_IMPORTED_MODULE_0__.PdfColor) {\n this.color = arg1;\n }\n if (typeof arg2 === 'number') {\n this.width = arg2;\n }\n }\n Object.defineProperty(PdfPen.prototype, \"color\", {\n //Properties\n /**\n * Gets or sets the `color of the pen`.\n * @private\n */\n get: function () {\n return this.pdfColor;\n },\n set: function (value) {\n this.pdfColor = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"dashOffset\", {\n /**\n * Gets or sets the `dash offset of the pen`.\n * @private\n */\n get: function () {\n if (typeof this.dashOffsetValue === 'undefined' || this.dashOffsetValue == null) {\n return 0;\n }\n else {\n return this.dashOffsetValue;\n }\n },\n set: function (value) {\n this.dashOffsetValue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"dashPattern\", {\n /**\n * Gets or sets the `dash pattern of the pen`.\n * @private\n */\n get: function () {\n return this.penDashPattern;\n },\n set: function (value) {\n this.penDashPattern = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"dashStyle\", {\n /**\n * Gets or sets the `dash style of the pen`.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // set pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * //\n * // set pen style\n * pen.dashStyle = PdfDashStyle.DashDot;\n * // get pen style\n * let style : PdfDashStyle = pen.dashStyle;\n * //\n * // draw rectangle\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.pdfDashStyle;\n },\n set: function (value) {\n if (this.pdfDashStyle !== value) {\n this.pdfDashStyle = value;\n switch (this.pdfDashStyle) {\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.Custom:\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.Dash:\n this.penDashPattern = [3, 1];\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.Dot:\n this.penDashPattern = [1, 1];\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.DashDot:\n this.penDashPattern = [3, 1, 1, 1];\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.DashDotDot:\n this.penDashPattern = [3, 1, 1, 1, 1, 1];\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.Solid:\n break;\n default:\n this.pdfDashStyle = _enum__WEBPACK_IMPORTED_MODULE_1__.PdfDashStyle.Solid;\n this.penDashPattern = [0];\n break;\n }\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"lineCap\", {\n /**\n * Gets or sets the `line cap of the pen`.\n * @private\n */\n get: function () {\n return this.pdfLineCap;\n },\n set: function (value) {\n this.pdfLineCap = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"lineJoin\", {\n /**\n * Gets or sets the `line join style of the pen`.\n * @private\n */\n get: function () {\n return this.pdfLineJoin;\n },\n set: function (value) {\n this.pdfLineJoin = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"miterLimit\", {\n /**\n * Gets or sets the `miter limit`.\n * @private\n */\n get: function () {\n return this.internalMiterLimit;\n },\n set: function (value) {\n this.internalMiterLimit = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPen.prototype, \"width\", {\n /**\n * Gets or sets the `width of the pen`.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // create a new page\n * let page1 : PdfPage = document.pages.add();\n * // set pen\n * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));\n * //\n * // set pen width\n * pen.width = 2;\n * //\n * // draw rectangle\n * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));\n * // save the document.\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n return this.penWidth;\n },\n set: function (value) {\n this.penWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n //Helper\n /**\n * `Clones` this instance of PdfPen class.\n * @private\n */\n PdfPen.prototype.clone = function () {\n var pen = this;\n return pen;\n };\n /**\n * `Sets the brush`.\n * @private\n */\n PdfPen.prototype.setBrush = function (brush) {\n var sBrush = brush;\n if ((sBrush != null && sBrush instanceof _brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_3__.PdfSolidBrush)) {\n this.color = sBrush.color;\n this.pdfBrush = sBrush;\n }\n this.color = sBrush.color;\n this.pdfBrush = sBrush;\n };\n /**\n * `Monitors the changes`.\n * @private\n */\n PdfPen.prototype.monitorChanges = function (currentPen, streamWriter, getResources, saveState, currentColorSpace, matrix) {\n var diff = false;\n saveState = true;\n if (currentPen == null) {\n diff = true;\n }\n diff = this.dashControl(currentPen, saveState, streamWriter);\n streamWriter.setLineWidth(this.width);\n streamWriter.setLineJoin(this.lineJoin);\n streamWriter.setLineCap(this.lineCap);\n var miterLimit = this.miterLimit;\n if (miterLimit > 0) {\n streamWriter.setMiterLimit(miterLimit);\n diff = true;\n }\n var brush = this.pdfBrush;\n streamWriter.setColorAndSpace(this.color, currentColorSpace, true);\n diff = true;\n return diff;\n };\n /**\n * `Controls the dash style` and behaviour of each line.\n * @private\n */\n PdfPen.prototype.dashControl = function (pen, saveState, streamWriter) {\n saveState = true;\n var lineWidth = this.width;\n var pattern = this.getPattern();\n streamWriter.setLineDashPattern(pattern, this.dashOffset * lineWidth);\n return saveState;\n };\n /**\n * `Gets the pattern` of PdfPen.\n * @private\n */\n PdfPen.prototype.getPattern = function () {\n var pattern = this.dashPattern;\n for (var i = 0; i < pattern.length; ++i) {\n pattern[i] *= this.width;\n }\n return pattern;\n };\n return PdfPen;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Guid: () => (/* binding */ Guid),\n/* harmony export */ PdfResources: () => (/* binding */ PdfResources)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../collections/object-object-pair/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _input_output_pdf_cross_table__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../input-output/pdf-cross-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-cross-table.js\");\n/* harmony import */ var _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fonts/pdf-font */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.js\");\n/* harmony import */ var _figures_pdf_template__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./figures/pdf-template */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js\");\n/* harmony import */ var _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./brushes/pdf-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.js\");\n/* harmony import */ var _pdf_transparency__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pdf-transparency */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transparency.js\");\n/* harmony import */ var _graphics_images_pdf_bitmap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../graphics/images/pdf-bitmap */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.js\");\n/* harmony import */ var _graphics_images_pdf_image__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../graphics/images/pdf-image */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.js\");\n/* harmony import */ var _brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./brushes/pdf-gradient-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.js\");\n/* harmony import */ var _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./brushes/pdf-tiling-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfResources.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfResources` class used to set resource contents like font, image.\n * @private\n */\nvar PdfResources = /** @class */ (function (_super) {\n __extends(PdfResources, _super);\n function PdfResources(baseDictionary) {\n var _this = _super.call(this, baseDictionary) || this;\n /**\n * Dictionary for the `properties names`.\n * @private\n */\n _this.properties = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n return _this;\n }\n Object.defineProperty(PdfResources.prototype, \"names\", {\n //Properties\n /**\n * Gets the `font names`.\n * @private\n */\n get: function () {\n return this.getNames();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfResources.prototype, \"document\", {\n /**\n * Get or set the `page document`.\n * @private\n */\n get: function () {\n return this.pdfDocument;\n },\n set: function (value) {\n this.pdfDocument = value;\n },\n enumerable: true,\n configurable: true\n });\n //Public Methods\n /**\n * `Generates name` for the object and adds to the resource if the object is new.\n * @private\n */\n PdfResources.prototype.getName = function (obj) {\n var primitive = obj.element;\n var name = null;\n if (this.names.containsKey(primitive)) {\n name = this.names.getValue(primitive);\n }\n // Object is new.\n if (name == null) {\n var sName = this.generateName();\n name = new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__.PdfName(sName);\n this.names.setValue(primitive, name);\n if (obj instanceof _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_2__.PdfFont) {\n this.add(obj, name);\n }\n else if (obj instanceof _figures_pdf_template__WEBPACK_IMPORTED_MODULE_3__.PdfTemplate) {\n this.add(obj, name);\n }\n else if (obj instanceof _brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_4__.PdfGradientBrush || obj instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_5__.PdfTilingBrush) {\n this.add(obj, name);\n }\n else if (obj instanceof _pdf_transparency__WEBPACK_IMPORTED_MODULE_6__.PdfTransparency) {\n this.add(obj, name);\n }\n else if (obj instanceof _graphics_images_pdf_image__WEBPACK_IMPORTED_MODULE_7__.PdfImage || obj instanceof _graphics_images_pdf_bitmap__WEBPACK_IMPORTED_MODULE_8__.PdfBitmap) {\n this.add(obj, name);\n }\n }\n return name;\n };\n /**\n * Gets `resource names` to font dictionaries.\n * @private\n */\n PdfResources.prototype.getNames = function () {\n if (this.pdfNames == null) {\n this.pdfNames = new _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_9__.TemporaryDictionary();\n }\n var fonts = this.items.getValue(this.dictionaryProperties.font);\n if (fonts != null) {\n var reference = fonts;\n var dictionary = fonts;\n dictionary = _input_output_pdf_cross_table__WEBPACK_IMPORTED_MODULE_10__.PdfCrossTable.dereference(fonts);\n }\n return this.pdfNames;\n };\n /**\n * Add `RequireProcedureSet` into procset array.\n * @private\n */\n PdfResources.prototype.requireProcedureSet = function (procedureSetName) {\n if (procedureSetName == null) {\n throw new Error('ArgumentNullException:procedureSetName');\n }\n var procSets = this.items.getValue(this.dictionaryProperties.procset);\n if (procSets == null) {\n procSets = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_11__.PdfArray();\n this.items.setValue(this.dictionaryProperties.procset, procSets);\n }\n var name = new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__.PdfName(procedureSetName);\n if (!procSets.contains(name)) {\n procSets.add(name);\n }\n };\n //Helper Methods\n /**\n * `Remove font` from array.\n * @private\n */\n PdfResources.prototype.removeFont = function (name) {\n var key = null;\n var keys = this.pdfNames.keys();\n for (var index = 0; index < this.pdfNames.size(); index++) {\n if (this.pdfNames.getValue(keys[index]) === new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_1__.PdfName(name)) {\n key = keys[index];\n break;\n }\n }\n if (key != null) {\n this.pdfNames.remove(key);\n }\n };\n /**\n * Generates `Unique string name`.\n * @private\n */\n PdfResources.prototype.generateName = function () {\n var name = Guid.getNewGuidString();\n return name;\n };\n PdfResources.prototype.add = function (arg1, arg2) {\n if (arg1 instanceof _fonts_pdf_font__WEBPACK_IMPORTED_MODULE_2__.PdfFont) {\n var dictionary = null;\n var fonts = this.items.getValue(this.dictionaryProperties.font);\n if (fonts != null) {\n var reference = fonts;\n dictionary = fonts;\n dictionary = fonts;\n }\n else {\n dictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n this.items.setValue(this.dictionaryProperties.font, dictionary);\n }\n dictionary.items.setValue(arg2.value, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_12__.PdfReferenceHolder(arg1.element));\n }\n else if (arg1 instanceof _figures_pdf_template__WEBPACK_IMPORTED_MODULE_3__.PdfTemplate) {\n var xobjects = void 0;\n xobjects = this.items.getValue(this.dictionaryProperties.xObject);\n // Create fonts dictionary.\n if (xobjects == null) {\n xobjects = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n this.items.setValue(this.dictionaryProperties.xObject, xobjects);\n }\n xobjects.items.setValue(arg2.value, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_12__.PdfReferenceHolder(arg1.element));\n }\n else if (arg1 instanceof _brushes_pdf_brush__WEBPACK_IMPORTED_MODULE_13__.PdfBrush) {\n if (arg1 instanceof _brushes_pdf_gradient_brush__WEBPACK_IMPORTED_MODULE_4__.PdfGradientBrush || arg1 instanceof _brushes_pdf_tiling_brush__WEBPACK_IMPORTED_MODULE_5__.PdfTilingBrush) {\n var savable = arg1.element;\n if (savable != null) {\n var pattern = this.items.getValue(this.dictionaryProperties.pattern);\n // Create a new pattern dictionary.\n if (pattern == null) {\n pattern = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n this.items.setValue(this.dictionaryProperties.pattern, pattern);\n }\n pattern.items.setValue(arg2.value, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_12__.PdfReferenceHolder(savable));\n }\n }\n }\n else if (arg1 instanceof _pdf_transparency__WEBPACK_IMPORTED_MODULE_6__.PdfTransparency) {\n var savable = arg1.element;\n var transDic = null;\n transDic = this.items.getValue(this.dictionaryProperties.extGState);\n // Create a new pattern dictionary.\n if (transDic == null) {\n transDic = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n this.items.setValue(this.dictionaryProperties.extGState, transDic);\n }\n transDic.items.setValue(arg2.value, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_12__.PdfReferenceHolder(savable));\n }\n else {\n /* tslint:disable */\n var xobjects = this.Dictionary.items.getValue(this.dictionaryProperties.xObject);\n var parentXObjects = void 0;\n if (typeof this.pdfDocument !== 'undefined') {\n parentXObjects = this.pdfDocument.sections.element.items.getValue(this.dictionaryProperties.resources).items.getValue(this.dictionaryProperties.xObject);\n }\n var values = this.Dictionary.items.values();\n var hasSameImageStream = false;\n var oldReference = void 0;\n if (typeof this.pdfDocument !== 'undefined' && (typeof parentXObjects === undefined || parentXObjects == null)) {\n parentXObjects = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n this.pdfDocument.sections.element.items.getValue(this.dictionaryProperties.resources).items.setValue(this.dictionaryProperties.xObject, parentXObjects);\n }\n else if (typeof this.pdfDocument !== 'undefined') {\n var values_1 = parentXObjects.items.values();\n for (var i = 0; i < values_1.length; i++) {\n if (typeof values_1[i] !== 'undefined' && typeof values_1[i].element !== 'undefined') {\n if (values_1[i].element.data[0] === arg1.element.data[0]) {\n oldReference = values_1[i];\n hasSameImageStream = true;\n }\n }\n }\n }\n if (xobjects == null) {\n xobjects = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n this.Dictionary.items.setValue(this.dictionaryProperties.xObject, xobjects);\n }\n if (hasSameImageStream && typeof oldReference !== 'undefined') {\n xobjects.items.setValue(arg2.value, oldReference);\n }\n else {\n var reference = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_12__.PdfReferenceHolder(arg1.element);\n xobjects.items.setValue(arg2.value, reference);\n if (typeof this.pdfDocument !== 'undefined') {\n parentXObjects.items.setValue(arg2.value, reference);\n }\n }\n /* tslint:enable */\n }\n };\n return PdfResources;\n}(_primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary));\n\n/* tslint:disable */\n/**\n * Used to create new guid for resources.\n * @private\n */\nvar Guid = /** @class */ (function () {\n function Guid() {\n }\n /**\n * Generate `new GUID`.\n * @private\n */\n Guid.getNewGuidString = function () {\n return 'aaaaaaaa-aaaa-4aaa-baaa-aaaaaaaaaaaa'.replace(/[ab]/g, function (c) {\n var random = Math.random() * 16 | 0;\n var result = c === 'a' ? random : (random & 0x3 | 0x8);\n return result.toString(16);\n });\n };\n return Guid;\n}());\n\n/* tslint:enable */ \n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transformation-matrix.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transformation-matrix.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Matrix: () => (/* binding */ Matrix),\n/* harmony export */ PdfTransformationMatrix: () => (/* binding */ PdfTransformationMatrix)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/**\n * PdfTransformationMatrix.ts class for EJ2-PDF\n */\n\n\n/**\n * Class for representing Root `transformation matrix`.\n */\nvar PdfTransformationMatrix = /** @class */ (function () {\n function PdfTransformationMatrix(value) {\n /**\n * Value for `angle converting`.\n * @default 180.0 / Math.PI\n * @private\n */\n this.radDegFactor = 180.0 / Math.PI;\n if (typeof value === 'undefined') {\n this.transformationMatrix = new Matrix(1.00, 0.00, 0.00, 1.00, 0.00, 0.00);\n }\n else {\n this.transformationMatrix = new Matrix(1.00, 0.00, 0.00, -1.00, 0.00, 0.00);\n }\n }\n Object.defineProperty(PdfTransformationMatrix.prototype, \"matrix\", {\n // Properties\n /**\n * Gets or sets the `internal matrix object`.\n * @private\n */\n get: function () {\n return this.transformationMatrix;\n },\n set: function (value) {\n this.transformationMatrix = value;\n },\n enumerable: true,\n configurable: true\n });\n // Public methods\n /**\n * `Translates` coordinates by specified coordinates.\n * @private\n */\n PdfTransformationMatrix.prototype.translate = function (offsetX, offsetY) {\n this.transformationMatrix.translate(offsetX, offsetY);\n };\n /**\n * `Scales` coordinates by specified coordinates.\n * @private\n */\n PdfTransformationMatrix.prototype.scale = function (scaleX, scaleY) {\n this.transformationMatrix.elements[0] = scaleX;\n this.transformationMatrix.elements[3] = scaleY;\n };\n /**\n * `Rotates` coordinate system in counterclockwise direction.\n * @private\n */\n PdfTransformationMatrix.prototype.rotate = function (angle) {\n //Convert from degree to radian \n angle = (angle * Math.PI) / 180;\n //Rotation \n this.transformationMatrix.elements[0] = Math.cos(angle);\n this.transformationMatrix.elements[1] = Math.sin(angle);\n this.transformationMatrix.elements[2] = -Math.sin(angle);\n this.transformationMatrix.elements[3] = Math.cos(angle);\n };\n // Overrides\n /**\n * Gets `PDF representation`.\n * @private\n */\n PdfTransformationMatrix.prototype.toString = function () {\n var builder = '';\n var whitespace = ' ';\n for (var i = 0, len = this.transformationMatrix.elements.length; i < len; i++) {\n var temp = this.matrix.elements[i];\n builder += _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_0__.PdfNumber.floatToString(this.transformationMatrix.elements[i]);\n builder += whitespace;\n }\n return builder;\n };\n // Implementation\n /**\n * `Multiplies` matrices (changes coordinate system.)\n * @private\n */\n PdfTransformationMatrix.prototype.multiply = function (matrix) {\n this.transformationMatrix.multiply(matrix.matrix);\n };\n /**\n * Converts `degrees to radians`.\n * @private\n */\n PdfTransformationMatrix.degreesToRadians = function (degreesX) {\n return this.degRadFactor * degreesX;\n };\n /**\n * Converts `radians to degrees`.\n * @private\n */\n PdfTransformationMatrix.prototype.radiansToDegrees = function (radians) {\n return this.radDegFactor * radians;\n };\n /**\n * `Clones` this instance of PdfTransformationMatrix.\n * @private\n */\n PdfTransformationMatrix.prototype.clone = function () {\n return this;\n };\n // Constants\n /**\n * Value for `angle converting`.\n * @default Math.PI / 180.0\n * @private\n */\n PdfTransformationMatrix.degRadFactor = Math.PI / 180.0;\n return PdfTransformationMatrix;\n}());\n\nvar Matrix = /** @class */ (function () {\n function Matrix(arg1, arg2, arg3, arg4, arg5, arg6) {\n if (typeof arg1 === 'undefined') {\n this.metrixElements = [];\n }\n else if (typeof arg1 === 'number') {\n this.metrixElements = [];\n this.metrixElements.push(arg1);\n this.metrixElements.push(arg2);\n this.metrixElements.push(arg3);\n this.metrixElements.push(arg4);\n this.metrixElements.push(arg5);\n this.metrixElements.push(arg6);\n }\n else {\n this.metrixElements = arg1;\n }\n }\n Object.defineProperty(Matrix.prototype, \"elements\", {\n // Properties\n /**\n * Gets the `elements`.\n * @private\n */\n get: function () {\n return this.metrixElements;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Matrix.prototype, \"offsetX\", {\n /**\n * Gets the off set `X`.\n * @private\n */\n get: function () {\n return this.metrixElements[4];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Matrix.prototype, \"offsetY\", {\n /**\n * Gets the off set `Y`.\n * @private\n */\n get: function () {\n return this.metrixElements[5];\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Translates` coordinates by specified coordinates.\n * @private\n */\n Matrix.prototype.translate = function (offsetX, offsetY) {\n this.metrixElements[4] = offsetX;\n this.metrixElements[5] = offsetY;\n };\n /**\n * `Translates` the specified offset X.\n * @private\n */\n Matrix.prototype.transform = function (point) {\n var x = point.x;\n var y = point.y;\n var x2 = x * this.elements[0] + y * this.elements[2] + this.offsetX;\n var y2 = x * this.elements[1] + y * this.elements[3] + this.offsetY;\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_1__.PointF(x2, y2);\n };\n /**\n * `Multiplies matrices` (changes coordinate system.)\n * @private\n */\n Matrix.prototype.multiply = function (matrix) {\n var tempMatrix = [];\n tempMatrix.push(this.elements[0] * matrix.elements[0] + this.elements[1] * matrix.elements[2]);\n tempMatrix[1] = (this.elements[0] * matrix.elements[1] + this.elements[1] * matrix.elements[3]);\n tempMatrix[2] = (this.elements[2] * matrix.elements[0] + this.elements[3] * matrix.elements[2]);\n tempMatrix[3] = (this.elements[2] * matrix.elements[1] + this.elements[3] * matrix.elements[3]);\n tempMatrix[4] = (this.offsetX * matrix.elements[0] + this.offsetY * matrix.elements[2] + matrix.offsetX);\n tempMatrix[5] = (this.offsetX * matrix.elements[1] + this.offsetY * matrix.elements[3] + matrix.offsetY);\n for (var i = 0; i < tempMatrix.length; i++) {\n this.elements[i] = tempMatrix[i];\n }\n };\n // IDisposable Members\n /**\n * `Dispose` this instance of PdfTransformationMatrix class.\n * @private\n */\n Matrix.prototype.dispose = function () {\n this.metrixElements = null;\n };\n // ICloneable Members\n /**\n * `Clones` this instance of PdfTransformationMatrix class.\n * @private\n */\n Matrix.prototype.clone = function () {\n var m = new Matrix(this.metrixElements);\n return m;\n };\n return Matrix;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transformation-matrix.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transparency.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transparency.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfTransparency: () => (/* binding */ PdfTransparency)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n\n\n\n\n/**\n * Represents a simple `transparency`.\n * @private\n */\nvar PdfTransparency = /** @class */ (function () {\n // Properties\n // /**\n // * Gets the `stroke` operation alpha value.\n // * @private\n // */\n // public get stroke() : number {\n // let result : number = this.getNumber(this.dictionaryProperties.CA);\n // return result;\n // }\n // /**\n // * Gets the `fill` operation alpha value.\n // * @private\n // */\n // public get fill() : number {\n // let result : number = this.getNumber(this.dictionaryProperties.ca);\n // return result;\n // }\n // /**\n // * Gets the `blend mode`.\n // * @private\n // */\n // public get mode() : PdfBlendMode {\n // let result : string = this.getName(this.dictionaryProperties.ca);\n // return PdfBlendMode.Normal;\n // }\n // Constructors\n /**\n * Initializes a new instance of the `Transparency` class.\n * @private\n */\n function PdfTransparency(stroke, fill, mode) {\n // Fields\n /**\n * Internal variable to store `dictionary`.\n * @default new PdfDictionary()\n * @private\n */\n this.dictionary = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n /**\n * Internal variable for accessing fields from `DictionryProperties` class.\n * @default new DictionaryProperties()\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n this.dictionary.items.setValue(this.dictionaryProperties.CA, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber(stroke));\n this.dictionary.items.setValue(this.dictionaryProperties.ca, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber(fill));\n this.dictionary.items.setValue(this.dictionaryProperties.BM, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(mode.toString()));\n }\n Object.defineProperty(PdfTransparency.prototype, \"element\", {\n // // Implementation\n // /**\n // * Gets the `number value`.\n // * @private\n // */\n // private getNumber(keyName : string) : number {\n // let result : number = 0.0;\n // let numb : PdfNumber = this.dictionary.items.getValue(keyName) as PdfNumber;\n // result = numb.intValue;\n // return result;\n // }\n // /**\n // * Gets the `name value`.\n // * @private\n // */\n // private getName(keyName : string) : string {\n // let result : string = null;\n // let name : PdfName = this.dictionary.items.getValue(keyName) as PdfName;\n // result = name.value;\n // return result;\n // }\n // IPdfWrapper Members\n /**\n * Gets the `element`.\n * @private\n */\n get: function () {\n return this.dictionary;\n },\n enumerable: true,\n configurable: true\n });\n return PdfTransparency;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transparency.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/unit-convertor.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/unit-convertor.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfUnitConverter: () => (/* binding */ PdfUnitConverter)\n/* harmony export */ });\n/**\n * Used to perform `convertion between pixels and points`.\n * @private\n */\nvar PdfUnitConverter = /** @class */ (function () {\n //constructors\n /**\n * Initializes a new instance of the `UnitConvertor` class with DPI value.\n * @private\n */\n function PdfUnitConverter(dpi) {\n this.updateProportionsHelper(dpi);\n }\n /**\n * `Converts` the value, from one graphics unit to another graphics unit.\n * @private\n */\n PdfUnitConverter.prototype.convertUnits = function (value, from, to) {\n return this.convertFromPixels(this.convertToPixels(value, from), to);\n };\n /**\n * Converts the value `to pixel` from specified graphics unit.\n * @private\n */\n PdfUnitConverter.prototype.convertToPixels = function (value, from) {\n var index = from;\n var result = (value * this.proportions[index]);\n return result;\n };\n /**\n * Converts value, to specified graphics unit `from Pixel`.\n * @private\n */\n PdfUnitConverter.prototype.convertFromPixels = function (value, to) {\n var index = to;\n var result = (value / this.proportions[index]);\n return result;\n };\n /**\n * `Update proportions` matrix according to Graphics settings.\n * @private\n */\n PdfUnitConverter.prototype.updateProportionsHelper = function (pixelPerInch) {\n this.proportions = [\n pixelPerInch / 2.54,\n pixelPerInch / 6.0,\n 1,\n pixelPerInch / 72.0,\n pixelPerInch,\n pixelPerInch / 300.0,\n pixelPerInch / 25.4 // Millimeter\n ];\n };\n //Fields\n /**\n * Indicates default `horizontal resolution`.\n * @default 96\n * @private\n */\n PdfUnitConverter.horizontalResolution = 96;\n /**\n * Indicates default `vertical resolution`.\n * @default 96\n * @private\n */\n PdfUnitConverter.verticalResolution = 96;\n return PdfUnitConverter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/unit-convertor.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/big-endian-writer.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/big-endian-writer.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BigEndianWriter: () => (/* binding */ BigEndianWriter)\n/* harmony export */ });\n/**\n * Writes data in BigEndian order.\n */\nvar BigEndianWriter = /** @class */ (function () {\n //Constructors\n /**\n * Creates a new writer.\n */\n function BigEndianWriter(capacity) {\n //Constants\n /**\n * Size of Int32 type.\n */\n this.int32Size = 4;\n /**\n * Size of Int16 type.\n */\n this.int16Size = 2;\n /**\n * Size of long type.\n */\n this.int64Size = 8;\n this.bufferLength = capacity;\n this.buffer = [];\n }\n Object.defineProperty(BigEndianWriter.prototype, \"data\", {\n //Properties\n /**\n * Gets data written to the writer.\n */\n get: function () {\n if (this.buffer.length < this.bufferLength) {\n var length_1 = this.bufferLength - this.buffer.length;\n for (var i = 0; i < length_1; i++) {\n this.buffer.push(0);\n }\n }\n return this.buffer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BigEndianWriter.prototype, \"position\", {\n /// \n /// Gets position of the internal buffer.\n /// \n get: function () {\n if (this.internalPosition === undefined || this.internalPosition === null) {\n this.internalPosition = 0;\n }\n return this.internalPosition;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Writes short value.\n */\n BigEndianWriter.prototype.writeShort = function (value) {\n var bytes = [((value & 0x0000ff00) >> 8), value & 0x000000ff];\n this.flush(bytes);\n };\n /**\n * Writes int value.\n */\n BigEndianWriter.prototype.writeInt = function (value) {\n var i1 = (value & 0xff000000) >> 24;\n i1 = i1 < 0 ? 256 + i1 : i1;\n var i2 = (value & 0x00ff0000) >> 16;\n i2 = i2 < 0 ? 256 + i2 : i2;\n var i3 = (value & 0x0000ff00) >> 8;\n i3 = i3 < 0 ? 256 + i3 : i3;\n var i4 = value & 0x000000ff;\n i4 = i4 < 0 ? 256 + i4 : i4;\n var bytes = [(value & 0xff000000) >> 24, (value & 0x00ff0000) >> 16, (value & 0x0000ff00) >> 8, value & 0x000000ff];\n this.flush(bytes);\n };\n /**\n * Writes u int value.\n */\n BigEndianWriter.prototype.writeUInt = function (value) {\n var buff = [(value & 0xff000000) >> 24, (value & 0x00ff0000) >> 16, (value & 0x0000ff00) >> 8, value & 0x000000ff];\n this.flush(buff);\n };\n /**\n * Writes string value.\n */\n BigEndianWriter.prototype.writeString = function (value) {\n if (value == null) {\n throw new Error('Argument Null Exception : value');\n }\n var bytes = [];\n for (var i = 0; i < value.length; i++) {\n bytes.push(value.charCodeAt(i));\n }\n this.flush(bytes);\n };\n /**\n * Writes byte[] value.\n */\n BigEndianWriter.prototype.writeBytes = function (value) {\n this.flush(value);\n };\n // //Implementation\n BigEndianWriter.prototype.flush = function (buff) {\n if (buff === null) {\n throw new Error('Argument Null Exception : buff');\n }\n var position = this.position;\n for (var i = 0; i < buff.length; i++) {\n this.buffer[position] = buff[i];\n position++;\n }\n this.internalPosition += buff.length;\n };\n return BigEndianWriter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/big-endian-writer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/cross-table.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/cross-table.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectType: () => (/* binding */ ObjectType)\n/* harmony export */ });\n/**\n * public Enum for `ObjectType`.\n * @private\n */\nvar ObjectType;\n(function (ObjectType) {\n /**\n * Specifies the type of `Free`.\n * @private\n */\n ObjectType[ObjectType[\"Free\"] = 0] = \"Free\";\n /**\n * Specifies the type of `Normal`.\n * @private\n */\n ObjectType[ObjectType[\"Normal\"] = 1] = \"Normal\";\n /**\n * Specifies the type of `Packed`.\n * @private\n */\n ObjectType[ObjectType[\"Packed\"] = 2] = \"Packed\";\n})(ObjectType || (ObjectType = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/cross-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/enum.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/enum.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectStatus: () => (/* binding */ ObjectStatus)\n/* harmony export */ });\n/**\n * public Enum for `CompositeFontType`.\n * @private\n */\nvar ObjectStatus;\n(function (ObjectStatus) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n ObjectStatus[ObjectStatus[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `Registered`.\n * @private\n */\n ObjectStatus[ObjectStatus[\"Registered\"] = 1] = \"Registered\";\n})(ObjectStatus || (ObjectStatus = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/enum.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-cross-table.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-cross-table.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfCrossTable: () => (/* binding */ PdfCrossTable),\n/* harmony export */ RegisteredObject: () => (/* binding */ RegisteredObject)\n/* harmony export */ });\n/* harmony import */ var _input_output_enum__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../input-output/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/enum.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _pdf_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _cross_table__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cross-table */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/cross-table.js\");\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _document_pdf_catalog__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../document/pdf-catalog */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-catalog.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfCrossTable` is responsible for intermediate level parsing\n * and savingof a PDF document.\n * @private\n */\nvar PdfCrossTable = /** @class */ (function () {\n function PdfCrossTable() {\n /**\n * The modified `objects` that should be saved.\n * @private\n */\n this.objects = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n /**\n * Holds `maximal generation number` or offset to object.\n * @default 0\n * @private\n */\n this.maxGenNumIndex = 0;\n /**\n * The `number of the objects`.\n * @default 0\n * @private\n */\n this.objectCount = 0;\n /**\n * Internal variable for accessing fields from `DictionryProperties` class.\n * @default new PdfDictionaryProperties()\n * @private\n */\n this.dictionaryProperties = new _pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n }\n Object.defineProperty(PdfCrossTable.prototype, \"isMerging\", {\n //Properties\n /**\n * Gets or sets if the document `is merged`.\n * @private\n */\n get: function () {\n return this.merging;\n },\n set: function (value) {\n this.merging = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCrossTable.prototype, \"trailer\", {\n /**\n * Gets the `trailer`.\n * @private\n */\n get: function () {\n if (this.internalTrailer == null) {\n this.internalTrailer = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream();\n }\n return this.internalTrailer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCrossTable.prototype, \"document\", {\n /**\n * Gets or sets the main `PdfDocument` class instance.\n * @private\n */\n get: function () {\n return this.pdfDocument;\n },\n set: function (value) {\n this.pdfDocument = value;\n this.items = this.pdfDocument.pdfObjects;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCrossTable.prototype, \"pdfObjects\", {\n /**\n * Gets the catched `PDF object` main collection.\n * @private\n */\n get: function () {\n return this.items;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCrossTable.prototype, \"objectCollection\", {\n /**\n * Gets the `object collection`.\n * @private\n */\n get: function () {\n return this.pdfDocument.pdfObjects;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCrossTable.prototype, \"count\", {\n /**\n * Gets or sets the `number of the objects` within the document.\n * @private\n */\n get: function () {\n return this.objectCount;\n },\n set: function (value) {\n this.objectCount = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfCrossTable.prototype, \"nextObjNumber\", {\n /**\n * Returns `next available object number`.\n * @private\n */\n get: function () {\n this.count = this.count + 1;\n return this.count;\n },\n enumerable: true,\n configurable: true\n });\n PdfCrossTable.prototype.save = function (writer, filename) {\n this._saveProcess(writer);\n if (typeof filename === 'undefined') {\n return writer.stream.buffer;\n }\n else {\n writer.stream.save(filename);\n }\n };\n /**\n * Saves the cross-reference table into the stream.\n * @private\n */\n PdfCrossTable.prototype._saveProcess = function (writer) {\n this.saveHead(writer);\n this.mappedReferences = null;\n this.objects.clear();\n this.markTrailerReferences();\n this.saveObjects(writer);\n var saveCount = this.count;\n var xrefPos = writer.position;\n this.registerObject(0, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReference(0, -1), true);\n var prevXRef = 0;\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.xref);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n this.saveSections(writer);\n this.saveTrailer(writer, this.count, prevXRef);\n this.saveTheEndess(writer, xrefPos);\n this.count = saveCount;\n for (var i = 0; i < this.objectCollection.count; ++i) {\n var oi = this.objectCollection.items(i);\n oi.object.isSaving = false;\n }\n };\n /**\n * Saves the cross-reference table into the stream.\n * @private\n */\n PdfCrossTable.prototype._save = function (writer) {\n this._saveProcess(writer);\n return new Uint8Array(writer.stream.buffer.buffer);\n };\n /**\n * `Saves the endess` of the file.\n * @private\n */\n PdfCrossTable.prototype.saveTheEndess = function (writer, xrefPos) {\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.startxref + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n writer.write(xrefPos.toString() + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.eof + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n };\n /**\n * `Saves the new trailer` dictionary.\n * @private\n */\n PdfCrossTable.prototype.saveTrailer = function (writer, count, prevXRef) {\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.trailer + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n // Save the dictionary.\n var trailer = this.trailer;\n trailer.items.setValue(this.dictionaryProperties.size, new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_5__.PdfNumber(this.objectCount + 1));\n trailer = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__.PdfDictionary(trailer); // Make it real dictionary.\n trailer.setEncrypt(false);\n trailer.save(writer);\n };\n /**\n * `Saves the xref section`.\n * @private\n */\n PdfCrossTable.prototype.saveSections = function (writer) {\n var objectNum = 0;\n var count = 0;\n do {\n count = this.prepareSubsection(objectNum);\n this.saveSubsection(writer, objectNum, count);\n objectNum += count;\n } while (count !== 0);\n };\n /**\n * `Saves a subsection`.\n * @private\n */\n PdfCrossTable.prototype.saveSubsection = function (writer, objectNum, count) {\n if (count <= 0 || objectNum >= this.count) {\n return;\n }\n var subsectionHead = '{0} {1}{2}';\n writer.write(objectNum + ' ' + (count + 1) + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n for (var i = objectNum; i <= objectNum + count; ++i) {\n var obj = this.objects.getValue(i);\n var str = '';\n if (obj.type === _cross_table__WEBPACK_IMPORTED_MODULE_7__.ObjectType.Free) {\n str = this.getItem(obj.offset, 65535, true);\n }\n else {\n str = this.getItem(obj.offset, obj.generation, false);\n }\n writer.write(str);\n }\n };\n /**\n * Generates string for `xref table item`.\n * @private\n */\n PdfCrossTable.prototype.getItem = function (offset, genNumber, isFree) {\n var returnString = '';\n var addOffsetLength = 10 - offset.toString().length;\n if (genNumber <= 0) {\n genNumber = 0;\n }\n var addGenNumberLength = (5 - genNumber.toString().length) <= 0 ? 0 : (5 - genNumber.toString().length);\n for (var index = 0; index < addOffsetLength; index++) {\n returnString = returnString + '0';\n }\n returnString = returnString + offset.toString() + ' ';\n for (var index = 0; index < addGenNumberLength; index++) {\n returnString = returnString + '0';\n }\n returnString = returnString + genNumber.toString() + ' ';\n returnString = returnString + ((isFree) ? _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.f : _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.n) + _pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine;\n return returnString;\n };\n /**\n * `Prepares a subsection` of the current section within the cross-reference table.\n * @private\n */\n PdfCrossTable.prototype.prepareSubsection = function (objectNum) {\n var count = 0;\n var i;\n var total = this.count;\n for (var k = 0; k < this.document.pdfObjects.count; k++) {\n var reference = this.document.pdfObjects.items(k).reference;\n var refString = reference.toString();\n var refArray = refString.split(' ');\n }\n if (objectNum >= total) {\n return count;\n }\n // search for first changed indirect object.\n for (i = objectNum; i < total; ++i) {\n break;\n }\n objectNum = i;\n // look up for all indirect objects in one subsection.\n for (; i < total; ++i) {\n ++count;\n }\n return count;\n };\n /**\n * `Marks the trailer references` being saved.\n * @private\n */\n PdfCrossTable.prototype.markTrailerReferences = function () {\n var tempArray;\n var keys = this.trailer.items.keys();\n var values = this.trailer.items.values();\n };\n /**\n * `Saves the head`.\n * @private\n */\n PdfCrossTable.prototype.saveHead = function (writer) {\n var version = this.generateFileVersion(writer.document);\n writer.write('%PDF-' + version);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n };\n /**\n * Generates the `version` of the file.\n * @private\n */\n PdfCrossTable.prototype.generateFileVersion = function (document) {\n var iVersion = 4;\n var version = '1.' + iVersion.toString();\n return version;\n };\n PdfCrossTable.prototype.getReference = function (obj, bNew) {\n if (typeof bNew === 'undefined') {\n var wasNew = false;\n return this.getReference(obj, wasNew);\n }\n else {\n //code splitted for reducing lines of code exceeds 100.\n return this.getSubReference(obj, bNew);\n }\n };\n /**\n * Retrieves the `reference` of the object given.\n * @private\n */\n PdfCrossTable.prototype.getSubReference = function (obj, bNew) {\n var isNew = false;\n var wasNew;\n var reference = null;\n // if (obj.IsSaving) {\n if (this.items.count > 0 && obj.objectCollectionIndex > 0 && this.items.count > obj.objectCollectionIndex - 1) {\n var tempObj = this.document.pdfObjects.getReference(obj, wasNew);\n reference = tempObj.reference;\n wasNew = tempObj.wasNew;\n }\n if (reference == null) {\n if (obj.status === _input_output_enum__WEBPACK_IMPORTED_MODULE_8__.ObjectStatus.Registered) {\n wasNew = false;\n }\n else {\n wasNew = true;\n }\n }\n else {\n wasNew = false;\n }\n // need to add mapped reference code\n if (reference == null) {\n var objnumber = this.nextObjNumber;\n reference = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReference(objnumber, 0);\n var found = void 0;\n if (wasNew) {\n this.document.pdfObjects.add(obj);\n this.document.pdfObjects.trySetReference(obj, reference, found);\n var tempIndex = this.document.pdfObjects.count - 1;\n var tempkey = this.document.pdfObjects.objectCollections[tempIndex].reference.objNumber;\n var tempvalue = this.document.pdfObjects.objectCollections[this.document.pdfObjects.count - 1];\n this.document.pdfObjects.mainObjectCollection.setValue(tempkey, tempvalue);\n obj.position = -1;\n }\n else {\n this.document.pdfObjects.trySetReference(obj, reference, found);\n }\n obj.objectCollectionIndex = reference.objNumber;\n obj.status = _input_output_enum__WEBPACK_IMPORTED_MODULE_8__.ObjectStatus.None;\n isNew = true;\n }\n bNew = isNew || this.bForceNew;\n return reference;\n };\n /**\n * `Saves all objects` in the collection.\n * @private\n */\n PdfCrossTable.prototype.saveObjects = function (writer) {\n var objectCollection = this.objectCollection;\n for (var i = 0; i < objectCollection.count; ++i) {\n var oi = objectCollection.items(i);\n var obj = oi.object;\n obj.isSaving = true;\n this.saveIndirectObject(obj, writer);\n }\n };\n /**\n * `Saves indirect object`.\n * @private\n */\n PdfCrossTable.prototype.saveIndirectObject = function (obj, writer) {\n var reference = this.getReference(obj);\n if (obj instanceof _document_pdf_catalog__WEBPACK_IMPORTED_MODULE_9__.PdfCatalog) {\n this.trailer.items.setValue(this.dictionaryProperties.root, reference);\n }\n // NOTE : This is needed for correct string objects encryption.\n this.pdfDocument.currentSavingObj = reference;\n var tempArchive = false;\n tempArchive = obj.getArchive();\n var allowedType = !((obj instanceof _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream) || !tempArchive || (obj instanceof _document_pdf_catalog__WEBPACK_IMPORTED_MODULE_9__.PdfCatalog));\n var sigFlag = false;\n this.registerObject(writer.position, reference);\n this.doSaveObject(obj, reference, writer);\n };\n /**\n * Performs `real saving` of the save object.\n * @private\n */\n PdfCrossTable.prototype.doSaveObject = function (obj, reference, writer) {\n writer.write(reference.objNumber.toString());\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.whiteSpace);\n writer.write(reference.genNumber.toString());\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.whiteSpace);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.obj);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n obj.save(writer);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.endObj);\n writer.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_4__.Operators.newLine);\n };\n PdfCrossTable.prototype.registerObject = function (offset, reference, free) {\n if (typeof free === 'boolean') {\n // Register the object by its number.\n this.objects.setValue(reference.objNumber, new RegisteredObject(offset, reference, free));\n this.maxGenNumIndex = Math.max(this.maxGenNumIndex, reference.genNumber);\n }\n else if (typeof free === 'undefined') {\n // Register the object by its number.\n this.objects.setValue(reference.objNumber, new RegisteredObject(offset, reference));\n this.maxGenNumIndex = Math.max(this.maxGenNumIndex, reference.genNumber);\n }\n };\n /**\n * `Dereferences` the specified primitive object.\n * @private\n */\n PdfCrossTable.dereference = function (obj) {\n var rh = obj;\n if (rh != null) {\n obj = rh.object;\n }\n return obj;\n };\n return PdfCrossTable;\n}());\n\nvar RegisteredObject = /** @class */ (function () {\n function RegisteredObject(offset, reference, free) {\n var tempOffset = offset;\n this.offsetNumber = tempOffset;\n var tempReference = reference;\n this.generation = tempReference.genNumber;\n this.object = tempReference.objNumber;\n if (typeof free === 'undefined') {\n this.type = _cross_table__WEBPACK_IMPORTED_MODULE_7__.ObjectType.Normal;\n }\n else {\n this.type = _cross_table__WEBPACK_IMPORTED_MODULE_7__.ObjectType.Free;\n }\n }\n Object.defineProperty(RegisteredObject.prototype, \"objectNumber\", {\n //Properties\n /**\n * Gets the `object number`.\n * @private\n */\n get: function () {\n return this.object;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RegisteredObject.prototype, \"offset\", {\n /**\n * Gets the `offset`.\n * @private\n */\n get: function () {\n var result;\n result = this.offsetNumber;\n return result;\n },\n enumerable: true,\n configurable: true\n });\n return RegisteredObject;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-cross-table.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js": +/*!**************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DictionaryProperties: () => (/* binding */ DictionaryProperties)\n/* harmony export */ });\n/**\n * dictionaryProperties.ts class for EJ2-PDF\n * PDF dictionary properties.\n * @private\n */\nvar DictionaryProperties = /** @class */ (function () {\n /**\n * Initialize an instance for `PdfDictionaryProperties` class.\n * @private\n */\n function DictionaryProperties() {\n /**\n * Specifies the value of `Pages`.\n * @private\n */\n this.pages = 'Pages';\n /**\n * Specifies the value of `Kids`.\n * @private\n */\n this.kids = 'Kids';\n /**\n * Specifies the value of `Count`.\n * @private\n */\n this.count = 'Count';\n /**\n * Specifies the value of `Resources`.\n * @private\n */\n this.resources = 'Resources';\n /**\n * Specifies the value of `Type`.\n * @private\n */\n this.type = 'Type';\n /**\n * Specifies the value of `Size`.\n * @private\n */\n this.size = 'Size';\n /**\n * Specifies the value of `MediaBox`.\n * @private\n */\n this.mediaBox = 'MediaBox';\n /**\n * Specifies the value of `Parent`.\n * @private\n */\n this.parent = 'Parent';\n /**\n * Specifies the value of `Root`.\n * @private\n */\n this.root = 'Root';\n /**\n * Specifies the value of `DecodeParms`.\n * @private\n */\n this.decodeParms = 'DecodeParms';\n /**\n * Specifies the value of `Filter`.\n * @private\n */\n this.filter = 'Filter';\n /**\n * Specifies the value of `Font`.\n * @private\n */\n this.font = 'Font';\n /**\n * Specifies the value of `Type1`.\n * @private\n */\n this.type1 = 'Type1';\n /**\n * Specifies the value of `BaseFont`.\n * @private\n */\n this.baseFont = 'BaseFont';\n /**\n * Specifies the value of `Encoding`.\n * @private\n */\n this.encoding = 'Encoding';\n /**\n * Specifies the value of `Subtype`.\n * @private\n */\n this.subtype = 'Subtype';\n /**\n * Specifies the value of `Contents`.\n * @private\n */\n this.contents = 'Contents';\n /**\n * Specifies the value of `ProcSet`.\n * @private\n */\n this.procset = 'ProcSet';\n /**\n * Specifies the value of `ColorSpace`.\n * @private\n */\n this.colorSpace = 'ColorSpace';\n /**\n * Specifies the value of `ExtGState`.\n * @private\n */\n this.extGState = 'ExtGState';\n /**\n * Specifies the value of `Pattern`.\n * @private\n */\n this.pattern = 'Pattern';\n /**\n * Specifies the value of `XObject`.\n * @private\n */\n this.xObject = 'XObject';\n /**\n * Specifies the value of `Length`.\n * @private\n */\n this.length = 'Length';\n /**\n * Specifies the value of `Width`.\n * @private\n */\n this.width = 'Width';\n /**\n * Specifies the value of `Height`.\n * @private\n */\n this.height = 'Height';\n /**\n * Specifies the value of `BitsPerComponent`.\n * @private\n */\n this.bitsPerComponent = 'BitsPerComponent';\n /**\n * Specifies the value of `Image`.\n * @private\n */\n this.image = 'Image';\n /**\n * Specifies the value of `dctdecode`.\n * @private\n */\n this.dctdecode = 'DCTDecode';\n /**\n * Specifies the value of `Columns`.\n * @private\n */\n this.columns = 'Columns';\n /**\n * Specifies the value of `BlackIs1`.\n * @private\n */\n this.blackIs1 = 'BlackIs1';\n /**\n * Specifies the value of `K`.\n * @private\n */\n this.k = 'K';\n /**\n * Specifies the value of `S`.\n * @private\n */\n this.s = 'S';\n /**\n * Specifies the value of `Predictor`.\n * @private\n */\n this.predictor = 'Predictor';\n /**\n * Specifies the value of `DeviceRGB`.\n * @private\n */\n this.deviceRgb = 'DeviceRGB';\n /**\n * Specifies the value of `Next`.\n * @private\n */\n this.next = 'Next';\n /**\n * Specifies the value of `Action`.\n * @private\n */\n this.action = 'Action';\n /**\n * Specifies the value of `Link`.\n * @private\n */\n this.link = 'Link';\n /**\n *\n * Specifies the value of `A`.\n * @private\n */\n this.a = 'A';\n /**\n * Specifies the value of `Annot`.\n * @private\n */\n this.annot = 'Annot';\n /**\n * Specifies the value of `P`.\n * @private\n */\n this.p = 'P';\n /**\n * Specifies the value of `C`.\n * @private\n */\n this.c = 'C';\n /**\n * Specifies the value of `Rect`.\n * @private\n */\n this.rect = 'Rect';\n /**\n * Specifies the value of `URI`.\n * @private\n */\n this.uri = 'URI';\n /**\n * Specifies the value of `Annots`.\n * @private\n */\n this.annots = 'Annots';\n /**\n * Specifies the value of `ca`.\n * @private\n */\n this.ca = 'ca';\n /**\n * Specifies the value of `CA`.\n * @private\n */\n this.CA = 'CA';\n /**\n * Specifies the value of `XYZ`.\n * @private\n */\n this.xyz = 'XYZ';\n /**\n * Specifies the value of `Fit`.\n * @private\n */\n this.fit = 'Fit';\n /**\n * Specifies the value of `Dest`.\n * @private\n */\n this.dest = 'Dest';\n /**\n * Specifies the value of `BM`.\n * @private\n */\n this.BM = 'BM';\n /**\n * Specifies the value of `flatedecode`.\n * @private\n */\n this.flatedecode = 'FlateDecode';\n /**\n * Specifies the value of `Rotate`.\n * @private\n */\n this.rotate = 'Rotate';\n /**\n * Specifies the value of 'bBox'.\n * @private\n */\n this.bBox = 'BBox';\n /**\n * Specifies the value of 'form'.\n * @private\n */\n this.form = 'Form';\n /**\n * Specifies the value of 'w'.\n * @private\n */\n this.w = 'W';\n /**\n * Specifies the value of 'cIDFontType2'.\n * @private\n */\n this.cIDFontType2 = 'CIDFontType2';\n /**\n * Specifies the value of 'cIDToGIDMap'.\n * @private\n */\n this.cIDToGIDMap = 'CIDToGIDMap';\n /**\n * Specifies the value of 'identity'.\n * @private\n */\n this.identity = 'Identity';\n /**\n * Specifies the value of 'dw'.\n * @private\n */\n this.dw = 'DW';\n /**\n * Specifies the value of 'fontDescriptor'.\n * @private\n */\n this.fontDescriptor = 'FontDescriptor';\n /**\n * Specifies the value of 'cIDSystemInfo'.\n * @private\n */\n this.cIDSystemInfo = 'CIDSystemInfo';\n /**\n * Specifies the value of 'fontName'.\n * @private\n */\n this.fontName = 'FontName';\n /**\n * Specifies the value of 'flags'.\n * @private\n */\n this.flags = 'Flags';\n /**\n * Specifies the value of 'fontBBox'.\n * @private\n */\n this.fontBBox = 'FontBBox';\n /**\n * Specifies the value of 'missingWidth'.\n * @private\n */\n this.missingWidth = 'MissingWidth';\n /**\n * Specifies the value of 'stemV'.\n * @private\n */\n this.stemV = 'StemV';\n /**\n * Specifies the value of 'italicAngle'.\n * @private\n */\n this.italicAngle = 'ItalicAngle';\n /**\n * Specifies the value of 'capHeight'.\n * @private\n */\n this.capHeight = 'CapHeight';\n /**\n * Specifies the value of 'ascent'.\n * @private\n */\n this.ascent = 'Ascent';\n /**\n * Specifies the value of 'descent'.\n * @private\n */\n this.descent = 'Descent';\n /**\n * Specifies the value of 'leading'.\n * @private\n */\n this.leading = 'Leading';\n /**\n * Specifies the value of 'avgWidth'.\n * @private\n */\n this.avgWidth = 'AvgWidth';\n /**\n * Specifies the value of 'fontFile2'.\n * @private\n */\n this.fontFile2 = 'FontFile2';\n /**\n * Specifies the value of 'maxWidth'.\n * @private\n */\n this.maxWidth = 'MaxWidth';\n /**\n * Specifies the value of 'xHeight'.\n * @private\n */\n this.xHeight = 'XHeight';\n /**\n * Specifies the value of 'stemH'.\n * @private\n */\n this.stemH = 'StemH';\n /**\n * Specifies the value of 'registry'.\n * @private\n */\n this.registry = 'Registry';\n /**\n * Specifies the value of 'ordering'.\n * @private\n */\n this.ordering = 'Ordering';\n /**\n * Specifies the value of 'supplement'.\n * @private\n */\n this.supplement = 'Supplement';\n /**\n * Specifies the value of 'type0'.\n * @private\n */\n this.type0 = 'Type0';\n /**\n * Specifies the value of 'identityH'.\n * @private\n */\n this.identityH = 'Identity-H';\n /**\n * Specifies the value of 'toUnicode'.\n * @private\n */\n this.toUnicode = 'ToUnicode';\n /**\n * Specifies the value of 'descendantFonts'.\n * @private\n */\n this.descendantFonts = 'DescendantFonts';\n /**\n * Specifies the value of 'background'.\n * @private\n */\n this.background = 'Background';\n /**\n * Specifies the value of 'shading'.\n * @private\n */\n this.shading = 'Shading';\n /**\n * Specifies the value of 'matrix'.\n * @private\n */\n this.matrix = 'Matrix';\n /**\n * Specifies the value of 'antiAlias'.\n * @private\n */\n this.antiAlias = 'AntiAlias';\n /**\n * Specifies the value of 'function'.\n * @private\n */\n this.function = 'Function';\n /**\n * Specifies the value of 'extend'.\n * @private\n */\n this.extend = 'Extend';\n /**\n * Specifies the value of 'shadingType'.\n * @private\n */\n this.shadingType = 'ShadingType';\n /**\n * Specifies the value of 'coords'.\n * @private\n */\n this.coords = 'Coords';\n /**\n * Specifies the value of 'domain'.\n * @private\n */\n this.domain = 'Domain';\n /**\n * Specifies the value of 'range'.\n * @private\n */\n this.range = 'Range';\n /**\n * Specifies the value of 'functionType'.\n * @private\n */\n this.functionType = 'FunctionType';\n /**\n * Specifies the value of 'bitsPerSample'.\n * @private\n */\n this.bitsPerSample = 'BitsPerSample';\n /**\n * Specifies the value of 'patternType'.\n * @private\n */\n this.patternType = 'PatternType';\n /**\n * Specifies the value of 'paintType'.\n * @private\n */\n this.paintType = 'PaintType';\n /**\n * Specifies the value of 'tilingType'.\n * @private\n */\n this.tilingType = 'TilingType';\n /**\n * Specifies the value of 'xStep'.\n * @private\n */\n this.xStep = 'XStep';\n /**\n * Specifies the value of 'yStep'.\n * @private\n */\n this.yStep = 'YStep';\n /**\n * Specifies the value of viewer preferences.\n * @private\n */\n this.viewerPreferences = 'ViewerPreferences';\n /**\n * Specifies the value of center window.\n * @private\n */\n this.centerWindow = 'CenterWindow';\n /**\n * Specifies the value of display title.\n * @private\n */\n this.displayTitle = 'DisplayTitle';\n /**\n * Specifies the value of fit window.\n * @private\n */\n this.fitWindow = 'FitWindow';\n /**\n * Specifies the value of hide menu bar.\n * @private\n */\n this.hideMenuBar = 'HideMenubar';\n /**\n * Specifies the value of hide tool bar.\n * @private\n */\n this.hideToolBar = 'HideToolbar';\n /**\n * Specifies the value of hide window UI.\n * @private\n */\n this.hideWindowUI = 'HideWindowUI';\n /**\n * Specifies the value of page mode.\n * @private\n */\n this.pageMode = 'PageMode';\n /**\n * Specifies the value of page layout.\n * @private\n */\n this.pageLayout = 'PageLayout';\n /**\n * Specifies the value of duplex.\n * @private\n */\n this.duplex = 'Duplex';\n /**\n * Specifies the value of print scaling.\n * @private\n */\n this.printScaling = 'PrintScaling';\n //\n }\n return DictionaryProperties;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-main-object-collection.js": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-main-object-collection.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectInfo: () => (/* binding */ ObjectInfo),\n/* harmony export */ PdfMainObjectCollection: () => (/* binding */ PdfMainObjectCollection)\n/* harmony export */ });\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/enum.js\");\n/**\n * PdfMainObjectCollection.ts class for EJ2-PDF\n */\n\n\n/**\n * The collection of all `objects` within a PDF document.\n * @private\n */\nvar PdfMainObjectCollection = /** @class */ (function () {\n function PdfMainObjectCollection() {\n //Fields\n /**\n * The collection of the `indirect objects`.\n * @default []\n * @private\n */\n this.objectCollections = [];\n /**\n * The collection of the `Indirect objects`.\n * @default new Dictionary()\n * @private\n */\n this.mainObjectCollection = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n /**\n * The collection of `primitive objects`.\n * @private\n */\n this.primitiveObjectCollection = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n }\n Object.defineProperty(PdfMainObjectCollection.prototype, \"count\", {\n //Properties\n /**\n * Gets the `count`.\n * @private\n */\n get: function () {\n return this.objectCollections.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets the value of `ObjectInfo` from object collection.\n * @private\n */\n PdfMainObjectCollection.prototype.items = function (index) {\n return this.objectCollections[index];\n };\n Object.defineProperty(PdfMainObjectCollection.prototype, \"outIsNew\", {\n //Methods\n /**\n * Specifies the value of `IsNew`.\n * @private\n */\n get: function () {\n return this.isNew;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Adds` the specified element.\n * @private\n */\n PdfMainObjectCollection.prototype.add = function (element) {\n var objInfo = new ObjectInfo(element);\n this.objectCollections.push(objInfo);\n if (!this.primitiveObjectCollection.containsKey(element)) {\n this.primitiveObjectCollection.setValue(element, this.objectCollections.length - 1);\n }\n element.position = this.index = this.objectCollections.length - 1;\n element.status = _enum__WEBPACK_IMPORTED_MODULE_1__.ObjectStatus.Registered;\n };\n /**\n * `Looks` through the collection for the object specified.\n * @private\n */\n PdfMainObjectCollection.prototype.lookFor = function (obj) {\n var index = -1;\n if (obj.position !== -1) {\n return obj.position;\n }\n if (this.primitiveObjectCollection.containsKey(obj) && this.count === this.primitiveObjectCollection.size()) {\n index = this.primitiveObjectCollection.getValue(obj);\n }\n else {\n for (var i = this.count - 1; i >= 0; i--) {\n var oi = this.objectCollections[i];\n if (oi.object === obj) {\n index = i;\n break;\n }\n }\n }\n return index;\n };\n /**\n * Gets the `reference of the object`.\n * @private\n */\n PdfMainObjectCollection.prototype.getReference = function (index, isNew) {\n this.index = this.lookFor(index);\n var reference;\n this.isNew = false;\n var oi = this.objectCollections[this.index];\n reference = oi.reference;\n var obj = { reference: reference, wasNew: isNew };\n return obj;\n };\n /**\n * Tries to set the `reference to the object`.\n * @private\n */\n PdfMainObjectCollection.prototype.trySetReference = function (obj, reference, found) {\n var result = true;\n found = true;\n this.index = this.lookFor(obj);\n var oi = this.objectCollections[this.index];\n oi.setReference(reference);\n return result;\n };\n PdfMainObjectCollection.prototype.destroy = function () {\n for (var _i = 0, _a = this.objectCollections; _i < _a.length; _i++) {\n var obj = _a[_i];\n if (obj !== undefined) {\n obj.pdfObject.position = -1;\n obj.pdfObject.isSaving = undefined;\n obj.pdfObject.objectCollectionIndex = undefined;\n obj.pdfObject.position = undefined;\n }\n }\n this.objectCollections = [];\n this.mainObjectCollection = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n this.primitiveObjectCollection = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n };\n return PdfMainObjectCollection;\n}());\n\nvar ObjectInfo = /** @class */ (function () {\n function ObjectInfo(obj, reference) {\n this.pdfObject = obj;\n this.pdfReference = reference;\n }\n Object.defineProperty(ObjectInfo.prototype, \"object\", {\n //Properties\n /**\n * Gets the `object`.\n * @private\n */\n get: function () {\n return this.pdfObject;\n },\n set: function (value) {\n this.pdfObject = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ObjectInfo.prototype, \"reference\", {\n /**\n * Gets the `reference`.\n * @private\n */\n get: function () {\n return this.pdfReference;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Sets the `reference`.\n * @private\n */\n ObjectInfo.prototype.setReference = function (reference) {\n this.pdfReference = reference;\n };\n return ObjectInfo;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-main-object-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Operators: () => (/* binding */ Operators)\n/* harmony export */ });\n/**\n * PdfOperators.ts class for EJ2-PDF\n * Class of string PDF common operators.\n * @private\n */\nvar Operators = /** @class */ (function () {\n /**\n * Create an instance of `PdfOperator` class.\n * @private\n */\n function Operators() {\n /**\n * Specifies the value of `test`.\n * @private\n */\n this.forTest = 'test';\n this.forTest = Operators.obj;\n }\n /**\n * Specifies the value of `obj`.\n * @private\n */\n Operators.obj = 'obj';\n /**\n * Specifies the value of `endObj`.\n * @private\n */\n Operators.endObj = 'endobj';\n /**\n * Specifies the value of `R`.\n * @private\n */\n Operators.r = 'R';\n /**\n * Specifies the value of ` `.\n * @private\n */\n Operators.whiteSpace = ' ';\n /**\n * Specifies the value of `/`.\n * @private\n */\n Operators.slash = '/';\n /**\n * Specifies the value of `\\r\\n`.\n * @private\n */\n Operators.newLine = '\\r\\n';\n /**\n * Specifies the value of `stream`.\n * @private\n */\n Operators.stream = 'stream';\n /**\n * Specifies the value of `endStream`.\n * @private\n */\n Operators.endStream = 'endstream';\n /**\n * Specifies the value of `xref`.\n * @private\n */\n Operators.xref = 'xref';\n /**\n * Specifies the value of `f`.\n * @private\n */\n Operators.f = 'f';\n /**\n * Specifies the value of `n`.\n * @private\n */\n Operators.n = 'n';\n /**\n * Specifies the value of `trailer`.\n * @private\n */\n Operators.trailer = 'trailer';\n /**\n * Specifies the value of `startxref`.\n * @private\n */\n Operators.startxref = 'startxref';\n /**\n * Specifies the value of `eof`.\n * @private\n */\n Operators.eof = '%%EOF';\n /**\n * Specifies the value of `header`.\n * @private\n */\n Operators.header = '%PDF-1.5';\n /**\n * Specifies the value of `beginText`.\n * @private\n */\n Operators.beginText = 'BT';\n /**\n * Specifies the value of `endText`.\n * @private\n */\n Operators.endText = 'ET';\n /**\n * Specifies the value of `m`.\n * @private\n */\n Operators.beginPath = 'm';\n /**\n * Specifies the value of `l`.\n * @private\n */\n Operators.appendLineSegment = 'l';\n /**\n * Specifies the value of `S`.\n * @private\n */\n Operators.stroke = 'S';\n /**\n * Specifies the value of `f`.\n * @private\n */\n Operators.fill = 'f';\n /**\n * Specifies the value of `f*`.\n * @private\n */\n Operators.fillEvenOdd = 'f*';\n /**\n * Specifies the value of `B`.\n * @private\n */\n Operators.fillStroke = 'B';\n /**\n * Specifies the value of `B*`.\n * @private\n */\n Operators.fillStrokeEvenOdd = 'B*';\n /**\n * Specifies the value of `c`.\n * @private\n */\n Operators.appendbeziercurve = 'c';\n /**\n * Specifies the value of `re`.\n * @private\n */\n Operators.appendRectangle = 're';\n /**\n * Specifies the value of `q`.\n * @private\n */\n Operators.saveState = 'q';\n /**\n * Specifies the value of `Q`.\n * @private\n */\n Operators.restoreState = 'Q';\n /**\n * Specifies the value of `Do`.\n * @private\n */\n Operators.paintXObject = 'Do';\n /**\n * Specifies the value of `cm`.\n * @private\n */\n Operators.modifyCtm = 'cm';\n /**\n * Specifies the value of `Tm`.\n * @private\n */\n Operators.modifyTM = 'Tm';\n /**\n * Specifies the value of `w`.\n * @private\n */\n Operators.setLineWidth = 'w';\n /**\n * Specifies the value of `J`.\n * @private\n */\n Operators.setLineCapStyle = 'J';\n /**\n * Specifies the value of `j`.\n * @private\n */\n Operators.setLineJoinStyle = 'j';\n /**\n * Specifies the value of `d`.\n * @private\n */\n Operators.setDashPattern = 'd';\n /**\n * Specifies the value of `i`.\n * @private\n */\n Operators.setFlatnessTolerance = 'i';\n /**\n * Specifies the value of `h`.\n * @private\n */\n Operators.closePath = 'h';\n /**\n * Specifies the value of `s`.\n * @private\n */\n Operators.closeStrokePath = 's';\n /**\n * Specifies the value of `b`.\n * @private\n */\n Operators.closeFillStrokePath = 'b';\n /**\n * Specifies the value of `setCharacterSpace`.\n * @private\n */\n Operators.setCharacterSpace = 'Tc';\n /**\n * Specifies the value of `setWordSpace`.\n * @private\n */\n Operators.setWordSpace = 'Tw';\n /**\n * Specifies the value of `setHorizontalScaling`.\n * @private\n */\n Operators.setHorizontalScaling = 'Tz';\n /**\n * Specifies the value of `setTextLeading`.\n * @private\n */\n Operators.setTextLeading = 'TL';\n /**\n * Specifies the value of `setFont`.\n * @private\n */\n Operators.setFont = 'Tf';\n /**\n * Specifies the value of `setRenderingMode`.\n * @private\n */\n Operators.setRenderingMode = 'Tr';\n /**\n * Specifies the value of `setTextRise`.\n * @private\n */\n Operators.setTextRise = 'Ts';\n /**\n * Specifies the value of `setTextScaling`.\n * @private\n */\n Operators.setTextScaling = 'Tz';\n /**\n * Specifies the value of `setCoords`.\n * @private\n */\n Operators.setCoords = 'Td';\n /**\n * Specifies the value of `goToNextLine`.\n * @private\n */\n Operators.goToNextLine = 'T*';\n /**\n * Specifies the value of `setText`.\n * @private\n */\n Operators.setText = 'Tj';\n /**\n * Specifies the value of `setTextWithFormatting`.\n * @private\n */\n Operators.setTextWithFormatting = 'TJ';\n /**\n * Specifies the value of `setTextOnNewLine`.\n * @private\n */\n Operators.setTextOnNewLine = '\\'';\n /**\n * Specifies the value of `selectcolorspaceforstroking`.\n * @private\n */\n Operators.selectcolorspaceforstroking = 'CS';\n /**\n * Specifies the value of `selectcolorspacefornonstroking`.\n * @private\n */\n Operators.selectcolorspacefornonstroking = 'cs';\n /**\n * Specifies the value of `setrbgcolorforstroking`.\n * @private\n */\n Operators.setrbgcolorforstroking = 'RG';\n /**\n * Specifies the value of `setrbgcolorfornonstroking`.\n * @private\n */\n Operators.setrbgcolorfornonstroking = 'rg';\n /**\n * Specifies the value of `K`.\n * @private\n */\n Operators.setcmykcolorforstroking = 'K';\n /**\n * Specifies the value of `k`.\n * @private\n */\n Operators.setcmykcolorfornonstroking = 'k';\n /**\n * Specifies the value of `G`.\n * @private\n */\n Operators.setgraycolorforstroking = 'G';\n /**\n * Specifies the value of `g`.\n * @private\n */\n Operators.setgraycolorfornonstroking = 'g';\n /**\n * Specifies the value of `W`.\n * @private\n */\n Operators.clipPath = 'W';\n /**\n * Specifies the value of `clipPathEvenOdd`.\n * @private\n */\n Operators.clipPathEvenOdd = 'W*';\n /**\n * Specifies the value of `n`.\n * @private\n */\n Operators.endPath = 'n';\n /**\n * Specifies the value of `setGraphicsState`.\n * @private\n */\n Operators.setGraphicsState = 'gs';\n /**\n * Specifies the value of `%`.\n * @private\n */\n Operators.comment = '%';\n /**\n * Specifies the value of `*`.\n * @private\n */\n Operators.evenOdd = '*';\n /**\n * Specifies the value of `M`.\n * @private\n */\n Operators.setMiterLimit = 'M';\n /**\n * Same as SC, but also supports Pattern, Separation, DeviceN, and ICCBased color spaces. For non-stroking operations.\n * @public\n */\n Operators.setColorAndPattern = 'scn';\n /**\n * Same as SC, but also supports Pattern, Separation, DeviceN, and ICCBased color spaces. For stroking.\n */\n Operators.setColorAndPatternStroking = 'SCN';\n return Operators;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-stream-writer.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-stream-writer.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfStreamWriter: () => (/* binding */ PdfStreamWriter)\n/* harmony export */ });\n/* harmony import */ var _pdf_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n\n\n\n\n\n/**\n * Helper class to `write PDF graphic streams` easily.\n * @private\n */\nvar PdfStreamWriter = /** @class */ (function () {\n /**\n * Initialize an instance of `PdfStreamWriter` class.\n * @private\n */\n function PdfStreamWriter(stream) {\n if (stream == null) {\n throw new Error('ArgumentNullException:stream');\n }\n this.stream = stream;\n }\n //Implementation\n /**\n * `Clear` the stream.\n * @public\n */\n PdfStreamWriter.prototype.clear = function () {\n this.stream.clearStream();\n };\n PdfStreamWriter.prototype.setGraphicsState = function (dictionaryName) {\n if (dictionaryName instanceof _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__.PdfName) {\n this.stream.write(dictionaryName.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setGraphicsState);\n }\n else {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.slash);\n this.stream.write(dictionaryName);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setGraphicsState);\n }\n };\n /**\n * `Executes the XObject`.\n * @private\n */\n PdfStreamWriter.prototype.executeObject = function (name) {\n this.stream.write(name.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.paintXObject);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n };\n /**\n * `Closes path object`.\n * @private\n */\n PdfStreamWriter.prototype.closePath = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.closePath);\n };\n /**\n * `Clips the path`.\n * @private\n */\n PdfStreamWriter.prototype.clipPath = function (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.clipPath);\n if (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.evenOdd);\n }\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.endPath);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n };\n /**\n * `Closes, then fills and strokes the path`.\n * @private\n */\n PdfStreamWriter.prototype.closeFillStrokePath = function (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.closeFillStrokePath);\n if (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.evenOdd);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n else {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n };\n /**\n * `Fills and strokes path`.\n * @private\n */\n PdfStreamWriter.prototype.fillStrokePath = function (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.fillStroke);\n if (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.evenOdd);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n else {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n };\n /**\n * `Fills path`.\n * @private\n */\n PdfStreamWriter.prototype.fillPath = function (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.fill);\n if (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.evenOdd);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n else {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n };\n /**\n * `Ends the path`.\n * @private\n */\n PdfStreamWriter.prototype.endPath = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.n);\n };\n /**\n * `Closes and fills the path`.\n * @private\n */\n PdfStreamWriter.prototype.closeFillPath = function (useEvenOddRule) {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.closePath);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.fill);\n if (useEvenOddRule) {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.evenOdd);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n else {\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n };\n /**\n * `Closes and strokes the path`.\n * @private\n */\n PdfStreamWriter.prototype.closeStrokePath = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.closeStrokePath);\n };\n /**\n * `Sets the text scaling`.\n * @private\n */\n PdfStreamWriter.prototype.setTextScaling = function (textScaling) {\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(textScaling));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setTextScaling);\n };\n /**\n * `Strokes path`.\n * @private\n */\n PdfStreamWriter.prototype.strokePath = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.stroke);\n };\n /**\n * `Restores` the graphics state.\n * @private\n */\n PdfStreamWriter.prototype.restoreGraphicsState = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.restoreState);\n };\n /**\n * `Saves` the graphics state.\n * @private\n */\n PdfStreamWriter.prototype.saveGraphicsState = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.saveState);\n };\n PdfStreamWriter.prototype.startNextLine = function (arg1, arg2) {\n if (typeof arg1 === 'undefined') {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.goToNextLine);\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF) {\n this.writePoint(arg1);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setCoords);\n }\n else {\n this.writePoint(arg1, arg2);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setCoords);\n }\n };\n /**\n * Shows the `text`.\n * @private\n */\n PdfStreamWriter.prototype.showText = function (text) {\n this.checkTextParam(text);\n this.writeText(text);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setText);\n };\n /**\n * Sets `text leading`.\n * @private\n */\n PdfStreamWriter.prototype.setLeading = function (leading) {\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(leading));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setTextLeading);\n };\n /**\n * `Begins the path`.\n * @private\n */\n PdfStreamWriter.prototype.beginPath = function (x, y) {\n this.writePoint(x, y);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.beginPath);\n };\n /**\n * `Begins text`.\n * @private\n */\n PdfStreamWriter.prototype.beginText = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.beginText);\n };\n /**\n * `Ends text`.\n * @private\n */\n PdfStreamWriter.prototype.endText = function () {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.endText);\n };\n PdfStreamWriter.prototype.appendRectangle = function (arg1, arg2, arg3, arg4) {\n if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.RectangleF) {\n this.appendRectangle(arg1.x, arg1.y, arg1.width, arg1.height);\n }\n else {\n this.writePoint(arg1, arg2);\n this.writePoint(arg3, arg4);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.appendRectangle);\n }\n };\n PdfStreamWriter.prototype.appendLineSegment = function (arg1, arg2) {\n if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF) {\n this.appendLineSegment(arg1.x, arg1.y);\n }\n else {\n this.writePoint(arg1, arg2);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.appendLineSegment);\n }\n };\n /**\n * Sets the `text rendering mode`.\n * @private\n */\n PdfStreamWriter.prototype.setTextRenderingMode = function (renderingMode) {\n this.stream.write(renderingMode.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setRenderingMode);\n };\n /**\n * Sets the `character spacing`.\n * @private\n */\n PdfStreamWriter.prototype.setCharacterSpacing = function (charSpacing) {\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(charSpacing));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setCharacterSpace);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n };\n /**\n * Sets the `word spacing`.\n * @private\n */\n PdfStreamWriter.prototype.setWordSpacing = function (wordSpacing) {\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(wordSpacing));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setWordSpace);\n };\n PdfStreamWriter.prototype.showNextLineText = function (arg1, arg2) {\n if (arg1 instanceof _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__.PdfString) {\n this.checkTextParam(arg1);\n this.writeText(arg1);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setTextOnNewLine);\n }\n else {\n this.checkTextParam(arg1);\n this.writeText(arg1, arg2);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setTextOnNewLine);\n }\n };\n PdfStreamWriter.prototype.setColorSpace = function (arg1, arg2) {\n if (arg1 instanceof _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__.PdfName && typeof arg2 === 'boolean') {\n var temparg1 = arg1;\n var temparg2 = arg2;\n // if (temparg1 == null) {\n // throw new Error('ArgumentNullException:name');\n // }\n var op = (temparg2) ? _pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.selectcolorspaceforstroking : _pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.selectcolorspacefornonstroking;\n this.stream.write(temparg1.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.stream.write(op);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n else {\n var temparg1 = arg1;\n var temparg2 = arg2;\n this.setColorSpace(new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__.PdfName(temparg1), temparg2);\n }\n };\n /**\n * Modifies current `transformation matrix`.\n * @private\n */\n PdfStreamWriter.prototype.modifyCtm = function (matrix) {\n if (matrix == null) {\n throw new Error('ArgumentNullException:matrix');\n }\n this.stream.write(matrix.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.modifyCtm);\n };\n PdfStreamWriter.prototype.setFont = function (font, name, size) {\n if (typeof name === 'string') {\n this.setFont(font, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_0__.PdfName(name), size);\n }\n else {\n if (font == null) {\n throw new Error('ArgumentNullException:font');\n }\n this.stream.write(name.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(size));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setFont);\n }\n };\n /**\n * `Writes the operator`.\n * @private\n */\n PdfStreamWriter.prototype.writeOperator = function (opcode) {\n this.stream.write(opcode);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n };\n PdfStreamWriter.prototype.checkTextParam = function (text) {\n if (text == null) {\n throw new Error('ArgumentNullException:text');\n }\n if (typeof text === 'string' && text === '') {\n throw new Error('ArgumentException:The text can not be an empty string, text');\n }\n };\n PdfStreamWriter.prototype.writeText = function (arg1, arg2) {\n if ((arg1 instanceof _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__.PdfString) && (typeof arg2 === 'undefined')) {\n this.stream.write(arg1.pdfEncode());\n }\n else {\n var start = void 0;\n var end = void 0;\n if (arg2) {\n start = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__.PdfString.hexStringMark[0];\n end = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__.PdfString.hexStringMark[1];\n }\n else {\n start = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__.PdfString.stringMark[0];\n end = _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_4__.PdfString.stringMark[1];\n }\n this.stream.write(start);\n this.stream.write(arg1);\n this.stream.write(end);\n }\n };\n PdfStreamWriter.prototype.writePoint = function (arg1, arg2) {\n if ((arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF) && (typeof arg2 === 'undefined')) {\n this.writePoint(arg1.x, arg1.y);\n }\n else {\n var temparg1 = arg1;\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(temparg1));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n // NOTE: Change Y co-ordinate because we shifted co-ordinate system only.\n arg2 = this.updateY(arg2);\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(arg2));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n }\n };\n /**\n * `Updates y` co-ordinate.\n * @private\n */\n PdfStreamWriter.prototype.updateY = function (arg) {\n return -arg;\n };\n /**\n * `Writes string` to the file.\n * @private\n */\n PdfStreamWriter.prototype.write = function (string) {\n var builder = '';\n builder += string;\n builder += _pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine;\n this.writeOperator(builder);\n };\n /**\n * `Writes comment` to the file.\n * @private\n */\n PdfStreamWriter.prototype.writeComment = function (comment) {\n if (comment != null && comment.length > 0) {\n var builder = '';\n builder += _pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.comment;\n builder += _pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace;\n builder += comment;\n //builder.Append( Operators.NewLine );\n this.writeOperator(builder);\n }\n else {\n throw new Error('Invalid comment');\n }\n };\n /**\n * Sets the `color and space`.\n * @private\n */\n PdfStreamWriter.prototype.setColorAndSpace = function (color, colorSpace, forStroking) {\n if (!color.isEmpty) {\n // bool test = color is PdfExtendedColor;\n this.stream.write(color.toString(colorSpace, forStroking));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n }\n };\n // public setLineDashPattern(pattern : number[], patternOffset : number) : void\n // {\n // let pat : PdfArray = new PdfArray(pattern);\n // let off : PdfNumber = new PdfNumber(patternOffset);\n // this.setLineDashPatternHelper(pat, off);\n // }\n // private setLineDashPatternHelper(pattern : PdfArray, patternOffset : PdfNumber) : void\n // {\n // pattern.Save(this);\n // this.m_stream.write(Operators.whiteSpace);\n // patternOffset.Save(this);\n // this.m_stream.write(Operators.whiteSpace);\n // this.writeOperator(Operators.setDashPattern);\n // }\n /**\n * Sets the `line dash pattern`.\n * @private\n */\n PdfStreamWriter.prototype.setLineDashPattern = function (pattern, patternOffset) {\n // let pat : PdfArray = new PdfArray(pattern);\n // let off : PdfNumber = new PdfNumber(patternOffset);\n // this.setLineDashPatternHelper(pat, off);\n this.setLineDashPatternHelper(pattern, patternOffset);\n };\n /**\n * Sets the `line dash pattern`.\n * @private\n */\n PdfStreamWriter.prototype.setLineDashPatternHelper = function (pattern, patternOffset) {\n var tempPattern = '[';\n if (pattern.length > 1) {\n for (var index = 0; index < pattern.length; index++) {\n if (index === pattern.length - 1) {\n tempPattern += pattern[index].toString();\n }\n else {\n tempPattern += pattern[index].toString() + ' ';\n }\n }\n }\n tempPattern += '] ';\n tempPattern += patternOffset.toString();\n tempPattern += ' ' + _pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setDashPattern;\n this.stream.write(tempPattern);\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.newLine);\n };\n /**\n * Sets the `miter limit`.\n * @private\n */\n PdfStreamWriter.prototype.setMiterLimit = function (miterLimit) {\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(miterLimit));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setMiterLimit);\n };\n /**\n * Sets the `width of the line`.\n * @private\n */\n PdfStreamWriter.prototype.setLineWidth = function (width) {\n this.stream.write(_primitives_pdf_number__WEBPACK_IMPORTED_MODULE_2__.PdfNumber.floatToString(width));\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setLineWidth);\n };\n /**\n * Sets the `line cap`.\n * @private\n */\n PdfStreamWriter.prototype.setLineCap = function (lineCapStyle) {\n this.stream.write((lineCapStyle).toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setLineCapStyle);\n };\n /**\n * Sets the `line join`.\n * @private\n */\n PdfStreamWriter.prototype.setLineJoin = function (lineJoinStyle) {\n this.stream.write((lineJoinStyle).toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setLineJoinStyle);\n };\n Object.defineProperty(PdfStreamWriter.prototype, \"position\", {\n //IPdfWriter members\n /**\n * Gets or sets the current `position` within the stream.\n * @private\n */\n get: function () {\n return this.stream.position;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStreamWriter.prototype, \"length\", {\n /**\n * Gets `stream length`.\n * @private\n */\n get: function () {\n var returnValue = 0;\n if (this.stream.data.length !== 0 && this.stream.data.length !== -1) {\n for (var index = 0; index < this.stream.data.length; index++) {\n returnValue += this.stream.data[index].length;\n }\n }\n return returnValue;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStreamWriter.prototype, \"document\", {\n /**\n * Gets and Sets the `current document`.\n * @private\n */\n get: function () {\n return null;\n },\n enumerable: true,\n configurable: true\n });\n /* tslint:disable-next-line:max-line-length */\n PdfStreamWriter.prototype.appendBezierSegment = function (arg1, arg2, arg3, arg4, arg5, arg6) {\n if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF && arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF && arg3 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF) {\n this.writePoint(arg1.x, arg1.y);\n this.writePoint(arg2.x, arg2.y);\n this.writePoint(arg3.x, arg3.y);\n }\n else {\n this.writePoint(arg1, arg2);\n this.writePoint(arg3, arg4);\n this.writePoint(arg5, arg6);\n }\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.appendbeziercurve);\n };\n PdfStreamWriter.prototype.setColourWithPattern = function (colours, patternName, forStroking) {\n if ((colours != null)) {\n var count = colours.length;\n var i = 0;\n for (i = 0; i < count; ++i) {\n this.stream.write(colours[i].toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n }\n }\n if ((patternName != null)) {\n this.stream.write(patternName.toString());\n this.stream.write(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n }\n if (forStroking) {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setColorAndPatternStroking);\n }\n else {\n this.writeOperator(_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.setColorAndPattern);\n }\n };\n return PdfStreamWriter;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-stream-writer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-writer.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-writer.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfArrayBuffer: () => (/* binding */ PdfArrayBuffer),\n/* harmony export */ PdfWriter: () => (/* binding */ PdfWriter),\n/* harmony export */ PdfWriterHelper: () => (/* binding */ PdfWriterHelper)\n/* harmony export */ });\n/**\n * Used to `write a string` into output file.\n * @private\n */\nvar PdfWriter = /** @class */ (function () {\n function PdfWriter(stream) {\n this.streamWriter = stream;\n }\n Object.defineProperty(PdfWriter.prototype, \"document\", {\n //properties\n /**\n * Gets and Sets the `document`.\n * @private\n */\n get: function () {\n return this.pdfDocument;\n },\n set: function (value) {\n this.pdfDocument = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfWriter.prototype, \"position\", {\n /**\n * Gets the `position`.\n * @private\n */\n get: function () {\n return this.streamWriter.buffer.size;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfWriter.prototype, \"length\", {\n /**\n * Gets the `length` of the stream'.\n * @private\n */\n get: function () {\n return this.streamWriter.buffer.size;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfWriter.prototype, \"stream\", {\n /**\n * Gets the `stream`.\n * @private\n */\n get: function () {\n return this.streamWriter;\n },\n enumerable: true,\n configurable: true\n });\n //public Methods\n /**\n * `Writes the specified data`.\n * @private\n */\n PdfWriter.prototype.write = function (overload) {\n var data = [];\n var tempOverload = overload;\n this.streamWriter.write(tempOverload);\n };\n return PdfWriter;\n}());\n\n/**\n * Helper class for PDF writer.\n * @private\n */\nvar PdfWriterHelper = /** @class */ (function () {\n /**\n * Initialize an instance of `PdfWriterHelper` class.\n * @private\n */\n function PdfWriterHelper() {\n this.buffer = new PdfArrayBuffer();\n }\n /**\n * Writes the specified data.\n * @private\n */\n PdfWriterHelper.prototype.write = function (data) {\n this.buffer.write(data);\n };\n /**\n * Destroy the array buffer.\n * @private\n */\n PdfWriterHelper.prototype.destroy = function () {\n if (this.buffer) {\n this.buffer.destroy();\n this.buffer = undefined;\n }\n };\n return PdfWriterHelper;\n}());\n\n/**\n * Helper class for PDF writer.\n * @private\n */\nvar PdfArrayBuffer = /** @class */ (function () {\n /**\n * Initialize an instance of `PdfArrayBuffer` class.\n * @private\n */\n function PdfArrayBuffer() {\n this.buffer = [];\n }\n Object.defineProperty(PdfArrayBuffer.prototype, \"size\", {\n /**\n * Gets the `size`.\n * @private\n */\n get: function () {\n return this.buffer.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Writes the specified data.\n * @private\n */\n PdfArrayBuffer.prototype.write = function (value) {\n for (var i = 0; i < value.length; i++) {\n this.buffer.push(value.charCodeAt(i) & 0xff);\n }\n };\n /**\n * Destroy the array buffer.\n * @private\n */\n PdfArrayBuffer.prototype.destroy = function () {\n if (this.buffer) {\n this.buffer = [];\n this.buffer = undefined;\n }\n };\n return PdfArrayBuffer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-writer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfAlignmentStyle: () => (/* binding */ PdfAlignmentStyle),\n/* harmony export */ PdfDockStyle: () => (/* binding */ PdfDockStyle),\n/* harmony export */ PdfNumberStyle: () => (/* binding */ PdfNumberStyle),\n/* harmony export */ PdfPageOrientation: () => (/* binding */ PdfPageOrientation),\n/* harmony export */ PdfPageRotateAngle: () => (/* binding */ PdfPageRotateAngle),\n/* harmony export */ TemplateType: () => (/* binding */ TemplateType)\n/* harmony export */ });\n/**\n * public Enum for `PdfPageOrientation`.\n * @private\n */\nvar PdfPageOrientation;\n(function (PdfPageOrientation) {\n /**\n * Specifies the type of `Portrait`.\n * @private\n */\n PdfPageOrientation[PdfPageOrientation[\"Portrait\"] = 0] = \"Portrait\";\n /**\n * Specifies the type of `Landscape`.\n * @private\n */\n PdfPageOrientation[PdfPageOrientation[\"Landscape\"] = 1] = \"Landscape\";\n})(PdfPageOrientation || (PdfPageOrientation = {}));\n/**\n * public Enum for `PdfPageRotateAngle`.\n * @private\n */\nvar PdfPageRotateAngle;\n(function (PdfPageRotateAngle) {\n /**\n * Specifies the type of `RotateAngle0`.\n * @private\n */\n PdfPageRotateAngle[PdfPageRotateAngle[\"RotateAngle0\"] = 0] = \"RotateAngle0\";\n /**\n * Specifies the type of `RotateAngle90`.\n * @private\n */\n PdfPageRotateAngle[PdfPageRotateAngle[\"RotateAngle90\"] = 1] = \"RotateAngle90\";\n /**\n * Specifies the type of `RotateAngle180`.\n * @private\n */\n PdfPageRotateAngle[PdfPageRotateAngle[\"RotateAngle180\"] = 2] = \"RotateAngle180\";\n /**\n * Specifies the type of `RotateAngle270`.\n * @private\n */\n PdfPageRotateAngle[PdfPageRotateAngle[\"RotateAngle270\"] = 3] = \"RotateAngle270\";\n})(PdfPageRotateAngle || (PdfPageRotateAngle = {}));\n/**\n * public Enum for `PdfNumberStyle`.\n * @private\n */\nvar PdfNumberStyle;\n(function (PdfNumberStyle) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n PdfNumberStyle[PdfNumberStyle[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `Numeric`.\n * @private\n */\n PdfNumberStyle[PdfNumberStyle[\"Numeric\"] = 1] = \"Numeric\";\n /**\n * Specifies the type of `LowerLatin`.\n * @private\n */\n PdfNumberStyle[PdfNumberStyle[\"LowerLatin\"] = 2] = \"LowerLatin\";\n /**\n * Specifies the type of `LowerRoman`.\n * @private\n */\n PdfNumberStyle[PdfNumberStyle[\"LowerRoman\"] = 3] = \"LowerRoman\";\n /**\n * Specifies the type of `UpperLatin`.\n * @private\n */\n PdfNumberStyle[PdfNumberStyle[\"UpperLatin\"] = 4] = \"UpperLatin\";\n /**\n * Specifies the type of `UpperRoman`.\n * @private\n */\n PdfNumberStyle[PdfNumberStyle[\"UpperRoman\"] = 5] = \"UpperRoman\";\n})(PdfNumberStyle || (PdfNumberStyle = {}));\n/**\n * public Enum for `PdfDockStyle`.\n * @private\n */\nvar PdfDockStyle;\n(function (PdfDockStyle) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n PdfDockStyle[PdfDockStyle[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `Bottom`.\n * @private\n */\n PdfDockStyle[PdfDockStyle[\"Bottom\"] = 1] = \"Bottom\";\n /**\n * Specifies the type of `Top`.\n * @private\n */\n PdfDockStyle[PdfDockStyle[\"Top\"] = 2] = \"Top\";\n /**\n * Specifies the type of `Left`.\n * @private\n */\n PdfDockStyle[PdfDockStyle[\"Left\"] = 3] = \"Left\";\n /**\n * Specifies the type of `Right`.\n * @private\n */\n PdfDockStyle[PdfDockStyle[\"Right\"] = 4] = \"Right\";\n /**\n * Specifies the type of `Fill`.\n * @private\n */\n PdfDockStyle[PdfDockStyle[\"Fill\"] = 5] = \"Fill\";\n})(PdfDockStyle || (PdfDockStyle = {}));\n/**\n * public Enum for `PdfAlignmentStyle`.\n * @private\n */\nvar PdfAlignmentStyle;\n(function (PdfAlignmentStyle) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `TopLeft`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"TopLeft\"] = 1] = \"TopLeft\";\n /**\n * Specifies the type of `TopCenter`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"TopCenter\"] = 2] = \"TopCenter\";\n /**\n * Specifies the type of `TopRight`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"TopRight\"] = 3] = \"TopRight\";\n /**\n * Specifies the type of `MiddleLeft`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"MiddleLeft\"] = 4] = \"MiddleLeft\";\n /**\n * Specifies the type of `MiddleCenter`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"MiddleCenter\"] = 5] = \"MiddleCenter\";\n /**\n * Specifies the type of `MiddleRight`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"MiddleRight\"] = 6] = \"MiddleRight\";\n /**\n * Specifies the type of `BottomLeft`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"BottomLeft\"] = 7] = \"BottomLeft\";\n /**\n * Specifies the type of `BottomCenter`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"BottomCenter\"] = 8] = \"BottomCenter\";\n /**\n * Specifies the type of `BottomRight`.\n * @private\n */\n PdfAlignmentStyle[PdfAlignmentStyle[\"BottomRight\"] = 9] = \"BottomRight\";\n})(PdfAlignmentStyle || (PdfAlignmentStyle = {}));\n/**\n * public Enum for `TemplateType`.\n * @private\n */\nvar TemplateType;\n(function (TemplateType) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n TemplateType[TemplateType[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `Top`.\n * @private\n */\n TemplateType[TemplateType[\"Top\"] = 1] = \"Top\";\n /**\n * Specifies the type of `Bottom`.\n * @private\n */\n TemplateType[TemplateType[\"Bottom\"] = 2] = \"Bottom\";\n /**\n * Specifies the type of `Left`.\n * @private\n */\n TemplateType[TemplateType[\"Left\"] = 3] = \"Left\";\n /**\n * Specifies the type of `Right`.\n * @private\n */\n TemplateType[TemplateType[\"Right\"] = 4] = \"Right\";\n})(TemplateType || (TemplateType = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/page-added-event-arguments.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/page-added-event-arguments.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageAddedEventArgs: () => (/* binding */ PageAddedEventArgs)\n/* harmony export */ });\n/**\n * Provides data for `PageAddedEventHandler` event.\n * This event raises when adding the new PDF page to the PDF document.\n */\nvar PageAddedEventArgs = /** @class */ (function () {\n function PageAddedEventArgs(page) {\n if (typeof page !== 'undefined') {\n this.pdfPage = page;\n }\n else {\n this.pdfPage = null;\n }\n }\n Object.defineProperty(PageAddedEventArgs.prototype, \"page\", {\n /**\n * Gets the `newly added page`.\n * @private\n */\n get: function () {\n return this.pdfPage;\n },\n enumerable: true,\n configurable: true\n });\n return PageAddedEventArgs;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/page-added-event-arguments.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-document-page-collection.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-document-page-collection.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfDocumentPageCollection: () => (/* binding */ PdfDocumentPageCollection)\n/* harmony export */ });\n/* harmony import */ var _pdf_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-page */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js\");\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n\n\n/**\n * Represents a virtual collection of all the pages in the document.\n * @private\n */\nvar PdfDocumentPageCollection = /** @class */ (function () {\n //constructor\n /**\n * Initializes a new instance of the `PdfPageCollection` class.\n * @private\n */\n function PdfDocumentPageCollection(document) {\n /**\n * It holds the page collection with the `index`.\n * @private\n */\n this.pdfPageCollectionIndex = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n this.document = document;\n }\n Object.defineProperty(PdfDocumentPageCollection.prototype, \"count\", {\n //Property\n /**\n * Gets the total `number of the pages`.\n * @private\n */\n get: function () {\n return this.countPages();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDocumentPageCollection.prototype, \"pageCollectionIndex\", {\n /**\n * Gets a `page index` from the document.\n * @private\n */\n get: function () {\n return this.pdfPageCollectionIndex;\n },\n enumerable: true,\n configurable: true\n });\n PdfDocumentPageCollection.prototype.add = function (page) {\n if (typeof page === 'undefined') {\n var page_1 = new _pdf_page__WEBPACK_IMPORTED_MODULE_1__.PdfPage();\n this.add(page_1);\n return page_1;\n }\n else {\n var section = this.getLastSection();\n section.add(page);\n }\n };\n /**\n * Returns `last section` in the document.\n * @private\n */\n PdfDocumentPageCollection.prototype.getLastSection = function () {\n var sc = this.document.sections;\n if (sc.section.length === 0) {\n sc.add();\n }\n var section = sc.section[sc.section.length - 1];\n return section;\n };\n /**\n * Called when `new page has been added`.\n * @private\n */\n PdfDocumentPageCollection.prototype.onPageAdded = function (args) {\n // if (PageAdded !== null)\n // {\n // PageAdded(this, args);\n // }\n };\n /**\n * Gets the `total number of pages`.\n * @private\n */\n PdfDocumentPageCollection.prototype.countPages = function () {\n var sc = this.document.sections;\n var count = 0;\n for (var index = 0; index < sc.section.length; index++) {\n count += sc.section[index].count;\n }\n return count;\n };\n /**\n * Gets the `page object` from page index.\n * @private\n */\n PdfDocumentPageCollection.prototype.getPageByIndex = function (index) {\n return this.getPage(index);\n };\n /**\n * Gets a page by its `index` in the document.\n * @private\n */\n PdfDocumentPageCollection.prototype.getPage = function (index) {\n if ((index < 0) || (index >= this.count)) {\n throw Error('ArgumentOutOfRangeException(\"index\", \"Value can not be less 0\")');\n }\n var page = null;\n var sectionStartIndex = 0;\n var sectionCount = 0;\n var pageIndex = 0;\n var length = this.document.sections.count;\n for (var i = 0; i < length; i++) {\n var section = this.document.sections.section[i];\n sectionCount = section.count;\n pageIndex = index - sectionStartIndex;\n // We found a section containing the page.\n if ((index >= sectionStartIndex && pageIndex < sectionCount)) {\n page = section.getPages()[pageIndex];\n break;\n }\n sectionStartIndex += sectionCount;\n }\n return page;\n };\n /**\n * Gets the `index of` the page in the document.\n * @private\n */\n PdfDocumentPageCollection.prototype.indexOf = function (page) {\n var index = -1;\n if (page == null) {\n throw new Error('ArgumentNullException: page');\n }\n else {\n var numPages = 0;\n for (var i = 0, len = this.document.sections.count; i < len; i++) {\n var section = this.document.sections.pdfSectionCollection(i);\n index = section.indexOf(page);\n if (index >= 0) {\n index += numPages;\n break;\n }\n else {\n index = -1;\n }\n numPages += section.count;\n }\n }\n return index;\n };\n /**\n * `Removes` the specified page.\n * @private\n */\n PdfDocumentPageCollection.prototype.remove = function (page) {\n if (page == null) {\n throw Error('ArgumentNullException(\"page\")');\n }\n var section = null;\n var len;\n for (var i = 0, len_1 = this.document.sections.count; i < len_1; i++) {\n section = this.document.sections.pdfSectionCollection(i);\n if (section.pages.contains(page)) {\n section.pages.remove(page);\n break;\n }\n }\n return section;\n };\n return PdfDocumentPageCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-document-page-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-base.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-base.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageBase: () => (/* binding */ PdfPageBase)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _pdf_page_layer_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-page-layer-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer-collection.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _graphics_pdf_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../graphics/pdf-resources */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.js\");\n\n\n\n\n/**\n * The abstract base class for all pages,\n * `PdfPageBase` class provides methods and properties to create PDF pages and its elements.\n * @private\n */\nvar PdfPageBase = /** @class */ (function () {\n //constructors\n /**\n * Initializes a new instance of the `PdfPageBase` class.\n * @private\n */\n function PdfPageBase(dictionary) {\n /**\n * `Index` of the default layer.\n * @default -1.\n * @private\n */\n this.defLayerIndex = -1;\n /**\n * Local variable to store if page `updated`.\n * @default false.\n * @private\n */\n this.modified = false;\n /**\n * Instance of `DictionaryProperties` class.\n * @hidden\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n this.pageDictionary = dictionary;\n }\n Object.defineProperty(PdfPageBase.prototype, \"section\", {\n //Properties\n /**\n * Gets the `section` of a page.\n * @private\n */\n get: function () {\n // if (this.pdfSection === null) {\n // throw new Error('PdfException : Page must be added to some section before using.');\n // }\n return this.pdfSection;\n },\n set: function (value) {\n this.pdfSection = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageBase.prototype, \"dictionary\", {\n /**\n * Gets the page `dictionary`.\n * @private\n */\n get: function () {\n return this.pageDictionary;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageBase.prototype, \"element\", {\n /**\n * Gets the wrapped `element`.\n * @private\n */\n get: function () {\n return this.pageDictionary;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageBase.prototype, \"defaultLayer\", {\n /**\n * Gets the `default layer` of the page (Read only).\n * @private\n */\n get: function () {\n var layer = this.layers;\n var index = this.defaultLayerIndex;\n var returnlayer = layer.items(index);\n return returnlayer;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageBase.prototype, \"defaultLayerIndex\", {\n /**\n * Gets or sets `index of the default layer`.\n * @private\n */\n get: function () {\n if (this.layerCollection.count === 0 || this.defLayerIndex === -1) {\n var layer = this.layerCollection.add();\n this.defLayerIndex = this.layerCollection.indexOf(layer);\n }\n return this.defLayerIndex;\n },\n /**\n * Gets or sets` index of the default layer`.\n * @private\n */\n set: function (value) {\n if (value < 0 || value > this.layers.count - 1) {\n throw new Error('ArgumentOutOfRangeException : value, Index can not be less 0 and greater Layers.Count - 1');\n }\n else {\n this.defLayerIndex = value;\n this.modified = true;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageBase.prototype, \"layers\", {\n /**\n * Gets the collection of the page's `layers` (Read only).\n * @private\n */\n get: function () {\n if (this.layerCollection == null || typeof this.layerCollection === 'undefined') {\n this.layerCollection = new _pdf_page_layer_collection__WEBPACK_IMPORTED_MODULE_1__.PdfPageLayerCollection(this);\n }\n return this.layerCollection;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Return an instance of `PdfResources` class.\n * @private\n */\n PdfPageBase.prototype.getResources = function () {\n if (this.resources == null) {\n this.resources = new _graphics_pdf_resources__WEBPACK_IMPORTED_MODULE_2__.PdfResources();\n this.dictionary.items.setValue(this.dictionaryProperties.resources, this.resources);\n }\n return this.resources;\n };\n Object.defineProperty(PdfPageBase.prototype, \"contents\", {\n /**\n * Gets `array of page's content`.\n * @private\n */\n get: function () {\n var obj = this.pageDictionary.items.getValue(this.dictionaryProperties.contents);\n var contents = obj;\n var rh = obj;\n if (contents == null) {\n contents = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_3__.PdfArray();\n this.pageDictionary.items.setValue(this.dictionaryProperties.contents, contents);\n }\n return contents;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Sets the `resources`.\n * @private\n */\n PdfPageBase.prototype.setResources = function (res) {\n this.resources = res;\n this.dictionary.items.setValue(this.dictionaryProperties.resources, this.resources);\n this.modified = true;\n };\n return PdfPageBase;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-base.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer-collection.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer-collection.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageLayerCollection: () => (/* binding */ PdfPageLayerCollection)\n/* harmony export */ });\n/* harmony import */ var _pdf_page_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-page-base */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-base.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _pdf_page_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-page-layer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer.js\");\n/* harmony import */ var _general_pdf_collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../general/pdf-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-collection.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfPageLayerCollection.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n/**\n * The class provides methods and properties to handle the collections of `PdfPageLayer`.\n */\nvar PdfPageLayerCollection = /** @class */ (function (_super) {\n __extends(PdfPageLayerCollection, _super);\n function PdfPageLayerCollection(page) {\n var _this = _super.call(this) || this;\n /**\n * Stores the `number of first level layers` in the document.\n * @default 0\n * @private\n */\n _this.parentLayerCount = 0;\n /**\n * Indicates if `Sublayer` is present.\n * @default false\n * @private\n */\n _this.sublayer = false;\n /**\n * Stores the `optional content dictionary`.\n * @private\n */\n _this.optionalContent = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary();\n if (page instanceof _pdf_page_base__WEBPACK_IMPORTED_MODULE_1__.PdfPageBase) {\n // if (page == null) {\n // throw new Error('ArgumentNullException:page');\n // }\n _this.page = page;\n var lPage = page;\n // if (lPage != null) {\n _this.parseLayers(lPage);\n // }\n }\n return _this;\n }\n PdfPageLayerCollection.prototype.items = function (index, value) {\n if (typeof index === 'number' && typeof value === 'undefined') {\n var obj = this.list[index];\n return obj;\n }\n else {\n if (value == null) {\n throw new Error('ArgumentNullException: layer');\n }\n if (value.page !== this.page) {\n throw new Error('ArgumentException: The layer belongs to another page');\n }\n // // Add/remove the layer.\n // let layer : PdfPageLayer = this.items(index);\n // if (layer != null) {\n // this.RemoveLayer(layer);\n // }\n // this.List[index] = value;\n // this.InsertLayer(index, value);\n }\n };\n PdfPageLayerCollection.prototype.add = function (firstArgument, secondArgument) {\n if (typeof firstArgument === 'undefined') {\n var layer = new _pdf_page_layer__WEBPACK_IMPORTED_MODULE_2__.PdfPageLayer(this.page);\n layer.name = '';\n this.add(layer);\n return layer;\n }\n else if (firstArgument instanceof _pdf_page_layer__WEBPACK_IMPORTED_MODULE_2__.PdfPageLayer) {\n // if (layer == null)\n // throw new ArgumentNullException(\"layer\");\n // if (layer.Page != m_page)\n // throw new ArgumentException(\"The layer belongs to another page\");\n var index = this.list.push(firstArgument);\n // Register layer.\n this.addLayer(index, firstArgument);\n return index;\n }\n else {\n return 0;\n }\n };\n /**\n * Registers `layer` at the page.\n * @private\n */\n PdfPageLayerCollection.prototype.addLayer = function (index, layer) {\n var reference = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReferenceHolder(layer);\n this.page.contents.add(reference);\n };\n // private RemoveLayer(layer : PdfPageLayer) : void {\n // if (layer == null) {\n // throw new Error('ArgumentNullException:layer');\n // }\n // let reference : PdfReferenceHolder = new PdfReferenceHolder(layer);\n // if (this.page != null) {\n // this.page.Contents.Remove(reference);\n // }\n // }\n /**\n * Inserts `PdfPageLayer` into the collection at specified index.\n * @private\n */\n PdfPageLayerCollection.prototype.insert = function (index, layer) {\n // if (index < 0)\n // throw new ArgumentOutOfRangeException(\"index\", \"Value can not be less 0\");\n // if (layer == null)\n // throw new ArgumentNullException(\"layer\");\n // if (layer.Page != m_page)\n // throw new ArgumentException(\"The layer belongs to another page\");\n var list = [];\n var length = this.list.length;\n for (var i = index; i < length; i++) {\n list.push(this.list.pop());\n }\n this.list.push(layer);\n for (var i = 0; i < list.length; i++) {\n this.list.push(list[i]);\n }\n // Register layer.\n this.insertLayer(index, layer);\n };\n /**\n * Registers layer at the page.\n * @private\n */\n PdfPageLayerCollection.prototype.insertLayer = function (index, layer) {\n if (layer == null) {\n throw new Error('ArgumentNullException:layer');\n }\n var reference = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReferenceHolder(layer);\n this.page.contents.insert(index, reference);\n };\n // tslint:disable\n /**\n * `Parses the layers`.\n * @private\n */\n PdfPageLayerCollection.prototype.parseLayers = function (loadedPage) {\n // if (loadedPage == null) {\n // throw new Error('ArgumentNullException:loadedPage');\n // }\n var contents = this.page.contents;\n var resource = this.page.getResources();\n var crossTable = null;\n var ocproperties = null;\n var propertie = null;\n var isLayerAdded = false;\n // if (loadedPage instanceof PdfPage) {\n crossTable = loadedPage.crossTable;\n // } else {\n // crossTable = (loadedPage as PdfLoadedPage).CrossTable;\n // Propertie = PdfCrossTable.Dereference(Resource[DictionaryProperties.Properties]) as PdfDictionary;\n // ocproperties = PdfCrossTable.Dereference((loadedPage as PdfLoadedPage).\n // Document.Catalog[DictionaryProperties.OCProperties]) as PdfDictionary;\n // }\n var saveStream = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_4__.PdfStream();\n var restoreStream = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_4__.PdfStream();\n var saveState = 'q';\n var newLine = '\\n';\n var restoreState = 'Q';\n // for (let index : number = 0; index < contents.Items.length; index++) {\n // let obj : IPdfPrimitive = contents[index];\n // let stream : PdfStream = crossTable.GetObject(obj) as PdfStream;\n // if (stream == null)\n // throw new PdfDocumentException(\"Invalid contents array.\");\n // // if (stream.Compress)\n // {\n // if (!loadedPage.Imported)\n // stream.Decompress();\n // }\n // byte[] contentId = stream.Data;\n // string str = PdfString.ByteToString(contentId);\n // if (!loadedPage.Imported && (contents.Count == 1) && ((stream.Data[stream.Data.Length - 2] ==\n // RestoreState) || (stream.Data[stream.Data.Length - 1] == RestoreState)))\n // {\n // byte[] content = stream.Data;\n // byte[] data = new byte[content.Length + 4];\n // data[0] = SaveState;\n // data[1] = NewLine;\n // content.CopyTo(data, 2);\n // data[data.Length - 2] = NewLine;\n // data[data.Length - 1] = RestoreState;\n // stream.Data = data;\n // }\n // if (ocproperties != null)\n // {\n // if (Propertie != null)\n // {\n // foreach (KeyValuePair prop in Propertie.Items)\n // {\n // String Key = prop.Key.ToString();\n // PdfReferenceHolder refh = prop.Value as PdfReferenceHolder;\n // PdfDictionary Dict = null;\n // if (refh != null)\n // {\n // Dict = refh.Object as PdfDictionary;\n // }\n // else\n // {\n // Dict = prop.Value as PdfDictionary;\n // }\n // PdfDictionary m_usage = PdfCrossTable.Dereference(Dict[DictionaryProperties.Usage]) as PdfDictionary;\n // if (m_usage != null)\n // {\n // if (str.Contains(Key))\n // {\n // PdfPageLayer layer = new PdfPageLayer(loadedPage, stream);\n // PdfDictionary printoption = PdfCrossTable.Dereference(m_usage[DictionaryProperties.Print])\n // as PdfDictionary;\n // if (printoption != null)\n // {\n // layer.m_printOption = printoption;\n // foreach (KeyValuePair value in printoption.Items)\n // {\n // if (value.Key.Value.Equals(DictionaryProperties.PrintState))\n // {\n // string printState = (value.Value as PdfName).Value;\n // if (printState.Equals(DictionaryProperties.OCGON))\n // {\n // layer.PrintState = PdfPrintState.AlwaysPrint;\n // break;\n // }\n // else\n // {\n // layer.PrintState = PdfPrintState.NeverPrint;\n // break;\n // }\n // }\n // }\n // }\n // PdfString layerName = PdfCrossTable.Dereference(Dict[DictionaryProperties.Name]) as PdfString;\n // layer.Name = layerName.Value;\n // List.add(layer);\n // isLayerAdded = true;\n // if(!str.Contains(\"EMC\"))\n // break;\n // }\n // }\n // else\n // {\n // if (str.Contains(Key))\n // {\n // PdfPageLayer layer = new PdfPageLayer(loadedPage, stream);\n // List.add(layer);\n // if(Dict.ContainsKey(DictionaryProperties.Name))\n // {\n // PdfString layerName = PdfCrossTable.Dereference(Dict[DictionaryProperties.Name]) as PdfString;\n // layer.Name = layerName.Value;\n // }\n // isLayerAdded = true;\n // break;\n // }\n // }\n // }\n // }\n // }\n // if (!isLayerAdded)\n // {\n // PdfPageLayer layer = new PdfPageLayer(loadedPage, stream);\n // List.add(layer);\n // }\n // else\n // isLayerAdded = false;\n // }\n var saveData = [];\n saveData.push(saveState);\n saveStream.data = saveData;\n contents.insert(0, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReferenceHolder(saveStream));\n saveData = [];\n saveData.push(restoreState);\n restoreStream.data = saveData;\n contents.insert(contents.count, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReferenceHolder(restoreStream));\n };\n /**\n * Returns `index of` the `PdfPageLayer` in the collection if exists, -1 otherwise.\n * @private\n */\n PdfPageLayerCollection.prototype.indexOf = function (layer) {\n if (layer == null) {\n throw new Error('ArgumentNullException: layer');\n }\n var index = this.list.indexOf(layer);\n return index;\n };\n return PdfPageLayerCollection;\n}(_general_pdf_collection__WEBPACK_IMPORTED_MODULE_5__.PdfCollection));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageLayer: () => (/* binding */ PdfPageLayer)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _graphics_pdf_graphics__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../graphics/pdf-graphics */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.js\");\n/* harmony import */ var _pdf_page_layer_collection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-page-layer-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer-collection.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n\n\n\n\n\n/**\n * The `PdfPageLayer` used to create layers in PDF document.\n * @private\n */\nvar PdfPageLayer = /** @class */ (function () {\n function PdfPageLayer(page, streamClipPageTemplates) {\n // private bSaved : boolean;\n /**\n * Local Variable to store the `color space` of the document.\n * @private\n */\n this.pdfColorSpace = _graphics_enum__WEBPACK_IMPORTED_MODULE_0__.PdfColorSpace.Rgb;\n /**\n * Local Variable to set `visibility`.\n * @default true\n * @private\n */\n this.isVisible = true;\n /**\n * Indicates if `Sublayer` is present.\n * @default false\n * @private\n */\n this.sublayer = false;\n /**\n * Local variable to store `length` of the graphics.\n * @default 0\n * @private\n */\n this.contentLength = 0;\n /**\n * Instance for `PdfDictionaryProperties` Class.\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n if (page === null) {\n throw new Error('ArgumentNullException:page');\n }\n this.pdfPage = page;\n this.clipPageTemplates = true;\n if (typeof streamClipPageTemplates === 'undefined') {\n this.content = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream();\n }\n else if (streamClipPageTemplates instanceof _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream || streamClipPageTemplates === null) {\n if (streamClipPageTemplates === null) {\n throw new Error('ArgumentNullException:stream');\n }\n this.content = streamClipPageTemplates;\n }\n else {\n this.content = new _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_2__.PdfStream();\n this.clipPageTemplates = streamClipPageTemplates;\n }\n }\n Object.defineProperty(PdfPageLayer.prototype, \"colorSpace\", {\n // Properties\n /**\n * Get or set the `color space`.\n * @private\n */\n get: function () {\n return this.pdfColorSpace;\n },\n set: function (value) {\n this.pdfColorSpace = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageLayer.prototype, \"page\", {\n /**\n * Gets parent `page` of the layer.\n * @private\n */\n get: function () {\n return this.pdfPage;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageLayer.prototype, \"layerId\", {\n /**\n * Gets and Sets the `id of the layer`.\n * @private\n */\n get: function () {\n return this.layerid;\n },\n set: function (value) {\n this.layerid = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageLayer.prototype, \"name\", {\n /**\n * Gets or sets the `name` of the layer.\n * @private\n */\n get: function () {\n return this.layerName;\n },\n set: function (value) {\n this.layerName = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageLayer.prototype, \"visible\", {\n /**\n * Gets or sets the `visibility` of the layer.\n * @private\n */\n get: function () {\n return this.isVisible;\n },\n set: function (value) {\n this.isVisible = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageLayer.prototype, \"graphics\", {\n /**\n * Gets `Graphics` context of the layer, used to draw various graphical content on layer.\n * @private\n */\n get: function () {\n if ((this.pdfGraphics == null)) {\n this.initializeGraphics(this.page);\n }\n return this.pdfGraphics;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageLayer.prototype, \"layers\", {\n /**\n * Gets the collection of `PdfPageLayer`, this collection handle by the class 'PdfPageLayerCollection'.\n * @private\n */\n get: function () {\n if (this.layer == null) {\n this.layer = new _pdf_page_layer_collection__WEBPACK_IMPORTED_MODULE_3__.PdfPageLayerCollection(this.page);\n this.layer.sublayer = true;\n return this.layer;\n }\n else {\n return this.layer;\n }\n },\n enumerable: true,\n configurable: true\n });\n // Implementation\n /**\n * `Adds` a new PDF Page layer.\n * @private\n */\n PdfPageLayer.prototype.add = function () {\n var layer = new PdfPageLayer(this.pdfPage);\n layer.name = '';\n return layer;\n };\n /**\n * Returns a value indicating the `sign` of a single-precision floating-point number.\n * @private\n */\n PdfPageLayer.prototype.sign = function (number) {\n if (number === 0) {\n return 0;\n }\n else if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n };\n /**\n * `Initializes Graphics context` of the layer.\n * @private\n */\n PdfPageLayer.prototype.initializeGraphics = function (page) {\n var oPage = page;\n var gr = new _graphics_pdf_graphics__WEBPACK_IMPORTED_MODULE_4__.GetResourceEventHandler(this.page);\n var cropBox = null;\n this.pdfGraphics = new _graphics_pdf_graphics__WEBPACK_IMPORTED_MODULE_4__.PdfGraphics(page.size, gr, this.content);\n this.pdfGraphics.mediaBoxUpperRightBound = 0;\n if (oPage != null) {\n var sc = oPage.section.parent;\n if (sc != null) {\n this.pdfGraphics.colorSpace = sc.document.colorSpace;\n this.colorSpace = sc.document.colorSpace;\n }\n }\n // Transform coordinates to the left/top and activate margins.\n var isSame = (this.sign(page.origin.y) === this.sign(page.origin.x));\n // if (page != null) {\n if (page.origin.x >= 0 && page.origin.y >= 0 || !(isSame)) {\n this.pdfGraphics.initializeCoordinates();\n }\n else {\n // this.m_graphics.InitializeCoordinates(page);\n }\n var clipRect = oPage.section.getActualBounds(oPage, true);\n var margins = oPage.section.pageSettings.margins;\n if (this.clipPageTemplates) {\n if (page.origin.x >= 0 && page.origin.y >= 0) {\n this.pdfGraphics.clipTranslateMargins(clipRect);\n }\n }\n else {\n this.graphics.clipTranslateMargins(clipRect.x, clipRect.y, margins.left, margins.top, margins.right, margins.bottom);\n }\n this.pdfGraphics.setLayer(this);\n // this.bSaved = false;\n };\n Object.defineProperty(PdfPageLayer.prototype, \"element\", {\n // IPdfWrapper Members\n /**\n * Gets the wrapped `element`.\n * @private\n */\n get: function () {\n return this.content;\n },\n enumerable: true,\n configurable: true\n });\n return PdfPageLayer;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-settings.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-settings.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageSettings: () => (/* binding */ PdfPageSettings)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _pdf_page_size__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-page-size */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-size.js\");\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n/* harmony import */ var _graphics_pdf_margins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../graphics/pdf-margins */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-margins.js\");\n/**\n * PdfPageSettings.ts class for EJ2-PDF\n */\n\n\n\n\n/**\n * The class provides various `setting` related with PDF pages.\n */\nvar PdfPageSettings = /** @class */ (function () {\n function PdfPageSettings(margins) {\n //Fields\n /**\n * The page `margins`.\n * @private\n */\n this.pageMargins = new _graphics_pdf_margins__WEBPACK_IMPORTED_MODULE_0__.PdfMargins();\n /**\n * The page `size`.\n * @default a4\n * @private\n */\n this.pageSize = _pdf_page_size__WEBPACK_IMPORTED_MODULE_1__.PdfPageSize.a4;\n /**\n * The page `rotation angle`.\n * @default PdfPageRotateAngle.RotateAngle0\n * @private\n */\n this.rotateAngle = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfPageRotateAngle.RotateAngle0;\n /**\n * The page `orientation`.\n * @default PdfPageOrientation.Portrait\n * @private\n */\n this.pageOrientation = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfPageOrientation.Portrait;\n /**\n * The page `origin`.\n * @default 0,0\n * @private\n */\n this.pageOrigin = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.PointF(0, 0);\n /**\n * Checks the Whether the `rotation` is applied or not.\n * @default false\n * @private\n */\n this.isRotation = false;\n if (typeof margins === 'number') {\n this.pageMargins.setMargins(margins);\n }\n }\n Object.defineProperty(PdfPageSettings.prototype, \"size\", {\n //Properties\n /**\n * Gets or sets the `size` of the page.\n * @private\n */\n get: function () {\n return this.pageSize;\n },\n set: function (value) {\n this.setSize(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageSettings.prototype, \"orientation\", {\n /**\n * Gets or sets the page `orientation`.\n * @private\n */\n get: function () {\n return this.pageOrientation;\n },\n set: function (orientation) {\n if (this.pageOrientation !== orientation) {\n this.pageOrientation = orientation;\n this.updateSize(orientation);\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageSettings.prototype, \"margins\", {\n /**\n * Gets or sets the `margins` of the page.\n * @private\n */\n get: function () {\n return this.pageMargins;\n },\n set: function (value) {\n this.pageMargins = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageSettings.prototype, \"width\", {\n /**\n * Gets or sets the `width` of the page.\n * @private\n */\n get: function () {\n return this.pageSize.width;\n },\n set: function (value) {\n this.pageSize.width = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageSettings.prototype, \"height\", {\n /**\n * Gets or sets the `height` of the page.\n * @private\n */\n get: function () {\n return this.pageSize.height;\n },\n set: function (value) {\n this.pageSize.height = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageSettings.prototype, \"origin\", {\n /**\n * Gets or sets the `origin` of the page.\n * @private\n */\n get: function () {\n return this.pageOrigin;\n },\n set: function (value) {\n this.pageOrigin = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageSettings.prototype, \"rotate\", {\n /**\n * Gets or sets the number of degrees by which the page should be `rotated` clockwise when displayed or printed.\n * @private\n */\n get: function () {\n return this.rotateAngle;\n },\n set: function (value) {\n this.rotateAngle = value;\n this.isRotation = true;\n },\n enumerable: true,\n configurable: true\n });\n //Methods\n /**\n * `Update page size` depending on orientation.\n * @private\n */\n PdfPageSettings.prototype.updateSize = function (orientation) {\n var min = Math.min(this.pageSize.width, this.pageSize.height);\n var max = Math.max(this.pageSize.width, this.pageSize.height);\n switch (orientation) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfPageOrientation.Portrait:\n this.pageSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(min, max);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfPageOrientation.Landscape:\n this.pageSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(max, min);\n break;\n }\n };\n /**\n * Creates a `clone` of the object.\n * @private\n */\n PdfPageSettings.prototype.clone = function () {\n var settings = this;\n settings.pageMargins = this.pageMargins.clone();\n // if (GetTransition() != null)\n // {\n // settings.Transition = (PdfPageTransition)Transition.clone();\n // }\n return settings;\n };\n /**\n * Returns `size`, shrinked by the margins.\n * @private\n */\n PdfPageSettings.prototype.getActualSize = function () {\n var width = this.width - (this.margins.left + this.margins.right);\n var height = this.height - (this.margins.top + this.margins.bottom);\n var size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(width, height);\n return size;\n };\n /**\n * Sets `size` to the page aaccording to the orientation.\n * @private\n */\n PdfPageSettings.prototype.setSize = function (size) {\n var min = Math.min(size.width, size.height);\n var max = Math.max(size.width, size.height);\n if (this.orientation === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfPageOrientation.Portrait) {\n this.pageSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(min, max);\n }\n else {\n this.pageSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_3__.SizeF(max, min);\n }\n };\n return PdfPageSettings;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-settings.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-size.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-size.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageSize: () => (/* binding */ PdfPageSize)\n/* harmony export */ });\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/**\n * PdfPageSize.ts class for EJ2-PDF\n */\n\n/**\n * Represents information about various predefined `page sizes`.\n */\nvar PdfPageSize = /** @class */ (function () {\n //constructor\n /**\n * Initialize an instance for `PdfPageSize` class.\n * @private\n */\n function PdfPageSize() {\n // \n }\n /**\n * Specifies the size of `letter`.\n * @private\n */\n PdfPageSize.letter = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(612, 792);\n /**\n * Specifies the size of `note`.\n * @private\n */\n PdfPageSize.note = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(540, 720);\n /**\n * Specifies the size of `legal`.\n * @private\n */\n PdfPageSize.legal = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(612, 1008);\n /**\n * Specifies the size of `a0`.\n * @private\n */\n PdfPageSize.a0 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(2380, 3368);\n /**\n * Specifies the size of `a1`.\n * @private\n */\n PdfPageSize.a1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1684, 2380);\n /**\n * Specifies the size of `a2`.\n * @private\n */\n PdfPageSize.a2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1190, 1684);\n /**\n * Specifies the size of `a3`.\n * @private\n */\n PdfPageSize.a3 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(842, 1190);\n /**\n * Specifies the size of `a4`.\n * @private\n */\n PdfPageSize.a4 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(595, 842);\n /**\n * Specifies the size of `a5`.\n * @private\n */\n PdfPageSize.a5 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(421, 595);\n /**\n * Specifies the size of `a6`.\n * @private\n */\n PdfPageSize.a6 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(297, 421);\n /**\n * Specifies the size of `a7`.\n * @private\n */\n PdfPageSize.a7 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(210, 297);\n /**\n * Specifies the size of `a8`.\n * @private\n */\n PdfPageSize.a8 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(148, 210);\n /**\n * Specifies the size of `a9`.\n * @private\n */\n PdfPageSize.a9 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(105, 148);\n /**\n * Specifies the size of `a10`.\n * @private\n */\n PdfPageSize.a10 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(74, 105);\n /**\n * Specifies the size of `b0`.\n * @private\n */\n PdfPageSize.b0 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(2836, 4008);\n /**\n * Specifies the size of `b1`.\n * @private\n */\n PdfPageSize.b1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(2004, 2836);\n /**\n * Specifies the size of `b2`.\n * @private\n */\n PdfPageSize.b2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1418, 2004);\n /**\n * Specifies the size of `b3`.\n * @private\n */\n PdfPageSize.b3 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1002, 1418);\n /**\n * Specifies the size of `b4`.\n * @private\n */\n PdfPageSize.b4 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(709, 1002);\n /**\n * Specifies the size of `b5`.\n * @private\n */\n PdfPageSize.b5 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(501, 709);\n /**\n * Specifies the size of `archE`.\n * @private\n */\n PdfPageSize.archE = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(2592, 3456);\n /**\n * Specifies the size of `archD`.\n * @private\n */\n PdfPageSize.archD = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1728, 2592);\n /**\n * Specifies the size of `archC`.\n * @private\n */\n PdfPageSize.archC = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1296, 1728);\n /**\n * Specifies the size of `archB`.\n * @private\n */\n PdfPageSize.archB = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(864, 1296);\n /**\n * Specifies the size of `archA`.\n * @private\n */\n PdfPageSize.archA = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(648, 864);\n /**\n * Specifies the size of `flsa`.\n * @private\n */\n PdfPageSize.flsa = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(612, 936);\n /**\n * Specifies the size of `halfLetter`.\n * @private\n */\n PdfPageSize.halfLetter = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(396, 612);\n /**\n * Specifies the size of `letter11x17`.\n * @private\n */\n PdfPageSize.letter11x17 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(792, 1224);\n /**\n * Specifies the size of `ledger`.\n * @private\n */\n PdfPageSize.ledger = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(1224, 792);\n return PdfPageSize;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-size.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-template-element.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-template-element.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPageTemplateElement: () => (/* binding */ PdfPageTemplateElement)\n/* harmony export */ });\n/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_figures_pdf_template__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../graphics/figures/pdf-template */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.js\");\n/* harmony import */ var _pdf_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-page */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js\");\n/**\n * PdfPageTemplateElement.ts class for EJ2-Pdf\n */\n\n\n\n\n\n/**\n * Describes a `page template` object that can be used as header/footer, watermark or stamp.\n */\nvar PdfPageTemplateElement = /** @class */ (function () {\n /* tslint:disable */\n function PdfPageTemplateElement(arg1, arg2, arg3, arg4, arg5) {\n if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF && typeof arg2 === 'undefined') {\n this.InitiateBounds(arg1.x, arg1.y, arg1.width, arg1.height, null);\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF && arg2 instanceof _pdf_page__WEBPACK_IMPORTED_MODULE_1__.PdfPage && typeof arg3 === 'undefined') {\n this.InitiateBounds(arg1.x, arg1.y, arg1.width, arg1.height, arg2);\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF && typeof arg3 === 'undefined') {\n this.InitiateBounds(arg1.x, arg1.y, arg2.width, arg2.height, null);\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF && arg3 instanceof _pdf_page__WEBPACK_IMPORTED_MODULE_1__.PdfPage && typeof arg4 === 'undefined') {\n this.InitiateBounds(arg1.x, arg1.y, arg2.width, arg2.height, arg3);\n }\n else if (arg1 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF && typeof arg2 === 'undefined') {\n this.InitiateBounds(0, 0, arg1.width, arg1.height, null);\n }\n else if (typeof arg1 === 'number' && typeof arg2 === 'number' && typeof arg3 === 'undefined') {\n this.InitiateBounds(0, 0, arg1, arg2, null);\n }\n else if (typeof arg1 === 'number' && typeof arg2 === 'number' && arg3 instanceof _pdf_page__WEBPACK_IMPORTED_MODULE_1__.PdfPage && typeof arg4 === 'undefined') {\n this.InitiateBounds(0, 0, arg1, arg2, arg3);\n }\n else if (typeof arg1 === 'number' && typeof arg2 === 'number' && typeof arg3 === 'number' && typeof arg4 === 'number' && typeof arg5 === 'undefined') {\n this.InitiateBounds(arg1, arg2, arg3, arg4, null);\n }\n else {\n this.InitiateBounds(arg1, arg2, arg3, arg4, null);\n // this.graphics.colorSpace = this.page.document.colorSpace;\n }\n /* tslint:enable */\n }\n Object.defineProperty(PdfPageTemplateElement.prototype, \"dock\", {\n // Properties\n /**\n * Gets or sets the `dock style` of the page template element.\n * @private\n */\n get: function () {\n return this.dockStyle;\n },\n set: function (value) {\n // if (this.dockStyle !== value && this.Type === TemplateType.None) {\n this.dockStyle = value;\n // Reset alignment.\n this.resetAlignment();\n // }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"alignment\", {\n /**\n * Gets or sets `alignment` of the page template element.\n * @private\n */\n get: function () {\n return this.alignmentStyle;\n },\n set: function (value) {\n // if (this.alignmentStyle !== value) {\n this.setAlignment(value);\n // }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"foreground\", {\n /**\n * Indicates whether the page template is located `in front of the page layers or behind of it`.\n * @private\n */\n get: function () {\n return this.isForeground;\n },\n set: function (value) {\n // if (this.foreground !== value) {\n this.isForeground = value;\n // }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"background\", {\n /**\n * Indicates whether the page template is located `behind of the page layers or in front of it`.\n * @private\n */\n get: function () {\n return !this.isForeground;\n },\n set: function (value) {\n this.isForeground = !value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"location\", {\n /**\n * Gets or sets `location` of the page template element.\n * @private\n */\n get: function () {\n return this.currentLocation;\n },\n set: function (value) {\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n this.currentLocation = value;\n }\n else {\n //\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"x\", {\n /**\n * Gets or sets `X` co-ordinate of the template element on the page.\n * @private\n */\n get: function () {\n var value = (typeof this.currentLocation !== 'undefined') ? this.currentLocation.x : 0;\n return value;\n },\n set: function (value) {\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n this.currentLocation.x = value;\n }\n else {\n //\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"y\", {\n /**\n * Gets or sets `Y` co-ordinate of the template element on the page.\n * @private\n */\n get: function () {\n var value = (typeof this.currentLocation !== 'undefined') ? this.currentLocation.y : 0;\n return value;\n },\n set: function (value) {\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n this.currentLocation.y = value;\n }\n else {\n //\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"size\", {\n /**\n * Gets or sets `size` of the page template element.\n * @private\n */\n get: function () {\n return this.template.size;\n },\n set: function (value) {\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n this.template.reset(value);\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"width\", {\n /**\n * Gets or sets `width` of the page template element.\n * @private\n */\n get: function () {\n return this.template.width;\n },\n set: function (value) {\n if (this.template.width !== value && this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n var size = this.template.size;\n size.width = value;\n this.template.reset(size);\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"height\", {\n /**\n * Gets or sets `height` of the page template element.\n * @private\n */\n get: function () {\n return this.template.height;\n },\n set: function (value) {\n if (this.template.height !== value && this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n var size = this.template.size;\n size.height = value;\n this.template.reset(size);\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"graphics\", {\n /**\n * Gets `graphics` context of the page template element.\n * @private\n */\n get: function () {\n return this.template.graphics;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"template\", {\n /**\n * Gets Pdf `template` object.\n * @private\n */\n get: function () {\n // if (typeof this.pdfTemplate === 'undefined' || this.pdfTemplate == null) {\n // this.pdfTemplate = new PdfTemplate(this.size);\n // }\n return this.pdfTemplate;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"type\", {\n /**\n * Gets or sets `type` of the usage of this page template.\n * @private\n */\n get: function () {\n return this.templateType;\n },\n set: function (value) {\n this.updateDocking(value);\n this.templateType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPageTemplateElement.prototype, \"bounds\", {\n /**\n * Gets or sets `bounds` of the page template.\n * @public\n */\n get: function () {\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(this.x, this.y), this.size);\n },\n set: function (value) {\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n this.location = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(value.x, value.y);\n this.size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(value.width, value.height);\n }\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Initialize Bounds` Initialize the bounds value of the template.\n * @private\n */\n PdfPageTemplateElement.prototype.InitiateBounds = function (arg1, arg2, arg3, arg4, arg5) {\n this.x = arg1;\n this.y = arg2;\n this.pdfTemplate = new _graphics_figures_pdf_template__WEBPACK_IMPORTED_MODULE_3__.PdfTemplate(arg3, arg4);\n // this.graphics.colorSpace = this.page.document.colorSpace;\n };\n /**\n * `Updates Dock` property if template is used as header/footer.\n * @private\n */\n PdfPageTemplateElement.prototype.updateDocking = function (type) {\n if (type !== _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n switch (type) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Top:\n this.dock = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Top;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Bottom:\n this.dock = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Bottom;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Left:\n this.dock = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Left;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Right:\n this.dock = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Right;\n break;\n }\n this.resetAlignment();\n }\n };\n /**\n * `Resets alignment` of the template.\n * @private\n */\n PdfPageTemplateElement.prototype.resetAlignment = function () {\n this.alignment = _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None;\n };\n /**\n * `Sets alignment` of the template.\n * @private\n */\n PdfPageTemplateElement.prototype.setAlignment = function (alignment) {\n if (this.dock === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.None) {\n this.alignmentStyle = alignment;\n }\n else {\n // Template is docked and alignment has been changed.\n var canBeSet = false;\n switch (this.dock) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Left:\n canBeSet = (alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopLeft || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleLeft ||\n alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomLeft || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Top:\n canBeSet = (alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopLeft || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopCenter ||\n alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopRight || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Right:\n canBeSet = (alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopRight || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleRight ||\n alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomRight || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Bottom:\n canBeSet = (alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomLeft || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomCenter\n || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomRight || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Fill:\n canBeSet = (alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleCenter || alignment === _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None);\n break;\n }\n if (canBeSet) {\n this.alignmentStyle = alignment;\n }\n }\n };\n /**\n * Draws the template.\n * @private\n */\n PdfPageTemplateElement.prototype.draw = function (layer, document) {\n var page = layer.page;\n var bounds = this.calculateBounds(page, document);\n layer.graphics.drawPdfTemplate(this.template, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(bounds.x, bounds.y), new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(bounds.width, bounds.height));\n };\n /**\n * Calculates bounds of the page template.\n * @private\n */\n PdfPageTemplateElement.prototype.calculateBounds = function (page, document) {\n var result = this.bounds;\n if (this.alignmentStyle !== _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.None) {\n result = this.getAlignmentBounds(page, document);\n }\n else if (this.dockStyle !== _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.None) {\n result = this.getDockBounds(page, document);\n }\n return result;\n };\n /**\n * Calculates bounds according to the alignment.\n * @private\n */\n PdfPageTemplateElement.prototype.getAlignmentBounds = function (page, document) {\n var result = this.bounds;\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n result = this.getSimpleAlignmentBounds(page, document);\n }\n else {\n result = this.getTemplateAlignmentBounds(page, document);\n }\n return result;\n };\n /**\n * Calculates bounds according to the alignment.\n * @private\n */\n PdfPageTemplateElement.prototype.getSimpleAlignmentBounds = function (page, document) {\n var bounds = this.bounds;\n var pdfSection = page.section;\n var actualBounds = pdfSection.getActualBounds(document, page, false);\n var x = this.x;\n var y = this.y;\n switch (this.alignmentStyle) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopLeft:\n x = 0;\n y = 0;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopCenter:\n x = (actualBounds.width - this.width) / 2;\n y = 0;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopRight:\n x = actualBounds.width - this.width;\n y = 0;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleLeft:\n x = 0;\n y = (actualBounds.height - this.height) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleCenter:\n x = (actualBounds.width - this.width) / 2;\n y = (actualBounds.height - this.height) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleRight:\n x = actualBounds.width - this.width;\n y = (actualBounds.height - this.height) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomLeft:\n x = 0;\n y = actualBounds.height - this.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomCenter:\n x = (actualBounds.width - this.width) / 2;\n y = actualBounds.height - this.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomRight:\n x = actualBounds.width - this.width;\n y = actualBounds.height - this.height;\n break;\n }\n bounds.x = x;\n bounds.y = y;\n return bounds;\n };\n /**\n * Calculates bounds according to the alignment.\n * @private\n */\n PdfPageTemplateElement.prototype.getTemplateAlignmentBounds = function (page, document) {\n var result = this.bounds;\n var section = page.section;\n var actualBounds = section.getActualBounds(document, page, false);\n var x = this.x;\n var y = this.y;\n switch (this.alignmentStyle) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopLeft:\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Left) {\n x = this.convertSign(actualBounds.x);\n y = 0;\n }\n else if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Top) {\n x = this.convertSign(actualBounds.x);\n y = this.convertSign(actualBounds.y);\n }\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopCenter:\n x = (actualBounds.width - this.width) / 2;\n y = this.convertSign(actualBounds.y);\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.TopRight:\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Right) {\n x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;\n y = 0;\n }\n else if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Top) {\n x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;\n y = this.convertSign(actualBounds.y);\n }\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleLeft:\n x = this.convertSign(actualBounds.x);\n y = (actualBounds.height - this.height) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleCenter:\n x = (actualBounds.width - this.width) / 2;\n y = (actualBounds.height - this.height) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.MiddleRight:\n x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;\n y = (actualBounds.height - this.height) / 2;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomLeft:\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Left) {\n x = this.convertSign(actualBounds.x);\n y = actualBounds.height - this.height;\n }\n else if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Bottom) {\n x = this.convertSign(actualBounds.x);\n y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;\n }\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomCenter:\n x = (actualBounds.width - this.width) / 2;\n y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfAlignmentStyle.BottomRight:\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Right) {\n x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;\n y = actualBounds.height - this.height;\n }\n else if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.Bottom) {\n x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;\n y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;\n }\n break;\n }\n result.x = x;\n result.y = y;\n return result;\n };\n /**\n * Calculates bounds according to the docking.\n * @private\n */\n PdfPageTemplateElement.prototype.getDockBounds = function (page, document) {\n var result = this.bounds;\n if (this.type === _enum__WEBPACK_IMPORTED_MODULE_2__.TemplateType.None) {\n result = this.getSimpleDockBounds(page, document);\n }\n else {\n result = this.getTemplateDockBounds(page, document);\n }\n return result;\n };\n /**\n * Calculates bounds according to the docking.\n * @private\n */\n PdfPageTemplateElement.prototype.getSimpleDockBounds = function (page, document) {\n var result = this.bounds;\n var section = page.section;\n var actualBounds = section.getActualBounds(document, page, false);\n var x = this.x;\n var y = this.y;\n var width = this.width;\n var height = this.height;\n switch (this.dockStyle) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Left:\n x = 0;\n y = 0;\n width = this.width;\n height = actualBounds.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Top:\n x = 0;\n y = 0;\n width = actualBounds.width;\n height = this.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Right:\n x = actualBounds.width - this.width;\n y = 0;\n width = this.width;\n height = actualBounds.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Bottom:\n x = 0;\n y = actualBounds.height - this.height;\n width = actualBounds.width;\n height = this.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Fill:\n x = 0;\n x = 0;\n width = actualBounds.width;\n height = actualBounds.height;\n break;\n }\n result = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(x, y, width, height);\n return result;\n };\n /**\n * Calculates template bounds basing on docking if template is a page template.\n * @private\n */\n PdfPageTemplateElement.prototype.getTemplateDockBounds = function (page, document) {\n var result = this.bounds;\n var section = page.section;\n var actualBounds = section.getActualBounds(document, page, false);\n var actualSize = section.pageSettings.getActualSize();\n var x = this.x;\n var y = this.y;\n var width = this.width;\n var height = this.height;\n switch (this.dockStyle) {\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Left:\n x = this.convertSign(actualBounds.x);\n y = 0;\n width = this.width;\n height = actualBounds.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Top:\n x = this.convertSign(actualBounds.x);\n y = this.convertSign(actualBounds.y);\n width = actualSize.width;\n height = this.height;\n if (actualBounds.height < 0) {\n y = actualSize.height - actualBounds.y;\n }\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Right:\n x = actualBounds.width + section.getRightIndentWidth(document, page, false) - this.width;\n y = 0;\n width = this.width;\n height = actualBounds.height;\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Bottom:\n x = this.convertSign(actualBounds.x);\n y = actualBounds.height + section.getBottomIndentHeight(document, page, false) - this.height;\n width = actualSize.width;\n height = this.height;\n if (actualBounds.height < 0) {\n y -= actualSize.height;\n }\n break;\n case _enum__WEBPACK_IMPORTED_MODULE_2__.PdfDockStyle.Fill:\n x = 0;\n x = 0;\n width = actualBounds.width;\n height = actualBounds.height;\n break;\n }\n result = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(x, y, width, height);\n return result;\n };\n /**\n * Ignore value zero, otherwise convert sign.\n * @private\n */\n PdfPageTemplateElement.prototype.convertSign = function (value) {\n return (value !== 0 || (value === 0 && 1 / value === -Infinity)) ? -value : value;\n };\n return PdfPageTemplateElement;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-template-element.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfPage: () => (/* binding */ PdfPage)\n/* harmony export */ });\n/* harmony import */ var _pdf_page_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pdf-page-base */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-base.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _annotations_annotation_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../annotations/annotation-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation-collection.js\");\n/* harmony import */ var _pdf_page_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pdf-page-layer */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Provides methods and properties to create pages and its elements.\n * `PdfPage` class inherited from the `PdfPageBase` class.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * //\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * //\n * // set the font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\nvar PdfPage = /** @class */ (function (_super) {\n __extends(PdfPage, _super);\n //constructors\n /**\n * Initialize the new instance for `PdfPage` class.\n * @private\n */\n function PdfPage() {\n var _this = _super.call(this, new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.PdfDictionary()) || this;\n /**\n * Stores the instance of `PdfAnnotationCollection` class.\n * @hidden\n * @default null\n * @private\n */\n _this.annotationCollection = null;\n /**\n * Stores the instance of `PageBeginSave` event for Page Number Field.\n * @default null\n * @private\n */\n _this.beginSave = null;\n _this.initialize();\n return _this;\n }\n Object.defineProperty(PdfPage.prototype, \"document\", {\n //Properties\n /**\n * Gets current `document`.\n * @private\n */\n get: function () {\n if (this.section !== null && this.section.parent !== null) {\n return this.section.parent.document;\n }\n else {\n return null;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPage.prototype, \"graphics\", {\n /**\n * Get the current `graphics`.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a new page to the document\n * let page1 : PdfPage = document.pages.add();\n * //\n * // get graphics\n * let graphics : PdfGraphics = page1.graphics;\n * //\n * // set the font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // create black brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * // draw the text\n * graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n get: function () {\n var result = this.defaultLayer.graphics;\n result.currentPage = this;\n return result;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPage.prototype, \"crossTable\", {\n /**\n * Gets the `cross table`.\n * @private\n */\n get: function () {\n if (this.section === null) {\n throw new Error('PdfDocumentException : Page is not created');\n }\n return this.section.parent === null ? this.section.parentDocument.crossTable : this.section.parent.document.crossTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPage.prototype, \"size\", {\n /**\n * Gets the size of the PDF page- Read only.\n * @public\n */\n get: function () {\n return this.section.pageSettings.size;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPage.prototype, \"origin\", {\n /**\n * Gets the `origin` of the page.\n * @private\n */\n get: function () {\n return this.section.pageSettings.origin;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPage.prototype, \"annotations\", {\n /**\n * Gets a collection of the `annotations` of the page- Read only.\n * @private\n */\n get: function () {\n if (this.annotationCollection == null) {\n this.annotationCollection = new _annotations_annotation_collection__WEBPACK_IMPORTED_MODULE_1__.PdfAnnotationCollection(this);\n // if (!this.Dictionary.ContainsKey(this.dictionaryProperties.annots)) {\n this.dictionary.items.setValue(this.dictionaryProperties.annots, this.annotationCollection.element);\n // }\n this.annotationCollection.annotations = this.dictionary.items.getValue(this.dictionaryProperties.annots);\n }\n return this.annotationCollection;\n },\n enumerable: true,\n configurable: true\n });\n //Implementation\n /**\n * `Initializes` a page.\n * @private\n */\n PdfPage.prototype.initialize = function () {\n this.dictionary.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_2__.PdfName('Page'));\n this.dictionary.pageBeginDrawTemplate = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_0__.SaveTemplateEventHandler(this);\n };\n /**\n * Sets parent `section` to the page.\n * @private\n */\n PdfPage.prototype.setSection = function (section) {\n this.section = section;\n this.dictionary.items.setValue(this.dictionaryProperties.parent, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_3__.PdfReferenceHolder(section));\n };\n /**\n * `Resets the progress`.\n * @private\n */\n PdfPage.prototype.resetProgress = function () {\n this.isProgressOn = false;\n };\n /**\n * Get the page size reduced by page margins and page template dimensions.\n * ```typescript\n * // create a new PDF document\n * let document : PdfDocument = new PdfDocument();\n * // add a pages to the document\n * let page1 : PdfPage = document.pages.add();\n * // create new standard font\n * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);\n * // set brush\n * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));\n * //\n * // set the specified point using `getClientSize` method\n * let point : PointF = new PointF(page1.getClientSize().width - 200, page1.getClientSize().height - 200);\n * // draw the text\n * page1.graphics.drawString('Hello World', font, blackBrush, point);\n * //\n * // save the document\n * document.save('output.pdf');\n * // destroy the document\n * document.destroy();\n * ```\n */\n PdfPage.prototype.getClientSize = function () {\n var returnValue = this.section.getActualBounds(this, true);\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(returnValue.width, returnValue.height);\n };\n /**\n * Helper method to retrive the instance of `PageBeginSave` event for header and footer elements.\n * @private\n */\n PdfPage.prototype.pageBeginSave = function () {\n var doc = this.document;\n if (typeof doc !== undefined && doc != null) {\n this.drawPageTemplates(doc);\n }\n if (this.beginSave != null && typeof this.beginSave !== 'undefined') {\n this.beginSave(this);\n }\n };\n /**\n * Helper method to draw template elements.\n * @private\n */\n PdfPage.prototype.drawPageTemplates = function (document) {\n // Draw Background templates.\n var hasBackTemplates = this.section.containsTemplates(document, this, false);\n if (hasBackTemplates) {\n var backLayer = new _pdf_page_layer__WEBPACK_IMPORTED_MODULE_5__.PdfPageLayer(this, false);\n this.layers.insert(0, backLayer);\n this.section.drawTemplates(this, backLayer, document, false);\n if (backLayer.graphics !== null && typeof backLayer.graphics !== 'undefined') {\n for (var i = 0; i < backLayer.graphics.automaticFields.automaticFields.length; i++) {\n var fieldInfo = backLayer.graphics.automaticFields.automaticFields[i];\n fieldInfo.field.performDraw(backLayer.graphics, fieldInfo.location, fieldInfo.scalingX, fieldInfo.scalingY);\n }\n }\n }\n // Draw Foreground templates.\n var hasFrontTemplates = this.section.containsTemplates(document, this, true);\n if (hasFrontTemplates) {\n var frontLayer = new _pdf_page_layer__WEBPACK_IMPORTED_MODULE_5__.PdfPageLayer(this, false);\n this.layers.add(frontLayer);\n this.section.drawTemplates(this, frontLayer, document, true);\n }\n };\n return PdfPage;\n}(_pdf_page_base__WEBPACK_IMPORTED_MODULE_6__.PdfPageBase));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-collection.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-collection.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfSectionCollection: () => (/* binding */ PdfSectionCollection)\n/* harmony export */ });\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _pdf_section__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pdf-section */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n\n\n\n\n\n\n\n\n/**\n * Represents the `collection of the sections`.\n * @private\n */\nvar PdfSectionCollection = /** @class */ (function () {\n //constructor\n /**\n * Initializes a new instance of the `PdfSectionCollection` class.\n * @private\n */\n function PdfSectionCollection(document) {\n /**\n * @hidden\n * @private\n */\n this.sections = [];\n /**\n * @hidden\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n // if (document === null) {\n // throw new Error('ArgumentNullException : document');\n // }\n this.pdfDocument = document.clone();\n this.initialize();\n }\n Object.defineProperty(PdfSectionCollection.prototype, \"section\", {\n //Properties\n /**\n * Gets the `Section` collection.\n */\n get: function () {\n return this.sections;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionCollection.prototype, \"document\", {\n /**\n * Gets a parent `document`.\n * @private\n */\n get: function () {\n return this.pdfDocument;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionCollection.prototype, \"count\", {\n /**\n * Gets the `number of sections` in a document.\n * @private\n */\n get: function () {\n return this.sections.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionCollection.prototype, \"element\", {\n /**\n * Gets the wrapped `element`.\n * @private\n */\n get: function () {\n return this.pages;\n },\n enumerable: true,\n configurable: true\n });\n //Methods\n /**\n * `Initializes the object`.\n * @private\n */\n PdfSectionCollection.prototype.initialize = function () {\n this.sectionCount = new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_1__.PdfNumber(0);\n this.sectionCollection = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_2__.PdfArray();\n this.pages = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_3__.PdfDictionary();\n this.pages.beginSave = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_3__.SaveSectionCollectionEventHandler(this);\n this.pages.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_4__.PdfName('Pages'));\n this.pages.items.setValue(this.dictionaryProperties.kids, this.sectionCollection);\n this.pages.items.setValue(this.dictionaryProperties.count, this.sectionCount);\n this.pages.items.setValue(this.dictionaryProperties.resources, new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_3__.PdfDictionary());\n this.setPageSettings(this.pages, this.pdfDocument.pageSettings);\n };\n /**\n * Initializes a new instance of the `PdfSectionCollection` class.\n * @private\n */\n PdfSectionCollection.prototype.pdfSectionCollection = function (index) {\n if (index < 0 || index >= this.count) {\n throw new Error('IndexOutOfRangeException()');\n }\n return this.sections[index];\n };\n /**\n * In fills dictionary by the data from `Page settings`.\n * @private\n */\n PdfSectionCollection.prototype.setPageSettings = function (container, pageSettings) {\n // if (container === null) {\n // throw new Error('ArgumentNullException : container');\n // }\n // if (pageSettings === null) {\n // throw new Error('ArgumentNullException : pageSettings');\n // }\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_5__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_5__.PointF(), pageSettings.size);\n container.items.setValue(this.dictionaryProperties.mediaBox, _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_2__.PdfArray.fromRectangle(bounds));\n };\n /**\n * `Adds` the specified section.\n * @private\n */\n PdfSectionCollection.prototype.add = function (section) {\n if (typeof section === 'undefined') {\n var section_1 = new _pdf_section__WEBPACK_IMPORTED_MODULE_6__.PdfSection(this.pdfDocument);\n this.add(section_1);\n return section_1;\n }\n else {\n // if (section === null) {\n // throw new Error('ArgumentNullException : section');\n // }\n var r = this.checkSection(section);\n this.sections.push(section);\n section.parent = this;\n this.sectionCollection.add(r);\n return this.sections.indexOf(section);\n }\n };\n /**\n * `Checks` if the section is within the collection.\n * @private\n */\n PdfSectionCollection.prototype.checkSection = function (section) {\n var r = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_7__.PdfReferenceHolder(section);\n var contains = this.sectionCollection.contains(r);\n // if (contains) {\n // throw new Error('ArgumentException : The object can not be added twice to the collection,section');\n // }\n return r;\n };\n /**\n * Catches the Save event of the dictionary to `count the pages`.\n * @private\n */\n PdfSectionCollection.prototype.countPages = function () {\n var count = 0;\n this.sections.forEach(function (n) { return (count += n.count); });\n return count;\n };\n /**\n * Catches the Save event of the dictionary to `count the pages`.\n * @hidden\n * @private\n */\n PdfSectionCollection.prototype.beginSave = function () {\n this.sectionCount.intValue = this.countPages();\n };\n //Fields\n /**\n * Rotate factor for page `rotation`.\n * @default 90\n * @private\n */\n PdfSectionCollection.rotateFactor = 90;\n return PdfSectionCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-page-collection.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-page-collection.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfSectionPageCollection: () => (/* binding */ PdfSectionPageCollection)\n/* harmony export */ });\n/**\n * Represents the `collection of pages in a section`.\n * @private\n */\nvar PdfSectionPageCollection = /** @class */ (function () {\n // Constructors\n /**\n * Initializes a new instance of the `PdfSectionPageCollection` class.\n * @private\n */\n function PdfSectionPageCollection(section) {\n // Fields\n /**\n * @hidden\n * @private\n */\n this.pdfSection = null;\n if (section == null) {\n throw Error('ArgumentNullException(\"section\")');\n }\n this.section = section;\n }\n Object.defineProperty(PdfSectionPageCollection.prototype, \"section\", {\n // Properties\n /**\n * Gets the `PdfPage` at the specified index.\n * @private\n */\n get: function () {\n return this.pdfSection;\n },\n set: function (value) {\n this.pdfSection = value;\n },\n enumerable: true,\n configurable: true\n });\n // Public Methods\n /**\n * `Determines` whether the specified page is within the collection.\n * @private\n */\n PdfSectionPageCollection.prototype.contains = function (page) {\n return this.section.contains(page);\n };\n /**\n * `Removes` the specified page from collection.\n * @private\n */\n PdfSectionPageCollection.prototype.remove = function (page) {\n this.section.remove(page);\n };\n /**\n * `Adds` a new page from collection.\n * @private\n */\n PdfSectionPageCollection.prototype.add = function () {\n return this.section.add();\n };\n return PdfSectionPageCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-page-collection.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-templates.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-templates.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfSectionTemplate: () => (/* binding */ PdfSectionTemplate)\n/* harmony export */ });\n/* harmony import */ var _document_pdf_document_template__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../document/pdf-document-template */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-template.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfSectionTemplate.ts class for EJ2-PDF\n */\n\n/**\n * Represents a `page template` for all the pages in the section.\n */\nvar PdfSectionTemplate = /** @class */ (function (_super) {\n __extends(PdfSectionTemplate, _super);\n // Constructors\n /**\n * `Creates a new object`.\n * @private\n */\n function PdfSectionTemplate() {\n var _this = _super.call(this) || this;\n _this.leftValue = _this.topValue = _this.rightValue = _this.bottomValue = _this.stampValue = true;\n return _this;\n }\n Object.defineProperty(PdfSectionTemplate.prototype, \"applyDocumentLeftTemplate\", {\n // Properties\n /**\n * Gets or sets value indicating whether parent `Left page template should be used or not`.\n * @private\n */\n get: function () {\n return this.leftValue;\n },\n set: function (value) {\n this.leftValue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionTemplate.prototype, \"applyDocumentTopTemplate\", {\n /**\n * Gets or sets value indicating whether parent `Top page template should be used or not`.\n * @private\n */\n get: function () {\n return this.topValue;\n },\n set: function (value) {\n this.topValue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionTemplate.prototype, \"applyDocumentRightTemplate\", {\n /**\n * Gets or sets value indicating whether parent `Right page template should be used or not`.\n * @private\n */\n get: function () {\n return this.rightValue;\n },\n set: function (value) {\n this.rightValue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionTemplate.prototype, \"applyDocumentBottomTemplate\", {\n /**\n * Gets or sets value indicating whether parent `Bottom page template should be used or not`.\n * @private\n */\n get: function () {\n return this.bottomValue;\n },\n set: function (value) {\n this.bottomValue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSectionTemplate.prototype, \"applyDocumentStamps\", {\n /**\n * Gets or sets value indicating whether the `stamp value` is true or not.\n * @private\n */\n get: function () {\n return this.stampValue;\n },\n set: function (value) {\n this.stampValue = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfSectionTemplate;\n}(_document_pdf_document_template__WEBPACK_IMPORTED_MODULE_0__.PdfDocumentTemplate));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-templates.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageSettingsState: () => (/* binding */ PageSettingsState),\n/* harmony export */ PdfSection: () => (/* binding */ PdfSection)\n/* harmony export */ });\n/* harmony import */ var _pdf_page__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pdf-page */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.js\");\n/* harmony import */ var _page_added_event_arguments__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-added-event-arguments */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/page-added-event-arguments.js\");\n/* harmony import */ var _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _pdf_section_collection__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./pdf-section-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-collection.js\");\n/* harmony import */ var _pdf_section_page_collection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pdf-section-page-collection */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-page-collection.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _pdf_section_templates__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-section-templates */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-templates.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a `section` entity. A section it's a set of the pages with similar page settings.\n */\nvar PdfSection = /** @class */ (function () {\n function PdfSection(document, pageSettings) {\n //Fields\n //public PageAdded() : PageAddedEventArgs.PageAddedEventHandler = new PageAddedEventArgs.PageAddedEventHandler(Object,args)\n /**\n * @hidden\n * @private\n */\n this.pageAdded = new _page_added_event_arguments__WEBPACK_IMPORTED_MODULE_0__.PageAddedEventArgs();\n /**\n * @hidden\n * @private\n */\n this.pdfPages = [];\n /**\n * @hidden\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n this.pdfDocument = document;\n if (typeof pageSettings === 'undefined') {\n this.settings = document.pageSettings.clone();\n this.initialSettings = this.settings.clone();\n }\n else {\n this.settings = pageSettings.clone();\n this.initialSettings = this.settings.clone();\n }\n this.initialize();\n }\n Object.defineProperty(PdfSection.prototype, \"parent\", {\n //Property\n /**\n * Gets or sets the `parent`.\n * @private\n */\n get: function () {\n return this.sectionCollection;\n },\n set: function (value) {\n this.sectionCollection = value;\n this.section.items.setValue(this.dictionaryProperties.parent, new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__.PdfReferenceHolder(value));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"parentDocument\", {\n /**\n * Gets the `parent document`.\n * @private\n */\n get: function () {\n return this.pdfDocument;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"pageSettings\", {\n /**\n * Gets or sets the `page settings` of the section.\n * @private\n */\n get: function () {\n return this.settings;\n },\n set: function (value) {\n if (value != null) {\n this.settings = value;\n }\n else {\n throw Error('Value can not be null.');\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"element\", {\n /**\n * Gets the wrapped `element`.\n * @private\n */\n get: function () {\n return this.section;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"count\", {\n /**\n * Gets the `count` of the pages in the section.\n * @private\n */\n get: function () {\n return this.pagesReferences.count;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"template\", {\n /**\n * Gets or sets a `template` for the pages in the section.\n * @private\n */\n get: function () {\n if (this.pageTemplate == null) {\n this.pageTemplate = new _pdf_section_templates__WEBPACK_IMPORTED_MODULE_3__.PdfSectionTemplate();\n }\n return this.pageTemplate;\n },\n set: function (value) {\n this.pageTemplate = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"document\", {\n /**\n * Gets the `document`.\n * @private\n */\n get: function () {\n return this.sectionCollection.document;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfSection.prototype, \"pages\", {\n /**\n * Gets the collection of `pages` in a section (Read only)\n * @private\n */\n get: function () {\n if (this.pagesCollection == null || typeof this.pagesCollection === 'undefined') {\n this.pagesCollection = new _pdf_section_page_collection__WEBPACK_IMPORTED_MODULE_4__.PdfSectionPageCollection(this);\n }\n return this.pagesCollection;\n },\n enumerable: true,\n configurable: true\n });\n //methods\n /**\n * `Return the page collection` of current section.\n * @private\n */\n PdfSection.prototype.getPages = function () {\n return this.pdfPages;\n };\n /**\n * `Translates` point into native coordinates of the page.\n * @private\n */\n PdfSection.prototype.pointToNativePdf = function (page, point) {\n var bounds = this.getActualBounds(page, true);\n point.x += bounds.x;\n point.y = this.pageSettings.height - (point.y);\n return point;\n };\n /**\n * Sets the page setting of the current section.\n * @public\n * @param settings Instance of `PdfPageSettings`\n */\n PdfSection.prototype.setPageSettings = function (settings) {\n this.settings = settings;\n this.state.orientation = settings.orientation;\n this.state.rotate = settings.rotate;\n this.state.size = settings.size;\n this.state.origin = settings.origin;\n };\n /**\n * `Initializes` the object.\n * @private\n */\n PdfSection.prototype.initialize = function () {\n this.pagesReferences = new _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_5__.PdfArray();\n this.section = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__.PdfDictionary();\n this.state = new PageSettingsState(this.pdfDocument);\n this.section.sectionBeginSave = new _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__.SaveSectionEventHandler(this, this.state);\n this.pageCount = new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_7__.PdfNumber(0);\n this.section.items.setValue(this.dictionaryProperties.count, this.pageCount);\n this.section.items.setValue(this.dictionaryProperties.type, new _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_8__.PdfName(this.dictionaryProperties.pages));\n this.section.items.setValue(this.dictionaryProperties.kids, this.pagesReferences);\n };\n /**\n * Checks whether any template should be printed on this layer.\n * @private\n * @param document The parent document.\n * @param page The parent page.\n * @param foreground Layer z-order.\n * @returns True - if some content should be printed on the layer, False otherwise.\n */\n PdfSection.prototype.containsTemplates = function (document, page, foreground) {\n var documentHeaders = this.getDocumentTemplates(document, page, foreground);\n var sectionTemplates = this.getSectionTemplates(page, foreground);\n return (documentHeaders.length > 0 || sectionTemplates.length > 0);\n };\n /**\n * Returns array of the document templates.\n * @private\n * @param document The parent document.\n * @param page The parent page.\n * @param headers If true - return headers/footers, if false - return simple templates.\n * @param foreground If true - return foreground templates, if false - return background templates.\n * @returns Returns array of the document templates.\n */\n /* tslint:disable */\n PdfSection.prototype.getDocumentTemplates = function (document, page, foreground) {\n var templates = [];\n if (this.template.applyDocumentTopTemplate && document.template.getTop(page) != null) {\n if ((!(document.template.getTop(page).foreground || foreground)) || (document.template.getTop(page).foreground && foreground)) {\n templates.push(document.template.getTop(page));\n }\n }\n if (this.template.applyDocumentBottomTemplate && document.template.getBottom(page) != null) {\n if ((!(document.template.getBottom(page).foreground || foreground)) || (document.template.getBottom(page).foreground && foreground)) {\n templates.push(document.template.getBottom(page));\n }\n }\n if (this.template.applyDocumentLeftTemplate && document.template.getLeft(page) != null) {\n if ((!(document.template.getLeft(page).foreground || foreground)) || (document.template.getLeft(page).foreground && foreground)) {\n templates.push(document.template.getLeft(page));\n }\n }\n if (this.template.applyDocumentRightTemplate && document.template.getRight(page) != null) {\n if ((!(document.template.getRight(page).foreground || foreground)) || (document.template.getRight(page).foreground && foreground)) {\n templates.push(document.template.getRight(page));\n }\n }\n return templates;\n };\n /**\n * Returns array of the section templates.\n * @private\n * @param page The parent page.\n * @param foreground If true - return foreground templates, if false - return background templates.\n * @returns Returns array of the section templates.\n */\n /* tslint:disable */\n PdfSection.prototype.getSectionTemplates = function (page, foreground) {\n var templates = [];\n if (this.template.getTop(page) != null) {\n var pageTemplate = this.template.getTop(page);\n if ((!(pageTemplate.foreground || foreground)) || (pageTemplate.foreground && foreground)) {\n templates.push(pageTemplate);\n }\n }\n if (this.template.getBottom(page) != null) {\n var pageTemplate = this.template.getBottom(page);\n if ((!(pageTemplate.foreground || foreground)) || (pageTemplate.foreground && foreground)) {\n templates.push(pageTemplate);\n }\n }\n if (this.template.getLeft(page) != null) {\n var pageTemplate = this.template.getLeft(page);\n if ((!(pageTemplate.foreground || foreground)) || (pageTemplate.foreground && foreground)) {\n templates.push(pageTemplate);\n }\n }\n if (this.template.getRight(page) != null) {\n var pageTemplate = this.template.getRight(page);\n if ((!(pageTemplate.foreground || foreground)) || (pageTemplate.foreground && foreground)) {\n templates.push(pageTemplate);\n }\n }\n return templates;\n };\n /* tslint:enable */\n /**\n * `Adds` the specified page.\n * @private\n */\n PdfSection.prototype.add = function (page) {\n if (typeof page === 'undefined') {\n var page_1 = new _pdf_page__WEBPACK_IMPORTED_MODULE_9__.PdfPage();\n this.add(page_1);\n return page_1;\n }\n else {\n var r = this.checkPresence(page);\n this.pdfPages.push(page);\n this.pagesReferences.add(r);\n page.setSection(this);\n page.resetProgress();\n this.pageAddedMethod(page);\n }\n };\n /**\n * `Checks the presence`.\n * @private\n */\n PdfSection.prototype.checkPresence = function (page) {\n var rh = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__.PdfReferenceHolder(page);\n var contains = false;\n var sc = this.parent;\n for (var index = 0; index < sc.section.length; index++) {\n var section = sc.section[index];\n contains = contains || section.contains(page);\n }\n return rh;\n };\n /**\n * `Determines` whether the page in within the section.\n * @private\n */\n PdfSection.prototype.contains = function (page) {\n var index = this.indexOf(page);\n return (0 <= index);\n };\n /**\n * Get the `index of` the page.\n * @private\n */\n PdfSection.prototype.indexOf = function (page) {\n for (var index = 0; index < this.pdfPages.length; index++) {\n if (this.pdfPages[index] === page) {\n return this.pdfPages.indexOf(page);\n }\n }\n var r = new _primitives_pdf_reference__WEBPACK_IMPORTED_MODULE_2__.PdfReferenceHolder(page);\n return this.pagesReferences.indexOf(r);\n };\n /**\n * Call two event's methods.\n * @hidden\n * @private\n */\n PdfSection.prototype.pageAddedMethod = function (page) {\n //Create event's arguments\n var args = new _page_added_event_arguments__WEBPACK_IMPORTED_MODULE_0__.PageAddedEventArgs(page);\n this.onPageAdded(args);\n var parent = this.parent;\n parent.document.pages.onPageAdded(args);\n this.pageCount.intValue = this.count;\n };\n /**\n * Called when the page has been added.\n * @hidden\n * @private\n */\n PdfSection.prototype.onPageAdded = function (args) {\n //\n };\n PdfSection.prototype.getActualBounds = function (arg1, arg2, arg3) {\n if (arg1 instanceof _pdf_page__WEBPACK_IMPORTED_MODULE_9__.PdfPage && typeof arg2 === 'boolean') {\n var result = void 0;\n var document_1 = this.parent.document;\n result = this.getActualBounds(document_1, arg1, arg2);\n return result;\n }\n else {\n arg1 = arg1;\n arg2 = arg2;\n arg3 = arg3;\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_10__.RectangleF(0, 0, 0, 0);\n bounds.height = (arg3) ? this.pageSettings.size.height : this.pageSettings.getActualSize().height;\n bounds.width = (arg3) ? this.pageSettings.size.width : this.pageSettings.getActualSize().width;\n var left = this.getLeftIndentWidth(arg1, arg2, arg3);\n var top_1 = this.getTopIndentHeight(arg1, arg2, arg3);\n var right = this.getRightIndentWidth(arg1, arg2, arg3);\n var bottom = this.getBottomIndentHeight(arg1, arg2, arg3);\n bounds.x += left;\n bounds.y += top_1;\n bounds.width -= (left + right);\n bounds.height -= (top_1 + bottom);\n return bounds;\n }\n };\n /**\n * Calculates width of the `left indent`.\n * @private\n */\n PdfSection.prototype.getLeftIndentWidth = function (document, page, includeMargins) {\n if (document == null) {\n throw new Error('ArgumentNullException:document');\n }\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var value = (includeMargins) ? this.pageSettings.margins.left : 0;\n var templateWidth = (this.template.getLeft(page) != null) ? this.template.getLeft(page).width : 0;\n var docTemplateWidth = (document.template.getLeft(page) != null) ? document.template.getLeft(page).width : 0;\n value += (this.template.applyDocumentLeftTemplate) ? Math.max(templateWidth, docTemplateWidth) : templateWidth;\n return value;\n };\n /**\n * Calculates `Height` of the top indent.\n * @private\n */\n PdfSection.prototype.getTopIndentHeight = function (document, page, includeMargins) {\n if (document == null) {\n throw new Error('ArgumentNullException:document');\n }\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var value = (includeMargins) ? this.pageSettings.margins.top : 0;\n var templateHeight = (this.template.getTop(page) != null) ? this.template.getTop(page).height : 0;\n var docTemplateHeight = (document.template.getTop(page) != null) ? document.template.getTop(page).height : 0;\n value += (this.template.applyDocumentTopTemplate) ? Math.max(templateHeight, docTemplateHeight) : templateHeight;\n return value;\n };\n /**\n * Calculates `width` of the right indent.\n * @private\n */\n PdfSection.prototype.getRightIndentWidth = function (document, page, includeMargins) {\n if (document == null) {\n throw new Error('ArgumentNullException:document');\n }\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var value = (includeMargins) ? this.pageSettings.margins.right : 0;\n var templateWidth = (this.template.getRight(page) != null) ? this.template.getRight(page).width : 0;\n var docTemplateWidth = (document.template.getRight(page) != null) ? document.template.getRight(page).width : 0;\n value += (this.template.applyDocumentRightTemplate) ? Math.max(templateWidth, docTemplateWidth) : templateWidth;\n return value;\n };\n /**\n * Calculates `Height` of the bottom indent.\n * @private\n */\n PdfSection.prototype.getBottomIndentHeight = function (document, page, includeMargins) {\n if (document == null) {\n throw new Error('ArgumentNullException:document');\n }\n if (page == null) {\n throw new Error('ArgumentNullException:page');\n }\n var value = (includeMargins) ? this.pageSettings.margins.bottom : 0;\n var templateHeight = (this.template.getBottom(page) != null) ? this.template.getBottom(page).height : 0;\n var docTemplateHeight = (document.template.getBottom(page) != null) ? document.template.getBottom(page).height : 0;\n value += (this.template.applyDocumentBottomTemplate) ? Math.max(templateHeight, docTemplateHeight) : templateHeight;\n return value;\n };\n /**\n * `Removes` the page from the section.\n * @private\n */\n PdfSection.prototype.remove = function (page) {\n if (page == null) {\n throw Error('ArgumentNullException(\"page\")');\n }\n var index = this.pdfPages.indexOf(page);\n this.pagesReferences.removeAt(index);\n var temproaryPages = [];\n for (var j = 0; j < index; j++) {\n temproaryPages.push(this.pdfPages[j]);\n }\n for (var j = index + 1; j < this.pdfPages.length; j++) {\n temproaryPages.push(this.pdfPages[j]);\n }\n this.pdfPages = temproaryPages;\n };\n /**\n * In fills dictionary by the data from `Page settings`.\n * @private\n */\n PdfSection.prototype.applyPageSettings = function (container, parentSettings, state) {\n var bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_10__.RectangleF(state.origin, state.size);\n container.items.setValue(this.dictionaryProperties.mediaBox, _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_5__.PdfArray.fromRectangle(bounds));\n var rotate = 0;\n rotate = _pdf_section_collection__WEBPACK_IMPORTED_MODULE_11__.PdfSectionCollection.rotateFactor * state.rotate;\n var angle = new _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_7__.PdfNumber(rotate);\n container.items.setValue(this.dictionaryProperties.rotate, angle);\n };\n /**\n * Catches the Save event of the dictionary.\n * @hidden\n * @private\n */\n PdfSection.prototype.beginSave = function (state, writer) {\n var doc = writer.document;\n this.applyPageSettings(this.section, doc.pageSettings, state);\n };\n /**\n * Draws page templates on the page.\n * @private\n */\n PdfSection.prototype.drawTemplates = function (page, layer, document, foreground) {\n var documentHeaders = this.getDocumentTemplates(document, page, foreground);\n var sectionHeaders = this.getSectionTemplates(page, foreground);\n this.drawTemplatesHelper(layer, document, documentHeaders);\n this.drawTemplatesHelper(layer, document, sectionHeaders);\n };\n /**\n * Draws page templates on the page.\n * @private\n */\n PdfSection.prototype.drawTemplatesHelper = function (layer, document, templates) {\n if (templates != null && templates.length > 0) {\n var len = templates.length;\n for (var i = 0; i < len; i++) {\n var template = templates[i];\n template.draw(layer, document);\n }\n }\n };\n return PdfSection;\n}());\n\nvar PageSettingsState = /** @class */ (function () {\n //Public Constructor\n /**\n * New instance to store the `PageSettings`.\n * @private\n */\n function PageSettingsState(document) {\n this.pageOrientation = document.pageSettings.orientation;\n this.pageRotate = document.pageSettings.rotate;\n this.pageSize = document.pageSettings.size;\n this.pageOrigin = document.pageSettings.origin;\n }\n Object.defineProperty(PageSettingsState.prototype, \"orientation\", {\n //public Properties\n /**\n * @hidden\n * @private\n */\n get: function () {\n return this.pageOrientation;\n },\n set: function (value) {\n this.pageOrientation = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PageSettingsState.prototype, \"rotate\", {\n /**\n * @hidden\n * @private\n */\n get: function () {\n return this.pageRotate;\n },\n set: function (value) {\n this.pageRotate = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PageSettingsState.prototype, \"size\", {\n /**\n * @hidden\n * @private\n */\n get: function () {\n return this.pageSize;\n },\n set: function (value) {\n this.pageSize = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PageSettingsState.prototype, \"origin\", {\n /**\n * @hidden\n * @private\n */\n get: function () {\n return this.pageOrigin;\n },\n set: function (value) {\n this.pageOrigin = value;\n },\n enumerable: true,\n configurable: true\n });\n return PageSettingsState;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfArray: () => (/* binding */ PdfArray)\n/* harmony export */ });\n/* harmony import */ var _pdf_number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../input-output/pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n\n\n/**\n * `PdfArray` class is used to perform array related primitive operations.\n * @private\n */\nvar PdfArray = /** @class */ (function () {\n function PdfArray(array) {\n //Fields\n /**\n * `startMark` - '['\n * @private\n */\n this.startMark = '[';\n /**\n * `endMark` - ']'.\n * @private\n */\n this.endMark = ']';\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.position9 = -1;\n /**\n * Internal variable to hold `cloned object`.\n * @default null\n * @private\n */\n this.clonedObject9 = null;\n /**\n * Represents the Font dictionary.\n * @hidden\n * @private\n */\n this.isFont = false;\n if (typeof array === 'undefined') {\n this.internalElements = [];\n }\n else {\n if (typeof array !== 'undefined' && !(array instanceof PdfArray)) {\n var tempNumberArray = array;\n for (var index = 0; index < tempNumberArray.length; index++) {\n var pdfNumber = new _pdf_number__WEBPACK_IMPORTED_MODULE_0__.PdfNumber(tempNumberArray[index]);\n this.add(pdfNumber);\n }\n // } else if (typeof array !== 'undefined' && (array instanceof PdfArray)) {\n }\n else {\n var tempArray = array;\n // if (tempArray.Elements.length > 0) {\n this.internalElements = [];\n for (var index = 0; index < tempArray.elements.length; index++) {\n this.internalElements.push(tempArray.elements[index]);\n }\n // }\n }\n }\n }\n //property\n /**\n * Gets the `IPdfSavable` at the specified index.\n * @private\n */\n PdfArray.prototype.items = function (index) {\n // if (index < 0 || index >= this.Count) {\n // throw new Error('ArgumentOutOfRangeException : index, The index can\"t be less then zero or greater then Count.');\n // }\n return this.internalElements[index];\n };\n Object.defineProperty(PdfArray.prototype, \"count\", {\n /**\n * Gets the `count`.\n * @private\n */\n get: function () {\n return this.internalElements.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"status\", {\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status9;\n },\n set: function (value) {\n this.status9 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving9;\n },\n set: function (value) {\n this.isSaving9 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n return this.clonedObject9;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position9;\n },\n set: function (value) {\n this.position9 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index9;\n },\n set: function (value) {\n this.index9 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"CrossTable\", {\n /**\n * Returns `PdfCrossTable` associated with the object.\n * @private\n */\n get: function () {\n return this.pdfCrossTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfArray.prototype, \"elements\", {\n /**\n * Gets the `elements` of the Pdf Array.\n * @private\n */\n get: function () {\n return this.internalElements;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Adds` the specified element to the PDF array.\n * @private\n */\n PdfArray.prototype.add = function (element) {\n // if (element === null) {\n // throw new Error('ArgumentNullException : obj');\n // }\n if (typeof this.internalElements === 'undefined') {\n this.internalElements = [];\n }\n this.internalElements.push(element);\n this.markedChange();\n };\n /**\n * `Marks` the object changed.\n * @private\n */\n PdfArray.prototype.markedChange = function () {\n this.bChanged = true;\n };\n /**\n * `Determines` whether the specified element is within the array.\n * @private\n */\n PdfArray.prototype.contains = function (element) {\n var returnValue = false;\n for (var index = 0; index < this.internalElements.length; index++) {\n var tempElement = this.internalElements[index];\n var inputElement = element;\n if (tempElement != null && typeof tempElement !== 'undefined' && inputElement != null && typeof inputElement !== 'undefined') {\n if (tempElement.value === inputElement.value) {\n return true;\n }\n }\n // if (this.internalElements[index] === element) {\n // returnValue = true;\n // }\n }\n return returnValue;\n };\n /**\n * Returns the `primitive object` of input index.\n * @private\n */\n PdfArray.prototype.getItems = function (index) {\n // if (index < 0 || index >= this.Count) {\n // throw new Error('ArgumentOutOfRangeException : index , The index can\"t be less then zero or greater then Count.');\n // }\n return this.internalElements[index];\n };\n /**\n * `Saves` the object using the specified writer.\n * @private\n */\n PdfArray.prototype.save = function (writer) {\n // if (writer === null) {\n // throw new Error('ArgumentNullException : writer');\n // }\n writer.write(this.startMark);\n for (var i = 0, len = this.count; i < len; i++) {\n this.getItems(i).save(writer);\n if (i + 1 !== len) {\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_1__.Operators.whiteSpace);\n }\n }\n writer.write(this.endMark);\n };\n /**\n * Creates a `copy of PdfArray`.\n * @private\n */\n PdfArray.prototype.clone = function (crossTable) {\n // if (this.clonedObject9 !== null && this.clonedObject9.CrossTable === crossTable) {\n // return this.clonedObject9;\n // } else {\n this.clonedObject9 = null;\n // Else clone the object.\n var newArray = new PdfArray();\n for (var index = 0; index < this.internalElements.length; index++) {\n var obj = this.internalElements[index];\n newArray.add(obj.clone(crossTable));\n }\n newArray.pdfCrossTable = crossTable;\n this.clonedObject9 = newArray;\n return newArray;\n };\n /**\n * Creates filled PDF array `from the rectangle`.\n * @private\n */\n PdfArray.fromRectangle = function (bounds) {\n var values = [bounds.x, bounds.y, bounds.width, bounds.height];\n var array = new PdfArray(values);\n return array;\n };\n // /**\n // * Creates the rectangle from filled PDF array.\n // * @private\n // */\n // public ToRectangle() : RectangleF {\n // if (this.Count < 4) {\n // throw Error('InvalidOperationException-Can not convert to rectangle.');\n // }\n // let x1 : number;\n // let x2 : number;\n // let y1 : number;\n // let y2 : number;\n // let num : PdfNumber = this.getItems(0) as PdfNumber;\n // x1 = num.IntValue;\n // num = this.getItems(1) as PdfNumber;\n // y1 = num.IntValue;\n // num = this.getItems(2) as PdfNumber;\n // x2 = num.IntValue;\n // num = this.getItems(3) as PdfNumber;\n // y2 = num.IntValue;\n // let x : number = Math.min(x1, x2);\n // let y : number = Math.min(y1, y2);\n // let width : number = Math.abs(x1 - x2);\n // let height : number = Math.abs(y1 - y2);\n // let rect : RectangleF = new RectangleF(new PointF(x, y), new SizeF(width, height));\n // return rect;\n // }\n /**\n * `Inserts` the element into the array.\n * @private\n */\n PdfArray.prototype.insert = function (index, element) {\n if (index < this.internalElements.length && index > 0) {\n var tempElements = [];\n for (var i = 0; i < index; i++) {\n tempElements.push(this.internalElements[i]);\n }\n tempElements.push(element);\n for (var i = index; i < this.internalElements.length; i++) {\n tempElements.push(this.internalElements[i]);\n }\n this.internalElements = tempElements;\n }\n else {\n this.internalElements.push(element);\n }\n this.markChanged();\n };\n /**\n * `Checks whether array contains the element`.\n * @private\n */\n PdfArray.prototype.indexOf = function (element) {\n return this.internalElements.indexOf(element);\n };\n /**\n * `Removes` element from the array.\n * @private\n */\n PdfArray.prototype.remove = function (element) {\n // if (element === null) {\n // throw new Error('ArgumentNullException : element');\n // }\n var index = this.internalElements.indexOf(element);\n // if (index >= 0 && index < this.internalElements.length) {\n this.internalElements[index] = null;\n // }\n this.markChanged();\n };\n /**\n * `Remove` the element from the array by its index.\n * @private\n */\n PdfArray.prototype.removeAt = function (index) {\n // this.internalElements.RemoveAt(index);\n if (this.internalElements.length > index) {\n var tempArray = [];\n for (var i = 0; i < index; i++) {\n tempArray.push(this.internalElements[i]);\n }\n for (var i = index + 1; i < this.internalElements.length; i++) {\n tempArray.push(this.internalElements[i]);\n }\n this.internalElements = tempArray;\n }\n this.markChanged();\n };\n /**\n * `Clear` the array.\n * @private\n */\n PdfArray.prototype.clear = function () {\n this.internalElements = [];\n this.markChanged();\n };\n /**\n * `Marks` the object changed.\n * @private\n */\n PdfArray.prototype.markChanged = function () {\n this.bChanged = true;\n };\n return PdfArray;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfBoolean: () => (/* binding */ PdfBoolean)\n/* harmony export */ });\n/**\n * `PdfBoolean` class is used to perform boolean related primitive operations.\n * @private\n */\nvar PdfBoolean = /** @class */ (function () {\n //constructor\n /**\n * Initializes a new instance of the `PdfBoolean` class.\n * @private\n */\n function PdfBoolean(value) {\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.currentPosition = -1;\n this.value = value;\n }\n Object.defineProperty(PdfBoolean.prototype, \"status\", {\n //Properties\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.objectStatus;\n },\n set: function (value) {\n this.objectStatus = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBoolean.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.saving;\n },\n set: function (value) {\n this.saving = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBoolean.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index;\n },\n set: function (value) {\n this.index = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBoolean.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.currentPosition;\n },\n set: function (value) {\n this.currentPosition = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBoolean.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n var rValue = null;\n return rValue;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Saves` the object using the specified writer.\n * @private\n */\n PdfBoolean.prototype.save = function (writer) {\n writer.write(this.boolToStr(this.value));\n };\n /**\n * Creates a `copy of PdfBoolean`.\n * @private\n */\n PdfBoolean.prototype.clone = function (crossTable) {\n var newNumber = new PdfBoolean(this.value);\n return newNumber;\n };\n // Implementation\n /**\n * Converts `boolean to string` - 0/1 'true'/'false'.\n * @private\n */\n PdfBoolean.prototype.boolToStr = function (value) {\n return value ? 'true' : 'false';\n };\n return PdfBoolean;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfDictionary: () => (/* binding */ PdfDictionary),\n/* harmony export */ SaveAnnotationEventHandler: () => (/* binding */ SaveAnnotationEventHandler),\n/* harmony export */ SaveDescendantFontEventHandler: () => (/* binding */ SaveDescendantFontEventHandler),\n/* harmony export */ SaveFontDictionaryEventHandler: () => (/* binding */ SaveFontDictionaryEventHandler),\n/* harmony export */ SaveSectionCollectionEventHandler: () => (/* binding */ SaveSectionCollectionEventHandler),\n/* harmony export */ SaveSectionEventHandler: () => (/* binding */ SaveSectionEventHandler),\n/* harmony export */ SaveTemplateEventHandler: () => (/* binding */ SaveTemplateEventHandler)\n/* harmony export */ });\n/* harmony import */ var _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../collections/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.js\");\n/* harmony import */ var _pdf_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../input-output/pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n\n\n\n\n/**\n * `PdfDictionary` class is used to perform primitive operations.\n * @private\n */\nvar PdfDictionary = /** @class */ (function () {\n function PdfDictionary(dictionary) {\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.position7 = -1;\n /**\n * The `IPdfSavable` with the specified key.\n * @private\n */\n this.primitiveItems = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n /**\n * `Start marker` for dictionary.\n * @private\n */\n this.prefix = '<<';\n /**\n * `End marker` for dictionary.\n * @private\n */\n this.suffix = '>>';\n /**\n * @hidden\n * @private\n */\n this.resources = [];\n /**\n * Internal variable to hold `cloned object`.\n * @default null\n * @private\n */\n this.object = null;\n /**\n * Flag for PDF file formar 1.5 is dictionary `archiving` needed.\n * @default true\n * @private\n */\n this.archive = true;\n /**\n * Represents the Font dictionary.\n * @hidden\n * @private\n */\n this.isResource = false;\n if (typeof dictionary === 'undefined') {\n this.primitiveItems = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n this.encrypt = true;\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n }\n else {\n this.primitiveItems = new _collections_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary();\n var keys = dictionary.items.keys();\n var values = dictionary.items.values();\n for (var index = 0; index < dictionary.items.size(); index++) {\n this.primitiveItems.setValue(keys[index], values[index]);\n }\n this.status = dictionary.status;\n this.freezeChanges(this);\n this.encrypt = true;\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_1__.DictionaryProperties();\n }\n }\n Object.defineProperty(PdfDictionary.prototype, \"items\", {\n //Properties\n /**\n * Gets or sets the `IPdfSavable` with the specified key.\n * @private\n */\n get: function () {\n return this.primitiveItems;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"status\", {\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status7;\n },\n set: function (value) {\n this.status7 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving7;\n },\n set: function (value) {\n this.isSaving7 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index7;\n },\n set: function (value) {\n this.index7 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n return this.object;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position7;\n },\n set: function (value) {\n this.position7 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"Count\", {\n /**\n * Gets the `count`.\n * @private\n */\n get: function () {\n return this.primitiveItems.size();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfDictionary.prototype, \"Dictionary\", {\n /**\n * Collection of `items` in the object.\n * @private\n */\n get: function () {\n return this;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Get flag if need to `archive` dictionary.\n * @private\n */\n PdfDictionary.prototype.getArchive = function () {\n return this.archive;\n };\n /**\n * Set flag if need to `archive` dictionary.\n * @private\n */\n PdfDictionary.prototype.setArchive = function (value) {\n this.archive = value;\n };\n /**\n * Sets flag if `encryption` is needed.\n * @private\n */\n PdfDictionary.prototype.setEncrypt = function (value) {\n this.encrypt = value;\n this.modify();\n };\n /**\n * Gets flag if `encryption` is needed.\n * @private\n */\n PdfDictionary.prototype.getEncrypt = function () {\n return this.encrypt;\n };\n /**\n * `Freezes` the changes.\n * @private\n */\n PdfDictionary.prototype.freezeChanges = function (freezer) {\n this.bChanged = false;\n };\n /**\n * Creates a `copy of PdfDictionary`.\n * @private\n */\n PdfDictionary.prototype.clone = function (crossTable) {\n //Need to add more codings\n var newDict = new PdfDictionary();\n return newDict;\n };\n /**\n * `Mark` this instance modified.\n * @private\n */\n PdfDictionary.prototype.modify = function () {\n this.bChanged = true;\n };\n /**\n * `Removes` the specified key.\n * @private\n */\n PdfDictionary.prototype.remove = function (key) {\n if (typeof key !== 'string') {\n this.primitiveItems.remove(key.value);\n this.modify();\n }\n else {\n this.remove(new _pdf_name__WEBPACK_IMPORTED_MODULE_2__.PdfName(key));\n }\n };\n /**\n * `Determines` whether the dictionary contains the key.\n * @private\n */\n PdfDictionary.prototype.containsKey = function (key) {\n var returnValue = false;\n returnValue = this.primitiveItems.containsKey(key.toString());\n return returnValue;\n };\n /**\n * Raises event `BeginSave`.\n * @private\n */\n PdfDictionary.prototype.onBeginSave = function () {\n this.beginSave.sender.beginSave();\n };\n /**\n * Raises event `Font Dictionary BeginSave`.\n * @private\n */\n PdfDictionary.prototype.onFontDictionaryBeginSave = function () {\n this.fontDictionaryBeginSave.sender.fontDictionaryBeginSave();\n };\n /**\n * Raises event `Descendant Font BeginSave`.\n * @private\n */\n PdfDictionary.prototype.onDescendantFontBeginSave = function () {\n this.descendantFontBeginSave.sender.descendantFontBeginSave();\n };\n /**\n * Raises event 'BeginSave'.\n * @private\n */\n PdfDictionary.prototype.onTemplateBeginSave = function () {\n this.pageBeginDrawTemplate.sender.pageBeginSave();\n };\n /**\n * Raises event `BeginSave`.\n * @private\n */\n PdfDictionary.prototype.onBeginAnnotationSave = function () {\n this.annotationBeginSave.sender.beginSave();\n };\n /**\n * Raises event `BeginSave`.\n * @private\n */\n PdfDictionary.prototype.onSectionBeginSave = function (writer) {\n var saveEvent = this.sectionBeginSave;\n saveEvent.sender.beginSave(saveEvent.state, writer);\n };\n PdfDictionary.prototype.save = function (writer, bRaiseEvent) {\n if (typeof bRaiseEvent === 'undefined') {\n this.save(writer, true);\n }\n else {\n writer.write(this.prefix);\n if (typeof this.beginSave !== 'undefined') {\n this.onBeginSave();\n }\n if (typeof this.descendantFontBeginSave !== 'undefined') {\n this.onDescendantFontBeginSave();\n }\n if (typeof this.fontDictionaryBeginSave !== 'undefined') {\n this.onFontDictionaryBeginSave();\n }\n if (typeof this.annotationBeginSave !== 'undefined') {\n this.onBeginAnnotationSave();\n }\n if (typeof this.sectionBeginSave !== 'undefined') {\n this.onSectionBeginSave(writer);\n }\n if (typeof this.pageBeginDrawTemplate !== 'undefined') {\n this.onTemplateBeginSave();\n }\n // }\n if (this.Count > 0) {\n this.saveItems(writer);\n }\n writer.write(this.suffix);\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_3__.Operators.newLine);\n }\n };\n /**\n * `Save dictionary items`.\n * @private\n */\n PdfDictionary.prototype.saveItems = function (writer) {\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_3__.Operators.newLine);\n var keys = this.primitiveItems.keys();\n var values = this.primitiveItems.values();\n for (var index = 0; index < keys.length; index++) {\n var key = keys[index];\n var name_1 = new _pdf_name__WEBPACK_IMPORTED_MODULE_2__.PdfName(key);\n name_1.save(writer);\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_3__.Operators.whiteSpace);\n var resources = values[index];\n resources.save(writer);\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_3__.Operators.newLine);\n }\n };\n return PdfDictionary;\n}());\n\nvar SaveSectionCollectionEventHandler = /** @class */ (function () {\n /**\n * New instance for `save section collection event handler` class.\n * @private\n */\n function SaveSectionCollectionEventHandler(sender) {\n this.sender = sender;\n }\n return SaveSectionCollectionEventHandler;\n}());\n\nvar SaveDescendantFontEventHandler = /** @class */ (function () {\n /**\n * New instance for `save section collection event handler` class.\n * @private\n */\n function SaveDescendantFontEventHandler(sender) {\n this.sender = sender;\n }\n return SaveDescendantFontEventHandler;\n}());\n\nvar SaveFontDictionaryEventHandler = /** @class */ (function () {\n /**\n * New instance for `save section collection event handler` class.\n * @private\n */\n function SaveFontDictionaryEventHandler(sender) {\n this.sender = sender;\n }\n return SaveFontDictionaryEventHandler;\n}());\n\nvar SaveAnnotationEventHandler = /** @class */ (function () {\n /**\n * New instance for `save annotation event handler` class.\n * @private\n */\n function SaveAnnotationEventHandler(sender) {\n this.sender = sender;\n }\n return SaveAnnotationEventHandler;\n}());\n\nvar SaveSectionEventHandler = /** @class */ (function () {\n // constructors\n /**\n * New instance for `save section event handler` class.\n * @private\n */\n function SaveSectionEventHandler(sender, state) {\n this.sender = sender;\n this.state = state;\n }\n return SaveSectionEventHandler;\n}());\n\n/**\n * SaveTemplateEventHandler class used to store information about template elements.\n * @private\n * @hidden\n */\nvar SaveTemplateEventHandler = /** @class */ (function () {\n /**\n * New instance for save section collection event handler class.\n * @public\n */\n function SaveTemplateEventHandler(sender) {\n this.sender = sender;\n }\n return SaveTemplateEventHandler;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfName: () => (/* binding */ PdfName)\n/* harmony export */ });\n/**\n * `PdfName` class is used to perform name (element names) related primitive operations.\n * @private\n */\nvar PdfName = /** @class */ (function () {\n function PdfName(value) {\n /**\n * `Start symbol` of the name object.\n * @default /\n * @private\n */\n this.stringStartMark = '/';\n /**\n * `Value` of the element.\n * @private\n */\n this.internalValue = '';\n /**\n * Indicates if the object is currently in `saving state or not`.\n * @default false\n * @private\n */\n this.isSaving6 = false;\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.position6 = -1;\n this.internalValue = this.normalizeValue(value);\n }\n Object.defineProperty(PdfName.prototype, \"status\", {\n //property\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status6;\n },\n set: function (value) {\n this.status6 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfName.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving6;\n },\n set: function (value) {\n this.isSaving6 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfName.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index6;\n },\n set: function (value) {\n this.index6 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfName.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position6;\n },\n set: function (value) {\n this.position6 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfName.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n return null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfName.prototype, \"value\", {\n /**\n * Gets or sets the `value` of the object.\n * @private\n */\n get: function () {\n return this.internalValue;\n },\n set: function (value) {\n // if (value !== this.value) {\n var val = value;\n if (value !== null && value.length > 0) {\n // val = (value.substring(0, 1) === this.stringStartMark) ? value.substring(1) : value;\n val = value;\n this.internalValue = this.normalizeValue(val);\n }\n else {\n this.internalValue = val;\n }\n // }\n },\n enumerable: true,\n configurable: true\n });\n //public methods\n /**\n * `Saves` the name using the specified writer.\n * @private\n */\n PdfName.prototype.save = function (writer) {\n // if (writer === null) {\n // throw new Error('ArgumentNullException : writer');\n // }\n writer.write(this.toString());\n };\n /**\n * Gets `string` representation of the primitive.\n * @private\n */\n PdfName.prototype.toString = function () {\n return (this.stringStartMark + this.escapeString(this.value));\n };\n /**\n * Creates a `copy of PdfName`.\n * @private\n */\n PdfName.prototype.clone = function (crossTable) {\n var newName = new PdfName();\n newName.value = this.internalValue;\n return newName;\n };\n /**\n * Replace some characters with its `escape sequences`.\n * @private\n */\n PdfName.prototype.escapeString = function (stringValue) {\n // if (str === null) {\n // throw new Error('ArgumentNullException : str');\n // }\n // if (str === '') {\n // return str;\n // }\n var result = '';\n var len = 0;\n for (var i = 0, len_1 = stringValue.length; i < len_1; i++) {\n var ch = stringValue[i];\n var index = PdfName.delimiters.indexOf(ch);\n // switch (ch) {\n // case '\\r' :\n // result = result + '\\\\r';\n // break;\n // case '\\n' :\n // result = result + '\\n';\n // break;\n // case '(' :\n // case ')' :\n // case '\\\\' :\n // //result.Append( '\\\\' ).Append( ch );\n // result = result + ch;\n // break;\n // default :\n // result = result + ch;\n // break;\n // }\n result = result + ch;\n }\n return result;\n };\n //methiods\n /**\n * Replace a symbol with its code with the precedence of the `sharp sign`.\n * @private\n */\n PdfName.prototype.normalizeValue = function (value, c) {\n // if (typeof c === undefined) {\n // let str : string = value;\n // for (let i : number = 0; i < PdfName.replacements.length; i++) {\n // str = this.normalizeValue(str, c);\n // }\n // return str;\n // } else {\n var strFormat = '#{0:X}';\n //return value.replace(c.toString(),String.format(strFormat,c));\n return value;\n // }\n };\n /**\n * PDF `special characters`.\n * @private\n */\n PdfName.delimiters = '()<>[]{}/%}';\n /**\n * The symbols that are not allowed in PDF names and `should be replaced`.\n * @private\n */\n PdfName.replacements = [' ', '\\t', '\\n', '\\r'];\n return PdfName;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfNumber: () => (/* binding */ PdfNumber)\n/* harmony export */ });\n/**\n * `PdfNumber` class is used to perform number related primitive operations.\n * @private\n */\nvar PdfNumber = /** @class */ (function () {\n /**\n * Initializes a new instance of the `PdfNumber` class.\n * @private\n */\n function PdfNumber(value) {\n /**\n * Sotres the `position`.\n * @default -1\n * @private\n */\n this.position5 = -1;\n this.value = value;\n }\n Object.defineProperty(PdfNumber.prototype, \"intValue\", {\n /**\n * Gets or sets the `integer` value.\n * @private\n */\n get: function () {\n return this.value;\n },\n set: function (value) {\n this.value = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfNumber.prototype, \"isInteger\", {\n /**\n * Gets or sets a value indicating whether this instance `is integer`.\n * @private\n */\n get: function () {\n return this.integer;\n },\n set: function (value) {\n this.integer = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfNumber.prototype, \"status\", {\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status5;\n },\n set: function (value) {\n this.status5 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfNumber.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving5;\n },\n set: function (value) {\n this.isSaving5 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfNumber.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index5;\n },\n set: function (value) {\n this.index5 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfNumber.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position5;\n },\n set: function (value) {\n this.position5 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfNumber.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n var rValue = null;\n return rValue;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Saves the object`.\n * @private\n */\n PdfNumber.prototype.save = function (writer) {\n writer.write(this.intValue.toString()); //tostring(CultureInfo.InletiantCulture)\n };\n /**\n * Creates a `copy of PdfNumber`.\n * @private\n */\n PdfNumber.prototype.clone = function (crossTable) {\n var newNumber = new PdfNumber(this.value);\n return newNumber;\n };\n /**\n * Converts a `float value to a string` using Adobe PDF rules.\n * @private\n */\n PdfNumber.floatToString = function (number) {\n // let tempString1 : string = number.toString();\n // let tempString2 : string = tempString1.indexOf('.') != -1 ? tempString1.substring(0, tempString1.indexOf('.')) : tempString1;\n var returnString = number.toFixed(2);\n if (returnString === '0.00') {\n returnString = '.00';\n }\n // let prefixLength : number = (22 - tempString2.length) >= 0 ? (22 - tempString2.length) : 0;\n // for (let index : number = 0; index < prefixLength; index++) {\n // returnString += '0';\n // }\n // returnString += tempString2 + '.00';\n // returnString += (tempString3.length > 6) ? tempString3.substring(0,6) : tempString3;\n // let suffixLength : number = (6 - tempString3.length) >= 0 ? (6 - tempString3.length) : 0;\n // for (let index : number = 0; index < suffixLength; index++) {\n // returnString += '0';\n // }\n return returnString;\n };\n /**\n * Determines the `minimum of the three values`.\n * @private\n */\n PdfNumber.min = function (x, y, z) {\n var r = Math.min(x, y);\n return Math.min(z, r);\n };\n return PdfNumber;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfReference: () => (/* binding */ PdfReference),\n/* harmony export */ PdfReferenceHolder: () => (/* binding */ PdfReferenceHolder)\n/* harmony export */ });\n/* harmony import */ var _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../input-output/pdf-dictionary-properties */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.js\");\n/* harmony import */ var _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../primitives/pdf-stream */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js\");\n/* harmony import */ var _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../primitives/pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../primitives/pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../primitives/pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../primitives/pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../primitives/pdf-string */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js\");\n\n\n\n\n\n\n\n/**\n * `PdfReference` class is used to perform reference related primitive operations.\n * @private\n */\nvar PdfReference = /** @class */ (function () {\n function PdfReference(objNumber, genNumber) {\n /**\n * Holds the `index` number of the object.\n * @default -1\n * @private\n */\n this.index3 = -1;\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.position3 = -1;\n /**\n * Holds the `object number`.\n * @default 0\n * @private\n */\n this.objNumber = 0;\n /**\n * Holds the `generation number` of the object.\n * @default 0\n * @private\n */\n this.genNumber = 0;\n if (typeof objNumber === 'number' && typeof genNumber === 'number') {\n this.objNumber = objNumber;\n this.genNumber = genNumber;\n // } else if (typeof objNum === 'string' && typeof genNum === 'string') {\n }\n else {\n this.objNumber = Number(objNumber);\n this.genNumber = Number(genNumber);\n }\n }\n Object.defineProperty(PdfReference.prototype, \"status\", {\n //Property\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status3;\n },\n set: function (value) {\n this.status3 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReference.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving3;\n },\n set: function (value) {\n this.isSaving3 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReference.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index3;\n },\n set: function (value) {\n this.index3 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReference.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position3;\n },\n set: function (value) {\n this.position3 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReference.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n var returnObject3 = null;\n return returnObject3;\n },\n enumerable: true,\n configurable: true\n });\n //IPdfPrimitives methods\n /**\n * `Saves` the object.\n * @private\n */\n PdfReference.prototype.save = function (writer) {\n writer.write(this.toString());\n };\n /**\n * Returns a `string` representing the object.\n * @private\n */\n PdfReference.prototype.toString = function () {\n return this.objNumber.toString() + ' ' + this.genNumber.toString() + ' R';\n };\n /**\n * Creates a `deep copy` of the IPdfPrimitive object.\n * @private\n */\n PdfReference.prototype.clone = function (crossTable) {\n return null;\n };\n return PdfReference;\n}());\n\n/**\n * `PdfReferenceHolder` class is used to perform reference holder related primitive operations.\n * @private\n */\nvar PdfReferenceHolder = /** @class */ (function () {\n function PdfReferenceHolder(obj1, obj2) {\n /**\n * Holds the `index` number of the object.\n * @default -1\n * @private\n */\n this.index4 = -1;\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.position4 = -1;\n /**\n * The `index` of the object within the object collection.\n * @default -1\n * @private\n */\n this.objectIndex = -1;\n /**\n * @hidden\n * @private\n */\n this.dictionaryProperties = new _input_output_pdf_dictionary_properties__WEBPACK_IMPORTED_MODULE_0__.DictionaryProperties();\n // if (typeof obj2 === 'undefined') {\n this.initialize(obj1);\n // }\n // else {\n // if (obj2 === null) {\n // throw new Error('ArgumentNullException : crossTable');\n // }\n // if (obj1 === null) {\n // throw new Error('ArgumentNullException : reference');\n // }\n // this.crossTable = obj2;\n // let tempObj1 : PdfReference = obj1;\n // this.reference = tempObj1;\n // }\n }\n Object.defineProperty(PdfReferenceHolder.prototype, \"status\", {\n //Properties\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status4;\n },\n set: function (value) {\n this.status4 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving4;\n },\n set: function (value) {\n this.isSaving4 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index4;\n },\n set: function (value) {\n this.index4 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position4;\n },\n set: function (value) {\n this.position4 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n return null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"object\", {\n /**\n * Gets the `object` the reference is of.\n * @private\n */\n get: function () {\n // if ((this.reference != null) || (this.object == null)) {\n // this.object = this.GetterObject();\n // }\n return this.primitiveObject;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"reference\", {\n /**\n * Gets the `reference`.\n * @private\n */\n get: function () {\n return this.pdfReference;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"index\", {\n /**\n * Gets the `index` of the object.\n * @private\n */\n get: function () {\n // let items : PdfMainObjectCollection = this.crossTable.PdfObjects;\n // this.objectIndex = items.GetObjectIndex(this.reference);\n // if (this.objectIndex < 0) {\n // let obj : IPdfPrimitive = this.crossTable.GetObject(this.reference);\n // this.objectIndex = items.Count - 1;\n // }\n return this.objectIndex;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfReferenceHolder.prototype, \"element\", {\n /**\n * Gets the `element`.\n * @private\n */\n get: function () {\n return this.primitiveObject;\n },\n enumerable: true,\n configurable: true\n });\n PdfReferenceHolder.prototype.initialize = function (obj1) {\n if (obj1 instanceof _primitives_pdf_array__WEBPACK_IMPORTED_MODULE_1__.PdfArray\n || obj1 instanceof _primitives_pdf_dictionary__WEBPACK_IMPORTED_MODULE_2__.PdfDictionary\n || obj1 instanceof _primitives_pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName\n || obj1 instanceof _primitives_pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber\n || obj1 instanceof _primitives_pdf_stream__WEBPACK_IMPORTED_MODULE_5__.PdfStream\n || obj1 instanceof PdfReference\n || obj1 instanceof _primitives_pdf_string__WEBPACK_IMPORTED_MODULE_6__.PdfString) {\n this.primitiveObject = obj1;\n }\n else {\n var tempObj = obj1;\n this.initialize(tempObj.element);\n }\n };\n /**\n * `Writes` a reference into a PDF document.\n * @private\n */\n PdfReferenceHolder.prototype.save = function (writer) {\n // if (writer == null) {\n // throw new Error('ArgumentNullException : writer');\n // }\n var position = writer.position;\n var cTable = writer.document.crossTable;\n // if (cTable.Document instanceof PdfDocument) {\n this.object.isSaving = true;\n // }\n var reference = null;\n // if (writer.Document.FileStructure.IncrementalUpdate === true && writer.Document.isStreamCopied === true) {\n // if (this.reference === null) {\n // reference = cTable.GetReference(this.Object);\n // } else {\n // reference = this.reference;\n // }\n // } else {\n // reference = cTable.GetReference(this.Object);\n // }\n // if (!(writer.Document.FileStructure.IncrementalUpdate === true && writer.Document.isStreamCopied === true)) {\n reference = cTable.getReference(this.object);\n // }\n // if (writer.Position !== position) {\n // writer.Position = position;\n // }\n reference.save(writer);\n };\n /**\n * Creates a `copy of PdfReferenceHolder`.\n * @private\n */\n PdfReferenceHolder.prototype.clone = function (crossTable) {\n var refHolder = null;\n var temp = null;\n var refNum = '';\n var reference = null;\n // Restricts addition of same object multiple time.\n /* if (this.Reference != null && this.crossTable != null && this.crossTable.PageCorrespondance.containsKey(this.Reference)) {\n refHolder = new PdfReferenceHolder(this.crossTable.PageCorrespondance.getValue(this.Reference) as PdfReference, crossTable);\n return refHolder;\n }\n if (Object instanceof PdfNumber) {\n return new PdfNumber((Object as PdfNumber).IntValue);\n }\n */\n // if (Object instanceof PdfDictionary) {\n // // Meaning the referenced page is not available for import.\n // let type : PdfName = new PdfName(this.dictionaryProperties.type);\n // let dict : PdfDictionary = Object as PdfDictionary;\n // if (dict.ContainsKey(type)) {\n // let pageName : PdfName = dict.Items.getValue(type.Value) as PdfName;\n // if (pageName !== null) {\n // if (pageName.Value === 'Page') {\n // return new PdfNull();\n // }\n // }\n // }\n // }\n /* if (Object instanceof PdfName) {\n return new PdfName ((Object as PdfName ).Value);\n }\n */\n // Resolves circular references.\n // if (crossTable.PrevReference !== null && (crossTable.PrevReference.indexOf(this.Reference) !== -1)) {\n // let obj : IPdfPrimitive = this.crossTable.GetObject(this.Reference).ClonedObject;\n // if (obj !== null) {\n // reference = crossTable.GetReference(obj);\n // return new PdfReferenceHolder(reference, crossTable);\n // } else {\n // return new PdfNull();\n // }\n // }\n /*if (this.Reference !== null) {\n crossTable.PrevReference.push(this.Reference);\n }\n reference = crossTable.GetReference(temp);\n refHolder = new PdfReferenceHolder(reference, crossTable);\n return refHolder;\n */\n return null;\n };\n return PdfReferenceHolder;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfStream: () => (/* binding */ PdfStream),\n/* harmony export */ SaveCmapEventHandler: () => (/* binding */ SaveCmapEventHandler),\n/* harmony export */ SaveFontProgramEventHandler: () => (/* binding */ SaveFontProgramEventHandler)\n/* harmony export */ });\n/* harmony import */ var _pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pdf-dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.js\");\n/* harmony import */ var _pdf_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pdf-number */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.js\");\n/* harmony import */ var _input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../input-output/pdf-operators */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.js\");\n/* harmony import */ var _pdf_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pdf-name */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.js\");\n/* harmony import */ var _pdf_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-array */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.js\");\n/* harmony import */ var _pdf_reference__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-reference */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.js\");\n/* harmony import */ var _syncfusion_ej2_compression__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-compression */ \"./node_modules/@syncfusion/ej2-compression/src/compression-writer.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * `PdfStream` class is used to perform stream related primitive operations.\n * @private\n */\nvar PdfStream = /** @class */ (function (_super) {\n __extends(PdfStream, _super);\n function PdfStream(dictionary, data) {\n var _this = _super.call(this, dictionary) || this;\n //Constants\n /**\n * @hidden\n * @private\n */\n _this.dicPrefix = 'stream';\n /**\n * @hidden\n * @private\n */\n _this.dicSuffix = 'endstream';\n /**\n * Internal variable to hold `cloned object`.\n * @private\n */\n _this.clonedObject2 = null;\n /**\n * @hidden\n * @private\n */\n _this.bCompress = true;\n if (typeof dictionary !== 'undefined' || typeof data !== 'undefined') {\n _this.dataStream2 = [];\n _this.dataStream2 = data;\n _this.bCompress2 = false;\n }\n else {\n _this.dataStream2 = [];\n _this.bCompress2 = true;\n //Pending\n }\n return _this;\n }\n Object.defineProperty(PdfStream.prototype, \"internalStream\", {\n /**\n * Gets the `internal` stream.\n * @private\n */\n get: function () {\n return this.dataStream2;\n },\n set: function (value) {\n this.dataStream2 = [];\n this.dataStream2 = value;\n this.modify();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStream.prototype, \"compress\", {\n /**\n * Gets or sets `compression` flag.\n * @private\n */\n get: function () {\n return this.bCompress;\n },\n set: function (value) {\n this.bCompress = value;\n this.modify();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfStream.prototype, \"data\", {\n /**\n * Gets or sets the `data`.\n * @private\n */\n get: function () {\n return this.dataStream2;\n },\n set: function (value) {\n this.dataStream2 = [];\n this.dataStream2 = value;\n this.modify();\n },\n enumerable: true,\n configurable: true\n });\n /**\n * `Clear` the internal stream.\n * @private\n */\n PdfStream.prototype.clearStream = function () {\n this.internalStream = [];\n if (this.items.containsKey(this.dictionaryProperties.filter)) {\n this.remove(this.dictionaryProperties.filter);\n }\n this.bCompress = true;\n this.modify();\n };\n /**\n * `Writes` the specified string.\n * @private\n */\n PdfStream.prototype.write = function (text) {\n if (text == null) {\n throw new Error('ArgumentNullException:text');\n }\n if (text.length <= 0) {\n throw new Error('ArgumentException: Can not write an empty string, text');\n }\n this.dataStream2.push(text);\n this.modify();\n };\n /**\n * `Writes` the specified bytes.\n * @private\n */\n PdfStream.prototype.writeBytes = function (data) {\n if (data === null) {\n throw new Error('ArgumentNullException:data');\n }\n if (data.length <= 0) {\n throw new Error('ArgumentException: Can not write an empty bytes, data');\n }\n var text = '';\n for (var i = 0; i < data.length; i++) {\n text += String.fromCharCode(data[i]);\n }\n this.dataStream2.push(text);\n this.modify();\n };\n /**\n * Raises event `Cmap BeginSave`.\n * @private\n */\n PdfStream.prototype.onCmapBeginSave = function () {\n this.cmapBeginSave.sender.cmapBeginSave();\n };\n /**\n * Raises event `Font Program BeginSave`.\n * @private\n */\n PdfStream.prototype.onFontProgramBeginSave = function () {\n this.fontProgramBeginSave.sender.fontProgramBeginSave();\n };\n /**\n * `Compresses the content` if it's required.\n * @private\n */\n PdfStream.prototype.compressContent = function (data, writer) {\n if (this.bCompress) {\n var byteArray = [];\n for (var i = 0; i < data.length; i++) {\n byteArray.push(data.charCodeAt(i));\n }\n var dataArray = new Uint8Array(byteArray);\n var sw = new _syncfusion_ej2_compression__WEBPACK_IMPORTED_MODULE_0__.CompressedStreamWriter();\n // data = 'Hello World!!!';\n sw.write(dataArray, 0, dataArray.length);\n sw.close();\n data = sw.getCompressedString;\n this.addFilter(this.dictionaryProperties.flatedecode);\n }\n return data;\n };\n /**\n * `Adds a filter` to the filter array.\n * @private\n */\n PdfStream.prototype.addFilter = function (filterName) {\n var obj = this.items.getValue(this.dictionaryProperties.filter);\n if (obj instanceof _pdf_reference__WEBPACK_IMPORTED_MODULE_1__.PdfReferenceHolder) {\n var rh = obj;\n obj = rh.object;\n }\n var array = obj;\n var name = obj;\n if (name != null) {\n array = new _pdf_array__WEBPACK_IMPORTED_MODULE_2__.PdfArray();\n array.insert(0, name);\n this.items.setValue(this.dictionaryProperties.filter, array);\n }\n name = new _pdf_name__WEBPACK_IMPORTED_MODULE_3__.PdfName(filterName);\n if (array == null) {\n this.items.setValue(this.dictionaryProperties.filter, name);\n }\n else {\n array.insert(0, name);\n }\n };\n /**\n * `Saves` the object using the specified writer.\n * @private\n */\n PdfStream.prototype.save = function (writer) {\n if (typeof this.cmapBeginSave !== 'undefined') {\n this.onCmapBeginSave();\n }\n if (typeof this.fontProgramBeginSave !== 'undefined') {\n this.onFontProgramBeginSave();\n }\n var data = '';\n for (var i = 0; i < this.data.length; i++) {\n data = data + this.data[i];\n }\n if (data.length > 1 && !this.isResource) {\n data = 'q\\r\\n' + data + 'Q\\r\\n';\n }\n data = this.compressContent(data, writer);\n var length = data.length;\n this.items.setValue(this.dictionaryProperties.length, new _pdf_number__WEBPACK_IMPORTED_MODULE_4__.PdfNumber(length));\n _super.prototype.save.call(this, writer, false);\n writer.write(this.dicPrefix);\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_5__.Operators.newLine);\n if (data.length > 0) {\n writer.write(data);\n }\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_5__.Operators.newLine);\n writer.write(this.dicSuffix);\n writer.write(_input_output_pdf_operators__WEBPACK_IMPORTED_MODULE_5__.Operators.newLine);\n };\n /**\n * Converts `bytes to string`.\n * @private\n */\n PdfStream.bytesToString = function (byteArray) {\n var output = '';\n for (var i = 0; i < byteArray.length; i++) {\n output = output + String.fromCharCode(byteArray[i]);\n }\n return output;\n };\n return PdfStream;\n}(_pdf_dictionary__WEBPACK_IMPORTED_MODULE_6__.PdfDictionary));\n\nvar SaveCmapEventHandler = /** @class */ (function () {\n /**\n * New instance for `save section collection event handler` class.\n * @private\n */\n function SaveCmapEventHandler(sender) {\n this.sender = sender;\n }\n return SaveCmapEventHandler;\n}());\n\nvar SaveFontProgramEventHandler = /** @class */ (function () {\n /**\n * New instance for `save section collection event handler` class.\n * @private\n */\n function SaveFontProgramEventHandler(sender) {\n this.sender = sender;\n }\n return SaveFontProgramEventHandler;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InternalEnum: () => (/* binding */ InternalEnum),\n/* harmony export */ PdfString: () => (/* binding */ PdfString)\n/* harmony export */ });\n/**\n * `PdfString` class is used to perform string related primitive operations.\n * @private\n */\nvar InternalEnum;\n(function (InternalEnum) {\n //Internals\n /**\n * public Enum for `ForceEncoding`.\n * @private\n */\n var ForceEncoding;\n (function (ForceEncoding) {\n /**\n * Specifies the type of `None`.\n * @private\n */\n ForceEncoding[ForceEncoding[\"None\"] = 0] = \"None\";\n /**\n * Specifies the type of `Ascii`.\n * @private\n */\n ForceEncoding[ForceEncoding[\"Ascii\"] = 1] = \"Ascii\";\n /**\n * Specifies the type of `Unicode`.\n * @private\n */\n ForceEncoding[ForceEncoding[\"Unicode\"] = 2] = \"Unicode\";\n })(ForceEncoding = InternalEnum.ForceEncoding || (InternalEnum.ForceEncoding = {}));\n /**\n * public Enum for `SourceType`.\n * @private\n */\n var SourceType;\n (function (SourceType) {\n /**\n * Specifies the type of `StringValue`.\n * @private\n */\n SourceType[SourceType[\"StringValue\"] = 0] = \"StringValue\";\n /**\n * Specifies the type of `ByteBuffer`.\n * @private\n */\n SourceType[SourceType[\"ByteBuffer\"] = 1] = \"ByteBuffer\";\n })(SourceType || (SourceType = {}));\n})(InternalEnum || (InternalEnum = {}));\nvar PdfString = /** @class */ (function () {\n function PdfString(value) {\n /**\n * Value indicating whether the string was converted to hex.\n * @default false\n * @private\n */\n this.bHex = false;\n /**\n * Internal variable to store the `position`.\n * @default -1\n * @private\n */\n this.position1 = -1;\n /**\n * Internal variable to hold `cloned object`.\n * @default null\n * @private\n */\n this.clonedObject1 = null;\n /**\n * `Shows` if the data of the stream was decrypted.\n * @default false\n * @private\n */\n this.bDecrypted = false;\n /**\n * Shows if the data of the stream `was decrypted`.\n * @default false\n * @private\n */\n this.isParentDecrypted = false;\n /**\n * Gets a value indicating whether the object is `packed or not`.\n * @default false\n * @private\n */\n this.isPacked = false;\n /**\n * @hidden\n * @private\n */\n this.isFormField = false;\n /**\n * @hidden\n * @private\n */\n this.isColorSpace = false;\n /**\n * @hidden\n * @private\n */\n this.isHexString = true;\n if (typeof value === 'undefined') {\n this.bHex = false;\n }\n else {\n if (!(value.length > 0 && value[0] === '0xfeff')) {\n this.stringValue = value;\n this.data = [];\n for (var i = 0; i < value.length; ++i) {\n this.data.push(value.charCodeAt(i));\n }\n }\n }\n }\n Object.defineProperty(PdfString.prototype, \"hex\", {\n //Property\n /**\n * Gets a value indicating whether string is in `hex`.\n * @private\n */\n get: function () {\n return this.bHex;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"value\", {\n /**\n * Gets or sets string `value` of the object.\n * @private\n */\n get: function () {\n return this.stringValue;\n },\n set: function (value) {\n this.stringValue = value;\n this.data = null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"status\", {\n /**\n * Gets or sets the `Status` of the specified object.\n * @private\n */\n get: function () {\n return this.status1;\n },\n set: function (value) {\n this.status1 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"isSaving\", {\n /**\n * Gets or sets a value indicating whether this document `is saving` or not.\n * @private\n */\n get: function () {\n return this.isSaving1;\n },\n set: function (value) {\n this.isSaving1 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"objectCollectionIndex\", {\n /**\n * Gets or sets the `index` value of the specified object.\n * @private\n */\n get: function () {\n return this.index1;\n },\n set: function (value) {\n this.index1 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"clonedObject\", {\n /**\n * Returns `cloned object`.\n * @private\n */\n get: function () {\n return this.clonedObject1;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"position\", {\n /**\n * Gets or sets the `position` of the object.\n * @private\n */\n get: function () {\n return this.position1;\n },\n set: function (value) {\n this.position1 = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"CrossTable\", {\n /**\n * Returns `PdfCrossTable` associated with the object.\n * @private\n */\n get: function () {\n return this.crossTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"converted\", {\n /**\n * Gets a value indicating whether to check if the value has unicode characters.\n * @private\n */\n get: function () {\n return this.bConverted;\n },\n /**\n * sets a value indicating whether to check if the value has unicode characters.\n * @private\n */\n set: function (value) {\n this.bConverted = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfString.prototype, \"encode\", {\n /**\n * Gets value indicating whether we should convert data to Unicode.\n */\n get: function () {\n return this.bForceEncoding;\n },\n set: function (value) {\n this.bForceEncoding = value;\n },\n enumerable: true,\n configurable: true\n });\n //Methods\n /**\n * Converts `bytes to string using hex format` for representing string.\n * @private\n */\n PdfString.bytesToHex = function (bytes) {\n if (bytes == null) {\n return '';\n }\n var builder = '';\n return builder;\n };\n /**\n * `Saves` the object using the specified writer.\n * @private\n */\n PdfString.prototype.save = function (writer) {\n if (writer === null) {\n throw new Error('ArgumentNullException : writer');\n }\n if (this.encode !== undefined && this.encode === InternalEnum.ForceEncoding.Ascii) {\n writer.write(this.pdfEncode());\n }\n else {\n writer.write(PdfString.stringMark[0] + this.value + PdfString.stringMark[1]);\n }\n };\n PdfString.prototype.pdfEncode = function () {\n var result = '';\n if (this.encode !== undefined && this.encode === InternalEnum.ForceEncoding.Ascii) {\n var data = this.escapeSymbols(this.value);\n for (var i = 0; i < data.length; i++) {\n result += String.fromCharCode(data[i]);\n }\n result = PdfString.stringMark[0] + result + PdfString.stringMark[1];\n }\n else {\n result = this.value;\n }\n return result;\n };\n PdfString.prototype.escapeSymbols = function (value) {\n var data = [];\n for (var i = 0; i < value.length; i++) {\n var currentData = value.charCodeAt(i);\n switch (currentData) {\n case 40:\n case 41:\n data.push(92);\n data.push(currentData);\n break;\n case 13:\n data.push(92);\n data.push(114);\n break;\n case 92:\n data.push(92);\n data.push(currentData);\n break;\n default:\n data.push(currentData);\n break;\n }\n }\n return data;\n };\n /**\n * Creates a `copy of PdfString`.\n * @private\n */\n PdfString.prototype.clone = function (crossTable) {\n if (this.clonedObject1 !== null && this.clonedObject1.CrossTable === crossTable) {\n return this.clonedObject1;\n }\n else {\n this.clonedObject1 = null;\n }\n var newString = new PdfString(this.stringValue);\n newString.bHex = this.bHex;\n newString.crossTable = crossTable;\n newString.isColorSpace = this.isColorSpace;\n this.clonedObject1 = newString;\n return newString;\n };\n /**\n * Converts string to array of unicode symbols.\n */\n PdfString.toUnicodeArray = function (value, bAddPrefix) {\n if (value == null) {\n throw new Error('Argument Null Exception : value');\n }\n var startIndex = 0;\n var output = [];\n for (var i = 0; i < value.length; i++) {\n var code = value.charCodeAt(i);\n output.push(code / 256 >>> 0);\n output.push(code & 0xff);\n }\n return output;\n };\n /**\n * Converts byte data to string.\n */\n PdfString.byteToString = function (data) {\n if (data == null) {\n throw new Error('Argument Null Exception : stream');\n }\n var result = '';\n for (var i = 0; i < data.length; ++i) {\n result += String.fromCharCode(data[i]);\n }\n return result;\n };\n //constants = ;\n /**\n * `General markers` for string.\n * @private\n */\n PdfString.stringMark = '()';\n /**\n * `Hex markers` for string.\n * @private\n */\n PdfString.hexStringMark = '<>';\n /**\n * Format of password data.\n * @private\n */\n PdfString.hexFormatPattern = '{0:X2}';\n return PdfString;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.js": +/*!*********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.js ***! + \*********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BeginPageLayoutEventArgs: () => (/* binding */ BeginPageLayoutEventArgs),\n/* harmony export */ EndPageLayoutEventArgs: () => (/* binding */ EndPageLayoutEventArgs),\n/* harmony export */ GridCellEventArgs: () => (/* binding */ GridCellEventArgs),\n/* harmony export */ PdfCancelEventArgs: () => (/* binding */ PdfCancelEventArgs),\n/* harmony export */ PdfGridBeginCellDrawEventArgs: () => (/* binding */ PdfGridBeginCellDrawEventArgs),\n/* harmony export */ PdfGridBeginPageLayoutEventArgs: () => (/* binding */ PdfGridBeginPageLayoutEventArgs),\n/* harmony export */ PdfGridEndCellDrawEventArgs: () => (/* binding */ PdfGridEndCellDrawEventArgs),\n/* harmony export */ PdfGridEndPageLayoutEventArgs: () => (/* binding */ PdfGridEndPageLayoutEventArgs),\n/* harmony export */ PdfGridLayoutFormat: () => (/* binding */ PdfGridLayoutFormat),\n/* harmony export */ PdfGridLayoutResult: () => (/* binding */ PdfGridLayoutResult),\n/* harmony export */ PdfGridLayouter: () => (/* binding */ PdfGridLayouter),\n/* harmony export */ RowLayoutResult: () => (/* binding */ RowLayoutResult)\n/* harmony export */ });\n/* harmony import */ var _pdf_grid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../pdf-grid */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.js\");\n/* harmony import */ var _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../../graphics/fonts/pdf-string-format */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styles/pdf-borders */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js\");\n/* harmony import */ var _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../../graphics/figures/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js\");\n/* harmony import */ var _graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../../../graphics/figures/base/element-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js\");\n/* harmony import */ var _styles_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/style */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js\");\n/* harmony import */ var _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../../collections/object-object-pair/dictionary */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.js\");\n/* harmony import */ var _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../../../graphics/fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _document_pdf_document__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../../../document/pdf-document */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n\n\n/**\n * Class `lay outing the text`.\n *\n */\nvar PdfGridLayouter = /** @class */ (function (_super) {\n __extends(PdfGridLayouter, _super);\n //constructor\n /**\n * Initialize a new instance for `PdfGrid` class.\n * @private\n */\n function PdfGridLayouter(baseFormat) {\n var _this = _super.call(this, baseFormat) || this;\n /**\n * @hidden\n * @private\n */\n _this.gridInitialWidth = 0;\n /**\n * @hidden\n * @private\n */\n _this.gridSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0);\n _this.parentCellIndex = 0;\n _this.tempWidth = 0;\n _this.childheight = 0;\n /**\n * Check weather it is `child grid or not`.\n * @private\n */\n _this.isChildGrid = false;\n /**\n * @hidden\n * @private\n */\n _this.hasRowSpanSpan = false;\n /**\n * @hidden\n * @private\n */\n _this.isRearranged = false;\n /**\n * @hidden\n * @private\n */\n _this.pageBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF();\n /**\n * @hidden\n * @private\n */\n _this.listOfNavigatePages = [];\n /**\n * @hidden\n * @private\n */\n _this.flag = true;\n /**\n * @hidden\n * @private\n */\n _this.columnRanges = [];\n /**\n * @hidden\n * @private\n */\n _this.currentLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0);\n /**\n * @hidden\n * @private\n */\n _this.breakRow = true;\n _this.slr = null;\n _this.remainderText = null;\n _this.isPaginate = false;\n /**\n * Checks whether the x co-ordinate is need to set as client size or not.\n * @hidden\n * @private\n */\n _this.isOverloadWithPosition = false;\n return _this;\n }\n Object.defineProperty(PdfGridLayouter.prototype, \"Grid\", {\n //Properties\n get: function () {\n return this.elements;\n },\n enumerable: true,\n configurable: true\n });\n // Constructors\n /**\n * Initializes a new instance of the `StringLayouter` class.\n * @private\n */\n //Public methods\n /**\n * `Layouts` the text.\n * @private\n */\n /**\n * `Layouts` the specified graphics.\n * @private\n */\n /**\n * `Layouts` the specified graphics.\n * @private\n */\n /*public layout(graphics : PdfLayoutParams) : PdfLayoutResult\n public layout(graphics : PdfGraphics, bounds : RectangleF) : void\n public layout(graphics : PdfGraphics, bounds : PointF) : void\n public layout(graphics ?: PdfGraphics | PdfLayoutParams, bounds ?: PointF | RectangleF) : void | PdfLayoutResult {\n if (graphics instanceof PdfGraphics) {\n if (bounds instanceof PointF) {\n if (bounds.x === 0) {\n bounds.x = PdfBorders.default.right.width / 2;\n }\n if (bounds.y === 0) {\n bounds.y = PdfBorders.default.top.width / 2;\n }\n let boundaries : RectangleF = new RectangleF(bounds, new SizeF(0, 0));\n this.layout(graphics, boundaries);\n } else {\n let width : number = graphics.clientSize.width;\n let parameter : PdfLayoutParams = new PdfLayoutParams();\n parameter.bounds = bounds;\n this.currentGraphics = graphics;\n if (graphics.layer != null) {\n let index : number = 0;\n if (this.currentGraphics.page instanceof PdfPage) {\n index = (this.currentGraphics.page as PdfPage).section.indexOf(this.currentGraphics.page as PdfPage);\n } else {\n index = (this.currentGraphics.page as PdfPageBase).defaultLayerIndex;\n }\n } else {\n this.layoutInternal(parameter);\n }\n }\n }\n }*/\n /**\n * Gets the `format`.\n * @private\n */\n PdfGridLayouter.prototype.getFormat = function (format) {\n var f = format;\n return f;\n };\n /**\n * `Layouts` the element.\n * @private\n */\n PdfGridLayouter.prototype.layoutInternal = function (param) {\n var format = this.getFormat(param.format);\n this.gridLayoutFormat = this.getFormat(param.format);\n this.currentPage = param.page;\n if (this.currentPage !== null) {\n var pageHeight = this.currentPage.getClientSize().height;\n var pageWidth = this.currentPage.getClientSize().width;\n this.currentPageBounds = this.currentPage.getClientSize();\n }\n else {\n throw Error('Can not set page as null');\n //this.currentPageBounds = this.currentGraphics.clientSize;\n }\n this.currentGraphics = this.currentPage.graphics;\n //this.currentGraphics = (this.currentPage != null ) ? this.currentPage.graphics : this.currentGraphics;\n // if (this.currentGraphics.layer !== null) {\n // let index : number = 0;\n // if (this.currentGraphics.page instanceof PdfPage) {\n // index = (this.currentGraphics.page as PdfPage).section.indexOf(this.currentGraphics.page as PdfPage);\n // } else {\n // index = (this.currentGraphics.page as PdfPageBase).defaultLayerIndex;\n // }\n // this.listOfNavigatePages.push(index);\n // }\n var index = 0;\n index = this.currentGraphics.page.section.indexOf(this.currentGraphics.page);\n this.listOfNavigatePages.push(index);\n if (format != null && format.break === _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutBreakType.FitColumnsToPage) {\n this.currentBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(param.bounds.x, param.bounds.y), new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(this.Grid.columns.width, this.currentGraphics.clientSize.height));\n }\n else {\n this.currentBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(param.bounds.x, param.bounds.y), this.currentGraphics.clientSize);\n }\n //this.currentBounds = new RectangleF(new PointF(param.bounds.x, param.bounds.y), this.currentGraphics.clientSize);\n if (this.Grid.rows.count !== 0) {\n this.currentBounds.width = (param.bounds.width > 0) ? param.bounds.width :\n (this.currentBounds.width - this.Grid.rows.getRow(0).cells.getCell(0).style.borders.left.width / 2);\n }\n else if (this.Grid.headers.count !== 0) {\n // this.currentBounds.width = (param.bounds.width > 0) ? param.bounds.width : (this.currentBounds.width -\n // this.Grid.headers.getHeader(0).cells.getCell(0).style.borders.left.width / 2);\n this.currentBounds.width = param.bounds.width;\n }\n else {\n throw Error('Please add row or header into grid');\n }\n this.startLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(param.bounds.x, param.bounds.y);\n // if (this.Grid.style.allowHorizontalOverflow && this.currentBounds.width > this.currentGraphics.clientSize.width) {\n // this.currentBounds.width = this.currentGraphics.clientSize.width;\n // this.currentBounds.width -= this.currentBounds.x;\n // }\n // if (this.Grid.isChildGrid) {\n // this.childheight = param.bounds.height;\n // }\n // if (param.format !== null && param.format.usePaginateBounds) {\n // if (param.format.paginateBounds.height > 0) {\n // this.currentBounds.height = param.format.paginateBounds.height;\n // }\n //} else \n if (param.bounds.height > 0 && !this.Grid.isChildGrid) {\n this.currentBounds.height = param.bounds.height;\n }\n if (!this.Grid.isChildGrid) {\n this.hType = this.Grid.style.horizontalOverflowType;\n }\n if (!this.Grid.style.allowHorizontalOverflow) {\n this.columnRanges = [];\n if (typeof this.Grid.isChildGrid !== 'undefined' && typeof this.Grid.isChildGrid) {\n this.Grid.measureColumnsWidth(this.currentBounds);\n }\n else {\n this.Grid.measureColumnsWidth(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(this.currentBounds.x, this.currentBounds.y, this.currentBounds.x + this.currentBounds.width, this.currentBounds.height));\n }\n this.columnRanges.push([0, this.Grid.columns.count - 1]);\n }\n else {\n this.Grid.measureColumnsWidth();\n this.determineColumnDrawRanges();\n }\n if (this.Grid.hasRowSpanSpan) {\n for (var i = 0; i < this.Grid.rows.count; i++) {\n if (this.Grid.rows.getRow(i).height !== -1 && !this.Grid.rows.getRow(i).isRowHeightSet) {\n this.Grid.rows.getRow(i).isRowHeightSet = true;\n }\n }\n }\n var result = this.layoutOnPage(param);\n return result;\n };\n // /* tslint:enable */\n /**\n * `Determines the column draw ranges`.\n * @private\n */\n PdfGridLayouter.prototype.determineColumnDrawRanges = function () {\n var startColumn = 0;\n var endColumn = 0;\n var cellWidths = 0;\n var availableWidth = this.currentGraphics.clientSize.width - this.currentBounds.x;\n for (var i = 0; i < this.Grid.columns.count; i++) {\n cellWidths += this.Grid.columns.getColumn(i).width;\n if (cellWidths >= availableWidth) {\n var subWidths = 0;\n for (var j = startColumn; j <= i; j++) {\n subWidths += this.Grid.columns.getColumn(j).width;\n if (subWidths > availableWidth) {\n break;\n }\n endColumn = j;\n }\n this.columnRanges.push([startColumn, endColumn]);\n startColumn = endColumn + 1;\n endColumn = startColumn;\n cellWidths = (endColumn <= i) ? this.Grid.columns.getColumn(i).width : 0;\n }\n }\n // if (startColumn !== this.columns.Count) {\n this.columnRanges.push([startColumn, this.Grid.columns.count - 1]);\n // }\n };\n /**\n * `Layouts the on page`.\n * @private\n */\n PdfGridLayouter.prototype.layoutOnPage = function (param) {\n /* tslint:disable */\n this.pageBounds.x = param.bounds.x;\n this.pageBounds.y = param.bounds.y;\n this.pageBounds.height = param.bounds.height;\n var format = this.getFormat(param.format);\n var endArgs = null;\n var result = null;\n var layoutedPages = new _collections_object_object_pair_dictionary__WEBPACK_IMPORTED_MODULE_2__.TemporaryDictionary();\n var startPage = param.page;\n var isParentCell = false;\n var cellBounds = [];\n for (var index = 0; index < this.columnRanges.length; index++) {\n var range = this.columnRanges[index];\n this.cellStartIndex = range[0];\n this.cellEndIndex = range[1];\n var returnObject = this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex);\n this.currentBounds = returnObject.currentBounds;\n this.currentRowIndex = returnObject.currentRowIndex;\n // if (returnObject.returnValue) {\n // result = new PdfGridLayoutResult(this.currentPage, this.currentBounds);\n // break;\n // }\n //Draw Headers.\n var drawHeader = void 0;\n for (var i_1 = 0; i_1 < this.Grid.headers.count; i_1++) {\n var row = this.Grid.headers.getHeader(i_1);\n var headerHeight = this.currentBounds.y;\n this.isHeader = true;\n if (startPage != this.currentPage) {\n for (var k = this.cellStartIndex; k <= this.cellEndIndex; k++) {\n if (row.cells.getCell(k).isCellMergeContinue) {\n row.cells.getCell(k).isCellMergeContinue = false;\n row.cells.getCell(k).value = \"\";\n }\n }\n }\n // RowLayoutResult\n var headerResult = this.drawRow(row);\n if (headerHeight === this.currentBounds.y) {\n drawHeader = true;\n if (PdfGridLayouter.repeatRowIndex === -1) {\n PdfGridLayouter.repeatRowIndex = i_1;\n }\n }\n else {\n drawHeader = false;\n }\n if (!headerResult.isFinish && startPage !== null\n && format.layout !== _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutType.OnePage && drawHeader) {\n this.startLocation.x = this.currentBounds.x;\n this.currentPage = this.getNextPageformat(format);\n this.startLocation.y = this.currentBounds.y;\n if (typeof format.paginateBounds !== 'undefined' && format.paginateBounds.x === 0 && format.paginateBounds.y === 0 && format.paginateBounds.width === 0 && format.paginateBounds.height === 0)\n this.currentBounds.x += this.startLocation.x;\n this.drawRow(row);\n }\n this.isHeader = false;\n }\n var i = 0;\n var length_1 = this.Grid.rows.count;\n var repeatRow = void 0;\n var startingHeight = 0;\n var flag = true;\n //Here is to draw parent Grid and Cells\n cellBounds = [];\n //Draw row by row with the specified cell range.\n for (var j = 0; j < this.Grid.rows.count; j++) {\n var row = this.Grid.rows.getRow(j);\n i++;\n this.currentRowIndex = i - 1;\n var originalHeight = this.currentBounds.y;\n startPage = this.currentPage;\n PdfGridLayouter.repeatRowIndex = -1;\n if (flag && row.grid.isChildGrid) {\n startingHeight = originalHeight;\n flag = false;\n }\n var rowResult = null;\n ///rowResult = this.drawRow(row);\n /*if(!row.isrowFinish) {\n if(!row.grid.isgridSplit){\n rowResult = this.drawRow(row);\n row.isrowFinish = true;\n row.isrowDraw = true;\n } else {\n if(!row.isrowDraw){\n rowResult = this.drawRow(row);\n row.isrowFinish = true;\n row.isrowDraw = true;\n row.grid.isgridSplit = false;\n } else {\n rowResult = null;\n break;\n }\n }\n }\n else {\n //row.isrowFinish = false;\n //rowResult = this.drawRow(row);\n rowResult = null;\n break;\n \n } */\n if (this.Grid.splitChildRowIndex == -1) {\n rowResult = this.drawRow(row);\n row.isrowFinish = true;\n }\n else {\n if (row.grid.ParentCell.row.grid.isGridSplit && this.Grid.splitChildRowIndex <= row.rowIndex) {\n rowResult = this.drawRow(row);\n row.isrowFinish = true;\n }\n else if (row.isrowFinish) {\n continue;\n }\n else {\n break;\n }\n }\n //rowResult = this.drawRow(row);\n cellBounds.push(rowResult.bounds.width);\n /*if (row.isRowBreaksNextPage)\n {\n let x : number = 0;\n for (let l : number = 0; l < row.cells.count; l++)\n {\n let isNestedRowBreak : boolean = false;\n if (row.height == row.cells.getCell(l).height)\n {\n let n : number;\n let grid : PdfGrid = row.cells.getCell(l).value as PdfGrid;\n for (let m : number = grid.rows.count; 0 < m; m--)\n {\n if ((grid.rows.getRow(m - 1).rowBreakHeight > 0))\n {\n isNestedRowBreak = true;\n break;\n }\n if (grid.rows.getRow(m - 1).isRowBreaksNextPage)\n {\n row.rowBreakHeightValue = grid.rows.getRow(m - 1).rowBreakHeightValue;\n break;\n }\n row.rowBreakHeightValue += grid.rows.getRow(m - 1).height;\n }\n }\n if (isNestedRowBreak)\n break;\n }\n for (let j : number = 0; j < row.cells.count; j++)\n {\n\n if (row.height > row.cells.getCell(j).height)\n {\n row.cells.getCell(j).value = \" \";\n let rect : RectangleF ;\n let page : PdfPage = this.getNextPage(this.currentPage);\n let section : PdfSection = this.currentPage.section;\n let index : number = section.indexOf(page);\n for (let k : number = 0; k < (section.count - 1) - index; k++)\n {\n rect = new RectangleF(x, 0, row.grid.columns.getColumn(j).width, page.getClientSize().height);\n PdfGridLayouter.repeatRowIndex = -1;\n row.cells.getCell(j).draw(page.graphics, rect, false);\n page = this.getNextPage(page);\n }\n rect = new RectangleF(x, 0, row.grid.columns.getColumn(j).width, row.rowBreakHeightValue);\n\n row.cells.getCell(j).draw(page.graphics, rect, false);\n }\n x += row.grid.columns.getColumn(j).width;\n }\n }*/\n //if height remains same, it is understood that row is not drawn in the page\n if (originalHeight === this.currentBounds.y) {\n repeatRow = true;\n PdfGridLayouter.repeatRowIndex = this.Grid.rows.rowCollection.indexOf(row);\n }\n else {\n repeatRow = false;\n PdfGridLayouter.repeatRowIndex = -1;\n }\n while (!rowResult.isFinish && startPage != null) {\n var tempResult = this.getLayoutResult();\n /*if (startPage != this.currentPage)\n {\n if (row.grid.isChildGrid && row.grid.ParentCell != null)\n {\n let bounds : RectangleF= new RectangleF(new PointF(format.paginateBounds.x,format.paginateBounds.y), new SizeF(param.bounds.width, tempResult.bounds.height));\n bounds.x += param.bounds.x;\n if (row.grid.ParentCell.row.grid.style.cellPadding != null)\n {\n bounds.y += row.grid.ParentCell.row.grid.style.cellPadding.top;\n if (bounds.height > this.currentPageBounds.height)\n {\n bounds.height = this.currentPageBounds.height - bounds.y;\n bounds.height -= (row.grid.ParentCell.row.grid.style.cellPadding.bottom);\n }\n }\n // Draw border for cells in the nested grid cell's row.\n for (let c : number = 0; c < row.cells.count; c++)\n {\n let cell : PdfGridCell = row.cells.getCell(c);\n let cellWidth : number= 0;\n if (cell.columnSpan > 1)\n {\n for (; c < cell.columnSpan; c++)\n cellWidth += row.grid.columns.getColumn(c).width;\n }\n else\n cellWidth = Math.max(cell.width, row.grid.columns.getColumn(c).width);\n cell.drawCellBorders(this.currentGraphics, new RectangleF(new PointF(bounds.x,bounds.y), new SizeF(cellWidth, bounds.height)));\n bounds.x += cellWidth;\n c += (cell.columnSpan - 1);\n }\n }\n }\n */\n endArgs = this.raisePageLayouted(tempResult);\n if (endArgs.cancel || repeatRow)\n break;\n else if (this.Grid.allowRowBreakAcrossPages) {\n //If there is no space in the current page, add new page and then draw the remaining row.\n this.currentPage = this.getNextPageformat(format);\n originalHeight = this.currentBounds.y;\n var location_1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(_styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__.PdfBorders.default.right.width / 2, _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__.PdfBorders.default.top.width / 2);\n if ((format.paginateBounds.x === 0 && format.paginateBounds.y === 0 && format.paginateBounds.width === 0 &&\n format.paginateBounds.height === 0) && (this.startLocation.x === location_1.x && this.startLocation.y === location_1.y)) {\n this.currentBounds.x += this.startLocation.x;\n this.currentBounds.y += this.startLocation.y;\n }\n if (this.isPaginate) {\n this.startLocation.y = this.currentBounds.y;\n this.isPaginate = false;\n }\n if (this.Grid.isChildGrid && row.grid.ParentCell != null) {\n if (this.Grid.ParentCell.row.grid.style.cellPadding != null) {\n if (row.rowBreakHeight + this.Grid.ParentCell.row.grid.style.cellPadding.top < this.currentBounds.height) {\n this.currentBounds.y = this.Grid.ParentCell.row.grid.style.cellPadding.top;\n }\n }\n }\n if (row.grid.ParentCell != null) {\n row.grid.ParentCell.row.isRowBreaksNextPage = true;\n row.grid.ParentCell.row.rowBreakHeightValue = row.rowBreakHeight + this.Grid.ParentCell.row.grid.style.cellPadding.top + this.Grid.ParentCell.row.grid.style.cellPadding.bottom;\n for (var i_2 = row.rowIndex + 1; i_2 < row.grid.rows.count; i_2++) {\n row.grid.ParentCell.row.rowBreakHeightValue += row.grid.rows.getRow(i_2).height;\n }\n //row.rowBreakHeight = row.grid.ParentCell.row.rowBreakHeightValue;\n }\n /*if (row.noOfPageCount > 1)\n {\n let temp : number = row.rowBreakHeightValue;\n for (let j : number = 1; j < row.noOfPageCount; j++)\n {\n row.rowBreakHeightValue = 0;\n row.height = ((row.noOfPageCount - 1) * this.currentPage.getClientSize().height);\n this.drawRow(row);\n this.currentPage = this.getNextPageformat(format);\n startPage = this.currentPage;\n }\n row.rowBreakHeightValue = temp;\n row.noOfPageCount = 1;\n rowResult = this.drawRow(row);\n } else {\n rowResult = this.drawRow(row);\n }\n /*if(row.grid.isChildGrid){\n row.isrowFinish = false;\n row.isrowDraw = false;\n row.grid.isgridSplit = true;\n row.grid.ParentCell.row.grid.isgridSplit = true;\n //rowResult.isFinish = false;\n break;\n }*/\n if (row.grid.isChildGrid) {\n //row.grid.isgridSplit = true;\n row.isrowFinish = false;\n //row.grid.ParentCell.row.grid.isgridSplit = true;\n row.grid.splitChildRowIndex = row.rowIndex;\n row.grid.ParentCell.row.grid.splitChildRowIndex = row.grid.ParentCell.row.rowIndex;\n if (row.grid.ParentCell.row.grid.isGridSplit) {\n row.grid.ParentCell.row.noOfPageCount += 1;\n row.grid.ParentCell.row.grid.isGridSplit = false;\n }\n break;\n }\n if (row.noOfPageCount < 1) {\n if (row.grid.splitChildRowIndex != -1) {\n row.grid.isGridSplit = true;\n }\n if (row.style.border != null && ((row.style.border.left != null && row.style.border.left.width !== 1)\n || (row.style.border.top != null && row.style.border.top.width !== 1))) {\n var x = row.style.border.left.width / 2;\n var y = row.style.border.top.width / 2;\n if (this.currentBounds.x === _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__.PdfBorders.default.right.width / 2 && this.currentBounds.y === _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__.PdfBorders.default.right.width / 2) {\n var newBound = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(x, y, this.currentBounds.width, this.currentBounds.height);\n this.currentBounds = newBound;\n }\n }\n if (this.Grid.repeatHeader) {\n for (var j_1 = 0; j_1 < this.Grid.headers.count; j_1++) {\n var headerRepeat = this.Grid.headers.getHeader(j_1);\n this.drawRow(headerRepeat);\n }\n }\n rowResult = this.drawRow(row);\n if (row.noOfPageCount >= 1) {\n var temp = row.rowBreakHeightValue;\n for (var j_2 = 0; j_2 < row.noOfPageCount; j_2++) {\n //this.currentPage.section.add();\n var tempResult1 = this.getLayoutResult();\n endArgs = this.raisePageLayouted(tempResult1);\n this.currentPage = this.getNextPageformat(format);\n originalHeight = this.currentBounds.y;\n //row.rowBreakHeightValue = 0;\n if (row.grid.splitChildRowIndex != -1) {\n row.grid.isGridSplit = true;\n }\n this.currentBounds.y = 0.5;\n if (this.Grid.repeatHeader) {\n for (var i_3 = 0; i_3 < this.Grid.headers.count; i_3++) {\n var header = this.Grid.headers.getHeader(i_3);\n this.drawRow(header);\n }\n }\n //row.height = ((row.noOfPageCount - 1) * this.currentPage.getClientSize().height);\n this.drawRow(row);\n }\n // row.rowBreakHeight = temp;\n // row.noOfPageCount = 1;\n // rowResult = this.drawRow(row);\n }\n row.grid.splitChildRowIndex = -1;\n row.grid.isGridSplit = false;\n rowResult.isFinish = this.checkIsFisished(row);\n //row.NestedGridLayoutResult.bounds.height = row.rowBreakHeightValue;\n //this.currentBounds.y = rowResult.bounds.y;\n for (var i_4 = 0; i_4 < row.cells.count; i_4++) {\n if (row.cells.getCell(i_4).value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n row.cells.getCell(i_4).value.splitChildRowIndex = -1;\n }\n }\n }\n }\n // else if (!this.Grid.allowRowBreakAcrossPages && i < length)\n // {\n // this.currentPage = this.getNextPageformat(format);\n // break;\n // }\n // else if (i >= length)\n // break;\n }\n if (!rowResult.isFinish && startPage !== null && format.layout !== _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutType.OnePage && repeatRow) {\n // During pagination, cell position is maintained here.\n this.startLocation.x = this.currentBounds.x;\n var isAddNextPage = false;\n this.currentPage = this.getNextPageformat(format);\n /*if (!this.Grid.isSingleGrid)\n {\n for ( let j : number= 0; j < this.Grid.rows.count; j++)\n {\n let isWidthGreaterthanParent : boolean = false;\n for (let k : number = 0; k < this.Grid.rows.getRow(j).cells.count; k++)\n {\n if (this.Grid.rows.getRow(j).cells.getCell(k).width > this.currentPageBounds.width)\n isWidthGreaterthanParent = true;\n }\n if (isWidthGreaterthanParent && this.Grid.rows.getRow(j).cells.getCell(this.rowBreakPageHeightCellIndex).pageCount > 0)\n {\n isAddNextPage = true;\n }\n }\n }\n if (!this.Grid.isRearranged && isAddNextPage)\n {\n let section : PdfSection = this.currentPage.section;\n \n //this.currentPage = section.add();\n \n this.currentGraphics = this.currentPage.graphics;\n this.currentBounds = new RectangleF(new PointF(0,0), this.currentPage.getClientSize());\n \n let pageindex : number = (this.currentGraphics.page as PdfPage).section.indexOf(this.currentGraphics.page as PdfPage);\n }\n else\n {\n this.currentPage = this.getNextPageformat(format);\n }\n if (format.paginateBounds.y == 0)\n this.currentBounds.y = PdfBorders.default.top.width/2;\n else\n {\n this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;\n \n }*/\n if (this.raiseBeforePageLayout(this.currentPage, this.currentBounds, this.currentRowIndex).returnValue) {\n break;\n }\n if ((param.format !== null) && !param.format.usePaginateBounds && param.bounds !== null &&\n param.bounds.height > 0 && !this.Grid.isChildGrid) {\n this.currentBounds.height = param.bounds.height;\n }\n if (typeof param.format !== 'undefined' && param.format != null && typeof param.format.usePaginateBounds !== 'undefined' && !param.format.usePaginateBounds && !(param.format.paginateBounds.x === 0 && param.format.paginateBounds.y === 0 && param.format.paginateBounds.width === 0 && param.format.paginateBounds.height === 0) && param.format.paginateBounds.y === 0) {\n this.currentBounds.y = _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__.PdfBorders.default.top.width / 2;\n }\n else {\n this.currentBounds.y = format == null ? 0 : format.paginateBounds.y;\n if (format != null && (format.paginateBounds.x !== 0 || format.paginateBounds.y !== 0 || format.paginateBounds.height !== 0 || format.paginateBounds.width !== 0)) {\n this.currentBounds.x = format.paginateBounds.x;\n this.currentBounds.width = format.paginateBounds.width;\n this.currentBounds.height = format.paginateBounds.height;\n }\n }\n if (typeof param.format !== 'undefined' && (param.format !== null) && typeof param.format.usePaginateBounds !== 'undefined' && !param.format.usePaginateBounds && param.bounds !== null &&\n param.bounds.y > 0 && !this.Grid.isChildGrid) {\n this.currentBounds.y = param.bounds.y;\n }\n this.startLocation.y = this.currentBounds.y;\n if ((format.paginateBounds.x === format.paginateBounds.y) &&\n (format.paginateBounds.y === format.paginateBounds.height) &&\n (format.paginateBounds.height === format.paginateBounds.width) && (format.paginateBounds.width === 0)) {\n this.currentBounds.x += this.startLocation.x;\n }\n if (this.currentBounds.x === _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_3__.PdfBorders.default.left.width / 2) {\n this.currentBounds.y += this.startLocation.x;\n }\n if (this.Grid.repeatHeader) {\n for (var i_5 = 0; i_5 < this.Grid.headers.count; i_5++) {\n var header = this.Grid.headers.getHeader(i_5);\n this.drawRow(header);\n }\n }\n this.drawRow(row);\n if (this.currentPage !== null && !layoutedPages.containsKey(this.currentPage)) {\n layoutedPages.add(this.currentPage, range);\n }\n }\n if (row.NestedGridLayoutResult != null) {\n // Position for next row in the grid.\n this.currentPage = row.NestedGridLayoutResult.page;\n this.currentGraphics = this.currentPage.graphics; //If not, next row will not be drawn in the layouted page.\n this.startLocation = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(row.NestedGridLayoutResult.bounds.x, row.NestedGridLayoutResult.bounds.y);\n var recalHeight = this.ReCalculateHeight(row, row.NestedGridLayoutResult.bounds.height);\n this.currentBounds.y = recalHeight;\n //this.currentBounds.y = row.NestedGridLayoutResult.bounds.height;\n if (startPage != this.currentPage) {\n var section = this.currentPage.section;\n var startIndex = section.indexOf(startPage) + 1;\n var endIndex = section.indexOf(this.currentPage);\n for (var page = startIndex; page < endIndex + 1; page++) {\n var pageGraphics = section.getPages()[page].graphics;\n var location_2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(format.paginateBounds.x, format.paginateBounds.y);\n var height = page == endIndex ? (row.NestedGridLayoutResult.bounds.height - param.bounds.y) :\n (this.currentBounds.height - location_2.y);\n if (height <= pageGraphics.clientSize.height)\n height += param.bounds.y;\n // if (row.grid.isChildGrid && row.grid.ParentCell != null)\n // location.x += param.bounds.x;\n location_2.y = format == null ? 0.5 : format.paginateBounds.y;\n // Draw border for last paginated row containing nested grid.\n for (var c = 0; c < row.cells.count; c++) {\n var cell = row.cells.getCell(c);\n var cellWidth = 0;\n var totalwidth = 0;\n var childGridCell = void 0;\n if (cell.value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n if (!childGridCell) {\n childGridCell = cell;\n }\n for (var i_6 = 0; i_6 < cell.value.columns.count; i_6++) {\n totalwidth += cell.value.columns.getColumn(i_6).columnWidth;\n }\n }\n else {\n totalwidth = cell.width;\n }\n if (cell.columnSpan > 1) {\n for (; c < cell.columnSpan; c++)\n cellWidth += row.grid.columns.getColumn(c).width;\n }\n else\n cellWidth = Math.max(totalwidth, row.grid.columns.getColumn(c).width);\n var bottomPadding = void 0;\n if (childGridCell && childGridCell.style && childGridCell.style.cellPadding) {\n bottomPadding = childGridCell.style.cellPadding.bottom;\n }\n else {\n bottomPadding = this.Grid.style.cellPadding.bottom;\n }\n if (typeof bottomPadding === 'number' && (height + bottomPadding) < pageGraphics.clientSize.height) {\n height += bottomPadding;\n this.currentBounds.y += bottomPadding;\n }\n cell.drawCellBorders(pageGraphics, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location_2, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(cellWidth, height)));\n var rowWidth = this.Grid.rows.getRow(this.Grid.rows.count - 1).width;\n if (cellWidth !== rowWidth) {\n cell.drawCellBorders(pageGraphics, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location_2, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(rowWidth, height)));\n }\n location_2.x += cellWidth;\n c += (cell.columnSpan - 1);\n }\n }\n // So, nested grid drawing is completed for the current row. Update page.\n // Otherwise, the next nested grid of the parent will draw borders from start.\n startPage = this.currentPage;\n }\n }\n }\n var isPdfGrid = false;\n var maximumCellBoundsWidth = 0;\n if (cellBounds.length > 0) {\n maximumCellBoundsWidth = cellBounds[0];\n }\n var largeNavigatePage = [[1, 2]];\n for (var c = 0; c < this.Grid.rows.count; c++) {\n if (this.cellEndIndex != -1 && this.Grid.rows.getRow(c).cells.getCell(this.cellEndIndex).value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n var grid = this.Grid.rows.getRow(c).cells.getCell(this.cellEndIndex).value;\n this.rowLayoutBoundsWidth = grid.rowLayoutBoundsWidth;\n isPdfGrid = true;\n // if (largeNavigatePage[0][0] < grid.listOfNavigatePages.length)\n // {\n // largeNavigatePage[0][0] = grid.listOfNavigatePages.length;\n // largeNavigatePage[0][1] = cellBounds[c];\n // }\n // else if ((largeNavigatePage[0][0] == grid.listOfNavigatePages.length) && (largeNavigatePage[0][1] < cellBounds[c]))\n // {\n // largeNavigatePage[0][1] = cellBounds[c];\n // }\n }\n }\n if (!isPdfGrid && cellBounds.length > 0) {\n for (var c = 0; c < i - 1; c++) {\n if (maximumCellBoundsWidth < cellBounds[c]) {\n maximumCellBoundsWidth = cellBounds[c];\n }\n }\n this.rowLayoutBoundsWidth = maximumCellBoundsWidth;\n }\n else {\n this.rowLayoutBoundsWidth = largeNavigatePage[0][1];\n }\n if (this.columnRanges.indexOf(range) < this.columnRanges.length - 1\n && startPage != null && format.layout != _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutType.OnePage) {\n isParentCell = this.Grid.isChildGrid;\n if (largeNavigatePage[0][0] != 0) {\n var section = this.currentPage.section;\n var pageIndex = section.indexOf(this.currentPage);\n this.currentGraphics = this.currentPage.graphics;\n this.currentBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0), this.currentPage.getClientSize());\n var pageindex = this.currentGraphics.page.section.indexOf(this.currentGraphics.page);\n }\n else {\n this.currentPage = this.getNextPageformat(format);\n }\n // let locationGrid : PointF= new PointF(PdfBorders.default.right.width / 2, PdfBorders.default.top.width / 2);\n // if (format.paginateBounds == new RectangleF(0,0,0,0) && this.startLocation == locationGrid)\n // {\n // this.currentBounds.x += this.startLocation.x;\n // this.currentBounds.y += this.startLocation.y;\n // }\n }\n if (this.columnRanges.length - 1 !== index && this.columnRanges.length > 1 && format.layout !== _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutType.OnePage) {\n this.currentPage = this.getNextPageformat(format);\n if ((format.paginateBounds.x === format.paginateBounds.y) && (format.paginateBounds.y === format.paginateBounds.height)\n && (format.paginateBounds.height === format.paginateBounds.width) && (format.paginateBounds.width === 0)) {\n this.currentBounds.x += this.startLocation.x;\n this.currentBounds.y += this.startLocation.y;\n //this.currentBounds.height = this.pageBounds.height;\n }\n }\n }\n result = this.getLayoutResult();\n if (this.Grid.style.allowHorizontalOverflow && this.Grid.style.horizontalOverflowType == _styles_style__WEBPACK_IMPORTED_MODULE_5__.PdfHorizontalOverflowType.NextPage) {\n this.reArrangePages(layoutedPages);\n }\n this.raisePageLayouted(result);\n return result;\n };\n PdfGridLayouter.prototype.checkIsFisished = function (row) {\n var result = true;\n for (var i = 0; i < row.cells.count; i++) {\n if (!row.cells.getCell(i).FinishedDrawingCell) {\n result = false;\n }\n }\n return result;\n };\n /* tslint:enable */\n /**\n * Gets the `next page`.\n * @private\n */\n PdfGridLayouter.prototype.getNextPageformat = function (format) {\n var section = this.currentPage.section;\n var nextPage = null;\n var index = section.indexOf(this.currentPage);\n this.flag = false;\n if (index === section.count - 1) {\n nextPage = section.add();\n }\n else {\n nextPage = section.getPages()[index + 1];\n }\n this.currentGraphics = nextPage.graphics;\n var pageindex = this.currentGraphics.page.section.indexOf(this.currentGraphics.page);\n if (!(this.listOfNavigatePages.indexOf(pageindex) !== -1)) {\n this.listOfNavigatePages.push(pageindex);\n }\n this.currentBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0), nextPage.getClientSize());\n if ((typeof format !== 'undefined') && format != null && format.usePaginateBounds && (typeof format.paginateBounds !== 'undefined') && format.paginateBounds != null && (format.paginateBounds.x !== format.paginateBounds.y) && (format.paginateBounds.y !== format.paginateBounds.height)\n && (format.paginateBounds.height !== format.paginateBounds.width) && (format.paginateBounds.width !== 0)) {\n this.currentBounds.x = format.paginateBounds.x;\n this.currentBounds.y = format.paginateBounds.y;\n this.currentBounds.height = format.paginateBounds.height;\n }\n return nextPage;\n };\n PdfGridLayouter.prototype.CheckIfDefaultFormat = function (format) {\n var defaultFormat = new _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_6__.PdfStringFormat();\n return (format.alignment === defaultFormat.alignment && format.characterSpacing === defaultFormat.characterSpacing &&\n format.clipPath === defaultFormat.clipPath && format.firstLineIndent === defaultFormat.firstLineIndent &&\n format.horizontalScalingFactor === defaultFormat.horizontalScalingFactor &&\n format.lineAlignment === defaultFormat.lineAlignment\n && format.lineLimit === defaultFormat.lineLimit && format.lineSpacing === defaultFormat.lineSpacing &&\n format.measureTrailingSpaces === defaultFormat.measureTrailingSpaces && format.noClip === defaultFormat.noClip &&\n format.paragraphIndent === defaultFormat.paragraphIndent && format.rightToLeft === defaultFormat.rightToLeft &&\n format.subSuperScript === defaultFormat.subSuperScript && format.wordSpacing === defaultFormat.wordSpacing &&\n format.wordWrap === defaultFormat.wordWrap);\n };\n /**\n * `Raises BeforeCellDraw event`.\n * @private\n */\n PdfGridLayouter.prototype.RaiseBeforeCellDraw = function (graphics, rowIndex, cellIndex, bounds, value, style) {\n var args = null;\n if (this.Grid.raiseBeginCellDraw) {\n args = new PdfGridBeginCellDrawEventArgs(graphics, rowIndex, cellIndex, bounds, value, style);\n this.Grid.onBeginCellDraw(args);\n style = args.style;\n }\n return style;\n };\n /**\n * `Raises AfterCellDraw event`.\n * @private\n */\n PdfGridLayouter.prototype.raiseAfterCellDraw = function (graphics, rowIndex, cellIndex, bounds, value, cellstyle) {\n var args = null;\n if (this.Grid.raiseEndCellDraw) {\n args = new PdfGridEndCellDrawEventArgs(graphics, rowIndex, cellIndex, bounds, value, cellstyle);\n this.Grid.onEndCellDraw(args);\n }\n };\n PdfGridLayouter.prototype.reArrangePages = function (layoutedPages) {\n var document = this.currentPage.document;\n var pages = [];\n var keys = layoutedPages.keys();\n var values = layoutedPages.values();\n for (var i = 0; i < keys.length; i++) {\n var page = keys[i];\n page.section = null;\n pages.push(page);\n document.pages.remove(page);\n }\n /* tslint:disable */\n for (var i = 0; i < layoutedPages.size(); i++) {\n var count = 0;\n for (var j = i, count_1 = (layoutedPages.size() / this.columnRanges.length); j < layoutedPages.size(); j += count_1) {\n var page = pages[j];\n if (typeof page !== 'undefined' && document.pages.indexOf(page) === -1) {\n document.pages.add(page);\n }\n }\n }\n /* tslint:enable */\n };\n /**\n * Gets the `layout result`.\n * @private\n */\n PdfGridLayouter.prototype.getLayoutResult = function () {\n if (this.Grid.isChildGrid && this.Grid.allowRowBreakAcrossPages) {\n for (var i = 0; i < this.Grid.rows.count; i++) {\n var row = this.Grid.rows.getRow(i);\n if (row.rowBreakHeight > 0 && row.repeatFlag) {\n this.startLocation.y = this.currentPage.origin.y;\n }\n }\n }\n var bounds;\n if (!this.isChanged) {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(this.startLocation, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(this.currentBounds.width, this.currentBounds.y -\n this.startLocation.y));\n }\n // else {\n // bounds = new RectangleF(this.currentLocation, new SizeF(this.currentBounds.width, this.currentBounds.y -\n // this.currentLocation.y));\n // }\n /* tslint:enable */\n return new PdfGridLayoutResult(this.currentPage, bounds);\n };\n /**\n * `Recalculate row height` for the split cell to be drawn.\n * @private\n */\n PdfGridLayouter.prototype.ReCalculateHeight = function (row, height) {\n var newHeight = 0.0;\n for (var i = this.cellStartIndex; i <= this.cellEndIndex; i++) {\n if (!(row.cells.getCell(i).remainingString === null || row.cells.getCell(i).remainingString === '' ||\n typeof row.cells.getCell(i).remainingString === 'undefined')) {\n newHeight = Math.max(newHeight, row.cells.getCell(i).measureHeight());\n }\n }\n return Math.max(height, newHeight);\n };\n /**\n * `Raises BeforePageLayout event`.\n * @private\n */\n PdfGridLayouter.prototype.raiseBeforePageLayout = function (currentPage, currentBounds, currentRow) {\n var cancel = false;\n if (this.Grid.raiseBeginPageLayout) {\n var args = new PdfGridBeginPageLayoutEventArgs(currentBounds, currentPage, currentRow);\n this.Grid.onBeginPageLayout(args);\n // if (currentBounds !== args.Bounds) {\n // this.isChanged = true;\n // this.currentLocation = new PointF(args.Bounds.x, args.Bounds.y);\n // this.measureColumnsWidth(new RectangleF(new PointF(args.Bounds.x, args.Bounds.y) ,\n // new SizeF(args.Bounds.width + args.Bounds.x ,\n // args.Bounds.height)));\n // }\n cancel = (typeof args.cancel === 'undefined' ? false : args.cancel);\n currentBounds = args.bounds;\n currentRow = args.startRowIndex;\n }\n return { returnValue: cancel, currentBounds: currentBounds, currentRowIndex: currentRow };\n };\n /**\n * `Raises PageLayout event` if needed.\n * @private\n */\n PdfGridLayouter.prototype.raisePageLayouted = function (result) {\n var args = new PdfGridEndPageLayoutEventArgs(result);\n if (this.Grid.raiseEndPageLayout) {\n this.Grid.onEndPageLayout(args);\n }\n return args;\n };\n PdfGridLayouter.prototype.drawRow = function (row, result, height) {\n if (typeof result === 'undefined') {\n //.. Check if required space available.\n //.....If the row conains spans which falls through more than one page, then draw the row to next page. \n var result_1 = new RowLayoutResult();\n var rowHeightWithSpan = 0;\n var location_3 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(0, 0);\n var size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0);\n var isHeader = false;\n if (row.rowSpanExists) {\n var maxSpan = 0;\n var currRowIndex = this.Grid.rows.rowCollection.indexOf(row);\n if (currRowIndex === -1) {\n currRowIndex = this.Grid.headers.indexOf(row);\n if (currRowIndex !== -1) {\n isHeader = true;\n }\n }\n for (var i = 0; i < row.cells.count; i++) {\n var cell = row.cells.getCell(i);\n maxSpan = Math.max(maxSpan, cell.rowSpan);\n }\n for (var i = currRowIndex; i < currRowIndex + maxSpan; i++) {\n rowHeightWithSpan += (isHeader ? this.Grid.headers.getHeader(i).height : this.Grid.rows.getRow(i).height);\n }\n // let rowMaxHeight : number = rowHeightWithSpan;\n // for (let i : number = 0; i < row.cells.count; i++ ) {\n // rowMaxHeight = rowMaxHeight > row.cells.getCell(i).height ? rowMaxHeight : row.cells.getCell(i).height;\n // }\n // let flag : boolean = true;\n // let nextRow : PdfGridRow = this.Grid.headers.getHeader(this.Grid.headers.indexOf(row) + 1);\n // for (let i : number = 0; i < nextRow.cells.count; i++ ) {\n // if (nextRow.cells.getCell(i).value !== '' && nextRow.cells.getCell(i).value !== undefined) {\n // flag = false;\n // break;\n // }\n // }\n // if ((rowMaxHeight > rowHeightWithSpan) && flag) {\n // row.height += (rowMaxHeight - rowHeightWithSpan);\n // } \n }\n var calculatedHeight = row.rowBreakHeight > 0.0 ? row.rowBreakHeight : row.height;\n if (typeof this.Grid.isChildGrid !== 'undefined' && this.Grid.isChildGrid && typeof this.Grid.ParentCell !== 'undefined' && this.Grid.ParentCell != null) {\n //Split row only if row height exceeds page height and AllowRowBreakAcrossPages is true.\n // if (calculatedHeight + this.Grid.ParentCell.row.grid.style.cellPadding.bottom +\n // this.Grid.ParentCell.row.grid.style.cellPadding.top > this.currentPageBounds.height) {\n // if (this.Grid.allowRowBreakAcrossPages) {\n // result.isFinish = true;\n // if ( this.Grid.isChildGrid && row.rowBreakHeight > 0 ) {\n // if (this.Grid.ParentCell.row.grid.style.cellPadding !== null) {\n // this.currentBounds.y += this.Grid.ParentCell.row.grid.style.cellPadding.top;\n // }\n // this.currentBounds.x = this.startLocation.x;\n // }\n // result.bounds = this.currentBounds ;\n // this.drawRowWithBreak(result, row, calculatedHeight);\n // } else {\n // //If AllowRowBreakAcrossPages is not true, draw the row till it fits the page. \n // if (this.Grid.ParentCell.row.grid.style.cellPadding != null) {\n // this.currentBounds.y += this.Grid.ParentCell.row.grid.style.cellPadding.top;\n // calculatedHeight = this.currentBounds.height - this.currentBounds.y -\n // this.Grid.ParentCell.row.grid.style.cellPadding.bottom;\n // }\n // result.isFinish = false;\n // this.drawRow( row, result, calculatedHeight);\n // }\n // } else\n if (this.currentBounds.y + this.Grid.ParentCell.row.grid.style.cellPadding.bottom + calculatedHeight >\n this.currentPageBounds.height || this.currentBounds.y + this.Grid.ParentCell.row.grid.style.cellPadding.bottom\n + calculatedHeight > this.currentBounds.height || this.currentBounds.y +\n this.Grid.ParentCell.row.grid.style.cellPadding.bottom + rowHeightWithSpan > this.currentPageBounds.height) {\n //If a row is repeated and still cannot fit in page, proceed draw.\n if (typeof this.Grid.ParentCell.row.grid.LayoutFormat !== 'undefined' && this.Grid.ParentCell.row.grid.LayoutFormat.break === _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutBreakType.FitPage) {\n PdfGridLayouter.repeatRowIndex = this.Grid.rows.rowCollection.indexOf(row);\n this.Grid.splitChildRowIndex = this.Grid.rows.rowCollection.indexOf(row);\n }\n if (PdfGridLayouter.repeatRowIndex > -1 && PdfGridLayouter.repeatRowIndex === row.rowIndex) {\n if (this.Grid.allowRowBreakAcrossPages) {\n result_1.isFinish = true;\n // if (this.Grid.isChildGrid && row.rowBreakHeightValue > 0) {\n // // if (this.Grid.ParentCell.row.grid.style.cellPadding != null) {\n // // this.currentBounds.y += this.Grid.ParentCell.row.grid.style.cellPadding.top;\n // // }\n // this.currentBounds.x = this.startLocation.x;\n // }\n result_1.bounds = this.currentBounds;\n this.drawRowWithBreak(result_1, row, calculatedHeight);\n row.repeatFlag = true;\n row.repeatRowNumber = PdfGridLayouter.repeatRowIndex;\n }\n // else {\n // result.isFinish = false;\n // row.repeatFlag = false;\n // this.drawRow( row, result, calculatedHeight);\n // }\n }\n // else {\n // result.isFinish = false;\n // }\n }\n else {\n result_1.isFinish = true;\n if (row.grid.ParentCell.row.rowBreakHeightValue > 0) {\n row.repeatFlag = true;\n }\n else {\n row.repeatFlag = false;\n calculatedHeight = row.height;\n }\n if (this.Grid.isChildGrid && row.rowBreakHeight > 0) {\n if (this.Grid.ParentCell.row.grid.style.cellPadding != null) {\n calculatedHeight += this.Grid.ParentCell.row.grid.style.cellPadding.bottom;\n }\n }\n this.drawRow(row, result_1, calculatedHeight);\n }\n }\n else {\n //Split row only if row height exceeds page height and AllowRowBreakAcrossPages is true.\n if (calculatedHeight > this.currentPageBounds.height) {\n if (this.Grid.allowRowBreakAcrossPages) {\n result_1.isFinish = true;\n //result.bounds = this.currentBounds;\n this.drawRowWithBreak(result_1, row, calculatedHeight);\n row.isrowFinish = true;\n row.repeatFlag = true;\n if (row.grid.splitChildRowIndex !== -1) {\n result_1.isFinish = false;\n }\n }\n // else {\n // //If AllowRowBreakAcrossPages is not true, draw the row till it fits the page.\n // result.isFinish = false;\n // this.drawRow( row, result, calculatedHeight);\n // }\n }\n else if (this.currentBounds.y + calculatedHeight > this.currentPageBounds.height ||\n this.currentBounds.y + calculatedHeight > (this.currentBounds.height + this.startLocation.y) ||\n this.currentBounds.y + rowHeightWithSpan > this.currentPageBounds.height) {\n // If a row is repeated and still cannot fit in page, proceed draw.\n var isFit = false;\n if ((this.Grid.allowRowBreakAcrossPages && !this.Grid.repeatHeader && !row.isRowHeightSet && !row.rowMergeComplete)) {\n if (this.Grid.LayoutFormat !== null && this.Grid.LayoutFormat.paginateBounds.height > 0) {\n isFit = this.isFitToCell((this.currentBounds.height + this.startLocation.y) - this.currentBounds.y, this.Grid, row);\n }\n else\n isFit = this.isFitToCell(this.currentPageBounds.height - this.currentBounds.y, this.Grid, row);\n if (isFit) {\n this.isPaginate = true;\n }\n }\n else if (this.Grid.allowRowBreakAcrossPages && this.Grid.LayoutFormat != null && this.Grid.LayoutFormat.layout == _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutType.Paginate && this.Grid.LayoutFormat.break != _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_1__.PdfLayoutBreakType.FitElement && row.isRowHeightSet && this.currentBounds.y + height > this.currentPageBounds.height) {\n isFit = this.isFitToCell(this.currentPageBounds.height - this.currentBounds.y, this.Grid, row);\n if (!isFit)\n isFit = !(this.slr !== null && this.slr.actualSize.height == 0 && this.slr.remainder != null && this.slr.remainder.length > 0 && this.remainderText == this.slr.remainder);\n if (isFit && this.slr != null && this.slr.lineCount > 1) {\n //It may text cutoff issue\n isFit = false;\n }\n this.remainderText = null;\n }\n if (PdfGridLayouter.repeatRowIndex > -1 && PdfGridLayouter.repeatRowIndex === row.rowIndex || isFit) {\n if (this.Grid.allowRowBreakAcrossPages) {\n result_1.isFinish = true;\n this.drawRowWithBreak(result_1, row, calculatedHeight);\n row.repeatFlag = true;\n row.repeatRowNumber = PdfGridLayouter.repeatRowIndex;\n if (row.grid.splitChildRowIndex !== -1) {\n result_1.isFinish = false;\n }\n }\n else {\n result_1.isFinish = false;\n this.drawRow(row, result_1, calculatedHeight);\n }\n }\n else {\n result_1.isFinish = false;\n }\n }\n else {\n result_1.isFinish = true;\n this.drawRow(row, result_1, calculatedHeight);\n row.repeatFlag = false;\n }\n }\n return result_1;\n }\n else {\n var skipcell = false;\n var location_4 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(this.currentBounds.x, this.currentBounds.y);\n // if (row.grid.isChildGrid && row.grid.allowRowBreakAcrossPages && this.startLocation.x !== this.currentBounds.x && row.width <\n // this.currentPage.getClientSize().width) {\n // location.x = this.startLocation.x;\n // }\n result.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location_4, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0));\n height = this.ReCalculateHeight(row, height);\n for (var i = this.cellStartIndex; i <= this.cellEndIndex; i++) {\n var cancelSpans = ((i > this.cellEndIndex + 1) && (row.cells.getCell(i).columnSpan > 1));\n // let cancelSpans : boolean = false;\n if (!cancelSpans) {\n for (var j = 1; j < row.cells.getCell(i).columnSpan; j++) {\n row.cells.getCell(i + j).isCellMergeContinue = true;\n }\n }\n var size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(this.Grid.columns.getColumn(i).width, height);\n // if (size.width > this.currentGraphics.clientSize.width) {\n // size.width = this.currentGraphics.clientSize.width;\n // }\n // if (this.Grid.isChildGrid && this.Grid.style.allowHorizontalOverflow) {\n // if (size.width >= this.currentGraphics.clientSize.width) {\n // size.width -= 2 * this.currentBounds.x;\n // }\n // }\n /* tslint:disable */\n if (!this.CheckIfDefaultFormat(this.Grid.columns.getColumn(i).format) &&\n this.CheckIfDefaultFormat(row.cells.getCell(i).stringFormat)) {\n row.cells.getCell(i).stringFormat = this.Grid.columns.getColumn(i).format;\n }\n var cellstyle = row.cells.getCell(i).style;\n var tempValue = ((typeof row.cells.getCell(i).value === 'string' &&\n row.cells.getCell(i).value !== null) ? row.cells.getCell(i).value : '');\n row.cells.getCell(i).style = this.RaiseBeforeCellDraw(this.currentGraphics, this.currentRowIndex, i, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location_4, size), tempValue, cellstyle);\n //row.cells.getCell(i).style = cellstyle;\n if (!skipcell) {\n if (row.cells.getCell(i).value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n var grid = row.cells.getCell(i).value;\n grid.parentCellIndex = i;\n }\n var stringResult = row.cells.getCell(i).draw(this.currentGraphics, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location_4, size), cancelSpans);\n if (row.grid.style.allowHorizontalOverflow && (row.cells.getCell(i).columnSpan > this.cellEndIndex ||\n i + row.cells.getCell(i).columnSpan > this.cellEndIndex + 1) && this.cellEndIndex < row.cells.count - 1) {\n row.rowOverflowIndex = this.cellEndIndex;\n }\n if (row.grid.style.allowHorizontalOverflow && (row.rowOverflowIndex > 0 && (row.cells.getCell(i).columnSpan >\n this.cellEndIndex || i + row.cells.getCell(i).columnSpan > this.cellEndIndex + 1)) &&\n row.cells.getCell(i).columnSpan - this.cellEndIndex + i - 1 > 0) {\n row.cells.getCell(row.rowOverflowIndex + 1).value = stringResult !== null ? (stringResult.remainder !== undefined) ?\n stringResult.remainder : '' : '';\n row.cells.getCell(row.rowOverflowIndex + 1).stringFormat = row.cells.getCell(i).stringFormat;\n row.cells.getCell(row.rowOverflowIndex + 1).style = row.cells.getCell(i).style;\n row.cells.getCell(row.rowOverflowIndex + 1).columnSpan = row.cells.getCell(i).columnSpan - this.cellEndIndex + i - 1;\n }\n }\n /* tslint:enable */\n tempValue = ((typeof row.cells.getCell(i).value === 'string' &&\n row.cells.getCell(i).value !== null) ? row.cells.getCell(i).value : '');\n if (!cancelSpans) {\n this.raiseAfterCellDraw(this.currentGraphics, this.currentRowIndex, i, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location_4, size), tempValue, row.cells.getCell(i).style);\n }\n if (row.cells.getCell(i).value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n var grid = row.cells.getCell(i).value;\n if (this.Grid.columns.getColumn(i).width >= this.currentGraphics.clientSize.width) {\n location_4.x = grid.rowLayoutBoundsWidth;\n location_4.x += grid.style.cellSpacing;\n }\n else {\n location_4.x += this.Grid.columns.getColumn(i).width;\n }\n }\n else {\n location_4.x += this.Grid.columns.getColumn(i).width;\n }\n }\n if (!row.rowMergeComplete || row.isRowHeightSet) {\n this.currentBounds.y += height;\n }\n result.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(result.bounds.x, result.bounds.y), new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(location_4.x, location_4.y));\n }\n };\n PdfGridLayouter.prototype.isFitToCell = function (currentHeight, grid, gridRow) {\n var isFit = false;\n var layouter = new _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_7__.PdfStringLayouter();\n for (var i = 0; i < gridRow.cells.count; i++) {\n var cell = gridRow.cells.getCell(i);\n if (typeof cell.value !== 'undefined' && cell.value !== null && typeof cell.value === 'string') {\n var font = null;\n if (typeof cell.style.font !== 'undefined' && cell.style.font != null) {\n font = cell.style.font;\n }\n else if (typeof cell.row.style.font !== 'undefined' && cell.row.style.font != null) {\n font = cell.row.style.font;\n }\n else if (typeof cell.row.grid.style.font !== 'undefined' && cell.row.grid.style.font != null) {\n font = cell.row.grid.style.font;\n }\n else {\n font = _document_pdf_document__WEBPACK_IMPORTED_MODULE_8__.PdfDocument.defaultFont;\n }\n this.remainderText = cell.value;\n var width = cell.width;\n var column = grid.columns.getColumn(i);\n if (column.isCustomWidth && cell.width > column.width) {\n width = column.width;\n }\n this.slr = layouter.layout(cell.value, font, cell.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(width, currentHeight), false, this.currentPageBounds);\n var height = this.slr.actualSize.height;\n if (cell.value !== '' && height === 0) {\n isFit = false;\n break;\n }\n if (cell.style !== null && cell.style.borders !== null && cell.style.borders.top !== null && cell.style.borders.bottom !== null) {\n height += (cell.style.borders.top.width + cell.style.borders.bottom.width) * 2;\n }\n if (this.slr.lineCount > 1 && cell.stringFormat != null && cell.stringFormat.lineSpacing != 0) {\n height += (this.slr.lineCount - 1) * (cell.style.stringFormat.lineSpacing);\n }\n if (cell.style.cellPadding === null) {\n height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);\n }\n else {\n height += (grid.style.cellPadding.top + grid.style.cellPadding.bottom);\n }\n height += grid.style.cellSpacing;\n if (currentHeight > height || (typeof this.slr.remainder !== 'undefined' && this.slr.remainder !== null)) {\n isFit = true;\n break;\n }\n }\n }\n return isFit;\n };\n PdfGridLayouter.prototype.drawRowWithBreak = function (result, row, calculateHeight) {\n var location = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(this.currentBounds.x, this.currentBounds.y);\n if (row.grid.isChildGrid && row.grid.allowRowBreakAcrossPages && this.startLocation.x !== this.currentBounds.x) {\n location.x = this.startLocation.x;\n }\n result.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0));\n this.gridHeight = row.rowBreakHeight > 0 ? this.currentPageBounds.height : 0;\n // Calculate the remaining height.\n if (row.grid.style.cellPadding.top + this.currentBounds.y + row.grid.style.cellPadding.bottom < this.currentPageBounds.height) {\n row.rowBreakHeight = this.currentBounds.y + calculateHeight - this.currentPageBounds.height;\n }\n // else {\n // row.rowBreakHeight = calculateHeight;\n // result.isFinish = false;\n // return;\n // }\n // No need to explicit break if the row height is equal to grid height.\n for (var i = 0; i < row.cells.count; i++) {\n var cell = row.cells.getCell(i);\n var cellHeight = cell.measureHeight();\n if (cellHeight === calculateHeight && cell.value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n row.rowBreakHeight = 0;\n }\n // else if (cellHeight === calculateHeight && (cell.value as PdfGrid) === null) {\n // row.rowBreakHeight = this.currentBounds.y + calculateHeight - this.currentPageBounds.height;\n // }\n }\n for (var i = this.cellStartIndex; i <= this.cellEndIndex; i++) {\n var gridColumnWidth = this.Grid.columns.getColumn(i).width;\n var cancelSpans = ((row.cells.getCell(i).columnSpan + i > this.cellEndIndex + 1) &&\n (row.cells.getCell(i).columnSpan > 1));\n if (!cancelSpans) {\n for (var k = 1; k < row.cells.getCell(i).columnSpan; k++) {\n row.cells.getCell(i + k).isCellMergeContinue = true;\n gridColumnWidth += this.Grid.columns.getColumn(i + k).width;\n }\n }\n var size = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(gridColumnWidth, this.gridHeight > 0.0 ? this.gridHeight :\n this.currentPageBounds.height);\n // if (size.width === 0) {\n // size = new SizeF(row.cells.getCell(i).width, size.height);\n // }\n // if (!this.CheckIfDefaultFormat(this.Grid.columns.getColumn(i).format) &&\n // this.CheckIfDefaultFormat((row.cells.getCell(i).stringFormat))) {\n // row.cells.getCell(i).stringFormat = this.Grid.columns.getColumn(i).format;\n // }\n var cellstyle1 = row.cells.getCell(i).style;\n row.cells.getCell(i).style = cellstyle1;\n var skipcell = false;\n var stringResult = null;\n if (!skipcell) {\n row.cells.getCell(i)._rowHeight = row.height;\n stringResult = row.cells.getCell(i).draw(this.currentGraphics, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(location, size), cancelSpans);\n }\n //If still row is to be drawn, set cell finished drawing cell as false and update the text to be drawn.\n if (row.rowBreakHeight > 0.0) {\n if (stringResult != null && typeof stringResult.remainder !== 'undefined') {\n row.cells.getCell(i).FinishedDrawingCell = false;\n row.cells.getCell(i).remainingString = stringResult.remainder == null ? ' ' : stringResult.remainder;\n row.rowBreakHeight = calculateHeight - stringResult.actualSize.height;\n }\n }\n result.isFinish = (!result.isFinish) ? result.isFinish : row.cells.getCell(i).FinishedDrawingCell;\n // let tempValue : string = ((typeof row.cells.getCell(i).value === 'string' &&\n //row.cells.getCell(i).value !== null) ? row.cells.getCell(i).value : '') as string;\n // if (!cancelSpans) {\n // // this.raiseAfterCellDraw(this.currentGraphics, this.currentRowIndex, i,\n // // new RectangleF(location, size), tempValue, row.cells.getCell(i).style); \n // this.raiseAfterCellDraw(this.currentGraphics, this.currentRowIndex, i, new RectangleF(location, size),\n // (row.cells.getCell(i).value as string) ? row.cells.getCell(i).value.toString() : ' ',\n // row.cells.getCell(i).style);\n // } \n if (row.cells.getCell(i).value instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_4__.PdfGrid) {\n var grid = row.cells.getCell(i).value;\n this.rowBreakPageHeightCellIndex = i;\n // row.cells.getCell(i).pageCount = grid.listOfNavigatePages.length;\n // for (let j : number = 0;j= this.currentGraphics.clientSize.width) {\n location.x = this.rowLayoutBoundsWidth;\n location.x += grid.style.cellSpacing;\n }\n else {\n location.x += this.Grid.columns.getColumn(i).width;\n }\n }\n else {\n location.x += this.Grid.columns.getColumn(i).width;\n }\n }\n this.currentBounds.y += this.gridHeight > 0.0 ? this.gridHeight : calculateHeight;\n result.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF(result.bounds.x, result.bounds.y), new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(location.x, location.y));\n };\n /**\n * @hidden\n * @private\n */\n PdfGridLayouter.repeatRowIndex = -1;\n return PdfGridLayouter;\n}(_graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_9__.ElementLayouter));\n\n// recalculateBounds : boolean, clientSize : SizeF\n//Implementation\n/**\n * `Initializes` internal data.\n * @private\n */\n//Internal declaration\nvar PdfGridLayoutResult = /** @class */ (function (_super) {\n __extends(PdfGridLayoutResult, _super);\n /**\n * Constructor\n * @private\n */\n function PdfGridLayoutResult(page, bounds) {\n return _super.call(this, page, bounds) || this;\n }\n return PdfGridLayoutResult;\n}(_graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_9__.PdfLayoutResult));\n\n/**\n * `PdfGridLayoutFormat` class represents a flexible grid that consists of columns and rows.\n */\nvar PdfGridLayoutFormat = /** @class */ (function (_super) {\n __extends(PdfGridLayoutFormat, _super);\n /**\n * Initializes a new instance of the `PdfGridLayoutFormat` class.\n * @private\n */\n function PdfGridLayoutFormat(baseFormat) {\n return _super.call(this, baseFormat) || this;\n }\n return PdfGridLayoutFormat;\n}(_graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_9__.PdfLayoutFormat));\n\nvar GridCellEventArgs = /** @class */ (function () {\n // Constructors\n /**\n * Initialize a new instance for `GridCellEventArgs` class.\n * @private\n */\n function GridCellEventArgs(graphics, rowIndex, cellIndex, bounds, value) {\n this.gridRowIndex = rowIndex;\n this.gridCellIndex = cellIndex;\n this.internalValue = value;\n this.gridBounds = bounds;\n this.pdfGraphics = graphics;\n }\n Object.defineProperty(GridCellEventArgs.prototype, \"rowIndex\", {\n // Properties\n /**\n * Gets the value of current `row index`.\n * @private\n */\n get: function () {\n return this.gridRowIndex;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(GridCellEventArgs.prototype, \"cellIndex\", {\n /**\n * Gets the value of current `cell index`.\n * @private\n */\n get: function () {\n return this.gridCellIndex;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(GridCellEventArgs.prototype, \"value\", {\n /**\n * Gets the actual `value` of current cell.\n * @private\n */\n get: function () {\n return this.internalValue;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(GridCellEventArgs.prototype, \"bounds\", {\n /**\n * Gets the `bounds` of current cell.\n * @private\n */\n get: function () {\n return this.gridBounds;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(GridCellEventArgs.prototype, \"graphics\", {\n /**\n * Gets the instance of `current graphics`.\n * @private\n */\n get: function () {\n return this.pdfGraphics;\n },\n enumerable: true,\n configurable: true\n });\n return GridCellEventArgs;\n}());\n\nvar PdfGridBeginCellDrawEventArgs = /** @class */ (function (_super) {\n __extends(PdfGridBeginCellDrawEventArgs, _super);\n // Constructors\n /**\n * Initializes a new instance of the `StartCellLayoutEventArgs` class.\n * @private\n */\n function PdfGridBeginCellDrawEventArgs(graphics, rowIndex, cellIndex, bounds, value, style) {\n var _this = _super.call(this, graphics, rowIndex, cellIndex, bounds, value) || this;\n _this.style = style;\n return _this;\n }\n Object.defineProperty(PdfGridBeginCellDrawEventArgs.prototype, \"skip\", {\n // Properties\n /**\n * Gets or sets a value indicating whether the value of this cell should be `skipped`.\n * @private\n */\n get: function () {\n return this.bSkip;\n },\n set: function (value) {\n this.bSkip = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridBeginCellDrawEventArgs.prototype, \"style\", {\n /**\n * Gets or sets a `style` value of the cell.\n * @private\n */\n get: function () {\n return this.cellStyle;\n },\n set: function (value) {\n this.cellStyle = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridBeginCellDrawEventArgs;\n}(GridCellEventArgs));\n\nvar PdfGridEndCellDrawEventArgs = /** @class */ (function (_super) {\n __extends(PdfGridEndCellDrawEventArgs, _super);\n // Constructors\n /**\n * Initializes a new instance of the `PdfGridEndCellLayoutEventArgs` class.\n * @private\n */\n function PdfGridEndCellDrawEventArgs(graphics, rowIndex, cellIndex, bounds, value, style) {\n var _this = _super.call(this, graphics, rowIndex, cellIndex, bounds, value) || this;\n _this.cellStyle = style;\n return _this;\n }\n Object.defineProperty(PdfGridEndCellDrawEventArgs.prototype, \"style\", {\n // Propertise\n /**\n * Get the `PdfGridCellStyle`.\n * @private\n */\n get: function () {\n return this.cellStyle;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridEndCellDrawEventArgs;\n}(GridCellEventArgs));\n\nvar PdfCancelEventArgs = /** @class */ (function () {\n function PdfCancelEventArgs() {\n }\n Object.defineProperty(PdfCancelEventArgs.prototype, \"cancel\", {\n // Properties\n /**\n * Gets and Sets the value of `cancel`.\n * @private\n */\n get: function () {\n return this.isCancel;\n },\n set: function (value) {\n this.isCancel = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfCancelEventArgs;\n}());\n\nvar BeginPageLayoutEventArgs = /** @class */ (function (_super) {\n __extends(BeginPageLayoutEventArgs, _super);\n // Constructors\n /**\n * Initializes a new instance of the `BeginPageLayoutEventArgs` class with the specified rectangle and page.\n * @private\n */\n function BeginPageLayoutEventArgs(bounds, page) {\n var _this = _super.call(this) || this;\n _this.bounds = bounds;\n _this.pdfPage = page;\n return _this;\n }\n Object.defineProperty(BeginPageLayoutEventArgs.prototype, \"bounds\", {\n // Properties\n /**\n * Gets or sets value that indicates the lay outing `bounds` on the page.\n * @private\n */\n get: function () {\n return this.cellBounds;\n },\n set: function (value) {\n this.cellBounds = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BeginPageLayoutEventArgs.prototype, \"page\", {\n /**\n * Gets the `page` where the lay outing should start.\n * @private\n */\n get: function () {\n return this.pdfPage;\n },\n enumerable: true,\n configurable: true\n });\n return BeginPageLayoutEventArgs;\n}(PdfCancelEventArgs));\n\n/**\n * `EndPageLayoutEventArgs` class is alternate for end page layout events.\n */\nvar EndPageLayoutEventArgs = /** @class */ (function (_super) {\n __extends(EndPageLayoutEventArgs, _super);\n // Constructors\n /**\n * Initializes a new instance of the `EndPageLayoutEventArgs` class. with the specified 'PdfLayoutResult'.\n * @private\n */\n function EndPageLayoutEventArgs(result) {\n var _this = _super.call(this) || this;\n _this.layoutResult = result;\n return _this;\n }\n Object.defineProperty(EndPageLayoutEventArgs.prototype, \"result\", {\n // Properties\n /**\n * Gets the lay outing `result` of the page.\n * @private\n */\n get: function () {\n return this.layoutResult;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(EndPageLayoutEventArgs.prototype, \"nextPage\", {\n /**\n * Gets or sets a value indicating the `next page` where the element should be layout.\n * @private\n */\n get: function () {\n return this.nextPdfPage;\n },\n set: function (value) {\n this.nextPdfPage = value;\n },\n enumerable: true,\n configurable: true\n });\n return EndPageLayoutEventArgs;\n}(PdfCancelEventArgs));\n\n/**\n * `PdfGridBeginPageLayoutEventArgs` class is alternate for begin page layout events.\n */\nvar PdfGridBeginPageLayoutEventArgs = /** @class */ (function (_super) {\n __extends(PdfGridBeginPageLayoutEventArgs, _super);\n // Constructors\n /**\n * Initialize a new instance of `PdfGridBeginPageLayoutEventArgs` class.\n * @private\n */\n function PdfGridBeginPageLayoutEventArgs(bounds, page, startRow) {\n var _this = _super.call(this, bounds, page) || this;\n _this.startRow = startRow;\n return _this;\n }\n Object.defineProperty(PdfGridBeginPageLayoutEventArgs.prototype, \"startRowIndex\", {\n // Properties\n /**\n * Gets the `start row index`.\n * @private\n */\n get: function () {\n return this.startRow;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridBeginPageLayoutEventArgs;\n}(BeginPageLayoutEventArgs));\n\n/**\n * `PdfGridEndPageLayoutEventArgs` class is alternate for begin page layout events.\n */\nvar PdfGridEndPageLayoutEventArgs = /** @class */ (function (_super) {\n __extends(PdfGridEndPageLayoutEventArgs, _super);\n // Constructors\n /**\n * Initialize a new instance of `PdfGridEndPageLayoutEventArgs` class.\n * @private\n */\n function PdfGridEndPageLayoutEventArgs(result) {\n return _super.call(this, result) || this;\n }\n return PdfGridEndPageLayoutEventArgs;\n}(EndPageLayoutEventArgs));\n\nvar RowLayoutResult = /** @class */ (function () {\n //Constructors\n /**\n * Initializes a new instance of the `RowLayoutResult` class.\n * @private\n */\n function RowLayoutResult() {\n this.layoutedBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(0, 0, 0, 0);\n }\n Object.defineProperty(RowLayoutResult.prototype, \"isFinish\", {\n /**\n * Gets or sets a value indicating whether this instance `is finish`.\n * @private\n */\n get: function () {\n return this.bIsFinished;\n },\n set: function (value) {\n this.bIsFinished = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RowLayoutResult.prototype, \"bounds\", {\n /**\n * Gets or sets the `bounds`.\n * @private\n */\n get: function () {\n return this.layoutedBounds;\n },\n set: function (value) {\n this.layoutedBounds = value;\n },\n enumerable: true,\n configurable: true\n });\n return RowLayoutResult;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-cell.js": +/*!**************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-cell.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGridCell: () => (/* binding */ PdfGridCell),\n/* harmony export */ PdfGridCellCollection: () => (/* binding */ PdfGridCellCollection)\n/* harmony export */ });\n/* harmony import */ var _pdf_grid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-grid */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.js\");\n/* harmony import */ var _styles_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styles/style */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js\");\n/* harmony import */ var _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../../graphics/fonts/string-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.js\");\n/* harmony import */ var _document_pdf_document__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./../../document/pdf-document */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.js\");\n/* harmony import */ var _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../graphics/fonts/pdf-string-format */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./../../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _tables_light_tables_enum__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./../tables/light-tables/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/tables/light-tables/enum.js\");\n/* harmony import */ var _graphics_brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./../../graphics/brushes/pdf-solid-brush */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.js\");\n/* harmony import */ var _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../../graphics/pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/* harmony import */ var _graphics_images_pdf_image__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../../graphics/images/pdf-image */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.js\");\n/* harmony import */ var _graphics_images_pdf_bitmap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../graphics/images/pdf-bitmap */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.js\");\n/* harmony import */ var _annotations_pdf_text_web_link__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../../annotations/pdf-text-web-link */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.js\");\n/* harmony import */ var _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./../../graphics/figures/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.js\");\n/* harmony import */ var _structured_elements_grid_layout_grid_layouter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../../structured-elements/grid/layout/grid-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.js\");\n/* harmony import */ var _implementation_graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../implementation/graphics/figures/base/element-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * `PdfGridCell` class represents the schema of a cell in a 'PdfGrid'.\n */\nvar PdfGridCell = /** @class */ (function () {\n function PdfGridCell(row) {\n /**\n * `Width` of the cell.\n * @default 0\n * @private\n */\n this.cellWidth = 0;\n /**\n * `Height` of the cell.\n * @default 0\n * @private\n */\n this.cellHeight = 0;\n /**\n * `tempval`to stores current width .\n * @default 0\n * @private\n */\n this.tempval = 0;\n this.fontSpilt = false;\n /**\n * Specifies weather the `cell is drawn`.\n * @default true\n * @private\n */\n this.finsh = true;\n /**\n * The `remaining height` of row span.\n * @default 0\n * @private\n */\n this.rowSpanRemainingHeight = 0;\n this.hasRowSpan = false;\n this.hasColSpan = false;\n /**\n * the 'isFinish' is set to page finish\n */\n this.isFinish = true;\n /**\n * The `present' to store the current cell.\n * @default false\n * @private\n */\n this.present = false;\n this.gridRowSpan = 1;\n this.colSpan = 1;\n if (typeof row !== 'undefined') {\n this.gridRow = row;\n }\n }\n Object.defineProperty(PdfGridCell.prototype, \"isCellMergeContinue\", {\n //Properties\n get: function () {\n return this.internalIsCellMergeContinue;\n },\n set: function (value) {\n this.internalIsCellMergeContinue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"isRowMergeContinue\", {\n get: function () {\n return this.internalIsRowMergeContinue;\n },\n set: function (value) {\n this.internalIsRowMergeContinue = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"isCellMergeStart\", {\n get: function () {\n return this.internalIsCellMergeStart;\n },\n set: function (value) {\n this.internalIsCellMergeStart = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"isRowMergeStart\", {\n get: function () {\n return this.internalIsRowMergeStart;\n },\n set: function (value) {\n this.internalIsRowMergeStart = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"remainingString\", {\n /**\n * Gets or sets the `remaining string` after the row split between pages.\n * @private\n */\n get: function () {\n return this.remaining;\n },\n set: function (value) {\n this.remaining = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"FinishedDrawingCell\", {\n /**\n * Gets or sets the `FinishedDrawingCell` .\n * @private\n */\n get: function () {\n return this.isFinish;\n },\n set: function (value) {\n this.isFinish = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"stringFormat\", {\n /**\n * Gets or sets the `string format`.\n * @private\n */\n get: function () {\n if (this.format == null) {\n this.format = new _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_0__.PdfStringFormat();\n }\n return this.format;\n },\n set: function (value) {\n this.format = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"row\", {\n /**\n * Gets or sets the parent `row`.\n * @private\n */\n get: function () {\n return this.gridRow;\n },\n set: function (value) {\n this.gridRow = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"value\", {\n /**\n * Gets or sets the `value` of the cell.\n * @private\n */\n get: function () {\n return this.objectValue;\n },\n set: function (value) {\n this.objectValue = value;\n if (this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid) {\n this.row.grid.isSingleGrid = false;\n var grid = this.objectValue;\n grid.ParentCell = this;\n this.objectValue.isChildGrid = true;\n var rowCount = this.row.grid.rows.count;\n for (var i = 0; i < rowCount; i++) {\n var row = this.row.grid.rows.getRow(i);\n var colCount = row.cells.count;\n for (var j = 0; j < colCount; j++) {\n var cell = row.cells.getCell(j);\n cell.parent = this;\n }\n }\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"rowSpan\", {\n /**\n * Gets or sets a value that indicates the total number of rows that cell `spans` within a PdfGrid.\n * @private\n */\n get: function () {\n return this.gridRowSpan;\n },\n set: function (value) {\n if (value < 1) {\n throw new Error('ArgumentException : Invalid span specified, must be greater than or equal to 1');\n }\n else {\n this.gridRowSpan = value;\n this.row.rowSpanExists = true;\n this.row.grid.hasRowSpanSpan = true;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"style\", {\n /**\n * Gets or sets the cell `style`.\n * @private\n */\n get: function () {\n if (this.cellStyle == null) {\n this.cellStyle = new _styles_style__WEBPACK_IMPORTED_MODULE_2__.PdfGridCellStyle();\n }\n return this.cellStyle;\n },\n set: function (value) {\n this.cellStyle = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"height\", {\n /**\n * Gets the `height` of the PdfGrid cell.[Read-Only].\n * @private\n */\n get: function () {\n if (this.cellHeight === 0) {\n this.cellHeight = this.measureHeight();\n }\n return this.cellHeight;\n },\n set: function (value) {\n this.cellHeight = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"columnSpan\", {\n /**\n * Gets or sets a value that indicates the total number of columns that cell `spans` within a PdfGrid.\n * @private\n */\n get: function () {\n return this.colSpan;\n },\n set: function (value) {\n if (value < 1) {\n throw Error('Invalid span specified, must be greater than or equal to 1');\n }\n else {\n this.colSpan = value;\n this.row.columnSpanExists = true;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCell.prototype, \"width\", {\n /**\n * Gets the `width` of the PdfGrid cell.[Read-Only].\n * @private\n */\n get: function () {\n if (this.cellWidth === 0 || this.row.grid.isComplete) {\n this.cellWidth = this.measureWidth();\n }\n return Math.round(this.cellWidth);\n },\n set: function (value) {\n this.cellWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n //Implementation\n /**\n * `Calculates the width`.\n * @private\n */\n PdfGridCell.prototype.measureWidth = function () {\n // .. Calculate the cell text width.\n // .....Add border widths, cell spacings and paddings to the width.\n var width = 0;\n var layouter = new _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_3__.PdfStringLayouter();\n if (typeof this.objectValue === 'string') {\n /* tslint:disable */\n var slr = layouter.layout(this.objectValue, this.getTextFont(), this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(Number.MAX_VALUE, Number.MAX_VALUE), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0));\n width += slr.actualSize.width;\n width += (this.style.borders.left.width + this.style.borders.right.width) * 2;\n }\n else if (this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid) {\n width = this.objectValue.size.width;\n //width += this.objectValue.style.cellSpacing;\n }\n else if (this.objectValue instanceof _graphics_images_pdf_image__WEBPACK_IMPORTED_MODULE_5__.PdfImage || this.objectValue instanceof _graphics_images_pdf_bitmap__WEBPACK_IMPORTED_MODULE_6__.PdfBitmap) {\n width += this.objectValue.width;\n }\n else if (this.objectValue instanceof _annotations_pdf_text_web_link__WEBPACK_IMPORTED_MODULE_7__.PdfTextWebLink) {\n var webLink = this.objectValue;\n var result = layouter.layout(webLink.text, webLink.font, webLink.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0));\n /* tslint:enable */\n width += result.actualSize.width;\n width += (this.style.borders.left.width + this.style.borders.right.width) * 2;\n }\n if (!(this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid)) {\n if (this.style.cellPadding != null) {\n width += (this.style.cellPadding.left + this.style.cellPadding.right);\n }\n else {\n width += (this.row.grid.style.cellPadding.left + this.row.grid.style.cellPadding.right);\n }\n }\n else {\n if (this.style.cellPadding != null || typeof this.style.cellPadding !== 'undefined') {\n if (typeof this.style.cellPadding.left !== 'undefined' && this.style.cellPadding.hasLeftPad) {\n width += this.style.cellPadding.left;\n }\n if (typeof this.style.cellPadding.right !== 'undefined' && this.style.cellPadding.hasRightPad) {\n width += this.style.cellPadding.right;\n }\n }\n else {\n if (typeof this.row.grid.style.cellPadding.left !== 'undefined' && this.row.grid.style.cellPadding.hasLeftPad) {\n width += this.row.grid.style.cellPadding.left;\n }\n if (typeof this.row.grid.style.cellPadding.right !== 'undefined' && this.row.grid.style.cellPadding.hasRightPad) {\n width += this.row.grid.style.cellPadding.right;\n }\n }\n }\n width += this.row.grid.style.cellSpacing;\n return width;\n };\n /**\n * Draw the `cell background`.\n * @private\n */\n PdfGridCell.prototype.drawCellBackground = function (graphics, bounds) {\n var backgroundBrush = this.getBackgroundBrush();\n //graphics.isTemplateGraphics = true;\n if (backgroundBrush != null) {\n graphics.save();\n graphics.drawRectangle(backgroundBrush, bounds.x, bounds.y, bounds.width, bounds.height);\n graphics.restore();\n }\n if (this.style.backgroundImage != null) {\n var image = this.getBackgroundImage();\n graphics.drawImage(this.style.backgroundImage, bounds.x, bounds.y, bounds.width, bounds.height);\n }\n };\n /**\n * `Adjusts the text layout area`.\n * @private\n */\n /* tslint:disable */\n PdfGridCell.prototype.adjustContentLayoutArea = function (bounds) {\n //Add Padding value to its Cell Bounds\n var returnBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(bounds.x, bounds.y, bounds.width, bounds.height);\n if (!(this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid)) {\n if (typeof this.style.cellPadding === 'undefined' || this.style.cellPadding == null) {\n returnBounds.x += this.gridRow.grid.style.cellPadding.left;\n returnBounds.y += this.gridRow.grid.style.cellPadding.top;\n returnBounds.width -= (this.gridRow.grid.style.cellPadding.right + this.gridRow.grid.style.cellPadding.left);\n returnBounds.height -= (this.gridRow.grid.style.cellPadding.bottom + this.gridRow.grid.style.cellPadding.top);\n }\n else {\n returnBounds.x += this.style.cellPadding.left;\n returnBounds.y += this.style.cellPadding.top;\n returnBounds.width -= (this.style.cellPadding.right + this.style.cellPadding.left);\n returnBounds.height -= (this.style.cellPadding.bottom + this.style.cellPadding.top);\n if (this.rowSpan === 1) {\n returnBounds.width -= (this.style.borders.left.width);\n }\n }\n if (typeof this.style.borders === 'undefined' || this.style.borders == null) {\n returnBounds.x += this.gridRow.style.border.left.width;\n returnBounds.y += this.gridRow.style.border.top.width;\n returnBounds.width -= (this.gridRow.style.border.left.width + this.gridRow.style.border.right.width);\n returnBounds.height -= (this.gridRow.style.border.top.width + this.gridRow.style.border.bottom.width);\n }\n else {\n returnBounds.x += this.style.borders.left.width;\n returnBounds.y += this.style.borders.top.width;\n returnBounds.width -= (this.style.borders.left.width + this.style.borders.right.width);\n returnBounds.height -= (this.style.borders.top.width + this.style.borders.bottom.width);\n if (this.rowSpan === 1) {\n returnBounds.width -= (this.style.borders.left.width);\n }\n }\n }\n else {\n if (this.style.cellPadding == null || typeof this.style.cellPadding === 'undefined') {\n if (this.gridRow.grid.style.cellPadding !== null && typeof this.gridRow.grid.style.cellPadding !== 'undefined') {\n var hasLeftPad = this.gridRow.grid.style.cellPadding.hasLeftPad;\n var hasTopPad = this.gridRow.grid.style.cellPadding.hasTopPad;\n var hasRightPad = this.gridRow.grid.style.cellPadding.hasRightPad;\n var hasBottomPad = this.gridRow.grid.style.cellPadding.hasBottomPad;\n if (hasLeftPad || hasTopPad || hasRightPad || hasBottomPad) {\n if (typeof this.gridRow.grid.style.cellPadding.left !== 'undefined' && hasLeftPad) {\n returnBounds.x += this.gridRow.grid.style.cellPadding.left + this.cellStyle.borders.left.width;\n returnBounds.width -= this.gridRow.grid.style.cellPadding.left;\n }\n if (typeof this.gridRow.grid.style.cellPadding.top !== 'undefined' && hasTopPad) {\n returnBounds.y += this.gridRow.grid.style.cellPadding.top + this.cellStyle.borders.top.width;\n returnBounds.height -= this.gridRow.grid.style.cellPadding.top;\n }\n if (typeof this.gridRow.grid.style.cellPadding.right !== 'undefined' && hasRightPad) {\n returnBounds.width -= this.gridRow.grid.style.cellPadding.right;\n }\n if (typeof this.gridRow.grid.style.cellPadding.bottom !== 'undefined' && hasBottomPad) {\n returnBounds.height -= this.gridRow.grid.style.cellPadding.bottom;\n }\n }\n else {\n var format = this.getStringFormat();\n if (format.alignment === null || typeof format.alignment === 'undefined') {\n returnBounds.x += this.row.grid.style.cellPadding.left;\n returnBounds.y += this.row.grid.style.cellPadding.top;\n }\n }\n }\n else {\n var format = this.getStringFormat();\n if (format.alignment === null || typeof format.alignment === 'undefined') {\n returnBounds.x += this.row.grid.style.cellPadding.left;\n returnBounds.y += this.row.grid.style.cellPadding.top;\n }\n }\n }\n else {\n if (typeof this.style.cellPadding.left !== 'undefined' && this.style.cellPadding.hasLeftPad) {\n returnBounds.x += this.style.cellPadding.left + this.cellStyle.borders.left.width;\n returnBounds.width -= this.style.cellPadding.left;\n }\n if (typeof this.style.cellPadding.top !== 'undefined' && this.style.cellPadding.hasTopPad) {\n returnBounds.y += this.style.cellPadding.top + this.cellStyle.borders.top.width;\n returnBounds.height -= this.style.cellPadding.top;\n }\n if (typeof this.style.cellPadding.right !== 'undefined' && this.style.cellPadding.hasRightPad) {\n returnBounds.width -= this.style.cellPadding.right;\n }\n if (typeof this.style.cellPadding.bottom !== 'undefined' && this.style.cellPadding.hasBottomPad) {\n returnBounds.height -= this.style.cellPadding.bottom;\n }\n }\n returnBounds.width -= (this.cellStyle.borders.left.width + this.cellStyle.borders.right.width);\n returnBounds.height -= (this.cellStyle.borders.top.width + this.cellStyle.borders.bottom.width);\n }\n return returnBounds;\n };\n /**\n * `Draws` the specified graphics.\n * @private\n */\n PdfGridCell.prototype.draw = function (graphics, bounds, cancelSubsequentSpans) {\n var isrowbreak = false;\n /*if (!this.row.grid.isSingleGrid)\n {\n //Check whether the Grid Span to Nextpage\n if ((this.remainingString != null) || (PdfGridLayouter.repeatRowIndex != -1))\n {\n this.DrawParentCells(graphics, bounds, true);\n }\n else if (this.row.grid.rows.count > 1)\n {\n for (let i : number = 0; i < this.row.grid.rows.count; i++)\n {\n if (this.row == this.row.grid.rows.getRow(i))\n {\n if (this.row.grid.rows.getRow(i).rowBreakHeight > 0)\n isrowbreak = true;\n if ((i > 0) && (isrowbreak))\n this.DrawParentCells(graphics, bounds, false);\n }\n }\n }\n } */\n var result = null;\n /*if (cancelSubsequentSpans)\n {\n //..Cancel all subsequent cell spans, if no space exists.\n let currentCellIndex : number = this.row.cells.indexOf(this);\n for (let i : number = currentCellIndex + 1; i <= currentCellIndex + this.colSpan; i++)\n {\n this.row.cells.getCell(i).isCellMergeContinue = false;\n this.row.cells.getCell(i).isRowMergeContinue = false;\n }\n this.colSpan = 1;\n }*/\n //..Skip cells which were already covered by spanmap.\n if (this.internalIsCellMergeContinue || this.internalIsRowMergeContinue) {\n if (this.internalIsCellMergeContinue && this.row.grid.style.allowHorizontalOverflow) {\n if ((this.row.rowOverflowIndex > 0 && (this.row.cells.indexOf(this) != this.row.rowOverflowIndex + 1)) || (this.row.rowOverflowIndex == 0 && this.internalIsCellMergeContinue)) {\n return result;\n }\n }\n else {\n return result;\n }\n }\n //Adjust bounds with Row and Column Spacing\n bounds = this.adjustOuterLayoutArea(bounds, graphics);\n this.drawCellBackground(graphics, bounds);\n var textPen = this.getTextPen();\n var textBrush = this.getTextBrush();\n if (typeof textPen === 'undefined' && typeof textBrush === 'undefined') {\n textBrush = new _graphics_brushes_pdf_solid_brush__WEBPACK_IMPORTED_MODULE_8__.PdfSolidBrush(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_9__.PdfColor(0, 0, 0));\n }\n var font = this.getTextFont();\n var strFormat = this.getStringFormat();\n var innerLayoutArea = bounds;\n if (innerLayoutArea.height >= graphics.clientSize.height) {\n // If to break row to next page.\n if (this.row.grid.allowRowBreakAcrossPages) {\n innerLayoutArea.height -= innerLayoutArea.y;\n if (typeof this._rowHeight !== 'undefined' && this._rowHeight !== null && innerLayoutArea.height > this._rowHeight) {\n innerLayoutArea.height = this._rowHeight;\n }\n //bounds.height -= bounds.y;\n // if(this.row.grid.isChildGrid)\n // {\n // innerLayoutArea.height -= this.row.grid.ParentCell.row.grid.style.cellPadding.bottom;\n // }\n }\n // if user choose to cut the row whose height is more than page height.\n // else\n // {\n // innerLayoutArea.height = graphics.clientSize.height;\n // bounds.height = graphics.clientSize.height;\n // }\n }\n innerLayoutArea = this.adjustContentLayoutArea(innerLayoutArea);\n if (typeof this.objectValue === 'string' || typeof this.remaining === 'string') {\n var temp = void 0;\n var layoutRectangle = void 0;\n if (innerLayoutArea.height < font.height)\n layoutRectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(innerLayoutArea.x, innerLayoutArea.y, innerLayoutArea.width, font.height);\n else\n layoutRectangle = innerLayoutArea;\n if (innerLayoutArea.height < font.height && this.row.grid.isChildGrid && this.row.grid.ParentCell != null) {\n var height = layoutRectangle.height - this.row.grid.ParentCell.row.grid.style.cellPadding.bottom - this.row.grid.style.cellPadding.bottom;\n if (this.row.grid.splitChildRowIndex != -1) {\n this.fontSpilt = true;\n this.row.rowFontSplit = true;\n }\n if (height > 0 && height < font.height)\n layoutRectangle.height = height;\n // else if (height + this.row.grid.style.cellPadding.bottom > 0 && height + this.row.grid.style.cellPadding.bottom < font.height)\n // layoutRectangle.height = height + this.row.grid.style.cellPadding.bottom;\n // else if (bounds.height < font.height)\n // layoutRectangle.height = bounds.height;\n // else if (bounds.height - this.row.grid.ParentCell.row.grid.style.cellPadding.bottom < font.height)\n // layoutRectangle.height = bounds.height - this.row.grid.ParentCell.row.grid.style.cellPadding.bottom; \n }\n if (this.gridRow.grid.style.cellSpacing != 0) {\n layoutRectangle.width -= this.gridRow.grid.style.cellSpacing;\n bounds.width -= this.gridRow.grid.style.cellSpacing;\n }\n if (this.isFinish) {\n // if (this.row.grid.splitChildRowIndex != -1 && !this.row.grid.isChildGrid && typeof this.remaining === 'undefined'){\n // this.remaining = '';\n // graphics.drawString(this.remaining, font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat);\n // } else {\n temp = this.remaining === '' ? this.remaining : this.objectValue;\n graphics.drawString(temp, font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat);\n if (this.row.grid.splitChildRowIndex != -1 && !this.row.grid.isChildGrid && typeof this.remaining === 'undefined') {\n this.remaining = '';\n //graphics.drawString(this.remaining, font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat);\n }\n }\n else {\n if (typeof this.remaining == 'undefined' || this.remaining === null) {\n this.remaining = '';\n }\n if (this.row.repeatFlag) {\n graphics.drawString(this.remaining, font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat);\n }\n // else {\n // if(this.row.grid.ParentCell.row.repeatFlag) {\n // graphics.drawString((this.remaining as string), font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat); \n // } else {\n // layoutRectangle.height = this.row.height;\n // graphics.drawString((this.objectValue as string), font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat);\n // bounds.height = this.row.height;\n // }\n // }\n this.isFinish = true;\n //graphics.drawString((this.remaining as string), font, textPen, textBrush, layoutRectangle.x, layoutRectangle.y, layoutRectangle.width, layoutRectangle.height, strFormat);\n }\n result = graphics.stringLayoutResult;\n // if(this.row.grid.isChildGrid && this.row.rowBreakHeight > 0 && result !=null) {\n // bounds.height -= this.row.grid.ParentCell.row.grid.style.cellPadding.bottom;\n // }\n }\n else if (this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid) {\n var childGrid = this.objectValue;\n childGrid.isChildGrid = true;\n childGrid.ParentCell = this;\n var layoutRect = void 0;\n layoutRect = innerLayoutArea;\n if (this.gridRow.grid.style.cellSpacing != 0) {\n bounds.width -= this.gridRow.grid.style.cellSpacing;\n }\n // layoutRect = bounds;\n // if (this.style.cellPadding != null){\n // layoutRect = bounds; \n // } else if((this.row.grid.style.cellPadding != null) && (childGrid.style.cellPadding.bottom === 0.5) && (childGrid.style.cellPadding.top === 0.5)\n // && (childGrid.style.cellPadding.left === 5.76) && (childGrid.style.cellPadding.right === 5.76)\n // && (this.gridRow.grid.style.cellSpacing === 0) && (childGrid.style.cellSpacing === 0)) {\n // layoutRect = innerLayoutArea;\n // }\n // if(this.objectValue.style.cellPadding != null && typeof this.objectValue.style.cellPadding !== 'undefined'){\n // layoutRect = bounds;\n // } \n var layouter = new _structured_elements_grid_layout_grid_layouter__WEBPACK_IMPORTED_MODULE_10__.PdfGridLayouter(childGrid);\n var format = new _structured_elements_grid_layout_grid_layouter__WEBPACK_IMPORTED_MODULE_10__.PdfGridLayoutFormat();\n if (this.row.grid.LayoutFormat != null)\n format = this.row.grid.LayoutFormat;\n else\n format.layout = _graphics_figures_enum__WEBPACK_IMPORTED_MODULE_11__.PdfLayoutType.Paginate;\n var param = new _implementation_graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_12__.PdfLayoutParams();\n if (graphics.layer != null) {\n // Define layout parameters.\n param.page = graphics.page;\n param.bounds = layoutRect;\n param.format = format;\n //Set the span \n childGrid.setSpan();\n childGrid.checkSpan();\n // Draw the child grid.\n var childGridResult = layouter.Layouter(param);\n //let childGridResult : PdfLayoutResult = layouter.innerLayout(param);\n this.value = childGrid;\n if (this.row.grid.splitChildRowIndex !== -1) {\n this.height = this.row.rowBreakHeightValue;\n }\n if (param.page != childGridResult.page) //&& (isWidthGreaterthanParent != true))\n {\n if (this.row.rowBreakHeightValue !== null && typeof this.row.rowBreakHeightValue !== 'undefined')\n childGridResult.bounds.height = this.row.rowBreakHeightValue;\n if (this.row.rowBreakHeight == 0)\n this.row.NestedGridLayoutResult = childGridResult;\n else\n this.row.rowBreakHeight = this.row.rowBreakHeightValue;\n //bounds.height = this.row.rowBreakHeight;\n //After drawing paginated nested grid, the bounds of the parent grid in start page should be corrected for borders.\n //bounds.height = graphics.clientSize.height - bounds.y;\n }\n }\n }\n else if (this.objectValue instanceof _graphics_images_pdf_image__WEBPACK_IMPORTED_MODULE_5__.PdfImage || this.objectValue instanceof _graphics_images_pdf_bitmap__WEBPACK_IMPORTED_MODULE_6__.PdfBitmap) {\n var imageBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(innerLayoutArea.x, innerLayoutArea.y, innerLayoutArea.width, innerLayoutArea.height);\n var image = this.objectValue;\n if (image.width <= innerLayoutArea.width) {\n imageBounds.width = image.width;\n }\n if (image.height <= innerLayoutArea.height) {\n imageBounds.height = image.height;\n }\n graphics.drawImage(this.objectValue, imageBounds.x, imageBounds.y, imageBounds.width, imageBounds.height);\n }\n else if (this.objectValue instanceof _annotations_pdf_text_web_link__WEBPACK_IMPORTED_MODULE_7__.PdfTextWebLink) {\n this.objectValue.draw(graphics.currentPage, innerLayoutArea);\n }\n else if (typeof this.objectValue === 'undefined') {\n this.objectValue = \"\";\n graphics.drawString(this.objectValue, font, textPen, textBrush, innerLayoutArea.x, innerLayoutArea.y, innerLayoutArea.width, innerLayoutArea.height, strFormat);\n if (this.style.cellPadding != null && this.style.cellPadding.bottom == 0 && this.style.cellPadding.left == 0 && this.style.cellPadding.right == 0 && this.style.cellPadding.top == 0) {\n bounds.width -= (this.style.borders.left.width + this.style.borders.right.width);\n }\n if (this.gridRow.grid.style.cellSpacing != 0) {\n bounds.width -= this.gridRow.grid.style.cellSpacing;\n }\n }\n if (this.style.borders != null) {\n if (!this.fontSpilt)\n this.drawCellBorders(graphics, bounds);\n else {\n if (this.row.grid.ParentCell.row.grid.splitChildRowIndex != -1) {\n this.row.rowFontSplit = false;\n this.drawCellBorders(graphics, bounds);\n }\n }\n }\n return result;\n };\n /* tslint:enable */\n /**\n * Draws the `cell border` constructed by drawing lines.\n * @private\n */\n PdfGridCell.prototype.drawCellBorders = function (graphics, bounds) {\n if (this.row.grid.style.borderOverlapStyle === _tables_light_tables_enum__WEBPACK_IMPORTED_MODULE_13__.PdfBorderOverlapStyle.Inside) {\n bounds.x += this.style.borders.left.width;\n bounds.y += this.style.borders.top.width;\n bounds.width -= this.style.borders.right.width;\n bounds.height -= this.style.borders.bottom.width;\n }\n var p1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x, bounds.y + bounds.height);\n var p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x, bounds.y);\n var pen = this.cellStyle.borders.left;\n if (this.cellStyle.borders.left.dashStyle === _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfDashStyle.Solid) {\n pen.lineCap = _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfLineCap.Square;\n }\n // SetTransparency(ref graphics, pen);\n if (pen.width !== 0) {\n graphics.drawLine(pen, p1, p2);\n }\n p1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x + bounds.width, bounds.y);\n p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x + bounds.width, bounds.y + bounds.height);\n pen = this.cellStyle.borders.right;\n if ((bounds.x + bounds.width) > (graphics.clientSize.width - (pen.width / 2))) {\n p1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(graphics.clientSize.width - (pen.width / 2), bounds.y);\n p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(graphics.clientSize.width - (pen.width / 2), bounds.y + bounds.height);\n }\n if (this.cellStyle.borders.right.dashStyle === _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfDashStyle.Solid) {\n pen.lineCap = _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfLineCap.Square;\n }\n if (pen.width !== 0) {\n graphics.drawLine(pen, p1, p2);\n }\n p1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x, bounds.y);\n p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x + bounds.width, bounds.y);\n pen = this.cellStyle.borders.top;\n if (this.cellStyle.borders.top.dashStyle === _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfDashStyle.Solid) {\n pen.lineCap = _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfLineCap.Square;\n }\n if (pen.width !== 0) {\n graphics.drawLine(pen, p1, p2);\n }\n p1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x + bounds.width, bounds.y + bounds.height);\n p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x, bounds.y + bounds.height);\n pen = this.cellStyle.borders.bottom;\n if ((bounds.y + bounds.height) > (graphics.clientSize.height - (pen.width / 2))) {\n p1 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF((bounds.x + bounds.width), (graphics.clientSize.height - (pen.width / 2)));\n p2 = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.PointF(bounds.x, (graphics.clientSize.height - (pen.width / 2)));\n }\n if (this.cellStyle.borders.bottom.dashStyle === _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfDashStyle.Solid) {\n pen.lineCap = _graphics_enum__WEBPACK_IMPORTED_MODULE_14__.PdfLineCap.Square;\n }\n if (pen.width !== 0) {\n graphics.drawLine(pen, p1, p2);\n }\n };\n // private setTransparency(graphics : PdfGraphics, pen : PdfPen) : void {\n // let alpha : number = (pen.color.a / 255) as number;\n // graphics.save();\n // graphics.setTransparency(alpha);\n // }\n /**\n * `Adjusts the outer layout area`.\n * @private\n */\n /* tslint:disable */\n PdfGridCell.prototype.adjustOuterLayoutArea = function (bounds, g) {\n var isHeader = false;\n var cellSpacing = this.row.grid.style.cellSpacing;\n if (cellSpacing > 0) {\n bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.RectangleF(bounds.x + cellSpacing, bounds.y + cellSpacing, bounds.width - cellSpacing, bounds.height - cellSpacing);\n }\n var currentColIndex = this.row.cells.indexOf(this);\n if (this.columnSpan > 1 || (this.row.rowOverflowIndex > 0 && (currentColIndex == this.row.rowOverflowIndex + 1) && this.isCellMergeContinue)) {\n var span = this.columnSpan;\n if (span == 1 && this.isCellMergeContinue) {\n for (var j = currentColIndex + 1; j < this.row.grid.columns.count; j++) {\n if (this.row.cells.getCell(j).isCellMergeContinue)\n span++;\n else\n break;\n }\n }\n var totalWidth = 0;\n for (var i = currentColIndex; i < currentColIndex + span; i++) {\n if (this.row.grid.style.allowHorizontalOverflow) {\n var width = void 0;\n var compWidth = this.row.grid.size.width < g.clientSize.width ? this.row.grid.size.width : g.clientSize.width;\n if (this.row.grid.size.width > g.clientSize.width) {\n width = bounds.x + totalWidth + this.row.grid.columns.getColumn(i).width;\n }\n else {\n width = totalWidth + this.row.grid.columns.getColumn(i).width;\n }\n if (width > compWidth) {\n break;\n }\n }\n totalWidth += this.row.grid.columns.getColumn(i).width;\n }\n totalWidth -= this.row.grid.style.cellSpacing;\n bounds.width = totalWidth;\n }\n if (this.rowSpan > 1 || this.row.rowSpanExists) {\n var span = this.rowSpan;\n var currentRowIndex = this.row.grid.rows.rowCollection.indexOf(this.row);\n if (currentRowIndex == -1) {\n currentRowIndex = this.row.grid.headers.indexOf(this.row);\n if (currentRowIndex != -1) {\n isHeader = true;\n }\n }\n // if (span == 1 && this.isCellMergeContinue) {\n // for (let j : number = currentRowIndex + 1; j < this.row.grid.rows.count; j++)\n // {\n // let flag : boolean = (isHeader ? this.row.grid.headers.getHeader(j).cells.getCell(currentColIndex).isCellMergeContinue : this.row.grid.rows.getRow(j).cells.getCell(currentColIndex).isCellMergeContinue);\n // if (flag)\n // span++;\n // else\n // break;\n // }\n // }\n var totalHeight = 0;\n var max = 0;\n for (var i = currentRowIndex; i < currentRowIndex + span; i++) {\n totalHeight += (isHeader ? this.row.grid.headers.getHeader(i).height : this.row.grid.rows.getRow(i).height);\n var row = this.row.grid.rows.getRow(i);\n var rowIndex = this.row.grid.rows.rowCollection.indexOf(row);\n /*if (this.rowSpan > 1)\n {\n for (let k : number = 0; k < this.row.cells.count; k++) {\n let cell : PdfGridCell = this.row.cells.getCell(k);\n if(cell.rowSpan>1)\n {\n let tempHeight : number =0;\n \n for (let j :number = i; j < i +cell.rowSpan; j++)\n {\n if (!this.row.grid.rows.getRow(j).isRowSpanRowHeightSet)\n this.row.grid.rows.getRow(j).isRowHeightSet = false;\n tempHeight += this.row.grid.rows.getRow(j).height;\n if (!this.row.grid.rows.getRow(j).isRowSpanRowHeightSet)\n this.row.grid.rows.getRow(j).isRowHeightSet = true;\n }\n //To check the Row spanned cell height is greater than the total spanned row height.\n if(cell.height>tempHeight)\n {\n if (max < (cell.height - tempHeight))\n {\n max = cell.height - tempHeight;\n if (this.rowSpanRemainingHeight != 0 && max > this.rowSpanRemainingHeight)\n {\n max += this.rowSpanRemainingHeight;\n }\n let index :number = row.cells.indexOf(cell);\n //set the m_rowspanRemainingHeight to last rowspanned row.\n this.row.grid.rows.getRow((rowIndex +cell.rowSpan) - 1).cells.getCell(index).rowSpanRemainingHeight = max;\n this.rowSpanRemainingHeight = this.row.grid.rows.getRow((rowIndex + cell.rowSpan) - 1).cells.getCell(index).rowSpanRemainingHeight;\n }\n }\n }\n }\n }\n if (!this.row.grid.rows.getRow(i).isRowSpanRowHeightSet)\n this.row.grid.rows.getRow(i).isRowHeightSet = true;*/\n }\n var cellIndex = this.row.cells.indexOf(this);\n totalHeight -= this.row.grid.style.cellSpacing;\n // if (this.row.cells.getCell(cellIndex).height > totalHeight && (!this.row.grid.rows.getRow((currentRowIndex + span) - 1).isRowHeightSet)) {\n // this.row.grid.rows.getRow((currentRowIndex + span) - 1).cells.getCell(cellIndex).rowSpanRemainingHeight = this.row.cells.getCell(cellIndex).height - totalHeight;\n // totalHeight = this.row.cells.getCell(cellIndex).height;\n // bounds.height = totalHeight;\n // } else {\n bounds.height = totalHeight;\n // }\n if (!this.row.rowMergeComplete) {\n bounds.height = totalHeight;\n }\n }\n return bounds;\n };\n /* tslint:enable */\n /**\n * Gets the `text font`.\n * @private\n */\n PdfGridCell.prototype.getTextFont = function () {\n if (typeof this.style.font !== 'undefined' && this.style.font != null) {\n return this.style.font;\n }\n else if (typeof this.row.style.font !== 'undefined' && this.row.style.font != null) {\n return this.row.style.font;\n }\n else if (typeof this.row.grid.style.font !== 'undefined' && this.row.grid.style.font != null) {\n return this.row.grid.style.font;\n }\n else {\n return _document_pdf_document__WEBPACK_IMPORTED_MODULE_15__.PdfDocument.defaultFont;\n }\n };\n /**\n * Gets the `text brush`.\n * @private\n */\n PdfGridCell.prototype.getTextBrush = function () {\n if (typeof this.style.textBrush !== 'undefined' && this.style.textBrush != null) {\n return this.style.textBrush;\n }\n else if (typeof this.row.style.textBrush !== 'undefined' && this.row.style.textBrush != null) {\n return this.row.style.textBrush;\n }\n else {\n return this.row.grid.style.textBrush;\n }\n };\n /**\n * Gets the `text pen`.\n * @private\n */\n PdfGridCell.prototype.getTextPen = function () {\n if (typeof this.style.textPen !== 'undefined' && this.style.textPen != null) {\n return this.style.textPen;\n }\n else if (typeof this.row.style.textPen !== 'undefined' && this.row.style.textPen != null) {\n return this.row.style.textPen;\n }\n else {\n return this.row.grid.style.textPen;\n }\n };\n /**\n * Gets the `background brush`.\n * @private\n */\n PdfGridCell.prototype.getBackgroundBrush = function () {\n if (typeof this.style.backgroundBrush !== 'undefined' && this.style.backgroundBrush != null) {\n return this.style.backgroundBrush;\n }\n else if (typeof this.row.style.backgroundBrush !== 'undefined' && this.row.style.backgroundBrush != null) {\n return this.row.style.backgroundBrush;\n }\n else {\n return this.row.grid.style.backgroundBrush;\n }\n };\n /**\n * Gets the `background image`.\n * @private\n */\n PdfGridCell.prototype.getBackgroundImage = function () {\n if (typeof this.style.backgroundImage !== 'undefined' && this.style.backgroundImage != null) {\n return this.style.backgroundImage;\n }\n else if (typeof this.row.style.backgroundImage !== 'undefined' && this.row.style.backgroundImage != null) {\n return this.row.style.backgroundImage;\n }\n else {\n return this.row.grid.style.backgroundImage;\n }\n };\n /**\n * Gets the current `StringFormat`.\n * @private\n */\n PdfGridCell.prototype.getStringFormat = function () {\n if (typeof this.style.stringFormat !== 'undefined' && this.style.stringFormat != null) {\n return this.style.stringFormat;\n }\n else {\n return this.stringFormat;\n }\n };\n /**\n * Calculates the `height`.\n * @private\n */\n PdfGridCell.prototype.measureHeight = function () {\n // .. Calculate the cell text height.\n // .....Add border widths, cell spacings and paddings to the height.\n var width = this.calculateWidth();\n // //check whether the Current PdfGridCell has padding\n if (this.style.cellPadding == null || typeof this.style.cellPadding === 'undefined') {\n width -= (this.gridRow.grid.style.cellPadding.right + this.gridRow.grid.style.cellPadding.left);\n //width -= (this.style.borders.left.width + this.style.borders.right.width);\n }\n else {\n width -= (this.style.cellPadding.right + this.style.cellPadding.left);\n width -= (this.style.borders.left.width + this.style.borders.right.width);\n }\n var height = 0;\n var layouter = new _graphics_fonts_string_layouter__WEBPACK_IMPORTED_MODULE_3__.PdfStringLayouter();\n if (typeof this.objectValue === 'string' || typeof this.remaining === 'string') {\n var currentValue = this.objectValue;\n /* tslint:disable */\n if (!this.isFinish)\n currentValue = !(this.remaining === null || this.remaining === '' ||\n typeof this.remaining === 'undefined') ? this.remaining : this.objectValue;\n var slr = null;\n var cellIndex = this.row.cells.indexOf(this);\n if (this.gridRow.grid.style.cellSpacing != 0) {\n width -= this.gridRow.grid.style.cellSpacing * 2;\n }\n if (!this.row.cells.getCell(cellIndex).hasColSpan && !this.row.cells.getCell(cellIndex).hasRowSpan) {\n if (this.gridRow.grid.isChildGrid) {\n if (width < 0) {\n this.tempval = width;\n if (this.style.cellPadding == null || typeof this.style.cellPadding === 'undefined') {\n this.tempval += (this.gridRow.grid.style.cellPadding.right + this.gridRow.grid.style.cellPadding.left);\n }\n else {\n this.tempval += (this.style.cellPadding.right + this.style.cellPadding.left);\n this.tempval += (this.style.borders.left.width + this.style.borders.right.width);\n }\n }\n else {\n this.tempval = width;\n }\n slr = layouter.layout(currentValue, this.getTextFont(), this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(this.tempval, 0), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0));\n height += slr.actualSize.height;\n }\n else {\n slr = layouter.layout(currentValue, this.getTextFont(), this.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(width, 0), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0));\n height += slr.actualSize.height;\n }\n }\n /* tslint:enable */\n height += (this.style.borders.top.width + this.style.borders.bottom.width) * 2;\n }\n else if (this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid) {\n var cellIndex = this.row.cells.indexOf(this);\n var internalWidth = 0;\n if ((this.style.cellPadding != null || typeof this.style.cellPadding !== 'undefined')) {\n internalWidth = this.calculateWidth();\n if (typeof this.style.cellPadding.left !== 'undefined' && this.style.cellPadding.hasLeftPad) {\n internalWidth -= this.style.cellPadding.left;\n }\n if (typeof this.style.cellPadding.right !== 'undefined' && this.style.cellPadding.hasRightPad) {\n internalWidth -= this.style.cellPadding.right;\n }\n }\n else if ((this.row.grid.style.cellPadding != null || typeof this.row.grid.style.cellPadding !== 'undefined')) {\n internalWidth = this.calculateWidth();\n if (typeof this.row.grid.style.cellPadding.left !== 'undefined' && this.row.grid.style.cellPadding.hasLeftPad) {\n internalWidth -= this.row.grid.style.cellPadding.left;\n }\n if (typeof this.row.grid.style.cellPadding.right !== 'undefined' && this.row.grid.style.cellPadding.hasRightPad) {\n internalWidth -= this.row.grid.style.cellPadding.right;\n }\n }\n else {\n internalWidth = this.calculateWidth();\n }\n this.objectValue.tempWidth = internalWidth;\n if (!this.row.cells.getCell(cellIndex).hasColSpan && !this.row.cells.getCell(cellIndex).hasRowSpan) {\n height = this.objectValue.size.height;\n }\n else {\n height += (this.style.borders.top.width + this.style.borders.bottom.width) * 2;\n }\n if (this.gridRow.grid.style.cellSpacing !== 0) {\n width -= this.gridRow.grid.style.cellSpacing * 2;\n //height += (this.row.grid.style.cellPadding.top + this.row.grid.style.cellPadding.bottom);\n }\n if (this.style.cellPadding != null || typeof this.style.cellPadding !== 'undefined') {\n if (typeof this.row.grid.style.cellPadding.top !== 'undefined' && this.row.grid.style.cellPadding.hasTopPad) {\n height += this.row.grid.style.cellPadding.top;\n }\n if (this.row.grid.style.cellPadding.hasBottomPad && typeof this.row.grid.style.cellPadding.bottom !== 'undefined') {\n height += this.row.grid.style.cellPadding.bottom;\n }\n }\n height += this.objectValue.style.cellSpacing;\n }\n else if (this.objectValue instanceof _graphics_images_pdf_image__WEBPACK_IMPORTED_MODULE_5__.PdfImage || this.objectValue instanceof _graphics_images_pdf_bitmap__WEBPACK_IMPORTED_MODULE_6__.PdfBitmap) {\n height += this.objectValue.height;\n }\n else if (this.objectValue instanceof _annotations_pdf_text_web_link__WEBPACK_IMPORTED_MODULE_7__.PdfTextWebLink) {\n var webLink = this.objectValue;\n /* tslint:disable */\n var slr = layouter.layout(webLink.text, webLink.font, webLink.stringFormat, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(width, 0), false, new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_4__.SizeF(0, 0));\n /* tslint:enable */\n height += slr.actualSize.height;\n height += (this.style.borders.top.width + this.style.borders.bottom.width) * 2;\n }\n else if (typeof this.objectValue === 'undefined') {\n if (this.style.cellPadding == null || typeof this.style.cellPadding === 'undefined') {\n width -= (this.gridRow.grid.style.cellPadding.right + this.gridRow.grid.style.cellPadding.left);\n }\n else {\n width -= (this.style.cellPadding.right + this.style.cellPadding.left);\n width -= (this.style.borders.left.width + this.style.borders.right.width);\n }\n height += (this.style.borders.top.width + this.style.borders.bottom.width) * 2;\n }\n //Add padding top and bottom value to height\n if (!(this.objectValue instanceof _pdf_grid__WEBPACK_IMPORTED_MODULE_1__.PdfGrid)) {\n if (this.style.cellPadding == null || typeof this.style.cellPadding === 'undefined') {\n height += (this.row.grid.style.cellPadding.top + this.row.grid.style.cellPadding.bottom);\n }\n else {\n height += (this.style.cellPadding.top + this.style.cellPadding.bottom);\n }\n }\n else {\n if (this.style.cellPadding == null || typeof this.style.cellPadding === 'undefined') {\n if (typeof this.row.grid.style.cellPadding.top !== 'undefined' && this.row.grid.style.cellPadding.hasTopPad) {\n height += this.row.grid.style.cellPadding.top;\n }\n if (typeof this.row.grid.style.cellPadding.bottom !== 'undefined' && this.row.grid.style.cellPadding.hasBottomPad) {\n height += this.row.grid.style.cellPadding.bottom;\n }\n }\n else {\n if (typeof this.style.cellPadding.top !== 'undefined' && this.style.cellPadding.hasTopPad) {\n height += this.style.cellPadding.top;\n }\n if (typeof this.style.cellPadding.bottom !== 'undefined' && this.style.cellPadding.hasBottomPad) {\n height += this.style.cellPadding.bottom;\n }\n }\n }\n height += this.row.grid.style.cellSpacing;\n return height;\n };\n /**\n * return the calculated `width` of the cell.\n * @private\n */\n PdfGridCell.prototype.calculateWidth = function () {\n var cellIndex = this.row.cells.indexOf(this);\n var rowindex = this.row.grid.rows.rowCollection.indexOf(this.row);\n var columnSpan = this.columnSpan;\n var width = 0;\n if (columnSpan === 1) {\n for (var i = 0; i < columnSpan; i++) {\n width += this.row.grid.columns.getColumn(cellIndex + i).width;\n }\n }\n else if (columnSpan > 1) {\n for (var i = 0; i < columnSpan; i++) {\n width += this.row.grid.columns.getColumn(cellIndex + i).width;\n if ((i + 1) < columnSpan) {\n this.row.cells.getCell(cellIndex + i + 1).hasColSpan = true;\n }\n }\n }\n if (this.parent != null && this.parent.row.width > 0) {\n if ((this.row.grid.isChildGrid) && this.parent != null && (this.row.width > this.parent.row.width)) {\n width = 0;\n for (var j = 0; j < this.parent.columnSpan; j++) {\n width += this.parent.row.grid.columns.getColumn(j).width;\n }\n width = width / this.row.cells.count;\n }\n }\n return width;\n };\n return PdfGridCell;\n}());\n\n/**\n * `PdfGridCellCollection` class provides access to an ordered,\n * strongly typed collection of 'PdfGridCell' objects.\n * @private\n */\nvar PdfGridCellCollection = /** @class */ (function () {\n //Constructor\n /**\n * Initializes a new instance of the `PdfGridCellCollection` class with the row.\n * @private\n */\n function PdfGridCellCollection(row) {\n /**\n * @hidden\n * @private\n */\n this.cells = [];\n this.gridRow = row;\n }\n //Properties\n /**\n * Gets the current `cell`.\n * @private\n */\n PdfGridCellCollection.prototype.getCell = function (index) {\n if (index < 0 || index >= this.count) {\n throw new Error('IndexOutOfRangeException');\n }\n return this.cells[index];\n };\n Object.defineProperty(PdfGridCellCollection.prototype, \"count\", {\n /**\n * Gets the cells `count`.[Read-Only].\n * @private\n */\n get: function () {\n return this.cells.length;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridCellCollection.prototype.add = function (cell) {\n if (typeof cell === 'undefined') {\n var tempcell = new PdfGridCell();\n this.add(tempcell);\n return cell;\n }\n else {\n cell.row = this.gridRow;\n this.cells.push(cell);\n }\n };\n /**\n * Returns the `index of` a particular cell in the collection.\n * @private\n */\n PdfGridCellCollection.prototype.indexOf = function (cell) {\n return this.cells.indexOf(cell);\n };\n return PdfGridCellCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-cell.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-column.js": +/*!****************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-column.js ***! + \****************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGridColumn: () => (/* binding */ PdfGridColumn),\n/* harmony export */ PdfGridColumnCollection: () => (/* binding */ PdfGridColumnCollection)\n/* harmony export */ });\n/* harmony import */ var _pdf_grid_cell__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-grid-cell */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-cell.js\");\n/* harmony import */ var _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../graphics/fonts/pdf-string-format */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.js\");\n\n\n/**\n * `PdfGridColumn` class represents the schema of a column in a 'PdfGrid'.\n */\nvar PdfGridColumn = /** @class */ (function () {\n //Constructors\n /**\n * Initializes a new instance of the `PdfGridColumn` class with the parent grid.\n * @private\n */\n function PdfGridColumn(grid) {\n /**\n * The `width` of the column.\n * @default 0\n * @private\n */\n this.columnWidth = 0;\n this.grid = grid;\n }\n Object.defineProperty(PdfGridColumn.prototype, \"width\", {\n /**\n * Gets or sets the `width` of the 'PdfGridColumn'.\n * @private\n */\n get: function () {\n return this.columnWidth;\n },\n set: function (value) {\n this.isCustomWidth = true;\n this.columnWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridColumn.prototype, \"format\", {\n /**\n * Gets or sets the information about the text `formatting`.\n * @private\n */\n get: function () {\n if (this.stringFormat == null) {\n this.stringFormat = new _graphics_fonts_pdf_string_format__WEBPACK_IMPORTED_MODULE_0__.PdfStringFormat(); //GetDefaultFormat();\n }\n return this.stringFormat;\n },\n set: function (value) {\n this.stringFormat = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridColumn;\n}());\n\n/**\n * `PdfGridColumnCollection` class provides access to an ordered,\n * strongly typed collection of 'PdfGridColumn' objects.\n * @private\n */\nvar PdfGridColumnCollection = /** @class */ (function () {\n //properties\n //Constructors\n /**\n * Initializes a new instance of the `PdfGridColumnCollection` class with the parent grid.\n * @private\n */\n function PdfGridColumnCollection(grid) {\n /**\n * @hidden\n * @private\n */\n this.internalColumns = [];\n /**\n * @hidden\n * @private\n */\n this.columnWidth = 0;\n this.grid = grid;\n this.internalColumns = [];\n }\n //Iplementation\n /**\n * `Add` a new column to the 'PdfGrid'.\n * @private\n */\n PdfGridColumnCollection.prototype.add = function (count) {\n // public add(column : PdfGridColumn) : void\n // public add(arg : number|PdfGridColumn) : void {\n // if (typeof arg === 'number') {\n for (var i = 0; i < count; i++) {\n this.internalColumns.push(new PdfGridColumn(this.grid));\n for (var index = 0; index < this.grid.rows.count; index++) {\n var row = this.grid.rows.getRow(index);\n var cell = new _pdf_grid_cell__WEBPACK_IMPORTED_MODULE_1__.PdfGridCell();\n cell.value = '';\n row.cells.add(cell);\n }\n }\n // } else {\n // let column : PdfGridColumn = new PdfGridColumn(this.grid);\n // this.columns.push(column);\n // return column;\n // }\n };\n Object.defineProperty(PdfGridColumnCollection.prototype, \"count\", {\n /**\n * Gets the `number of columns` in the 'PdfGrid'.[Read-Only].\n * @private\n */\n get: function () {\n return this.internalColumns.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridColumnCollection.prototype, \"width\", {\n /**\n * Gets the `widths`.\n * @private\n */\n get: function () {\n if (this.columnWidth === 0) {\n this.columnWidth = this.measureColumnsWidth();\n }\n if (this.grid.initialWidth !== 0 && this.columnWidth !== this.grid.initialWidth && !this.grid.style.allowHorizontalOverflow) {\n this.columnWidth = this.grid.initialWidth;\n this.grid.isPageWidth = true;\n }\n return this.columnWidth;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridColumnCollection.prototype, \"columns\", {\n /**\n * Gets the `array of PdfGridColumn`.[Read-Only]\n * @private\n */\n get: function () {\n return this.internalColumns;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Gets the `PdfGridColumn` from the specified index.[Read-Only]\n * @private\n */\n PdfGridColumnCollection.prototype.getColumn = function (index) {\n if (index >= 0 && index <= this.columns.length) {\n return this.columns[index];\n }\n else {\n throw Error('can not get the column from the index: ' + index);\n }\n };\n //Implementation\n /**\n * `Calculates the column widths`.\n * @private\n */\n PdfGridColumnCollection.prototype.measureColumnsWidth = function () {\n var totalWidth = 0;\n this.grid.measureColumnsWidth();\n for (var i = 0, count = this.internalColumns.length; i < count; i++) {\n totalWidth += this.internalColumns[i].width;\n }\n return totalWidth;\n };\n /**\n * Gets the `widths of the columns`.\n * @private\n */\n PdfGridColumnCollection.prototype.getDefaultWidths = function (totalWidth) {\n var widths = [];\n var summ = 0.0;\n var subFactor = this.count;\n for (var i = 0; i < this.count; i++) {\n if (this.grid.isPageWidth && totalWidth >= 0 && !this.internalColumns[i].isCustomWidth) {\n this.internalColumns[i].width = 0;\n }\n else {\n widths[i] = this.internalColumns[i].width;\n if (this.internalColumns[i].width > 0 && this.internalColumns[i].isCustomWidth) {\n totalWidth -= this.internalColumns[i].width;\n subFactor--;\n }\n else {\n widths[i] = 0;\n }\n }\n }\n for (var i = 0; i < this.count; i++) {\n var width = totalWidth / subFactor;\n if (widths[i] <= 0) {\n widths[i] = width;\n }\n }\n return widths;\n };\n return PdfGridColumnCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-column.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-row.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-row.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGridHeaderCollection: () => (/* binding */ PdfGridHeaderCollection),\n/* harmony export */ PdfGridRow: () => (/* binding */ PdfGridRow),\n/* harmony export */ PdfGridRowCollection: () => (/* binding */ PdfGridRowCollection)\n/* harmony export */ });\n/* harmony import */ var _pdf_grid_cell__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pdf-grid-cell */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-cell.js\");\n/* harmony import */ var _styles_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles/style */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js\");\n\n\n/**\n * `PdfGridRow` class provides customization of the settings for the particular row.\n */\nvar PdfGridRow = /** @class */ (function () {\n //Constructor\n /**\n * Initializes a new instance of the `PdfGridRow` class with the parent grid.\n * @private\n */\n function PdfGridRow(grid) {\n /**\n * Stores the index of the overflowing row.\n * @private\n */\n this.gridRowOverflowIndex = 0;\n /**\n * The `height` of the row.\n * @private\n */\n this.rowHeight = 0;\n /**\n * The `width` of the row.\n * @private\n */\n this.rowWidth = 0;\n /**\n * The `isFinish` of the row.\n * @private\n */\n this.isrowFinish = false;\n /**\n * Check whether the Row span row height `is set explicitly`.\n * @default false\n * @public\n */\n this.isRowSpanRowHeightSet = false;\n /**\n * The `page count` of the row.\n * @public\n */\n this.noOfPageCount = 0;\n /**\n * Check whether the row height `is set explicitly`.\n * @default false\n * @private\n */\n this.isRowHeightSet = false;\n this.isPageBreakRowSpanApplied = false;\n /**\n * Check weather the row merge `is completed` or not.\n * @default true\n * @private\n */\n this.isRowMergeComplete = true;\n this.repeatFlag = false;\n this.rowFontSplit = false;\n this.isHeaderRow = false;\n this.pdfGrid = grid;\n }\n Object.defineProperty(PdfGridRow.prototype, \"rowSpanExists\", {\n //Properties\n /**\n * Gets or sets a value indicating [`row span exists`].\n * @private\n */\n get: function () {\n return this.bRowSpanExists;\n },\n set: function (value) {\n this.bRowSpanExists = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"cells\", {\n /**\n * Gets the `cells` from the selected row.[Read-Only].\n * @private\n */\n get: function () {\n if (this.gridCells == null) {\n this.gridCells = new _pdf_grid_cell__WEBPACK_IMPORTED_MODULE_0__.PdfGridCellCollection(this);\n }\n return this.gridCells;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"grid\", {\n /**\n * Gets or sets the parent `grid`.\n * @private\n */\n get: function () {\n return this.pdfGrid;\n },\n set: function (value) {\n this.pdfGrid = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"style\", {\n /**\n * Gets or sets the row `style`.\n * @private\n */\n get: function () {\n if (typeof this.rowStyle === 'undefined') {\n this.rowStyle = new _styles_style__WEBPACK_IMPORTED_MODULE_1__.PdfGridRowStyle();\n this.rowStyle.setParent(this);\n }\n return this.rowStyle;\n },\n set: function (value) {\n this.rowStyle = value;\n for (var i = 0; i < this.cells.count; i++) {\n this.cells.getCell(i).style.borders = value.border;\n if (typeof value.font !== 'undefined') {\n this.cells.getCell(i).style.font = value.font;\n }\n if (typeof value.backgroundBrush !== 'undefined') {\n this.cells.getCell(i).style.backgroundBrush = value.backgroundBrush;\n }\n if (typeof value.backgroundImage !== 'undefined') {\n this.cells.getCell(i).style.backgroundImage = value.backgroundImage;\n }\n if (typeof value.textBrush !== 'undefined') {\n this.cells.getCell(i).style.textBrush = value.textBrush;\n }\n if (typeof value.textPen !== 'undefined') {\n this.cells.getCell(i).style.textPen = value.textPen;\n }\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"rowBreakHeight\", {\n /**\n * `Height` of the row yet to be drawn after split.\n * @private\n */\n get: function () {\n if (typeof this.gridRowBreakHeight === 'undefined') {\n this.gridRowBreakHeight = 0;\n }\n return this.gridRowBreakHeight;\n },\n set: function (value) {\n this.gridRowBreakHeight = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"rowOverflowIndex\", {\n /**\n * `over flow index` of the row.\n * @private\n */\n get: function () {\n return this.gridRowOverflowIndex;\n },\n set: function (value) {\n this.gridRowOverflowIndex = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"height\", {\n /**\n * Gets or sets the `height` of the row.\n * @private\n */\n get: function () {\n if (!this.isRowHeightSet) {\n this.rowHeight = this.measureHeight();\n }\n return this.rowHeight;\n },\n set: function (value) {\n this.rowHeight = value;\n this.isRowHeightSet = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"width\", {\n /**\n * Gets or sets the `width` of the row.\n * @private\n */\n get: function () {\n if (this.rowWidth === 0 || typeof this.rowWidth === 'undefined') {\n this.rowWidth = this.measureWidth();\n }\n return this.rowWidth;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"NestedGridLayoutResult\", {\n /**\n * Gets or sets the row `Nested grid Layout Result`.\n * @private\n */\n get: function () {\n return this.gridResult;\n },\n set: function (value) {\n this.gridResult = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"columnSpanExists\", {\n /**\n * Gets or sets a value indicating [`column span exists`].\n * @private\n */\n get: function () {\n return this.bColumnSpanExists;\n },\n set: function (value) {\n this.bColumnSpanExists = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"rowMergeComplete\", {\n /**\n * Check whether the Row `has row span or row merge continue`.\n * @private\n */\n get: function () {\n return this.isRowMergeComplete;\n },\n set: function (value) {\n this.isRowMergeComplete = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRow.prototype, \"rowIndex\", {\n /**\n * Returns `index` of the row.\n * @private\n */\n get: function () {\n return this.grid.rows.rowCollection.indexOf(this);\n },\n enumerable: true,\n configurable: true\n });\n //Implementation\n /**\n * `Calculates the height`.\n * @private\n */\n PdfGridRow.prototype.measureHeight = function () {\n var rowSpanRemainingHeight = 0;\n var rowHeight;\n var maxHeight = 0;\n if (this.cells.getCell(0).rowSpan > 1) {\n rowHeight = 0;\n }\n else {\n rowHeight = this.cells.getCell(0).height;\n }\n for (var i = 0; i < this.cells.count; i++) {\n var cell = this.cells.getCell(i);\n //get the maximum rowspan remaining height.\n if (cell.rowSpanRemainingHeight > rowSpanRemainingHeight) {\n rowSpanRemainingHeight = cell.rowSpanRemainingHeight;\n }\n //skip the cell if row spanned.\n // if (cell.isRowMergeContinue) {\n // continue;\n // }\n // if (!cell.isRowMergeContinue) {\n // this.rowMergeComplete = false;\n // }\n this.rowMergeComplete = false;\n if (cell.rowSpan > 1) {\n var cellIn = i;\n var rowin = this.isHeaderRow ? this.grid.headers.indexOf(this) : this.grid.rows.rowCollection.indexOf(this);\n for (var j = 0; j < cell.rowSpan; j++) {\n if ((j + 1) < cell.rowSpan) {\n (this.isHeaderRow ? this.grid.headers.getHeader(rowin + j + 1) : this.grid.rows.getRow(rowin + j + 1)).cells.getCell(cellIn).hasRowSpan = true;\n }\n }\n if (maxHeight < cell.height) {\n maxHeight = cell.height;\n }\n continue;\n }\n rowHeight = Math.max(rowHeight, cell.height);\n }\n if (maxHeight > rowHeight) {\n rowHeight = maxHeight;\n }\n if (rowHeight === 0) {\n rowHeight = maxHeight;\n }\n else if (rowSpanRemainingHeight > 0) {\n rowHeight += rowSpanRemainingHeight;\n }\n return rowHeight;\n };\n PdfGridRow.prototype.measureWidth = function () {\n var rowWid = 0;\n for (var i = 0; i < this.grid.columns.count; i++) {\n var column = this.grid.columns.getColumn(i);\n rowWid += column.width;\n }\n return rowWid;\n };\n return PdfGridRow;\n}());\n\n/**\n * `PdfGridRowCollection` class provides access to an ordered, strongly typed collection of 'PdfGridRow' objects.\n * @private\n */\nvar PdfGridRowCollection = /** @class */ (function () {\n // Constructor\n /**\n * Initializes a new instance of the `PdfGridRowCollection` class with the parent grid.\n * @private\n */\n function PdfGridRowCollection(grid) {\n this.rows = [];\n this.grid = grid;\n }\n Object.defineProperty(PdfGridRowCollection.prototype, \"count\", {\n //Properties\n /**\n * Gets the number of header in the `PdfGrid`.[Read-Only].\n * @private\n */\n get: function () {\n return this.rows.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridRowCollection.prototype, \"rowCollection\", {\n //Implementation\n /**\n * Return the row collection of the `grid`.\n * @private\n */\n get: function () {\n return this.rows;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridRowCollection.prototype.addRow = function (arg) {\n if (typeof arg === 'undefined') {\n var temprow = new PdfGridRow(this.grid);\n this.addRow(temprow);\n return temprow;\n }\n else {\n arg.style.setBackgroundBrush(this.grid.style.backgroundBrush);\n arg.style.setFont(this.grid.style.font);\n arg.style.setTextBrush(this.grid.style.textBrush);\n arg.style.setTextPen(this.grid.style.textPen);\n if (arg.cells.count === 0) {\n for (var i = 0; i < this.grid.columns.count; i++) {\n arg.cells.add(new _pdf_grid_cell__WEBPACK_IMPORTED_MODULE_0__.PdfGridCell());\n }\n }\n this.rows.push(arg);\n }\n };\n /**\n * Return the row by index.\n * @private\n */\n PdfGridRowCollection.prototype.getRow = function (index) {\n return this.rows[index];\n };\n return PdfGridRowCollection;\n}());\n\n/**\n * `PdfGridHeaderCollection` class provides customization of the settings for the header.\n * @private\n */\nvar PdfGridHeaderCollection = /** @class */ (function () {\n //constructor\n /**\n * Initializes a new instance of the `PdfGridHeaderCollection` class with the parent grid.\n * @private\n */\n function PdfGridHeaderCollection(grid) {\n /**\n * The array to store the `rows` of the grid header.\n * @private\n */\n this.rows = [];\n this.grid = grid;\n this.rows = [];\n }\n //Properties\n /**\n * Gets a 'PdfGridRow' object that represents the `header` row in a 'PdfGridHeaderCollection' control.[Read-Only].\n * @private\n */\n PdfGridHeaderCollection.prototype.getHeader = function (index) {\n // if (index < 0 || index >= Count) {\n // throw new IndexOutOfRangeException();\n // }\n return (this.rows[index]);\n };\n Object.defineProperty(PdfGridHeaderCollection.prototype, \"count\", {\n /**\n * Gets the `number of header` in the 'PdfGrid'.[Read-Only]\n * @private\n */\n get: function () {\n return this.rows.length;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridHeaderCollection.prototype.add = function (arg) {\n if (typeof arg === 'number') {\n var row = void 0;\n for (var i = 0; i < arg; i++) {\n row = new PdfGridRow(this.grid);\n row.isHeaderRow = true;\n for (var j = 0; j < this.grid.columns.count; j++) {\n row.cells.add(new _pdf_grid_cell__WEBPACK_IMPORTED_MODULE_0__.PdfGridCell());\n }\n this.rows.push(row);\n }\n return this.rows;\n }\n else {\n this.rows.push(arg);\n }\n };\n PdfGridHeaderCollection.prototype.indexOf = function (row) {\n return this.rows.indexOf(row);\n };\n return PdfGridHeaderCollection;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-row.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGrid: () => (/* binding */ PdfGrid)\n/* harmony export */ });\n/* harmony import */ var _pdf_grid_column__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-grid-column */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-column.js\");\n/* harmony import */ var _pdf_grid_row__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf-grid-row */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-row.js\");\n/* harmony import */ var _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../drawing/pdf-drawing */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.js\");\n/* harmony import */ var _graphics_figures_layout_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./../../graphics/figures/layout-element */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.js\");\n/* harmony import */ var _graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./../../graphics/figures/base/element-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.js\");\n/* harmony import */ var _styles_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles/style */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js\");\n/* harmony import */ var _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles/pdf-borders */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js\");\n/* harmony import */ var _structured_elements_grid_layout_grid_layouter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../../structured-elements/grid/layout/grid-layouter */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * PdfGrid.ts class for EJ2-PDF\n */\n\n\n\n\n\n\n\n\nvar PdfGrid = /** @class */ (function (_super) {\n __extends(PdfGrid, _super);\n //constructor\n /**\n * Initialize a new instance for `PdfGrid` class.\n * @private\n */\n function PdfGrid() {\n var _this = _super.call(this) || this;\n /**\n * @hidden\n * @private\n */\n _this.gridSize = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(0, 0);\n /**\n * Check the child grid is ' split or not'\n */\n _this.isGridSplit = false;\n /**\n * @hidden\n * @private\n */\n _this.isRearranged = false;\n /**\n * @hidden\n * @private\n */\n _this.pageBounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF();\n /**\n * @hidden\n * @private\n */\n _this.listOfNavigatePages = [];\n /**\n * @hidden\n * @private\n */\n _this.parentCellIndex = 0;\n _this.tempWidth = 0;\n /**\n * @hidden\n * @private\n */\n _this.breakRow = true;\n _this.splitChildRowIndex = -1;\n /**\n * The event raised on `begin cell lay outing`.\n * @event\n * @private\n */\n //public beginPageLayout : Function;\n /**\n * The event raised on `end cell lay outing`.\n * @event\n * @private\n */\n //public endPageLayout : Function;\n _this.hasRowSpanSpan = false;\n _this.hasColumnSpan = false;\n _this.isSingleGrid = true;\n return _this;\n }\n Object.defineProperty(PdfGrid.prototype, \"raiseBeginCellDraw\", {\n //Properties\n /**\n * Gets a value indicating whether the `start cell layout event` should be raised.\n * @private\n */\n get: function () {\n return (typeof this.beginCellDraw !== 'undefined' && typeof this.beginCellDraw !== null);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"raiseEndCellDraw\", {\n /**\n * Gets a value indicating whether the `end cell layout event` should be raised.\n * @private\n */\n get: function () {\n return (typeof this.endCellDraw !== 'undefined' && typeof this.endCellDraw !== null);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"repeatHeader\", {\n /**\n * Gets or sets a value indicating whether to `repeat header`.\n * @private\n */\n get: function () {\n if (this.bRepeatHeader == null || typeof this.bRepeatHeader === 'undefined') {\n this.bRepeatHeader = false;\n }\n return this.bRepeatHeader;\n },\n set: function (value) {\n this.bRepeatHeader = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"allowRowBreakAcrossPages\", {\n /**\n * Gets or sets a value indicating whether to split or cut rows that `overflow a page`.\n * @private\n */\n get: function () {\n return this.breakRow;\n },\n set: function (value) {\n this.breakRow = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"columns\", {\n /**\n * Gets the `column` collection of the PdfGrid.[Read-Only]\n * @private\n */\n get: function () {\n if (this.gridColumns == null || typeof this.gridColumns === 'undefined') {\n this.gridColumns = new _pdf_grid_column__WEBPACK_IMPORTED_MODULE_1__.PdfGridColumnCollection(this);\n }\n return this.gridColumns;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"rows\", {\n /**\n * Gets the `row` collection from the PdfGrid.[Read-Only]\n * @private\n */\n get: function () {\n if (this.gridRows == null) {\n this.gridRows = new _pdf_grid_row__WEBPACK_IMPORTED_MODULE_2__.PdfGridRowCollection(this);\n }\n return this.gridRows;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"headers\", {\n /**\n * Gets the `headers` collection from the PdfGrid.[Read-Only]\n * @private\n */\n get: function () {\n if (this.gridHeaders == null || typeof this.gridHeaders === 'undefined') {\n this.gridHeaders = new _pdf_grid_row__WEBPACK_IMPORTED_MODULE_2__.PdfGridHeaderCollection(this);\n }\n return this.gridHeaders;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"initialWidth\", {\n /**\n * Indicating `initial width` of the page.\n * @private\n */\n get: function () {\n return this.gridInitialWidth;\n },\n set: function (value) {\n this.gridInitialWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"style\", {\n /**\n * Gets or sets the `grid style`.\n * @private\n */\n get: function () {\n if (this.gridStyle == null) {\n this.gridStyle = new _styles_style__WEBPACK_IMPORTED_MODULE_3__.PdfGridStyle();\n }\n return this.gridStyle;\n },\n set: function (value) {\n if (this.gridStyle == null) {\n this.gridStyle = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"isPageWidth\", {\n /**\n * Gets a value indicating whether the grid column width is considered to be `page width`.\n * @private\n */\n get: function () {\n return this.ispageWidth;\n },\n set: function (value) {\n this.ispageWidth = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"isChildGrid\", {\n /**\n * Gets or set if grid `is nested grid`.\n * @private\n */\n get: function () {\n return this.ischildGrid;\n },\n set: function (value) {\n this.ischildGrid = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"size\", {\n /**\n * Gets or set if grid ' is split or not'\n * @public\n */\n // public get isGridSplit() : boolean {\n // return this.isgridSplit;\n // }\n // public set isGridSplit(value : boolean) {\n // this.isgridSplit = value;\n // }public get isGridSplit() : boolean {\n // return this.isgridSplit;\n // }\n // public set isGridSplit(value : boolean) {\n // this.isgridSplit = value;\n // }\n /**\n * Gets the `size`.\n * @private\n */\n get: function () {\n if ((this.gridSize.width === 0 || typeof this.gridSize.width === 'undefined') && this.gridSize.height === 0) {\n this.gridSize = this.measure();\n }\n return this.gridSize;\n // } else {\n // return this.gridSize;\n // }\n },\n set: function (value) {\n this.gridSize = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"ParentCell\", {\n get: function () {\n return this.parentCell;\n },\n set: function (value) {\n this.parentCell = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGrid.prototype, \"LayoutFormat\", {\n get: function () {\n return this.layoutFormat;\n },\n enumerable: true,\n configurable: true\n });\n PdfGrid.prototype.draw = function (arg1, arg2, arg3, arg4) {\n if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && typeof arg2.width === 'undefined' && typeof arg3 === 'undefined') {\n return this.drawHelper(arg1, arg2.x, arg2.y);\n }\n else if (typeof arg2 === 'number' && typeof arg3 === 'number' && typeof arg4 === 'undefined') {\n return this.drawHelper(arg1, arg2, arg3, null);\n }\n else if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF && typeof arg2.width !== 'undefined' && typeof arg3 === 'undefined') {\n return this.drawHelper(arg1, arg2, null);\n }\n else if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.PointF && typeof arg2.width === 'undefined' && arg3 instanceof _graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_4__.PdfLayoutFormat) {\n return this.drawHelper(arg1, arg2.x, arg2.y, arg3);\n }\n else if (typeof arg2 === 'number' && typeof arg3 === 'number' && (arg4 instanceof _graphics_figures_base_element_layouter__WEBPACK_IMPORTED_MODULE_4__.PdfLayoutFormat || arg4 == null)) {\n var width = (arg1.graphics.clientSize.width - arg2);\n var layoutRectangle = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(arg2, arg3, width, 0);\n return this.drawHelper(arg1, layoutRectangle, arg4);\n }\n else if (arg2 instanceof _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF && typeof arg2.width !== 'undefined' && typeof arg3 === 'boolean') {\n return this.drawHelper(arg1, arg2, null);\n }\n else {\n return this.drawHelper(arg1, arg2, arg3);\n }\n };\n /**\n * `measures` this instance.\n * @private\n */\n PdfGrid.prototype.measure = function () {\n var height = 0;\n var width = this.columns.width;\n for (var i = 0; i < this.headers.count; i++) {\n var row = this.headers.getHeader(i);\n height += row.height;\n }\n for (var i = 0; i < this.rows.count; i++) {\n var row = this.rows.getRow(i);\n height += row.height;\n }\n return new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.SizeF(width, height);\n };\n PdfGrid.prototype.onBeginCellDraw = function (args) {\n if (this.raiseBeginCellDraw) {\n this.beginCellDraw(this, args);\n }\n };\n PdfGrid.prototype.onEndCellDraw = function (args) {\n if (this.raiseEndCellDraw) {\n this.endCellDraw(this, args);\n }\n };\n /**\n * `Layouts` the specified graphics.\n * @private\n */\n PdfGrid.prototype.layout = function (param) {\n var width = param.bounds.width;\n var height = param.bounds.height;\n var hasChanged = false;\n if (typeof param.bounds.width === 'undefined' || param.bounds.width === 0) {\n width = param.page.getClientSize().width - param.bounds.x;\n hasChanged = true;\n }\n if (typeof param.bounds.height === 'undefined' || param.bounds.height === 0) {\n height = param.page.getClientSize().height - param.bounds.y;\n hasChanged = true;\n }\n if (hasChanged) {\n param.bounds = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(param.bounds.x, param.bounds.y, width, height);\n }\n if (this.rows.count !== 0) {\n var currentRow = this.rows.getRow(0).cells.getCell(0).style;\n if (currentRow.borders != null && ((currentRow.borders.left != null && currentRow.borders.left.width !== 1) ||\n (currentRow.borders.top != null && currentRow.borders.top.width !== 1))) {\n var x = currentRow.borders.left.width / 2;\n var y = currentRow.borders.top.width / 2;\n if (param.bounds.x === _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_5__.PdfBorders.default.right.width / 2 && param.bounds.y === _styles_pdf_borders__WEBPACK_IMPORTED_MODULE_5__.PdfBorders.default.right.width / 2) {\n var newBound = new _drawing_pdf_drawing__WEBPACK_IMPORTED_MODULE_0__.RectangleF(x, y, this.gridSize.width, this.gridSize.height);\n param.bounds = newBound;\n }\n }\n }\n this.setSpan();\n this.checkSpan();\n this.layoutFormat = param.format;\n this.gridLocation = param.bounds;\n var layouter = new _structured_elements_grid_layout_grid_layouter__WEBPACK_IMPORTED_MODULE_6__.PdfGridLayouter(this);\n var result = (layouter.Layouter(param));\n return result;\n };\n PdfGrid.prototype.setSpan = function () {\n var colSpan = 1;\n var rowSpan = 1;\n var currentCellIndex = 0;\n var currentRowIndex = 0;\n var maxSpan = 0;\n var rowCount = this.headers.count;\n for (var i = 0; i < rowCount; i++) {\n var row = this.headers.getHeader(i);\n maxSpan = 0;\n var colCount = row.cells.count;\n for (var j = 0; j < colCount; j++) {\n var cell = row.cells.getCell(j);\n maxSpan = Math.max(maxSpan, cell.rowSpan);\n //Skip setting span map for already coverted rows/columns.\n if (!cell.isCellMergeContinue && !cell.isRowMergeContinue && (cell.columnSpan > 1 || cell.rowSpan > 1)) {\n if (cell.columnSpan + j > row.cells.count) {\n throw new Error('Invalid span specified at row ' + j.toString() + ' column ' + i.toString());\n }\n if (cell.rowSpan + i > this.headers.count) {\n throw new Error('Invalid span specified at Header ' + j.toString() + ' column ' + i.toString());\n }\n // if (this.rows.count !== 0 && cell.rowSpan + i > this.rows.count) {\n // throw new Error('Invalid span specified at row ' + j.toString() + ' column ' + i.toString());\n // }\n if (cell.columnSpan > 1 && cell.rowSpan > 1) {\n colSpan = cell.columnSpan;\n rowSpan = cell.rowSpan;\n currentCellIndex = j;\n currentRowIndex = i;\n cell.isCellMergeStart = true;\n cell.isRowMergeStart = true;\n //Set Column merges for first row\n while (colSpan > 1) {\n currentCellIndex++;\n row.cells.getCell(currentCellIndex).isCellMergeContinue = true;\n row.cells.getCell(currentCellIndex).isRowMergeContinue = true;\n row.cells.getCell(currentCellIndex).rowSpan = rowSpan;\n colSpan--;\n }\n currentCellIndex = j;\n colSpan = cell.columnSpan;\n //Set Row Merges and column merges foreach subsequent rows.\n while (rowSpan > 1) {\n currentRowIndex++;\n this.headers.getHeader(currentRowIndex).cells.getCell(j).isRowMergeContinue = true;\n this.headers.getHeader(currentRowIndex).cells.getCell(currentCellIndex).isRowMergeContinue = true;\n rowSpan--;\n while (colSpan > 1) {\n currentCellIndex++;\n this.headers.getHeader(currentRowIndex).cells.getCell(currentCellIndex).isCellMergeContinue = true;\n this.headers.getHeader(currentRowIndex).cells.getCell(currentCellIndex).isRowMergeContinue = true;\n colSpan--;\n }\n colSpan = cell.columnSpan;\n currentCellIndex = j;\n }\n }\n else if (cell.columnSpan > 1 && cell.rowSpan === 1) {\n colSpan = cell.columnSpan;\n currentCellIndex = j;\n cell.isCellMergeStart = true;\n //Set Column merges.\n while (colSpan > 1) {\n currentCellIndex++;\n row.cells.getCell(currentCellIndex).isCellMergeContinue = true;\n colSpan--;\n }\n }\n else if (cell.columnSpan === 1 && cell.rowSpan > 1) {\n rowSpan = cell.rowSpan;\n currentRowIndex = i;\n //Set row Merges.\n while (rowSpan > 1) {\n currentRowIndex++;\n this.headers.getHeader(currentRowIndex).cells.getCell(j).isRowMergeContinue = true;\n rowSpan--;\n }\n }\n }\n }\n row.maximumRowSpan = maxSpan;\n }\n };\n PdfGrid.prototype.checkSpan = function () {\n var cellcolSpan;\n var cellrowSpan = 1;\n var cellmaxSpan = 0;\n var currentCellIndex;\n var currentRowIndex = 0;\n cellcolSpan = cellrowSpan = 1;\n currentCellIndex = currentRowIndex = 0;\n if (this.hasRowSpanSpan || this.hasColumnSpan) {\n var rowCount = this.rows.count;\n for (var i = 0; i < rowCount; i++) {\n var row = this.rows.getRow(i);\n cellmaxSpan = 0;\n var colCount = row.cells.count;\n for (var j = 0; j < colCount; j++) {\n var cell = row.cells.getCell(j);\n cellmaxSpan = Math.max(cellmaxSpan, cell.rowSpan);\n //Skip setting span map for already coverted rows/columns.\n if (!cell.isCellMergeContinue && !cell.isRowMergeContinue\n && (cell.columnSpan > 1 || cell.rowSpan > 1)) {\n if (cell.columnSpan + j > row.cells.count) {\n throw new Error('Invalid span specified at row ' + j.toString() + ' column ' + i.toString());\n }\n if (cell.rowSpan + i > this.rows.count) {\n throw new Error('Invalid span specified at row ' + j.toString() + ' column ' + i.toString());\n }\n if (cell.columnSpan > 1 && cell.rowSpan > 1) {\n cellcolSpan = cell.columnSpan;\n cellrowSpan = cell.rowSpan;\n currentCellIndex = j;\n currentRowIndex = i;\n cell.isCellMergeStart = true;\n cell.isRowMergeStart = true;\n //Set Column merges for first row\n while (cellcolSpan > 1) {\n currentCellIndex++;\n row.cells.getCell(currentCellIndex).isCellMergeContinue = true;\n row.cells.getCell(currentCellIndex).isRowMergeContinue = true;\n cellcolSpan--;\n }\n currentCellIndex = j;\n cellcolSpan = cell.columnSpan;\n //Set Row Merges and column merges foreach subsequent rows.\n while (cellrowSpan > 1) {\n currentRowIndex++;\n this.rows.getRow(currentRowIndex).cells.getCell(j).isRowMergeContinue = true;\n this.rows.getRow(currentRowIndex).cells.getCell(currentCellIndex).isRowMergeContinue = true;\n cellrowSpan--;\n while (cellcolSpan > 1) {\n currentCellIndex++;\n this.rows.getRow(currentRowIndex).cells.getCell(currentCellIndex).isCellMergeContinue = true;\n this.rows.getRow(currentRowIndex).cells.getCell(currentCellIndex).isRowMergeContinue = true;\n cellcolSpan--;\n }\n cellcolSpan = cell.columnSpan;\n currentCellIndex = j;\n }\n }\n else if (cell.columnSpan > 1 && cell.rowSpan === 1) {\n cellcolSpan = cell.columnSpan;\n currentCellIndex = j;\n cell.isCellMergeStart = true;\n //Set Column merges.\n while (cellcolSpan > 1) {\n currentCellIndex++;\n row.cells.getCell(currentCellIndex).isCellMergeContinue = true;\n cellcolSpan--;\n }\n }\n else if (cell.columnSpan === 1 && cell.rowSpan > 1) {\n cellrowSpan = cell.rowSpan;\n currentRowIndex = i;\n //Set row Merges.\n while (cellrowSpan > 1) {\n currentRowIndex++;\n this.rows.getRow(currentRowIndex).cells.getCell(j).isRowMergeContinue = true;\n cellrowSpan--;\n }\n }\n }\n }\n row.maximumRowSpan = cellmaxSpan;\n }\n }\n };\n PdfGrid.prototype.measureColumnsWidth = function (bounds) {\n if (typeof bounds !== 'undefined') {\n this.isPageWidth = false;\n var widths = this.columns.getDefaultWidths(bounds.width - bounds.x);\n //let tempWidth : number = this.columns.getColumn(0).width;\n for (var i = 0, count = this.columns.count; i < count; i++) {\n // if (this.columns.getColumn(i).width < 0)\n // this.columns.getColumn(i).columnWidth = widths[i];\n // else if (this.columns.getColumn(i).width > 0 && !this.columns.getColumn(i).isCustomWidth && widths[i]>0 && this.isComplete)\n this.columns.getColumn(i).columnWidth = widths[i];\n this.tempWidth = widths[i];\n }\n if (this.ParentCell != null && this.style.allowHorizontalOverflow == false && this.ParentCell.row.grid.style.allowHorizontalOverflow == false) {\n var padding = 0;\n var columnWidth = 0;\n var columnCount = this.columns.count;\n var childGridColumnWidth = 0;\n if (this.ParentCell.style.cellPadding != null || typeof this.ParentCell.style.cellPadding !== 'undefined') {\n if (typeof this.ParentCell.style.cellPadding.left != 'undefined' && this.ParentCell.style.cellPadding.hasLeftPad) {\n padding += this.ParentCell.style.cellPadding.left;\n }\n if (typeof this.ParentCell.style.cellPadding.right != 'undefined' && this.ParentCell.style.cellPadding.hasRightPad) {\n padding += this.ParentCell.style.cellPadding.right;\n }\n }\n for (var i = 0; i < this.ParentCell.columnSpan; i++) {\n columnWidth += this.ParentCell.row.grid.columns.getColumn(this.parentCellIndex + i).width;\n }\n for (var j = 0; j < this.columns.count; j++) {\n if (this.gridColumns.getColumn(j).width > 0 && this.gridColumns.getColumn(j).isCustomWidth) {\n columnWidth -= this.gridColumns.getColumn(j).width;\n columnCount--;\n }\n }\n if ((this.ParentCell.row.grid.style.cellPadding != null || typeof this.ParentCell.row.grid.style.cellPadding != 'undefined')) {\n if (typeof this.ParentCell.row.grid.style.cellPadding.top != 'undefined' && this.ParentCell.row.grid.style.cellPadding.hasTopPad) {\n padding += this.ParentCell.row.grid.style.cellPadding.top;\n }\n if (typeof this.ParentCell.row.grid.style.cellPadding.bottom != 'undefined' && this.ParentCell.row.grid.style.cellPadding.hasBottomPad) {\n padding += this.ParentCell.row.grid.style.cellPadding.bottom;\n }\n }\n if (this.ParentCell.row.grid.style.cellSpacing != 0) {\n columnWidth -= this.ParentCell.row.grid.style.cellSpacing * 2;\n }\n if (columnWidth > padding) {\n childGridColumnWidth = (columnWidth - padding) / columnCount;\n this.tempWidth = childGridColumnWidth;\n if (this.ParentCell != null) {\n for (var j = 0; j < this.columns.count; j++) {\n if (!this.columns.getColumn(j).isCustomWidth)\n this.columns.getColumn(j).columnWidth = childGridColumnWidth;\n }\n }\n }\n }\n // if (this.ParentCell != null && this.ParentCell.row.width > 0)\n // {\n // if (this.isChildGrid && this.gridSize.width > this.ParentCell.row.width)\n // {\n // widths = this.columns.getDefaultWidths(bounds.width);\n // for (let i : number = 0; i < this.columns.count; i++)\n // {\n // this.columns.getColumn(i).width = widths[i];\n // }\n // }\n // }\n }\n else {\n var widths = [this.columns.count];\n for (var n = 0; n < this.columns.count; n++) {\n widths[n] = 0;\n }\n var cellWidth = 0;\n var cellWidths = 0;\n if ((typeof this.isChildGrid === 'undefined' && typeof this.gridLocation !== 'undefined') || (this.isChildGrid === null && typeof this.gridLocation !== 'undefined')) {\n this.initialWidth = this.gridLocation.width;\n }\n if (this.headers.count > 0) {\n var colCount_1 = this.headers.getHeader(0).cells.count;\n var rowCount = this.headers.count;\n for (var i = 0; i < colCount_1; i++) {\n cellWidth = 0;\n for (var j = 0; j < rowCount; j++) {\n var rowWidth = Math.min(this.initialWidth, this.headers.getHeader(j).cells.getCell(i).width);\n cellWidth = Math.max(cellWidth, rowWidth);\n }\n widths[i] = cellWidth;\n }\n }\n // else {\n // let colCount : number = this.rows.getRow(0).cells.count;\n // let rowCount : number = this.rows.count;\n // for (let i : number = 0; i < colCount; i++) {\n // cellWidth = 0;\n // for (let j : number = 0; j < rowCount; j++) {\n // let rowWidth : number = Math.min(this.initialWidth, this.rows.getRow(j).cells.getCell(i).width);\n // cellWidth = Math.max(cellWidth, rowWidth);\n // }\n // widths[i] = cellWidth;\n // }\n // }\n cellWidth = 0;\n for (var i = 0, colCount_2 = this.columns.count; i < colCount_2; i++) {\n for (var j = 0, rowCount = this.rows.count; j < rowCount; j++) {\n if ((this.rows.getRow(j).cells.getCell(i).columnSpan == 1 && !this.rows.getRow(j).cells.getCell(i).isCellMergeContinue) || this.rows.getRow(j).cells.getCell(i).value != null) {\n if (this.rows.getRow(j).cells.getCell(i).value != null && !this.rows.getRow(j).grid.style.allowHorizontalOverflow) {\n var value = this.rows.getRow(j).grid.style.cellPadding.right +\n this.rows.getRow(j).grid.style.cellPadding.left\n + this.rows.getRow(j).cells.getCell(i).style.borders.left.width / 2;\n // if (this.initialWidth != 0 )\n // (this.rows.getRow(j).cells.getCell(i).value as PdfGrid).initialWidth = this.initialWidth - value;\n }\n var rowWidth = 0;\n rowWidth = this.initialWidth > 0.0 ? Math.min(this.initialWidth, this.rows.getRow(j).cells.getCell(i).width) : this.rows.getRow(j).cells.getCell(i).width;\n // let internalWidth : number = this.rows.getRow(j).cells.getCell(i).width;\n // internalWidth += this.rows.getRow(j).cells.getCell(i).style.borders.left.width;\n // internalWidth += this.rows.getRow(j).cells.getCell(i).style.borders.right.width;\n // let internalHeight : number = this.rows.getRow(j).cells.getCell(i).height;\n // internalHeight += (this.rows.getRow(j).cells.getCell(i).style.borders.top.width);\n // internalHeight += (this.rows.getRow(j).cells.getCell(i).style.borders.bottom.width);\n // let isCorrectWidth : boolean = (internalWidth + this.gridLocation.x) > this.currentGraphics.clientSize.width;\n // let isCorrectHeight : boolean = (internalHeight + this.gridLocation.y) > this.currentGraphics.clientSize.height;\n // if (isCorrectWidth || isCorrectHeight) {\n // throw Error('Image size exceeds client size of the page. Can not insert this image');\n // }\n // rowWidth = Math.min(this.initialWidth, this.rows.getRow(j).cells.getCell(i).width);\n cellWidth = Math.max(widths[i], Math.max(cellWidth, rowWidth));\n cellWidth = Math.max(this.columns.getColumn(i).width, cellWidth);\n }\n }\n if (this.rows.count != 0)\n widths[i] = cellWidth;\n cellWidth = 0;\n }\n for (var i = 0, RowCount = this.rows.count; i < RowCount; i++) {\n for (var j = 0, ColCount = this.columns.count; j < ColCount; j++) {\n if (this.rows.getRow(i).cells.getCell(j).columnSpan > 1) {\n var total = widths[j];\n for (var k = 1; k < this.rows.getRow(i).cells.getCell(j).columnSpan; k++) {\n total += widths[j + k];\n }\n // if (this.rows.getRow(i).cells.getCell(j).width > total)\n // {\n // let extendedWidth : number = this.rows.getRow(i).cells.getCell(j).width - total;\n // extendedWidth = extendedWidth / this.rows.getRow(i).cells.getCell(j).columnSpan;\n // for (let k : number = j; k < j + this.rows.getRow(i).cells.getCell(j).columnSpan; k++)\n // widths[k] += extendedWidth;\n // }\n }\n }\n }\n // if (this.isChildGrid && this.initialWidth != 0)\n // {\n // widths = this.columns.getDefaultWidths(this.initialWidth);\n // }\n for (var i = 0, count = this.columns.count; i < count; i++) {\n if (this.columns.getColumn(i).width <= 0)\n this.columns.getColumn(i).columnWidth = widths[i];\n else if (this.columns.getColumn(i).width > 0 && !this.columns.getColumn(i).isCustomWidth)\n this.columns.getColumn(i).columnWidth = widths[i];\n }\n var padding = 0;\n var colWidth = 0;\n var colCount = this.columns.count;\n var childGridColWidth = 0;\n colWidth = this.tempWidth;\n for (var j = 0; j < this.columns.count; j++) {\n if (this.gridColumns.getColumn(j).width > 0 && this.gridColumns.getColumn(j).isCustomWidth) {\n colWidth -= this.gridColumns.getColumn(j).width;\n colCount--;\n }\n }\n // if (this.style.cellSpacing != 0){\n // colWidth -= this.style.cellSpacing * 2;\n // }\n if (colWidth > 0) {\n if (this.ParentCell.row.grid.style.cellSpacing != 0) {\n colWidth -= this.ParentCell.row.grid.style.cellSpacing * 2;\n }\n }\n if (colWidth > padding) {\n childGridColWidth = (colWidth) / colCount;\n if (this.ParentCell != null) {\n for (var j = 0; j < this.columns.count; j++) {\n if (!this.columns.getColumn(j).isCustomWidth)\n this.columns.getColumn(j).columnWidth = childGridColWidth;\n }\n }\n }\n }\n };\n return PdfGrid;\n}(_graphics_figures_layout_element__WEBPACK_IMPORTED_MODULE_7__.PdfLayoutElement));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js": +/*!*******************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js ***! + \*******************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfBorders: () => (/* binding */ PdfBorders),\n/* harmony export */ PdfPaddings: () => (/* binding */ PdfPaddings)\n/* harmony export */ });\n/* harmony import */ var _graphics_pdf_pen__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../../graphics/pdf-pen */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.js\");\n/* harmony import */ var _graphics_enum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../../../graphics/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.js\");\n/* harmony import */ var _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../../graphics/pdf-color */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.js\");\n/**\n * PdfBorders.ts class for EJ2-PDF\n */\n\n\n\n/**\n * `PdfBorders` class used represents the cell border of the PDF grid.\n */\nvar PdfBorders = /** @class */ (function () {\n // Constructor\n /**\n * Create a new instance for `PdfBorders` class.\n * @private\n */\n function PdfBorders() {\n var defaultBorderPenLeft = new _graphics_pdf_pen__WEBPACK_IMPORTED_MODULE_0__.PdfPen(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor(0, 0, 0));\n defaultBorderPenLeft.dashStyle = _graphics_enum__WEBPACK_IMPORTED_MODULE_2__.PdfDashStyle.Solid;\n var defaultBorderPenRight = new _graphics_pdf_pen__WEBPACK_IMPORTED_MODULE_0__.PdfPen(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor(0, 0, 0));\n defaultBorderPenRight.dashStyle = _graphics_enum__WEBPACK_IMPORTED_MODULE_2__.PdfDashStyle.Solid;\n var defaultBorderPenTop = new _graphics_pdf_pen__WEBPACK_IMPORTED_MODULE_0__.PdfPen(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor(0, 0, 0));\n defaultBorderPenTop.dashStyle = _graphics_enum__WEBPACK_IMPORTED_MODULE_2__.PdfDashStyle.Solid;\n var defaultBorderPenBottom = new _graphics_pdf_pen__WEBPACK_IMPORTED_MODULE_0__.PdfPen(new _graphics_pdf_color__WEBPACK_IMPORTED_MODULE_1__.PdfColor(0, 0, 0));\n defaultBorderPenBottom.dashStyle = _graphics_enum__WEBPACK_IMPORTED_MODULE_2__.PdfDashStyle.Solid;\n this.leftPen = defaultBorderPenLeft;\n this.rightPen = defaultBorderPenRight;\n this.topPen = defaultBorderPenTop;\n this.bottomPen = defaultBorderPenBottom;\n }\n Object.defineProperty(PdfBorders.prototype, \"left\", {\n // Properties\n /**\n * Gets or sets the `Left`.\n * @private\n */\n get: function () {\n return this.leftPen;\n },\n set: function (value) {\n this.leftPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBorders.prototype, \"right\", {\n /**\n * Gets or sets the `Right`.\n * @private\n */\n get: function () {\n return this.rightPen;\n },\n set: function (value) {\n this.rightPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBorders.prototype, \"top\", {\n /**\n * Gets or sets the `Top`.\n * @private\n */\n get: function () {\n return this.topPen;\n },\n set: function (value) {\n this.topPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBorders.prototype, \"bottom\", {\n /**\n * Gets or sets the `Bottom`.\n * @private\n */\n get: function () {\n return this.bottomPen;\n },\n set: function (value) {\n this.bottomPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBorders.prototype, \"all\", {\n /**\n * sets the `All`.\n * @private\n */\n set: function (value) {\n this.leftPen = this.rightPen = this.topPen = this.bottomPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBorders.prototype, \"isAll\", {\n /**\n * Gets a value indicating whether this instance `is all`.\n * @private\n */\n get: function () {\n return ((this.leftPen === this.rightPen) && (this.leftPen === this.topPen) && (this.leftPen === this.bottomPen));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfBorders, \"default\", {\n /**\n * Gets the `default`.\n * @private\n */\n get: function () {\n return new PdfBorders();\n },\n enumerable: true,\n configurable: true\n });\n return PdfBorders;\n}());\n\nvar PdfPaddings = /** @class */ (function () {\n function PdfPaddings(left, right, top, bottom) {\n /**\n * The 'left' border padding set.\n * @private\n */\n this.hasLeftPad = false;\n /**\n * The 'right' border padding set.\n * @private\n */\n this.hasRightPad = false;\n /**\n * The 'top' border padding set.\n * @private\n */\n this.hasTopPad = false;\n /**\n * The 'bottom' border padding set.\n * @private\n */\n this.hasBottomPad = false;\n if (typeof left === 'undefined') {\n //0.5 is set for top and bottom by default.\n this.bottomPad = this.topPad = this.leftPad = this.rightPad = 0.5;\n }\n else {\n this.leftPad = left;\n this.rightPad = right;\n this.topPad = top;\n this.bottomPad = bottom;\n this.hasLeftPad = true;\n this.hasRightPad = true;\n this.hasTopPad = true;\n this.hasBottomPad = true;\n }\n }\n Object.defineProperty(PdfPaddings.prototype, \"left\", {\n // Properties\n /**\n * Gets or sets the `left` value of the edge\n * @private\n */\n get: function () {\n return this.leftPad;\n },\n set: function (value) {\n this.leftPad = value;\n this.hasLeftPad = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPaddings.prototype, \"right\", {\n /**\n * Gets or sets the `right` value of the edge.\n * @private\n */\n get: function () {\n return this.rightPad;\n },\n set: function (value) {\n this.rightPad = value;\n this.hasRightPad = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPaddings.prototype, \"top\", {\n /**\n * Gets or sets the `top` value of the edge\n * @private\n */\n get: function () {\n return this.topPad;\n },\n set: function (value) {\n this.topPad = value;\n this.hasTopPad = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPaddings.prototype, \"bottom\", {\n /**\n * Gets or sets the `bottom` value of the edge.\n * @private\n */\n get: function () {\n return this.bottomPad;\n },\n set: function (value) {\n this.bottomPad = value;\n this.hasBottomPad = true;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfPaddings.prototype, \"all\", {\n /**\n * Sets value to all sides `left,right,top and bottom`.s\n * @private\n */\n set: function (value) {\n this.leftPad = this.rightPad = this.topPad = this.bottomPad = value;\n this.hasLeftPad = true;\n this.hasRightPad = true;\n this.hasTopPad = true;\n this.hasBottomPad = true;\n },\n enumerable: true,\n configurable: true\n });\n return PdfPaddings;\n}());\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfGridCellStyle: () => (/* binding */ PdfGridCellStyle),\n/* harmony export */ PdfGridRowStyle: () => (/* binding */ PdfGridRowStyle),\n/* harmony export */ PdfGridStyle: () => (/* binding */ PdfGridStyle),\n/* harmony export */ PdfGridStyleBase: () => (/* binding */ PdfGridStyleBase),\n/* harmony export */ PdfHorizontalOverflowType: () => (/* binding */ PdfHorizontalOverflowType)\n/* harmony export */ });\n/* harmony import */ var _pdf_borders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf-borders */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.js\");\n/* harmony import */ var _tables_light_tables_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../tables/light-tables/enum */ \"./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/tables/light-tables/enum.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Base class for the `grid style`,\n */\nvar PdfGridStyleBase = /** @class */ (function () {\n function PdfGridStyleBase() {\n }\n Object.defineProperty(PdfGridStyleBase.prototype, \"backgroundBrush\", {\n // Properties\n /**\n * Gets or sets the `background brush`.\n * @private\n */\n get: function () {\n return this.gridBackgroundBrush;\n },\n set: function (value) {\n this.gridBackgroundBrush = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyleBase.prototype, \"textBrush\", {\n /**\n * Gets or sets the `text brush`.\n * @private\n */\n get: function () {\n return this.gridTextBrush;\n },\n set: function (value) {\n this.gridTextBrush = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyleBase.prototype, \"textPen\", {\n /**\n * Gets or sets the `text pen`.\n * @private\n */\n get: function () {\n return this.gridTextPen;\n },\n set: function (value) {\n this.gridTextPen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyleBase.prototype, \"font\", {\n /**\n * Gets or sets the `font`.\n * @private\n */\n get: function () {\n return this.gridFont;\n },\n set: function (value) {\n this.gridFont = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyleBase.prototype, \"backgroundImage\", {\n /**\n * Gets or sets the `background Image`.\n * @private\n */\n get: function () {\n return this.gridBackgroundImage;\n },\n set: function (value) {\n this.gridBackgroundImage = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridStyleBase;\n}());\n\n/**\n * `PdfGridStyle` class provides customization of the appearance for the 'PdfGrid'.\n */\nvar PdfGridStyle = /** @class */ (function (_super) {\n __extends(PdfGridStyle, _super);\n //constructor\n /**\n * Initialize a new instance for `PdfGridStyle` class.\n * @private\n */\n function PdfGridStyle() {\n var _this = _super.call(this) || this;\n _this.gridBorderOverlapStyle = _tables_light_tables_enum__WEBPACK_IMPORTED_MODULE_0__.PdfBorderOverlapStyle.Overlap;\n _this.bAllowHorizontalOverflow = false;\n _this.gridHorizontalOverflowType = PdfHorizontalOverflowType.LastPage;\n return _this;\n }\n Object.defineProperty(PdfGridStyle.prototype, \"cellSpacing\", {\n //Properties\n /**\n * Gets or sets the `cell spacing` of the 'PdfGrid'.\n * @private\n */\n get: function () {\n if (typeof this.gridCellSpacing === 'undefined') {\n this.gridCellSpacing = 0;\n }\n return this.gridCellSpacing;\n },\n set: function (value) {\n this.gridCellSpacing = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyle.prototype, \"horizontalOverflowType\", {\n /**\n * Gets or sets the type of the `horizontal overflow` of the 'PdfGrid'.\n * @private\n */\n get: function () {\n return this.gridHorizontalOverflowType;\n },\n set: function (value) {\n this.gridHorizontalOverflowType = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyle.prototype, \"allowHorizontalOverflow\", {\n /**\n * Gets or sets a value indicating whether to `allow horizontal overflow`.\n * @private\n */\n get: function () {\n return this.bAllowHorizontalOverflow;\n },\n set: function (value) {\n this.bAllowHorizontalOverflow = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyle.prototype, \"cellPadding\", {\n /**\n * Gets or sets the `cell padding`.\n * @private\n */\n get: function () {\n if (typeof this.gridCellPadding === 'undefined') {\n this.gridCellPadding = new _pdf_borders__WEBPACK_IMPORTED_MODULE_1__.PdfPaddings();\n }\n return this.gridCellPadding;\n },\n set: function (value) {\n if (typeof this.gridCellPadding === 'undefined') {\n this.gridCellPadding = new _pdf_borders__WEBPACK_IMPORTED_MODULE_1__.PdfPaddings();\n this.gridCellPadding = value;\n }\n else {\n this.gridCellPadding = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridStyle.prototype, \"borderOverlapStyle\", {\n /**\n * Gets or sets the `border overlap style` of the 'PdfGrid'.\n * @private\n */\n get: function () {\n return this.gridBorderOverlapStyle;\n },\n set: function (value) {\n this.gridBorderOverlapStyle = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridStyle;\n}(PdfGridStyleBase));\n\n/**\n * `PdfGridCellStyle` class provides customization of the appearance for the 'PdfGridCell'.\n */\nvar PdfGridCellStyle = /** @class */ (function (_super) {\n __extends(PdfGridCellStyle, _super);\n /**\n * Initializes a new instance of the `PdfGridCellStyle` class.\n * @private\n */\n function PdfGridCellStyle() {\n var _this = _super.call(this) || this;\n /**\n * @hidden\n * @private\n */\n _this.gridCellBorders = _pdf_borders__WEBPACK_IMPORTED_MODULE_1__.PdfBorders.default;\n return _this;\n }\n Object.defineProperty(PdfGridCellStyle.prototype, \"stringFormat\", {\n //Properties\n /**\n * Gets the `string format` of the 'PdfGridCell'.\n * @private\n */\n get: function () {\n return this.format;\n },\n set: function (value) {\n this.format = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCellStyle.prototype, \"borders\", {\n /**\n * Gets or sets the `border` of the 'PdfGridCell'.\n * @private\n */\n get: function () {\n return this.gridCellBorders;\n },\n set: function (value) {\n this.gridCellBorders = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PdfGridCellStyle.prototype, \"cellPadding\", {\n /**\n * Gets or sets the `cell padding`.\n * @private\n */\n get: function () {\n return this.gridCellPadding;\n },\n set: function (value) {\n if (this.gridCellPadding == null || typeof this.gridCellPadding === 'undefined') {\n this.gridCellPadding = new _pdf_borders__WEBPACK_IMPORTED_MODULE_1__.PdfPaddings();\n }\n this.gridCellPadding = value;\n },\n enumerable: true,\n configurable: true\n });\n return PdfGridCellStyle;\n}(PdfGridStyleBase));\n\n/**\n * `PdfGridRowStyle` class provides customization of the appearance for the `PdfGridRow`.\n */\nvar PdfGridRowStyle = /** @class */ (function () {\n // Constructor\n /**\n * Initializes a new instance of the `PdfGridRowStyle` class.\n * @private\n */\n function PdfGridRowStyle() {\n //\n }\n Object.defineProperty(PdfGridRowStyle.prototype, \"backgroundBrush\", {\n // Properties\n /**\n * Gets or sets the `background brush`.\n * @private\n */\n get: function () {\n return this.gridRowBackgroundBrush;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridRowStyle.prototype.setBackgroundBrush = function (value) {\n this.gridRowBackgroundBrush = value;\n if (typeof this.parent !== 'undefined') {\n for (var i = 0; i < this.parent.cells.count; i++) {\n this.parent.cells.getCell(i).style.backgroundBrush = value;\n }\n }\n };\n Object.defineProperty(PdfGridRowStyle.prototype, \"textBrush\", {\n /**\n * Gets or sets the `text brush`.\n * @private\n */\n get: function () {\n return this.gridRowTextBrush;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridRowStyle.prototype.setTextBrush = function (value) {\n this.gridRowTextBrush = value;\n if (typeof this.parent !== 'undefined') {\n for (var i = 0; i < this.parent.cells.count; i++) {\n this.parent.cells.getCell(i).style.textBrush = value;\n }\n }\n };\n Object.defineProperty(PdfGridRowStyle.prototype, \"textPen\", {\n /**\n * Gets or sets the `text pen`.\n * @private\n */\n get: function () {\n return this.gridRowTextPen;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridRowStyle.prototype.setTextPen = function (value) {\n this.gridRowTextPen = value;\n if (typeof this.parent !== 'undefined') {\n for (var i = 0; i < this.parent.cells.count; i++) {\n this.parent.cells.getCell(i).style.textPen = value;\n }\n }\n };\n Object.defineProperty(PdfGridRowStyle.prototype, \"font\", {\n /**\n * Gets or sets the `font`.\n * @private\n */\n get: function () {\n return this.gridRowFont;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridRowStyle.prototype.setFont = function (value) {\n this.gridRowFont = value;\n if (typeof this.parent !== 'undefined') {\n for (var i = 0; i < this.parent.cells.count; i++) {\n this.parent.cells.getCell(i).style.font = value;\n }\n }\n };\n Object.defineProperty(PdfGridRowStyle.prototype, \"border\", {\n /**\n * Gets or sets the `border` of the current row.\n * @private\n */\n get: function () {\n if (typeof this.gridRowBorder === 'undefined') {\n this.setBorder(new _pdf_borders__WEBPACK_IMPORTED_MODULE_1__.PdfBorders());\n }\n return this.gridRowBorder;\n },\n enumerable: true,\n configurable: true\n });\n PdfGridRowStyle.prototype.setBorder = function (value) {\n this.gridRowBorder = value;\n if (typeof this.parent !== 'undefined') {\n for (var i = 0; i < this.parent.cells.count; i++) {\n this.parent.cells.getCell(i).style.borders = value;\n }\n }\n };\n /**\n * sets the `parent row` of the current object.\n * @private\n */\n PdfGridRowStyle.prototype.setParent = function (parent) {\n this.parent = parent;\n };\n Object.defineProperty(PdfGridRowStyle.prototype, \"backgroundImage\", {\n /**\n * Gets or sets the `backgroundImage` of the 'PdfGridCell'.\n * @private\n */\n get: function () {\n return this.gridRowBackgroundImage;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * sets the `backgroundImage` of the 'PdfGridCell'.\n * @private\n */\n PdfGridRowStyle.prototype.setBackgroundImage = function (value) {\n this.gridRowBackgroundImage = value;\n };\n return PdfGridRowStyle;\n}());\n\n/**\n * public Enum for `PdfHorizontalOverflowType`.\n * @private\n */\nvar PdfHorizontalOverflowType;\n(function (PdfHorizontalOverflowType) {\n /**\n * Specifies the type of `NextPage`.\n * @private\n */\n PdfHorizontalOverflowType[PdfHorizontalOverflowType[\"NextPage\"] = 0] = \"NextPage\";\n /**\n * Specifies the type of `LastPage`.\n * @private\n */\n PdfHorizontalOverflowType[PdfHorizontalOverflowType[\"LastPage\"] = 1] = \"LastPage\";\n})(PdfHorizontalOverflowType || (PdfHorizontalOverflowType = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/tables/light-tables/enum.js": +/*!********************************************************************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/tables/light-tables/enum.js ***! + \********************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PdfBorderOverlapStyle: () => (/* binding */ PdfBorderOverlapStyle)\n/* harmony export */ });\n/**\n * public Enum for `PdfBorderOverlapStyle`.\n * @private\n */\nvar PdfBorderOverlapStyle;\n(function (PdfBorderOverlapStyle) {\n /**\n * Specifies the type of `Overlap`.\n * @private\n */\n PdfBorderOverlapStyle[PdfBorderOverlapStyle[\"Overlap\"] = 0] = \"Overlap\";\n /**\n * Specifies the type of `Inside`.\n * @private\n */\n PdfBorderOverlapStyle[PdfBorderOverlapStyle[\"Inside\"] = 1] = \"Inside\";\n})(PdfBorderOverlapStyle || (PdfBorderOverlapStyle = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/tables/light-tables/enum.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/common/collision.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/common/collision.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ destroy: () => (/* binding */ destroy),\n/* harmony export */ fit: () => (/* binding */ fit),\n/* harmony export */ flip: () => (/* binding */ flip),\n/* harmony export */ getTransformElement: () => (/* binding */ getTransformElement),\n/* harmony export */ getZoomValue: () => (/* binding */ getZoomValue),\n/* harmony export */ isCollide: () => (/* binding */ isCollide)\n/* harmony export */ });\n/* harmony import */ var _position__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./position */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/**\n * Collision module.\n */\n\n\nvar parentDocument;\nvar targetContainer;\n/**\n *\n * @param {HTMLElement} element - specifies the element\n * @param {HTMLElement} viewPortElement - specifies the element\n * @param {CollisionCoordinates} axis - specifies the collision coordinates\n * @param {OffsetPosition} position - specifies the position\n * @returns {void}\n */\nfunction fit(element, viewPortElement, axis, position) {\n if (viewPortElement === void 0) { viewPortElement = null; }\n if (axis === void 0) { axis = { X: false, Y: false }; }\n if (!axis.Y && !axis.X) {\n return { left: 0, top: 0 };\n }\n var elemData = element.getBoundingClientRect();\n targetContainer = viewPortElement;\n parentDocument = element.ownerDocument;\n if (!position) {\n position = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(element, 'left', 'top');\n }\n if (axis.X) {\n var containerWidth = targetContainer ? getTargetContainerWidth() : getViewPortWidth();\n var containerLeft = ContainerLeft();\n var containerRight = ContainerRight();\n var overLeft = containerLeft - position.left;\n var overRight = position.left + elemData.width - containerRight;\n if (elemData.width > containerWidth) {\n if (overLeft > 0 && overRight <= 0) {\n position.left = containerRight - elemData.width;\n }\n else if (overRight > 0 && overLeft <= 0) {\n position.left = containerLeft;\n }\n else {\n position.left = overLeft > overRight ? (containerRight - elemData.width) : containerLeft;\n }\n }\n else if (overLeft > 0) {\n position.left += overLeft;\n }\n else if (overRight > 0) {\n position.left -= overRight;\n }\n }\n if (axis.Y) {\n var containerHeight = targetContainer ? getTargetContainerHeight() : getViewPortHeight();\n var containerTop = ContainerTop();\n var containerBottom = ContainerBottom();\n var overTop = containerTop - position.top;\n var overBottom = position.top + elemData.height - containerBottom;\n if (elemData.height > containerHeight) {\n if (overTop > 0 && overBottom <= 0) {\n position.top = containerBottom - elemData.height;\n }\n else if (overBottom > 0 && overTop <= 0) {\n position.top = containerTop;\n }\n else {\n position.top = overTop > overBottom ? (containerBottom - elemData.height) : containerTop;\n }\n }\n else if (overTop > 0) {\n position.top += overTop;\n }\n else if (overBottom > 0) {\n position.top -= overBottom;\n }\n }\n return position;\n}\n/**\n *\n * @param {HTMLElement} element - specifies the html element\n * @param {HTMLElement} viewPortElement - specifies the html element\n * @param {number} x - specifies the number\n * @param {number} y - specifies the number\n * @returns {string[]} - returns the string value\n */\nfunction isCollide(element, viewPortElement, x, y) {\n if (viewPortElement === void 0) { viewPortElement = null; }\n var elemOffset = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(element, 'left', 'top');\n if (x) {\n elemOffset.left = x;\n }\n if (y) {\n elemOffset.top = y;\n }\n var data = [];\n targetContainer = viewPortElement;\n parentDocument = element.ownerDocument;\n var elementRect = element.getBoundingClientRect();\n var top = elemOffset.top;\n var left = elemOffset.left;\n var right = elemOffset.left + elementRect.width;\n var bottom = elemOffset.top + elementRect.height;\n var yAxis = topCollideCheck(top, bottom);\n var xAxis = leftCollideCheck(left, right);\n if (yAxis.topSide) {\n data.push('top');\n }\n if (xAxis.rightSide) {\n data.push('right');\n }\n if (xAxis.leftSide) {\n data.push('left');\n }\n if (yAxis.bottomSide) {\n data.push('bottom');\n }\n return data;\n}\n/**\n *\n * @param {HTMLElement} element - specifies the element\n * @param {HTMLElement} target - specifies the element\n * @param {number} offsetX - specifies the number\n * @param {number} offsetY - specifies the number\n * @param {string} positionX - specifies the string value\n * @param {string} positionY - specifies the string value\n * @param {HTMLElement} viewPortElement - specifies the element\n * @param {CollisionCoordinates} axis - specifies the collision axis\n * @param {boolean} fixedParent - specifies the boolean\n * @returns {void}\n */\nfunction flip(element, target, offsetX, offsetY, positionX, positionY, viewPortElement, \n/* eslint-disable */\naxis, fixedParent) {\n if (viewPortElement === void 0) { viewPortElement = null; }\n if (axis === void 0) { axis = { X: true, Y: true }; }\n if (!target || !element || !positionX || !positionY || (!axis.X && !axis.Y)) {\n return;\n }\n var tEdge = { TL: null,\n TR: null,\n BL: null,\n BR: null\n }, eEdge = {\n TL: null,\n TR: null,\n BL: null,\n BR: null\n /* eslint-enable */\n };\n var elementRect;\n if (window.getComputedStyle(element).display === 'none') {\n var oldVisibility = element.style.visibility;\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n elementRect = element.getBoundingClientRect();\n element.style.removeProperty('display');\n element.style.visibility = oldVisibility;\n }\n else {\n elementRect = element.getBoundingClientRect();\n }\n var pos = {\n posX: positionX, posY: positionY, offsetX: offsetX, offsetY: offsetY, position: { left: 0, top: 0 }\n };\n targetContainer = viewPortElement;\n parentDocument = target.ownerDocument;\n updateElementData(target, tEdge, pos, fixedParent, elementRect);\n setPosition(eEdge, pos, elementRect);\n if (axis.X) {\n leftFlip(target, eEdge, tEdge, pos, elementRect, true);\n }\n if (axis.Y && tEdge.TL.top > -1) {\n topFlip(target, eEdge, tEdge, pos, elementRect, true);\n }\n setPopup(element, pos, elementRect);\n}\n/**\n *\n * @param {HTMLElement} element - specifies the element\n * @param {PositionLocation} pos - specifies the location\n * @param {ClientRect} elementRect - specifies the client rect\n * @returns {void}\n */\nfunction setPopup(element, pos, elementRect) {\n var left = 0;\n var top = 0;\n if (element.offsetParent != null\n && (getComputedStyle(element.offsetParent).position === 'absolute' ||\n getComputedStyle(element.offsetParent).position === 'relative')) {\n var data = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(element.offsetParent, 'left', 'top', false, elementRect);\n left = data.left;\n top = data.top;\n }\n var scaleX = 1;\n var scaleY = 1;\n var tranformElement = getTransformElement(element);\n if (tranformElement) {\n var transformStyle = getComputedStyle(tranformElement).transform;\n if (transformStyle !== 'none') {\n var matrix = new DOMMatrix(transformStyle);\n scaleX = matrix.a;\n scaleY = matrix.d;\n }\n var zoomStyle = getComputedStyle(tranformElement).zoom;\n if (zoomStyle !== 'none') {\n var bodyZoom = getZoomValue(document.body);\n scaleX = bodyZoom * scaleX;\n scaleY = bodyZoom * scaleY;\n }\n }\n element.style.top = ((pos.position.top / scaleY) + pos.offsetY - (top / scaleY)) + 'px';\n element.style.left = ((pos.position.left / scaleX) + pos.offsetX - (left / scaleX)) + 'px';\n}\nfunction getZoomValue(element) {\n var zoomValue = getComputedStyle(element).zoom;\n return parseFloat(zoomValue) || 1; // Default zoom value is 1 (no zoom)\n}\n/**\n *\n * @param {HTMLElement} element - specifies the element\n * @returns {HTMLElement} The modified element.\n */\nfunction getTransformElement(element) {\n while (element) {\n var transform = window.getComputedStyle(element).transform;\n var zoom = getZoomValue(document.body);\n if ((transform && transform !== 'none') || (zoom && zoom !== 1)) {\n return element;\n }\n if (element === document.body) {\n return null;\n }\n element = (element.offsetParent || element.parentElement);\n }\n return null;\n}\n/**\n *\n * @param {HTMLElement} target - specifies the element\n * @param {EdgeOffset} edge - specifies the offset\n * @param {PositionLocation} pos - specifies theloaction\n * @param {boolean} fixedParent - specifies the boolean\n * @param {ClientRect} elementRect - specifies the client rect\n * @returns {void}\n */\nfunction updateElementData(target, edge, pos, fixedParent, elementRect) {\n pos.position = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, pos.posX, pos.posY, fixedParent, elementRect);\n edge.TL = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, 'left', 'top', fixedParent, elementRect);\n edge.TR = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, 'right', 'top', fixedParent, elementRect);\n edge.BR = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, 'left', 'bottom', fixedParent, elementRect);\n edge.BL = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, 'right', 'bottom', fixedParent, elementRect);\n}\n/**\n *\n * @param {EdgeOffset} eStatus - specifies the status\n * @param {PositionLocation} pos - specifies the location\n * @param {ClientRect} elementRect - specifies the client\n * @returns {void}\n */\nfunction setPosition(eStatus, pos, elementRect) {\n eStatus.TL = { top: pos.position.top + pos.offsetY, left: pos.position.left + pos.offsetX };\n eStatus.TR = { top: eStatus.TL.top, left: eStatus.TL.left + elementRect.width };\n eStatus.BL = { top: eStatus.TL.top + elementRect.height,\n left: eStatus.TL.left };\n eStatus.BR = { top: eStatus.TL.top + elementRect.height,\n left: eStatus.TL.left + elementRect.width };\n}\n/**\n *\n * @param {number} left - specifies the number\n * @param {number} right - specifies the number\n * @returns {LeftCorners} - returns the value\n */\nfunction leftCollideCheck(left, right) {\n //eslint-disable-next-line\n var leftSide = false, rightSide = false;\n if (((left - getBodyScrollLeft()) < ContainerLeft())) {\n leftSide = true;\n }\n if (right > ContainerRight()) {\n rightSide = true;\n }\n return { leftSide: leftSide, rightSide: rightSide };\n}\n/**\n *\n * @param {HTMLElement} target - specifies the element\n * @param {EdgeOffset} edge - specifes the element\n * @param {EdgeOffset} tEdge - specifies the edge offset\n * @param {PositionLocation} pos - specifes the location\n * @param {ClientRect} elementRect - specifies the client\n * @param {boolean} deepCheck - specifies the boolean value\n * @returns {void}\n */\nfunction leftFlip(target, edge, tEdge, pos, elementRect, deepCheck) {\n var collideSide = leftCollideCheck(edge.TL.left, edge.TR.left);\n if ((tEdge.TL.left - getBodyScrollLeft()) <= ContainerLeft()) {\n collideSide.leftSide = false;\n }\n if (tEdge.TR.left > ContainerRight()) {\n collideSide.rightSide = false;\n }\n if ((collideSide.leftSide && !collideSide.rightSide) || (!collideSide.leftSide && collideSide.rightSide)) {\n if (pos.posX === 'right') {\n pos.posX = 'left';\n }\n else {\n pos.posX = 'right';\n }\n pos.offsetX = pos.offsetX + elementRect.width;\n pos.offsetX = -1 * pos.offsetX;\n pos.position = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, pos.posX, pos.posY, false);\n setPosition(edge, pos, elementRect);\n if (deepCheck) {\n leftFlip(target, edge, tEdge, pos, elementRect, false);\n }\n }\n}\n/**\n *\n * @param {HTMLElement} target - specifies the element\n * @param {EdgeOffset} edge - specifies the offset\n * @param {EdgeOffset} tEdge - specifies the offset\n * @param {PositionLocation} pos - specifies the location\n * @param {ClientRect} elementRect - specifies the client rect\n * @param {boolean} deepCheck - specifies the boolean\n * @returns {void}\n */\nfunction topFlip(target, edge, tEdge, pos, elementRect, deepCheck) {\n var collideSide = topCollideCheck(edge.TL.top, edge.BL.top);\n if ((tEdge.TL.top - getBodyScrollTop()) <= ContainerTop()) {\n collideSide.topSide = false;\n }\n if (tEdge.BL.top >= ContainerBottom() && target.getBoundingClientRect().bottom < window.innerHeight) {\n collideSide.bottomSide = false;\n }\n if ((collideSide.topSide && !collideSide.bottomSide) || (!collideSide.topSide && collideSide.bottomSide)) {\n if (pos.posY === 'top') {\n pos.posY = 'bottom';\n }\n else {\n pos.posY = 'top';\n }\n pos.offsetY = pos.offsetY + elementRect.height;\n pos.offsetY = -1 * pos.offsetY;\n pos.position = (0,_position__WEBPACK_IMPORTED_MODULE_1__.calculatePosition)(target, pos.posX, pos.posY, false, elementRect);\n setPosition(edge, pos, elementRect);\n if (deepCheck) {\n topFlip(target, edge, tEdge, pos, elementRect, false);\n }\n }\n}\n/**\n *\n * @param {number} top - specifies the number\n * @param {number} bottom - specifies the number\n * @returns {TopCorners} - retyrns the value\n */\nfunction topCollideCheck(top, bottom) {\n //eslint-disable-next-line\n var topSide = false, bottomSide = false;\n if ((top - getBodyScrollTop()) < ContainerTop()) {\n topSide = true;\n }\n if (bottom > ContainerBottom()) {\n bottomSide = true;\n }\n return { topSide: topSide, bottomSide: bottomSide };\n}\n/**\n * @returns {void}\n */\nfunction getTargetContainerWidth() {\n return targetContainer.getBoundingClientRect().width;\n}\n/**\n * @returns {void}\n */\nfunction getTargetContainerHeight() {\n return targetContainer.getBoundingClientRect().height;\n}\n/**\n * @returns {void}\n */\nfunction getTargetContainerLeft() {\n return targetContainer.getBoundingClientRect().left;\n}\n/**\n * @returns {void}\n */\nfunction getTargetContainerTop() {\n return targetContainer.getBoundingClientRect().top;\n}\n//eslint-disable-next-line\nfunction ContainerTop() {\n if (targetContainer) {\n return getTargetContainerTop();\n }\n return 0;\n}\n//eslint-disable-next-line\nfunction ContainerLeft() {\n if (targetContainer) {\n return getTargetContainerLeft();\n }\n return 0;\n}\n//eslint-disable-next-line\nfunction ContainerRight() {\n if (targetContainer) {\n return (getBodyScrollLeft() + getTargetContainerLeft() + getTargetContainerWidth());\n }\n return (getBodyScrollLeft() + getViewPortWidth());\n}\n//eslint-disable-next-line\nfunction ContainerBottom() {\n if (targetContainer) {\n return (getBodyScrollTop() + getTargetContainerTop() + getTargetContainerHeight());\n }\n return (getBodyScrollTop() + getViewPortHeight());\n}\n/**\n * @returns {number} - returns the scroll top value\n */\nfunction getBodyScrollTop() {\n // if(targetContainer)\n // return targetContainer.scrollTop;\n return parentDocument.documentElement.scrollTop || parentDocument.body.scrollTop;\n}\n/**\n * @returns {number} - returns the scroll left value\n */\nfunction getBodyScrollLeft() {\n // if(targetContainer)\n // return targetContainer.scrollLeft;\n return parentDocument.documentElement.scrollLeft || parentDocument.body.scrollLeft;\n}\n/**\n * @returns {number} - returns the viewport height\n */\nfunction getViewPortHeight() {\n return window.innerHeight;\n}\n/**\n * @returns {number} - returns the viewport width\n */\nfunction getViewPortWidth() {\n var windowWidth = window.innerWidth;\n var documentReact = document.documentElement.getBoundingClientRect();\n var offsetWidth = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.documentElement)) ? 0 : documentReact.width;\n return windowWidth - (windowWidth - offsetWidth);\n}\n/**\n * @returns {void}\n */\nfunction destroy() {\n targetContainer = null;\n parentDocument = null;\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/common/collision.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/common/position.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/common/position.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ calculatePosition: () => (/* binding */ calculatePosition),\n/* harmony export */ calculateRelativeBasedPosition: () => (/* binding */ calculateRelativeBasedPosition)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/**\n * Position library\n */\n\nvar elementRect;\nvar popupRect;\nvar element;\nvar parentDocument;\nvar fixedParent = false;\n/**\n *\n * @param {HTMLElement} anchor - specifies the element\n * @param {HTMLElement} element - specifies the element\n * @returns {OffsetPosition} - returns the value\n */\nfunction calculateRelativeBasedPosition(anchor, element) {\n var fixedElement = false;\n var anchorPos = { left: 0, top: 0 };\n var tempAnchor = anchor;\n if (!anchor || !element) {\n return anchorPos;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.offsetParent) && element.style.position === 'fixed') {\n fixedElement = true;\n }\n while ((element.offsetParent || fixedElement) && anchor && element.offsetParent !== anchor) {\n anchorPos.left += anchor.offsetLeft;\n anchorPos.top += anchor.offsetTop;\n anchor = anchor.offsetParent;\n }\n anchor = tempAnchor;\n while ((element.offsetParent || fixedElement) && anchor && element.offsetParent !== anchor) {\n anchorPos.left -= anchor.scrollLeft;\n anchorPos.top -= anchor.scrollTop;\n anchor = anchor.parentElement;\n }\n return anchorPos;\n}\n/**\n *\n * @param {Element} currentElement - specifies the element\n * @param {string} positionX - specifies the position\n * @param {string} positionY - specifies the position\n * @param {boolean} parentElement - specifies the boolean\n * @param {ClientRect} targetValues - specifies the client\n * @returns {OffsetPosition} - returns the position\n */\nfunction calculatePosition(currentElement, positionX, positionY, parentElement, targetValues) {\n popupRect = undefined;\n popupRect = targetValues;\n fixedParent = parentElement ? true : false;\n if (!currentElement) {\n return { left: 0, top: 0 };\n }\n if (!positionX) {\n positionX = 'left';\n }\n if (!positionY) {\n positionY = 'top';\n }\n parentDocument = currentElement.ownerDocument;\n element = currentElement;\n var pos = { left: 0, top: 0 };\n return updatePosition(positionX.toLowerCase(), positionY.toLowerCase(), pos);\n}\n/**\n *\n * @param {number} value - specifies the number\n * @param {OffsetPosition} pos - specifies the position\n * @returns {void}\n */\nfunction setPosx(value, pos) {\n pos.left = value;\n}\n/**\n *\n * @param {number} value - specifies the number\n * @param {OffsetPosition} pos - specifies the position\n * @returns {void}\n */\nfunction setPosy(value, pos) {\n pos.top = value;\n}\n/**\n *\n * @param {string} posX - specifies the position\n * @param {string} posY - specifies the position\n * @param {OffsetPosition} pos - specifies the position\n * @returns {OffsetPosition} - returns the postion\n */\nfunction updatePosition(posX, posY, pos) {\n elementRect = element.getBoundingClientRect();\n switch (posY + posX) {\n case 'topcenter':\n setPosx(getElementHCenter(), pos);\n setPosy(getElementTop(), pos);\n break;\n case 'topright':\n setPosx(getElementRight(), pos);\n setPosy(getElementTop(), pos);\n break;\n case 'centercenter':\n setPosx(getElementHCenter(), pos);\n setPosy(getElementVCenter(), pos);\n break;\n case 'centerright':\n setPosx(getElementRight(), pos);\n setPosy(getElementVCenter(), pos);\n break;\n case 'centerleft':\n setPosx(getElementLeft(), pos);\n setPosy(getElementVCenter(), pos);\n break;\n case 'bottomcenter':\n setPosx(getElementHCenter(), pos);\n setPosy(getElementBottom(), pos);\n break;\n case 'bottomright':\n setPosx(getElementRight(), pos);\n setPosy(getElementBottom(), pos);\n break;\n case 'bottomleft':\n setPosx(getElementLeft(), pos);\n setPosy(getElementBottom(), pos);\n break;\n default:\n case 'topleft':\n setPosx(getElementLeft(), pos);\n setPosy(getElementTop(), pos);\n break;\n }\n element = null;\n return pos;\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getBodyScrollTop() {\n return parentDocument.documentElement.scrollTop || parentDocument.body.scrollTop;\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getBodyScrollLeft() {\n return parentDocument.documentElement.scrollLeft || parentDocument.body.scrollLeft;\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getElementBottom() {\n return fixedParent ? elementRect.bottom : elementRect.bottom + getBodyScrollTop();\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getElementVCenter() {\n return getElementTop() + (elementRect.height / 2);\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getElementTop() {\n return fixedParent ? elementRect.top : elementRect.top + getBodyScrollTop();\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getElementLeft() {\n return elementRect.left + getBodyScrollLeft();\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getElementRight() {\n var popupWidth = (element && (((element.classList.contains('e-date-wrapper') || element.classList.contains('e-datetime-wrapper')) && element.classList.contains('e-rtl')) || (element.classList.contains('e-ddl') && element.classList.contains('e-rtl')) || element.classList.contains('e-date-range-wrapper'))) ? (popupRect ? popupRect.width : 0) :\n (popupRect && (elementRect.width >= popupRect.width) ? popupRect.width : 0);\n if (element && element.classList.contains('e-rtl') && element.classList.contains('e-multiselect')) {\n popupWidth = popupRect.width;\n }\n return elementRect.right + getBodyScrollLeft() - popupWidth;\n}\n/**\n * @returns {number} - specifies the number value\n */\nfunction getElementHCenter() {\n return getElementLeft() + (elementRect.width / 2);\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/common/position.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/common/resize.js": +/*!******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/common/resize.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createResize: () => (/* binding */ createResize),\n/* harmony export */ removeResize: () => (/* binding */ removeResize),\n/* harmony export */ resizeDestroy: () => (/* binding */ resizeDestroy),\n/* harmony export */ setMaxHeight: () => (/* binding */ setMaxHeight),\n/* harmony export */ setMaxWidth: () => (/* binding */ setMaxWidth),\n/* harmony export */ setMinHeight: () => (/* binding */ setMinHeight)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/**\n * Resize library\n */\n\nvar elementClass = ['north-west', 'north', 'north-east', 'west', 'east', 'south-west', 'south', 'south-east'];\nvar RESIZE_HANDLER = 'e-resize-handle';\nvar FOCUSED_HANDLER = 'e-focused-handle';\nvar DIALOG_RESIZABLE = 'e-dlg-resizable';\nvar RESTRICT_LEFT = ['e-restrict-left'];\nvar RESIZE_WITHIN_VIEWPORT = 'e-resize-viewport';\nvar dialogBorderResize = ['north', 'west', 'east', 'south'];\nvar targetElement;\nvar selectedHandler;\nvar originalWidth = 0;\nvar originalHeight = 0;\nvar originalX = 0;\nvar originalY = 0;\nvar originalMouseX = 0;\nvar originalMouseY = 0;\nvar minHeight;\nvar maxHeight;\nvar minWidth;\nvar maxWidth;\nvar containerElement;\nvar resizeStart = null;\nvar resize = null;\nvar resizeEnd = null;\nvar resizeWestWidth;\nvar setLeft = true;\nvar previousWidth = 0;\nvar setWidth = true;\n// eslint-disable-next-line\nvar proxy;\n/**\n *\n * @param {ResizeArgs} args - specifies the resize args\n * @returns {void}\n */\nfunction createResize(args) {\n resizeStart = args.resizeBegin;\n resize = args.resizing;\n resizeEnd = args.resizeComplete;\n targetElement = getDOMElement(args.element);\n containerElement = getDOMElement(args.boundary);\n var directions = args.direction.split(' ');\n for (var i = 0; i < directions.length; i++) {\n if (dialogBorderResize.indexOf(directions[i]) >= 0 && directions[i]) {\n setBorderResizeElm(directions[i]);\n }\n else if (directions[i].trim() !== '') {\n var resizeHandler = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { className: 'e-icons ' + RESIZE_HANDLER + ' ' + 'e-' + directions[i] });\n targetElement.appendChild(resizeHandler);\n }\n }\n minHeight = args.minHeight;\n minWidth = args.minWidth;\n maxWidth = args.maxWidth;\n maxHeight = args.maxHeight;\n if (args.proxy && args.proxy.element && args.proxy.element.classList.contains('e-dialog')) {\n wireEvents(args.proxy);\n }\n else {\n wireEvents();\n }\n}\n/**\n *\n * @param {string} direction - specifies the string\n * @returns {void}\n */\nfunction setBorderResizeElm(direction) {\n calculateValues();\n var borderBottom = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('span', {\n attrs: {\n 'unselectable': 'on', 'contenteditable': 'false'\n }\n });\n borderBottom.setAttribute('class', 'e-dialog-border-resize e-' + direction);\n if (direction === 'south') {\n borderBottom.style.height = '2px';\n borderBottom.style.width = '100%';\n borderBottom.style.bottom = '0px';\n borderBottom.style.left = '0px';\n }\n if (direction === 'north') {\n borderBottom.style.height = '2px';\n borderBottom.style.width = '100%';\n borderBottom.style.top = '0px';\n borderBottom.style.left = '0px';\n }\n if (direction === 'east') {\n borderBottom.style.height = '100%';\n borderBottom.style.width = '2px';\n borderBottom.style.right = '0px';\n borderBottom.style.top = '0px';\n }\n if (direction === 'west') {\n borderBottom.style.height = '100%';\n borderBottom.style.width = '2px';\n borderBottom.style.left = '0px';\n borderBottom.style.top = '0px';\n }\n targetElement.appendChild(borderBottom);\n}\n/**\n *\n * @param {string} element - specifies the element\n * @returns {HTMLElement} - returns the element\n */\nfunction getDOMElement(element) {\n var domElement;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n if (typeof (element) === 'string') {\n domElement = document.querySelector(element);\n }\n else {\n domElement = element;\n }\n }\n return domElement;\n}\n/**\n * Wires up the event handlers for the resizable elements.\n *\n * @param {any} [args] - Optional arguments that provide context for the event handlers.\n * @returns {void}\n */\nfunction wireEvents(args) {\n var context = args || this;\n var resizers = targetElement.querySelectorAll('.' + RESIZE_HANDLER);\n for (var i = 0; i < resizers.length; i++) {\n selectedHandler = resizers[i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(selectedHandler, 'mousedown', onMouseDown, context);\n var eventName = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointerdown' : 'touchstart';\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(selectedHandler, eventName, onTouchStart, context);\n }\n var borderResizers = targetElement.querySelectorAll('.e-dialog-border-resize');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(borderResizers)) {\n for (var i = 0; i < borderResizers.length; i++) {\n selectedHandler = borderResizers[i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(selectedHandler, 'mousedown', onMouseDown, context);\n var eventName = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointerdown' : 'touchstart';\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(selectedHandler, eventName, onTouchStart, context);\n }\n }\n}\n/* istanbul ignore next */\n/**\n *\n * @param {string} e - specifies the string\n * @returns {string} - returns the string\n */\nfunction getEventType(e) {\n return (e.indexOf('mouse') > -1) ? 'mouse' : 'touch';\n}\n/* istanbul ignore next */\n/**\n *\n * @param {MouseEvent} e - specifies the mouse event\n * @returns {void}\n */\nfunction onMouseDown(e) {\n e.preventDefault();\n targetElement = e.target.parentElement;\n calculateValues();\n originalMouseX = e.pageX;\n originalMouseY = e.pageY;\n e.target.classList.add(FOCUSED_HANDLER);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(resizeStart)) {\n var proxy_1 = false || this;\n if (resizeStart(e, proxy_1) === true) {\n return;\n }\n }\n if (this.targetEle && targetElement && targetElement.querySelector('.' + DIALOG_RESIZABLE)) {\n containerElement = this.target === ('body' || 0 || 0) ? null : this.targetEle;\n maxWidth = this.targetEle.clientWidth;\n maxHeight = this.targetEle.clientHeight;\n }\n var target = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) ? document : containerElement;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'mousemove', onMouseMove, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, 'mouseup', onMouseUp, this);\n for (var i = 0; i < RESTRICT_LEFT.length; i++) {\n if (targetElement.classList.contains(RESTRICT_LEFT[i])) {\n setLeft = false;\n }\n else {\n setLeft = true;\n }\n }\n}\n/* istanbul ignore next */\n/**\n *\n * @param {MouseEvent} e - specifies the event\n * @returns {void}\n */\nfunction onMouseUp(e) {\n var touchMoveEvent = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointermove' : 'touchmove';\n var touchEndEvent = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointerup' : 'touchend';\n var target = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) ? document : containerElement;\n var eventName = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointerdown' : 'touchstart';\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'mousemove', onMouseMove);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, touchMoveEvent, onMouseMove);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, eventName, onMouseMove);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.body.querySelector('.' + FOCUSED_HANDLER))) {\n document.body.querySelector('.' + FOCUSED_HANDLER).classList.remove(FOCUSED_HANDLER);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(resizeEnd)) {\n var proxy_2 = false || this;\n resizeEnd(e, proxy_2);\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, 'mouseup', onMouseUp);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(document, touchEndEvent, onMouseUp);\n}\n/* istanbul ignore next */\n/**\n * @returns {void}\n */\nfunction calculateValues() {\n originalWidth = parseFloat(getComputedStyle(targetElement, null).getPropertyValue('width').replace('px', ''));\n originalHeight = parseFloat(getComputedStyle(targetElement, null).getPropertyValue('height').replace('px', ''));\n originalX = targetElement.getBoundingClientRect().left;\n originalY = targetElement.getBoundingClientRect().top;\n}\n/* istanbul ignore next */\n/**\n *\n * @param {MouseEvent} e - specifies the event\n * @returns {void}\n */\nfunction onTouchStart(e) {\n targetElement = e.target.parentElement;\n calculateValues();\n var dialogResizeElement = targetElement.classList.contains('e-dialog');\n if ((e.target.classList.contains(RESIZE_HANDLER) || e.target.classList.contains('e-dialog-border-resize')) && dialogResizeElement) {\n e.target.classList.add(FOCUSED_HANDLER);\n }\n var coordinates = e.touches ? e.changedTouches[0] : e;\n originalMouseX = coordinates.pageX;\n originalMouseY = coordinates.pageY;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(resizeStart)) {\n var proxy_3 = false || this;\n if (resizeStart(e, proxy_3) === true) {\n return;\n }\n }\n var touchMoveEvent = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointermove' : 'touchmove';\n var touchEndEvent = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.info.name === 'msie') ? 'pointerup' : 'touchend';\n var target = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) ? document : containerElement;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, touchMoveEvent, onMouseMove, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(document, touchEndEvent, onMouseUp, this);\n}\n/* istanbul ignore next */\n/**\n *\n * @param {MouseEvent} e - specifies the event\n * @returns {void}\n */\nfunction onMouseMove(e) {\n if (e.target.classList.contains(RESIZE_HANDLER) && e.target.classList.contains(FOCUSED_HANDLER)) {\n selectedHandler = e.target;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(document.body.querySelector('.' + FOCUSED_HANDLER))) {\n selectedHandler = document.body.querySelector('.' + FOCUSED_HANDLER);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(selectedHandler)) {\n var resizeTowards = '';\n for (var i = 0; i < elementClass.length; i++) {\n if (selectedHandler.classList.contains('e-' + elementClass[i])) {\n resizeTowards = elementClass[i];\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(resize)) {\n var proxy_4 = false || this;\n resize(e, proxy_4);\n }\n switch (resizeTowards) {\n case 'south':\n resizeSouth(e);\n break;\n case 'north':\n resizeNorth(e);\n break;\n case 'west':\n resizeWest(e);\n break;\n case 'east':\n resizeEast(e);\n break;\n case 'south-east':\n resizeSouth(e);\n resizeEast(e);\n break;\n case 'south-west':\n resizeSouth(e);\n resizeWest(e);\n break;\n case 'north-east':\n resizeNorth(e);\n resizeEast(e);\n break;\n case 'north-west':\n resizeNorth(e);\n resizeWest(e);\n break;\n default: break;\n }\n }\n}\n/* istanbul ignore next */\n/**\n *\n * @param {HTMLElement} element - specifies the eleemnt\n * @returns {ClientRect} - returns the client\n */\nfunction getClientRectValues(element) {\n return element.getBoundingClientRect();\n}\n/**\n * @param {MouseEvent | TouchEvent} e - specifies the event\n * @returns {void}\n */\nfunction resizeSouth(e) {\n var documentHeight = document.documentElement.clientHeight;\n var calculateValue = false;\n var coordinates = e.touches ? e.changedTouches[0] : e;\n var currentpageY = coordinates.pageY;\n var targetRectValues = getClientRectValues(targetElement);\n var containerRectValues;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n containerRectValues = getClientRectValues(containerElement);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n calculateValue = true;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) && ((documentHeight - currentpageY) >= 0 || (targetRectValues.top < 0))) {\n calculateValue = true;\n }\n var calculatedHeight = originalHeight + (currentpageY - originalMouseY);\n calculatedHeight = (calculatedHeight > minHeight) ? calculatedHeight : minHeight;\n var containerTop = 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n containerTop = containerRectValues.top;\n }\n var borderValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) ? 0 : containerElement.offsetHeight - containerElement.clientHeight;\n var topWithoutborder = (targetRectValues.top - containerTop) - (borderValue / 2);\n topWithoutborder = (topWithoutborder < 0) ? 0 : topWithoutborder;\n if (targetRectValues.top > 0 && (topWithoutborder + calculatedHeight) > maxHeight) {\n calculateValue = false;\n if (targetElement.classList.contains(RESIZE_WITHIN_VIEWPORT)) {\n return;\n }\n targetElement.style.height = (maxHeight - parseInt(topWithoutborder.toString(), 10)) + 'px';\n return;\n }\n var targetTop = 0;\n if (calculateValue) {\n if (targetRectValues.top < 0 && (documentHeight + (targetRectValues.height + targetRectValues.top) > 0)) {\n targetTop = targetRectValues.top;\n if ((calculatedHeight + targetTop) <= 30) {\n calculatedHeight = (targetRectValues.height - (targetRectValues.height + targetRectValues.top)) + 30;\n }\n }\n if (((calculatedHeight + targetRectValues.top) >= maxHeight)) {\n targetElement.style.height = targetRectValues.height +\n (documentHeight - (targetRectValues.height + targetRectValues.top)) + 'px';\n }\n var calculatedTop = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) ? targetTop : topWithoutborder;\n if (calculatedHeight >= minHeight && ((calculatedHeight + calculatedTop) <= maxHeight)) {\n targetElement.style.height = calculatedHeight + 'px';\n }\n }\n}\n/**\n * Resizes the element towards the north direction.\n *\n * @param {MouseEvent | TouchEvent} e - The event object.\n * @returns {void}\n */\nfunction resizeNorth(e) {\n var calculateValue = false;\n var boundaryRectValues;\n var pageY = (getEventType(e.type) === 'mouse') ? e.pageY : e.touches[0].pageY;\n var targetRectValues = getClientRectValues(targetElement);\n var borderValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) ? 0 : containerElement.offsetHeight - containerElement.clientHeight;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n boundaryRectValues = getClientRectValues(containerElement);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) && (targetRectValues.top - boundaryRectValues.top) > 0) {\n calculateValue = true;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) && pageY > 0) {\n calculateValue = true;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) &&\n (Math.floor((targetRectValues.top - boundaryRectValues.top) + targetRectValues.height +\n (boundaryRectValues.bottom - targetRectValues.bottom)) - borderValue) <= maxHeight) {\n calculateValue = true;\n }\n var currentHeight = originalHeight - (pageY - originalMouseY);\n if (calculateValue) {\n if (currentHeight >= minHeight && currentHeight <= maxHeight) {\n var containerTop = 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n containerTop = boundaryRectValues.top;\n }\n var top_1 = (originalY - containerTop) + (pageY - originalMouseY);\n top_1 = top_1 > 0 ? top_1 : 1;\n targetElement.style.height = currentHeight + 'px';\n targetElement.style.top = top_1 + 'px';\n }\n }\n}\n/**\n * Resizes the element towards the west direction.\n *\n * @param {MouseEvent | TouchEvent} e - The event object.\n * @returns {void}\n */\nfunction resizeWest(e) {\n var documentWidth = document.documentElement.clientWidth;\n var calculateValue = false;\n var rectValues;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n rectValues = getClientRectValues(containerElement);\n }\n var pageX = (getEventType(e.type) === 'mouse') ? e.pageX : e.touches[0].pageX;\n var targetRectValues = getClientRectValues(targetElement);\n var borderValue = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) ? 0 : containerElement.offsetWidth - containerElement.clientWidth;\n /* eslint-disable */\n var left = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) ? 0 : rectValues.left;\n var containerWidth = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) ? 0 : rectValues.width;\n /* eslint-enable */\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(resizeWestWidth)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n resizeWestWidth = (((targetRectValues.left - left) - borderValue / 2)) + targetRectValues.width;\n resizeWestWidth = resizeWestWidth + (containerWidth - borderValue - resizeWestWidth);\n }\n else {\n resizeWestWidth = documentWidth;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) &&\n (Math.floor((targetRectValues.left - rectValues.left) + targetRectValues.width +\n (rectValues.right - targetRectValues.right)) - borderValue) <= maxWidth) {\n calculateValue = true;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) && pageX >= 0) {\n calculateValue = true;\n }\n var calculatedWidth = originalWidth - (pageX - originalMouseX);\n if (setLeft) {\n calculatedWidth = (calculatedWidth > resizeWestWidth) ? resizeWestWidth : calculatedWidth;\n }\n if (calculateValue) {\n if (calculatedWidth >= minWidth && calculatedWidth <= maxWidth) {\n var containerLeft = 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n containerLeft = rectValues.left;\n }\n var left_1 = (originalX - containerLeft) + (pageX - originalMouseX);\n left_1 = (left_1 > 0) ? left_1 : 1;\n if (calculatedWidth !== previousWidth && setWidth) {\n targetElement.style.width = calculatedWidth + 'px';\n }\n if (setLeft) {\n targetElement.style.left = left_1 + 'px';\n if (left_1 === 1) {\n setWidth = false;\n }\n else {\n setWidth = true;\n }\n }\n }\n }\n previousWidth = calculatedWidth;\n}\n/**\n * Resizes the element towards the east direction.\n *\n * @param {MouseEvent | TouchEvent} e - The event object.\n * @returns {void}\n */\nfunction resizeEast(e) {\n var documentWidth = document.documentElement.clientWidth;\n var calculateValue = false;\n var containerRectValues;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n containerRectValues = getClientRectValues(containerElement);\n }\n var coordinates = e.touches ? e.changedTouches[0] : e;\n var pageX = coordinates.pageX;\n var targetRectValues = getClientRectValues(targetElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) && (((targetRectValues.left - containerRectValues.left) + targetRectValues.width) <= maxWidth\n || (targetRectValues.right - containerRectValues.left) >= targetRectValues.width)) {\n calculateValue = true;\n }\n else if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement) && (documentWidth - pageX) > 0) {\n calculateValue = true;\n }\n var calculatedWidth = originalWidth + (pageX - originalMouseX);\n var containerLeft = 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(containerElement)) {\n containerLeft = containerRectValues.left;\n }\n if (((targetRectValues.left - containerLeft) + calculatedWidth) > maxWidth) {\n calculateValue = false;\n if (targetElement.classList.contains(RESIZE_WITHIN_VIEWPORT)) {\n return;\n }\n targetElement.style.width = maxWidth - (targetRectValues.left - containerLeft) + 'px';\n }\n if (calculateValue) {\n if (calculatedWidth >= minWidth && calculatedWidth <= maxWidth) {\n targetElement.style.width = calculatedWidth + 'px';\n }\n }\n}\n/* istanbul ignore next */\n/**\n *\n * @param {number} minimumHeight - specifies the number\n * @returns {void}\n */\nfunction setMinHeight(minimumHeight) {\n minHeight = minimumHeight;\n}\n/**\n *\n * @param {number} value - specifies the number value\n * @returns {void}\n */\nfunction setMaxWidth(value) {\n maxWidth = value;\n}\n/**\n *\n * @param {number} value - specifies the number value\n * @returns {void}\n */\nfunction setMaxHeight(value) {\n maxHeight = value;\n}\n/**\n * @returns {void}\n */\nfunction removeResize() {\n var handlers = targetElement.querySelectorAll('.' + RESIZE_HANDLER);\n for (var i = 0; i < handlers.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(handlers[i]);\n }\n var borderResizers = targetElement.querySelectorAll('.e-dialog-border-resize');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(borderResizers)) {\n for (var i = 0; i < borderResizers.length; i++) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(borderResizers[i]);\n }\n }\n}\n/**\n * @returns {void}\n */\nfunction resizeDestroy() {\n targetElement = null;\n selectedHandler = null;\n containerElement = null;\n resizeWestWidth = null;\n resizeStart = null;\n resize = null;\n resizeEnd = null;\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/common/resize.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js": +/*!******************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationSettings: () => (/* binding */ AnimationSettings),\n/* harmony export */ ButtonProps: () => (/* binding */ ButtonProps),\n/* harmony export */ Dialog: () => (/* binding */ Dialog),\n/* harmony export */ DialogUtility: () => (/* binding */ DialogUtility)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @syncfusion/ej2-buttons */ \"./node_modules/@syncfusion/ej2-buttons/src/button/button.js\");\n/* harmony import */ var _popup_popup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../popup/popup */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _common_resize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/resize */ \"./node_modules/@syncfusion/ej2-popups/src/common/resize.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\nvar ButtonProps = /** @class */ (function (_super) {\n __extends(ButtonProps, _super);\n function ButtonProps() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], ButtonProps.prototype, \"isFlat\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], ButtonProps.prototype, \"buttonModel\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Button')\n ], ButtonProps.prototype, \"type\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], ButtonProps.prototype, \"click\", void 0);\n return ButtonProps;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * Configures the animation properties for both open and close the dialog.\n */\nvar AnimationSettings = /** @class */ (function (_super) {\n __extends(AnimationSettings, _super);\n function AnimationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Fade')\n ], AnimationSettings.prototype, \"effect\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(400)\n ], AnimationSettings.prototype, \"duration\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], AnimationSettings.prototype, \"delay\", void 0);\n return AnimationSettings;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\nvar ROOT = 'e-dialog';\nvar RTL = 'e-rtl';\nvar DLG_HEADER_CONTENT = 'e-dlg-header-content';\nvar DLG_HEADER = 'e-dlg-header';\nvar DLG_FOOTER_CONTENT = 'e-footer-content';\nvar MODAL_DLG = 'e-dlg-modal';\nvar DLG_CONTENT = 'e-dlg-content';\nvar DLG_CLOSE_ICON = 'e-icon-dlg-close';\nvar DLG_OVERLAY = 'e-dlg-overlay';\nvar DLG_TARGET = 'e-dlg-target';\nvar DLG_CONTAINER = 'e-dlg-container';\nvar SCROLL_DISABLED = 'e-scroll-disabled';\nvar DLG_PRIMARY_BUTTON = 'e-primary';\nvar ICON = 'e-icons';\nvar POPUP_ROOT = 'e-popup';\nvar DEVICE = 'e-device';\nvar FULLSCREEN = 'e-dlg-fullscreen';\nvar DLG_CLOSE_ICON_BTN = 'e-dlg-closeicon-btn';\nvar DLG_HIDE = 'e-popup-close';\nvar DLG_SHOW = 'e-popup-open';\nvar DLG_UTIL_DEFAULT_TITLE = 'Information';\nvar DLG_UTIL_ROOT = 'e-scroll-disabled';\nvar DLG_UTIL_ALERT = 'e-alert-dialog';\nvar DLG_UTIL_CONFIRM = 'e-confirm-dialog';\nvar DLG_RESIZABLE = 'e-dlg-resizable';\nvar DLG_RESTRICT_LEFT_VALUE = 'e-restrict-left';\nvar DLG_RESTRICT_WIDTH_VALUE = 'e-resize-viewport';\nvar DLG_REF_ELEMENT = 'e-dlg-ref-element';\nvar DLG_USER_ACTION_CLOSED = 'user action';\nvar DLG_CLOSE_ICON_CLOSED = 'close icon';\nvar DLG_ESCAPE_CLOSED = 'escape';\nvar DLG_OVERLAYCLICK_CLOSED = 'overlayClick';\nvar DLG_DRAG = 'e-draggable';\n/**\n * Represents the dialog component that displays the information and get input from the user.\n * Two types of dialog components are `Modal and Modeless (non-modal)` depending on its interaction with parent application.\n * ```html\n *
        \n * ```\n * ```typescript\n * \n * ```\n */\nvar Dialog = /** @class */ (function (_super) {\n __extends(Dialog, _super);\n /*\n * * Constructor for creating the widget\n *\n * @param\n * @param\n * @hidden\n */\n function Dialog(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.needsID = true;\n return _this;\n }\n /**\n *Initialize the control rendering\n *\n * @returns {void}\n * @private\n */\n Dialog.prototype.render = function () {\n this.initialize();\n this.initRender();\n this.wireEvents();\n if (this.width === '100%') {\n this.element.style.width = '';\n }\n if (this.minHeight !== '') {\n this.element.style.minHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.minHeight);\n }\n if (this.enableResize) {\n this.setResize();\n if (this.isModal) {\n this.isModelResize = true;\n }\n if (this.animationSettings.effect === 'None') {\n this.getMinHeight();\n }\n }\n this.renderComplete();\n };\n Dialog.prototype.initializeValue = function () {\n this.dlgClosedBy = DLG_USER_ACTION_CLOSED;\n };\n /**\n *Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n Dialog.prototype.preRender = function () {\n var _this = this;\n this.initializeValue();\n this.headerContent = null;\n this.allowMaxHeight = true;\n this.preventVisibility = true;\n this.clonedEle = this.element.cloneNode(true);\n this.closeIconClickEventHandler = function (event) {\n _this.dlgClosedBy = DLG_CLOSE_ICON_CLOSED;\n _this.hide(event);\n };\n this.dlgOverlayClickEventHandler = function (event) {\n _this.dlgClosedBy = DLG_OVERLAYCLICK_CLOSED;\n event.preventFocus = false;\n _this.trigger('overlayClick', event, function (overlayClickEventArgs) {\n if (!overlayClickEventArgs.preventFocus) {\n _this.focusContent();\n }\n _this.dlgClosedBy = DLG_USER_ACTION_CLOSED;\n });\n };\n var localeText = { close: 'Close' };\n this.l10n = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.L10n('dialog', localeText, this.locale);\n this.checkPositionData();\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n this.target = document.body;\n this.isProtectedOnChange = prevOnChange;\n }\n };\n Dialog.prototype.updatePersistData = function () {\n if (this.enablePersistence) {\n this.setProperties({ width: parseFloat(this.element.style.width), height: parseFloat(this.element.style.height),\n position: { X: parseFloat(this.dragObj.element.style.left), Y: parseFloat(this.dragObj.element.style.top) } }, true);\n }\n };\n Dialog.prototype.isNumberValue = function (value) {\n var isNumber = /^[-+]?\\d*\\.?\\d+$/.test(value);\n return isNumber;\n };\n Dialog.prototype.checkPositionData = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.position)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.position.X) && (typeof (this.position.X) !== 'number')) {\n var isNumber = this.isNumberValue(this.position.X);\n if (isNumber) {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n this.position.X = parseFloat(this.position.X);\n this.isProtectedOnChange = prevOnChange;\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.position.Y) && (typeof (this.position.Y) !== 'number')) {\n var isNumber = this.isNumberValue(this.position.Y);\n if (isNumber) {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n this.position.Y = parseFloat(this.position.Y);\n this.isProtectedOnChange = prevOnChange;\n }\n }\n }\n };\n Dialog.prototype.getEle = function (list, selector) {\n var element = undefined;\n for (var i = 0; i < list.length; i++) {\n if (list[i].classList.contains(selector)) {\n element = list[i];\n break;\n }\n }\n return element;\n };\n /* istanbul ignore next */\n Dialog.prototype.getMinHeight = function () {\n var computedHeaderHeight = '0px';\n var computedFooterHeight = '0px';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.' + DLG_HEADER_CONTENT))) {\n computedHeaderHeight = getComputedStyle(this.headerContent).height;\n }\n var footerEle = this.getEle(this.element.children, DLG_FOOTER_CONTENT);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(footerEle)) {\n computedFooterHeight = getComputedStyle(footerEle).height;\n }\n var headerHeight = parseInt(computedHeaderHeight.slice(0, computedHeaderHeight.indexOf('p')), 10);\n var footerHeight = parseInt(computedFooterHeight.slice(0, computedFooterHeight.indexOf('p')), 10);\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.setMinHeight)(headerHeight + 30 + (isNaN(footerHeight) ? 0 : footerHeight));\n return (headerHeight + 30 + footerHeight);\n };\n Dialog.prototype.onResizeStart = function (args, dialogObj) {\n dialogObj.trigger('resizeStart', args);\n if (!args.cancel && this.isModelResize && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgContainer) && this.dlgContainer.classList.contains('e-dlg-' + this.position.X + '-' + this.position.Y)) {\n this.setPopupPosition();\n this.dlgContainer.classList.remove('e-dlg-' + this.position.X + '-' + this.position.Y);\n var targetType = this.getTargetContainer(this.target);\n if (targetType instanceof Element) {\n var computedStyle = window.getComputedStyle(targetType);\n if (computedStyle.getPropertyValue('direction') === 'rtl') {\n this.element.style.position = 'absolute';\n }\n else {\n this.element.style.position = 'relative';\n }\n }\n else {\n this.element.style.position = 'relative';\n }\n if (this.element.classList.contains(DLG_RESTRICT_LEFT_VALUE)) {\n this.element.classList.remove(DLG_RESTRICT_LEFT_VALUE);\n }\n this.isModelResize = false;\n }\n return args.cancel;\n };\n Dialog.prototype.onResizing = function (args, dialogObj) {\n dialogObj.trigger('resizing', args);\n };\n Dialog.prototype.onResizeComplete = function (args, dialogObj) {\n dialogObj.trigger('resizeStop', args);\n this.updatePersistData();\n };\n Dialog.prototype.setResize = function () {\n if (this.enableResize) {\n this.element.classList.add(DLG_RESIZABLE);\n var computedHeight = getComputedStyle(this.element).minHeight;\n var computedWidth = getComputedStyle(this.element).minWidth;\n var direction = '';\n for (var i = 0; i < this.resizeHandles.length; i++) {\n if (this.resizeHandles[i] === 'All') {\n direction = 'south north east west north-east north-west south-east south-west';\n break;\n }\n else {\n var directionValue = '';\n switch (this.resizeHandles[i].toString()) {\n case 'SouthEast':\n directionValue = 'south-east';\n break;\n case 'SouthWest':\n directionValue = 'south-west';\n break;\n case 'NorthEast':\n directionValue = 'north-east';\n break;\n case 'NorthWest':\n directionValue = 'north-west';\n break;\n default:\n directionValue = this.resizeHandles[i].toString();\n break;\n }\n direction += directionValue.toLocaleLowerCase() + ' ';\n }\n }\n if (this.enableRtl && direction.trim() === 'south-east') {\n direction = 'south-west';\n }\n else if (this.enableRtl && direction.trim() === 'south-west') {\n direction = 'south-east';\n }\n if (this.isModal && this.enableRtl) {\n this.element.classList.add(DLG_RESTRICT_LEFT_VALUE);\n }\n else if (this.isModal && this.target === document.body) {\n this.element.classList.add(DLG_RESTRICT_WIDTH_VALUE);\n }\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.createResize)({\n element: this.element,\n direction: direction,\n minHeight: parseInt(computedHeight.slice(0, computedWidth.indexOf('p')), 10),\n maxHeight: this.targetEle.clientHeight,\n minWidth: parseInt(computedWidth.slice(0, computedWidth.indexOf('p')), 10),\n maxWidth: this.targetEle.clientWidth,\n boundary: this.target === document.body ? null : this.targetEle,\n resizeBegin: this.onResizeStart.bind(this),\n resizeComplete: this.onResizeComplete.bind(this),\n resizing: this.onResizing.bind(this),\n proxy: this\n });\n this.wireWindowResizeEvent();\n }\n else {\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.removeResize)();\n this.unWireWindowResizeEvent();\n if (this.isModal) {\n this.element.classList.remove(DLG_RESTRICT_LEFT_VALUE);\n }\n else {\n this.element.classList.remove(DLG_RESTRICT_WIDTH_VALUE);\n }\n this.element.classList.remove(DLG_RESIZABLE);\n }\n };\n Dialog.prototype.getFocusElement = function (target) {\n var value = 'input,select,textarea,button:enabled,a,[contenteditable=\"true\"],[tabindex]';\n var items = target.querySelectorAll(value);\n return { element: items[items.length - 1] };\n };\n /* istanbul ignore next */\n Dialog.prototype.keyDown = function (event) {\n var _this = this;\n if (event.keyCode === 9) {\n if (this.isModal) {\n var buttonObj = void 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.btnObj)) {\n buttonObj = this.btnObj[this.btnObj.length - 1];\n }\n if (((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.btnObj)) && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ftrTemplateContent))) {\n buttonObj = this.getFocusElement(this.ftrTemplateContent);\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.btnObj) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ftrTemplateContent) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentEle)) {\n buttonObj = this.getFocusElement(this.contentEle);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(buttonObj) && document.activeElement === buttonObj.element && !event.shiftKey) {\n event.preventDefault();\n this.focusableElements(this.element).focus();\n }\n if (document.activeElement === this.focusableElements(this.element) && event.shiftKey) {\n event.preventDefault();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(buttonObj)) {\n buttonObj.element.focus();\n }\n }\n }\n }\n var element = document.activeElement;\n var isTagName = (['input', 'textarea'].indexOf(element.tagName.toLowerCase()) > -1);\n var isContentEdit = false;\n if (!isTagName) {\n isContentEdit = element.hasAttribute('contenteditable') && element.getAttribute('contenteditable') === 'true';\n }\n if (event.keyCode === 27 && this.closeOnEscape) {\n this.dlgClosedBy = DLG_ESCAPE_CLOSED;\n var query = document.querySelector('.e-popup-open:not(.e-dialog)');\n // 'document.querySelector' is used to find the elements rendered based on body\n if (!(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(query) && !query.classList.contains('e-toolbar-pop') && !query.classList.contains('e-slider-tooltip'))) {\n this.hide(event);\n }\n }\n if ((event.keyCode === 13 && !event.ctrlKey && element.tagName.toLowerCase() !== 'textarea' &&\n isTagName && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.primaryButtonEle)) ||\n (event.keyCode === 13 && event.ctrlKey && (element.tagName.toLowerCase() === 'textarea' ||\n isContentEdit)) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.primaryButtonEle)) {\n var buttonIndex_1;\n var firstPrimary = this.buttons.some(function (data, index) {\n buttonIndex_1 = index;\n var buttonModel = data.buttonModel;\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(buttonModel) && buttonModel.isPrimary === true;\n });\n if (firstPrimary && typeof (this.buttons[buttonIndex_1].click) === 'function' && !this.primaryButtonEle.disabled) {\n setTimeout(function () {\n _this.buttons[buttonIndex_1].click.call(_this, event);\n });\n }\n }\n };\n /**\n * Initialize the control rendering\n *\n * @returns {void}\n * @private\n */\n Dialog.prototype.initialize = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) {\n this.targetEle = ((typeof this.target) === 'string') ?\n document.querySelector(this.target) : this.target;\n }\n if (!this.isBlazorServerRender()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], ROOT);\n }\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], DEVICE);\n }\n if (!this.isBlazorServerRender()) {\n this.setCSSClass();\n }\n this.setMaxHeight();\n };\n /**\n * Initialize the rendering\n *\n * @returns {void}\n * @private\n */\n Dialog.prototype.initRender = function () {\n var _this = this;\n this.initialRender = true;\n if (!this.isBlazorServerRender()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { role: 'dialog' });\n }\n if (this.zIndex === 1000) {\n this.setzIndex(this.element, false);\n this.calculatezIndex = true;\n }\n else {\n this.calculatezIndex = false;\n }\n this.setTargetContent();\n if (this.header !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.header)) {\n this.setHeader();\n }\n this.renderCloseIcon();\n this.setContent();\n if (this.footerTemplate !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.footerTemplate)) {\n this.setFooterTemplate();\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.buttons[0]) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.buttons[0].buttonModel)) {\n this.setButton();\n }\n if (this.allowDragging && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent))) {\n this.setAllowDragging();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-modal': (this.isModal ? 'true' : 'false') });\n if (this.isModal) {\n this.setIsModal();\n }\n if (this.element.classList.contains(DLG_UTIL_ALERT) !== true && this.element.classList.contains(DLG_UTIL_CONFIRM) !== true\n && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.parentElement)) {\n var parentEle = this.isModal ? this.dlgContainer.parentElement : this.element.parentElement;\n this.refElement = this.createElement('div', { className: DLG_REF_ELEMENT });\n parentEle.insertBefore(this.refElement, (this.isModal ? this.dlgContainer : this.element));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetEle)) {\n if (this.isModal) {\n this.targetEle.appendChild(this.dlgContainer);\n }\n else {\n this.targetEle.appendChild(this.element);\n }\n }\n this.popupObj = new _popup_popup__WEBPACK_IMPORTED_MODULE_2__.Popup(this.element, {\n height: this.height,\n width: this.width,\n zIndex: this.zIndex,\n relateTo: this.target,\n actionOnScroll: 'none',\n enableRtl: this.enableRtl,\n // eslint-disable-next-line\n open: function (event) {\n var eventArgs = {\n container: _this.isModal ? _this.dlgContainer : _this.element,\n element: _this.element,\n target: _this.target,\n preventFocus: false\n };\n if (_this.enableResize) {\n _this.resetResizeIcon();\n }\n _this.trigger('open', eventArgs, function (openEventArgs) {\n if (!openEventArgs.preventFocus) {\n _this.focusContent();\n }\n });\n },\n // eslint-disable-next-line\n close: function (event) {\n if (_this.isModal) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.dlgOverlay], 'e-fade');\n }\n _this.unBindEvent(_this.element);\n if (_this.isModal) {\n _this.dlgContainer.style.display = 'none';\n }\n _this.trigger('close', _this.closeArgs);\n var activeEle = document.activeElement;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(activeEle) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)((activeEle).blur)) {\n activeEle.blur();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.storeActiveElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.storeActiveElement.focus)) {\n _this.storeActiveElement.focus();\n }\n }\n });\n this.positionChange();\n this.setEnableRTL();\n if (!this.isBlazorServerRender()) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], DLG_HIDE);\n if (this.isModal) {\n this.setOverlayZindex();\n }\n }\n if (this.visible) {\n this.show();\n if (this.isModal) {\n var targetType = this.getTargetContainer(this.target);\n if (targetType instanceof Element) {\n var computedStyle = window.getComputedStyle(targetType);\n if (computedStyle.getPropertyValue('direction') === 'rtl') {\n this.setPopupPosition();\n }\n }\n }\n }\n else {\n if (this.isModal) {\n this.dlgOverlay.style.display = 'none';\n }\n }\n this.initialRender = false;\n };\n Dialog.prototype.getTargetContainer = function (targetValue) {\n var targetElement = null;\n if (typeof targetValue === 'string') {\n if (targetValue.startsWith('#')) {\n targetElement = document.getElementById(targetValue.substring(1));\n }\n else if (targetValue.startsWith('.')) {\n var elements = document.getElementsByClassName(targetValue.substring(1));\n targetElement = elements.length > 0 ? elements[0] : null;\n }\n else {\n if (!(targetValue instanceof HTMLElement) && targetValue !== document.body) {\n targetElement = document.querySelector(targetValue);\n }\n }\n }\n else if (targetValue instanceof HTMLElement) {\n targetElement = targetValue;\n }\n return targetElement;\n };\n Dialog.prototype.resetResizeIcon = function () {\n var dialogConHeight = this.getMinHeight();\n if (this.targetEle.offsetHeight < dialogConHeight) {\n var className = this.enableRtl ? 'e-south-west' : 'e-south-east';\n var resizeIcon = this.element.querySelector('.' + className);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(resizeIcon)) {\n resizeIcon.style.bottom = '-' + dialogConHeight.toString() + 'px';\n }\n }\n };\n Dialog.prototype.setOverlayZindex = function (zIndexValue) {\n var zIndex;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(zIndexValue)) {\n zIndex = parseInt(this.element.style.zIndex, 10) ? parseInt(this.element.style.zIndex, 10) : this.zIndex;\n }\n else {\n zIndex = zIndexValue;\n }\n this.dlgOverlay.style.zIndex = (zIndex - 1).toString();\n this.dlgContainer.style.zIndex = zIndex.toString();\n };\n Dialog.prototype.positionChange = function () {\n if (this.isModal) {\n if (!isNaN(parseFloat(this.position.X)) && !isNaN(parseFloat(this.position.Y))) {\n this.setPopupPosition();\n }\n else if ((!isNaN(parseFloat(this.position.X)) && isNaN(parseFloat(this.position.Y)))\n || (isNaN(parseFloat(this.position.X)) && !isNaN(parseFloat(this.position.Y)))) {\n this.setPopupPosition();\n }\n else {\n this.element.style.top = '0px';\n this.element.style.left = '0px';\n this.dlgContainer.classList.add('e-dlg-' + this.position.X + '-' + this.position.Y);\n }\n }\n else {\n this.setPopupPosition();\n }\n };\n Dialog.prototype.setPopupPosition = function () {\n this.popupObj.setProperties({\n position: {\n X: this.position.X, Y: this.position.Y\n }\n });\n };\n Dialog.prototype.setAllowDragging = function () {\n var _this = this;\n var handleContent = '.' + DLG_HEADER_CONTENT;\n if (!this.element.classList.contains(DLG_DRAG)) {\n this.dragObj = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Draggable(this.element, {\n clone: false,\n isDragScroll: true,\n abort: '.e-dlg-closeicon-btn',\n handle: handleContent,\n dragStart: function (event) {\n _this.trigger('dragStart', event, function (dragEventArgs) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n dragEventArgs.bindEvents(event.dragElement);\n }\n });\n },\n dragStop: function (event) {\n if (_this.isModal) {\n _this.IsDragStop = true;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.position)) {\n _this.dlgContainer.classList.remove('e-dlg-' + _this.position.X + '-' + _this.position.Y);\n }\n // Reset the dialog position after drag completion.\n var targetType = _this.getTargetContainer(_this.target);\n if (targetType instanceof Element) {\n var computedStyle = window.getComputedStyle(targetType);\n if (computedStyle.getPropertyValue('direction') === 'rtl') {\n _this.element.style.position = 'absolute';\n }\n else {\n _this.element.style.position = 'relative';\n }\n }\n else {\n _this.element.style.position = 'relative';\n }\n }\n _this.trigger('dragStop', event);\n _this.isModelResize = false;\n _this.element.classList.remove(DLG_RESTRICT_LEFT_VALUE);\n _this.updatePersistData();\n },\n drag: function (event) {\n _this.trigger('drag', event);\n }\n });\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetEle)) {\n this.dragObj.dragArea = this.targetEle;\n }\n }\n };\n Dialog.prototype.setButton = function () {\n if (!this.isBlazorServerRender()) {\n this.buttonContent = [];\n this.btnObj = [];\n for (var i = 0; i < this.buttons.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.buttons[i].buttonModel)) {\n continue;\n }\n var buttonType = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.buttons[i].type) ?\n this.buttons[i].type.toLowerCase() : 'button';\n var btn = this.createElement('button', { className: this.cssClass, attrs: { type: buttonType, tabindex: '0' } });\n this.buttonContent.push(btn.outerHTML);\n }\n this.setFooterTemplate();\n }\n var footerBtn;\n for (var i = 0, childNodes = this.element.children; i < childNodes.length; i++) {\n if (childNodes[i].classList.contains(DLG_FOOTER_CONTENT)) {\n footerBtn = childNodes[i].querySelectorAll('button');\n }\n }\n for (var i = 0; i < this.buttons.length; i++) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.buttons[i].buttonModel)) {\n continue;\n }\n if (!this.isBlazorServerRender()) {\n this.btnObj[i] = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.Button(this.buttons[i].buttonModel);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ftrTemplateContent) && footerBtn.length > 0) {\n if (typeof (this.buttons[i].click) === 'function') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(footerBtn[i], 'click', this.buttons[i].click, this);\n }\n if (typeof (this.buttons[i].click) === 'object') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(footerBtn[i], 'click', this.buttonClickHandler.bind(this, i), this);\n }\n }\n if (!this.isBlazorServerRender() && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ftrTemplateContent)) {\n this.btnObj[i].appendTo(this.ftrTemplateContent.children[i]);\n if (this.buttons[i].isFlat) {\n this.btnObj[i].element.classList.add('e-flat');\n }\n this.primaryButtonEle = this.element.getElementsByClassName('e-primary')[0];\n }\n }\n };\n Dialog.prototype.buttonClickHandler = function (index) {\n this.trigger('buttons[' + index + '].click', {});\n };\n Dialog.prototype.setContent = function () {\n this.contentEle = this.createElement('div', { className: DLG_CONTENT, id: this.element.id + '_dialog-content' });\n if (this.headerEle) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-describedby': this.element.id + '_title' + ' ' + this.element.id + '_dialog-content' });\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-describedby': this.element.id + '_dialog-content' });\n }\n if (this.innerContentElement) {\n this.contentEle.appendChild(this.innerContentElement);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.content) && this.content !== '' || !this.initialRender) {\n if (typeof (this.content) === 'string' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n this.setTemplate(this.content, this.contentEle, 'content');\n }\n else if (this.content instanceof HTMLElement) {\n this.contentEle.appendChild(this.content);\n }\n else {\n this.setTemplate(this.content, this.contentEle, 'content');\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent)) {\n this.element.insertBefore(this.contentEle, this.element.children[1]);\n }\n else {\n this.element.insertBefore(this.contentEle, this.element.children[0]);\n }\n if (this.height === 'auto') {\n if (!this.isBlazorServerRender() && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE && this.element.style.width === '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.width)) {\n this.element.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n }\n this.setMaxHeight();\n }\n };\n Dialog.prototype.setTemplate = function (template, toElement, prop) {\n var templateFn;\n var templateProps;\n if (toElement.classList.contains(DLG_HEADER)) {\n templateProps = this.element.id + 'header';\n }\n else if (toElement.classList.contains(DLG_FOOTER_CONTENT)) {\n templateProps = this.element.id + 'footerTemplate';\n }\n else {\n templateProps = this.element.id + 'content';\n }\n var templateValue;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(template.outerHTML)) {\n toElement.appendChild(template);\n }\n else if ((typeof template === 'string') || (typeof template !== 'string') || ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && !this.isStringTemplate)) {\n if ((typeof template === 'string')) {\n template = this.sanitizeHelper(template);\n }\n if (this.isVue || typeof template !== 'string') {\n templateFn = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(template);\n templateValue = template;\n }\n else {\n toElement.innerHTML = template;\n }\n }\n var fromElements = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(templateFn)) {\n var isString = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() &&\n !this.isStringTemplate && (templateValue).indexOf('
        Blazor') === 0) ?\n this.isStringTemplate : true;\n for (var _i = 0, _a = templateFn({}, this, prop, templateProps, isString); _i < _a.length; _i++) {\n var item = _a[_i];\n fromElements.push(item);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)([].slice.call(fromElements), toElement);\n }\n };\n /*\n * @returns {void}\n * @hidden\n * @value\n */\n Dialog.prototype.sanitizeHelper = function (value) {\n if (this.enableHtmlSanitizer) {\n var dialogItem = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.beforeSanitize();\n var beforeEvent = {\n cancel: false,\n helper: null\n };\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.extend)(dialogItem, dialogItem, beforeEvent);\n this.trigger('beforeSanitizeHtml', dialogItem);\n if (dialogItem.cancel && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(dialogItem.helper)) {\n value = dialogItem.helper(value);\n }\n else if (!dialogItem.cancel) {\n value = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.serializeValue(dialogItem, value);\n }\n }\n return value;\n };\n Dialog.prototype.setMaxHeight = function () {\n if (!this.allowMaxHeight) {\n return;\n }\n var display = this.element.style.display;\n this.element.style.display = 'none';\n this.element.style.maxHeight = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) && (this.targetEle.offsetHeight < window.innerHeight) ?\n (this.targetEle.offsetHeight - 20) + 'px' : (window.innerHeight - 20) + 'px';\n this.element.style.display = display;\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE && this.height === 'auto' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentEle)\n && this.element.offsetHeight < this.contentEle.offsetHeight) {\n this.element.style.height = 'inherit';\n }\n };\n Dialog.prototype.setEnableRTL = function () {\n if (!this.isBlazorServerRender()) {\n if (this.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], RTL);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], RTL);\n }\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.querySelector('.e-resize-handle'))) {\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.removeResize)();\n this.setResize();\n }\n };\n Dialog.prototype.setTargetContent = function () {\n var _this = this;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.content) || this.content === '') {\n var isContent = this.element.innerHTML.replace(/\\s|<(\\/?|\\/?)(!--!--)>/g, '') !== '';\n if (this.element.children.length > 0 || isContent) {\n this.innerContentElement = document.createDocumentFragment();\n [].slice.call(this.element.childNodes).forEach(function (el) {\n if (el.nodeType !== 8) {\n _this.innerContentElement.appendChild(el);\n }\n });\n }\n }\n };\n Dialog.prototype.setHeader = function () {\n if (this.headerEle) {\n this.headerEle.innerHTML = '';\n }\n else {\n this.headerEle = this.createElement('div', { id: this.element.id + '_title', className: DLG_HEADER });\n }\n this.createHeaderContent();\n this.headerContent.appendChild(this.headerEle);\n this.setTemplate(this.header, this.headerEle, 'header');\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-describedby': this.element.id + '_title' });\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(this.element, { 'aria-labelledby': this.element.id + '_dialog-header' });\n this.element.insertBefore(this.headerContent, this.element.children[0]);\n if (this.allowDragging && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent))) {\n this.setAllowDragging();\n }\n };\n Dialog.prototype.setFooterTemplate = function () {\n if (this.ftrTemplateContent) {\n this.ftrTemplateContent.innerHTML = '';\n }\n else {\n this.ftrTemplateContent = this.createElement('div', {\n className: DLG_FOOTER_CONTENT\n });\n }\n if (this.footerTemplate !== '' && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.footerTemplate)) {\n this.setTemplate(this.footerTemplate, this.ftrTemplateContent, 'footerTemplate');\n }\n else {\n this.ftrTemplateContent.innerHTML = this.buttonContent.join('');\n }\n this.element.appendChild(this.ftrTemplateContent);\n };\n Dialog.prototype.createHeaderContent = function () {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent)) {\n this.headerContent = this.createElement('div', { id: this.element.id + '_dialog-header', className: DLG_HEADER_CONTENT });\n }\n };\n Dialog.prototype.renderCloseIcon = function () {\n if (this.showCloseIcon) {\n this.closeIcon = this.createElement('button', { className: DLG_CLOSE_ICON_BTN, attrs: { type: 'button' } });\n this.closeIconBtnObj = new _syncfusion_ej2_buttons__WEBPACK_IMPORTED_MODULE_3__.Button({ cssClass: 'e-flat', iconCss: DLG_CLOSE_ICON + ' ' + ICON });\n this.closeIconTitle();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.closeIcon], this.headerContent);\n }\n else {\n this.createHeaderContent();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.prepend)([this.closeIcon], this.headerContent);\n this.element.insertBefore(this.headerContent, this.element.children[0]);\n }\n this.closeIconBtnObj.appendTo(this.closeIcon);\n }\n };\n Dialog.prototype.closeIconTitle = function () {\n this.l10n.setLocale(this.locale);\n var closeIconTitle = this.l10n.getConstant('close');\n this.closeIcon.setAttribute('title', closeIconTitle);\n this.closeIcon.setAttribute('aria-label', closeIconTitle);\n };\n Dialog.prototype.setCSSClass = function (oldCSSClass) {\n if (oldCSSClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], oldCSSClass.split(' '));\n if (this.isModal && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgContainer)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.dlgContainer], oldCSSClass.split(' '));\n }\n }\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], this.cssClass.split(' '));\n if (this.isModal && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgContainer)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.dlgContainer], this.cssClass.split(' '));\n }\n }\n };\n Dialog.prototype.setIsModal = function () {\n this.dlgContainer = this.createElement('div', { className: DLG_CONTAINER });\n this.setCSSClass();\n this.element.classList.remove(DLG_SHOW);\n this.element.parentNode.insertBefore(this.dlgContainer, this.element);\n this.dlgContainer.appendChild(this.element);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], MODAL_DLG);\n this.dlgOverlay = this.createElement('div', { className: DLG_OVERLAY });\n this.dlgOverlay.style.zIndex = (this.zIndex - 1).toString();\n this.dlgContainer.appendChild(this.dlgOverlay);\n };\n Dialog.prototype.getValidFocusNode = function (items) {\n var node;\n for (var u = 0; u < items.length; u++) {\n node = items[u];\n if ((node.clientHeight > 0 || (node.tagName.toLowerCase() === 'a' && node.hasAttribute('href'))) && node.tabIndex > -1 &&\n !node.disabled && !this.disableElement(node, '[disabled],[aria-disabled=\"true\"],[type=\"hidden\"]')) {\n return node;\n }\n else {\n node = null;\n }\n }\n return node;\n };\n Dialog.prototype.focusableElements = function (content) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(content)) {\n var value = 'input,select,textarea,button,a,[contenteditable=\"true\"],[tabindex]';\n var items = content.querySelectorAll(value);\n return this.getValidFocusNode(items);\n }\n return null;\n };\n Dialog.prototype.getAutoFocusNode = function (container) {\n var node = container.querySelector('.' + DLG_CLOSE_ICON_BTN);\n var value = '[autofocus]';\n var items = container.querySelectorAll(value);\n var validNode = this.getValidFocusNode(items);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)()) {\n this.primaryButtonEle = this.element.getElementsByClassName('e-primary')[0];\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(validNode)) {\n node = validNode;\n }\n else {\n validNode = this.focusableElements(this.contentEle);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(validNode)) {\n return node = validNode;\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.primaryButtonEle)) {\n return this.element.querySelector('.' + DLG_PRIMARY_BUTTON);\n }\n }\n return node;\n };\n Dialog.prototype.disableElement = function (element, t) {\n var elementMatch = element ? element.matches || element.webkitMatchesSelector || element.msGetRegionContent : null;\n if (elementMatch) {\n for (; element; element = element.parentNode) {\n if (element instanceof Element && elementMatch.call(element, t)) {\n /* istanbul ignore next */\n return element;\n }\n }\n }\n return null;\n };\n Dialog.prototype.focusContent = function () {\n var element = this.getAutoFocusNode(this.element);\n var node = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element) ? element : this.element;\n var userAgent = _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.userAgent;\n if (userAgent.indexOf('MSIE ') > 0 || userAgent.indexOf('Trident/') > 0) {\n this.element.focus();\n }\n node.focus();\n this.unBindEvent(this.element);\n this.bindEvent(this.element);\n };\n Dialog.prototype.bindEvent = function (element) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(element, 'keydown', this.keyDown, this);\n };\n Dialog.prototype.unBindEvent = function (element) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(element, 'keydown', this.keyDown);\n };\n Dialog.prototype.updateSanitizeContent = function () {\n if (!this.isBlazorServerRender()) {\n this.contentEle.innerHTML = this.sanitizeHelper(this.content);\n }\n };\n Dialog.prototype.isBlazorServerRender = function () {\n return (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() && this.isServerRendered;\n };\n /**\n * Module required function\n *\n * @returns {void}\n * @private\n */\n Dialog.prototype.getModuleName = function () {\n return 'dialog';\n };\n /**\n * Called internally if any of the property value changed\n *\n * @param {DialogModel} newProp - specifies the new property\n * @param {DialogModel} oldProp - specifies the old property\n * @private\n * @returns {void}\n */\n Dialog.prototype.onPropertyChanged = function (newProp, oldProp) {\n if (!this.element.classList.contains(ROOT)) {\n return;\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'content':\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.content) && this.content !== '') {\n if (this.isBlazorServerRender()) {\n this.contentEle = this.element.querySelector('.e-dlg-content');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentEle) && this.contentEle.getAttribute('role') !== 'dialog') {\n if (!this.isBlazorServerRender()) {\n this.contentEle.innerHTML = '';\n }\n if (typeof (this.content) === 'function') {\n this.clearTemplate(['content']);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.contentEle);\n this.contentEle = null;\n this.setContent();\n }\n else {\n if (typeof (this.content) === 'string') {\n this.updateSanitizeContent();\n }\n else {\n this.contentEle.appendChild(this.content);\n }\n }\n this.setMaxHeight();\n }\n else {\n this.setContent();\n }\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentEle)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.contentEle);\n this.contentEle = null;\n }\n break;\n case 'header':\n if (this.header === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.header)) {\n if (this.headerEle) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.headerEle);\n this.headerEle = null;\n }\n }\n else {\n this.setHeader();\n }\n break;\n case 'footerTemplate':\n if (this.footerTemplate === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.footerTemplate)) {\n if (!this.ftrTemplateContent) {\n return;\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.ftrTemplateContent);\n this.ftrTemplateContent = null;\n this.buttons = [{}];\n }\n else {\n this.setFooterTemplate();\n this.buttons = [{}];\n }\n break;\n case 'showCloseIcon':\n if (this.element.getElementsByClassName(DLG_CLOSE_ICON).length > 0) {\n if (!this.showCloseIcon && (this.header === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.header))) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.headerContent);\n this.headerContent = null;\n }\n else if (!this.showCloseIcon) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.closeIcon);\n }\n }\n else {\n this.renderCloseIcon();\n this.wireEvents();\n }\n break;\n case 'locale':\n if (this.showCloseIcon) {\n this.closeIconTitle();\n }\n break;\n case 'visible':\n if (this.visible) {\n this.show();\n }\n else {\n this.hide();\n }\n break;\n case 'isModal':\n this.updateIsModal();\n break;\n case 'height':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'height': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.height) });\n this.updatePersistData();\n break;\n case 'width':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'width': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.width) });\n this.updatePersistData();\n break;\n case 'zIndex':\n this.popupObj.zIndex = this.zIndex;\n if (this.isModal) {\n this.setOverlayZindex(this.zIndex);\n }\n if (this.element.style.zIndex !== this.zIndex.toString()) {\n this.calculatezIndex = false;\n }\n break;\n case 'cssClass':\n this.setCSSClass(oldProp.cssClass);\n break;\n case 'buttons': {\n this.unWireButtonEvents();\n this.destroyButtons();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.ftrTemplateContent)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.ftrTemplateContent);\n this.ftrTemplateContent = null;\n }\n this.footerTemplate = '';\n this.setButton();\n break;\n }\n case 'allowDragging':\n if (this.allowDragging && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent))) {\n this.setAllowDragging();\n }\n else {\n this.dragObj.destroy();\n }\n break;\n case 'target':\n this.setTarget(newProp.target);\n break;\n case 'position':\n this.checkPositionData();\n if (this.isModal) {\n var positionX = this.position.X;\n var positionY = this.position.Y;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldProp.position)) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldProp.position.X)) {\n positionX = oldProp.position.X;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(oldProp.position.Y)) {\n positionY = oldProp.position.Y;\n }\n }\n if (this.dlgContainer.classList.contains('e-dlg-' + positionX + '-' + positionY)) {\n this.dlgContainer.classList.remove('e-dlg-' + positionX + '-' + positionY);\n }\n }\n this.positionChange();\n this.updatePersistData();\n break;\n case 'enableRtl':\n this.setEnableRTL();\n break;\n case 'enableResize':\n this.setResize();\n this.isModelResize = this.enableResize && this.isModal;\n if (this.enableResize && this.dialogOpen) {\n this.resetResizeIcon();\n }\n break;\n case 'minHeight':\n if (this.minHeight !== '') {\n this.element.style.minHeight = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.minHeight);\n }\n break;\n }\n }\n };\n Dialog.prototype.setTarget = function (target) {\n this.popupObj.relateTo = target;\n this.target = target;\n this.targetEle = ((typeof this.target) === 'string') ?\n document.querySelector(this.target) : this.target;\n if (this.dragObj) {\n this.dragObj.dragArea = this.targetEle;\n }\n this.setMaxHeight();\n if (this.isModal) {\n this.updateIsModal();\n }\n if (this.enableResize) {\n this.setResize();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetEle)) {\n if (this.isModal && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgContainer)) {\n this.targetEle.appendChild(this.dlgContainer);\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element)) {\n this.targetEle.appendChild(this.element);\n }\n }\n };\n Dialog.prototype.updateIsModal = function () {\n this.element.setAttribute('aria-modal', this.isModal ? 'true' : 'false');\n if (this.isModal) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dlgOverlay)) {\n this.setIsModal();\n this.element.style.top = '0px';\n this.element.style.left = '0px';\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetEle)) {\n this.targetEle.appendChild(this.dlgContainer);\n }\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], MODAL_DLG);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], [DLG_TARGET, SCROLL_DISABLED]);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.dlgOverlay);\n while (this.dlgContainer.firstChild) {\n this.dlgContainer.parentElement.insertBefore(this.dlgContainer.firstChild, this.dlgContainer);\n }\n this.dlgContainer.parentElement.removeChild(this.dlgContainer);\n }\n if (this.visible) {\n this.show();\n }\n this.positionChange();\n if (this.isModal && this.dlgOverlay) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlgOverlay, 'click', this.dlgOverlayClickEventHandler, this);\n }\n };\n Dialog.prototype.setzIndex = function (zIndexElement, setPopupZindex) {\n var prevOnChange = this.isProtectedOnChange;\n this.isProtectedOnChange = true;\n var currentzIndex = (0,_popup_popup__WEBPACK_IMPORTED_MODULE_2__.getZindexPartial)(zIndexElement);\n this.zIndex = currentzIndex > this.zIndex ? currentzIndex : this.zIndex;\n this.isProtectedOnChange = prevOnChange;\n if (setPopupZindex) {\n this.popupObj.zIndex = this.zIndex;\n }\n };\n Dialog.prototype.windowResizeHandler = function () {\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.setMaxWidth)(this.targetEle.clientWidth);\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.setMaxHeight)(this.targetEle.clientHeight);\n this.setMaxHeight();\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {void}\n * @private\n */\n Dialog.prototype.getPersistData = function () {\n return this.addOnPersist(['width', 'height', 'position']);\n };\n Dialog.prototype.removeAllChildren = function (element) {\n while (element.children[0]) {\n this.removeAllChildren(element.children[0]);\n element.removeChild(element.children[0]);\n }\n };\n /**\n * To destroy the widget\n *\n * @returns {void}\n */\n Dialog.prototype.destroy = function () {\n if (this.isDestroyed) {\n return;\n }\n var classArray = [RTL, MODAL_DLG, DLG_RESIZABLE, DLG_RESTRICT_LEFT_VALUE, FULLSCREEN, DEVICE];\n var attrs = ['role', 'aria-modal', 'aria-labelledby', 'aria-describedby', 'aria-grabbed', 'tabindex', 'style'];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.targetEle], [DLG_TARGET, SCROLL_DISABLED]);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element) && this.element.classList.contains(FULLSCREEN)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], [DLG_TARGET, SCROLL_DISABLED]);\n }\n if (this.isModal) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([(!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetEle) ? this.targetEle : document.body)], SCROLL_DISABLED);\n }\n this.unWireEvents();\n this.unWireButtonEvents();\n this.destroyButtons();\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.closeIconBtnObj)) {\n this.closeIconBtnObj.destroy();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dragObj)) {\n this.dragObj.destroy();\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.popupObj.element) && this.popupObj.element.classList.contains(POPUP_ROOT)) {\n this.popupObj.destroy();\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], classArray);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.cssClass) && this.cssClass !== '') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], this.cssClass.split(' '));\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.refElement) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.refElement.parentElement)) {\n this.refElement.parentElement.insertBefore((this.isModal ? this.dlgContainer : this.element), this.refElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.refElement);\n this.refElement = undefined;\n }\n if (this.isModal) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.dlgOverlay);\n this.dlgContainer.parentNode.insertBefore(this.element, this.dlgContainer);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.detach)(this.dlgContainer);\n }\n this.element.innerHTML = this.clonedEle.innerHTML;\n for (var i = 0; i < attrs.length; i++) {\n this.element.removeAttribute(attrs[i]);\n }\n this.ftrTemplateContent = null;\n this.headerContent = null;\n if (!this.isReact && !this.isVue && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.contentEle)) {\n this.removeAllChildren(this.contentEle);\n }\n this.contentEle = null;\n (0,_common_resize__WEBPACK_IMPORTED_MODULE_1__.resizeDestroy)();\n _super.prototype.destroy.call(this);\n // eslint-disable-next-line\n if (this.isReact) {\n this.clearTemplate();\n }\n };\n Dialog.prototype.wireWindowResizeEvent = function () {\n this.boundWindowResizeHandler = this.windowResizeHandler.bind(this);\n window.addEventListener('resize', this.boundWindowResizeHandler);\n };\n Dialog.prototype.unWireWindowResizeEvent = function () {\n window.removeEventListener('resize', this.boundWindowResizeHandler);\n this.boundWindowResizeHandler = null;\n };\n /**\n * Binding event to the element while widget creation\n *\n * @returns {void}\n * @hidden\n */\n Dialog.prototype.wireEvents = function () {\n if (this.showCloseIcon) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.closeIcon, 'click', this.closeIconClickEventHandler, this);\n }\n if (this.isModal && this.dlgOverlay) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.dlgOverlay, 'click', this.dlgOverlayClickEventHandler, this);\n }\n };\n /**\n * Unbinding event to the element while widget destroy\n *\n * @returns {void}\n * @hidden\n */\n Dialog.prototype.unWireEvents = function () {\n if (this.showCloseIcon) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.closeIcon, 'click', this.closeIconClickEventHandler);\n }\n if (this.isModal) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.dlgOverlay, 'click', this.dlgOverlayClickEventHandler);\n }\n };\n /**\n * Refreshes the dialog's position when the user changes its header and footer height/width dynamically.\n *\n * @returns {void}\n */\n Dialog.prototype.refreshPosition = function () {\n this.popupObj.refreshPosition();\n if (this.element.classList.contains(MODAL_DLG)) {\n this.positionChange();\n }\n };\n /**\n * Returns the current width and height of the Dialog\n *\n * @returns {DialogDimension}- returns the dialog element Dimension.\n * @public\n */\n Dialog.prototype.getDimension = function () {\n var dialogWidth = this.element.offsetWidth;\n var dialogHeight = this.element.offsetHeight;\n return { width: dialogWidth, height: dialogHeight };\n };\n /**\n * Opens the dialog if it is in hidden state.\n * To open the dialog with full screen width, set the parameter to true.\n *\n * @param { boolean } isFullScreen - Enable the fullScreen Dialog.\n * @returns {void}\n */\n Dialog.prototype.show = function (isFullScreen) {\n var _this = this;\n if (!this.element.classList.contains(ROOT)) {\n return;\n }\n if (!this.element.classList.contains(DLG_SHOW) || (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isFullScreen))) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(isFullScreen)) {\n this.fullScreen(isFullScreen);\n }\n var eventArgs_1 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? {\n cancel: false,\n element: this.element,\n container: this.isModal ? this.dlgContainer : this.element,\n maxHeight: this.element.style.maxHeight\n } : {\n cancel: false,\n element: this.element,\n container: this.isModal ? this.dlgContainer : this.element,\n target: this.target,\n maxHeight: this.element.style.maxHeight\n };\n this.trigger('beforeOpen', eventArgs_1, function (beforeOpenArgs) {\n if (!beforeOpenArgs.cancel) {\n if (_this.element.style.maxHeight !== eventArgs_1.maxHeight) {\n _this.allowMaxHeight = false;\n _this.element.style.maxHeight = eventArgs_1.maxHeight;\n }\n if (_this.enableResize && _this.boundWindowResizeHandler == null && !_this.initialRender) {\n _this.wireWindowResizeEvent();\n }\n _this.storeActiveElement = document.activeElement;\n _this.element.tabIndex = -1;\n if (_this.isModal && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.dlgOverlay))) {\n _this.dlgOverlay.style.display = 'block';\n _this.dlgContainer.style.display = 'flex';\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.dlgOverlay], 'e-fade');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.targetEle)) {\n if (_this.targetEle === document.body) {\n _this.dlgContainer.style.position = 'fixed';\n }\n else {\n _this.dlgContainer.style.position = 'absolute';\n }\n _this.dlgOverlay.style.position = 'absolute';\n var targetType = _this.getTargetContainer(_this.target);\n if (targetType instanceof Element) {\n var computedStyle = window.getComputedStyle(targetType);\n if (computedStyle.getPropertyValue('direction') === 'rtl') {\n _this.element.style.position = 'absolute';\n }\n else {\n _this.element.style.position = 'relative';\n }\n }\n else {\n _this.element.style.position = 'relative';\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.targetEle], [DLG_TARGET, SCROLL_DISABLED]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([document.body], [DLG_TARGET, SCROLL_DISABLED]);\n }\n }\n var openAnimation = {\n name: (_this.animationSettings.effect === 'None' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.animationMode === 'Enable') ? 'Zoom' + 'In' : _this.animationSettings.effect + 'In',\n duration: _this.animationSettings.duration,\n delay: _this.animationSettings.delay\n };\n var zIndexElement = (_this.isModal) ? _this.element.parentElement : _this.element;\n if (_this.calculatezIndex) {\n _this.setzIndex(zIndexElement, true);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(_this.element, { 'zIndex': _this.zIndex });\n if (_this.isModal) {\n _this.setOverlayZindex(_this.zIndex);\n }\n }\n // eslint-disable-next-line\n (_this.animationSettings.effect === 'None' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.animationMode === 'Enable') ? _this.popupObj.show(openAnimation) : ((_this.animationSettings.effect === 'None') ? _this.popupObj.show() : _this.popupObj.show(openAnimation));\n if (_this.isModal) {\n var targetType = _this.getTargetContainer(_this.target);\n if (targetType instanceof Element) {\n var computedStyle = window.getComputedStyle(targetType);\n if (computedStyle.getPropertyValue('direction') === 'rtl' && !_this.IsDragStop) {\n _this.setPopupPosition();\n }\n }\n }\n _this.dialogOpen = true;\n var prevOnChange = _this.isProtectedOnChange;\n _this.isProtectedOnChange = true;\n _this.visible = true;\n _this.preventVisibility = true;\n _this.isProtectedOnChange = prevOnChange;\n }\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact) {\n this.renderReactTemplates();\n }\n };\n /**\n * Closes the dialog if it is in visible state.\n *\n * @param { Event } event - specifies the event\n * @returns {void}\n */\n Dialog.prototype.hide = function (event) {\n var _this = this;\n if (!this.element.classList.contains(ROOT)) {\n return;\n }\n if (this.preventVisibility) {\n var eventArgs = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isBlazor)() ? {\n cancel: false,\n isInteracted: event ? true : false,\n element: this.element,\n container: this.isModal ? this.dlgContainer : this.element,\n event: event\n } : {\n cancel: false,\n isInteracted: event ? true : false,\n element: this.element,\n target: this.target,\n container: this.isModal ? this.dlgContainer : this.element,\n event: event,\n closedBy: this.dlgClosedBy\n };\n this.closeArgs = eventArgs;\n this.trigger('beforeClose', eventArgs, function (beforeCloseArgs) {\n if (!beforeCloseArgs.cancel) {\n if (_this.enableResize) {\n _this.unWireWindowResizeEvent();\n }\n var closeAnimation = {\n name: (_this.animationSettings.effect === 'None' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.animationMode === 'Enable') ? 'Zoom' + 'Out' : _this.animationSettings.effect + 'Out',\n duration: _this.animationSettings.duration,\n delay: _this.animationSettings.delay\n };\n if (_this.animationSettings.effect === 'None' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.animationMode === 'Enable') {\n _this.popupObj.hide(closeAnimation);\n }\n else if (_this.animationSettings.effect === 'None') {\n _this.popupObj.hide();\n }\n else {\n _this.popupObj.hide(closeAnimation);\n }\n setTimeout(function () {\n if (_this.isModal) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(_this.targetEle) && _this.targetEle.classList.contains(DLG_TARGET) &&\n _this.targetEle.classList.contains(SCROLL_DISABLED)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.targetEle], [DLG_TARGET, SCROLL_DISABLED]);\n }\n }\n if (document.body.classList.contains(DLG_TARGET) &&\n document.body.classList.contains(SCROLL_DISABLED)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], [DLG_TARGET, SCROLL_DISABLED]);\n }\n }, (_this.animationSettings.duration + _this.animationSettings.delay));\n _this.dialogOpen = false;\n var prevOnChange = _this.isProtectedOnChange;\n _this.isProtectedOnChange = true;\n _this.visible = false;\n _this.preventVisibility = false;\n _this.isProtectedOnChange = prevOnChange;\n }\n _this.dlgClosedBy = DLG_USER_ACTION_CLOSED;\n });\n }\n };\n /**\n * Specifies to view the Full screen Dialog.\n *\n * @param {boolean} args - specifies the arguments\n * @returns {boolean} - returns the boolean value\n * @private\n */\n Dialog.prototype.fullScreen = function (args) {\n /* eslint-disable */\n var top = this.element.offsetTop;\n var left = this.element.offsetLeft;\n /* eslint-enable */\n if (args) {\n if (!this.isModal) {\n this.element.style.top = document.scrollingElement.scrollTop + 'px';\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], FULLSCREEN);\n var display = this.element.style.display;\n this.element.style.display = 'none';\n this.element.style.maxHeight = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) ?\n (this.targetEle.offsetHeight) + 'px' : (window.innerHeight) + 'px';\n this.element.style.display = display;\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([document.body], [DLG_TARGET, SCROLL_DISABLED]);\n if (this.allowDragging && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.dragObj)) {\n this.dragObj.destroy();\n }\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], FULLSCREEN);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([document.body], [DLG_TARGET, SCROLL_DISABLED]);\n if (this.allowDragging && (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.headerContent))) {\n this.setAllowDragging();\n }\n }\n return args;\n };\n /**\n * Returns the dialog button instances.\n * Based on that, you can dynamically change the button states.\n *\n * @param { number } index - Index of the button.\n * @returns {Button} - returns the button element\n */\n Dialog.prototype.getButtons = function (index) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(index)) {\n return this.btnObj[index];\n }\n return this.btnObj;\n };\n Dialog.prototype.unWireButtonEvents = function () {\n if (this.buttons.length > 0 && this.footerTemplate === '' && this.ftrTemplateContent) {\n for (var i = 0; i < this.buttons.length; i++) {\n if (this.buttons[i].click && typeof (this.buttons[i].click) === 'function'\n && this.ftrTemplateContent.children[i]) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.ftrTemplateContent.children[i], 'click', this.buttons[i].click);\n }\n }\n }\n };\n Dialog.prototype.destroyButtons = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.btnObj)) {\n for (var i = 0; i < this.btnObj.length; i++) {\n if (this.btnObj[i] && !this.btnObj[i].isDestroyed) {\n this.btnObj[i].destroy();\n }\n }\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Dialog.prototype, \"content\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Dialog.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Dialog.prototype, \"enablePersistence\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Dialog.prototype, \"showCloseIcon\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Dialog.prototype, \"isModal\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Dialog.prototype, \"header\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Dialog.prototype, \"visible\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Dialog.prototype, \"enableResize\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(['South-East'])\n ], Dialog.prototype, \"resizeHandles\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Dialog.prototype, \"height\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Dialog.prototype, \"minHeight\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('100%')\n ], Dialog.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Dialog.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], Dialog.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Dialog.prototype, \"target\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Dialog.prototype, \"footerTemplate\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Dialog.prototype, \"allowDragging\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Collection)([{}], ButtonProps)\n ], Dialog.prototype, \"buttons\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Dialog.prototype, \"closeOnEscape\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, AnimationSettings)\n ], Dialog.prototype, \"animationSettings\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({ X: 'center', Y: 'center' }, _popup_popup__WEBPACK_IMPORTED_MODULE_2__.PositionData)\n ], Dialog.prototype, \"position\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"beforeSanitizeHtml\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"beforeOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"beforeClose\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"dragStart\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"dragStop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"drag\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"overlayClick\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"resizeStart\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"resizing\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"resizeStop\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Dialog.prototype, \"destroyed\", void 0);\n Dialog = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Dialog);\n return Dialog;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n/**\n * Base for creating Alert and Confirmation Dialog through util method.\n */\n// eslint-disable-next-line\nvar DialogUtility;\n(function (DialogUtility) {\n /**\n * An alert dialog box is used to display warning like messages to the users.\n * ```\n * Eg : DialogUtility.alert('Alert message');\n *\n * ```\n */\n /* istanbul ignore next */\n /**\n *\n * @param {AlertDialogArgs} args - specifies the string\n * @returns {Dialog} - returns the dialog element.\n */\n function alert(args) {\n var dialogElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { 'className': DLG_UTIL_ALERT });\n document.body.appendChild(dialogElement);\n var alertDialogObj;\n var okButtonModel = [{\n buttonModel: { isPrimary: true, content: 'OK' },\n click: function () {\n this.hide();\n }\n }];\n if (typeof (args) === 'string') {\n alertDialogObj = createDialog({ content: args,\n position: { X: 'center', Y: 'top' },\n isModal: true, header: DLG_UTIL_DEFAULT_TITLE,\n buttons: okButtonModel }, dialogElement);\n }\n else {\n alertDialogObj = createDialog(alertOptions(args), dialogElement);\n }\n alertDialogObj.close = function () {\n if (args && args.close) {\n args.close.apply(alertDialogObj);\n }\n alertDialogObj.destroy();\n if (alertDialogObj.element.classList.contains('e-dlg-modal')) {\n alertDialogObj.element.parentElement.remove();\n alertDialogObj.target.classList.remove(DLG_UTIL_ROOT);\n }\n else {\n alertDialogObj.element.remove();\n }\n };\n return alertDialogObj;\n }\n DialogUtility.alert = alert;\n /**\n * A confirm dialog displays a specified message along with ‘OK’ and ‘Cancel’ button.\n * ```\n * Eg : DialogUtility.confirm('Confirm dialog message');\n *\n * ```\n */\n /* istanbul ignore next */\n /**\n *\n * @param {ConfirmDialogArgs} args - specifies the args\n * @returns {Dialog} - returns te element\n */\n function confirm(args) {\n var dialogElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { 'className': DLG_UTIL_CONFIRM });\n document.body.appendChild(dialogElement);\n var confirmDialogObj;\n var okCancelButtonModel = [{\n buttonModel: { isPrimary: true, content: 'OK' },\n click: function () {\n this.hide();\n }\n }, {\n buttonModel: { content: 'Cancel' },\n click: function () {\n this.hide();\n }\n }];\n if (typeof (args) === 'string') {\n confirmDialogObj = createDialog({ position: { X: 'center', Y: 'top' }, content: args, isModal: true,\n header: DLG_UTIL_DEFAULT_TITLE, buttons: okCancelButtonModel\n }, dialogElement);\n }\n else {\n confirmDialogObj = createDialog(confirmOptions(args), dialogElement);\n }\n confirmDialogObj.close = function () {\n if (args && args.close) {\n args.close.apply(confirmDialogObj);\n }\n confirmDialogObj.destroy();\n if (confirmDialogObj.element.classList.contains('e-dlg-modal')) {\n confirmDialogObj.element.parentElement.remove();\n confirmDialogObj.target.classList.remove(DLG_UTIL_ROOT);\n }\n else {\n confirmDialogObj.element.remove();\n }\n };\n return confirmDialogObj;\n }\n DialogUtility.confirm = confirm;\n // eslint-disable-next-line\n function createDialog(options, element) {\n var dialogObject = new Dialog(options);\n dialogObject.appendTo(element);\n return dialogObject;\n }\n // eslint-disable-next-line\n function alertOptions(option) {\n var options = {};\n options.buttons = [];\n options = formOptions(options, option);\n options = setAlertButtonModel(options, option);\n return options;\n }\n // eslint-disable-next-line\n function confirmOptions(option) {\n var options = {};\n options.buttons = [];\n options = formOptions(options, option);\n options = setConfirmButtonModel(options, option);\n return options;\n }\n // eslint-disable-next-line\n function formOptions(options, option) {\n options.header = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.title) ? option.title : null;\n options.content = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.content) ? option.content : '';\n options.isModal = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.isModal) ? option.isModal : true;\n options.showCloseIcon = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.showCloseIcon) ? option.showCloseIcon : false;\n options.allowDragging = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.isDraggable) ? option.isDraggable : false;\n options.closeOnEscape = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.closeOnEscape) ? option.closeOnEscape : false;\n options.position = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.position) ? option.position : { X: 'center', Y: 'top' };\n options.animationSettings = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.animationSettings) ? option.animationSettings :\n { effect: 'Fade', duration: 400, delay: 0 };\n options.cssClass = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.cssClass) ? option.cssClass : '';\n options.zIndex = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.zIndex) ? option.zIndex : 1000;\n options.open = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.open) ? option.open : null;\n options.width = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.width) ? option.width : 'auto';\n options.height = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.height) ? option.height : 'auto';\n return options;\n }\n // eslint-disable-next-line\n function setAlertButtonModel(options, option) {\n var alertButtonModel = [{\n buttonModel: { isPrimary: true, content: 'OK' },\n click: function () {\n this.hide();\n }\n }];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.okButton)) {\n options.buttons[0] = formButtonModel(options.buttons[0], option.okButton, alertButtonModel[0]);\n }\n else {\n options.buttons = alertButtonModel;\n }\n return options;\n }\n // eslint-disable-next-line\n function setConfirmButtonModel(options, option) {\n var okButtonModel = {\n buttonModel: { isPrimary: true, content: 'OK' },\n click: function () {\n this.hide();\n }\n };\n var cancelButtonModel = {\n buttonModel: { content: 'Cancel' },\n click: function () {\n this.hide();\n }\n };\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.okButton)) {\n options.buttons[0] = formButtonModel(options.buttons[0], option.okButton, okButtonModel);\n }\n else {\n options.buttons[0] = okButtonModel;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.cancelButton)) {\n options.buttons[1] = formButtonModel(options.buttons[1], option.cancelButton, cancelButtonModel);\n }\n else {\n options.buttons[1] = cancelButtonModel;\n }\n return options;\n }\n // eslint-disable-next-line\n function formButtonModel(buttonModel, option, buttonPropModel) {\n var buttonProps = buttonPropModel;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.text)) {\n buttonProps.buttonModel.content = option.text;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.icon)) {\n buttonProps.buttonModel.iconCss = option.icon;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.cssClass)) {\n buttonProps.buttonModel.cssClass = option.cssClass;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.click)) {\n buttonProps.click = option.click;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(option.isFlat)) {\n buttonProps.isFlat = option.isFlat;\n }\n return buttonProps;\n }\n})(DialogUtility || (DialogUtility = {}));\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/dialog/dialog.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/popup/popup.js": +/*!****************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/popup/popup.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Popup: () => (/* binding */ Popup),\n/* harmony export */ PositionData: () => (/* binding */ PositionData),\n/* harmony export */ getMaxZindex: () => (/* binding */ getMaxZindex),\n/* harmony export */ getScrollableParent: () => (/* binding */ getScrollableParent),\n/* harmony export */ getZindexPartial: () => (/* binding */ getZindexPartial)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _common_position__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/position */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _common_collision__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/collision */ \"./node_modules/@syncfusion/ej2-popups/src/common/collision.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n/**\n * Specifies the offset position values.\n */\nvar PositionData = /** @class */ (function (_super) {\n __extends(PositionData, _super);\n function PositionData() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('left')\n ], PositionData.prototype, \"X\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('top')\n ], PositionData.prototype, \"Y\", void 0);\n return PositionData;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n// don't use space in classNames\nvar CLASSNAMES = {\n ROOT: 'e-popup',\n RTL: 'e-rtl',\n OPEN: 'e-popup-open',\n CLOSE: 'e-popup-close'\n};\n/**\n * Represents the Popup Component\n * ```html\n *
        \n *
        Popup Content
        \n * ```\n * ```typescript\n * \n * ```\n */\nvar Popup = /** @class */ (function (_super) {\n __extends(Popup, _super);\n function Popup(element, options) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Called internally if any of the property value changed.\n *\n * @param {PopupModel} newProp - specifies the new property\n * @param {PopupModel} oldProp - specifies the old property\n * @private\n * @returns {void}\n */\n Popup.prototype.onPropertyChanged = function (newProp, oldProp) {\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'width':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'width': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.width) });\n break;\n case 'height':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'height': (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.height) });\n break;\n case 'zIndex':\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'zIndex': newProp.zIndex });\n break;\n case 'enableRtl':\n this.setEnableRtl();\n break;\n case 'position':\n case 'relateTo':\n this.refreshPosition();\n break;\n case 'offsetX': {\n var x = newProp.offsetX - oldProp.offsetX;\n this.element.style.left = (parseInt(this.element.style.left, 10) + (x)).toString() + 'px';\n break;\n }\n case 'offsetY': {\n var y = newProp.offsetY - oldProp.offsetY;\n this.element.style.top = (parseInt(this.element.style.top, 10) + (y)).toString() + 'px';\n break;\n }\n case 'content':\n this.setContent();\n break;\n case 'actionOnScroll':\n if (newProp.actionOnScroll !== 'none') {\n this.wireScrollEvents();\n }\n else {\n this.unwireScrollEvents();\n }\n break;\n }\n }\n };\n /**\n * gets the Component module name.\n *\n * @returns {void}\n * @private\n */\n Popup.prototype.getModuleName = function () {\n return 'popup';\n };\n /**\n * To resolve if any collision occurs.\n *\n * @returns {void}\n */\n Popup.prototype.resolveCollision = function () {\n this.checkCollision();\n };\n /**\n * gets the persisted state properties of the Component.\n *\n * @returns {void}\n */\n Popup.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * To destroy the control.\n *\n * @returns {void}\n */\n Popup.prototype.destroy = function () {\n if (this.element.classList.contains('e-popup-open')) {\n this.unwireEvents();\n }\n this.element.classList.remove(CLASSNAMES.ROOT, CLASSNAMES.RTL, CLASSNAMES.OPEN, CLASSNAMES.CLOSE);\n this.content = null;\n this.relateTo = null;\n (0,_common_collision__WEBPACK_IMPORTED_MODULE_1__.destroy)();\n _super.prototype.destroy.call(this);\n };\n /**\n * To Initialize the control rendering\n *\n * @returns {void}\n * @private\n */\n Popup.prototype.render = function () {\n this.element.classList.add(CLASSNAMES.ROOT);\n var styles = {};\n if (this.zIndex !== 1000) {\n styles.zIndex = this.zIndex;\n }\n if (this.width !== 'auto') {\n styles.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n }\n if (this.height !== 'auto') {\n styles.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.height);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, styles);\n this.fixedParent = false;\n this.setEnableRtl();\n this.setContent();\n };\n Popup.prototype.wireEvents = function () {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(window, 'orientationchange', this.orientationOnChange, this);\n }\n if (this.actionOnScroll !== 'none') {\n this.wireScrollEvents();\n }\n };\n Popup.prototype.wireScrollEvents = function () {\n if (this.getRelateToElement()) {\n for (var _i = 0, _a = this.getScrollableParent(this.getRelateToElement()); _i < _a.length; _i++) {\n var parent_1 = _a[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(parent_1, 'scroll', this.scrollRefresh, this);\n }\n }\n };\n Popup.prototype.unwireEvents = function () {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(window, 'orientationchange', this.orientationOnChange);\n }\n if (this.actionOnScroll !== 'none') {\n this.unwireScrollEvents();\n }\n };\n Popup.prototype.unwireScrollEvents = function () {\n if (this.getRelateToElement()) {\n for (var _i = 0, _a = this.getScrollableParent(this.getRelateToElement()); _i < _a.length; _i++) {\n var parent_2 = _a[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(parent_2, 'scroll', this.scrollRefresh);\n }\n }\n };\n Popup.prototype.getRelateToElement = function () {\n var relateToElement = this.relateTo === '' || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.relateTo) ?\n document.body : this.relateTo;\n this.setProperties({ relateTo: relateToElement }, true);\n return ((typeof this.relateTo) === 'string') ?\n document.querySelector(this.relateTo) : this.relateTo;\n };\n Popup.prototype.scrollRefresh = function (e) {\n if (this.actionOnScroll === 'reposition') {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element) && !(this.element.offsetParent === e.target ||\n (this.element.offsetParent && this.element.offsetParent.tagName === 'BODY' &&\n e.target.parentElement == null))) {\n this.refreshPosition();\n }\n }\n else if (this.actionOnScroll === 'hide') {\n this.hide();\n }\n if (this.actionOnScroll !== 'none') {\n if (this.getRelateToElement()) {\n var targetVisible = this.isElementOnViewport(this.getRelateToElement(), e.target);\n if (!targetVisible && !this.targetInvisibleStatus) {\n this.trigger('targetExitViewport');\n this.targetInvisibleStatus = true;\n }\n else if (targetVisible) {\n this.targetInvisibleStatus = false;\n }\n }\n }\n };\n /**\n * This method is to get the element visibility on viewport when scroll\n * the page. This method will returns true even though 1 px of element\n * part is in visible.\n *\n * @param {HTMLElement} relateToElement - specifies the element\n * @param {HTMLElement} scrollElement - specifies the scroll element\n * @returns {boolean} - retruns the boolean\n */\n // eslint-disable-next-line\n Popup.prototype.isElementOnViewport = function (relateToElement, scrollElement) {\n var scrollParents = this.getScrollableParent(relateToElement);\n for (var parent_3 = 0; parent_3 < scrollParents.length; parent_3++) {\n if (this.isElementVisible(relateToElement, scrollParents[parent_3])) {\n continue;\n }\n else {\n return false;\n }\n }\n return true;\n };\n Popup.prototype.isElementVisible = function (relateToElement, scrollElement) {\n var rect = this.checkGetBoundingClientRect(relateToElement);\n if (!rect.height || !rect.width) {\n return false;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.checkGetBoundingClientRect(scrollElement))) {\n var parent_4 = scrollElement.getBoundingClientRect();\n return !(rect.bottom < parent_4.top) &&\n (!(rect.bottom > parent_4.bottom) &&\n (!(rect.right > parent_4.right) &&\n !(rect.left < parent_4.left)));\n }\n else {\n var win = window;\n var windowView = {\n top: win.scrollY,\n left: win.scrollX,\n right: win.scrollX + win.outerWidth,\n bottom: win.scrollY + win.outerHeight\n };\n var off = (0,_common_position__WEBPACK_IMPORTED_MODULE_2__.calculatePosition)(relateToElement);\n var ele = {\n top: off.top,\n left: off.left,\n right: off.left + rect.width,\n bottom: off.top + rect.height\n };\n var elementView = {\n top: windowView.bottom - ele.top,\n left: windowView.right - ele.left,\n bottom: ele.bottom - windowView.top,\n right: ele.right - windowView.left\n };\n return elementView.top > 0\n && elementView.left > 0\n && elementView.right > 0\n && elementView.bottom > 0;\n }\n };\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n Popup.prototype.preRender = function () {\n //There is no event handler\n };\n Popup.prototype.setEnableRtl = function () {\n this.reposition();\n if (this.enableRtl) {\n this.element.classList.add(CLASSNAMES.RTL);\n }\n else {\n this.element.classList.remove(CLASSNAMES.RTL);\n }\n };\n Popup.prototype.setContent = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.content)) {\n this.element.innerHTML = '';\n if (typeof (this.content) === 'string') {\n this.element.textContent = this.content;\n }\n else {\n var relateToElem = this.getRelateToElement();\n // eslint-disable-next-line\n var props = this.content.props;\n if (!relateToElem.classList.contains('e-dropdown-btn') || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(props)) {\n this.element.appendChild(this.content);\n }\n }\n }\n };\n Popup.prototype.orientationOnChange = function () {\n var _this = this;\n setTimeout(function () {\n _this.refreshPosition();\n }, 200);\n };\n /**\n * Based on the `relative` element and `offset` values, `Popup` element position will refreshed.\n *\n * @param {HTMLElement} target - The target element.\n * @param {boolean} collision - Specifies whether to check for collision.\n * @returns {void}\n */\n Popup.prototype.refreshPosition = function (target, collision) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target)) {\n this.checkFixedParent(target);\n }\n this.reposition();\n if (!collision) {\n this.checkCollision();\n }\n };\n Popup.prototype.reposition = function () {\n var pos;\n var position;\n var relateToElement = this.getRelateToElement();\n if (typeof this.position.X === 'number' && typeof this.position.Y === 'number') {\n pos = { left: this.position.X, top: this.position.Y };\n }\n else if ((typeof this.position.X === 'string' && typeof this.position.Y === 'number') ||\n (typeof this.position.X === 'number' && typeof this.position.Y === 'string')) {\n var parentDisplay = void 0;\n var display = this.element.style.display;\n this.element.style.display = 'block';\n if (this.element.classList.contains('e-dlg-modal')) {\n parentDisplay = this.element.parentElement.style.display;\n this.element.parentElement.style.display = 'block';\n }\n position = this.getAnchorPosition(relateToElement, this.element, this.position, this.offsetX, this.offsetY);\n if (typeof this.position.X === 'string') {\n pos = { left: position.left, top: this.position.Y };\n }\n else {\n pos = { left: this.position.X, top: position.top };\n }\n this.element.style.display = display;\n if (this.element.classList.contains('e-dlg-modal')) {\n this.element.parentElement.style.display = parentDisplay;\n }\n }\n else if (relateToElement) {\n var height = this.element.clientHeight;\n var display = this.element.style.display;\n this.element.style.display = 'block';\n pos = this.getAnchorPosition(relateToElement, this.element, this.position, this.offsetX, this.offsetY, height);\n this.element.style.display = display;\n }\n else {\n pos = { left: 0, top: 0 };\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(pos)) {\n this.element.style.left = pos.left + 'px';\n this.element.style.top = pos.top + 'px';\n }\n };\n Popup.prototype.checkGetBoundingClientRect = function (ele) {\n var eleRect;\n try {\n eleRect = ele.getBoundingClientRect();\n return eleRect;\n }\n catch (error) {\n return null;\n }\n };\n Popup.prototype.getAnchorPosition = function (anchorEle, ele, position, offsetX, offsetY, height) {\n if (height === void 0) { height = 0; }\n var eleRect = this.checkGetBoundingClientRect(ele);\n var anchorRect = this.checkGetBoundingClientRect(anchorEle);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(eleRect) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(anchorRect)) {\n return null;\n }\n var anchor = anchorEle;\n var anchorPos = { left: 0, top: 0 };\n if (ele.offsetParent && ele.offsetParent.tagName === 'BODY' && anchorEle.tagName === 'BODY') {\n anchorPos = (0,_common_position__WEBPACK_IMPORTED_MODULE_2__.calculatePosition)(anchorEle);\n }\n else {\n if ((ele.classList.contains('e-dlg-modal') && anchor.tagName !== 'BODY')) {\n ele = ele.parentElement;\n }\n anchorPos = (0,_common_position__WEBPACK_IMPORTED_MODULE_2__.calculateRelativeBasedPosition)(anchor, ele);\n }\n switch (position.X) {\n default:\n case 'left':\n break;\n case 'center':\n if ((ele.classList.contains('e-dlg-modal') && anchor.tagName === 'BODY' && this.targetType === 'container')) {\n anchorPos.left += (window.innerWidth / 2 - eleRect.width / 2);\n }\n else if (this.targetType === 'container') {\n anchorPos.left += (anchorRect.width / 2 - eleRect.width / 2);\n }\n else {\n anchorPos.left += (anchorRect.width / 2);\n }\n break;\n case 'right':\n if ((ele.classList.contains('e-dlg-modal') && anchor.tagName === 'BODY' && this.targetType === 'container')) {\n anchorPos.left += (window.innerWidth - eleRect.width);\n }\n else if (this.targetType === 'container') {\n var scaleX = 1;\n var tranformElement = (0,_common_collision__WEBPACK_IMPORTED_MODULE_1__.getTransformElement)(ele);\n if (tranformElement) {\n var transformStyle = getComputedStyle(tranformElement).transform;\n if (transformStyle !== 'none') {\n var matrix = new DOMMatrix(transformStyle);\n scaleX = matrix.a;\n }\n var zoomStyle = getComputedStyle(tranformElement).zoom;\n if (zoomStyle !== 'none') {\n var bodyZoom = (0,_common_collision__WEBPACK_IMPORTED_MODULE_1__.getZoomValue)(document.body);\n scaleX = bodyZoom * scaleX;\n }\n }\n anchorPos.left += ((anchorRect.width - eleRect.width) / scaleX);\n }\n else {\n anchorPos.left += (anchorRect.width);\n }\n break;\n }\n switch (position.Y) {\n default:\n case 'top':\n break;\n case 'center':\n if ((ele.classList.contains('e-dlg-modal') && anchor.tagName === 'BODY' && this.targetType === 'container')) {\n anchorPos.top += (window.innerHeight / 2 - eleRect.height / 2);\n }\n else if (this.targetType === 'container') {\n anchorPos.top += (anchorRect.height / 2 - eleRect.height / 2);\n }\n else {\n anchorPos.top += (anchorRect.height / 2);\n }\n break;\n case 'bottom':\n if ((ele.classList.contains('e-dlg-modal') && anchor.tagName === 'BODY' && this.targetType === 'container')) {\n anchorPos.top += (window.innerHeight - eleRect.height);\n }\n else if (this.targetType === 'container' && !ele.classList.contains('e-dialog')) {\n anchorPos.top += (anchorRect.height - eleRect.height);\n }\n else if (this.targetType === 'container' && ele.classList.contains('e-dialog')) {\n anchorPos.top += (anchorRect.height - height);\n }\n else {\n anchorPos.top += (anchorRect.height);\n }\n break;\n }\n anchorPos.left += offsetX;\n anchorPos.top += offsetY;\n return anchorPos;\n };\n Popup.prototype.callFlip = function (param) {\n var relateToElement = this.getRelateToElement();\n (0,_common_collision__WEBPACK_IMPORTED_MODULE_1__.flip)(this.element, relateToElement, this.offsetX, this.offsetY, this.position.X, this.position.Y, this.viewPortElement, param, this.fixedParent);\n };\n Popup.prototype.callFit = function (param) {\n if ((0,_common_collision__WEBPACK_IMPORTED_MODULE_1__.isCollide)(this.element, this.viewPortElement).length !== 0) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.viewPortElement)) {\n var data = (0,_common_collision__WEBPACK_IMPORTED_MODULE_1__.fit)(this.element, this.viewPortElement, param);\n if (param.X) {\n this.element.style.left = data.left + 'px';\n }\n if (param.Y) {\n this.element.style.top = data.top + 'px';\n }\n }\n else {\n var elementRect = this.checkGetBoundingClientRect(this.element);\n var viewPortRect = this.checkGetBoundingClientRect(this.viewPortElement);\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(elementRect) || (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(viewPortRect)) {\n return null;\n }\n if (param && param.Y === true) {\n if (viewPortRect.top > elementRect.top) {\n this.element.style.top = '0px';\n }\n else if (viewPortRect.bottom < elementRect.bottom) {\n this.element.style.top = parseInt(this.element.style.top, 10) - (elementRect.bottom - viewPortRect.bottom) + 'px';\n }\n }\n if (param && param.X === true) {\n if (viewPortRect.right < elementRect.right) {\n this.element.style.left = parseInt(this.element.style.left, 10) - (elementRect.right - viewPortRect.right) + 'px';\n }\n else if (viewPortRect.left > elementRect.left) {\n this.element.style.left = parseInt(this.element.style.left, 10) + (viewPortRect.left - elementRect.left) + 'px';\n }\n }\n }\n }\n };\n Popup.prototype.checkCollision = function () {\n var horz = this.collision.X;\n var vert = this.collision.Y;\n if (horz === 'none' && vert === 'none') {\n return;\n }\n if (horz === 'flip' && vert === 'flip') {\n this.callFlip({ X: true, Y: true });\n }\n else if (horz === 'fit' && vert === 'fit') {\n this.callFit({ X: true, Y: true });\n }\n else {\n if (horz === 'flip') {\n this.callFlip({ X: true, Y: false });\n }\n else if (vert === 'flip') {\n this.callFlip({ Y: true, X: false });\n }\n if (horz === 'fit') {\n this.callFit({ X: true, Y: false });\n }\n else if (vert === 'fit') {\n this.callFit({ X: false, Y: true });\n }\n }\n };\n /**\n * Shows the popup element from screen.\n *\n * @returns {void}\n * @param {AnimationModel} animationOptions - specifies the model\n * @param { HTMLElement } relativeElement - To calculate the zIndex value dynamically.\n */\n Popup.prototype.show = function (animationOptions, relativeElement) {\n var _this = this;\n this.wireEvents();\n if (this.zIndex === 1000 || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(relativeElement)) {\n var zIndexElement = ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(relativeElement)) ? this.element : relativeElement;\n this.zIndex = getZindexPartial(zIndexElement);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.setStyleAttribute)(this.element, { 'zIndex': this.zIndex });\n }\n animationOptions = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(animationOptions) && typeof animationOptions === 'object') ?\n animationOptions : this.showAnimation;\n if (this.collision.X !== 'none' || this.collision.Y !== 'none') {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], CLASSNAMES.CLOSE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], CLASSNAMES.OPEN);\n this.checkCollision();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], CLASSNAMES.OPEN);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], CLASSNAMES.CLOSE);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(animationOptions)) {\n animationOptions.begin = function () {\n if (!_this.isDestroyed) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.element], CLASSNAMES.CLOSE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.element], CLASSNAMES.OPEN);\n }\n };\n animationOptions.end = function () {\n if (!_this.isDestroyed) {\n _this.trigger('open');\n }\n };\n new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(animationOptions).animate(this.element);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], CLASSNAMES.CLOSE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], CLASSNAMES.OPEN);\n this.trigger('open');\n }\n };\n /**\n * Hides the popup element from screen.\n *\n * @param {AnimationModel} animationOptions - To give the animation options.\n * @returns {void}\n */\n Popup.prototype.hide = function (animationOptions) {\n var _this = this;\n animationOptions = (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(animationOptions) && typeof animationOptions === 'object') ?\n animationOptions : this.hideAnimation;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(animationOptions)) {\n animationOptions.end = function () {\n if (!_this.isDestroyed) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([_this.element], CLASSNAMES.OPEN);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([_this.element], CLASSNAMES.CLOSE);\n _this.trigger('close');\n }\n };\n new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation(animationOptions).animate(this.element);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], CLASSNAMES.OPEN);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], CLASSNAMES.CLOSE);\n this.trigger('close');\n }\n this.unwireEvents();\n };\n /**\n * Gets scrollable parent elements for the given element.\n *\n * @returns {void}\n * @param { HTMLElement } element - Specify the element to get the scrollable parents of it.\n */\n Popup.prototype.getScrollableParent = function (element) {\n this.checkFixedParent(element);\n return getScrollableParent(element, this.fixedParent);\n };\n Popup.prototype.checkFixedParent = function (element) {\n var parent = element.parentElement;\n while (parent && parent.tagName !== 'HTML') {\n var parentStyle = getComputedStyle(parent);\n if ((parentStyle.position === 'fixed' || parentStyle.position === 'sticky') && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element) && this.element.offsetParent &&\n this.element.offsetParent.tagName === 'BODY' && getComputedStyle(this.element.offsetParent).overflow !== 'hidden') {\n this.element.style.top = window.scrollY > parseInt(this.element.style.top, 10) ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(window.scrollY - parseInt(this.element.style.top, 10))\n : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(parseInt(this.element.style.top, 10) - window.scrollY);\n this.element.style.position = 'fixed';\n this.fixedParent = true;\n }\n parent = parent.parentElement;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element) && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.element.offsetParent) && parentStyle.position === 'fixed'\n && this.element.style.position === 'fixed') {\n this.fixedParent = true;\n }\n }\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Popup.prototype, \"height\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Popup.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Popup.prototype, \"content\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('container')\n ], Popup.prototype, \"targetType\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Popup.prototype, \"viewPortElement\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({ X: 'none', Y: 'none' })\n ], Popup.prototype, \"collision\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Popup.prototype, \"relateTo\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, PositionData)\n ], Popup.prototype, \"position\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Popup.prototype, \"offsetX\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Popup.prototype, \"offsetY\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(1000)\n ], Popup.prototype, \"zIndex\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Popup.prototype, \"enableRtl\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('reposition')\n ], Popup.prototype, \"actionOnScroll\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Popup.prototype, \"showAnimation\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(null)\n ], Popup.prototype, \"hideAnimation\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Popup.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Popup.prototype, \"close\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Popup.prototype, \"targetExitViewport\", void 0);\n Popup = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Popup);\n return Popup;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n/**\n * Gets scrollable parent elements for the given element.\n *\n * @param { HTMLElement } element - Specify the element to get the scrollable parents of it.\n * @param {boolean} fixedParent - specifies the parent element\n * @private\n * @returns {void}\n */\nfunction getScrollableParent(element, fixedParent) {\n var eleStyle = getComputedStyle(element);\n var scrollParents = [];\n var overflowRegex = /(auto|scroll)/;\n var parent = element.parentElement;\n while (parent && parent.tagName !== 'HTML') {\n var parentStyle = getComputedStyle(parent);\n if (!(eleStyle.position === 'absolute' && parentStyle.position === 'static')\n && overflowRegex.test(parentStyle.overflow + parentStyle.overflowY + parentStyle.overflowX)) {\n scrollParents.push(parent);\n }\n parent = parent.parentElement;\n }\n if (!fixedParent) {\n scrollParents.push(document);\n }\n return scrollParents;\n}\n/**\n * Gets the maximum z-index of the given element.\n *\n * @returns {void}\n * @param { HTMLElement } element - Specify the element to get the maximum z-index of it.\n * @private\n */\nfunction getZindexPartial(element) {\n // upto body traversal\n var parent = element.parentElement;\n var parentZindex = [];\n while (parent) {\n if (parent.tagName !== 'BODY') {\n var index = document.defaultView.getComputedStyle(parent, null).getPropertyValue('z-index');\n var position = document.defaultView.getComputedStyle(parent, null).getPropertyValue('position');\n if (index !== 'auto' && position !== 'static') {\n parentZindex.push(index);\n }\n parent = parent.parentElement;\n }\n else {\n break;\n }\n }\n var childrenZindex = [];\n for (var i = 0; i < document.body.children.length; i++) {\n if (!element.isEqualNode(document.body.children[i])) {\n var index = document.defaultView.getComputedStyle(document.body.children[i], null).getPropertyValue('z-index');\n var position = document.defaultView.getComputedStyle(document.body.children[i], null).getPropertyValue('position');\n if (index !== 'auto' && position !== 'static') {\n childrenZindex.push(index);\n }\n }\n }\n childrenZindex.push('999');\n var siblingsZindex = [];\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element.parentElement) && element.parentElement.tagName !== 'BODY') {\n var childNodes = [].slice.call(element.parentElement.children);\n for (var i = 0; i < childNodes.length; i++) {\n if (!element.isEqualNode(childNodes[i])) {\n var index = document.defaultView.getComputedStyle(childNodes[i], null).getPropertyValue('z-index');\n var position = document.defaultView.getComputedStyle(childNodes[i], null).getPropertyValue('position');\n if (index !== 'auto' && position !== 'static') {\n siblingsZindex.push(index);\n }\n }\n }\n }\n var finalValue = parentZindex.concat(childrenZindex, siblingsZindex);\n // eslint-disable-next-line\n var currentZindexValue = Math.max.apply(Math, finalValue) + 1;\n return currentZindexValue > 2147483647 ? 2147483647 : currentZindexValue;\n}\n/**\n * Gets the maximum z-index of the page.\n *\n * @returns {void}\n * @param { HTMLElement } tagName - Specify the tagName to get the maximum z-index of it.\n * @private\n */\nfunction getMaxZindex(tagName) {\n if (tagName === void 0) { tagName = ['*']; }\n var maxZindex = [];\n for (var i = 0; i < tagName.length; i++) {\n var elements = document.getElementsByTagName(tagName[i]);\n for (var i_1 = 0; i_1 < elements.length; i_1++) {\n var index = document.defaultView.getComputedStyle(elements[i_1], null).getPropertyValue('z-index');\n var position = document.defaultView.getComputedStyle(elements[i_1], null).getPropertyValue('position');\n if (index !== 'auto' && position !== 'static') {\n maxZindex.push(index);\n }\n }\n }\n // eslint-disable-next-line\n var currentZindexValue = Math.max.apply(Math, maxZindex) + 1;\n return currentZindexValue > 2147483647 ? 2147483647 : currentZindexValue;\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/popup/popup.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Spinner: () => (/* binding */ Spinner),\n/* harmony export */ createSpinner: () => (/* binding */ createSpinner),\n/* harmony export */ hideSpinner: () => (/* binding */ hideSpinner),\n/* harmony export */ setSpinner: () => (/* binding */ setSpinner),\n/* harmony export */ showSpinner: () => (/* binding */ showSpinner)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n\nvar globalTimeOut = {};\nvar DEFT_MAT_WIDTH = 30;\nvar DEFT_MAT3_WIDTH = 30;\nvar DEFT_FAB_WIDTH = 30;\nvar DEFT_FLUENT_WIDTH = 30;\nvar DEFT_FLUENT2_WIDTH = 30;\nvar DEFT_BOOT_WIDTH = 30;\nvar DEFT_BOOT4_WIDTH = 36;\nvar DEFT_BOOT5_WIDTH = 36;\nvar CLS_SHOWSPIN = 'e-spin-show';\nvar CLS_HIDESPIN = 'e-spin-hide';\nvar CLS_MATERIALSPIN = 'e-spin-material';\nvar CLS_MATERIAL3SPIN = 'e-spin-material3';\nvar CLS_TAILWIND3SPIN = 'e-spin-tailwind3';\nvar CLS_FABRICSPIN = 'e-spin-fabric';\nvar CLS_FLUENTSPIN = 'e-spin-fluent';\nvar CLS_FLUENT2SPIN = 'e-spin-fluent2';\nvar CLS_TAILWINDSPIN = 'e-spin-tailwind';\nvar CLS_BOOTSPIN = 'e-spin-bootstrap';\nvar CLS_BOOT4SPIN = 'e-spin-bootstrap4';\nvar CLS_BOOT5SPIN = 'e-spin-bootstrap5';\nvar CLS_HIGHCONTRASTSPIN = 'e-spin-high-contrast';\nvar CLS_SPINWRAP = 'e-spinner-pane';\nvar CLS_SPININWRAP = 'e-spinner-inner';\nvar CLS_SPINCIRCLE = 'e-path-circle';\nvar CLS_SPINARC = 'e-path-arc';\nvar CLS_SPINLABEL = 'e-spin-label';\nvar CLS_SPINTEMPLATE = 'e-spin-template';\nvar spinTemplate = null;\nvar spinCSSClass = null;\n/**\n * Function to change the Spinners in a page globally from application end.\n * ```\n * E.g : blazorSpinner({ action: \"Create\", options: {target: targetElement}, type: \"\" });\n * ```\n *\n * @param {string} action - specifies the string\n * @param {CreateArgs} options - specifies the args\n * @param {string} target - specifies the target\n * @param {string} type - specifes the type\n * @returns {void}\n * @private\n */\nfunction Spinner(action, options, target, type) {\n switch (action) {\n case 'Create':\n /* eslint-disable */\n var element = document.querySelector(options.target);\n var args = {\n type: type, target: element, cssClass: options.cssClass,\n label: options.label, width: options.width\n };\n /* eslint-enable */\n createSpinner(args);\n break;\n case 'Show':\n showSpinner(document.querySelector(target));\n break;\n case 'Hide':\n hideSpinner(document.querySelector(target));\n break;\n case 'Set': {\n var setArgs = { cssClass: options.cssClass, type: type };\n setSpinner(setArgs);\n break;\n }\n }\n}\n/**\n * Create a spinner for the specified target element.\n * ```\n * E.g : createSpinner({ target: targetElement, width: '34px', label: 'Loading..' });\n * ```\n *\n * @param {SpinnerArgs} args - specifies the args\n * @param {CreateElementArgs} internalCreateElement - specifis the element args\n * @returns {void}\n * @private\n */\nfunction createSpinner(args, internalCreateElement) {\n var _a;\n if (!args.target) {\n return;\n }\n var radius;\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n // eslint-disable-next-line\n var container = create_spinner_container(args.target, makeElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.cssClass)) {\n var classNames = args.cssClass.split(' ').filter(function (className) { return className.trim() !== ''; });\n (_a = container.wrap.classList).add.apply(_a, classNames);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.template) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(spinTemplate)) {\n var template = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.template) ? args.template : spinTemplate;\n container.wrap.classList.add(CLS_SPINTEMPLATE);\n replaceContent(container.wrap, template, spinCSSClass);\n }\n else {\n var theme = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.type) ? args.type : getTheme(container.wrap);\n var width = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.width) ? args.width : undefined;\n radius = calculateRadius(width, theme);\n setTheme(theme, container.wrap, radius, makeElement);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(args.label)) {\n createLabel(container.inner_wrap, args.label, makeElement);\n }\n }\n container.wrap.classList.add(CLS_HIDESPIN);\n container = null;\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {string} label - specifies the string\n * @param {createElementParams} makeElement - specifies the element\n * @returns {HTMLElement} - returns the element\n */\nfunction createLabel(container, label, makeElement) {\n var labelEle = makeElement('div', {});\n labelEle.classList.add(CLS_SPINLABEL);\n labelEle.innerHTML = label;\n container.appendChild(labelEle);\n return labelEle;\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createMaterialSpinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Material', radius: radius };\n create_material_element(container, uniqueID, makeElement, CLS_MATERIALSPIN);\n mat_calculate_attributes(radius, container, 'Material', CLS_MATERIALSPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createTailwind3Spinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Tailwind3', radius: radius };\n create_material_element(container, uniqueID, makeElement, CLS_TAILWIND3SPIN);\n mat_calculate_attributes(radius, container, 'Tailwind3', CLS_TAILWIND3SPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createMaterial3Spinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Material3', radius: radius };\n create_material_element(container, uniqueID, makeElement, CLS_MATERIAL3SPIN);\n mat_calculate_attributes(radius, container, 'Material3', CLS_MATERIAL3SPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createBootstrap4Spinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Bootstrap4', radius: radius };\n create_material_element(container, uniqueID, makeElement, CLS_BOOT4SPIN);\n mat_calculate_attributes(radius, container, 'Bootstrap4', CLS_BOOT4SPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createBootstrap5Spinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Bootstrap5', radius: radius };\n create_material_element(container, uniqueID, makeElement, CLS_BOOT5SPIN);\n mat_calculate_attributes(radius, container, 'Bootstrap5', CLS_BOOT5SPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {string} uniqueID - specifies the id.\n * @param {number} radius - specifies the radius\n * @returns {void}\n */\nfunction startMatAnimate(container, uniqueID, radius) {\n var globalObject = {};\n var timeOutVar = 0;\n globalTimeOut[\"\" + uniqueID].timeOut = 0;\n globalObject[\"\" + uniqueID] = globalVariables(uniqueID, radius, 0, 0);\n var spinnerInfo = { uniqueID: uniqueID, container: container, globalInfo: globalObject, timeOutVar: timeOutVar };\n animateMaterial(spinnerInfo);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createFabricSpinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Fabric', radius: radius };\n create_fabric_element(container, uniqueID, CLS_FABRICSPIN, makeElement);\n fb_calculate_attributes(radius, container, CLS_FABRICSPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createFluentSpinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Fluent', radius: radius };\n create_fabric_element(container, uniqueID, CLS_FLUENTSPIN, makeElement);\n fb_calculate_attributes(radius, container, CLS_FLUENTSPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createFluent2Spinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Fluent2', radius: radius };\n create_fabric_element(container, uniqueID, CLS_FLUENT2SPIN, makeElement);\n fb_calculate_attributes(radius, container, CLS_FLUENT2SPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createTailwindSpinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Tailwind', radius: radius };\n create_fabric_element(container, uniqueID, CLS_TAILWINDSPIN, makeElement);\n fb_calculate_attributes(radius, container, CLS_TAILWINDSPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createHighContrastSpinner(container, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'HighContrast', radius: radius };\n create_fabric_element(container, uniqueID, CLS_HIGHCONTRASTSPIN, makeElement);\n fb_calculate_attributes(radius, container, CLS_HIGHCONTRASTSPIN);\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @returns {string} - returns the string\n */\nfunction getTheme(container) {\n var theme = window.getComputedStyle(container, ':after').getPropertyValue('content');\n return theme.replace(/['\"]+/g, '');\n}\n/**\n *\n * @param {string} theme - specifies the theme\n * @param {HTMLElement} container - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction setTheme(theme, container, radius, makeElement) {\n var innerContainer = container.querySelector('.' + CLS_SPININWRAP);\n var svg = innerContainer.querySelector('svg');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(svg)) {\n innerContainer.removeChild(svg);\n }\n switch (theme) {\n case 'Material':\n createMaterialSpinner(innerContainer, radius, makeElement);\n break;\n case 'Material3':\n createMaterial3Spinner(innerContainer, radius, makeElement);\n break;\n case 'Fabric':\n createFabricSpinner(innerContainer, radius, makeElement);\n break;\n case 'Fluent':\n createFluentSpinner(innerContainer, radius, makeElement);\n break;\n case 'Fluent2':\n createFluent2Spinner(innerContainer, radius, makeElement);\n break;\n case 'Bootstrap':\n createBootstrapSpinner(innerContainer, radius, makeElement);\n break;\n case 'HighContrast':\n createHighContrastSpinner(innerContainer, radius, makeElement);\n break;\n case 'Bootstrap4':\n createBootstrap4Spinner(innerContainer, radius, makeElement);\n break;\n case 'Bootstrap5':\n createBootstrap5Spinner(innerContainer, radius, makeElement);\n break;\n case 'Tailwind':\n case 'Tailwind-dark':\n createTailwindSpinner(innerContainer, radius, makeElement);\n break;\n case 'Tailwind3':\n createTailwind3Spinner(innerContainer, radius, makeElement);\n break;\n }\n}\n/**\n *\n * @param {HTMLElement} innerContainer - specifies the element\n * @param {number} radius - specifies the radius\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\nfunction createBootstrapSpinner(innerContainer, radius, makeElement) {\n var uniqueID = random_generator();\n globalTimeOut[\"\" + uniqueID] = { timeOut: 0, type: 'Bootstrap', radius: radius };\n create_bootstrap_element(innerContainer, uniqueID, makeElement);\n boot_calculate_attributes(innerContainer, radius);\n}\n/**\n *\n * @param {HTMLElement} innerContainer - specifies the element\n * @param {string} uniqueID - specifies the id\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction create_bootstrap_element(innerContainer, uniqueID, makeElement) {\n var svgBoot = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n var viewBoxValue = 64;\n var trans = 32;\n var defaultRadius = 2;\n svgBoot.setAttribute('id', uniqueID);\n svgBoot.setAttribute('class', CLS_BOOTSPIN);\n svgBoot.setAttribute('viewBox', '0 0 ' + viewBoxValue + ' ' + viewBoxValue);\n innerContainer.insertBefore(svgBoot, innerContainer.firstChild);\n for (var item = 0; item <= 7; item++) {\n var bootCircle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\n bootCircle.setAttribute('class', CLS_SPINCIRCLE + '_' + item);\n bootCircle.setAttribute('r', defaultRadius + '');\n bootCircle.setAttribute('transform', 'translate(' + trans + ',' + trans + ')');\n svgBoot.appendChild(bootCircle);\n }\n}\n/**\n *\n * @param {HTMLElement} innerContainer - specifies the element\n * @param {number} radius - specifies the radius\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction boot_calculate_attributes(innerContainer, radius) {\n var svg = innerContainer.querySelector('svg.e-spin-bootstrap');\n var x = 0;\n var y = 0;\n var rad = 24;\n svg.style.width = svg.style.height = radius + 'px';\n var startArc = 90;\n for (var item = 0; item <= 7; item++) {\n var start = defineArcPoints(x, y, rad, startArc);\n var circleEle = svg.querySelector('.' + CLS_SPINCIRCLE + '_' + item);\n circleEle.setAttribute('cx', start.x + '');\n circleEle.setAttribute('cy', start.y + '');\n startArc = startArc >= 360 ? 0 : startArc;\n startArc = startArc + 45;\n }\n}\n/**\n *\n * @param {number} begin - specifies the number\n * @param {number} stop - specifirs the number\n * @returns {number[]} - returns the array of number\n */\nfunction generateSeries(begin, stop) {\n var series = [];\n var start = begin;\n var end = stop;\n var increment = false;\n var count = 1;\n formSeries(start);\n /**\n *\n * @param {number} i - specifies the number\n * @returns {void}\n */\n function formSeries(i) {\n series.push(i);\n if (i !== end || count === 1) {\n if (i <= start && i > 1 && !increment) {\n i = parseFloat((i - 0.2).toFixed(2));\n }\n else if (i === 1) {\n i = 7;\n i = parseFloat((i + 0.2).toFixed(2));\n increment = true;\n }\n else if (i < 8 && increment) {\n i = parseFloat((i + 0.2).toFixed(2));\n if (i === 8) {\n increment = false;\n }\n }\n else if (i <= 8 && !increment) {\n i = parseFloat((i - 0.2).toFixed(2));\n }\n ++count;\n formSeries(i);\n }\n }\n return series;\n}\n/**\n *\n * @param {HTMLElement} innerContainer - specifies the element\n * @returns {void}\n */\nfunction animateBootstrap(innerContainer) {\n var svg = innerContainer.querySelector('svg.e-spin-bootstrap');\n var id = svg.getAttribute('id');\n for (var i = 1; i <= 8; i++) {\n var circleEle = (innerContainer.getElementsByClassName('e-path-circle_' +\n (i === 8 ? 0 : i))[0]);\n rotation(circleEle, i, i, generateSeries(i, i), id);\n }\n /**\n *\n * @param {SVGCircleElement} circle - specifies the circl element\n * @param {number} start - specifies the number\n * @param {number} end - specifies the end number\n * @param {number} series - specifies the series\n * @param {string} id - specifies the id\n * @returns {void}\n */\n function rotation(circle, start, end, series, id) {\n var count = 0;\n boot_animate(start);\n // eslint-disable-next-line\n function boot_animate(radius) {\n if (globalTimeOut[\"\" + id].isAnimate) {\n ++count;\n circle.setAttribute('r', radius + '');\n if (count >= series.length) {\n count = 0;\n }\n // eslint-disable-next-line\n globalTimeOut[id].timeOut = setTimeout(boot_animate.bind(null, series[count]), 18);\n }\n }\n }\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {string} template - specifies the template\n * @param {string} cssClass - specifies the css class.\n * @returns {void}\n */\nfunction replaceContent(container, template, cssClass) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cssClass)) {\n container.classList.add(cssClass);\n }\n var inner = container.querySelector('.e-spinner-inner');\n inner.innerHTML = template;\n}\n/**\n *\n * @param {string} width - specifies the width\n * @param {string} theme - specifies the string\n * @returns {number} - returns the number\n */\nfunction calculateRadius(width, theme) {\n var defaultSize;\n switch (theme) {\n case 'Material':\n defaultSize = DEFT_MAT_WIDTH;\n break;\n case 'Material3':\n defaultSize = DEFT_MAT3_WIDTH;\n break;\n case 'Fabric':\n defaultSize = DEFT_FAB_WIDTH;\n break;\n case 'Tailwind':\n case 'Tailwind-dark':\n case 'Tailwind3':\n defaultSize = DEFT_FAB_WIDTH;\n break;\n case 'Fluent':\n defaultSize = DEFT_FLUENT_WIDTH;\n break;\n case 'Fluent2':\n defaultSize = DEFT_FLUENT2_WIDTH;\n break;\n case 'Bootstrap4':\n defaultSize = DEFT_BOOT4_WIDTH;\n break;\n case 'Bootstrap5':\n defaultSize = DEFT_BOOT5_WIDTH;\n break;\n default:\n defaultSize = DEFT_BOOT_WIDTH;\n }\n width = width ? parseFloat(width + '') : defaultSize;\n return theme === 'Bootstrap' ? width : width / 2;\n}\n/**\n *\n * @param {string} id - specifies the id\n * @param {number} radius - specifies the radius\n * @param {number} count - specifies the number count\n * @param {number} previousId - specifies the previous id\n * @returns {GlobalVariables} - returns the variables\n */\nfunction globalVariables(id, radius, count, previousId) {\n return {\n radius: radius,\n count: count,\n previousId: previousId\n };\n}\n/**\n * @returns {string} - returns the string\n */\n// eslint-disable-next-line\nfunction random_generator() {\n var random = '';\n var combine = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (var i = 0; i < 5; i++) {\n random += combine.charAt(Math.floor(Math.random() * combine.length));\n }\n return random;\n}\n/**\n *\n * @param {HTMLElement} innerCon - specifies the element\n * @param {string} uniqueID - specifies the unique id\n * @param {string} themeClass - specifies the string\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction create_fabric_element(innerCon, uniqueID, themeClass, makeElement) {\n var svgFabric = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svgFabric.setAttribute('id', uniqueID);\n svgFabric.setAttribute('class', themeClass);\n var fabricCirclePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n fabricCirclePath.setAttribute('class', CLS_SPINCIRCLE);\n var fabricCircleArc = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n fabricCircleArc.setAttribute('class', CLS_SPINARC);\n innerCon.insertBefore(svgFabric, innerCon.firstChild);\n svgFabric.appendChild(fabricCirclePath);\n svgFabric.appendChild(fabricCircleArc);\n}\n/**\n *\n * @param {HTMLElement} innerContainer - specifies the element\n * @param {string} uniqueID - specifies the unique id\n * @param {createElementParams} makeElement - specifies the element\n * @param {string} cls - specifies the string\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction create_material_element(innerContainer, uniqueID, makeElement, cls) {\n var svgMaterial = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n var matCirclePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n svgMaterial.setAttribute('class', cls);\n svgMaterial.setAttribute('id', uniqueID);\n matCirclePath.setAttribute('class', CLS_SPINCIRCLE);\n innerContainer.insertBefore(svgMaterial, innerContainer.firstChild);\n svgMaterial.appendChild(matCirclePath);\n}\n/**\n *\n * @param {HTMLElement} target - specifies the element\n * @param {createElementParams} makeElement - specifies the element\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction create_spinner_container(target, makeElement) {\n var spinnerContainer = makeElement('div', {});\n var spinnerInnerContainer = makeElement('div', {});\n spinnerContainer.classList.add(CLS_SPINWRAP);\n spinnerInnerContainer.classList.add(CLS_SPININWRAP);\n spinnerInnerContainer.setAttribute('aria-disabled', 'true');\n target.appendChild(spinnerContainer);\n spinnerContainer.appendChild(spinnerInnerContainer);\n // eslint-disable-next-line\n return { wrap: spinnerContainer, inner_wrap: spinnerInnerContainer };\n}\n/**\n *\n * @param {SpinnerInfo} spinnerInfo - specifies the spinner\n * @returns {void}\n */\nfunction animateMaterial(spinnerInfo) {\n var start = 1;\n var end = 149;\n var duration = 1333;\n var max = 75;\n createCircle(start, end, easeAnimation, duration, spinnerInfo.globalInfo[spinnerInfo.uniqueID].count, max, spinnerInfo);\n spinnerInfo.globalInfo[spinnerInfo.uniqueID].count = ++spinnerInfo.globalInfo[spinnerInfo.uniqueID].count % 4;\n}\n/**\n *\n * @param {number} start - specifies the number\n * @param {number} end - specifies the end number\n * @param {Function} easing - specifies the function\n * @param {number} duration - specifies the duration\n * @param {number} count - specifies the count\n * @param {number} max - specifies the max number\n * @param {SpinnerInfo} spinnerInfo - specifies the spinner info\n * @returns {void}\n */\nfunction createCircle(start, end, easing, duration, count, max, spinnerInfo) {\n var id = ++spinnerInfo.globalInfo[spinnerInfo.uniqueID].previousId;\n var startTime = new Date().getTime();\n var change = end - start;\n var diameter = getSize((spinnerInfo.globalInfo[spinnerInfo.uniqueID].radius * 2) + '');\n var strokeSize = getStrokeSize(diameter);\n var rotate = -90 * (spinnerInfo.globalInfo[spinnerInfo.uniqueID].count || 0);\n mat_animation(spinnerInfo);\n // eslint-disable-next-line\n function mat_animation(spinnerInfo) {\n var currentTime = Math.max(0, Math.min(new Date().getTime() - startTime, duration));\n updatePath(easing(currentTime, start, change, duration), spinnerInfo.container);\n if (id === spinnerInfo.globalInfo[spinnerInfo.uniqueID].previousId && currentTime < duration) {\n // eslint-disable-next-line\n globalTimeOut[spinnerInfo.uniqueID].timeOut = setTimeout(mat_animation.bind(null, spinnerInfo), 1);\n }\n else {\n animateMaterial(spinnerInfo);\n }\n }\n /**\n *\n * @param {number} value - specifies the number value\n * @param {HTMLElement} container - specifies the container\n * @returns {void}\n */\n function updatePath(value, container) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-material')) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-material3')) || !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-tailwind3'))) {\n var svg = void 0;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-material')) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-material').querySelector('path.e-path-circle'))) {\n svg = container.querySelector('svg.e-spin-material');\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-material3')) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-material3').querySelector('path.e-path-circle'))) {\n svg = container.querySelector('svg.e-spin-material3');\n }\n else if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-tailwind3')) &&\n !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(container.querySelector('svg.e-spin-tailwind3').querySelector('path.e-path-circle'))) {\n svg = container.querySelector('svg.e-spin-tailwind3');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(svg)) {\n var path = svg.querySelector('path.e-path-circle');\n path.setAttribute('stroke-dashoffset', getDashOffset(diameter, strokeSize, value, max) + '');\n path.setAttribute('transform', 'rotate(' + (rotate) + ' ' + diameter / 2 + ' ' + diameter / 2 + ')');\n }\n }\n }\n}\n/**\n *\n * @param {number} radius - specifies the number\n * @param {HTMLElement} container - specifies the element\n * @param {string} type - specifies the string type\n * @param {string} cls - specifies the string\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction mat_calculate_attributes(radius, container, type, cls) {\n var diameter = radius * 2;\n var svg = container.querySelector('svg.' + cls);\n var path = svg.querySelector('path.e-path-circle');\n var strokeSize = getStrokeSize(diameter);\n var transformOrigin = (diameter / 2) + 'px';\n svg.setAttribute('viewBox', '0 0 ' + diameter + ' ' + diameter);\n svg.style.width = svg.style.height = diameter + 'px';\n svg.style.transformOrigin = transformOrigin + ' ' + transformOrigin + ' ' + transformOrigin;\n path.setAttribute('d', drawArc(diameter, strokeSize));\n if (type === 'Material' || type === 'Material3' || type === 'Fluent2' || type === 'Tailwind3') {\n path.setAttribute('stroke-width', strokeSize + '');\n path.setAttribute('stroke-dasharray', ((diameter - strokeSize) * Math.PI * 0.75) + '');\n path.setAttribute('stroke-dashoffset', getDashOffset(diameter, strokeSize, 1, 75) + '');\n }\n}\n/**\n *\n * @param {string} value - specifies the value\n * @returns {number} - returns the number\n */\nfunction getSize(value) {\n var parsed = parseFloat(value);\n return parsed;\n}\n/**\n *\n * @param {number} diameter - specifies the diameter\n * @param {number} strokeSize - specifies the size\n * @returns {string} - returns the string\n */\nfunction drawArc(diameter, strokeSize) {\n var radius = diameter / 2;\n var offset = strokeSize / 2;\n return 'M' + radius + ',' + offset\n + 'A' + (radius - offset) + ',' + (radius - offset) + ' 0 1 1 ' + offset + ',' + radius;\n}\n/**\n *\n * @param {number} diameter - specifies the number\n * @returns {number} - returns the number\n */\nfunction getStrokeSize(diameter) {\n return 10 / 100 * diameter;\n}\n/**\n *\n * @param {number} diameter - specifies the number\n * @param {number} strokeSize - specifies the stroke size\n * @param {number} value - specifies the value\n * @param {number} max - specifies the max number\n * @returns {number} - returns the number\n */\nfunction getDashOffset(diameter, strokeSize, value, max) {\n return (diameter - strokeSize) * Math.PI * ((3 * (max) / 100) - (value / 100));\n}\n/**\n *\n * @param {number} current - specifies the number\n * @param {number} start - specifies the stroke size\n * @param {number} change - specifies the value\n * @param {number} duration - specifies the max number\n * @returns {number} - returns the number\n */\nfunction easeAnimation(current, start, change, duration) {\n var timestamp = (current /= duration) * current;\n var timecount = timestamp * current;\n return start + change * (6 * timecount * timestamp + -15 * timestamp * timestamp + 10 * timecount);\n}\n/**\n *\n * @param {number} radius - specifies the number\n * @param {HTMLElement} innerConainer - specifies the element\n * @param {string} trgClass - specifies the class\n * @returns {void}\n */\n// eslint-disable-next-line\nfunction fb_calculate_attributes(radius, innerConainer, trgClass) {\n var centerX = radius;\n var centerY = radius;\n var diameter = radius * 2;\n var startArc = 315;\n var endArc = 45;\n var svg = innerConainer.querySelector('.' + trgClass);\n var circle = svg.querySelector('.e-path-circle');\n var path = svg.querySelector('.e-path-arc');\n var transformOrigin = (diameter / 2) + 'px';\n circle.setAttribute('d', defineCircle(centerX, centerY, radius));\n path.setAttribute('d', defineArc(centerX, centerY, radius, startArc, endArc));\n svg.setAttribute('viewBox', '0 0 ' + diameter + ' ' + diameter);\n svg.style.transformOrigin = transformOrigin + ' ' + transformOrigin + ' ' + transformOrigin;\n svg.style.width = svg.style.height = diameter + 'px';\n}\n/**\n *\n * @param {number} centerX - specifies the number\n * @param {number} centerY - specifies the stroke size\n * @param {number} radius - specifies the value\n * @param {number} angle - specifies the max number\n * @returns {number} - returns the number\n */\nfunction defineArcPoints(centerX, centerY, radius, angle) {\n var radians = (angle - 90) * Math.PI / 180.0;\n return {\n x: centerX + (radius * Math.cos(radians)),\n y: centerY + (radius * Math.sin(radians))\n };\n}\n/**\n *\n * @param {number} x - specifies the number\n * @param {number} y - specifies the stroke size\n * @param {number} radius - specifies the radius\n * @param {number} startArc - specifies the value\n * @param {number} endArc - specifies the max number\n * @returns {number} - returns the number\n */\nfunction defineArc(x, y, radius, startArc, endArc) {\n var start = defineArcPoints(x, y, radius, endArc);\n var end = defineArcPoints(x, y, radius, startArc);\n var d = [\n 'M', start.x, start.y,\n 'A', radius, radius, 0, 0, 0, end.x, end.y\n ].join(' ');\n return d;\n}\n/**\n *\n * @param {number} x - specifies the number\n * @param {number} y - specifies the stroke size\n * @param {number} radius - specifies the value\n * @returns {string} - returns the string\n */\nfunction defineCircle(x, y, radius) {\n var d = [\n 'M', x, y,\n 'm', -radius, 0,\n 'a', radius, radius, 0, 1, 0, radius * 2, 0,\n 'a', radius, radius, 0, 1, 0, -radius * 2, 0\n ].join(' ');\n return d;\n}\n/**\n * Function to show the Spinner.\n *\n * @param {HTMLElement} container - Specify the target of the Spinner.\n * @returns {void}\n * @private\n */\nfunction showSpinner(container) {\n showHideSpinner(container, false);\n container = null;\n}\n/**\n *\n * @param {HTMLElement} container - specifies the element\n * @param {boolean} isHide - specifies the boolean\n * @returns {void}\n */\nfunction showHideSpinner(container, isHide) {\n var spinnerWrap;\n if (container) {\n if (container.classList.contains(CLS_SPINWRAP)) {\n spinnerWrap = container;\n }\n else {\n var spinWrapCollection = container.querySelectorAll('.' + CLS_SPINWRAP);\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isIE) {\n for (var i = 0; i < spinWrapCollection.length; i++) {\n if (spinWrapCollection[i].parentElement && spinWrapCollection[i].parentElement === container) {\n spinnerWrap = spinWrapCollection[i];\n break;\n }\n }\n }\n else {\n spinnerWrap = Array.from(spinWrapCollection).find(function (wrap) { return wrap.parentElement === container; }) || null;\n }\n }\n }\n if (container && spinnerWrap) {\n var inner = spinnerWrap.querySelector('.' + CLS_SPININWRAP);\n var spinCheck = isHide ? !spinnerWrap.classList.contains(CLS_SPINTEMPLATE) &&\n !spinnerWrap.classList.contains(CLS_HIDESPIN) :\n !spinnerWrap.classList.contains(CLS_SPINTEMPLATE) && !spinnerWrap.classList.contains(CLS_SHOWSPIN);\n if (spinCheck) {\n var svgEle = spinnerWrap.querySelector('svg');\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(svgEle)) {\n return;\n }\n var id = svgEle.getAttribute('id');\n globalTimeOut[\"\" + id].isAnimate = !isHide;\n switch (globalTimeOut[\"\" + id].type) {\n case 'Material':\n case 'Material3':\n case 'Tailwind3':\n if (isHide) {\n clearTimeout(globalTimeOut[id].timeOut);\n }\n else {\n startMatAnimate(inner, id, globalTimeOut[id].radius);\n }\n break;\n case 'Bootstrap':\n if (isHide) {\n clearTimeout(globalTimeOut[id].timeOut);\n }\n else {\n animateBootstrap(inner);\n }\n break;\n }\n }\n if (isHide) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(spinnerWrap, [CLS_HIDESPIN], [CLS_SHOWSPIN]);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.classList)(spinnerWrap, [CLS_SHOWSPIN], [CLS_HIDESPIN]);\n }\n container = null;\n }\n}\n/**\n * Function to hide the Spinner.\n *\n * @param {HTMLElement} container - Specify the target of the Spinner.\n * @returns {void}\n * @private\n */\nfunction hideSpinner(container) {\n showHideSpinner(container, true);\n container = null;\n}\n/**\n * Function to change the Spinners in a page globally from application end.\n * ```\n * E.g : setSpinner({ cssClass: 'custom-css'; type: 'Material' });\n * ```\n *\n * @param {SetSpinnerArgs} args - specifies the args\n * @param {createElementParams} internalCreateElement - specifies the element params\n * @returns {void}\n * @private\n */\nfunction setSpinner(args, internalCreateElement) {\n var makeElement = !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(internalCreateElement) ? internalCreateElement : _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.createElement;\n if (args.template !== undefined) {\n spinTemplate = args.template;\n if (args.template !== undefined) {\n spinCSSClass = args.cssClass;\n }\n }\n var container = document.querySelectorAll('.' + CLS_SPINWRAP);\n for (var index = 0; index < container.length; index++) {\n ensureTemplate(args.template, container[index], args.type, args.cssClass, makeElement);\n }\n}\n/**\n *\n * @param {string} template - specifies the string\n * @param {HTMLElement} container - specifies the container\n * @param {string} theme - specifies the theme\n * @param {string} cssClass - specifies the string class\n * @param {createElementParams} makeEle - specifies the params\n * @returns {void}\n */\nfunction ensureTemplate(template, container, theme, cssClass, makeEle) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(template) && !container.classList.contains(CLS_SPINTEMPLATE)) {\n replaceTheme(container, theme, cssClass, makeEle);\n if (container.classList.contains(CLS_SHOWSPIN)) {\n container.classList.remove(CLS_SHOWSPIN);\n showSpinner(container);\n }\n else {\n container.classList.remove(CLS_HIDESPIN);\n hideSpinner(container);\n }\n }\n else {\n spinTemplate = template;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cssClass)) {\n spinCSSClass = cssClass;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(spinTemplate)) {\n replaceContent(container, spinTemplate, spinCSSClass);\n }\n }\n}\n/**\n *\n * @param {HTMLElement} container - specifies the container\n * @param {string} theme - specifies the theme\n * @param {string} cssClass - specifies the string class\n * @param {createElementParams} makeEle - specifies the params\n * @returns {void}\n */\nfunction replaceTheme(container, theme, cssClass, makeEle) {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(cssClass)) {\n container.classList.add(cssClass);\n }\n var svgElement = container.querySelector('svg');\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(svgElement)) {\n var radius = theme === 'Bootstrap' ? parseFloat(svgElement.style.height) : parseFloat(svgElement.style.height) / 2;\n var classNames = svgElement.getAttribute('class');\n var svgClassList = classNames.split(/\\s/);\n if (svgClassList.indexOf('e-spin-material') >= 0) {\n var id = svgElement.getAttribute('id');\n clearTimeout(globalTimeOut[\"\" + id].timeOut);\n }\n setTheme(theme, container, radius, makeEle);\n }\n}\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/spinner/spinner.js?"); + +/***/ }), + +/***/ "./node_modules/@syncfusion/ej2-popups/src/tooltip/tooltip.js": +/*!********************************************************************!*\ + !*** ./node_modules/@syncfusion/ej2-popups/src/tooltip/tooltip.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: () => (/* binding */ Animation),\n/* harmony export */ Tooltip: () => (/* binding */ Tooltip)\n/* harmony export */ });\n/* harmony import */ var _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @syncfusion/ej2-base */ \"./node_modules/@syncfusion/ej2-base/index.js\");\n/* harmony import */ var _popup_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../popup/popup */ \"./node_modules/@syncfusion/ej2-popups/src/popup/popup.js\");\n/* harmony import */ var _common_position__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/position */ \"./node_modules/@syncfusion/ej2-popups/src/common/position.js\");\n/* harmony import */ var _common_collision__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/collision */ \"./node_modules/@syncfusion/ej2-popups/src/common/collision.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\nvar TOUCHEND_HIDE_DELAY = 1500;\nvar TAPHOLD_THRESHOLD = 500;\nvar SHOW_POINTER_TIP_GAP = 0;\nvar HIDE_POINTER_TIP_GAP = 8;\nvar MOUSE_TRAIL_GAP = 2;\nvar POINTER_ADJUST = 2;\nvar ROOT = 'e-tooltip';\nvar RTL = 'e-rtl';\nvar DEVICE = 'e-bigger';\nvar ICON = 'e-icons';\nvar CLOSE = 'e-tooltip-close';\nvar TOOLTIP_WRAP = 'e-tooltip-wrap';\nvar CONTENT = 'e-tip-content';\nvar ARROW_TIP = 'e-arrow-tip';\nvar ARROW_TIP_OUTER = 'e-arrow-tip-outer';\nvar ARROW_TIP_INNER = 'e-arrow-tip-inner';\nvar TIP_BOTTOM = 'e-tip-bottom';\nvar TIP_TOP = 'e-tip-top';\nvar TIP_LEFT = 'e-tip-left';\nvar TIP_RIGHT = 'e-tip-right';\nvar POPUP_ROOT = 'e-popup';\nvar POPUP_OPEN = 'e-popup-open';\nvar POPUP_CLOSE = 'e-popup-close';\nvar POPUP_LIB = 'e-lib';\nvar HIDE_POPUP = 'e-hidden';\nvar POPUP_CONTAINER = 'e-tooltip-popup-container';\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({ effect: 'FadeIn', duration: 150, delay: 0 })\n ], Animation.prototype, \"open\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)({ effect: 'FadeOut', duration: 150, delay: 0 })\n ], Animation.prototype, \"close\", void 0);\n return Animation;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.ChildProperty));\n\n/**\n * Represents the Tooltip component that displays a piece of information about the target element on mouse hover.\n * ```html\n *
        Show Tooltip
        \n * ```\n * ```typescript\n * \n * ```\n */\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n /**\n * Constructor for creating the Tooltip Component\n *\n * @param {TooltipModel} options - specifies the options for the constructor\n * @param {string| HTMLElement} element - specifies the element for the constructor\n *\n */\n function Tooltip(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.mouseMoveEvent = null;\n _this.mouseMoveTarget = null;\n _this.containerElement = null;\n _this.isBodyContainer = true;\n return _this;\n }\n Tooltip.prototype.initialize = function () {\n this.formatPosition();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.element], ROOT);\n };\n Tooltip.prototype.formatPosition = function () {\n var _a, _b;\n if (!this.position) {\n return;\n }\n if (this.position.indexOf('Top') === 0 || this.position.indexOf('Bottom') === 0) {\n _a = this.position.split(/(?=[A-Z])/), this.tooltipPositionY = _a[0], this.tooltipPositionX = _a[1];\n }\n else {\n _b = this.position.split(/(?=[A-Z])/), this.tooltipPositionX = _b[0], this.tooltipPositionY = _b[1];\n }\n };\n Tooltip.prototype.renderArrow = function () {\n this.setTipClass(this.position);\n var tip = this.createElement('div', { className: ARROW_TIP + ' ' + this.tipClass });\n tip.appendChild(this.createElement('div', { className: ARROW_TIP_OUTER + ' ' + this.tipClass }));\n tip.appendChild(this.createElement('div', { className: ARROW_TIP_INNER + ' ' + this.tipClass }));\n this.tooltipEle.appendChild(tip);\n };\n Tooltip.prototype.setTipClass = function (position) {\n if (position.indexOf('Right') === 0) {\n this.tipClass = TIP_LEFT;\n }\n else if (position.indexOf('Bottom') === 0) {\n this.tipClass = TIP_TOP;\n }\n else if (position.indexOf('Left') === 0) {\n this.tipClass = TIP_RIGHT;\n }\n else {\n this.tipClass = TIP_BOTTOM;\n }\n };\n Tooltip.prototype.renderPopup = function (target) {\n var elePos = this.mouseTrail ? { top: 0, left: 0 } : this.getTooltipPosition(target);\n this.tooltipEle.classList.remove(POPUP_LIB);\n this.popupObj = new _popup_popup__WEBPACK_IMPORTED_MODULE_1__.Popup(this.tooltipEle, {\n height: this.height,\n width: this.width,\n position: { X: elePos.left, Y: elePos.top },\n enableRtl: this.enableRtl,\n open: this.openPopupHandler.bind(this),\n close: this.closePopupHandler.bind(this)\n });\n };\n Tooltip.prototype.getScalingFactor = function (target) {\n if (!target) {\n return { x: 1, y: 1 };\n }\n var scalingFactors = { x: 1, y: 1 };\n var elementsWithTransform = target.closest('[style*=\"transform: scale\"]');\n if (elementsWithTransform && elementsWithTransform !== this.tooltipEle && elementsWithTransform.contains(this.tooltipEle)) {\n var computedStyle = window.getComputedStyle(elementsWithTransform);\n var transformValue = computedStyle.getPropertyValue('transform');\n var matrixValues = transformValue.match(/matrix\\(([^)]+)\\)/)[1].split(',').map(parseFloat);\n scalingFactors.x = matrixValues[0];\n scalingFactors.y = matrixValues[3];\n }\n return scalingFactors;\n };\n Tooltip.prototype.getTooltipPosition = function (target) {\n this.tooltipEle.style.display = 'block';\n var parentWithZoomStyle = this.element.closest('[style*=\"zoom\"]');\n if (parentWithZoomStyle) {\n if (!parentWithZoomStyle.contains(this.tooltipEle)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.tooltipEle.style.zoom = getComputedStyle(parentWithZoomStyle).zoom;\n }\n }\n var pos = (0,_common_position__WEBPACK_IMPORTED_MODULE_2__.calculatePosition)(target, this.tooltipPositionX, this.tooltipPositionY, !this.isBodyContainer, this.isBodyContainer ? null : this.containerElement.getBoundingClientRect());\n var scalingFactors = this.getScalingFactor(target);\n var offsetPos = this.calculateTooltipOffset(this.position, scalingFactors.x, scalingFactors.y);\n var collisionPosition = this.calculateElementPosition(pos, offsetPos);\n var collisionLeft = collisionPosition[0];\n var collisionTop = collisionPosition[1];\n var elePos = this.collisionFlipFit(target, collisionLeft, collisionTop);\n elePos.left = elePos.left / scalingFactors.x;\n elePos.top = elePos.top / scalingFactors.y;\n this.tooltipEle.style.display = '';\n return elePos;\n };\n Tooltip.prototype.windowResize = function () {\n this.reposition(this.findTarget());\n };\n Tooltip.prototype.reposition = function (target) {\n if (this.popupObj && target) {\n var elePos = this.getTooltipPosition(target);\n this.popupObj.position = { X: elePos.left, Y: elePos.top };\n this.popupObj.dataBind();\n }\n };\n Tooltip.prototype.openPopupHandler = function () {\n if (!this.mouseTrail && this.needTemplateReposition()) {\n this.reposition(this.findTarget());\n }\n this.trigger('afterOpen', this.tooltipEventArgs);\n this.tooltipEventArgs = null;\n };\n Tooltip.prototype.closePopupHandler = function () {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact && !(this.opensOn === 'Click' || typeof (this.content) === 'function')) {\n this.clearTemplate(['content']);\n }\n this.clear();\n var tooltipAfterCloseEventArgs = {\n type: this.tooltipEventArgs.event ? this.tooltipEventArgs.event.type : null, cancel: false,\n target: this.tooltipEventArgs.target, event: this.tooltipEventArgs.event ? this.tooltipEventArgs.event : null,\n element: this.tooltipEle, isInteracted: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tooltipEventArgs.event)\n };\n this.trigger('afterClose', tooltipAfterCloseEventArgs);\n tooltipAfterCloseEventArgs = null;\n };\n Tooltip.prototype.calculateTooltipOffset = function (position, xScalingFactor, yScalingFactor) {\n if (xScalingFactor === void 0) { xScalingFactor = 1; }\n if (yScalingFactor === void 0) { yScalingFactor = 1; }\n var pos = { top: 0, left: 0 };\n var tipWidth;\n var tipHeight;\n var tooltipEleWidth;\n var tooltipEleHeight;\n var arrowEle;\n var tipAdjust;\n var tipHeightAdjust;\n var tipWidthAdjust;\n if (xScalingFactor !== 1 || yScalingFactor !== 1) {\n var tooltipEleRect = this.tooltipEle.getBoundingClientRect();\n var arrowEleRect = void 0;\n tooltipEleWidth = Math.round(tooltipEleRect.width);\n tooltipEleHeight = Math.round(tooltipEleRect.height);\n arrowEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + ARROW_TIP, this.tooltipEle);\n if (arrowEle) {\n arrowEleRect = arrowEle.getBoundingClientRect();\n }\n tipWidth = arrowEle ? Math.round(arrowEleRect.width) : 0;\n tipHeight = arrowEle ? Math.round(arrowEleRect.height) : 0;\n tipAdjust = (this.showTipPointer ? SHOW_POINTER_TIP_GAP : HIDE_POINTER_TIP_GAP);\n tipHeightAdjust = (tipHeight / 2) + POINTER_ADJUST + (tooltipEleHeight - (this.tooltipEle.clientHeight * yScalingFactor));\n tipWidthAdjust = (tipWidth / 2) + POINTER_ADJUST + (tooltipEleWidth - (this.tooltipEle.clientWidth * xScalingFactor));\n }\n else {\n tooltipEleWidth = this.tooltipEle.offsetWidth;\n tooltipEleHeight = this.tooltipEle.offsetHeight;\n arrowEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + ARROW_TIP, this.tooltipEle);\n tipWidth = arrowEle ? arrowEle.offsetWidth : 0;\n tipHeight = arrowEle ? arrowEle.offsetHeight : 0;\n tipAdjust = (this.showTipPointer ? SHOW_POINTER_TIP_GAP : HIDE_POINTER_TIP_GAP);\n tipHeightAdjust = (tipHeight / 2) + POINTER_ADJUST + (this.tooltipEle.offsetHeight - this.tooltipEle.clientHeight);\n tipWidthAdjust = (tipWidth / 2) + POINTER_ADJUST + (this.tooltipEle.offsetWidth - this.tooltipEle.clientWidth);\n }\n if (this.mouseTrail) {\n tipAdjust += MOUSE_TRAIL_GAP;\n }\n switch (position) {\n case 'RightTop':\n pos.left += tipWidth + tipAdjust;\n pos.top -= tooltipEleHeight - tipHeightAdjust;\n break;\n case 'RightCenter':\n pos.left += tipWidth + tipAdjust;\n pos.top -= (tooltipEleHeight / 2);\n break;\n case 'RightBottom':\n pos.left += tipWidth + tipAdjust;\n pos.top -= (tipHeightAdjust);\n break;\n case 'BottomRight':\n pos.top += (tipHeight + tipAdjust);\n pos.left -= (tipWidthAdjust);\n break;\n case 'BottomCenter':\n pos.top += (tipHeight + tipAdjust);\n pos.left -= (tooltipEleWidth / 2);\n break;\n case 'BottomLeft':\n pos.top += (tipHeight + tipAdjust);\n pos.left -= (tooltipEleWidth - tipWidthAdjust);\n break;\n case 'LeftBottom':\n pos.left -= (tipWidth + tooltipEleWidth + tipAdjust);\n pos.top -= (tipHeightAdjust);\n break;\n case 'LeftCenter':\n pos.left -= (tipWidth + tooltipEleWidth + tipAdjust);\n pos.top -= (tooltipEleHeight / 2);\n break;\n case 'LeftTop':\n pos.left -= (tipWidth + tooltipEleWidth + tipAdjust);\n pos.top -= (tooltipEleHeight - tipHeightAdjust);\n break;\n case 'TopLeft':\n pos.top -= (tooltipEleHeight + tipHeight + tipAdjust);\n pos.left -= (tooltipEleWidth - tipWidthAdjust);\n break;\n case 'TopRight':\n pos.top -= (tooltipEleHeight + tipHeight + tipAdjust);\n pos.left -= (tipWidthAdjust);\n break;\n default:\n pos.top -= (tooltipEleHeight + tipHeight + tipAdjust);\n pos.left -= (tooltipEleWidth / 2);\n break;\n }\n pos.left += this.offsetX;\n pos.top += this.offsetY;\n return pos;\n };\n Tooltip.prototype.updateTipPosition = function (position) {\n var selEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('.' + ARROW_TIP + ',.' + ARROW_TIP_OUTER + ',.' + ARROW_TIP_INNER, this.tooltipEle);\n var removeList = [TIP_BOTTOM, TIP_TOP, TIP_LEFT, TIP_RIGHT];\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)(selEle, removeList);\n this.setTipClass(position);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)(selEle, this.tipClass);\n };\n Tooltip.prototype.adjustArrow = function (target, position, tooltipPositionX, tooltipPositionY) {\n var arrowEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + ARROW_TIP, this.tooltipEle);\n if (this.showTipPointer === false || arrowEle === null) {\n return;\n }\n this.updateTipPosition(position);\n var leftValue;\n var topValue;\n this.tooltipEle.style.display = 'block';\n var tooltipWidth = this.tooltipEle.clientWidth;\n var tooltipHeight = this.tooltipEle.clientHeight;\n var arrowInnerELe = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + ARROW_TIP_INNER, this.tooltipEle);\n var tipWidth = arrowEle.offsetWidth;\n var tipHeight = arrowEle.offsetHeight;\n this.tooltipEle.style.display = '';\n if (this.tipClass === TIP_BOTTOM || this.tipClass === TIP_TOP) {\n if (this.tipClass === TIP_BOTTOM) {\n topValue = '99.9%';\n // Arrow icon aligned -2px height from ArrowOuterTip div\n arrowInnerELe.style.top = '-' + (tipHeight - 2) + 'px';\n }\n else {\n topValue = -(tipHeight - 1) + 'px';\n // Arrow icon aligned -6px height from ArrowOuterTip div\n arrowInnerELe.style.top = '-' + (tipHeight - 6) + 'px';\n }\n if (target) {\n var tipPosExclude = tooltipPositionX !== 'Center' || (tooltipWidth > target.offsetWidth) || this.mouseTrail;\n if ((tipPosExclude && tooltipPositionX === 'Left') || (!tipPosExclude && this.tipPointerPosition === 'End')) {\n leftValue = (tooltipWidth - tipWidth - POINTER_ADJUST) + 'px';\n }\n else if ((tipPosExclude && tooltipPositionX === 'Right') || (!tipPosExclude && this.tipPointerPosition === 'Start')) {\n leftValue = POINTER_ADJUST + 'px';\n }\n else if ((tipPosExclude) && (this.tipPointerPosition === 'End' || this.tipPointerPosition === 'Start')) {\n leftValue = (this.tipPointerPosition === 'End') ? ((target.offsetWidth + ((this.tooltipEle.offsetWidth - target.offsetWidth) / 2)) - (tipWidth / 2)) - POINTER_ADJUST + 'px'\n : ((this.tooltipEle.offsetWidth - target.offsetWidth) / 2) - (tipWidth / 2) + POINTER_ADJUST + 'px';\n }\n else {\n leftValue = ((tooltipWidth / 2) - (tipWidth / 2)) + 'px';\n }\n }\n }\n else {\n if (this.tipClass === TIP_RIGHT) {\n leftValue = '99.9%';\n // Arrow icon aligned -2px left from ArrowOuterTip div\n arrowInnerELe.style.left = '-' + (tipWidth - 2) + 'px';\n }\n else {\n leftValue = -(tipWidth - 1) + 'px';\n // Arrow icon aligned -2px from ArrowOuterTip width\n arrowInnerELe.style.left = (-(tipWidth) + (tipWidth - 2)) + 'px';\n }\n var tipPosExclude = tooltipPositionY !== 'Center' || (tooltipHeight > target.offsetHeight) || this.mouseTrail;\n if ((tipPosExclude && tooltipPositionY === 'Top') || (!tipPosExclude && this.tipPointerPosition === 'End')) {\n topValue = (tooltipHeight - tipHeight - POINTER_ADJUST) + 'px';\n }\n else if ((tipPosExclude && tooltipPositionY === 'Bottom') || (!tipPosExclude && this.tipPointerPosition === 'Start')) {\n topValue = POINTER_ADJUST + 'px';\n }\n else {\n topValue = ((tooltipHeight / 2) - (tipHeight / 2)) + 'px';\n }\n }\n arrowEle.style.top = topValue;\n arrowEle.style.left = leftValue;\n };\n Tooltip.prototype.renderContent = function (target) {\n var _this = this;\n var tooltipContent = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + CONTENT, this.tooltipEle);\n if (this.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.tooltipEle], this.cssClass.split(' '));\n }\n if (target && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.getAttribute('title'))) {\n target.setAttribute('data-content', target.getAttribute('title'));\n target.removeAttribute('title');\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.content)) {\n tooltipContent.innerHTML = '';\n if (this.content instanceof HTMLElement) {\n tooltipContent.appendChild(this.content);\n }\n else if (typeof this.content === 'string') {\n if (this.isAngular) {\n this.setProperties({ content: _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(this.content) }, true);\n }\n else {\n this.content = (this.enableHtmlSanitizer) ? _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.SanitizeHtmlHelper.sanitize(this.content) : this.content;\n }\n if (this.enableHtmlParse) {\n var tempFunction = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.content);\n var tempArr = tempFunction({}, this, 'content', this.element.id + 'content', undefined, undefined, tooltipContent, this.root);\n if (tempArr) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(tempArr, tooltipContent);\n }\n }\n else {\n tooltipContent['textContent'] = this.content;\n }\n }\n else {\n var templateFunction = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.compile)(this.content);\n var tempArr = templateFunction({}, this, 'content', this.element.id + 'content', undefined, undefined, tooltipContent);\n if (tempArr) {\n if (this.isAngular) {\n setTimeout(function () {\n _this.reposition(target);\n }, 1);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.append)(tempArr, tooltipContent);\n }\n this.renderReactTemplates();\n }\n }\n else {\n if (target && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.getAttribute('data-content'))) {\n tooltipContent.innerHTML = target.getAttribute('data-content');\n }\n }\n };\n Tooltip.prototype.renderCloseIcon = function () {\n if (!this.isSticky) {\n var existingCloseIcon = this.tooltipEle.querySelector('.' + ICON + '.' + CLOSE);\n if (existingCloseIcon) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(existingCloseIcon);\n }\n return;\n }\n var tipClose = this.createElement('div', { className: ICON + ' ' + CLOSE, attrs: { role: 'button', 'aria-label': 'Press escape to close the Tooltip' } });\n this.tooltipEle.appendChild(tipClose);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(tipClose, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.onStickyClose, this);\n };\n Tooltip.prototype.addDescribedBy = function (target, id) {\n var describedby = (target.getAttribute('aria-describedby') || '').split(/\\s+/);\n if (describedby.indexOf(id) < 0) {\n describedby.push(id);\n }\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.attributes)(target, { 'aria-describedby': describedby.join(' ').trim(), 'data-tooltip-id': id });\n };\n Tooltip.prototype.removeDescribedBy = function (target) {\n var id = target.getAttribute('data-tooltip-id');\n var describedby = (target.getAttribute('aria-describedby') || '').split(/\\s+/);\n var index = describedby.indexOf(id);\n if (index !== -1) {\n describedby.splice(index, 1);\n }\n target.removeAttribute('data-tooltip-id');\n var orgdescribedby = describedby.join(' ').trim();\n if (orgdescribedby) {\n target.setAttribute('aria-describedby', orgdescribedby);\n }\n else {\n target.removeAttribute('aria-describedby');\n }\n };\n Tooltip.prototype.tapHoldHandler = function (evt) {\n clearTimeout(this.autoCloseTimer);\n this.targetHover(evt.originalEvent);\n };\n Tooltip.prototype.touchEndHandler = function () {\n var _this = this;\n if (this.isSticky) {\n return;\n }\n var close = function () {\n _this.close();\n };\n this.autoCloseTimer = setTimeout(close, TOUCHEND_HIDE_DELAY);\n };\n Tooltip.prototype.targetClick = function (e) {\n var target;\n if (this.target) {\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, this.target);\n }\n else {\n target = this.element;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target)) {\n return;\n }\n var mouseEvent = e;\n if (target.getAttribute('data-tooltip-id') === null) {\n if (!(mouseEvent.type === 'mousedown' && mouseEvent.button === 2)) {\n this.targetHover(e);\n }\n }\n else if (!this.isSticky) {\n this.hideTooltip(this.animation.close, e, target);\n }\n };\n Tooltip.prototype.targetHover = function (e) {\n var target;\n if (this.target) {\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, this.target);\n }\n else {\n target = this.element;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target) || (target.getAttribute('data-tooltip-id') !== null && this.closeDelay === 0)) {\n return;\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tooltipEle) && this.tooltipEle.getAttribute('e-animation-id')) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation.stop(this.tooltipEle);\n this.clear();\n }\n var targetList = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('[data-tooltip-id= \"' + this.ctrlId + '_content\"]', document));\n for (var _i = 0, targetList_1 = targetList; _i < targetList_1.length; _i++) {\n var target_1 = targetList_1[_i];\n this.restoreElement(target_1);\n }\n this.showTooltip(target, this.animation.open, e);\n };\n Tooltip.prototype.mouseMoveBeforeOpen = function (e) {\n this.mouseMoveEvent = e;\n };\n Tooltip.prototype.mouseMoveBeforeRemove = function () {\n if (this.mouseMoveTarget) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.mouseMoveTarget, 'mousemove touchstart', this.mouseMoveBeforeOpen);\n }\n };\n Tooltip.prototype.showTooltip = function (target, showAnimation, e) {\n var _this = this;\n clearTimeout(this.showTimer);\n clearTimeout(this.hideTimer);\n if (this.openDelay && this.mouseTrail) {\n this.mouseMoveBeforeRemove();\n this.mouseMoveTarget = target;\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.mouseMoveTarget, 'mousemove touchstart', this.mouseMoveBeforeOpen, this);\n }\n this.tooltipEventArgs = {\n type: e ? e.type : null, cancel: false, target: target, event: e ? e : null,\n element: this.tooltipEle, isInteracted: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)\n };\n var observeCallback = function (beforeRenderArgs) {\n _this.beforeRenderCallback(beforeRenderArgs, target, e, showAnimation);\n };\n this.trigger('beforeRender', this.tooltipEventArgs, observeCallback.bind(this));\n };\n Tooltip.prototype.beforeRenderCallback = function (beforeRenderArgs, target, e, showAnimation) {\n if (beforeRenderArgs.cancel) {\n this.isHidden = true;\n this.clear();\n this.mouseMoveBeforeRemove();\n }\n else {\n this.isHidden = false;\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tooltipEle)) {\n this.ctrlId = this.element.getAttribute('id') ?\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)(this.element.getAttribute('id')) : (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.getUniqueID)('tooltip');\n this.tooltipEle = this.createElement('div', {\n className: TOOLTIP_WRAP + ' ' + POPUP_ROOT + ' ' + POPUP_LIB, attrs: {\n role: 'tooltip', 'aria-hidden': 'false', 'id': this.ctrlId + '_content'\n }\n });\n this.tooltipEle.style.width = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.width);\n this.tooltipEle.style.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(this.height);\n this.tooltipEle.style.position = 'absolute';\n this.tooltipBeforeRender(target, this);\n this.tooltipAfterRender(target, e, showAnimation, this);\n }\n else {\n if (target) {\n this.adjustArrow(target, this.position, this.tooltipPositionX, this.tooltipPositionY);\n this.addDescribedBy(target, this.ctrlId + '_content');\n this.renderContent(target);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation.stop(this.tooltipEle);\n this.reposition(target);\n this.tooltipAfterRender(target, e, showAnimation, this);\n }\n }\n }\n };\n Tooltip.prototype.appendContainer = function (ctrlObj) {\n if (typeof this.container == 'string') {\n if (this.container === 'body') {\n this.containerElement = document.body;\n }\n else {\n this.isBodyContainer = false;\n this.containerElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)(this.container, document);\n }\n }\n else if (this.container instanceof HTMLElement) {\n this.containerElement = this.container;\n this.isBodyContainer = this.containerElement.tagName === 'BODY';\n }\n if (!this.isBodyContainer) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.containerElement], POPUP_CONTAINER);\n }\n this.containerElement.appendChild(ctrlObj.tooltipEle);\n };\n Tooltip.prototype.tooltipBeforeRender = function (target, ctrlObj) {\n if (target) {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ctrlObj.tooltipEle], DEVICE);\n }\n if (ctrlObj.width !== 'auto') {\n ctrlObj.tooltipEle.style.maxWidth = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(ctrlObj.width);\n }\n ctrlObj.tooltipEle.appendChild(ctrlObj.createElement('div', { className: CONTENT }));\n this.appendContainer(ctrlObj);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([ctrlObj.tooltipEle], HIDE_POPUP);\n ctrlObj.addDescribedBy(target, ctrlObj.ctrlId + '_content');\n ctrlObj.renderContent(target);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ctrlObj.tooltipEle], POPUP_OPEN);\n if (ctrlObj.showTipPointer) {\n ctrlObj.renderArrow();\n }\n ctrlObj.renderCloseIcon();\n ctrlObj.renderPopup(target);\n ctrlObj.adjustArrow(target, ctrlObj.position, ctrlObj.tooltipPositionX, ctrlObj.tooltipPositionY);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation.stop(ctrlObj.tooltipEle);\n ctrlObj.reposition(target);\n }\n };\n Tooltip.prototype.tooltipAfterRender = function (target, e, showAnimation, ctrlObj) {\n if (target) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([ctrlObj.tooltipEle], POPUP_OPEN);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([ctrlObj.tooltipEle], POPUP_CLOSE);\n ctrlObj.tooltipEventArgs = {\n type: e ? e.type : null, cancel: false, target: target, event: e ? e : null,\n element: ctrlObj.tooltipEle, isInteracted: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)\n };\n if (ctrlObj.needTemplateReposition() && !ctrlObj.mouseTrail && (showAnimation.effect === 'None' || showAnimation.effect === 'FadeIn' ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.isReact && typeof ctrlObj.content != 'string'))) {\n ctrlObj.tooltipEle.style.display = 'none';\n }\n var observeCallback = function (observedArgs) {\n ctrlObj.beforeOpenCallback(observedArgs, target, showAnimation, e);\n };\n ctrlObj.trigger('beforeOpen', ctrlObj.tooltipEventArgs, observeCallback.bind(ctrlObj));\n }\n };\n Tooltip.prototype.beforeOpenCallback = function (observedArgs, target, showAnimation, e) {\n var _this = this;\n if (observedArgs.cancel) {\n this.isHidden = true;\n this.clear();\n this.mouseMoveBeforeRemove();\n this.restoreElement(target);\n }\n else {\n var openAnimation_1 = {\n name: (showAnimation.effect === 'None' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.animationMode === 'Enable') ? 'FadeIn' : this.animation.open.effect,\n duration: showAnimation.duration,\n delay: showAnimation.delay,\n timingFunction: 'easeOut'\n };\n if (showAnimation.effect === 'None') {\n openAnimation_1 = undefined;\n }\n if (this.openDelay > 0) {\n var show = function () {\n if (_this.mouseTrail) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'mousemove touchstart mouseenter', _this.onMouseMove, _this);\n }\n if (_this.popupObj) {\n _this.popupObj.show(openAnimation_1, target);\n if (_this.mouseMoveEvent && _this.mouseTrail) {\n _this.onMouseMove(_this.mouseMoveEvent);\n }\n }\n };\n this.showTimer = setTimeout(show, this.openDelay);\n }\n else {\n if (this.popupObj) {\n this.popupObj.show(openAnimation_1, target);\n }\n }\n }\n if (e) {\n this.wireMouseEvents(e, target);\n }\n };\n Tooltip.prototype.needTemplateReposition = function () {\n // eslint-disable-next-line\n var tooltip = this;\n return !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(tooltip.viewContainerRef)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n && typeof tooltip.viewContainerRef !== 'string' || this.isReact;\n };\n Tooltip.prototype.checkCollision = function (target, x, y) {\n var elePos = {\n left: x, top: y, position: this.position,\n horizontal: this.tooltipPositionX, vertical: this.tooltipPositionY\n };\n var affectedPos = (0,_common_collision__WEBPACK_IMPORTED_MODULE_3__.isCollide)(this.tooltipEle, this.checkCollideTarget(), x, y);\n if (affectedPos.length > 0) {\n elePos.horizontal = affectedPos.indexOf('left') >= 0 ? 'Right' : affectedPos.indexOf('right') >= 0 ? 'Left' :\n this.tooltipPositionX;\n elePos.vertical = affectedPos.indexOf('top') >= 0 ? 'Bottom' : affectedPos.indexOf('bottom') >= 0 ? 'Top' :\n this.tooltipPositionY;\n }\n return elePos;\n };\n Tooltip.prototype.calculateElementPosition = function (pos, offsetPos) {\n return [this.isBodyContainer ? pos.left + offsetPos.left :\n (pos.left - this.containerElement.getBoundingClientRect().left) +\n offsetPos.left + window.pageXOffset + this.containerElement.scrollLeft,\n this.isBodyContainer ? pos.top + offsetPos.top :\n (pos.top - this.containerElement.getBoundingClientRect().top) +\n offsetPos.top + window.pageYOffset + this.containerElement.scrollTop];\n };\n Tooltip.prototype.collisionFlipFit = function (target, x, y) {\n var elePos = this.checkCollision(target, x, y);\n var newpos = elePos.position;\n if (this.tooltipPositionY !== elePos.vertical) {\n newpos = ((this.position.indexOf('Bottom') === 0 || this.position.indexOf('Top') === 0) ?\n elePos.vertical + this.tooltipPositionX : this.tooltipPositionX + elePos.vertical);\n }\n if (this.tooltipPositionX !== elePos.horizontal) {\n if (newpos.indexOf('Left') === 0) {\n elePos.vertical = (newpos === 'LeftTop' || newpos === 'LeftCenter') ? 'Top' : 'Bottom';\n newpos = (elePos.vertical + 'Left');\n }\n if (newpos.indexOf('Right') === 0) {\n elePos.vertical = (newpos === 'RightTop' || newpos === 'RightCenter') ? 'Top' : 'Bottom';\n newpos = (elePos.vertical + 'Right');\n }\n elePos.horizontal = this.tooltipPositionX;\n }\n this.tooltipEventArgs = {\n type: null, cancel: false, target: target, event: null,\n element: this.tooltipEle, collidedPosition: newpos\n };\n this.trigger('beforeCollision', this.tooltipEventArgs);\n if (this.tooltipEventArgs.cancel) {\n newpos = this.position;\n }\n else {\n var elePosVertical = elePos.vertical;\n var elePosHorizontal = elePos.horizontal;\n if (elePos.position !== newpos) {\n var pos = (0,_common_position__WEBPACK_IMPORTED_MODULE_2__.calculatePosition)(target, elePosHorizontal, elePosVertical, !this.isBodyContainer, this.isBodyContainer ? null : this.containerElement.getBoundingClientRect());\n this.adjustArrow(target, newpos, elePosHorizontal, elePosVertical);\n var scalingFactors = this.getScalingFactor(target);\n var offsetPos = this.calculateTooltipOffset(newpos, scalingFactors.x, scalingFactors.y);\n offsetPos.top -= this.getOffSetPosition('TopBottom', newpos, this.offsetY);\n offsetPos.left -= this.getOffSetPosition('RightLeft', newpos, this.offsetX);\n elePos.position = newpos;\n var elePosition = this.calculateElementPosition(pos, offsetPos);\n elePos.left = elePosition[0];\n elePos.top = elePosition[1];\n }\n else {\n this.adjustArrow(target, newpos, elePosHorizontal, elePosVertical);\n }\n }\n var eleOffset = { left: elePos.left, top: elePos.top };\n var position = this.isBodyContainer ?\n (0,_common_collision__WEBPACK_IMPORTED_MODULE_3__.fit)(this.tooltipEle, this.checkCollideTarget(), { X: true, Y: this.windowCollision }, eleOffset) : eleOffset;\n this.tooltipEle.style.display = 'block';\n var arrowEle = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + ARROW_TIP, this.tooltipEle);\n if (this.showTipPointer && arrowEle != null && (newpos.indexOf('Bottom') === 0 || newpos.indexOf('Top') === 0)) {\n var arrowleft = parseInt(arrowEle.style.left, 10) - (position.left - elePos.left);\n if (arrowleft < 0) {\n arrowleft = 0;\n }\n else if ((arrowleft + arrowEle.offsetWidth) > this.tooltipEle.clientWidth) {\n arrowleft = this.tooltipEle.clientWidth - arrowEle.offsetWidth;\n }\n arrowEle.style.left = arrowleft.toString() + 'px';\n }\n this.tooltipEle.style.display = '';\n eleOffset.left = position.left;\n eleOffset.top = position.top;\n return eleOffset;\n };\n Tooltip.prototype.getOffSetPosition = function (positionString, newPos, offsetType) {\n return ((positionString.indexOf(this.position.split(/(?=[A-Z])/)[0]) !== -1) &&\n (positionString.indexOf(newPos.split(/(?=[A-Z])/)[0]) !== -1)) ? (2 * offsetType) : 0;\n };\n Tooltip.prototype.checkCollideTarget = function () {\n return !this.windowCollision && this.target ? this.element : null;\n };\n Tooltip.prototype.hideTooltip = function (hideAnimation, e, targetElement) {\n var _this = this;\n if (this.closeDelay > 0) {\n clearTimeout(this.hideTimer);\n clearTimeout(this.showTimer);\n var hide = function () {\n if (_this.closeDelay && _this.tooltipEle && _this.isTooltipOpen) {\n return;\n }\n _this.tooltipHide(hideAnimation, e, targetElement);\n };\n this.hideTimer = setTimeout(hide, this.closeDelay);\n }\n else {\n this.tooltipHide(hideAnimation, e, targetElement);\n }\n };\n Tooltip.prototype.tooltipHide = function (hideAnimation, e, targetElement) {\n var _this = this;\n var target;\n if (e) {\n target = this.target ? (targetElement || e.target) : this.element;\n }\n else {\n target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('[data-tooltip-id= \"' + this.ctrlId + '_content\"]', document);\n }\n this.tooltipEventArgs = {\n type: e ? e.type : null, cancel: false, target: target, event: e ? e : null,\n element: this.tooltipEle, isInteracted: !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(e)\n };\n // this line commented for close the tooltip popup element even the target element destroyed in a page.\n //if (isNullOrUndefined(target)) { return; }\n this.trigger('beforeClose', this.tooltipEventArgs, function (observedArgs) {\n if (!observedArgs.cancel) {\n _this.mouseMoveBeforeRemove();\n _this.popupHide(hideAnimation, target, e);\n }\n else {\n _this.isHidden = false;\n }\n });\n };\n Tooltip.prototype.popupHide = function (hideAnimation, target, e) {\n if (target && e) {\n this.restoreElement(target);\n }\n this.isHidden = true;\n var closeAnimation = {\n name: (hideAnimation.effect === 'None' && _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.animationMode === 'Enable') ? 'FadeOut' : this.animation.close.effect,\n duration: hideAnimation.duration,\n delay: hideAnimation.delay,\n timingFunction: 'easeIn'\n };\n if (hideAnimation.effect === 'None') {\n closeAnimation = undefined;\n }\n if (this.popupObj) {\n this.popupObj.hide(closeAnimation);\n }\n };\n Tooltip.prototype.restoreElement = function (target) {\n this.unwireMouseEvents(target);\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(target.getAttribute('data-content'))) {\n target.setAttribute('title', target.getAttribute('data-content'));\n target.removeAttribute('data-content');\n }\n this.removeDescribedBy(target);\n };\n Tooltip.prototype.clear = function () {\n var target = this.findTarget();\n if (target) {\n this.restoreElement(target);\n }\n if (this.tooltipEle) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.tooltipEle], POPUP_CLOSE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.tooltipEle], POPUP_OPEN);\n }\n if (this.isHidden) {\n if (this.popupObj) {\n this.popupObj.destroy();\n }\n if (this.tooltipEle) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.tooltipEle);\n }\n this.tooltipEle = null;\n this.popupObj = null;\n }\n };\n Tooltip.prototype.tooltipHover = function () {\n if (this.tooltipEle) {\n this.isTooltipOpen = true;\n }\n };\n Tooltip.prototype.tooltipMouseOut = function (e) {\n this.isTooltipOpen = false;\n this.hideTooltip(this.animation.close, e, this.findTarget());\n };\n Tooltip.prototype.onMouseOut = function (e) {\n var enteredElement = e.relatedTarget;\n // don't close the tooltip only if it is tooltip content element\n if (enteredElement && !this.mouseTrail) {\n var checkForTooltipElement = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(enteredElement, \".\" + TOOLTIP_WRAP + \".\" + POPUP_LIB + \".\" + POPUP_ROOT);\n if (checkForTooltipElement) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(checkForTooltipElement, 'mouseleave', this.tooltipElementMouseOut, this);\n }\n else {\n this.hideTooltip(this.animation.close, e, this.findTarget());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.closeDelay === 0 && (this.animation.close.effect === 'None' || (this.isReact && typeof this.content != 'string'))) {\n this.clear();\n }\n }\n }\n else {\n this.hideTooltip(this.animation.close, e, this.findTarget());\n this.clear();\n }\n if (this.popupObj && !this.popupObj.element.classList.contains(POPUP_OPEN)) {\n this.clear();\n }\n };\n Tooltip.prototype.tooltipElementMouseOut = function (e) {\n this.hideTooltip(this.animation.close, e, this.findTarget());\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseleave', this.tooltipElementMouseOut);\n this.clear();\n };\n Tooltip.prototype.onStickyClose = function () {\n this.close();\n };\n Tooltip.prototype.onMouseMove = function (event) {\n var eventPageX = 0;\n var eventPageY = 0;\n if (event.type.indexOf('touch') > -1) {\n event.preventDefault();\n eventPageX = event.touches[0].pageX;\n eventPageY = event.touches[0].pageY;\n }\n else {\n eventPageX = event.pageX;\n eventPageY = event.pageY;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.tooltipEle)) {\n return;\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Animation.stop(this.tooltipEle);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.tooltipEle], POPUP_CLOSE);\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.tooltipEle], POPUP_OPEN);\n this.adjustArrow(event.target, this.position, this.tooltipPositionX, this.tooltipPositionY);\n var scalingFactors = this.getScalingFactor(event.target);\n var pos = this.calculateTooltipOffset(this.position, scalingFactors.x, scalingFactors.y);\n var x = eventPageX + pos.left + this.offsetX;\n var y = eventPageY + pos.top + this.offsetY;\n var elePos = this.checkCollision(event.target, x, y);\n if (this.tooltipPositionX !== elePos.horizontal || this.tooltipPositionY !== elePos.vertical) {\n var newpos = (this.position.indexOf('Bottom') === 0 || this.position.indexOf('Top') === 0) ?\n elePos.vertical + elePos.horizontal : elePos.horizontal + elePos.vertical;\n elePos.position = newpos;\n this.adjustArrow(event.target, elePos.position, elePos.horizontal, elePos.vertical);\n var colpos = this.calculateTooltipOffset(elePos.position, scalingFactors.x, scalingFactors.y);\n elePos.left = eventPageX + colpos.left - this.offsetX;\n elePos.top = eventPageY + colpos.top - this.offsetY;\n }\n this.tooltipEle.style.left = elePos.left + 'px';\n this.tooltipEle.style.top = elePos.top + 'px';\n };\n Tooltip.prototype.keyDown = function (event) {\n if (this.tooltipEle && event.keyCode === 27) {\n this.close();\n }\n };\n Tooltip.prototype.touchEnd = function (e) {\n if (this.tooltipEle && (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, '.' + ROOT) === null && !this.isSticky) {\n this.close();\n }\n };\n Tooltip.prototype.scrollHandler = function (e) {\n if (this.tooltipEle && !this.isSticky) {\n if (!((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.closest)(e.target, \".\" + TOOLTIP_WRAP + \".\" + POPUP_LIB + \".\" + POPUP_ROOT))\n && !this.isSticky) {\n this.close();\n }\n }\n };\n /**\n * Core method that initializes the control rendering.\n *\n * @private\n * @returns {void}\n */\n Tooltip.prototype.render = function () {\n this.initialize();\n this.wireEvents(this.opensOn);\n this.renderComplete();\n };\n /**\n * Initializes the values of private members.\n *\n * @private\n * @returns {void}\n */\n Tooltip.prototype.preRender = function () {\n this.tipClass = TIP_BOTTOM;\n this.tooltipPositionX = 'Center';\n this.tooltipPositionY = 'Top';\n this.isHidden = true;\n };\n /**\n * Binding events to the Tooltip element.\n *\n * @hidden\n * @param {string} trigger - specify the trigger string to the function\n * @returns {void}\n *\n */\n Tooltip.prototype.wireEvents = function (trigger) {\n var triggerList = this.getTriggerList(trigger);\n for (var _i = 0, triggerList_1 = triggerList; _i < triggerList_1.length; _i++) {\n var opensOn = triggerList_1[_i];\n if (opensOn === 'Custom') {\n return;\n }\n if (opensOn === 'Focus') {\n this.wireFocusEvents();\n }\n if (opensOn === 'Click') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.targetClick, this);\n }\n if (opensOn === 'Hover') {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n this.touchModule = new _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Touch(this.element, {\n tapHoldThreshold: TAPHOLD_THRESHOLD,\n tapHold: this.tapHoldHandler.bind(this)\n });\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.touchEndHandler, this);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'mouseover', this.targetHover, this);\n }\n }\n }\n this.windowResizeBound = this.windowResize.bind(this);\n this.keyDownBound = this.keyDown.bind(this);\n this.touchEndBound = this.touchEnd.bind(this);\n this.scrollWheelBound = this.scrollHandler.bind(this);\n document.addEventListener('wheel', this.scrollWheelBound);\n document.addEventListener('scroll', this.scrollWheelBound);\n document.addEventListener('touchend', this.touchEndBound);\n document.addEventListener('keydown', this.keyDownBound);\n window.addEventListener('resize', this.windowResizeBound);\n };\n Tooltip.prototype.getTriggerList = function (trigger) {\n if (!trigger) {\n return [];\n }\n if (trigger === 'Auto') {\n trigger = (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) ? 'Hover' : 'Hover Focus';\n }\n return trigger.split(' ');\n };\n Tooltip.prototype.wireFocusEvents = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) {\n var targetList = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(this.target, this.element));\n this.targetsList = targetList;\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetsList) && this.targetsList.length > 0) {\n for (var _i = 0, targetList_2 = targetList; _i < targetList_2.length; _i++) {\n var target = targetList_2[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'focus', this.targetHover, this);\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusin', this.targetHover, this);\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.element, 'focusin', this.targetHover, this);\n }\n };\n Tooltip.prototype.wireMouseEvents = function (e, target) {\n if (this.tooltipEle) {\n if (!this.isSticky) {\n if (e.type === 'focus') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'blur', this.onMouseOut, this);\n }\n if (e.type === 'focusin') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'focusout', this.onMouseOut, this);\n }\n if (e.type === 'mouseover') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'mouseleave', this.onMouseOut, this);\n }\n if (this.closeDelay) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.tooltipEle, 'mouseenter', this.tooltipHover, this);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(this.tooltipEle, 'mouseleave', this.tooltipMouseOut, this);\n }\n }\n if (this.mouseTrail && this.openDelay === 0) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.add(target, 'mousemove touchstart mouseenter', this.onMouseMove, this);\n }\n }\n };\n /**\n * Unbinding events from the element on widget destroy.\n *\n * @hidden\n *\n * @param {string} trigger - specify the trigger string to the function\n * @returns {void}\n *\n */\n Tooltip.prototype.unwireEvents = function (trigger) {\n var triggerList = this.getTriggerList(trigger);\n for (var _i = 0, triggerList_2 = triggerList; _i < triggerList_2.length; _i++) {\n var opensOn = triggerList_2[_i];\n if (opensOn === 'Custom') {\n return;\n }\n if (opensOn === 'Focus') {\n this.unwireFocusEvents();\n }\n if (opensOn === 'Click') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchStartEvent, this.targetClick);\n }\n if (opensOn === 'Hover') {\n if (_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n if (this.touchModule) {\n this.touchModule.destroy();\n }\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.touchEndEvent, this.touchEndHandler);\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'mouseover', this.targetHover);\n }\n }\n }\n document.removeEventListener('touchend', this.touchEndBound);\n this.touchEndBound = null;\n document.removeEventListener('wheel', this.scrollWheelBound);\n document.removeEventListener('scroll', this.scrollWheelBound);\n this.scrollWheelBound = null;\n window.removeEventListener('resize', this.windowResizeBound);\n this.windowResizeBound = null;\n document.removeEventListener('keydown', this.keyDownBound);\n this.keyDownBound = null;\n };\n Tooltip.prototype.unwireFocusEvents = function () {\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) {\n var targetList = [].slice.call((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(this.target, this.element));\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetsList) && this.targetsList.length > 0) {\n for (var _i = 0, targetList_3 = targetList; _i < targetList_3.length; _i++) {\n var target = targetList_3[_i];\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'focus', this.targetHover);\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusin', this.targetHover);\n }\n }\n else {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(this.element, 'focusin', this.targetHover);\n }\n };\n Tooltip.prototype.unwireMouseEvents = function (target) {\n if (!this.isSticky) {\n var triggerList = this.getTriggerList(this.opensOn);\n for (var _i = 0, triggerList_3 = triggerList; _i < triggerList_3.length; _i++) {\n var opensOn = triggerList_3[_i];\n if (opensOn === 'Focus') {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'blur', this.onMouseOut);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'focusout', this.onMouseOut);\n }\n if (opensOn === 'Hover' && !_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Browser.isDevice) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'mouseleave', this.onMouseOut);\n }\n }\n if (this.closeDelay) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'mouseenter', this.tooltipHover);\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'mouseleave', this.tooltipMouseOut);\n }\n }\n if (this.mouseTrail) {\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.EventHandler.remove(target, 'mousemove touchstart mouseenter', this.onMouseMove);\n }\n };\n Tooltip.prototype.findTarget = function () {\n var target = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('[data-tooltip-id= \"' + this.ctrlId + '_content\"]', document);\n return target;\n };\n /**\n * Core method to return the component name.\n *\n * @private\n *\n * @returns {string} - this method returns module name.\n */\n Tooltip.prototype.getModuleName = function () {\n return 'tooltip';\n };\n /**\n * Returns the properties to be maintained in the persisted state.\n *\n * @private\n *\n * @returns {string} - this method returns persisted data.\n */\n Tooltip.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * Called internally, if any of the property value changed.\n *\n * @private\n *\n * @param {TooltipModel} newProp - this param gives new property values to the method\n * @param {TooltipModel} oldProp - this param gives old property values to the method\n * @returns {void}\n *\n */\n Tooltip.prototype.onPropertyChanged = function (newProp, oldProp) {\n var targetElement = this.findTarget();\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'width':\n if (this.tooltipEle && targetElement) {\n this.tooltipEle.style.width = this.tooltipEle.style.maxWidth = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.width);\n this.reposition(targetElement);\n }\n break;\n case 'height':\n if (this.tooltipEle && targetElement) {\n this.tooltipEle.style.height = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.formatUnit)(newProp.height);\n this.reposition(targetElement);\n }\n break;\n case 'content':\n if (this.tooltipEle) {\n this.renderContent();\n }\n break;\n case 'opensOn':\n this.unwireEvents(oldProp.opensOn);\n this.wireEvents(newProp.opensOn);\n break;\n case 'position':\n this.formatPosition();\n if (this.tooltipEle && targetElement) {\n var arrowInnerELe = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.select)('.' + ARROW_TIP_INNER, this.tooltipEle);\n if (arrowInnerELe) {\n arrowInnerELe.style.top = arrowInnerELe.style.left = null;\n }\n this.reposition(targetElement);\n }\n break;\n case 'tipPointerPosition':\n if (this.tooltipEle && targetElement) {\n this.reposition(targetElement);\n }\n break;\n case 'offsetX':\n if (this.tooltipEle) {\n var x = newProp.offsetX - oldProp.offsetX;\n this.tooltipEle.style.left = (parseInt(this.tooltipEle.style.left, 10) + (x)).toString() + 'px';\n }\n break;\n case 'offsetY':\n if (this.tooltipEle) {\n var y = newProp.offsetY - oldProp.offsetY;\n this.tooltipEle.style.top = (parseInt(this.tooltipEle.style.top, 10) + (y)).toString() + 'px';\n }\n break;\n case 'cssClass':\n if (this.tooltipEle) {\n if (oldProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.tooltipEle], oldProp.cssClass.split(' '));\n }\n if (newProp.cssClass) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.tooltipEle], newProp.cssClass.split(' '));\n }\n }\n break;\n case 'enableRtl':\n if (this.tooltipEle) {\n if (this.enableRtl) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.addClass)([this.tooltipEle], RTL);\n }\n else {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.tooltipEle], RTL);\n }\n }\n break;\n case 'isSticky':\n if (this.tooltipEle && targetElement) {\n this.renderCloseIcon();\n this.reposition(targetElement);\n }\n break;\n case 'container':\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.containerElement)) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.containerElement], POPUP_CONTAINER);\n }\n this.container = newProp.container;\n if (this.tooltipEle && targetElement) {\n this.appendContainer(this);\n this.reposition(targetElement);\n }\n }\n }\n };\n /**\n * It is used to show the Tooltip on the specified target with specific animation settings.\n *\n * @param {HTMLElement} element - Target element where the Tooltip is to be displayed. (It is an optional parameter)\n * @param {TooltipAnimationSettings} animation - Sets the specific animation, while showing the Tooltip on the screen. (It is an optional parameter)\n * @returns {void}\n */\n Tooltip.prototype.open = function (element, animation) {\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(animation)) {\n animation = this.animation.open;\n }\n if ((0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(element)) {\n element = this.element;\n }\n if (element.style.display === 'none') {\n return;\n }\n this.showTooltip(element, animation);\n };\n /**\n * It is used to hide the Tooltip with specific animation effect.\n *\n * @param {TooltipAnimationSettings} animation - Sets the specific animation when hiding Tooltip from the screen. (It is an optional parameter)\n * @returns {void}\n */\n Tooltip.prototype.close = function (animation) {\n if (!animation) {\n animation = this.animation.close;\n }\n this.hideTooltip(animation);\n };\n /**\n * It is used to refresh the Tooltip content and its position.\n *\n * @param {HTMLElement} target - Target element where the Tooltip content or position needs to be refreshed.\n * @returns {void}\n */\n Tooltip.prototype.refresh = function (target) {\n if (this.tooltipEle) {\n this.renderContent(target);\n }\n if (this.popupObj && target) {\n this.reposition(target);\n }\n if (!(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.targetsList) && !(0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.isNullOrUndefined)(this.target)) {\n var target_2 = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)(this.target, this.element);\n if (target_2.length !== this.targetsList.length) {\n this.unwireEvents(this.opensOn);\n this.wireEvents(this.opensOn);\n }\n }\n };\n /**\n *\n * It is used to destroy the Tooltip component.\n *\n * @method destroy\n * @returns {void}\n * @memberof Tooltip\n */\n Tooltip.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n if (this.tooltipEle) {\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.remove)(this.tooltipEle);\n }\n if (this.popupObj) {\n this.popupObj.destroy();\n }\n (0,_common_collision__WEBPACK_IMPORTED_MODULE_3__.destroy)();\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.removeClass)([this.element], ROOT);\n this.unwireEvents(this.opensOn);\n this.unwireMouseEvents(this.element);\n this.tooltipEle = null;\n this.popupObj = null;\n var currentTarget = (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.selectAll)('[data-tooltip-id= \"' + this.ctrlId + '_content\"]', this.element);\n for (var _i = 0, currentTarget_1 = currentTarget; _i < currentTarget_1.length; _i++) {\n var target = currentTarget_1[_i];\n this.restoreElement(target);\n }\n this.containerElement = null;\n this.tipClass = null;\n this.tooltipPositionX = null;\n this.tooltipPositionY = null;\n this.ctrlId = null;\n this.tooltipEventArgs = null;\n this.touchModule = null;\n this.mouseMoveEvent = null;\n this.mouseMoveTarget = null;\n this.containerElement = null;\n this.targetsList = null;\n };\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Tooltip.prototype, \"width\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('auto')\n ], Tooltip.prototype, \"height\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Tooltip.prototype, \"content\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('body')\n ], Tooltip.prototype, \"container\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Tooltip.prototype, \"target\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('TopCenter')\n ], Tooltip.prototype, \"position\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Tooltip.prototype, \"offsetX\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Tooltip.prototype, \"offsetY\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Tooltip.prototype, \"showTipPointer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Tooltip.prototype, \"enableHtmlParse\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Tooltip.prototype, \"windowCollision\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Auto')\n ], Tooltip.prototype, \"tipPointerPosition\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('Auto')\n ], Tooltip.prototype, \"opensOn\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Tooltip.prototype, \"mouseTrail\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(false)\n ], Tooltip.prototype, \"isSticky\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Complex)({}, Animation)\n ], Tooltip.prototype, \"animation\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Tooltip.prototype, \"openDelay\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(0)\n ], Tooltip.prototype, \"closeDelay\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)()\n ], Tooltip.prototype, \"cssClass\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)(true)\n ], Tooltip.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Property)('')\n ], Tooltip.prototype, \"htmlAttributes\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"beforeRender\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"beforeOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"afterOpen\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"beforeClose\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"afterClose\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"beforeCollision\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"created\", void 0);\n __decorate([\n (0,_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Event)()\n ], Tooltip.prototype, \"destroyed\", void 0);\n Tooltip = __decorate([\n _syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.NotifyPropertyChanges\n ], Tooltip);\n return Tooltip;\n}(_syncfusion_ej2_base__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack://grid_mssql/./node_modules/@syncfusion/ej2-popups/src/tooltip/tooltip.js?"); + +/***/ }), + +/***/ "./src/index.ts": +/*!**********************!*\ + !*** ./src/index.ts ***! + \**********************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar ej2_grids_1 = __webpack_require__(/*! @syncfusion/ej2-grids */ \"./node_modules/@syncfusion/ej2-grids/index.js\");\nvar ej2_data_1 = __webpack_require__(/*! @syncfusion/ej2-data */ \"./node_modules/@syncfusion/ej2-data/index.js\");\nej2_grids_1.Grid.Inject(ej2_grids_1.Toolbar, ej2_grids_1.Filter, ej2_grids_1.Sort, ej2_grids_1.Group, ej2_grids_1.Page, ej2_grids_1.Edit);\nvar data = new ej2_data_1.DataManager({\n url: 'https://localhost:7279/api/Grid',\n insertUrl: 'https://localhost:7279/api/Grid/Insert',\n updateUrl: 'https://localhost:7279/api/Grid/Update',\n removeUrl: 'https://localhost:7279/api/Grid/Remove',\n // Enable batch URL when batch editing is enabled.\n batchUrl: 'https://localhost:7279/api/Grid/BatchUpdate',\n adaptor: new ej2_data_1.UrlAdaptor()\n});\nvar grid = new ej2_grids_1.Grid({\n dataSource: data,\n allowGrouping: true,\n allowFiltering: true,\n allowSorting: true,\n allowPaging: true,\n toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'],\n editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true },\n columns: [\n { field: 'OrderID', headerText: 'Order ID', textAlign: 'Right', width: 100, isPrimaryKey: true, isIdentity: true, type: 'number' },\n { field: 'CustomerID', headerText: 'Customer ID', validationRules: { required: true }, type: 'string', width: 100 },\n { field: 'EmployeeID', headerText: 'Employee ID', validationRules: { required: true, number: true }, width: 100 },\n { field: 'Freight', headerText: 'Freight', validationRules: { required: true, min: 1, max: 1000 }, textAlign: 'Right', width: 100 },\n { field: 'ShipCity', headerText: 'Ship City', validationRules: { required: true }, textAlign: 'Right', width: 120 }\n ],\n height: 250\n});\ngrid.appendTo('#Grid');\n\n\n//# sourceURL=webpack://grid_mssql/./src/index.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/README.md b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/README.md new file mode 100644 index 0000000..6023caa --- /dev/null +++ b/Binding MS SQL database using UrlAdaptor/Binding MS SQL database using UrlAdaptor/README.md @@ -0,0 +1,20 @@ +## TypeScript Grid MSSQL connectivity using URLAdaptor + +A project that enables data binding and CRUD action handling in the Syncfusion TypeScript Grid to a MSSQL Server using URLAdaptor feature of the Grid. + +## Steps to Run the Sample + +1. Download or unzip the project and open the project in **Visual Studio 2022**. + +2. Replace the connected database's connection string in the `GridController.cs` file. + +3. In the TypeScript client project, open `src/index.ts` and replace the port number in the API URL where it says `xxxx` with the actual backend server port. + +4. Navigate to the client project folder and run the following command: + + ```bash + npm install + ``` +5. Build the project to restore dependencies and compile it. + +6. Run the project. \ No newline at end of file diff --git a/Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.sln b/Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.sln new file mode 100644 index 0000000..da1f24a --- /dev/null +++ b/Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35818.85 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomAdaptor_EntityFramework", "CustomAdaptor_EntityFramework\CustomAdaptor_EntityFramework.csproj", "{AD70E4CD-7DDF-4B4D-9722-9B84533FEA92}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AD70E4CD-7DDF-4B4D-9722-9B84533FEA92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AD70E4CD-7DDF-4B4D-9722-9B84533FEA92}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AD70E4CD-7DDF-4B4D-9722-9B84533FEA92}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AD70E4CD-7DDF-4B4D-9722-9B84533FEA92}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {826446D9-5622-41FC-9C36-31A0E8F870DC} + EndGlobalSection +EndGlobal diff --git a/Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/App_Data/NORTHWIND.MDF b/Binding SQL database using EF and CustomAdaptor/Binding SQL database using EF and CustomAdaptor/CustomAdaptor_EntityFramework/CustomAdaptor_EntityFramework/App_Data/NORTHWIND.MDF new file mode 100644 index 0000000000000000000000000000000000000000..fb95ebe44e73c53d9193237abc2abfeed908a47c GIT binary patch literal 9306112 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ޱnBPr0T8!qb1Iw4eYAt|!*U7LY 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

      • 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

          V(AQZ0V~?@I%%3FN z%V%b;_9xM%=n4h(@Lp@%M1Lx|u=)`BPxbIQp536jG2=j|bA`eR;OjOn(mqJVmsTh7 zt@~JrFJ!(1+B%F$D3 z^*hV}jZyBtn+(uT17~MrsMe}D-(+#7UCOb&c~+_748Ce_U)V}RUtJTWV}N6n*HrsS z`V!X@UzIzAz8#;t@fl$6)+4_a_9OB`Jp|m*>Uw0@|KwX8C8usZ@+x2(-8)0Q^3yD> zRo-m*qfhIO**oK3fN|6-K^enqy8RrEPmatt&Ng6c!F04&Vl{AQ^h`EK(@~g;JE=|F z=Zp{KWgc@N*TOHf5k84s@GQ}9B07!ug_!RvQg1Y5+#I}v-^eeL7e@Pxx#E0^yBYL> zG@vx3d}jtcGjaO^+7J58#o%As-D2IzE-|+Oa~CmH?SfS1HN$?=pUW}%+8;(3xQxlu z8!^2dn8`70Ja|>dTPkKM*+yJ9%EPSL%$Bl(Qr7h8s%GwQBDvtAc~WEK8ev&INlluR zWnB7sLsOx>_@~$x^jJ0GzfhfXXL=voXMsKaYjTK^a)kQDXIr|CxlQPL^n;#ynSV;>XB^>2)*ayFa`9iF*Ib-;CznMb+uk9vL` zKAZ4cGRyg$Go`LsV6Nmme5e1J?HXz7*EN4@&?c7|s6C>d^6PDz=qrk$FOFYeI>e69 z)1MjmIbbJQT-*p-Mi^wE#VQrMBRhPr_iXr)HMdT(xH!f{#}K-cFGzP%NHiAuI(1hG z^3q|`4}{Qj%iUTLbiZMzb%^A|7|n)B{E>uyMEj)&**{^S)OLrp8xW}X<(gT*{lQb5+Ai6^~3dX3U^nzeWr640opk1wMjF>xf+srHZtGdVn+vXimV-aTRS?$ zTHDd#^T5&_{;1N-#0-Fy>h<)tki+&b_w_ewo4Nv@GHW*YpE8Tw&i!S?_G3OI<2K~| zamcQrW_pI2FWz0XP43{-RhxrW<+Rav+z6QvE?VlmlBJ7wL}In=LYcA znU>l7?`DjM{p>Cevq;j z^H11MdVbhb`@R=ivS-{1p52omMv~sBXNsh4OpR0D;8{<`0t}sT~WV36ydW$(X^g)XE zWg+Ih@!$;Zrq>^~axeTIfX~!bFJCr%!z|OW@UIAdE{3zn(w=%0%hnC#45!?l#_t?E z-G1kLfv@vvDxYhVM)4)D5Z}9-#Znbsd51ntjInp;)BFl>b}NgN#u}$sY-z0g-LS=w z*h-W$Yh}>}!|!Yhj|f*SPNNea!}@RH&RL9qH0=zjk9*sU8)MvxHg~#KxO^3uJHN8b zLqXtSZir4l2FqSK(9e7)x3|Avc_VOjds?bg(I~|d%P*8Fr1Cv$WfM-}@u@+3?#cW$ zi>VxA0Nca#e=4Tr2U4~Ey}q};!+aEwis^h5o6r`Q|E(S_jgoxaQhlYRdc)uRwyZ$z zYOr+5FJ`_K}1V2S7fK^SS#me5~e z+Rzux!6l>kOxTNA@Zs-q(C?^sGn*mxx~^=545ZY8cljOh|6l-CXk?lU09JNQ_qE-2 z)E?`4dDnF{Pj)HoGNpP;=VMiUs#-ejsXSIuTQQ-0ZP~uk%F^bNrs8cyZx)sp4lCH4 ze+cXUm*qZ~lbtgu`@XEBnU`j+&bTvvBv$Xm|0T{pFn9%T(e?i?1x;s3K7hpkM?hNS zq5Ms8%1ECPtu`*|x?cwu3aP{`$L{51Z~yinr08MsFCQD5htNc2E2MVWZ3HQ(@?z&9G(O2t=o^_j;CJbX`YY-iIiMjFSHg)cB}>WEnptq4>uKa@&H@4d#B7fg83=;p29}sItcm-lGhJE04!a0 zkZOe2Te^PQesbO;mh%hG!tXY$G!rX0E!jbFi6{K0hwp@tA2iNG9f}tvHSz74lo_!A z`$etC&nAp4Uz#%ao>l_m8H{)`?jyTh@!SnxZcl)`z6IrsBag-BTdyG43VfYanP;#= zT-)NQ78<=MNXL^iq_+XbXl`XH zj}lC?(9KPm9b1=8%YI${77Gw85={R4J)Zlh0Y|vkl~&!{0Q- zw^B0ADoA5jN>q)S9Q73H^4#CZ*Hd^0y`HCL736Ni{d!QV_CsnL$U$twmI3~`9;a+q zyg1_%Z~x?s|2ABo8b8s9kJ=4t$xk^qamFZ2$q#}4ulbvdM>4~dGLA8C=Fu_3@O0#d{0J>@5fi~rFec_3Z40OYux#D> zj}vU=cl$+5E`|ND512|G)XnhoDEDeiXPw2Al8>0)Juc6~v?a8Rx1kP~2POMMpRP=( z9|L2z)056C8V^wmg5ENe#a|m7=H7riI(nz4hm!b0^;yOJ3zpjSRB_J{OKbNVU^u&13X3TUPy#`;$09si{8fuM(q4V@U$Gc-zNG9P@WF6r z0^=EMzcafI0MF>Ul2km&*QD&uU4}(0Kfh(pM*K9bD`_QXW3y!8Ci#UHptxXE{+hg} za`SU%=WNT4XHUr5lKE1`RT-NR|1XS9jmO9|_%Ct(fx(~6SK0r6eNcXuA_otqVR zwYBK)Bklt}9LhCFlr!~g$U|t8>;*6wvRWk{^$T8G?I(3Cvf&1s@FM*&2P->tFIe3R zV6d5A=ojP4dD@S&pi^+Sk5Twbc4ub(g=BBYei?O`qur?)vUe5NimLv~b716Tbnb2C zb_V!0aCaHJWL{p1`$miVW_+?Irk-ENVk-^L3=h;}Xn{tgCK{Pd4An0C58DEA6kE6Y zL6)kvHz%|xA3z<9sY=!{*I!P=>bUv%KM4PI^(9wXN;I_&UJkCvl-*Y3gjcL8jdS%} zGw$Llvvg}Ne*f?8FLh+MHxGIOF z;!0hXJ+f)HFCp7o-~J!q>N3%kLo`~WmKM30bltltk7OlXq4TwOCfZZLRr36YfU9-p z(b&c}fFm!`l_PJ{%^_WZE7zsokDqNgn`}ZTCFslJX^!F{FlS)J>HlY3qY0l}S1#-D zn6p9OA9r?<73SQtg|QJ?aXbijN_L0JjY0U%ozW$FLa!oc{{KZARMxpXqtrI2^k~WV z>D>|0_osnxbk_>C!_MV_8_aWwwT_HPf~ouv;sEZoy;-N{J0A4-OMrn z2VA2*ZPmX2)8hIqi|hRHp)7ti zobvvyPD6ecEpTfUbtcl-$5yWeq#~W%nM_XJRLPxK* zLj5k+>%It_oli(5XDZJ0E)(Z1A7TqslQ}bdLVrXHoEEPhIZ~O|F8fKFkFDFD5o(Rl zZ{F1zwsGo~v;lo@Tt9rHjacXTn7A_n_wPz~hAm~s3ADiZUh)jyL7>|Ef2Fiw^Db#4 zM&%jjd-)SuG8ul+v1ostp*I_o+7fz`*cXl56c-m-f)TLX?4!r?#~w63IN2dW&Yt6} zN(#!p|LQH}epTGvhI$2eb8{yaNIoJ@6CVVtoTtU!g1a~ybMLi7^?;H(tYdo;eGnm(-*a?bqa;n@%!XQg2L4>EKApMiTc&Y}Kv)$z$Qq<-C&kov&= zOpSBAiZ)T7VUF#XkfXFsd(akM+NSM&-fO;#<+T{AS$MAM9_)h1^`zXhiYL5qCp(T{ z>P*p7@3{X?9p1*1MreiW`GWMmH({3J?#Izm?s+~58U*(|9{^12@tyLQJ~+|L{*u%? zLi-?4>*a^GB|1N>P1^Ik&EAPq&*%Q;v}(B52;~!ZYUa7s^cQeu5I;i;yo$V!=P2r| zAuDTT_j5`&dM4CL8fsg=1g#lotp5bO<5z|D&TD9s%L~;xFSSkdxy8^gyYJvG=qhJV ze_rTcft~ZgVm= zbr(Y<7xH3^me)S}$vK9-{>I1OW8fl(+dD$^ciPC+?syn4UM$yx7gA5z_K@9As^~2&=G6; zgYyGe2Fy;F1fC`j@Jhv(yi9x>?V%nbZKp%0xDP+uu|KZt=*m+>E<`=tuY!NOzhqX{ zQ%C5-?-SHvMxu{`QMQG!2&hrdjCdC(qPOX5zX&*96VA3V;H{CkiJ>m^t=kRy!A~un zbw1mF0Y{?J`IKiJ7|h$sI*0>Xw|lkD6V#k}`Ph=muT3#vYr&kUyH{tRP0qWf)`3QZ z9=2^G=a8#*uMyr7&N*#fpg8#|x(iAsaHR!F&*y|NHl%TupIKb#$t9Ni-d|ukKqU5J zlcOT1h0ubeb<4BY8Hbj=zv(%ny;~QYi~oag$1J?7H%1jb5!AMq;FD*G^aBPOtzH1W zz8bjF+N7t}(kdwd5G^JpLj6mf5TQGk&vyYgFE;ef5Z?Ed7_{?1oOE zKiT-#PWc`t@weK;BnSA)N+bUymQ;LcOA+5GheFx{-+$hdSaQ*7x2LF%RgJ;?!uAq9 zDQxf7ANaY!GjY1lJ@{$=Jw@{jZ}H3=#=2Bf(|F4Pi#5H89JNOu$8Y?TQQJZ1kDIu# z__5r0&PO|3W;XeXS86-xQzZ50oG06ciKLtpv|na+L5L?$h)_H=PV!5S-Yk1#oAij_ z+3_bt6axF9@d?mGCc*=tQnNMeH(lhfKYo|1P9W3UT6Izc%$)75bk&&7K}%QmKg(8s zMsOFpwy*773{1tpG%^?+sGQI!$*(+2$*GO`;W-ILny)i*g8CrO&}9@^Ji+v_jt-7M z$CKC`J;BY8N3)>NC8=9`8Ghjs>Ner@ zT57O7A4GP|T7Yx5cp`=Pg`YPq;9hFn|Cm}W=XUzI#cwnTZKRKBk?|LEChrGH#fUC< z&SHz^;STPcoG==1x}B3tfxq)qDtBm%=5l%?H7ja^4d{pD-K@%i-3Y4%IBig4I=`_Lr>BXSANU3NMdy{2 z^~R`~ea(F3_FQjVffl$Gc4`A_B;;}10*+VmOzn3`W##$PE9)wO86$rqFut8#mWrAB z8#cV)XMHSyroqujFLfh&Z4O2vwPlGqiEoyB+0i2_S~OvDnh)dK*xx*UJ$j^ za*CN+Fgl_RToXoAF{0X2hv*DE-MNf{MG$Cg;z>(E+6AO;W@nKNq~j?$ml63tCvz@i zb=v;c_{0BNZ0XS>o}0eb55L=I9CZO^E(bvAsFw`5qqB#H7Qhoc=VWt;GSx2o8 zt_9BYYw)Z;=fP8))k>m-AceQz6l#|kam|PZJ_C*Cr64n=bud4d`9aiPs0l4V989w3 zWrm}_pOJ2QH2UHN69rEFU z^9sy&;kDE66YdV|m}kPM=oMziVZJ^UJNkx+-D|j;mteO7`3n!=XGgH#Xc)}Sq!*R? z2IIH%m@+O~haMvZ*)OsuuxP0~w|W77=(8flFE&5#Z1uxgz|84QItOXId*q`hi$C|+7m~A7kRQ+lw7>DH^mone4!$9t~M1@=zY6DmgOtUR)NtjI0VnLA$B zlRflv4?yhVTK$znHMB=By0CBm3op9l5;+@$CGL`Q0Je62soRKdYijp)eG#kwuj;b4 z`lZeCL)oEYl`IXBm4wVlqUsm=^X@msS8e0=@GL>i7(Cr)7WD+aS7Lr>MErD6I66}C z<>=rH(fC#VR{ewX_B#A*K=#;`knT;8;5_HB4s}gKrW`$=%%5yBv94h#X@aIfzZdhx zxF%!(o}*^65O+!z8S^E3L7QWiInP8DeQ+iq1B3H`Yt$R2(L~xiyl9CN%eCCb0hf%0 zHZ#L8mvvNT*!gIa%x7E?sQi-JCe8&hw54TuNPpaW=B)^PKU(8_PdYoNwuYmCe7|{O zs0BjSo?hS61?LAbcNVKqF$mN*@_WlWv<67$69v8;{pa6}g`=kz`lbPT8*Pn-a1}`^ z1?W>|-|VjPBRI>34FPJZ8-jxGjC|EGDlRiQHB6cdBuzsVpeA)mSlmlH4A|o>!k#l z2TO+Kn(;Osa+RxR=ye>Ad{ABeb|G5iR$i-zR$KI{*CHdwz8&%+MoGu4yzT>xCt_rC z{j6IlqZs>rK#cdk7Vc^TjOnl8nF&1edm`wx82?FS{w>z&Nc8u7P>;UYg=P)DP-==`(gqcTT}X50e3cmsa8QiuEf zh^I?(tSEcwV-TrASuqdgH)3@8>vW)p#?&vSo=dJ&z6EzTW8RUSKkCEike-p%A6UCw zLgn>Ttp8|vy-tDv)<4(&xr76Nt=oM}`9re^UbHk;{#co`lW0fpK6VLkcTz>88mYK* zBvPtex`*7O^ZeVADlwg7#A8hvoxJxmvksg`o7_VyL_A&OF6Ji4$+h$#UX1^}@H?GU z8Hl#fvvUPBi@`>65Z82VA(!{~21~UqtAcwG<=l={b&sMBt}bK#yyz*+7^K!jy-7U1 z)HdkzCT~;!qP@f!lXJ^OW{urYz;ta3cgv!GoqlK}zN5>n?3S{ELpelZQY0%Hw*&}Q~&YP8@| zwAJlQAUbdmq_&mOKen~!S)#p(lzPWI69B7IzcaxHO-m?mX)_aBUX-uAUb3H*1uWY? zP)3~S&1dTQ=a->P(K#fwO|;@Tt{#8gw=Y{_r(h02KZzcAGIPj>fVEo_qEfjvtgAmD zcW6&=o%ucR#cx3!)6AIdh0k6XSzM`CXY@**qX}~&3k#-a?LCF zB$jgy-GtvNxjOc&mqEbXSyiGv1c71>pMx0!jMEbHr@qr$G4C*|YA`T%5htDTG((3p z=0#b<)*Se|FKf=!h|>_X$;C63*HhcXI1Sr$I79kLjQ-c-htY@r z_)Z_5FY)%y{`$d=^pTDN-tKHX^9#(K{LuMtpn`3|!X#$Pr?$Od<9uMiwoZILg9-|HRdS-UaQeClEuNSfBe3HA(p9fE3wHU^~cnTz2 zTYS$P>-5a=^X;6O-3VMIy2o|sf=Li)_Lus;ICrxhho16tSl{+er6yjceb5M+3sq0m zPNiee2Io;vZNux9TjELtS1}OFehpR{!W+gwh+>OvFWFg7%#`bJ+ikf?E~_? z#5p-e>S0mywrl~Tr$#3+UagQq5<%ql5q|Sju@kYjNWFNnYn9-OgOM8NCVg@y%IgDWpFymTm z5bmMDmT^}eS>MZ;?k(o+r{>qz?vHiL>~?wWx~`Aabgx<5WkL15oljKtteV1E9WScJcb6rwjWOE-l!TUz*>LcW>^IoJ7vb>}^@EXTFwkUB=q@?pSGT zYAhB5X8130{((U*{*Gah^UwN?j13NMI7{*YB>sOb%5-F~JuyinYO`tVukq-wXiiUR ze`#LK<6jh6E&bKeIXxc+?rw#T&LWz-_eKh@tvi};s3EwYvQrw(n0oswd?o;AH}cuR zyi#!{y{W^G_^j`nI`sc|(D;3OHjv|>H>PB&EZT-FNpEs`et<<+YilP5I?|ysD-&ZB| zqG~4Ei^aAV*_-6Kr{+qp{&V)?)o5$D+A_3sHRmm6+sY^u+d5#+<)*PR%GzPIW$dk1 zTV7+hQ1&~y!pJBhm=1q(=>9QbTpJ$5cW@p(^hZWmxT19sG(Kus%z~Dv)5Wk#o`-JA zSSR(+2HZCc|G7Smnj*_*h2_*dt_AkaH?EvUY0E2asZVQ))ZaOmGFWZwQxabVmM8BU zp8~AiE?MdsXbtP0Pl#+#p1IZRA-^6P?s!8f(ux*r9dvA3v2}=i$x3466`}u`siQea zs+Bi^_S3D6O4@Q|=pcL-9iBTxle!-Po^G9XDxT`ARS(AMPu6+VZQp$7>wu{ng))-` z0c9tzGRp@#Z!Gz;&&BO93eit(uX+Bc!C!YcQ9f4u)niF3mAtTh)+p01k(h1npcSJB zLu~z16)l+xT)E?)>?@!e4{6IQGezR<{dG8RL1HXMKGZJ!><=C>`Zy@#=SDJGcBmT^L;114y?iwvN#;oh`Lraq9Bk=xPph<{dhrhWeJG0UffO6H5 z?8!b2ZE^7v)sa%$LJlWS9qweBXnk}Yla)3d7(0m<6NCcAxZF}-$K)M5Uv8?$rONJ#pxc@GKd$ zsokO_M*m}0-YksQG4N*exBd&~tDl8-(2vT@4QD5)SI_#90!BeO26iWW*|`*}@pOec z{iyWwaO~BgChh^%dWP&Uj7|CU0LPx$0^H8im8W-yMPY@P3Zw9<+)D)Ply_g z_{}9ozZ&4hZ{`4Z@xM{dEAE=FmS@K+=Oa?J=~yyP+-+89?nGRQZ)9#-Gh{h66rNW{ z2`#H#CjkrL%>`H;JI(aF_f(EIwsr=|bF9-wJ(i0>06`$T{2aDzKaq`<&3Xet3v4W}l8eF{#;bx$cRg zBU5qj;%NiKy74TZ%TK|cC>WdXW>1uPz}~H@QC(eg%hbC;%b(ci-Ya*gcVjOiE=PkC zK|H2)P%omC?S*mAQvk>>lzoh;aHTp&9Y?do=4tIwt}qfa%h=I!A1y#?!m`6CSEw+0 z*@F3>`wa|0?c6ayA|kX|nUl{qy=>mu1fBSIW^Q17f0~&O_`dY{g7ZNEwawY`h-|? zl&Re7fxJy0h|F*k@ZFcSl%aA;@et@d^l6ArF~iPjb(mqfx`rz*>95tC7I!i+bBUdv z++sOoC}zd6f!e+51u3;{$g$&o*@fM_Hgwo3{8;)^uNI*#Zf%qDP-}a zoGY>Fx5(>&{Ff6V)9nJh1h{gYeFOfxEUi>rRgTZ!8(JvF_q)cdaN7i3pZR56FUI+Y z-cV+ZF_*p$v&svQIrQgFL&=4JP}AYaFAEQ1JN18a2?IEin%32)*&IvSsR>u5vI8zCFGo|~E) z&%ojCDa@l|{tw&4mEK&($y^}j^bn?U19Ho>i|g-#pziRmYf69rYeTXXnQ!lWfrq+R zcW>&px3;`?Sl3%?9_`Yj%lPWCo!3?!>eQoCOXd9)ua@^MUtIQ7Y4_5}CAStoQdCnk zws2#?Gx-DZ*XBK$Tbny2XMXlwS@&nYnlUBg{`djz{~zNCKtW6`xRQYBgE8!G!ubDy zk^^O2^AAw)9sJ*nKX~W+y5kqFNAvqWA%C_0yUJ}I+|biZ_#Wg_=Q+qEBmO_(-6N2K z$UX0iK*od+ZtHRd*lJ-|k3#-60{L|Wa+$5iO`qr5dmN-^1hO^)c_ae)c?41$c~@fu za%%`t_e)j;QWSwqjzAWB5UP^ngDxRHGVP8JE{Q;vL?HVjkY7e1ABwzdSOjua1hO)O z=n~b*Va>#N5OBUW0+|_sER8^(i$F@ecS+6NJct|?^zYtN0=Yi|`DO(2g9zk}5Hisy zWs`%8B9PxlAg@Fq=Z6?-J@1b|CPX0DTZl_O?;?BA(l@+EAUEjD$3Zqk zAU!NKoP)4j?x}H*&f!zKRr0(DWJLsWM+9~riPD@IjE zmP^O3WPQ?#QCIAz;$qfFr!)Nqif_tVYbllUbJ7u|_odsHSFC(`(=AIc`gXrA9edBe zVa2H5)3>E#Z`XU)QXR}|L@zO2@wbd=(eNFHq%t?7hmbDP_m5 zX5bgti5T_5H-7zF%@}@-8asAb{PHZdl=v-3pxa2X6f<|gNs^AeH+X`2ju8$|p~X|d zvtu7qo?cz#qxP6TE{3NiuDKLXsB7oU=OIsITQeq0I`-b+sY5x&zRvR$igrG{hCJmL zJN6#qse@|f%v05{V_%JVf)sY_sUvtI33lwVcz6>#_Wt3a4K?%OK?EWnb@p=ieBr3y zckc4ej@`kJyZft7bmjEX0oe{o*DKv6RZ0 z8wf;^)W@9eb}{B^~>_JXbpQ-ncO?pIfEF z$4lI|ER&9X+?QK1YD-sGG3uOu#EMbtyiz*$8a^Etv(9qVUCOhTqt>Uwa#YOomZM@` zkdA#OY_c46EMAt5y$@ft@=?cqvvln5`!?y=`*6DzqwZwhwenH-qC3D5d-X%<*rk6Y z9Xsbw;$n8i<@1@flzK(|SC*rG&A*Au=es!Pm$;>jChF`}SM>zTQTx!-#A%+Z_BwlI zOh>PBF>+EwOw?`?RgP%x!5D4?7;P?jx-83HO5MToR0U(H z8s!{yhfigx(&arrIrXVz{!cj_%t{LGWOIhhS)}v7edC;daZZ10eZ*OJt`U~o#Z$S} zEUOEZ#g!;AV}M*rY!^ENEr%;j*cl|9PV`$Q@=3P#7!L$tPnE?n9ZjcZ3?DPwQQr%D z+c_VO$*^)BP3y>&IA>bh#SWJ>%yK%*H9X65RL*LB_*bTfxm1xABg%?dWr=O#e@AOE zxIWra)^BdikoU$^6ElFHkZ3#jmE1Ldzy7^@Bzt%iza)`!Rt>l`{gu4_*mr|}|9zA_ zwQ?}->Zk6k>{ly<<6{2Gy_P-QXtuSb>eo}rj`P9+U5mz?6i?i3~SSv<7l^iD>`xpPvcX~bPyyWsa7)|9;_SH|_``O36nT)Z! z#PPIk>i$PeEvD`d?Q?^t3*s1Yo#k(4Tgy>h`FT1Oj1#}oj{W`OMtfdLHCuNuxFKBZA9cU+SMHzf zh6iqj;CyUnnsn?ZpnvZko40~r=h@GgX>En5x9)4qvP$RU+=VLdueBW2G%{N{@%QTX z{<%)Z*hlbs>DYH)>VCevbq&8s#@N@Eo26s#=Ub#>pY!S|z`oktCS&Y^|>3FH% zi!vEw-+ifP2m4&TU&h$i7WFh?m-V2G;WJ8nQy#K%R@Y4R#9=S>u$8m^3}T;|kII;C zl(RS%<a+}C6bug?Ig@91s3Aszc1tF&_Fh#qtee_J~C zJ^#P=Y^9E1U*kQQvwhrm#yRgx$39op6PdlvRWioj8y`u>{>B~p8O=U3KaDF(J+;~2 zoiD7M59c|~{&xQux6bOx&i-XQXqBa&O4PHSeMULNJtX`#si!}+pQ(vd#@OdiqP3K| zVtb@x?=kg+Xzw4NjQLld8CB{1jG(oY{uF6nA;U7pKF9w1o-4=F^Ts%OiW_fu#Zw90 z73fcz_8mygryG8nsOfO+u5=>&e9E0Yt>;sE_Eb+UK3P@=>zPqKu?lAr4Wig6o&sog zkfcNX*E}hf^onm?+JkAM(%Pq0q;5=^p3*biCqdDJ98?-a9-OdkQ?`lJ+}yJGVJEIv;nIIiqRECg0$km|UJT-8tSl*xA+D z(plf>cOG=?aTw`urS3@H;n?I@W zdOBJ=j&+0`-={s2x;v$QO0~Dh`>|)erw{|D$F5f0v%E z=`{J{Kf3GZ-(l|7)k&UHwsTsXlP8}n`M!aFpgzU}aw*$6+KTB-dz8Ceb+BTTGb+w`InEhn<->P7{OZ*E ztr+E`#>KRabNWlCkk(iXAL=Xfv7O0r&X;jcqLmL%4arYIldKr!ER1v3#yP*lIrZam z9%DJY##}E{WG$tfyW*VZ;+(IgW4|b&MVxb8obzOybEaG$JD=NXINX_WW{suTSr+H~ z9OqmQ`S4!sWz>Th;T#|5G>db3#5w22IhV#ckHYAL#5v!_Ii1aQc0}y;=>c0I)_JVubfN1= zH`oi*sI$b2`T5Gt_eUJm9Cv6Rf3_b8?*XMx66qoYN^T=PTlzg*6-=82m(y zeAsDZ#c=CH7h{Og$cj-;<2a|IbnNMgZjN)ZWX^WXjo|R>1n8WBrG#^PoU=I2*%aq& ziF15$Wt|-7oEPU@5a&#ZbFQ`=^-_dOtkRV;C(c0AsABl=E1e z(=KkQ`Ib{i_r5*oJUq%;N;yN~ob%(HtKyuS;+zW0kuTpi+Q&IN;+zlToUf!~PkP_A zhSQ0*qC{>Nw`cH+g$s=rtr+FJP7dACMeLZCaZ440)0eJe1B?cck8oPWIR$af>2XdZ zF6Tna;cF64TGrB9N;&jqDzh%oo)~3f4Tq=5>=WmlAszb_+gHk*ZRhSd=c71hL|i`O zEr+jKJc<8sYboWt73aJc=X?|AG>4q|{<*(VU&ipHntf>h^fFF~bGpYl6XKjH;GAaW z6Od)uInR!BO2Ogd-rb0be4^%yL`~;N$XUd!h;z#0oEPGpcjBBQ<4SK6=M0K-=2?z< zF~>?PXXOlui&HQ?8c&9d@Q&V^Qt zI_`H$$DWk^Zt3uEiuk>_M>_VPr6u5qK`Qq)a+u#H`-yCsjIo^uq$BRH`IqrQ>DXt> z3hDHt{l)#xIvNjKF=|U6lMY{P#C2n(wUk=tRnp-t7ta@~Ek`{UtdovCLCSjR*x%&} z>Db%;ymag#kuSu>ylBO!b$-cm)N$V=9s8xnuS&<>^P8n3?x^{0xl%gzcD*GX`x?F_ zE}wVeoOk1#9n#_JV;?$GyBj;DW8cqLfy39NUdBgp`Ft!Ld;feQ9lrMwPsh8YW1n@O zOUK^Q-O}M-oGw&WXXAV6@T3&tI`)Hf?6US+F&(G}Vpm#npLFaa_=|Mx^*-# zI`$RmpmglB_jl>oPrin%Pqk|poYJu;iFR3zI#=D&v2#v@d_G?r&M>YC8p%12#$TUasb{;;KV?C(V@>DZH+8U z(y`Cgc9x@_FHVt;opXEX*k{zK(y`Btj#fVEn0B_7Qg@79q$BQ9_@1OIEG53Dy=%nq z-A*4XAO0@$)TXCP$38dCh+C>}oHNMEN8M)*v0~J_Dx11>*`};LaI`)~s z6FzZEtbJwDX6^^QB|2&m`&Czg8DQ zjQEY4A|3n8yhu9skim;BM_u_Zm5#m6mrKVk{ffAyu9S{_{>+e$y@pp?G3w}CBOUum ze2#SZtP@v~dDc>DKi?1+Qz{+1zHYvB?C-?_%Mrh59gKyRqrR25TaNm^-yt3Qs(z<* z?C;kiD@L8YcUk$Uy}DRBybs0ExhKw9A|3la;a=(3zi~?~M?Hz(Cms6=`G9onbM-dJxfrD|NCla9TH8>|?0HGa{`N3G#Y z(y@=}>(a6J;hW&_a=nbVq+=hiEml72&T6aaIN<5;9au^{3x6OT`#k*Eic#m`=W)(% z>DcT1rF85we2;X*R`4&#*Wie)_*OdhZ$Y(m?0xvXbnN=xAL8=aD;@j${*!d<>*~+a zvDa{)bnK(NUpn@0?yu6Z_s;?845II?7>N3tbPDOZC+d5DmyUh5IAuF0x4MeDCbx9B zbn#n|Bpv%ol58!d?)_4vV{ccgbnNpvO*-PPU;zE@1f*kcX(Z0cw3bqL!dcR>?|-tT zV_(CgRzB)lmlNk4X*ueS@o4GT$E$(m@RstE@3GRcf31#}j(uNuqIB$Qcnix>wU_zQ zvA4aobnM@qw$ib`aqXmIU!zWuj(r|>kdFOK)KNP29_wT|>UXe;+{6DYI5xUyviw5J$xf#DXvdAo64g4AGs9g6OuW{FJ-UK7`cXa zK4Yz|P**M4gB8l^bAoy2VAY4mRDHPRbTSIH7`x8gzJonO#8|b~RzB1U$=|L&*c*35 z?}&bx6^-l&dsL)jMrsDP2v14N%4rt;DWfbr&F}L!NdLw+idvl8Q`;`J z)8@J|J&|1*n}d^s9%_Z&mAW){U-rj=E&jJsD^edxU6eXEbt<(0_ovy`m*=dAw)H)j zc4TU5>i(47Dce#uraYc9EVnvmoWCq(P0rx(!H_ewJa_}OgO8_n-L5Gsvx+lckE{sH z^S|P2NiDekl!M88l81$MByURI6j~K339X_w@A=8?au!DRgo=G7$rF=@CHJH;-Nz;y zSz&4oul9c64d*t`ULV-(U6OTc@QU;`-ixE7qg9cq87*m6_&Wm2y|^WaH5?8#3vBQoNMD)0B)v4fJB>JhJ*|LRo^w6Po_$H5C2dLC zkW@}>&-0QNXBS51ho&Wsqn7J=+3O;mlek|%&)ms51KFWX;W(9&Q~P9pK&qdT)SL zxf`+{j7$u@nBLp{S@!m<(yUi9Bbj*_kB94rvuLdRV*i)vM*2=)RT}phh`3#D(OZCf z3M`}^0^C2Kan9<@S&=D`ZQ;aVXaCUj?`3a+sOyTXcERoG9vV--D}nn4jLTNN1J+0V z;d1|K-`E7ZPe7lX7qe6kfGybvvX+Ks2bTG`FTf4X>CV232}BR-dJCJhcyr#7%)eBvvh_9A8DO+D(~1B3A8b%pVi0 zmOJK8iBE+5J|k|faSPzjDP7gY^YXiiRjohs7sRUVlKE?5?i#|+ip<{-w*mf^xGius zv1;w(_#cQ>zYoQ#uA6x;rK`3R<{ybqh5UXZR&5ZR{xfk0NZ(JaTIx9cSK>~Pet@_$ z@NdLjfDaO@HWyx=S&d0&cFd(Iz#!g9+ygj)ShehOyo zWMb9A!tp7@XFz%?abMtc;(jJO&Ew-I?hok!;sL-x;(@>+;z7U>;=#a~#H!Vd*C&g3 zD5Nu=37k!=`rdGSlvv&6Fdspz+Etj3Bpw0FA4OaQ93vhHT#tAZa0BAAfsY{`t??M( zV<~+s@NvZF05>F7Z3Mi2O^DBh^rpnBm7dd&Cq56-n-Qya8csifShX=SHz%G5@yr(h zw;(PCZb>`|xE1ka;C$i>O%}($4Y6t!;_})OUj*?d6JHG6j`$MbQ;4T(d?|1NrB4Iy zKzy0T(}6ou`sKi#h_BH2O5o0vUIN^W_$uJ;#4|L$8n_3g&jjvCe2vDcU558hFG{}_ z()$q4)>yT4bNuO)J{QspiLV1bgLt0C*8}&Z^c#Q&5Z|bADeyo_SMASS{vhJ{kj{Lw z$>R7ACSCyPLx^ty9!7kt#c`rz5;kM z@xvNF0(>E*KMFjBShcJ2@n(Ju(k~)@9C#}66DEt}e<|@wNN0W$cpC94;LC`g(s(uS zbV`33_)6k68m|Q|q4agYR}nu0JcD?>#?Jy@P3aZDvxuM5cmwdYl>R*MY~qa?zW_Xk z(q9CgOZ*b>^~9Srei`@%N`D3TM&egB-V9ty>8}CbMEttOZvZc#^h)4ch~EUhmG~`< z-!@qs|Jx{i3#2b3-m397;5#Y(9pFX8+cka{_%2G{0lb*_J>a{EcWV4T@DfV@0Qg?w z4>hg=UP|d70pCabvBsYOFQfEbzz-0A3j84PXBvMFJc?>S_~SGj5q?18nic*q(><^` zqF2<3I3nDEn(I(RJ&Gg36Gd|Eh^QfPMEOzdbYlL{@=^1Fi?pa6aYT4xJFW#0H6c`g zLw|?Af5h?syZ6sSwEuR){#rr&g~ne3KTPRg0hbf+(fDiN$0+?9;Kzx-1%86KTI274 zS5o@-z)unXpz&Vd)s+4t@YBRUY5X(r8cN>>yq5SE;Pu4&HU1U&SxP?uTtWPs#s`6) zqx9c_HxL_*?B_9Nhsomjzd-DS^cRT}fL|hZY3v5xMCpmZFB2ze>;c|P>0aR1h?6x= z0e+p*Q-R+gP6MtaR{a|J`@ozI>2DMJfwvF`G!6o9rSuT+HsY|xs=qv!_YS42{%p)U zh%+JnJz~}Clhc{AA$=!t6!?AO9F225 z2K*iI2^!}Ce^2Qr0{=kVT;mqNKTGcQa5 z#M3pt9JoEDUjck7@s%2v02fgDRVIt$--&nzq%&U)+?jZ$#@7IMq4Zh6U5T&Ncs6i1 zN}r?gT;QIRejRWx;&~ch58Rv5Z_xNg;L|9*6u1xZO&ZS!K7-P4)_4JMUrN6PxF7MY z8s7%opVAj33CE>6 zk04$OTts}I#>;?5Qu_TGF9#k)=??&(P5hw74*`#*^c5OE415lyKLR|C_)(3^fzPG% z$25K%cs!*)0en93N{ycco=EAdG=2*B0!m*ETul75#%q8lQTkeq*8xwV^k;xCB3`fY zv%nWqdWFW%nJkX~C6vAa(x(zXukl9U%P9Q?jb8+wPU$ZRHYYe=Ifw4=#q$WwlScOn zO~i+vZ)3#Wi21`zX!Ib>AH}^$^G9)S()?k*kmf?`Lz+L#Jck(1ipC#ienLKjG=J3c zJd+uJ6!#;|AI1Gi^M^T=mgo7&_`}Tk4J6GUl|G0xe-sZU%^$@>Nb^TA&n6~j6chOk zBj%4vKZ`Vf6b~oOA7(1v7(tppig{Ks{wN+vnm@#5`_3rR{9&$HKjHkd`U!J;$I`O= z;pMgZiilQUK{r~yLSJ55URo^8pJt?0r&gs_Qa_3E)Uwpl)RNTV)S}eF)B@@&5li)_ z8mZMORVkGz6)EK@Whtd8B`L)zMJa_T1u1zcG3pCpq*NzYC08a_B$p?bC6^|bBo`+a zB^M?aBPT@RWPX zJf)rzPqC-SQ%Ixn^E@$+-(z^Hld6&`lPajELRnI2Qb|&AQc+T2QbAH4^-%C98A;WN zRf&~}6^Z4EWz-j;B(XTLD6ufHATcj7mguJ*2i5K>ccr_+UG6S(m%2-627)4Yp}WAH z=Z?AkZo^$ovkz3dDqQ8RGFPdq#8vDnauvD?TzRgT%kMH=)d^JzmDG2jJfSS1G@&G+ zIH4$^Frk3v5r`%D6O4pvXO*+kS>Y_FegdV=5@)fq$XVztaOOE<)GxqrRy(R3m5vHW zxueWcO0xnKJBl2Ijsi!XBj)fs44MU?%BVCd=nW}lMyXLkZ%imM%F{~Hiqndyhf9GR z|DR}xcK$RYk*e{21Z zXrHgE|1pdp{C?Hd|J2q0w1D%WuKtJm!@&NitN)?+0%%>gs>Y8zS?5r>_2| zuKuU4{>T14aD7l+{g1sr{y(b!G3y(+KIky(f6VLQ<+S`J_`PI)8Tbm~S2TVV_)1FO z3_OGQHH}{fzM9hC(6|zKCZ)d#d=2qi8ov!Zi_*7fycKv3rEdeCOZ<+;+kvm6^mjGh z0X&b=-vhp$c&Eni1D8_z2O56}d=sTt0naD?$YfFf$NVv*-%R|8#=C$QQ2M99w-JA) z@#nw`DSfxbUjW}u>0bihLHw1*dw}nx^shDk26!>0e+zs!aka+Z0hdww_Zt5Id=I7X z1ztk@qsBi0-$&^`YrGG58KwUMd_VDijeiARPU#0U{tfs6Nw^hO#t*0>4qs}$c< zbc0`vHGM@%=R(0KALR2WmV>1S#@OyjeFKd1QN8jk?pP3c7%k2F~ve@-6->0c3_t?_8!J(NC1E;BP2>yvFBgJOTJyia%fDiNN1e`UM&nYdi_~2a2Dp@rA&9DSe8@7ioMk@Q)OK ziN;fbf1>nDHJ+yNWx&5s{B(^k2i{NVS7>~t#wEbNQv6jWi{sBc1JVx=U#;;>jjsXz zjpAo%d@V4&S=*Sc@f?lk0y`-FI*sQ6J1PBojc?HSM&JaBFV*-aU>Bv&*Z5|Q7XT+w z{4E;a3hbfu+caLN@$JA~ioZkSJAsoaeUZj@X}nnDyEQJ;_#TtR@lT=rmq0r6y&5kC z_EGwM8ZXoMe&BS9UoKd+7?$L2p|0&kxkb5!xdpj-xv^Y-u0iAEt8yxHDsswm%5q9` zN^**GigF5b3UcytVmbaCBd0oA6|Ia`M9ZUP(b8y1v^ZK6EsPdK^P;h+KWap)v#YWz zvn#U8v&*tevrDpzvx~9|vkS8GvSZo)Y$Llmt17E9t0JpBtBl5imt+-Z6=fA>6=daQ z#j^ZaMpkuZRc2*oMP_+sS!QWwNoH|oQD$LgL1tcNEYqK9WL8J2B9)PfNO`0zQW`0V z6i138g^_|tUL+RrM~p~yMpZ^-Mny(>Mp;H_MoC6-Mo~s#MnOhiMl8dhVPsT?tHPDx zig0Cav5-Gx zgsOv8!OCDousm26EDe?fi-SeM!eBu#FBl8@gGR7AP!*^QR0PTcWr5N_NuW4T6etW7 z1o8s0fInaas{K{|N`HmF++XG|^_Tc*d4Hk5z@O)j`Tc&wU!7i+UYTBzUY=e?WBNJX%%VZ zX=Q1pb{lhDUx5F;eF20_sxm zCx2%B(NlA%|Gw=1!|`j0Q#4KoeumQhz#E7Iz|Rx=G!6ziJn^pM68h<};V!@#c) zXF&X`#F-jLfnTHaTv(p@NJxK^I7j0c#BZVWBQ!o5;@_e4Y>n#yZ>RKQfZru<0Q??t zeT|RR_&DGyif^QGW8jY|Jxk*zz@Jk3@xY%EHwFHj_ymnl1pb23kJ7jq@E%HU3H&v2 zp2p3AzoGONz~2(*3pUTky~HO$I&&M~ABkIO+*;$dz&}xZL*So@PX_*#_!Nx`fDcf5 zJB?2TcFe6gUxAajGo&XFcLH`1cLR14cLh!%?ryT^AI97Z(o>0hXxvldKEQs8?+qLv zZm)3%;2@=+rg4AZ5T&24@fpAoO7Exf0F4J~JP0_OmLDwGJRhROg^+#(@tGPA13rq< zyJ*~3;~~H?iXQ=7kN7N&i+~$Y`cRFB10O@_BQ+ic+=SB4)_5#%Q%WCWvN-W_w?oRnl)c8{19+ZBW#?yiOQ2JFG&(wI9#@7ND((=~; z_a&ZfvN-h-UzwO?(CLXyV&|#}F?B9!q=|@Hxb{YkY^scLI;6_(i}Ii0{^TDe(D} zzF6aXfhSV>JsK|oowxDF zuK}J*{EWuWYFwf5^T5~B@-G43K)ez7M&cKMONloC-$eYh#xH98s>$N`-$L=PK>Dr3 zuLIvk{2K5=;?2N!5xyo~q_;0KA{()bhLhbaARjduaBp!AP{A0~cT<0_3m z()d%2KQmbz|Hml54ZpX^EGax zaXXFMYkaE41sZqIxTD6MH14c%7s2NJ=4!g%PZs;PZu|?KOT%d2@Q2PXbG*%2r1_(G zIBEVc^SL*IG=CHqk>-!$k)-)UY}NtKpfKe2#uR)d;;)Kw0tw*pNX3T|3Z8`@P6VPjq@~a1^gSux6rsH@Igv%1N=Mj z$-u^SHOKQaw}o^EaYK#sH9kq>Q-EExe1XOtfZded9yp1(Bd~|KsmARzKGkG#{8K0% z`*)`jcZ2ve;w~C@1@=*TPvCUo(||+7oq)r{y@4}`PXx{;?xXSP8W(DO25^*??+=_q zjQzEbAnpa}%>6VTr14}O zM`&E6@hFqU@oz%$V<4S*EO0a8b2J_Yd;+DPtMPc?=9J!7;|qZEDSd**=L4Ta>63t4 z6Hf$gLtL!!g&I%M_#%xj25v|BT?%{(@l@dU#FI6?1o%`+zYMs5_&klL0e7PG%Qe0N zxHF}X*7!=`E|fkJxGV8=jjsakM(Nj@ERKIq;yIAsi?~GNSsKpLCpjqf&D9RINte-ETH-v>O7_yOQ^ ziI-{o2=I7Hzf0rg8b74*W5DOr@(*hKFz`f5U!n06z!y;Zqrj7h%Qb#dHCVm!}@7awe_Wd|xipEE29Mkw1jhkrPOymEf z&yVKw%<4Jz^P@JOLL^4}wj1pW{;21l9;ErBxEE>uDDF*~Kg9I1AdOu_XBSr{tEa7Vgs&+%nsleiGPLomxzDS_#p5mO8;Kt-+*7H z^aC3IuCWu!f1TnJG8m^cc|^*y;79|io+)&Ge8e|7ag zHRpHy@2UTh{Xeg(tN;1$tp5?mpX+3#uLI8^egpVU;!5CU#BT!g@^1mpBYqqBcH%9-%ZaxFbNn{o`NZ!4FCg9yd_D2I zz&w6`2QV-H9x$ix1m^VjHU0pY*Y`t>tAKfZJ~CN+{}&Q}4CxOOe*(<;?b7&D;HN14 zGmSq7zMIl_11}-|LgOzr{tB3n-yYz_#9srK5q|^x0P(jPR|E6$|4!rYf$yXAAAos( z>;>lKf7JLVU@re>;1$ICfFC9P1(@Ua13yCiD{wjS0pJ&ie*@R7kJ0YFp6M$C|yMUh~b_1^>P6S?0oCLg%*aN(V*bBUtI2oAJQ#4Km=J+&? zeZaha=^FcidHn*w&l3lM-zE+L^ZpJ4Zy?S9=KLbSn~5`lHxg$7e@2`Q{0eat_(S3x z;8%%rfq8w70NzA=BrvBR1R9GOk5w*dHs(D-bLI1n8&*x1I+Qq0>4Fk z95BZ>1b&ye5isxX#=xHvHv#7T(G++a@$nir)A$69^MHAMP6X!in*+Z?+yZzzaZBJG z#I1mNee!|7B|Zt5<68rBer+^v3(WiHWZ?IS+W~WarvUT*X|M6Az7#*vARYt!Bk@>ZK3?Yl^ZJYf z=Hq=XFy}WOn9Dy8nDd(e%;Uq)2j=*Rz?^;o@Gq2J419oilE#yPf2H&bfqA_56kyKp zBH-VMF9zoAy#$!!r)qpDFqbzCn8!}CFprln(fBHp#qsCy z?=v8s`D$R^zL~(B-!;HI9()!spYPWK^ZuKy@f={zZ!R!z-*p<#1LpO+UgH~pxx5>J zc|3b5Fpsyt2{=eRADGA6-wf<0UI5JLw*d3;x)qq?Zv*D?7Xov6w*&L?cK~zzoxmKw z2$=I<3>+Z78<^AY0p{bgMB{r+7RNt>(w9OyFMmHUr!Uv|0bnlwLBVvRNo_g*`tmf8 z(;WS8+S7$p2V2 z&ji5Z{&_Zl^6V0t2f&;GfX4S1MvF3I(E@WefHHIBe+kV1P?%kmRhd~#vjXI0SJCMI zQX0cwKyv{UW|c*%GD>J3fC`!yz)!OQ@LT}pnMIMpj4E>;fHIm7pu(I9pqgd?D327H zGXhjZibJJgBeNI@@NMzaAF(F_2k8O7lenh_vI zGXWH2RLOY&jEs`7KU5g5rkMcpXeI!ExRA#FSJT*kBV0u@0aVgl0I^Vcpom8Q=Y^_h z^nYHkfaU=xq>=wT4?u}I6F_mWkVf$r1Sw z+yBQU?+G0=nYu&K{|n{(|83Oxf2vg>`w#!j{_{c6mTT%GK_4yKcqw0N{5b2D;I{%@ z0JTueKlw`=91T0jHfgrtkqab);B@C8uQ5h?cl4i zgX}K?UyZS2Uyb);t;Wu=-U{(*OcMKQ{10n2_J_6VcfnfqAz-cgH?U5XbqB0fyEW@0 zz;6V)8R+Jq+k@^1x*KTK?#B6_3H}Jssx69RCV+oF=qaG5f}RF?2IyI!?*e@{=;fdv z0KEdV>SxI7rur1JUJWtNf!+XG)gf}csy}3{>IPY>dOp^wj*qpf|6;A`npmrPB-R=7 zH=1=8=z5lRSkLtwqn_zmH?(5tCmOVR?&KKx3>f7Xfn>|`ko7U38wzd4oCJP5(49bc z2i*hoAkb%nJ{NQeXf=MB*JlCvYFsb-i@{gpZ`oI4Ls_eFtgO|TP}c9lvTE!c`)b@A zYt`q7wd!xgI#HejtV5txpA`0w2fsDwHlW*q?f|+I=s}=|fj-;RV*Jx3;7 z8nmi+;TTnC!n%`)i6)Rv5y#rpX`ub`9N?HJ=z5@=fbIhN4A4VC4+A|ObTQ~@pf3k~ zE$Hh(mx8_x^aBkYW*auI|AXK^3|fuL=9rb>KLfe~^mCxqm}Fj7jbCQ1#v-$R8RB07 zt;QE~%xmDk30jSj!a#^S*vT)}KcCRy$dolcr7u9gycL$ArKSgU*1M9MFwGHwN7lbROt@ zQ;YY>pA3F`(7izS13eJ*V9-NAj|4pm^jOg6fF1|>JkS$BPX&D$=xadV0Qwft_kw;5 z^y8qP0KEqETF~o3t2rI`cx?jz4bYXK-v+%6^n0MIK&vtToWB^aZ$w!C2r;VPFZ&0< zPmtduzEA5R&qLO#UY*a+(;JKHKmXnpLX4^l=Xg~Q&he^_o3*On=9r;!Sm=kFfXg>fO%O}|I0C|?w4aG!FsAXP>xacoxH57i)5|p9a*b7LXKDU zgRF0YJXJj($E!L$j#2e_tW{ke$J_Vn9KQ@=RNWir zuj<)2W`&Gl{Vo5MK#;i_~1! zI}pDe^t%xAp47ZuA3)59psPTCDmCZ-8R*X;W;gg>NX_~00sm{z-$>2-{9Dk~5c56w zKY+gv^e<9#S-*ll05QLTe-L~}6VXP`+vSv+^GT4J*UbenZqSLKlR&3R&H1EB&H1F8 z+F{mLgdjc)Itz4;)V%DGppTN8^REZ-^}%lhx+%mQ5B`bZw*cJ|Vos8p*P%7&lR=*% zHSfdr;GYV92k^THUE_C|7M0_r46}b!FB!vrZ>iOLXKBoo_0Cz=yl!Ved|%N0K=+rL z;|GEs1~DT*7l9rrv^BQ{ZL9SjSJr$i#>jZif2`1??0!uA-qvp$iR(Y>ee(B$^{=3v z^894q4LTL{v7nCw-57LB&|RhG$wW_-zgetL1>G6+>7e_99s#-t^cc|RgPsKXO3=$d zuLivi^bXKJfZh*Ujq%}aamanhT8(vKt;V^q4nRy6=p4{Tfj$~^1JL=PPXj#!^hnUE zuXhq%|IY<~66iUgZv;Ib^u3_(1N|WAhd{3a{Ss)^*NgW_CY&4DppOUL26RWMJ+y2@ z9t+mFpc{Zb7W8qTn}I$7baT+BfbIagE9gF;hl8FB`U=ojfu0BYM$mVIUIKbK=oO&L zK|cxldC)JI+7a>4zIqk>w?J6A7krO`pzDKf0{UdBy|iq4Lvi22Iumq%&}V|45Bed{ zUx9YZb>=*iK{p0{3h1t&&j39X^sS)FK|c%nP0*^(sF&8^7w}bIOZG#sAC3flg4F!` zd+6sc`+o1AdH!HYO9Q+KgVe0lRC`el zUG81vE%nayPW4Xk7J2)7yL;Pt^SlkbS>9By;oa-m?b+$6^lbF3_N?%fc@}tPd!~De zJ)=E?J-s~zo|c}5o?MULMbq@_sUB^}y$mK$kAoGy*}mRBmoJ>;Nji{NowzG;d*bHAio}(P%M%wRmL|?joSHZxu_&>B zV)w*$iFt_)60;Ih6OF{Z?%nR4)cU^Bz1qFPUFKfkp6#CQE_RQ04|ex<7r0xx8@hAd zez(iL&$Wlf=x=dta;R;%e;veU4?QiNoKyOJ{ls+}RdwRR{tn}3M-M*dFCt|g4fp0Lq4ngo=cf3Cj}}C6p%2OqiN5A)zRte?s?!b_sb2 z4HB{vQWK1Xz0Tdvoiq=?M(1kh3TK&ffpfNVy0h3h+Bw+S+gadj>1^oCb^4ty=RU_C zN0noXW0PZ@qujC7vCuKkQR0~580Q#9a|3jCw01Og#2jIV$8o@@Hg*}?jm<^{wdF52 z7SYuGGmUitG5+6Wh<1Lypz+_sX8V6*PyYPXyf@bPLcYfi4i5USLD(AnsXA?E`&; zyqDpaHsBY6e-`MAL0PpX_-f zc^xLn^MQ3;{gV;#(0=%P>z|y~dnLH6|M~hSv5j^0Phvlemgheoi}9fUzWOJpd5-;a z^-rSygSYoE>z|@tTDGqK$%ycNsIC5q_icB1AH~1*J*DRO-i^iepY>_d=lkkD5Pyc$ zd`<2T%MO6}!BX=*+Ys>2l$zIJ80fPgW`xw7f05L@J|m^(JkOSz^BD~>W57RGYF_{I z!Ji2J1)z(i=KLp1&HLv(VAfL{Xs zRiI}`&HLeM@MlWR>wgWzTq`xN=NzfI+_{!^TH~yEo##RP^;V2Mc8X)>OP}}K%~G>} z3oLs(_;*On>vkvji$LE4F-yR|5A<@Wx!eb(=52WhVjcngsMK8UW8gmy`U$Cdf3Af1 zCn4r3skyADA$}eB&q&StdA-!UPo9;U*P#OZ=OF$i&@W5P+xUvqyl$^b&G~Ew|23(3 z-Cl>7Hz4Ls&~Hi2>-n~+#r^+Q>GL{ogP0xQ@06O?;eDxj-9Cc&kHP;$YR+>P_+Ntl zN@`yJ?;w6J#QX^QC#iWIeunt{5c9j#oTnk%$$5J{puJM_x+P1^d8R;&4`Tcf697L5 zIzwtMHv;jQ;AczC`z;DO7h;Z(n%6BRHJ=YhgWo`EUgu+^<~)y;n%Cht&GZCrLXBpTccU09NuX3h2PD5Ir1N3~=_Vl5x;WJwORZx6k`@=ha+?cRXmZ#^hxC5Otqs?vP4p`I;tj*Tw zro$|ckDG^<=XF0+{>tw}$88FIN7dhQTCU-#hrgXATDdBJRUV(e=TMm!7!%DR8@AmV z9e0@J@%5luD^KR{RQaoN3#mlDPK~5%QYX@MjWEk!PUV*!X8F04LoqGS8U0x~DxJ%| zh_-zS9c#7MV+Dt|zxg;qF;a@P8)3W^2rvKU3 zQ$Fi!{tXXwr;c2Q_4kM0f43vcXzgfixQt{g^Vam+z(4;R=_ix_IvTy{THnVg6j3J#?sJ&KsmMA7g1}y=xI?#eGKfD z|8Zv9e`nX9x7HUWbkA52E~a@JT87I*3qzelt!Z|K1Jq-nl=^x!puP^p)XyWA`ZnzG zZ=v1|++(1G`V0)CULQ@V*GC2Q_gF+dJ|<9~kG;O#)MH?}*pRMwb7)hJ!97IR2k6EPQQQNgp2n&-4G+jsK@dJl-j@#B+nGXM>&t`XG0Y9moE%iEX>`UudCKsN*39CUlo9YJ>k z-4FDcphtin3wi?R^FdDmJr(pc&@({K0(}?gyFo7p{Q&3{pdSVOBayfNlr61L#hm2Z0_2`fO9zjsI^ezYBaUP6gdb=(_R$ z^1S6SMJqu+1G)nAbD%eX<_8Aa$L83i7eT)a`W4WdLD!A{7yE6L{QmN>xD51Fpl<-Z z0Q54@Pg}Zf{J%OU!}7b&`!)(X2XrIQO+n{_ZV$Qx=*~jd7-z^2(y8J+H~oM-=h+W| z9|oNPF*%?cfvy|>FUHB=0{f(H{J(f+=>_Lx-S~fTUA;-}6TVMg0Qy$gSGR#)2r+ko zUJNmJOU?HcWuWhc_@xlP3}WtwmwjTB+;C|BHJP-Y4H! z`=oCCKmR83KB*i3UpM~WDZdxo?p-(jU-Z%bLEcwzzks^&|6-rqC!Z;JpF9ZqA<(Np zzXbX#(3$dl<9xC~9}l_>=#El*C_W;O3+uY^|DsQE-S~g8AG*kMjL(f;pw9yRKi~ga ztlK}=|60ud!u!Mp-=iSt`k=VxWE zuf0g#N3gyW^yQ%I#{Y|b^%?Awy7B);guCBdET3IiUjn*r{J+>gb>sgHbF6;d_940&DUx)TTJ6wrRqfkt)X|9M~i_trnvjsNHSH?IHq@0@?KZv6lM z_4z0H+^!q{FP=N<#{Y}^gu3zn;(VwZ|6e!$zi#}$xc{je|8M-K$N$qW??3)mImI4} zy2`^Nfeqt#`|luk^Wi^ze5uW1rhd2sY%15d;_$YU%N@+i)8C=;xA$w!nGZZuw??}kX1P4?LZvMCQ28HX zJ_L36jS?z<;bE4~^DY$9^1R)LD90N2t!r)7{ zMq^hV-tp!0xHT=$+o|WP&yTQ);>P_O<&?>C^n6vh`n(IRr)`aH|Lf(M$DbQ<{Ioo7 zm&#w2r_Z}kPVvPhhqoX3xRq$->G`X2)w~G2Zu}R!jOHgf%yM}<_i5#-{8f4SybEPi zUe;BIx1D@F7)Q(VdLJr(qvwS|z z<7oYH`)kXe(+~AmH~#-$pV7Z={C{n8{MU{DuYK-+9RJUiMEvJ963l)8BhC5$`=)LW zI!(6Q|9Sks-Tv<=H5dDXf6Vuxc}07ssZ&4)LCY~t=2&_;AD5}+7$3!v59!W^T+iO3wV-E%o(KAR&}tknuY-Eu z2WvI=KI>Z`9_O%7?_%H>H9tS=B@n;V)K2sI`4IRIgMI`w&U5h?_^Uy$1-%aRdeAuk zg&G6E>-I9lsCSF7zZv}3L92HPa173!u^nRG1^piAk3oL|TJ=lfJU<6ty`O@8)mF@U z55#;AdLQUtK>rH*0O*6D9ne=;jkn>l)VoetCqs-6bO3Y&v>H>v%c`->taIi3&#YBH zZ`Mb{vZ`+d`;Ea@WI=Y4+2= z_ks3tjW{Ip*y+(8q&r0lFpVe4)*CI|=+Ypxc5z8FV|)r+{t` z`c%*bpgV!?3c5S!9-w=I?qzAG(Z|yC-dfNDK@R~v4D@i&BS05{J{$B{(BnX#3wi?R ziJ+%|z7+K3psxU30{SY@GeE1pb$kw73;t}-YW^mUxfy&lww(PX;NK5=1?Y!CKLJ|3 z?}PJs8vM1Op8@?W=nBvqKtB&!&AY+*zX<*&Q#;Lb{$=oA0sRK(O3-hDehc(g(C>iW z4*EUNRiHls{Tb*lL4OTey&s3S>pSp&0R1EApFsZ%dLQUtK<@{A5VY!J#pOEXb(?hp z=p@j|pi@DseptM05PbC>H1@N>&jFna`UucRf{sbe*I3p5&l<;~^n~kwZ@BiJ2D(4! zvp|mmeKzRPpw9t49`q#8lR;ky`XbPmg1#KInlqobOU;?j`YMQ-1zNRxbIc9k-w65^ z&}#fY$E)%DtnY!CC7{(4D%fc_1%dZ#_-gYU6-%el4L$M@2!xz^cN^Q*H~ z@2F?3-ciq5&AZN8&8f~>&7;m*y^Ef;nme7fdM`a|^qO#T;a#rO)&4hcvr9p<~S#2oC7s67X}!+h_an1kH`bFlLf zvfo9_d1lFLxH-QM=v>hCKsNw=4Cp4Hn}I$7^ogKbf$jjhBk0bcyMgWv`gG8Rp!8p+G)IRX~Xys^hcm~f&Luy7ohim{s#27puY#b7xb^7e*^tHXt%td;d9jk z+6&qTIvuo{SCN;^0AIZ)k^KhXHwN7VbW_mHK&v@VIiGy+PXgT*^vR$*gYFKxC+J?F zPXk>Dx-aPdpof7T4tk8Ko#uReW5GWM^hD4XgT4gxWuT{nz5?{spl5=<2J{@zb3tDR z`bN<6LEj4ccF=c#z7OWpm%`&0Q5(o zKLz~-=&wP41NsNhKZ5>Aj{o5Ec0c&PgEr*79LG38CxT7_odQ~o(cxv&z)uIQ<{ID_ zHD4`jHD4|3BOv}r&@s^UKsN;42=ob{^FX%(-5PXT&^WK3nkSUkts}(9IYZ6wR9ETq zoyeh|zr^@|j`?Svzns>)&v+f`p1(v}K#k|Ge`*$i|B<%_B-1+py!Z})0(#p)L-URI zE^`+9DsvwDb$&7WeV#d+{WzM>zK~|LZ%uRB$LJjl9`n5dyVAF(Z%(hE_ayKf_oXz; z{ZyLgzKCYJ?@sS%;Cc76XvTlTocDew&3wPnx0>FjP)6@=m`$_b7yCxjO!&Qh1@tC| zhQ3^%-+Z6Lp0uj81)kZS>7HWGXwP6zZ%=`zrRQIrivZt5@OQsupxkvh?-Q7iP?XR= zp?gBRgugQXe?#Ztz5$@ZSY(tM{FaMSdM^aO=fc7DOb(AB+WEZ%{8wqV{}&_&f2}E~`H1V?j3reFEqcLAL?*@Gj=zBpg1ARZ}2S7gvdIjim(2s+D0`yAI zYd}8(`dQEwpq~T%ywGOd&qnay0R1NDEuh~4y%Y5Npg#m%1$r0g-Jrh(T@Cs>(0eWI zFn+eQVf+RwjJSlQ{1G>G~(WUs7{UvhD--IknCI z&oO7n7{31W1>Fzy0MG+L50aYm84P*|#0&-hOwhw1W;o~(5K{ztB~zpqf}R2TYN>hO&IJD&(APrD zZ1CrRf1RZr#ym?K#`O?i3jR%?=R?fR;4c9GHqZ+p=63M!0DULKECPKO#4HBC4D`LA zmx8`eYTmcYz`q~#a)@~l^g|G{0{llnKMpZZfd3@uRiK}O_|@P)4gMO?YawPG_|Jg9 z9{gv)uK<4o=;tA3qp8L9{{@J75%f!-Uk3du=*?2|etr%7*FnDl`Ynim8~iQcZw3Dy z@VA5iF6j3_?*#q6)VyvVfc_BlM-cxp=ubd@3i@-YInUkTe+haI#C!v~8uWLdzX$z; z)chUa3;IXUKY{*PYF?jx;Qs>tuizg9{d;5k{@;-OakyNk)SRaabRxtgf%bs*f>v`Y za6T#Er-Jr@PM4bF1K>wMXF`m6KLy8ULrf0Dj z-5GQjp=s|N@-N1<$Mm=TDKS2j^-6CM|1a*3BV#46nq8;pY0;=&wbdLB78gi{!+74b zYkxC0RamdL%d2hqf7&adZBy$|%X|&L^VgIA>~a3$ec(2Wc@?^^-WqNFtjMdx)lw`J z|F1X*n$P3hW3)WmdcKF6PoaY1r~Y|)T1f(VoOG!y?@;+4YCeV5Pj8Ku{~P6cXn9_X zL*;L8f6e(CR?~8^ia*`IVgt2*dA^1cS?;0oKh!)5DyzITH2(fD%jfwT3|gN4bsVZ3 zH6C1_Poa#Kt2oSZx&Pl(QLZ%}Ue8~ZtLAI)tlb*jcbMhzdAwUIPvxu6t1y+yDR}Pi zjwhE>NXygz3_V}9J!(D$j^V%E6uw=*hT+_>D_j-YMDM9D z2~DAQ)eob0sUHYd2X~pRlT(A;gGO*~pfa#JP!^a@?~NZE=xw%5`vWd|gZxtYUiCt1 zg%107nJv$%-MKrpGIP6fF|;TDo%8+wkF?Z#yLVyxBvx2F?-GQBfje!+`1%cUt;y?lQW!UH6WA$QK=%42wM|~H#=Yr_Bu$_7=sGbUT zKZU)%-9EdQ0{2kh{t0%k1i#zm-sjrms&Z{{ZE~%1{X6ad|5L61n~e%%rLo-X12EGt z$NxJ-`@h%NL*H$O;WpfKMQ|8z8LzhL;aHS9Fz7N_wEyRk4p7__)&B2^5&iLB{+FU2 z(_uu66O9(sVIa?FZRGE%)lCr3CR%K-THQ-(b!9DzmP0?$#vt65#!2*FzL76`OKa}- zT4Ud>)s_8XwH%Uh+pN-Le^D(~wytZg?Dwa+viF+i$~H{Rl{I6UJ6LT+n2tq0?S)oG zzU;^CFu;@JvTAs;k8Ta`B((s_izXb0uH4`qy;Z`c%GQ^Gd@mF#HI|iQ zHfngXZMcS)ptc9fkp0DK#O12BhPZCEcsJYY$7eVn(flmC49mN*7VmUBKP&E3m0!gC zesX?v#^P}U;)`*qu27Js_S(LA=;n&!-<(Mat17APQ^__${Sni{>x@&87CtztRhqhkaVs=~e z{eT=BZLfprzFuo=OT9ERR`%A@a=1_B5T@hShRUMz>&IHW8&sYU_i`#XGkaPxiyCk>5?V z#JyRI*HqtLDp$5WVt#GIYC9t4apSw2Hb(yawYsUQoEouh$u;lpYqr?Am zBL~@f%-;h(Vq(qO%6@dh71voh)9T~;D!1)PwYmA<;X0_;{2yv{FT)(nbDHnp6KZY`+%_wAIp*7jw$8j#RoCjy#Wk~HQ!ro4J*HMy_Q@4%CaxWH&CjeE%U2X~ zkF(bypPW|oO{QPurnS1~Sgr$N<>+`WttI^@w@tPQvwI@B^4UqY{PG!T{nFo})=OPU z=*(TDJkHa)-ph7fURwQ@<;(V6E{Egfee~V9yg25xt+H)b#9DWXvSnA~DzCJ%C6^=N zj%KBuD?F3R7FUrgua|jj*VP&;TV6R9woA0B(wC~nZ?tSt)$)~N`D?7LY(HgBTg2|b-`v*WCLRoQkb*2ns#+o2+9Pdj+;nRnE(4b_e{x4ufnLg}(4 zl1sOay=;Z#rS0#0zHE0Cu66$Yrt++Dq<>c~Z zpVyxDjcl>3v6p4brSL?q`Lab)tf{(Y<;!^n*oAXn&Nv{pUp^JcRz|VBb+wRl5U{Jx zb6O|a@>pY?WUFJ1JY}mPFAe9eY(L~k^?R5v+YxP#&KubdD9X0>lAOUnltatY@z0m7 zf!eyCD%$X@NWPlLwm3b?^)9J4`xXm24KY(hGI}pcW z+oF}BZDyVF)Cb%-9P>JT7Sa3fcJ*``TTXMzmc0MR-q!$TRa|M``{vF6FNlB<@vTxt z3mAS4YBl@^4G{|C>IR+_lEcs+x-Cw;{%|w!+IFJk)sOyA zi%R>YKBV4jmq5SO|9S7u@q5d64zWDy5BGTG4OV~HhH`t~MY+{T&&m&0e|Qk-D#r{B zztkUgd*ufBP1jHMrPm{@e40n@E#Ew5?+N@KZ2MAwScUXV+gCZN4+`t|dXR445bI4n z)K0J5zVcUp)$>)4+FM?B($MfsIv$VotYUPh z(>*{sH(c&$@Me~)^3fFMEHfWF3)0<8{GFXvvN%}&H?qFr!E- z&eU{MhnQcNm*3P-egfYN1R1D;7Oanl^UFs)9N&WPo~ zXPa_1IO~x6d}jq**Wqg!N^F6v)w$M`NEqlh3BQX>tQ&&j{jY5I&EoXG7mIflUs?80 z@wVdIikpisFP>XGsW>rw{;<)-iQ?Ca_7-&)Jy3LWQO>aWWlM|BD>|*Htmy5+{e{mI zJ~?b`S!d~%(hE!OFYGA1sj#uIuCS_bLgDDbWMOZ?3kAChx`uTYY$<3fXeg*HIIm!Q z!H5E&LWo@OqOJ2+0m;YpbSN^vA&H1hQ_4zN9UYI{Ee{6nUeqLEY$qRYk&+E#& zC-2t0eZw9qn^AgI$$FeDFgtHT-pD*B@73IAbFUn>t*oZ>-jc_2x98rOdsFVUxwW}( zl(m+empeXpM6Q!Ndid+Zrj*Snc`avO&XYM^IoonJ=d|Y3=hWm>=G-&v#gbECBk@*t zPxkKYhqLd6WkgH%mD%&NE3$7JHf7kZ(lOb2*>A#b;EmEplAXz2We=C!o@`BCm0Vd` zP+Fawk{pxFN%m$vpY>!`OWEdt#tt+LiX{QCJ`XxG^H&9-x>#JU6^ zaAp+8`g*4$NWOmD>to}tvP;vr=M>s_khM}+33#UtOTNDEk7DEgB-Z!!Sl=l&WPZLg zY{-1y^J9Ili1l3=>-*6F24a`?1<-3($NDzK`g$iK6AxAn!-85^zMErxJI*ln|Dhbd z6dQL(tnVAPFV~~E9y#MnL5;bR=lQO+ePxBN!Z~NS)@_7YwKMuxZ{IxEnHbObZHS52 z9^-dMjNjcce)q-r{Y{MD<1v1_WBi6ICM=jQit)Q9#_um;{QfS+Z+DDekz&;<_qZ6p z<750r%l?lvJbxr6UR{izx5q9m?dM|R-JFiADUc>-JR0LyonAK+@6XfoGkzy(+L4Af zNFV4sD`I`GjrH|TZzR<-wU@)e*tk^+Ra)Fn#`=Ca*7w0!U+*N65DebAA0gk<6$@!F ztc&&iq}GDez;$Tw=dZ;0d8a$Nt`+ZUh1Bv}8{^j<<99H|Zzi%2 zn~$>#VtucU^}Qw5_l{WKk#@VCjgiTWO{rMl8L_?>#`@O8`mT-j{c5bQch0J`rVp8S zx-$`+?^qvaHVod$V2PST4O3 z>-)EwgT;NnrGAtcIqp@s7$3USmocdg#t8lQ>X$a=JQDa?bGd&Cd@Zi^g!)?LKdpY8 zajBF)u^eP6TV z`n|#1w4FoT3PSB2&<&?oW*#fPuzN5-o@$bd9t23ebDQPwa6zQMPj{ky1kw# z>z#wouhYv9>z$GOm}lRsoq`{($L3l1=|z5YPd#g@4IajS6F;*4oLZW`4$O7R&v4s{E=LWN4_7TWIV+KC z6Y}QjCf72_TceNC7Zo{5Ulq&tmeV~@K3q>-VODJk|4NkEg1V(Ynm_d=ntuoKr~5F| zJ165W`lLV?YNHhm)pD(V#zX_*X08DW$m~{!S^=dxUk1G7N$cOH5x~>(_Q(huE zv0eWrb{_wZc;5k06n!k=yn4mq*?BmZN*=7$;o5nOM!AN-nJDxOWaqK`%AmYZ(qqE8 z9r#v24#Um^Z5eCl;Wh)W^&gkK25Sev_OABYCD5DoZ|89U@jHiD9`&m`z48WY=TUzd z><->VxfMuHd=J*nqX+3yR}BrnwDZ{Rl^fu9aCRQcm+via?z{ZHx(BQ3(9UB#((`+; zb{@NsuDkDYnPs03`CzA4uIiD)b|mVrb{-WUgB{Nh%Of3^Aw2;K=Nq=i=tR8AtB2N} zET_#YC!DXA8@BT(yBz&xh~*jkhfuvVf3G|@Y=^NK<<-^?t$s%TkMuSk!})7H)eeJk z`5Z*LokJ{__1qIGSM%5M!gd~QSL`i6IK=YEhpLdCaQBtJ`uAmjaS-V%Fg7xe!SY?& zd31-$@2ebzBhC(^ZN<>+zu3-I-uT#G{;bZaY_;Y5%L-Wyx>OE~KY>fOHZ0-T|*fxo)mk!cgrfs*#U3?@6)(#zy`^^-w->K1t}8yjczp5j;zLEhDB4r>Xi;0yJ!MU$lS)?>)fCMr zN);6py;=BT;jY4m3bz&BR@hv4dEwl`Nrjh}CCXkay#+T6BuZzOj4n(RzE-fepu6CK zg1ZWCE@&)R3LAmb3d#!J&flN^O#aUN`|`KsUk}Rwu?yH&l9&HRUSJmhdw|mACHsmm z&zqk&C2wqALEc-rFXuj!yQ6eu$P!r)8(Ii*Sm-{^TB< zAh11oSMmwmi11qR+T`f6TT1GZ=O-tXjZY3w9?JSf)}E|Kv+mEjBdaZIWmZkrjI2~v zLDrjz7hwnRP-1RbQ^{?K=EUWRxrs@M(TN1C0Kygk&1Dlx)CwS?|Nm5u^IOn?>lAy` z@MWX_zk5VQK@KDY3JK(S_4rVFVZ?rg2S&g{Ug4B(aU5?w%6C6-rkwq$;oeRS6JCb+ zJFIZJzZr5rXt{?W+*{i+>FM@XwS2d?qGjB}5&n>sp6-7LxxGCie*AA+;m0Gsw-#o? z>Ha^V@ST=>B*OKaKh~FSJ?l^1|7gV@g>Y}*iOHXCZ2!-zoxqoQ6PeOce|BK0=?x#ZG z-ddpvAB%8rZ;bDL#){AIf3@5v!|m;xG4bjCw@~Itk9{3a9&J<97XUZ)McDPe=HED?Z&n54nF4a(k<&CjFU+uV*8&zI4B0#i#pK z%l#3!|1;$FR$5Jd4F8oCJ^^lT&DDg{{a>N*-jMshE%!vk_ts}kdb)od3V+jbPeSoxh)t>-ZkA9Q=GzJB;`t@Kk6ekkPrUC8}=%RLqG-wCee$M>8?b$o(rjN zJsVQpdOjrGGZA0Uh*Y=U5vy)JH&Wetb|l^BAidrrt8P6{Qr&vDEZyfKzTPjZZoOkx z-FnX~-RB{`o=K^0J(p75dN!rH^?XXYFF<;|t5)55W~I9I+)BEu5MS@JRkxmHsct>b zlI~fEpR(GMZf}Q~X+OG8G2znwbbIUlCVV#B_e>mjUGcZ}+9E9sRnCjNEFx7pA zm3}_r>-m@rr(4g+RQH5Xd_6al;R_I7@90&xo~5a7Jx`PFYQ)zwHPx->YN}h$)}(tO z;_LaE>ee$h)vf1js$0+6r29go_p~1dpLBaW?|iqO$I1AM5Uyu(s$0+HRJWeZN%vyJ z_w*!hdwA`H$Qrv%%=uO7nx7hA|2;(eEGg;|sHJs0d?dG>4A8$T&wymg< z`PAU^JK*I9JyKeJ0$-)upC%~|zRD&azDgTDskQu%bP@bCBOP(02JqA;{R=DF&%=De zcJn)tkLr`+(sMoV8t8X6L36PNx}GNJF*Z6WqfJT~&CdpeuZt~}_2oVal8)*%#$UIW zmI|Pw!^?MyGXbTwpnTfvH{dq~`r80a%5_Ggat;0uKU(fMtK3eMOZVaCR|74L?qTXH z|2!*yXT8w}x^d}<_rCN?GmOrxLN@h=3etKMSmiXL9J<5lxc*7qQh)d;vhwLdK6HoE zZU57~<)fQr9qoXdWA+jM81eoEMDoN{3Fo#Iho@hv_wqo}!`3ggZ5X0GMIk{fG-D{UX|IxpGsrpY)R@>0Z;~K|krpGf_{Zcp5 zRlbXIJG^oSt6!>W*<0Q|#B!lua`TX$^$qYlIQ`O2q~9~d@~L0i?3F)Q{nGf2(5u}r zw01T!4brpTx_&*7eyIcTYlm1K>9{#mp6ac_dLXBDZ~4}DQO-WEoN&HcPu2gh?s(j0 zly`85{;= z=7ZDMz*=gF0G!tTaq`=E@OH{?p>%20rMwv4M_i9|ESEATA8)=f==sogKuocHpC}h6!Dw~UBQEL`gxd7cplV^d~_ZZ zmwrBG15KFcr0^?Nb=PA5X9_!rXWJziFtpv-?{(gj0`H=GpnSfEGH5Bb8q$2Lk?2!s z>uGiw{%|ITM{qz&{PR;>lWZ zkJf|Zg4UxJypHa0`en{1fFGXjus)KN=3~RZ75UH|PS^Gq;N^cN{CsD=%yaf4-m@Tr z&6wkCZ#cYpPPLZ@fq@;JX@7p(4?XSsR_bpW`aGxm(*m=d|FQJl>y1%_>D|n8b^@=v zZXIyEjjcN6!w#=qf^nn&c}~U6;5(lgT6vT&9Hhtp?qKIR+mWv7U6k7<4 zUQwUrrl8w*3VQQ<^7rI-W9NToen)e`j7t zUVC11UVUC|UR7R2UMjB)d;fcLdvf>WcIS5GcII~Ew&ylO%U_#Ym0OXU$}Pjb|K6OQ zoIN?+(DirbbmX+>G-JGy zi=F=!(Ds*QIoSE%lh~8!PIO`Ce@CJn8vlCi{I5z>BvOeo?EUX`d)z(P`QPPsx*cx2 z+w9i6wQiML;ijQ z; zwtWEg(f=00uWcVdeYtHPK=^I@0H(L?1DL;UA3*)GZ682=wQV23^tOEf^=Yk`XB0VZTkS~`@}v#?02Ytx9tO{|FrD`2%l{q z!1~+v0n~Tf_5m#4whv%>+diNQZreV9>23P}!fV?HFuiRbKzg(71L(Hx16aOoAHe+n z+rlsP-?n`K%eUA8p$Q5TC!b;JW~B z+dhE#+x7v}f7|u}gwM7QV0^I$koG6O6PEsu@ojqm*2lI7V0zmgfaTft0EExB2Vj1- zJpjXPdjQtgwg;fw*8dYeTmQcZZd?D){$lI@nZK?7XSl8ZUjVnQ|7Uz#|4)6mt^cQf z+SdQmZR`J;zpejg|FQM|blduWrnmL~OmFM|S-!3RXM9`#PyMv5|7U${{XX^0r&#St z{kN^(XSnG1rTtmHt9woh&}=2>PwZ_X{Lgx-%cw^h!KMx)n+ z8E*8^c^vm^=zOpq`Ow{0`t5gP-TZcu-)o1`!kzAACwoQI(ELgIZyVUcQc>c47|48DS7p?eyT;K z{c=86@3qU}&gYyh*#9uZ@+h0{@yZ+Ie9mn{xxMeA+-js}H>_9cKzRtM`S<@2ebzBTlc>HpKGT&da^=vA_I@pMjpL zve7qjr9yL{v04nOs*b6j%3lQtQ~9e0 z>FFLIT|{p+8oZh1s+}5jLPOCD)gvDxM|$TiNIsJXt*_dSe5n6|ekpQ}?qp~x25Y}} z(9dsjn*Iw#_z&K3~AJJQ7`7zs&4@6w2uk`GX>tUxy z?bRCSO{i6({)Cz<`Zd6JJ+w_x>NMwA82dfUlzlolfb!@bY`(KmYKzfr(Sq;>l)nJ5 zw0N2vS`_k*niT%1XJ|J8$s(j88B33SilN7IwOG<_%1)2;Cj z{0+vHtunS$m&<%=2n`ApfDuuuN0Lu+TsV+Xu)`^sPabzakk^6H0J9_e^F(zBl7e8cma1Bkc%U6j-9 zl@rca%hmY|Vd1lU8|)MAi{LSh|4Yp1|C~ouAU#9E`KvoTpV@=>o1^7LGmr6MyLE=j z3+J!p>U>7CsroY3Glp0$>p2?fnO8V}b%*CO-H2bou?f#$`5yVu=1_Uz{I%S^<}p|GS{|uQFBuozVMt z<o zPVOGq0MzDmWv6m#vn!GvunFkMuFBaXx_{UN^icZ`yMS(30#v{PpbJ|5vh2?6+GH)Y z`Ow7oz#^bNk;?9bEkG|U0(xly0Na47WGA%$%~`2rJ1hVkSO#=w?V;`;wgBykimc{D zgjoaw#C=>E%~@$Yb|U>(o_D}Y{D1+=@}PAAXtclS8$ zqW>oc!228XbB>dbZ`V1~=>L<>_LK9B8|o2+KaFpQTmIt<^}bK^11EetH$nhkfce{8 zyvzI?-ukS>9*)I$KEH*VIqo|o`GT9~L>$kvvY^D6@S}tUxG;XJl9Tc@!*_cBg$BT zQ{h%(X7LtE)i|2~*G9biF|(n*A%(w6NZOl_dX@8Yz%dc~Zl=SJ)^$_h4y?)u^Gyb3 z&X8x}^bkFx;eS00AMauK5ZqaSb$q34yb_qNbZ&L-#$Tti1MqP6l>&^-_&eRqankoQ z$!;pf+XQU$RuY~pCU=7H%s$<772E~L5lVOZ5Y|5ftV_+VJl;*?8tg&+8GD-AR&3{~Ky zQ`q=1C+0vay_9pI31>}s1Itpl<%Y~kv;b`bd1j!T(s!e&E$ehM>U1&YD%@*$kxw&k zdv&7u3m@X&#qYBxOA879>(LYM#NRgO0V|J*XyaA`bsgZbaVBE#@siFD= z;&Fbw3Vwq9vq8c3DSm|XlYsOxz*&PfyU5Xbc^ssql)M_ktJJ;Hxe2{-3)|)Amaa=yL12BG*E6eLU{5bd)YetAKdXe-}o^#@46w3?SL_`H&$v^ z7-@XLC*e`Z{_Et_62WF8ut^xVp%3Z*}r9J~Tq& zqj2`F7q`IK4lF*1Khp9X)Lr&0l1GqMuLDlF_CYu4mOUs1{E-`6Z`^ZC%eEjMsU!vN z#=qIXH~EL~$XN*G+QdfCgWRIP+kk|_v>L3hNU$EapdP%H^HOlVS$)Ef;xpRAxx)Iend&L5H-X1>fipku zJc&HW>4+N{CsN3bv`G#?8H{Iyvfl~sYBl|yZPSQYY!71i8WT?JFGXujLJk`c(ux`h zEiZvTZ_FaC&jf`K$E?GxrVjH!HOufP<43d(zeAlk!rb~ZpT2?b_0CmgH)vMnchfw zwpD}A7>d!8s?>Zv+zO<8(n{?MY#ZewO{l@w@%Ioc5eY{#aQ3Pht67f*=M}(8&dxTF zaVDU8t^?K~RPM&&$izDYrki$Qt1u?R)*$6X@OGSVjX#dEO`!WVDD67a0=EJFYSfM6 zWiSR2<9uiy$EO6pE`DEo!Z0~2>Oe{iMw~xK4Hf|U8uZz@em@A;0F2PIz_S&84Iops z8R#EDKiHMvs-|G=S022?RSMW5_u*K>e)4PJjbq^o{H{c})Qo+Fb!JbYl=I*Cl{O(K zA}-j9@HfZY zcW1zhftGY%N1H-CLO1Qsz2H4NK{dM!CR>3wVqRoI@<+iY&)XF#Y=OZ(ambZr-fGQT zm&s8%_OidT*Um-gB*4^!mf7U|30}sR-^GXcBFoc?d=sMvD=mm7;s(Qih}R1d!tt~jb)0B8 zq116Y#?~p$>;&7U4dHrH0{JHAMeMCnzWJAcIyhlnk8dEI@SzzoACA7ndG(8h#w`-h zTJTMo$vuQT`aAWTxQ;)oTezUmT5!5{aCUVR&vyXgK(=uWJb*3+Vusc29HtN-1=;3v zfR*!3(Q^vDMq$kb?1Z)H$6QwpXyPW|_f~Y_dyof5A<{0jW{P>sx^OlHTT?<=59p$h)1FAyK~JBwfvevuR429F_DO7Fi<@nT_~n zAD}c$tuArFmg4%sDuV+`qD@$3lG#_vITih8I%+u6v~rEtT7p4JKC2O5WFU@n0N7P1?ZGIPUa2Z;>#$dvgDjMEuH27i4D?b(D{JntL;^(NeEk0!W& zM9GB|#`PR>D~@yF*5q1QTx&`^N~SV*;%XM6pj%~^E;#>1>U?5o2(AErNfUAlO+xD2usbu7QAJ;Sz;g!U{HZ7$yBOQbC zycQbg{gUb!cIb=t>fEt0GumqU4Jm~(dS5lrvFf~^`lBdltrer^cJTd2!1pgREi2S8 z2d%xq@PZc56Xg@J4UrWMw);%@PsGa}!rPi{-mwfEWEp6SGbNGvF9Y3@b1?QaYhL|D z1H1Nlm9N6sS3ci6ialTF7l+;F0lVMl6YpQ2zsJ;trwv?g^?8oAd~|h;6wfw#GhxdN zq@=s>$2IB8fO)PQa@8<}yjD1C@!kmT!_{$)n_NNUe28;Zu7XmgsYE)q(niEwVSFju zOhg|g&Sga;7+=2xSjoxefnw%@4&+f-KkUJ*G;`=$*F=!s*=p9#JHc-sK_1N*U#XWM zf8YwsD~7|!IbfVa3)keTg*`Lkh``x{@E6A7ih;O;+n2&KplyJ9DPUfJzd1fvB^Tv$ zn)j>J(w^)0Rm^~zF+x1zJd)^!d_#`D8h?bEck#$Pl(U94nAK1+Sc96$y0eV{J@sO4dY#+v&2HaD^tU&K14K_id;#l`(gMV_JI@Cq5i!DK+ns6PR z6hC*gtosT6uf^JVC;q5&k(DfBow69Yx{UX&fP$+-G6r(}i>uS?@Fz1;IlX{2;Js+9 ztE^;Fj#fR^ZhZ0sMYmGrLw#z6C?ywJj{VIaeRSHl1F zzuPb#`PG$9KpV*G!rP)$z*#24p8lKV`2X0H*T0IIP#-i8e}TMi;oU$^+92MOg+AWF zd#=TLy2@@BgMwG#kFqFd2VDPKkI`iXI4b7{lx3wyioQ#F?s}&OluDh}M#E*Ovzl!B z2Kys93pwWo_|ztN1KTvv{Mm*#Qfd#&Zuh0tMR_B6A)nK|UtKGG>|CKTkwcGYT>$$) zb@?0Ar4EwgQv833p(55Ht}djoF@M2Oong0t&uquvLzqw18D2o`7C8rJbmSxC8iB@O z724=}(>ffZW})pUOHi5?J~q4|h=Ft7FHGU3${y zG0&ek?+QgciC9?FdLYo-oM&?fVokNIOQ zsh-c7-Y=yZ*5TPXuJM-!(pb^+9r-G@2^b_pr7p1_%ljF9Y;vKGVseko>~vYtNK zNSqC(Pd8u$P9@>EJonL+;%H-Pq%h1~}8D zoJy!BLK>pS$5oV09`FXGwqzm>mu_vc&v(fZVncZ{k zLe{S-+jIS0v}TkU$Yojkg+7Jp41j%~e3t!wv7sui4p8FR2>FU(44Gym{fa*3h1*eA z>Y$c@AJzGEMX8w2N4#I{8~5MpOUY=pwOFH~K4A~6A!ea8$~){2DU?gg46goBW?7H+ zVCV+OJCv3Q*>(7Woa3?&wW60X9#c~GVNa4d&JAYNX)=9II2`*F>qiW>A#@2w4$9jX z!akg~+HAkSMV&4MMDy`C&+qSACvJAGNyLg7k^=nr%?R%@X6r52MlXk1%>|8*2=!fb`w*DlO(G3#)t zy`k-sY7iQrPo4!AH8`~QSKSTe4fb4mgId1MtRm$b*$AnsRzFNl<10SXW< z&2*#<9@`RFS4q#sf~!XpJQ#xy4?G|r?H)VIxP^}%E$b>CEfY{oUoaEjq~{$XmU>#h zV`EK(hvCSYP91oSuD=261lUombM#{E>POkDPaPN&dhquubT+fl+T?I`hA!5k^*J`^ zEKhizNTe!{a>bmyhsO8Ai9id3=+ zTu}6#GIv~$I*5OGNE>fOnWeiH6AJgg|t_7hq@;hJz} z#IV$K6YQ`5(^kP~`;iCd+~lOc!WUq3MPA}aM){S{y`S3tzehdhqb*2_7lEJ36RroX zcvz2yiT=C@Ez$_BCv7Y51MgD&aQ?m?k_Kx;T(UL9rc&nm^yf%U3TuS~&QXGL^&!Nh z9Ldy_rua?=b{L=hkUDr$5D$S0ZdTKNqZX??7KIP-&VJK$HF;LRX^+003lFUlTT9j= z3_tWnM6=P~5%Q|zZ1|g<+aP=233;juc~Ewuj!Q6VYf~sqtV0MT2YwT$v`(ddTyVM` ztM_apt`70!c&<6KkKbr=W81LZh;JUMMHyD?Sk<~q@jc1IH&>wvc>QO^yh}!hBW=g} zZNN(HJvmIBPs?FgX~9C;IB$->W`($o!0P?rEzdwwT?oom90+G6r<9c{_E+6=DAJsa zujH2OtDgWCNyVgcu6K&OM(l6&@+Ak_02zwms;8_4hB-oGwacxA*2{B_Srib*6^|~i=ub7pm&N~akMNdc)(hqFH>3%L$7`H&}@7DGo-b1;QRg3m+^48 z1<0NH-Wr2#AlyjI{MDAwm9WlJeLe}=x)HSXbnDq8@=oxAq0C#}uzGuy>PZKKxU=9`(+VwCMgvK+2f_<%3!NY&i@m zF-}PD|C()+bE``$OzHrhMIM|}QL`eejMM{A>KDB=Z3M`R=*!W7GfndFHIQVuvQPTj z1d5`TOjooh*>EOFxrs6&WjGm~Sq`-!)PBY310F-2qT_(-j3}}3q28D+GdC&ib9Bam ze*&z5g^^Nx7*^V782pd_sDT}@qOZz~=Ezx3KMq&}jS*(HE`bTdsyuSSKc&k9Mq^~C zCD8D2>?Tcc4d+N|jJ{(iWErSr9w<<`eYhsHOky3LtYbY@GP@S*3)C*&2R=F5v!5ni ziX5p{h+HQjm5auf6wJBI9MqOJR2+vn3#R14|EW17=bR4Ng=@>Q64LF_v8>6dysK8~ zr+IX&+_2&}TShn{YjQ5zjO#-Kt;z9t&_#ypFF@TC-&zwMn8=5eLz1fe9RF8*w_)v* z_KIJ}m?YdlMiI_9IL2^}N7;L$!FK~j9%?RHG3Tc4gOWXGCR~*w2cf;@8uT1;sntfF zq*d%plS8`n{sdr-u0w@kRvKwP&F10n|2oun(E5r7Fv~wF{=(zlGYWPG zqTnY1WmJP0hLSjB4R(Cq=EO%{gZMpzQ(XfW?iJYcD^6(}OgQ&k;g5yj#Yd#SftC-i zzkMGy2}X74O@TdprAHkc0a?rKD{Shx)$FY}tWn)PlB4<$P^VxvD(k92o#uOWqHM)F zjrg|RACJatlt&a({+Vq=1=&U$r<7`@Z-gIy`drgD0XwIYKI35pC4zvkj46Bxk_AJD3$GusG zutXMl53~t@_`TOA@F3_w8>H*?YTv)WYYoa*tju|{eX2p9{zKCSJ%zdkR)V_zp>>^U z)s^j+J|+ywO3TEdgkR7Cy3xsQO)+*9Kx>Ud(!r2S=Z*Vn)GZtEaO+_!EbvtA0 zsvf{O?1%kg`~`Bh16LfGvsijl;-}qbGo(GS!q7}pRXEpU-q6m2;Q13)KBwcCqjKkQ#DkF?O%MJcSpV`c z`oMl)=ZJ9_V1McToWC}Om9>8D_t8&&2C6^S?Du)tKBdM>Fy7ao73Iy zOhG>ILT{;YOB)_*c3-^AAz01pt1e29MaLsL9@GW>@5rv^@tTSGrr#_CJ*xy4#`l)g!)24{uD&+(=Nh0NN6`op3wi_iE(FDnifct!v|54WFI?61}PG;gy_7Vjv z@w|Y9_I69q9>FOCA=q8jeve68{a6p(A1&7IhE>=cPz`m~6Vc9;)MOQm(vR$PUxhMA zRn2IpV5NroC4qmvk;6D^>09r|%TZ{T$(_8lh60F3_D4P!c)#Sjq>i?mrC&(@Y_{~m zv_rWLP!L>;uTA?4f0J6- zXRA=E7rPa)Kja>=vjFcb)N+N{qps2fc^mm-x*ev}kvR}Mq>Y~daeI49UImEx zC@pWj+uqsT;;$M6HV(9$BKM`F!_^wGFs8)EwL9X`-bu0)zBeEitvon4p=`*Mee9!m z&oLJXMXhAQ@Sf&T%q{`n8*z>;E191H^Fd8i>I~Q9bgw3N)!H<3Y}MpN)P$Un)W6j5 z5Tc#yHhfh7MSBSHm#Vkf2Xx%I-q6s!7<(QxTu`_lwRU1_B;yJ>T*^7k6&>Fylr;&x zO{C}zm~&8*!M_?qL$qOP!RYlda7pf6;`&oC(!AvLRnc+?ECIB$JgA9xLc8TPdxhrM zT6OI~O#-PuT$3eUO^A1fO?%4LyZ-@6{b)Z=>UZs%ZOFZN4OnyqioKuDZ10yV>1@l* zdrmg~G7=AI1-$G2|2MzAtivOZkZHzCW$qrH2N)doK3copL%UzcTHFfg{=OKL?zF zEw1)Z@)kan2l(jddh4f7GH#J?jtyJfU!VrTJ`EXz0!(WSR4$);sy|9${_&o3OZVOE z)A%K75?DU;RTEk(F>L%L4OUwmY0C#*HyFUGbfX%P`5xWqh`Q^X)KP?$S0P6CL55)^ zjk6xx-tyRC_djwmqb`fu^(OFBgv&Gmq({^tjxU$Yesh{Dzh1w17A5_VoXH)RxOms`b^kiyK<5l$8tVlNIA~4Wvc7^88^7lv2>Cd zulLi0?K`=S#yKplon%kE z>}TLCk@GLEZ_qA|b6v6c@BbWG&L*R?US3)n$Ol>*-Jfx(M?akXvc<-|;h$DD)O7`y zbIZe7SK#%j!3wHNV!@-3>54ufV^~d(k7q!3WLHpmv1=Xp=RAzE!3sziQswkdf8A7s z^I1?tBYL2&+10^C?94{1(w3d;VAM}?<%m0~dA8Fk&;s|TQ7g$Fs#e%sfAUV)grA%@ z!4*-p^H%Fw&Z8z!+4=*$2LoQ6{dXl!b?PkoHpTyrY*g;xr zT9($VvOh=ouzfZ!Lw<&~mz||@{*dhEAtw?04W7U!T$$;~*LgY&*S@%8>F{@eQ%dKh z!$B`pDP8fdHB+wL{Si~q{`45``*qIr{{T|1UT{5TnLiS;*YR2I{nCz!)H7y*ze0*$ zxE}V%f9NN8v6k=VKAp<$z2)P75Vj+z8~eaXd&W!|bNh+Ul#eUF{e;Ixzd7o{QJ0VG zIDY?#$`R|2+c7*jeC@D@%ZkbhN~=olEZ$Z0`@+SAcNILHKPCT`yuG>QxeYm6vR_V) zOpeG}npkP+|3%M#j#Gs0;yNEO`~SB)iIc@1K=l6%6TZ&c38$B@zW*oH@+xfVPvj&Z zl>(I(RQJPQ(!!M|uve;7bfixL;x*l3Ke!N*lCB{ttQUH8t37PTKXBYoSes!}tah$E z&y2w?F08KHi9>(&5Dd8YWKyH)Mg^pTgZd!ycI@bh_m|QRpP;^ zw91Xi-}o%@erY{K%%;{z3&@CfEXi`b0zDZ0`l|=S@=hGf>UrGlNUlM=4LF0jq;laf zzBvk_!#HKPAFptNo{sdq_qTvmq@g*W5$RdM4x&YWX+Se8$_#6oFIX4aSPS|19_+*C zO0r5r+;>K8amE1qVbDbzJbMFz)9FX(TdGdx>JuX6i(?Q+bcWKK% zywpBe)l+Cy+q2lCWawUcp3u=lbs)MXuaboG zg3T3p(s>vDc0!}cGs`$vrap~!3@PNsU)tO@!Nq+{v>&8Ca~@vuVbKYS4Fqp*S>e3x z&F;hkg6E#5TR_nMVFt>IT0me>H8QE3?yItWxE?^h>7@rwF5)MsBsJ8z9qKjU+|K3r z>;kgD#$V|-44KmJp`Ya0JoO+jq zngsUc%I(56A!UnIm>rQ9T^JcjG4nh%cd3~PIs7*OgtTBkhb0p{qAig5er=uUT4Wd<2Jd)bDVStopg7aL`YP7OEVMvKj(sk=bTc&Nq ziFvo-k0<8Inb%x*l6C!R^lZ+>cq1QeV>tr~?&X{6RJuzL!n>PzHm2N%8NH8hIG|Ih zFR&yIL&sJpCA6MpuctTq7L5-g56-B>ewk+m@Lcp}ytDA?DH7ZtE;fszd6D?ks!atw zY8`lg1<#F$J3HbyKpWUsC~cBg@wv?V)mHDwvRA|2bNdS5mS?~Y?HtSzs7Y|!j&k8} zO=w@oTE6gUn<@_TwjGzNkhCe4S+LA{Cjr}}2eHZJ2?rb>c)JwGivDifIUW#4ZO+3G z&-WniuCXcQNZXu`1gya-p3cX0HF~*6Cxn%lpYYwANj@GIKGLgrqtaki{t$*$`R%U1 zJLPa;b$K$7y<)?=B5Cu^-Z``z8b<@x%fQ9t{spDlFsz&_l9$zd(!X^FeD7%AzizBf_{>_{p6~=R2P9_XdGhZZdaU z@Xm;xMo-KYb!vggWjPwNSL*(t@GfYM@jQ!_BfFlnM_uwP_-ig=p*_P`b}-&`X55uC z4Nn5x{%W7AG)}pg&y``C`7`ksydU}1zOiXk;tDWkb-TELq*#$#M}mHYEVE=q^oVKUUStW$=v z^wc_)x7Ggt;~r(PuIv%LFG-)r3ODL{^mGj1li=Mv*QpiQ(tY zCoCR)->A1nUN~~=@z0D%jkx8weZ!{=Zyxsjvf*WmOK&gfEgnvhDeV>0*J`hqqpFG^N5*46M3;PDdq$RkcmD10W`D`hqWW zoBqlZUyqIbbEl#n!G2p=m5kz?c6+R2_hqb&uC*S${kG!(bzmu?97OdBS9u&nvENx| zLw%$zMLrBzgL$UP~%*-p6x~sM(dYNkZ@*sb4kuPDVI=^p=}*waK>2y zn&rN6S_#OA)QY(XcZ>2?!RS8R(*b#~!lSYbA?0(mMK9z!qffFq%aOIW9-l@neL+e& zhLBb~C|nX!*ZWH?3F@>zfmhGi8Tcf?GfHy;~kdz^_H z1a?MB@0=y^S?T@KCW1Zp;WCxUNbg6|&gdh6llGHh5u-E{hLbR}6%IA=%WxRL8M@~I z{fm+x_q~gqvUkrz;{CekVFF+e*0_~Q!mukRUp~j@DWLcFc#Ru%kF&)eXpMU!YETPF zc@F-T__9v820DVK-$_T^v7DX09eL0?_!{6{Zc5NQT6lLCt^df?*e*@}Y>q2z%M5S4 z(O-3w+ePE;iuWAm?Qqhbw@AU^EN2q-x#RXULa&cqzAON%Ey3j%MipycIZQs8H?H2i`q28IbaJ zCh9Ae8SXuDLJ5UyfQ28@^cyPl>1?%>=y)x3q_Cai?Jv0J74 z6yQF(=hl%vrUH6dousCSG{8rpZ}G5BKZbRT(tUxHIGb^n%R{E0KZ~@oUjb+QB-m>y zm2E)Z7hisFgrA)6K|a9KEqF=|Z#|}lcmmQ)fkbw;$%#3Lj2Fjcc|Hbr%TSXT=oEM^ zi<}EI4Rs21OIj!0$*{_+lj=eb>~L8<-=av**gR6YrRjh+u%guYi9);4Y5~$uuy^<9 zu5gfcW*FKD-xa&?4ueid@k|%nVBF_z%0ITO=FUbqi zgWnwsUc{AH+BLI(aIE9aVw5K~AWY5=;w>EO;m4C#XfMhhL!B#sxyq*Qh42;Yf6j^6 zCY7j3pn-A?oQ^}T$>&<{S0(9&zt%S4oZvmuKqYDb`y}wh4d{_vQ|4(qJUR1h^l?xw&iGRw$26Yfwn?v zZIRdiRa>FGX6M=3ev~barncfdz)hP zX0>~y?ozXBVcFGzzpcYM%8*iG{XO7a@#R zJ#t_8_4wsI84Q_ge2peBA$OwA0hEE=gL2uvpnUqj4Pmf%fHIDT-NRhK%e8m8Cr;!d zSVDN%j9~RSwaO;ENBW+)c?P$qP&*-A`+`1mD|4uYF#UgX7 zMQ*{~V!@HZ();99-NOJ|*FVc|?cT1h`njDO*CrPux4_O-`mLW^!`1(4a$6z4wQr4I zsw)_6er{S*uFy!E*BBcIIeYWH!z3l1L1A)7f0%Tfs(W9)V51PMX^{4Bw}1F<^MxMb z*G|qDxd#5@@mAt+z0R?Rpl$!fNo&Wh9ov4=xRdsd**xa7F;|`VPB!Q=TO^Xu}q=Jw`H%4x`c zH0dN~WZj;4miqtnZeifb{FlK%1_K!kWH6AyKn4RD3}i5n!9WHB84P4FkikF(0~rit zFp$AO1_K!kWH6AyKn4RD3}i5n!9WHB84P4FkikF(0~ritFp$AO1_K!kWH6AyKn4RD z3}i5n!9WHB84P4FkikF(0~ritFp$AO1_K!kWH6AyKn4RD3}i5n!9WHB84P4FkikF( z0~ritFp$AO1_K!kWH6AyKn4RD3}i5n!9WHB84P4FkikF(0~ritFp$AO1_K!kWH6Ay zKn4RD3}i5n!9WHB84P4FkikF(1B1nY%Nqdj-|PHwN}c~Qzdv@Kn!eCIRB~fk8SX6L zwFTeCyBu#R-dfy9z~_nC^4s74BlU8}i=1t^(*UJeJ_jQ{RcD0bd@|zm<%rLN5ubmE z`1~~Db2{!%O^0V)#OLoLK1o~zVy9Z_d@GdmQl}}DYN_*+kk2ybkx<>2IeSC-EOXpQ zs|} zndre2`21DG=ZT2Va1Wj!)yWZ`+af-H9r1Y};`7aj&(9-1B|<-_mtKQC%&(XFd@17d zTEyqAh|k**pM6QYfZ#wQ^e=<5ubmH_)PF?syT0n`21DG=U*Z|dm=tP zzRxA*`lmV0pZhgcpL-%c--`G&`Y>y%`$IlUoO42{mN@ewK37M4J`?fT67l(`h)-^$ z^brxC1reXSBR*e?_AHw_+r!(U7is!QsJ-Y_{r_Q;^ zt7+h~IO210#OIZW&!2hl1o=D^@%dfEXHo>7MG>EGdp;Kd5A)1bWXrtL1D{JGKKmj* z|1aXRKjKs1K^WvbDdKZm#OK9`&sh#)HEfJqTkNBJ# zsYPwX=kF|^OK|<%Z08-Tbn&^#%2|BQu~J>`d<<7LzG0;jpUHlzdAQDP5qi++ejN3g z5b;?Z@o^*hlv_R*nw(Fwe59=L5ucAneCi`UDmxp&jrcrb`P8B2__J~r zpO+#&{}u7M)z3%9on_8PeEg_SWyI(5h|i{o&tFD-ej4$~^5N04&WiYqi9om@;`4=w z&;M9Hy!>yj^EIn<@%f*K&mC6j66c3!B+Oif7ki7(E0H+oM#{Q0;R0aw7T@Z$tNC0-oxTrZBM3b4VeJPBbn_!X~E#f7pF z2uJz!BUnv29;fwdk#f8^zRyziLC&+hoTG7gts+X#JjVbAGVO2-G{R8?A=Cax5&6eJ z(V6x?1{&cgf{Nxt;H*gYm3h>o={v~oLBr-(f*WXF;RTPaaDk^%r@Ic|-!Y2zKD(o!0qwuD}wS~(I=NIlSnO1m8VOint z3tlUDzF=3u{RMXxv=^)|xUwKsc40wf!D$5}3K9jq`7h=_o&RY5_WZl^Z_RJXug_nc ze_sBX`J?l5^54vRId4zi<9R#s?#bJncYR(%-ni1Gc~yCn^2X#9fYMeeh?Pvmyx z-kZB6_r~1D+)H!k=1$2?<(A|g%6TS*`-PHQvYWH7%C5;iCwqMM$n0eH8_AyJGs#1xmzHf!-j*C*`t_35 z?@2euCx{XaO*$Uxhl(f<=0x}urU{}US-{r@Z{qyOhBwXWG`^#8<$>LN1we`jPy z|GyZzs*L`h8adVeW%U2VhH4`-`hQzno6-LZHZuDEjQ;o6U7;LmS8%>VK&*J3{*)e&gWFGcb^j+e77PzVi)U*T5vI5v>ZiE_trJ>s^#{z$+)5uhwTV zsE0j9pLUd&x?<3HG|9{G|8k_KBb>jwXMtuKOdU5G4sj6iw-2#Aw%e{ydExxE+&O5s zR_6wSW}e1N!56L^dOfRsK&u*yF)5$b1tusP9J9egjGlKUxm^v(~o~JdExE z(m5yNFZ!em%};k`M1$a?<>ld9%iE6f=w@GGI`a1xaMev1UC86(9?gg2vF6i@eCQ6R zAHVjw^5s{_ST_3MoD-SfFY#WK<2aAqnQ*rJRl@l$J^Of49_Q-x@?f-w^Xp?{yYNl5 zKV`;EvY(wFf3BQ3eBW57SYFwB#S*hkTz><|d3Nt=5>q(f$39YdFgX ze~ZW$djKEDPs%2%fw_gwI>5y7#Q`n@JQgDc`6J~Dj+4qC%T9U9jGGJBZE9Hoc}Sl# zoZ{H>st}*$@l_d{X$qY2vGJR|_@o%lww9PRC!olmS_@Ql=oCQ>4t5tbYq9tA-uozTLuV! z(#xOgFmd^h$?re^x&gws3=sb00O5z?!pA*Tp2Ay&w;pdh-cG#Tczf_VXonPDyM4Gi z*mK%pwU46Lw9km*{_9_Z@NmD@4A{PRMboFX|I^WMO>W9hmPr16wa=9Z@2~yu8X)}X z0m74|{pWvPOn4`7-;K8iuLGQ?@K)ii$J>s#6K^+OyL}2U<7yv2`1YwA-amX>5YF}~ z?t{Kx7$E(K)jE%3JE?Zn%S zw+F8S{HO3%;jPDOw+}Zyrp_FE`)nK4Km5-kocQBx%9L^V+k)`^_|KCAgdg(qr;HMp|J<=pm50|G5Y;^7uQwsQ zzw#d*ApErf!pEH)&A%PE@5I}Uw+F8Syr=M1;jPEpj<*x9-G8`tT0haWk7@sY;0!cZ-DStgfoAuebU|EKMbKAKA1@xNEad&l^?p0$CP3&cc-@v4k7 zGm43q@ycKzgMkPJ4zCMGl4U$TAQ;HB{|BTYhggkF`wtOuACP33_Wyu1`trW%?qc|Ic!+Iazh_ z+;g=DakDfke&f>W|1dqE^+5vLl`p|zO^w*rw+7$b49){d z+OSP&Bfi`4a+5fHS73YgMtq-)R6(W{zmQCaVe|P3n(0*MGB4BhNHhh<_sD*8*?GRf zxzS{}0lW5FvGbfoF5bL zt!?eoaa>8Tt)2BrFNm9{2{qsPD+I06@r_52vcmZ@1OF;q5t%YY@^ruT*jq=W%mFIa zqR928_*HOiG@(2>VKwSn34iXcpMh8EsypjhOB`-uYRbYp_DJDv`1X;52+jB+7!4K<2t>5-T(5Bc_I!bOkYgo$a#-zr1_Z$~ zde|;0TvE9Kg-N}6jucORVFO%)u(@!r@tUF50Kn4&g3|>iBTf@ir_ea-4Dn1d?aV!X ztT!>xUQT>C1}pdx^ncv>QyhaJhs`uPpTHN7c@WeKUU+0sQ2!O?2nhRN1DnunC z)|!Qu{R=m-3Zo3KdXBnkK4w>-0(KY526H+*F&vR>6OGc_k2ZuBTG;6YMLQe(J|lqJ}9Bo1XGjrjIQpCzc*0u(F< zIbQ44?IP54KMGuj;>c9qLj3}Aw<$6Jf^{5a71wdK3zy@36t7?0OkBZUhvL@bPcydJ zq4cAGYi-2IY|NO9f?b7K?)nz~!^8ITNqrGog7sjVaLD=@kTKtUwc?w#V<#Y|(tb4+ zopw56$zeDQTaS1wjFd?JOX}=7MY?MZzJ1<%nHjJ)VT{;hx&TLuP0mY@0yvDxd1gj04E3V7xgsS@^LPd8xY|%MPbbwb&COw2^lRUhk%UYNk8lcYuj_!m{m4FLYJD9F zS>yQ#uU_wSJ$7+rP%PAz?05#77Ps#q@(~{YX4P~NPT(cwvFEMEAIC^_uY;eGzOvXT zyG`$NJnw-$jhvN8=BFQqe42QWEP$S!xER6LLbXI!bteM@0 zWUnlUMQr&GGBbU=f-ZAD2}*2q4k1&K;x=k`wIMrrx~wbtFtl6 zag^p5AZOABEQ-*cg2)_$UA)?%H{jcEjX6LE>1?ApaGGsElIK)_G#J1r+@r4v4Mh^pyBh!9%aS>KYh+eDNc*gwwMP$ zf3&4IPKkoV$&-UunI6o-uE#h1R+)1!DNkI3Kh{Gygk2cXbq2Ckf#%IN7cK{LD%0bn z({Yk@AqwJnDpRY)$m$cwavs`91_93fDB`f5*O@P}+)tSLw^+5d3B%@hXQDvT8V7nM z@ifMIjq@o`nsB-mraQ_ck|J9*idu(1@@l$yg164}7Qv6AjSidPd4+Pkk9YvM1RzQN zP8ux;h~@$i%|cT!dlnB>z7~JXe6pE3bLgXWJHOMT~Z+>FTf*|HV4(c9IwbS zBxVlMtMES?HW)=%T)@R-^@pgaKu%gf(HjDNDNy0dZ|7o$#$FT1;Y5gJtmA_qf?@>4 zLBd*9EKH=pIWNHKOw4&WLbMrNt^kbolu8C$d)Sd|r&!rOd81ImEcp4d*+MkarO39) zRGsuLG`$houQT*v3xW3dMw;MAPee>bmXtY3$F(ELXN3TPX2J9_L?raEoUVn{SZCX*gFc$ZeT=wh}MgsNP!2Yoz(oC9XXO3)L5cs$19yT%>ae*n|#P#F|9(joHwxzo*gbNF%oF@d&?D=H(ds- zbIM7~lb%)sUTO4Y@RJbo-}PqUfCMdLu#UQYuUE`Mv8);2xif?x)ZiPB)NYOQS*$>^ zLCFDlJfUK6>^F*t@tHZlj~bJv6Fcu7s3KzCRjC(w%u%$si2f?gCAGfR z;^Kyrc_<787!Ff)vk)CwwqGdM8Y$j2m;%`5?9AjWP56~5p9mpQ-ZCE{}qTDex-F-LYX0OTg(v zN;R_ADR=!6K@#0~gfKXcEkcGj;*T7K{Z8az8O;`;p0c>iG41fC-V2et&NLNytKf&? zrO=N$SD5u0lK4d^mg5-<56GN6MRbsJ03Z{7k5NUZzeCgf}tF7mLiaCIWR&s1PphXuyZ zHOZhT>asYUYf=F42YX(ZS>sZ~T?gc_F6#imTPSLcK@QQwA%vsTA|zxDNT_>$%Pf&8 zUcWD_2HT-(j;rkK{mf9NZ0r~7fF=>TSOc==7A$dba3=@cfJI83Lz935$$vbG&`E6f zGtx``6n=g$S%`$QJtWCOKUX(7BvKZYmHMF3g9(N`jU&-AYrcnONe{s%9#0m%1Q~I9 z5wD0P2jJizh`&>f_#4y&Ih`{0$0yaFRCrR?m~+RxaN@=jN1piA@>9zH?u66{UmZPr z^nZ=Ib=0U)506|l^1$&Mk1sp^2P0ZWoH%0pakGwlb@*3?pFjL(!|ob(_OR#6K34W@ z=@-YYDNU4qtz>@5Pm8ZFo?g7G=<1>ag=-3(!p{|?3ci+Kng3E=bKY-rx8&yLK9I90 z=dJ9|WuKq@+hlw4jO5;|4Owp{HYDC~e?NAUTjYM5`hQm2{Kp!LM#TZ{c>e#|6Axt_ z?+OV~kfvy7-5`e65~&4p8o8Sd^HZo z1Aa4{VDp=P!U3F-%#W+c^yjxnz9tT}e)MO4?Xy8F#F#fC~ zS6Uf|-zn?+L*6&bJ;nMy)%#|>##!GVw&I*-eV=Z{8E<`av5DofzGr&hEQ`x8^v7$C z*ylIP;^KyWb8Uj(#Q9m)H)s9o&uP1UbFR&A;$*7#&2lM@(4Y9>^isb$E7WgJ?D)<2 zoPp^#`69mw8;P9X#33gc`pww@zwsJjo!^A{e9NC=F#VZ-mE}Ln`kw856F+mjZ{{=C z`)0ZGyl=*tZ}~5zs~8 zT8wE0@5o{DTrlePOLlwW0^PMaWc1H3Z)@!)3S#;QwPpm@0-$eJ8@-$xB?;I(|;3O>|-O+yg56c^eebKa? z)=__%ws)$Oq51Tjy}P{QXFn`&{)OP6(LLz2mk7Soa~2jJ`1O*~@p!+RzguOT_-`|C z)cKVkmMc!we?*bMH4eWDlZN&8+jqJ{%^i_I|964jwtF;3ANyfU z_P3r(g&rz;-d%sgT`&nJ4|EOTh7ac)e0U$qDGAh6d;)&? zRQk8kRl^Z-Rj&-|0qr>K^%saTizIM1-YW z|0{34%y4qY1ExID$a1a0$tQd%1{;{jKe^t(DTmB-2oovCL2Aw&YD_*ANJluT@XHu{ zI5(#WByIczQ@ojQ8Su2!gws_Ayrh6-3fshYJJO%xAj%sEz*9#f7(%=;`jR_zwO17*!=&Ew%k`9 z9RGR4uYU9WET$`D^~c&u8C> z7z^++tRBCWc+2qqfA-!6Jg(|G7v5(ig8&mI;D8t)41Yo-wllV6ArdEyjR64$6l{pX zO%n-QSjMtEkz^th+6=u;q9%kYDb1Brn$FV)8Z}K@C70&v=JGTX+t@O2Qze(1IxR`m zl&>hcNuw_xAJx6(gYSL!&zybEoHH|$rQk7V>)G0WYp=cbT5JEDGiU8Rop>gZhaZ8@ zz_XmL4fJvxt9j^GpO{PgFUR&v99+YQV;u82GY0QgILB+%{KYal2Xk9}`!k6cLZ-RR zF!L9;8B>?4dfnFiML;f3-11%sP2(ERdM)^~@6j~#)>1ux70++n1aVtWY8>%|^Mu^O z%1rm4+=ZCr9nfyx$7pMLd@1#-Pl9mnXoQAPJG02QwVVKaRJQNGR=NZ&$GD>7PqpKy zXGVstShl0PeaVijz-H_Zt9ydYI)re1M- z^Q&jtEfog!uM|AX44sTGO#dq5r=KruzntTk<$Yu=U#E`ZRVl`PH)d6}*YMUJ+jTUt zQk)qRam;bhW;(u>rZaQCt&hx~JuAte;8IDh*&ja4zozi$`rWO7XtW9Ij98F9Cuc2lGgur^{-1wq<6*u@C6>wnHD`30L>@(L`<^`eWf|9plV%Ci$D&tm}i`Q9PeWJ?ki@ z)zmd%+d0^)1KvNP?RE^T2?@_~doC#jU!PF)uzqeEWPc<22yfRhafXw4US>%Agl9e5 zk!NxJyaTwHz}}|K2AD^DF8il)=%+wGUv<&7|IIVfGQ;e@?0Kx)37OZhKbzUqD zHv?Q1CI2jZ6X)!gub>H^1wOv+o;XYK&x{+EaqM%?ZM)Y$Ayaa?$|#&MQO|X{*eUIC zaTi0V90M0t?#~~`p2VMLrwzWw4^{$qj~J;4&TgS}oX=8W5IMaj3$b5Jmw;pa)cMaO z>fooq-*I^6bt6o}*XuO%=*;t(N)`X-UXYHowSEoHmGE_lv+v}S;VJcix=Q``Kg&*I zj`Gi6xiy-u&0+Hw+BkQ=oR8SPfBs79`73G7U+k#+{20Ffs*$S{f7VwL_m2lhw>p>S zN77iz@%1?8>M$6y*FOdF<@0|S9P>#v=V`txU^>WAZiF-Qe-MnFSA%xVTxjR};~c=0 zu|MCRX4_`&@|Wp!Ok4<^2`M}gveTe%E_Afc5k5CZ_)2M+)Og#p4%qehvn1bWo)1qM zjo=*tf`W^m<4q6h@m~P2BE)a+KZ!31KLYEy+h8iC*G55+dcx}6U>Pu7gq4A)#$Eu=ofc=AGgH%3(^1n}ld9Pkt8<x`qPqYgW`!_Z}PfY*4;fKA+5-CTRuMJ87`HG_R z|9uRJk`V_g=RjpcxN>|EWOZ>Ml7Dr{YoV!)WNT zUtRKAXlf(*FEmH13tuGv>XO$&Qya;Dp*dPz_#*jNm%J95+DQHj&C%+@7s6X%CjCe9BI80W`Z^d`Sf$5~FYna{k){y(z+kL>>|wEsVPzE}?X zAAVo<(9y(lgtTn4T`G%j-}fE$z|g*}U_XKHt+JP>@5@q~+;5<497S=oRg{Mewq@hZ z!IqwInOlS5Z5$Z>(mfAar{P;P%}-vWzQHWm(}3ROmlVF#E#>i=1#eVOLN%`TjQ_lJhweZV>TE_`Qe;Wl_VCDLBAP2(NA(Z!p5ryI9%a|%3F98Kh# z6)kod<2Jn=mp#Kz5Jl#OU|cLS&hVk>Q%4i6@Ft%j^~c5=Z_#|X-V0~fF>!B9L* z3teR=%p;ThoPDGJ6;SXtA%mX&GLcdg+s z#c?m>R=AxoZTQ{VJ46=sw@Ir{^0;4gAZ^+*;eHoIK!z&UGMcH3gUi-)mS1CJtrr&?XcYg4m(Dcl;-1_kZ2hMM_%QtrV|90wQ zYvT{@yS8Q5C71pC$M;?9$HTK;h@X!3{yg)9@!uWqeCGavZxrnRz3G{2Ip6XWY43Rg zu-Cy^G9B=7`1}`f77Bb4e)11tUkRUrpL+CYVi=z76waPu0`Ax!9ZihE55af9x4_5Y zr?JN5;YZ*z@U8HwhWGzm+c&j8_shS@k#E!QekL&p-`WG45BNI7N3MZg2>dwapH}#Z z-#?l#@FvuF9D#ECTnFX{YqHU%U`>ucjDF%|4|A?VrJCG|dIs})v`qVDrOEavG7zpN zXRUf1hdg$UbCp-ec|wU-lgCldKHbFCWFFHQbV5lI^ZhC@gLaP%FC4{rG%3jda}Lk@ z1el`I==nC5Lm!_h<9Oa7 zEW9JIuc2LYTJLWVowKWS|HK1qc_eQeLLSH4AJCG={(q0Q{|9Y;dw+jg9-Rz)HPNp{&d0qANa<6_>6*23@G}zPxROKr|aZ#|BAkh51)Jp2klvnk9$vl zeSi8?d9r}Qm-6AO*L-c!__&{4hg&Y{#5sl6w>r%?t;FM;FI?M*x&ol*Wz4J z(*9rJbi@eOX=uRkWcpH>|O&KaQJrkHuzR}wohHo!~UPLGwTQQZD-_a@>s{j!$Rt;d7ch~AzuEh!)Na> z80Hg>?>srDGacp#$DfZlSBJqcpK$z1iE}X1VUBRp{vUH!7!30X$4Qs(6_^flgyTCA z&V^wxCZ96n9B0yDA#qY4!pf2Fh{y2Wf&hP95{?jWh)aXM#cVjY$oOd=PB}FG2e%(Z z_WyWCVD~YufA=tXv~MSlAV>VvhnZG|gK$ZBkA3?iYHw(8SomdDCHNaZ=;Eh78*gwj zG;s?*a+UqRDU%u2KSRI4&mx1HA?r>0_>-=HKc+o{-|&a{lkk52FyFYj;^(-v4>1B)o!jyF|SM09)Q_q=(9SKA22yhy(mMg#z_0Qsmz!jg7#sMpha;{K??*X}vd9^- z`5q8K<3Q#$sM~1Y;{m!A#q2O;wOv-*gdBePO{q|755W(VeB;gvSacF7O4!LdnjDzLJ4 zyI14B1ueY@(47FJ&|aZV@^fwnm(OegcrX461^jN@fh{lbkS5CTpFr~sGB$uXv6GqL zFF#s$#MRKBJ#v~sY$h$7k@bLi~?Zk3}n zr&l!a>OPXh{*v3<@kjkN>7APUl5M>I%n|Pdk6!_${Zc^*%8@`>?v#C^3N&1#sow&u zuOeGb5(H8rVn>yh4`8V6K|XUD-Y%=Hk=^6{+beJvF$<_#RE_(jK&bTwWdm=)B~iR& zoMW8|_JF3Eiq<9dljhP5NeQ|_;-V5!1{qm_szoW>145~8m_{#=z~=!k&4oFnB!!pC z?8{`Y`{gahq>IesjL9L}aG3ajoKqm;Nr@jCI2IESvu1;);X3g$P!Tc3!-I7u^2du=melNR*toe~9EN8yq2 zG%~$c@*2gw>s?J~dn6G`cSz1wDf5OEx<020PC|-#{gU+#>F9ri=O0M4Cb!|OzGN>Zwt|r~+4YEON>E#(N+!N4P zNG*Bp@g$SKWTKpL)*m9D@9L!CE6QEf#i2rfPi@79>FM>A>+bI@}!aL0k7m-*Y# z3g~^0th7pER{I35QydG*K$(+`8fR1*jL&tl!aGq+HRj~1R)5Y#Z6J+I>yzy^yjN4L zR+HUQ9@{WJeg=Sh@Fyn)8qRa6-vWGU=p_-`18kJ=R^)-oYbDSnPy}Ug-GvFTANbVp zfNrKGzI#h~1ch35faARU~=!P=P8_Zva2+BZ?_ zvAWzOD_ta)QnKh408`^xx#4C_lj#}PBQ7Ld&h)PB770Rq?uLlf9^*xHftW}or*iU* z3!3ELCRyPU$x_a*oN2f*eFcAEPQlcaoghL@1H?$B>%-d4 z;YIz}jeW^n){{yXp7}jk%;#wY4B$L%pJs9$I;>VjHP&vz1B5yO;d&?mC)qNmnZzgt zRpSoCJ_>xLPBSs*Fa)0g!QnEWGa&5q80K;Ygk6u+S9%77>9OgJnqv7hS^5l!6i#)x zTAt8w8>Y`qSQ)N^I^Kc!a-8PC(@b~<#AuqFUr+$oYlOD^zPv<5xoY`OwPggTsK6ASq&vX3)DFa2&i`uelF4t56T?#zfQ6 z1lI{l)YRhi&Uu@U>zpUJ*gDWYkNtldc9ZapZOZ=t69mvs+W#j}25<7B@Py<5U&ci4 z&C7w9Xo<$?n^*kObns2w{WpErV`5!2{@=t}5Uu}jV&S9fk^Ce1zqvW^8|nRXr`~${ z^3yM?`>^xtn*Ub!`>|JQFReNC^j|Oe`l&xX?a`W#)SPwdjc0th_V1QFTla_K-3u7a7---R8?oZAbUD{IngtKDFKb`SY=k&VIF4CI42Ji;XWiaKo{bznf z+<(ePMThv`vHx;f{h9m3v6!;|=dbH@#rFR^D2$Kx{2j9&5&j}>ob||WvI4@n*#Dca z4Fb@FWJUJ>A&iN#BMy}3KxIR?Je~-mIyn%@zdGf%P*g|qUnoviC!R?D)hV}yqB@fQ zLUFP>@kH{kPPr`<)sg%cij&oeCz5}4%59;jj^w{koUBefk^HMuZVN?qB>#otWOd?+ z7<+|I-|Wj;7*t%Krbp3tp|c02)Fip-D0=+dRMj z*U>J$v^$rT>G7qJjPr{l6Q|ujd?hob^byiPMaoapIu; zx{1?FopIu$-MNX=;M~M%YtA^^p;@_!)0W)CX*SL{+oxr?iSq*q6DPA6CtWnoHgQ^B zGfo<5Y|S`nq%F0H(_+HJY5mMNX{T|siPL(SarT2I$&9lfv^6&Iq>i&sm*_bAbg31; zOvl;3%dPkoI?lc}SaDkI5tvk#rjj#G ze$y(`#A$HJIC)QtN)xByB;(W>+D9@@d8Kt6X&4Hre8xBEIAw92j#HO5>Nw?fy^a&- z4Oae*I!;-)>NsV0la6yN&^Qn6NE&E`$2fVo$;ziK9cfV`Q%3B6VRxQ}fETKU*DHVo zM#AfH;s|%)^}_40gk7J^c<=8DYH8@7)wj_peg6*bXme(8Z&nbj-C{UhrE7-Qv#}S) z!|Ro8&mn~WuG!)iyg5pBym>(_Wia{tqS&QBoPRD%P;9>SN>k&u)UNq= zDa=>N-{a-q^>-FY$&(S*pZVSa?e-)%7StZZn95)vJVmHZ7(f zLHt{ejRwnS@mE>@XG8VJZj&9EMgQC1xc+m8Bpv%V{C|!ng8EMjWYz!UUH^1rAwifd zL%<8!zv+6`_$km36q$f*nLmKz7|6dC=lJz!MB_B=jUk;Zp+B#`&WET_=Y;XD-2L`` zjO<_QzX$6NkIJB%6}ct#uo<8Eh~8J>j_Q54!HyjJtIUs%)GS9x3wGOa{u=ecoL+cN zRgi>v&Id#LciRzW#s{-S(`DcYv+Q;+J(t45-*$v)@xky!2HO$lLq3=wJXs$M&*iWk z@jUK>;c-B=Bg}*khO)37VSeF*;TZ^U1yI7oVaspJB8bmTKA6Ug*M5+A+I=uKEsPW9 z!3tn<6~G*-0A{)Zn5FOc_C1K^R0S|wDu5ZR0Oqj@VDc5fyjU8>p)Bg|DBt(x6~MGr z05ebl%t!?=PgMXjRRK)x=JI`StN>>aiX1oHJ7b<`eTaKP@k9X=kCxqM* zZjoEB8+rGa&i}C{KSH8(6>^|3|5qXH5y{8Tfl&F&f?DC!Z^1b} z@W4<}AA^sCKlhh;ZYlBH{~CV;QqG2^5cDPYvT@z&v!0By?MR=pKp7W@-KgdpMR~#`MXOH*WA4M_NVfC z>uORpm)F$SEUghWFUO{1FT^HehhpQg7i+#2%f%jz4aFXeWn$Z6?XgXam*En&nQ?S?1I^uZkI*uzgHCSM!|6izmgXcue%vbkq!seK@GOM|3#K{+~aV)7`BC zX!<2*#ZEm%ymIk{P+;mXf6l!h5&nE`9P`V&x!C`kuMNs$H4u^gzu`m_MjV(k2PzxF zb4D9gs1goD@~;v>EfSfL{1=I_Rf0B>f0YPok;shXzetR&610*0t3*(XL}n!aMPh7~ zppE2TC4yQcG9&pf5@V|bZ6yCH5!51)8OeW<7+WQ1Bl%Z}pcaYDNdAk&*eXFA$-hbj zwa{dC|KrhwYyWS4)u+KaoooMp5j2EKV(kBEl5AWh$`jfDgIoCUMVwRXBjc zd%LT-4fg7y{NUSTiK|K82ixSk50*ER-wXNCCXDyM@}}(@aL22#RhbwYVkLKx~lZynDG<=9$}P??nGL>04!2fsWOn=$b;U8)dCs z(t2+%a<7uN*4_jgyv;bw;tt#kodjoYLwGx4w1qQT*N+t2X!PW|_ZT1d4abpA<8I&3 z8;+e#;!a3tGo;dpV^%2BwXk+pw+F9>WM_qOxSV^>QFwHq2vjpwE0yAaz9cwPlQfKfqs zVqhM1{8kA?-Bf)eM|yBqGV!Z1(kIJYO0GwKKS~F!I=6$~Bu4bjqP>uNCq{kMYP`d< zCDgs$Z{9n-*UHRT|%4Nbf$oHvm_AZxPq zsvQYff8K;6!ST=i)Okw!28@DDnAvWZvTi}H+0O)zgjE5z-mAIaKN2|ibLL--dDPav z8{~}48GW~$my?*qUqq@EM`js)dm1x7_b=38>SZs=SEFT9z5!(~qBfzJXGWR5d)bVU z)`B`ssM~Dqd^U@Zp%zC;S(Ew zB>xjzK8sCVB>%r z_WyekF_2_iWy&)b`+xJb0kK!+BK!Z!_!L1!90=e*WkWciVw81Ka3GTZNg>90cOsJi zyjgcrRE*?*QiyThorvT=Z`Pd@6(jkd6k?orCnEXJn{_8e#Yp}qg&61EiAetQX5C3q zF_QmDA;x)kB9i~SS$9%YjO2e(h;iPXh~z(S)}0g;Bl({cVw`&?hVkuw!T$d{Mh$ow zJ)I+7dVKJ=hcE6G7o&)!wEs`T^E&|JoaFEF=JJy6+(cT8Um}snMmoe1k4-?vm(C*1 ztKD-5X`?i(!+uzz^ujZr79e-PDuFhBV@UVGQl(2;NA-w2(j=(eIg-fL9!X3hovr2N z@XAf;a+99%r3LD-{Uk!RA4jNc3EAoB1MR!X52OcROJ>}$|MhfY41Nece(I4#2g(P}J(8${ zAD=v&$RgeGcZU;k`01ZNok%|Xw5Na5-#?tl!;iodXZ_IAiB`mu@U!1TUcI`XIF(g> zngl-H+jD~^U`o<+5A0fKC6p91NN&|4y z2lmT6mNAd@QIB`N;1a#l#n`g_JpMr#dZzUK$xP?a|DiKodI@j0N4h6AxaH)LohDs& znswu!K9U$-3cWjcm~_-mf}V4Lr*0AkPnr(WIdbo_>KHs zKt9uS20!zU1+>fjNuAHj4NZR;AA>$nUjF=y&iA)F1w1c;=l=X@O^-i+CM16r`INsO zUYv6z@%T_N{yOA?%p&-BNPa!?mxvn2hu=vezvuUg@i&IxNrmLMAfNO<_*SK_D`F|qW*#$eEMNKuCF-Mp8%vd={(~qdewZ-^;(re1Jx-6{_%ZF8knPt# zTB3cFuPaeL1^Na`loS8g0?G$bZv=iE{uul$d_8#I0^bfl2tNXU0E8O(@E-DZ$la2U zy#9%O36oD2ING2GrR1}8MDdT8$p^`&2j!*eKVGK%1&#mg0Q^blZPR}5cw&Eyo30-@ z|IwcusmZ@!?y*%R92=ZlxDKZO{&1r8pP!cVm#N2a68h~Icn8K4%Q%*15TD)tY+~7$ z!rLDK+#qNifgguI20sg54>`2J9|A5TAMPt>v36VXDU7Qy`A|RB{c&mj4xpU+okUwc z`8WdYwPXCx{=?y-{sUZ&zolO;#y@zfJOAXcRui`SOWwU2^U68W|Gb6Y#yh5Y-MGIz zUdoB{-}C6tG`wk-_#gZe$iSj^4ErROPyeUN@KQd@&%~Yxe&j7)`Pg{#nh&F2ERWaF zXF|%y9zPzunh)K7SRSv@*B3zR4E!wU&B3?AzXgricqh&~!X`!Iqv3cneQMt3cp-nA zfT!&&FWyHlKkVV}l;*?q7sBzfUE^x6Pwg^igsDgPp?Bc<3L)j+sPj_@>!AlN2-^{+5sn~iMR*Kh8_QV+ z&+*fNkhvxA>}iO5J{2M;gAl8bvS}>--^SD9747~s`JNmIF9fsl;;t0FE^p{ zCv|uX;j)#76H^FTe_H3y=x`R{CX|b}s`5I7q$jS!dW8E>o%p1_!P?X zx_mnl%E`JzDCZuD`1!2EHu#=^AHm;K$%|@PxtJnQMth%15V(pS|E*V9#$cS?=CZYtqbK*5dY`z5-m&kHO|^Ir)UR7!eWU2!`)qM_O9&7c?(4V&C)O zx3-G9o8A5uJ;SsJ`JUYL$qwy$O->VZoKG9t;Y}Rv=lrz0H zxpR9mvva$tXX@lo9@PF6@=0$Vp}}S9*zkm7e*Am|e>>vG^uA5PBj1LXdH9#s@JWOp zw2dNBX2TPXbut>BaijN)cOc(}XC7Tn!)JAU^FDnK-do%6(+O9v_uKJ3sx7V$^#6hv z8hMl-B*I|lOlkb>8V7aq$@H<2ce~W&zD|`ySDb&GF;kOC?J~0g6 z4WEXuhtJ@52mAMjNx+W6XW`r7xnA498L(}$M_@dU-v`K7d#zoK2txB zknUyu-0=d^FIvwacn2lR@o(vrm2Wbm@I>PPRWEXHS`KtL@&&MC)ZlK-iJ08ioFZPi zIEf;bn&1E5YVpd{va$lAbFu$dUmK{;1p-h7WJUJ>0ZfUqA`Vo>fy#z(Ww;`!>f=Bp z|LT+3LQ)*be<8V9eYhg|SD(xllHy4I3(3vu!xhQD`ee3{6i4!3NN!diu1NmXC$oj5 zIFkQDa%(1|_X<>1yQf|Nrgn*E;66c>exR8*2M|D%k%MxTH(LikMB{o3|J)Uc3pHZ1SR6 zny~K`yk>L|XkvRHGZ!Aw@A}D ztL&_8yoTP)L*?<376-lww6*22|3md94!bVWQ_2x%2J}7*oa93m zJ_ElD`NU7W{BoB3&1gHQ$&Bg1FYa!rvv?62mAUF*e4lV`vKtPi2^nsavJaSW5KuzND(0)c)r70r~#|I9u=yAMp;u-fOa3%E;k2erdFwJ*;GA?3s;SbQa$? zqPSp>ZSse7KFjD#{%{C9&uid!yng&?eq$JrKN^B(%$J`SIl>#2&dptUD}Ql&oLh! zj(_G)>wJDUO?nW>Z>UFMdrBUd{GlG&%PGfv0XuyLhR!LCXY`-c*yM>i#6PR^+W}9{ zI&`FG41Nf{1D@w@@ca7oXP=gInRW@w{JhRL_WwcO7aRI1mnn>Uwoh;JrTstFD&#r* z);A^gi>YT0CunOj7f0KcIOnQqQ z_5}qbA(0ub)qtlwIFA^x0#i+f6%wB1mBQC2TzYc*jwBjk`^$5aKC1VcL`{602N+IT z_5_4yIh|>bGHk=Xgs|`qzwK|s_|IUzBph8iIkUfJKSKB{&QD;Nd9M6^gm7#-%%wpO z%Q;u&!C%6qo-L1;b*M+rqy99!(W7C+iNnxKykj`)fO#`VE5l3J<^LUe0zakkF^}!p zcypQ$V-w}^vOZl3I2rnRV&k3Ee8?Ork2ec^!{0ibcmd%I{4C^}gKvc&`>&RrKKL;4 zkB6oGf9h~J-bqa#bs~A!;Y1Vgv_aQwyna69H6LaU72{2!e%Rw5`7rv)rxRKDcK8&$ z&4=VaDqf9#*u^^qedj)lZn)=Jx%c5dz;BD_PuGaoUS}PSo9RKdN9g{orxV0y*7r7z zk9&-lV0_mGcw>9xPseZ$fWbEkeAKgH&`W$g_lK@d<71nCTS9*t2Xmo@BkAh~KJtM% z6X)y~#@sBw^I2&N%yYq>aGsF1d2EM{W1o4pd;JqKC70hu)n|wHKHLwC{>DnZdvU4G0g!>CEo&GY*Ixri z8`Lm3JHH%X6zszAZ+xGUO-#T}tps1DV6Vn@*_TrMW4Y?@)907uUja_p0wWpdD&=4L zBd$!#@lVkQ+q)9-P$PsSVO}c%M+k)v`}`7cjo1TBVSheI2auKV8{y9I`FDKLjba zF|g~I^*3#71|@>xe;p_fswW{K;8OKjFNgZ1)3oPrAs^5_Wjnf3$&&S1$MDv!pV@{o z%@>y2&mRUZY4OeE+5KtLytLm5@|o~TcrL!g8>g+M<>J=fj@g46hXqoI5+=*_G54@f-8g52blUrQq4)Fte4cG; z_+Z2H3{>VP4`Tm^cY-*^Ky=`pHTAY|z5@0y-FOl16r@V*>K%lNdH?e~2cDnDahT1h zcVFYjuwN9uvk!E&%$ZLo&h@oN*cQ~WG23Si*!gUa=atY+>{jjZeQ8*G!@&D)yg#t} z7X(|XJ##v8T(>uZ_NIZ?bGCybNz5!&?~Uf$UK+T~zP7zr#q03gvQDhS{`4HGn8%F; zv=;SlcH%>Zu@Ecsbz#8gITpZ_ttQ?)m( z+q3uCt;l1wl&?MRui2grOSn?)89LHvFQ@VPZQ_Z8Zt8c`d#b{D9B9wKN5?T6;*zss zl5OL99xgnu;C;ZP-cxgKOa1`+?EmNK#4vtW$Re&<3I5Ob^!B-J;w(7Jj39PbU%7S+jp{WZ2Lm|_zms9 z$iBht3y!-t#Qj?Qxq$sYCy4KunbE9pj`-j&J3hhl|1U)mOZof%P4HafjWe}OIw(9B zna<@BNdcUBS^Zn~b^2s`{(3(kZo^OTyYMURe&NmEB7f=cL5XpV_|3ZeQ)-T}&(}BQ zrNVj^qCWRKVePEPR|VS&A12^g5b*hVw#Rcf`5SwSGb{XfuaiC7TOfA^aPd#iuU~v` zbqw{n*E4u|Pr`Pz!TST~I)3-*M0%e1`5RXY>JyJ2ZyQ?ZhXnZv1$nwn%W4wv*?G3d zZvaM7pFRvf+u9@VM(7jdV#|MooX{SXZLWGjIn|?nO6!G{>KSt-Cx0?a*po@r%;b@3Lnnp1oa$Q{7!~n z$Y>|WWDf06XXe@t_gby`-BbvE(@toZ_LQi1sGck&;&>12&#N>&3;Kf2Rox7&$>6UC zV}sv`^yA$c9!5YTY6vIy0hz^zE`#-*KgPaJwUIWBs8K+ zenmwds9Azbg6#}mK5rSkY0QO8Z|dypPquXpboKS`?nT~aIRo%>t|aCKxBS&q~;chZ#VvLgWnF%Ii?rbSK$LJuQPbLMj5=* zz{~V4ojtodw{>ps9O&##u395*1TXnL&^_pLAMk>oHRPe~3_i}Q244&27N&1}WuWVx z-F>Vm-6rG%UR;d7V#kllR)F3nc@AE)xEdgA%d1^M?Tza8Hm_LIv^Lp%^=9!gP|ewu z^SSp-b5oz=-_Sda`b=;BSl6~LRN?1!t3b;&czC%Qx7jpHikc)ZyTqk{G_LhJgU^lhVN&DK0kb}?Q-AR!uoJw_?gcc&%2++?+&QfaUAWAS?vbl_qJ>A zmz6%YKa715+UGZRy5IYv&xL;18KF@{>YsbH@%>%v#=fBrt{8;S;U@y+%J}ig& z)NwD~4BF>6zuf6PouG~<@!oPopEEz#cI3Q{`qXiQ*SoLn7Q-l?1pX}UZJH~7?w7k! zpWmx^@nSuOo)qtw@opFIit7I0>BP0DJJDc*Sh;!0HOaAfEz(OOwF|&&edbO9T%_qjmqqoQJxDOlD^LjCU6jtEU9+=?OBVGAD21Vn)5p^ruFM9})iN)A26EW9)|GU>b z=;VHxy20moj<0($UvTHSRgNw0Kl#MdhZ$q5Tn9Sku5^>wf;DKpu7^N6y)T#h=kt+c z_D_wNGnu}l>)yVu{;j*QH{I3Mw_|H(Z)bmU)0U0vu~#R8>(D|Uo+db|lk#@JPVoQ> zENAvT_P%!r_?f=0v#$rpH}2?sK(ydDo?9ipouHpzh0_cn2~!2GX6pIPyQ-^341WH; zW$2#Y<(y-U}3*5fScmB7v2wc4`>@obe?4X76E-BPNl!hZ)b z)2_|84$PTMufKm~avNA>ac$M=l`Yp04}Z7i^TKYl&*xH}XuZ3D*^Ls zn>%+W+dB93gwzY&FRsO2ya~PXJG(#BFVkKMW1i`?O--`W21uI{-T|7`US46c^~m0b zXHcK%4Sk&t>_C-9?2K1ghAv4^(+p3(kOteC{@eTTJn%8yxN6l^$+c^-3vX`n%LesA z`>*jky1(IY0O0)tpM|dne_P<&^<6({F!VF<+lEj7CP2n{w`IYHV8rW_vv!G|FW{K|GX||UxMmio+{1X9$mg9r2dn-oWIit z;eS<^htaobm1^In?-=AW3ttc0r55;h_(Av)_;L7S@U!sskQbW8y|Atvxn2p_6%=Hb ztxS%~)`rSa%3%}A{r5<*Z8|xQbh#zR!f<8ztGb-~$RIv#X;%2d`1H6gx94fuxNiSt zT^=@0)?KaehsklDE)SFAbGkf?z6)E5>CZtvdH5-K{`Q%KPs4Y>XW?`3dH5-K$t?Uc z^C9~-ggejXIv+mvp3-uB9_5syB`3p1DaXs#sd7GF1j%VYm)rXQgMe~=PM2eSc7p0J ze{X3y4CwMOIXqRSe(n2;<bwP z-@r1?`OxH>_b^gsEYyzuUwWW4|2LwX{J#`+g81__T^=@HE{@48xxmxqr3XBGatE&7MR`%(A__-Xh$@Vybf6}}sO2!0gaUWZWK8G`N0T-Tv>e^**Q z11K*we;v~0Ve(lvsp^M~j~-nfCci_vJZv3W_C19^On*M4%emhV)DK-AhW}+<9wxty z-!JA5ZI4^wyWxl6N8u;nr{U`$qej{&!FR)hEV&ss>(Cf%HPfAkDq4p)A5P$3H-1ya z+v3pk|M~kr&;P#+u&iT#|L2-x9P`V&xt#yc*~1a)bAj@h3DFYtb4z7aBdCZ2Z*~q; zHiX~oTsnFCAIbmZm2D+Gi{xJkmrh=oNd70UY%A$mB>zgdbn?PP@;`ZHTS?C%`B%cF zlNTnE|H&)cN_rN_zY;E;yfBgcPhQzp(z8hZm2m0gg^A>U^2)Z7o<;Jngi9wcOeFu4 zSGHw)_P6}~pBnIx0p%AFbQekc|3_ji7n$GU`TPGcJipyDt`g-j=l?Gi>7}RP?3xdW ztawa};_sW{TjB@u0)XA}8~3duDK_DI>W|_(@E!Oby&vDycjFst^;P`VZ%c)g^eZq$6hxTctAT@?^P6Qfp-n;WgDdpt+#9q@~CU% z2frIq`u=XTIUxQ_jN$K_A}?M5hj!zZfW7#iM4XaSQtcNXL|#97xdSCU2ZOfG{pd@1 zOOR_|&)b4pn*qHO^~q;qA?Nxf7GmuM{uR1~0u_#u^v!@$wvvtLf$AB1%D)xxNd*v@z!>xDumJS)6b@(6*ha zE2VU(%e>ozJYrp5%5fLUsWrqzE$EbT<_R60`VtXJnPWSAbg(6Z!{EI`(!+d?{o8?+ z=K*j|SPyyzr0(rNy?$_I4fv3P4)6*Sa<~_oKs#zRP8j2OYsPPN!4Sx)#*g8qh5JM5}PxigOOR8h=8372b^fnCu~KBGlMlCw2XC==ovH zgHxCTmpQcRxgWgUjsKmnEanV90Pe2Dh~s>yWgV2GS9Vox*DA1NTwDkUEoYk zUFW($tzj;$D>>tkqtqW-`EwTG`5kuwhG)%CUnp5hbuD_h9uQ_WB|V*xt{Dro6>0(} zRs)(`DK4SCJI@lM)VYeP@lR{TVQ}ql@%NmV6u*$V(}nhlzXw#PS)TLwR7)t+h-t$4Uk6oDHi$^3Mnz~DHL}9+;b#K zp9bMS)4_k{f_-*E@OcH4ZEy)sGN5eveYukD9pKz&(9iGU?+2I%UxilA)dn%xYOwq$ zn7h>;`RTQ@lNNB!YDkE4sIp`Ww@PE*`Ms{{`(2m;KO_DMJGgIQt^Ypsx)pursNuZx zs`v?ZKHRx+UFPm<7e-(!Vh!+IB{*VlLB7&%wy(6i7jqNm_&$$*duIUJwiANuBWHZJ zVaDxGkmBsSK|-img>vHzwifNN-Y(SRnE)KaETd-gREid8{#u#CzG6;eUomsvD;~t& zjx*Yn__>(HjwbFTA8G@gd(ip=5+~<1o+YAa;cTwcKT740*oswRzQ8&u* zNBTK3xzp>Cv73-mW07+nOF7!r`V_1eY+)tp??zi}->h+p6RU6n5cx~a-Ye(80jyBm z=d3}WZ*=?|X-2N$$ZGJ7BVLHVfH(7gEo#?E+Y~kKd&LlDw;y94@UP&`DbCxSX6H6g z!#&puxy}qAya7Go9M_G$wn}=`3fwQL=3LH|SwVDyQm*7mYc|W3o;-5rLc;e-O;YWU zhh`6)L|e=yKer>FYXdb!+0yoFeslvnVR*_HdBF2zXyw`otb4F)G9#WK3L$~9PqeK}mVKv2t&yuEd+*IxWdeP5b!dsyA)d>l=9BkfRUXu9$EbXgQX14RrA7%- znv|3J&(T78lX~`qa|WLoZAq&YPf4G>;OOX+x;G%owJYW-_$jOk?i0`kVB8LAbALju=6uU1L(?1eoXgZ+ z(4}^_j8TUvL34VWngiBj4AH(_owdN75M{g))KJ4xsJ{Zf1ub!;ah;$JbLUOWYKOr% zwKgR-K>qCY?Z9)5)L-_=JOu__#;2~mW1nfAp`^z?@558hIQ}NY^KzG?+NJ#1?tM6I z>0Wty6=!;$Uv(?EqMqD2^2rs#aEDf@29u9!U&)z+qxHptJh@L>1x(!K@m98OggqGX z+!1h;uR)8P?Y%pK7GEj#n$N~{f|fvPwz~_hK8zjiB>w&Zqqf$$)ZxyN&)WB)mA&A! zN^zIB6|MdZW0qr$Ym|Ds!Tr{afTEPA(PPSkdbSPa)B~FX)M!_GsgY~sD7^#qS&y?9 zpQp?$zZIz!ay8(7m-@XMSo<+|at>sSst6KW-R&{DFL zG~q;IH3F~?1XhDP9P{qsdbGA(N{d=Y&EPmzV}oh#hxl}^MgwQH zd+?{mzj@Qcnd$>tqU<}z1v%j#8Sbv}c2Hzy`8LF<6RhdJGunuB26(wIQ6qyRi9F+( z1ZtE~qd9V^t3A**KE-g=rChm2-wFy+vNp$}8AIGVUoAOno~AjkP_G*Czqo7-xUJqI z(0WjfuNF{pH{Pr8t=X73fc+MC8=R%wcL-{><1?O`$JCz6z}=4dMsbxZ6W?=@^MG+E z5B224J&by{##O+cD=w3B%WCAQR`{f-R#?vU98bk1rng)b>8T@php0wTGv=EfJPm&p zf8W4cgh}kJHeo!FntKpZGCkn%Z3sC(P{aMJfA}Z~!o(3m?dLAw9`I(7@9^c0tdsak%qMBL8minonSS8sz&*rA54wRn3>2Ejd3hMIW3`zSW8I3Yxnb zSbMNGJcd7V;~DJw6+ii&if=gfqHk)%b6?0+oRZ;qBKOs3-6lD~wbMHrs&_)%k#H>V zU5%oTPnA5|k@pPsqBradp}1y~_LS6x-a;?=7Kdf3e<_*buBA@U!jMk_XNY%WUd!Sc zp6_@61^e8yo#oEDhi=3ZHF>#L&dH>X()xgGS6y(+Jgz{bgwI%Aki43)sMBio=B%Q2 zw4{=&1m_yg4QdvmZm3zB7v^r$&sLl-)vT`GA(DS;S3n7xcdHynJ!o?;>XD~B3vDwf zBo}c0i4*+RW3^|-S__Wwy#V)i-V*K%`A$@bzl1kW2&YQk@$?t9Ct5A#_$7?>Z(?7> zw;<$-k|xI_rF}DKqnuXgm67_-+4liiN_ew_57vIZ=b+5UQ?uJq^SQ!99#aeWo`_)| z)@90pZzX?*@yFG=6}`L}7*=5&TBFw@@|JIcIL|eCxWZYQV~To0lT0=8Z^oD##{Taa z{5=m{p{7tuTqW3NzR~BiA$!3QVDIPoD}~z8a73__IeS0>_ewi3THJLk{4J;2*{hv_ z!l7nRo`qoPUQ5%9v)Lego;t1Xo zZxkJn;$ztVe+}~IY_)CZ-8s5#O6O2Qe7b-W{pnqlvc zR?Cst2OOMbTjh#=7jSb{Rjag;KX(9ZNjQX{3LihX^c;(1^La4JpSfVyh;XZmM$ zf9s*iobUPzv*}ihbUwGTXWqVX-CBvVX8gYfr}D6e&A@Br$~fO=vd0&xaV+2PaaH?M zX!nGCak86%PzE?Lr zRy!Q--MG)@UYRrQ3P^e{TIDEVTU^ELk$p49>1JTzyZe^1Bb##x_b)-Co@HDC;hOjl zPX1^*z5S4~%SJ|5Y}qNin_?XcC%te}-R0r<%i^&e#c+c@e8bltN=)9T;2f*nxBK9b z6cam(@nMH)pZ`$D->vdJ#c+OnJhy9nS20{Fpxv=vm%g3g3nk8{Wj|k#Rpf9#g|t0a z_dB`m6#@D($iM0T<%K7I{B98Zv-4VN`nK+6Up!~y z*_XbxIlken!MEIZX4BGTXEdI^{Iqp-ZKtj~4vbo_OXPW}FW zYU0~Vu0UgK&;0(+z8L2ulM^N$7B;Z5Bd)-tKZv2vg>S3i;%@)Y-@x`A@m|b~bN|h} zfh0NNJ(yb5R1ki|6ta@ zX~x0q!(Sig@(WS}f1+`)fS3C*rh&h0kdfS#-V0`O{^q+TuFs{B(=az1 z+;+_6XMhIou^l`c9RFMO1|GWM;PIP_>_WYQZs2=c2djr#?YIxA|UvN5D5*00B zFEblBA3EZl*c+C6Q`o?lZUi+i#lv5)HSnDk#}s$?p>L<0pFz6CZ>JjgI*0N!1M+$- ztChdFY2dpHM_hto9{ir7fzyeDX~ur=HV^#`e2#X+y9!UMrJtA^__*na3j!W38~FU@ z;B3R-=d=bsqOc}6k>1CV1}+Q^*7-{J?hV}VI@pL*vbk;GE|UBS+b=e7)5S4cZhM6f zvT&9hoDvw$v0Zaeu4ym(^6P{1oh0(PzWU)CHT;A6{yEOj?Z|6`AG`Qa!oWMor%!2k z!llH)#L#D-kn3Z|r3dA?Y5x42&X;v9_`J?H_|?e6`U(7m_2*CMcK!L2A^FFA`G#-P zI-fHU=|>=+{Nq<2l!r`|z=j?Ezrat_=Wo6& z#~Gx~4DNTeVRI<&0FUDE)V&OR5`OZMgNZDB3VteiFfk0Dh986MWIvPM_U(4Rv+&ET zQuwo1fgcSA6Qdt<@l&qG8=N8dWqYOYoBKHpepWEJ84_>S$Dc8aKS}5<@rSwT`jPV= z{mGG<{0rW@GKia7yU8KQ_1Oc7)?3tgwed_s)~0_Ze+Ih2ILFuwbSCwgg9&?2Y~V~d z0=SMdz4DCz7jHUR@@^!@<8}Hb=6~4AaWq7&sUcLf)0^bU6c+56!ym`%s`1$4WqN*@>7@q)5rVq@w z@lI+!OrBRBFLBVn06J&jXIDZ#@U8HEdMDmoFU5vhZ?&uG8gpV;lk zk&hb=lx>#!AJ z8hmTh>2@7<=&)Od866HH97!BXjOcV$hr>D?(&3m4Tbyy7&gsyk^EyqLu^*G3H1-)j zcm-G366oao0?9vFHGCbO3+D7(fae6;Vh`OCHN*R15O7aK1bh}^*r7v~)3;*3pN8i% zlPuSvDIY<42tEfttjl;$3i0rpZRKXJC4PRhU85W3iz4nH{dX~gZ$ET?=Iwab z4L^C&p+puw1wVD+p~NtJ8op)ofkYgB`i=vMJp2fJ2EG+O2|xS(1BpraQTQxF@REEq z&!BAA&~9k3L&BSN&CU;sk6!>9zjGkb4xfUrgP+PDNQ}b|!*|1{;p^d#{o{ee7(DT_ z{YvN||E4iEI6ms&N3J=TXoMecLEi6U4~1~ztV4-*`02MCN{}9lmx*$`96JKq5^jHU zwZM){0+duKRPUf7D5~=lfkz!c4s_xII6t zue}0mDL?b;&)CDNJ&uF0_Ht;CDV4S+kvr?*6p!?Haoo6&hN(X-1Ak8sk)op@lGYH{d{6{parjy-SR?sYi=-BZ&Pe`?!`EuT z8p*#}B(=bF4qb3CAoVA%_LRBxhHcs^Ya7^ z$FpkIie`R9Cv%qJj1zUzb2ANkWL^T_G}tE|H}exeS#lvvtXH50aj0_uoB5HL#-vWT z#5r#K1X1RlE9p|_%r?_#Q|IzbB6ZekGfg~ou6w3vGe4Ttxu(D99WBRY?lRz2Cs8)@ z(>4w1p4He)i*T8%C|0L+snZRcX#%cmxTpR#(*#84y64q3^TSJ-yG(M4c$z76oo7x( zYo>9w%uC=b0`;fP4{N3!w#Mt8wAEa1a+k@ol5pmfXr|SX#^F74shQuBX&gLbP0O0L z)jHQbucw(t)P-Dg(oHihr!{WxsV_pv@6_>qGav$;`F{Eod_T?ap#y<*Ce@lM$Zw~^ z;LNv(@;mhsaQyz9_^A5$COZ_LX$RdC{C?Y{!$N-VXY3L}U>x~vpRdsHLE5?E+d@;! z{*-cI^^&D3q0FwAK2-U4gLXaJhRmjOH~=5{SBa~CLiIhR~w_COUUP|sms{BpJ-CoOy?U-Hk_f5{UAU_#Bm?!$^_ zEgrIw-#*rk#fWTqS>csrY|iXEoXtB=Ie^M&a?9`M@# zTjM^<@)9nL4<)L|qOf{tt74kp9Q$0Q<9AZ??Y`*7|;8*EbS^@A|B9r@H2#S@N^s`ARQ->kz8F6w=W1g|4V?1@|frM@U z#yr-cV_$4~Ggm8Jn&~d4Pgb!05eNOczk^NWvSN7?FY!|!3|@O~uuyrTtV4ZxRO1~* zSOCEDs*P7*{IV?7W5E=FE03T(hju?j`#-~23srp5ZA~T1Wd^2~kUE0I5{*W)9_VUah_vO>Bp84h+1#W`)_@9lbHL?DC zE`Gw%&Yoe;!XxqOd=wStSgzxF*k7@n0wJ9|zlrgQAM57?E1z(*(+`4A{lp6oP|352 zfOh$OlRsP0?{9Y`1kW*z$M8X)1L2r+0ob15GwGWNXqWlZI^Ud2#r`rrhBb}y@#iOX zzOP*|3p|vwKVPhdUL;+4ne!^@m=EWNkB8*fBR>xP^TQ{R&wlvx8$ndD&L_UA8k^H{@xwmJ>wIawOTI^|Cm(jO~WFQuRWr$ZUK4FmQhUC4T_B{srWpY$t14 z3l7;L?&}3 z_}Bh_%kk?-dtYB=L)Yne56W{Oe8rw5`^}f;Qx(8*-R1cb9t2i`{3E_{?`c_ua0~UG z*5Ko|hi5o29ppIwvE6d-X~{pj82DG&ds^6~mwBJdcIkNLgo+jaH~eD>&!;GcaB~#C z{SMEvaC3`erd^(UQC#Zg7&xAh;pTc{hJVcEc^ckQH)ZsX=a}#e3Ady;X4>W155=V> zr?xPHd1iyj^@le9c-Dfy+)iu$37(N)=lkP^KAvshFAGYWXPKZfn}4PBz~)~WJ#c8x z-;KsPuwOOxj%Ob8toK2ku=3{Ho<0Ay^E?7L!)FV8M?A zF8yJ>cAPzwg0F+0YQx?Eei*(RJ`GQ%NxDNH;8fv;g8{rr7`#+_zs3RyQl-c1wIZx{SRmhegr-P-wL0EpZy`)`r%ugyz{b{j19y( zL@M@G=aJY8&bMNZ#~u({obQTvI5)?JMb;S?Q{uwdeNIR0i_ZI;KNEGaUu*k+u4r_3 zs{kvPvHx#`Vo*2uQ*awRpLvZ7(iv0chI6t1H(wjLwadjK`~PwripnDngmR#=Askvg zDyVV}MDnk40Ujs$k^GO7fmL2Tl7E#8@Hokj=xd4xo{7C-C$-pYF9?8GT1vp>w zlV=}L_W%6p{~>7_XrZc;zyE*vf(L7_f`(8@`1}7S;ce4^N|dKgY(cF*ho__QxDc0# z>u@Xi&GM4=mAEo~3#{-j6KPqN{>!wO`Q@J`?vN=V4k09oGy!ji?|`q9Hw}FiF_zVd z0|-ruS9$Nn{b{>!t2ysmPU5!X-SRui0nv@y$dlp&@?!WNu}#KzAXK?s;vQVMeHowz z@Rt$q#tr1}5+9R)DOn26$_-ziM86dORZc+`)@L*(Pn>p&ggx~2BQ?*zw@vft zFUX<-k4&l!RP8|z9sq59;KGT-A#%*6&Ces%gJ2%1Z&(aJE~tn{)XlF+9tpwY1gM)g zh}*>-(8%?;o&82}6Xa|(G}Vz$&~Jm+mBjd0zMWW=TGe#%1!)*Td>eOZ@<4~bl*QD| zXRMTa3%$B*egOP`gSqc`^>aJ)ml{evC3SxOtA5%1e+vCmJXbe^82(>b0skeF@Xzzz z7i?%uez`ELp4D_93j6!PKmeUte}$suYRn`YfwujFz@1!Sb;IaNhgHz|VfD&X3*}!0 z?YZ{14k>9V*p+5`VUO760^e>2i)3D7W zUwSbX7m0tKX2bZ9B@rcDSiKTeWKmeXbeW1l{0piwsrd(Mwrlv^Q(uQmU9ll;^DFSJmISj~(V_^0-Op83y$^GAQv{aNt#f|y}-GD!b| zs^m@-{sj@N`Xk8><)78(plE2lAZAzy!pX6K5FIMPzYOl+^g_F-P`d1g7Z`ZryH{a4XG zE*aE{n|B<12;Mg?QhU@tfB%E@ud&4Z=k~fd7Rra>{&<=VtykQHCnvOCaeE6=uhQ`w zUwr;m)}OQotSAx6zamI)MrggH7tWuu_~((oA8z`8xVC8i@teaP-+p+L4y7w=AcDit zdcoj@+|YX20!Uyav|b>zn@Rrp`ya%}$rAi?u@%Qc>B<(v+Bu>1Y#?u3k{wzv>jn0w z=3CFwzXHl2{*4>{IkRE=mqL9zGGDqv>y>%%3$JHWRU8kkmo0|1bAtG1mz#Lb@Gs!` zxBc^S{06Z-eE%m;HZs_Y!_fW|gL-np>y_?lcs&pLq6D$({uj!E7%^1f-vT}Vo_PEV z-v5=MGe{~y{L7p${42eoov$8+*9+oMLDkA|*M(~@!N2$y=CS_b_XwZ!h%LN7zFNLy zc)ge;$1PMBL(^zs%Ei)*Z`Vy?ccpv?!g$S&k;t$nACQ zOn%t;35~TMu6Z>!8v7S#pL0NTX#0Qj`~Tg#x@-Uc4m7|v`1?P9E#=uf#+kNFIyjt* z{lEG3Fc?!%Ze;%-#FZ#7;y^_lsB8#Vgen56LJmaouR@_MAjy&Z7m%4%h$@nQ6$)(u zNsi>dfXu8yRFV9vP-qKCawPu+WM&njisWB~LR&zRBl#~NGpi6)B>yTD+5(as$$tTv zS%s(~`B$OP7Lepf{tL*=Dnu2@zY2x65F|Gywf+C;z~-0_9NpjldCvbS;+2cv2@Ro= zyd8cOy!~ZFWy&*`-~VahUl~>aN*De9Z#WT!5eMeXfw>K~Iirs%oZuXYwjSM)Pc(m4+Cj_u4RI^g5*1V5(fwX4=`Q)RyuulMuS5hzOmcVN2;N5rR4KS;(Bgb2`|0$c_#Irt=eSo><+$|@oYIQFXzq0RphnFdVub$KYw z1k$73ie}g69c7=Boa;ZU< zJumoSO`7x&p8c}nZM`tC3`r;9Szal8eZr+Dclm3H#_g{q;_%;$#khx=GQ*`i@ZYVBDU6nQjG+ zUd+C`upA9)S*3EHPISeVo&J(|3H^5QFzQ<;lF)CI~Wbn12AS>4djcoy^zql|qBqn~(;BYx^lIr@{jJ<^{=+)uy3$8)BF z=pRQNwtJ@r%xHW}hRLs8j}5|54wRdJ-s3z$xlLjGEJ2t?x(;&%Z?)mP@vE9&iEW4* zKKj!!Ehmn{$+x=m3-L+3yRgomuJ94Y-@ZTX$XaS#4{Ln)V~kClqvwO{A0{%uM?MaJ z{I$dr&J&iV;Cxz)edgKj^-su@RHHV9(-A#bn>CQlm!5U*JYwS@?~UBa?-SW2`rGn&JVUFHAW@mT}$w|Ji#Nz&MWjethpC=_J48XXJ|=Utad*eR@kFBy#K+ zIk6ozb`mEfv1IFPDUl^bk`vh^paM+{O{q%TRNCDl!u`} zRhojJ0aVIE1q%PqXCAwAd%LHTERkGtYp-@^<~!f-cfPNg-P@Uwc_nr{lj+pI?6;W{ zMBJj@QcKfQ0gPj*!}JoF(*r!ZO_Ze{oM~Uwp&uOet&dD_gvo|((AX0!6Mux$I5V|3 zVx7S*j&UZCjr<5ZT{{TFBO5p>FB`g)&2;U^Mt-`z)A3h|F}TFnB7BPQUI+1wW1P-* z5Pq=tx6z|G2XOY|?8eD@l*Q<(bpJT6#`=U|eY1c1eacUe?}l$!PgvI7jy;=kfIRX@ z08ZOA+ue-xAWoLiFWm8q`R2j?-3#wg1MfKQk1L$4OS}!D+<9I!aq^yY1zs!lxl+TO zya(|OZDZUX2v;qubHNP@db(x0R_b*K^_!G@wpyF5EupeBJX6ogSlbV{V-hw3{+BhW z@m}OgC$4aA#d4fWa8m!xhn+Gctx{ub$8^8K!F%^X{M1LH;8~#y;=9W@nH~dvUU~8` z@QbW$@JFtYJhB3%rB98MSAB2bM{aifYy5=QxOpYcA(wm_vXGDF#VsG=_mU6u^)XZY z45p@j-TaRnN!4%n4ETR&sf-^@h$(DS+kT159M5;F@jUrA^P7G0o1FZB)raRJD;ylU zcQpD|_#4N4N0CQde&asEv7CqBxKEbKzY5`(+c48CRQc9OU>qElw4yeIHrRrv3z zgV%0*tvdyYW|YMcTbS^p&$52N@rom&pBql09_2iVvJvoQ$~o@9%UZ_YY{u8{7-9O9 z^Ehxha!!qpgD8WX3-oiBmU9_+qa1dr4Okmh8_9-WJNZ7uJj^&hrP|XCJoF15ybde8 zPXwQk{f8?q3qaSOOmV&$_)1~JsM6>a=lT9xQWiI!e*}JsLzH{PdG;qPYzEvQ&ZAo& zru{AR>ix;H!#?e9n1jy)Ll zYWLLVAIE&a)Wgf4fHB=&U*wE)%kWG|n(WhKJs5xeE#&_J#5~+H z-+hRHr80-0E2eM6dn4M9iMK)FzJqILVDzvZDRjEti})Kn1k?Mhx9?qdI7xE!Ph5n8vSCxx(|9m#ep|Sxz{1x zukJ-$^N7pZkD38Xzr}muwDB-`A?>4pX}%wNde4I*PBPzp90LsF&lIj*R?K^R?TSB* zs~-03&ojlJN#JMvVJwP)C-O0XJTw02xPl_*#Tyb0fY<(J#-B#y+wted?$(yRWJ>%w zit-rb*@v-%mK*8XhvH*cUArMC9e)^Kk0ZbN^{~m(hwb-^tV{n*AV2o52Yus@wjV{S z(Ifr@1{7VwNLz8n4>90(;*Zl$5tck@d615l+iv7Djrh|@xPGL09aHg#_xv49jDJ{$ z(=Yy*@*;i@{(;F+lbio>;CA@Oa}V@D`aINgV|V~CCjVv1_W6F1^cz*3Uc6&9`4LFe zAIQN>diL|(z(c#^K|I5n7hIWkKbI0t+X3p7ra4gryK=|2cH)0Xfe!qh?z5A2V zrvg_7zG$!iuWR3`Zi3?Xf6o8E1j3{`(|`VdwN>)lXR2>3*ciPO7D6N8@Bf&%r@j%9+#nf~cm979R);+q ze=oj)>A@MBhkxJ&--3YE`>ljkZdKz$iE`X^SXblY-BxSAAl*6-gxMGu@mi}Aq)GfW zAkH=)z?EMB-8&BqxQN$*ILWi+U6>3{vYqolRw^-tcm+gWZq*3loABNAL3}OUWATeC zwqI75%fD&FE3JCf@*a?HN4xvLK=SuPybcppDfT8|1rRzfWtg zL5QihYK6|XiAjB2+C z3EVXcbDG{J4C2%^H7@=9MIl~^)>G`;(Q>*PJ-uTde4KJgX?ZzBUZupoMZ~ure3U3% zZh9elLuAr_3h^qCt`@>)gliLRZh_%Z2Hhgv0)FT2pW)}!c9m73#4dHtNjdY?o4dqL zA1_zo^#+K0ALfrqozIWf4Y5~1;B^o?uN+LszN{0zK3792xBgRz)7*5&!v4I+Iy{FO zPPY{o@oI=&#`aARdk2>G;eetYjHFjR{TzOrt9rEx7#u||#l8`pN(YE?Ffl)*W8#Z+ zMVuXKB?K>rQ9D7B)BZd0uLW*)`t3}`K>ZsnuY|y1o29>`5!Vk5SEH@e^+7zTIxTO+J%uG<9o7xP+^F~Y zcuGrad9{ddd~A@!`IMTR*Dlp)c{Q}nZbd#WZ5P(gcDIP3RQ3-}(+S%tcM-3$t)0(m z`|a8cuC_^x+4com@N7O`vE4;nGN2_6SKAD6)2X-~<>`nvQ{5Ee9KW$gXUjK=1q%Cw*=0g-I%O%u z>qLB$I^PUCr@*;rq#_VF9YS7p4V^Q%I>RVAhU3!;9~)?LJK=JCWbT9s&W$Qu#Mx@u zaz3$iiPpDU{krXQd`%(FMOed9fp{PO^`hl8zPS&xF5(p;%F*CBfYc*bzNP4d z!1p095GPqaEV^~R3F4>VZH=e4e%Ah7Io~N6VpG9Kgn;(y^@_^d~ zsr2AqJ0!$Th=Xi5-*+r+v;rP=XOrbT*re9h^Nz)OSSZr-rU%hxuHIHvT~}F;``EWW z9&N*w@L10z70C=zsn2t%6)~S!tpCEb7BwGbpv&}@_RiLhmczjzq$ia=X3K|by-&~i z(Sx9)1}-*}ZOCI{wsgl)zklPi(Yo(QJd=;gEB7*AhqDih`aX~IlO*DE$d`eZ6>E^| zYf&E`E^hXOrtQRHpAkHBO~s*ae_YHh_W}+msy-fI^@C^5i#O|v`QM;#tlwar1P#iK zhX$TP-gN8r#(=-+J0D+N+9lUzmKak1YJAL10N$h@2My*oBLAZiu9jqBg;?icUCwLI z#_vRBpFa&L`QFk>{F~$@1vJY<8S2g^UNocL+{O$2E`p4IYV~VYKUcQBZ0wAkXMAnd zEvvq@a?i@|u1Kz!Sbo>?A1}Lm+0T~VyYyG3_m^6wZ(35gND z=kNcV|9=^bns&|K|G$KDe&_$|uMI#b%OgMkKTAR7!SWJFm%v;NchWKEb8>ye=cZg{&>vmfBs~f3z+lz&jl^bACGzc&!22_0drpexuB(a;4xnGY&3oT zzurrs+}d=`2Wt*RFDOXBLTDuX{r^hbnBRm1GSAjGA zH>JRwn(I*@r_H(woGGoY0%y8uM0|3h*k!Brht+8X`lIKRf_m{yto%gNqdnN}b_ zZKUn;TR27BoIsIQpeHw^6qsMYrxj4_JW~pop}(JY6*%8Erxob$j$H-LH^CkS@_XH4 zvw`(Oy7F7vh}c&}wcMP6n^IuT9di{p^SV+B%*j6ytJsmQv_ZL)Kw1F>$wsCWR0-9} z>02HJ+G`COtRbd7xlx(3f>KbiK+f2)tf=+;i6|#y_TVe>HgSy$bQfTs`36jNh~cYa zztT#S$^|JdK$~SuZNf+KTdf`VM*kYj!P*6g*W$0&cdECe>?TYe*@k_wt^s@;^vV@g z(yp|QgEx)W?|ZybYb5u$a}Kh7>68@AJmLCwWT&%`$Nub=P~q zy4v9*H>ct@+|K3qdKxqJZGIQ2^P9haLVTC0zn7atx(+AxJ=^bDsc9L{7`9T6ao`3Y zVt+h-N36f+onSuF^>vBriZS`U_9*gL8+-(Ko#`QPzi=Wt_ydV&?#P)-h}JcPFB! zAQyiR{{8s(0NO_O=-+;RJQgTL6yW4&+mENUf7N97#nyjAN{P20AN!%Bs}%4o5(B6^ zdp~yQo)22{;m3^UUVa>hebP?o$Bg#JX|FgL&u8n$z1Ho*kL4(Xd!_Mfad}iAs(bnI z2xv+_E>Gy$07uCS;{I&;fX%Ny`I8gT-9M7@O?**a>BIa+elL9ZWClNGf2{p@>c_I~ z#p6TMd>`-l@o~fu+W=Mj^<}#6= z`7!(LIr3vIHpC6{@b=?wr7J-CiQhz$a^Hx$v-e{M)wa+h^Ww*h<6eF|3BKva9M5x{ zHUPUni9Gh-v-Ka&CvqMNEX*gm-EJVqXoczCgjB@XYa?vG59|x zqOt#$Ha9XRuX>)#bMWDW_dFM&f9@5n{dn}JvToV?!-n&P^eyTs0^ezPaQQ)CJkK;;zW?44=+zi>xjXz7fH2wJ$aI-0V z-u3fiK3`{N|HPEt(U1b>BRxY`Dd1ToPC>S((I2O%dp`V_<1#Nl9zdJ5AM<@mDeQhX z^7wjYw*EtXJFnd6Gq1HJ$a%kBejEW^`f**NB2l46PvhW&Z)s-B2W>s}>l4wDDQR;f z|01t3VVoCNjl<;RV%PwmHik8%p>7*6VYw*JHSr1WF?hFp%z zG$(vd>gC5{peg;hK2eW2&f^&J_#S1pd|3a7zWBE%qW!;-dQE&)Ug^W<;0(ft+cNlZ z1GYfdeq07TSA)mKSp*?SgZ~qMErO3Yw`6a3j z(+#LY$qnI3eNW<=jenPd&zbsn8|siW-=p~XG2e^77=AnmIgz*79BrsOdp~yQQg1Wx z3`W=+ckt6IF?7 z#BmIT0Nlmhv6>n!M77&&7Ese0VH_ACm{|$Ib7Sbt$-P{Wu1? zwxEg3I5PWjX~8eU-wA&@{ABpg!$-m`n7@BncvblSLeGaj7kWDMNN6B*0Q32)Lu*2z z&<}%O3LX!>Gx$L8Am;bKDtJz?I5-*jdf?-M#{&-qdNJRBV;~+_68MGnZR=Ck-&$|S zFF?%!5dduFZdIHG#qa-||6h(W7W4Q21-LPP^0%uQ?Mc7ABR$I}Ct&HX4SWDRvg`P8 zlt1zk$V*^063EVlXM;IkCl@4;*MBZ(Y5sW3>wo@an+urp`p*R|%^#0>{m-9la{+T+ z|GA*0`QtIK|M`<`E?~~~>(KYy~#1x6spkyxEB48Er(;}G&T7~@fL?)PRS)TJR-mUOP9(XXyeJ>=G|6fj`XFYejhJc5%;K6bpCy|FwwyfJr z%e>?u+B*rD*k0MTZ0HlO7yUBe5cCxjjYyB|dn!6KoVi`iiuU-M9*iDc7#8g({-em> zjr!dWJ{Wxfa%l^+L5@;#s!F;Kf{0ZU^HHkNRvmQrHm7RrVDg)(dKRcPd;)p&qfB*TVXGg$RADOe2c%G5v~j{Z8(X;&(7F>O=JA%%}9gr={;0%bhV_LSIH z%dcJBY&@ZKQTLD&&q!-G^5dw_d%t)_`yT+@n8J~boelo+%T=|04b&e~e`S=00{_{JZ5fQ~pPR-;aOl#Ebta z)FJ;j;@p5|g1FKh`FHcfJg>tm{xkuPwhPu7P;@c(bwf@%-ZOm^`3ck?FMT+w<0bP4o*Io>$dA3tKi(70I2yBymr`Dg_miOQ z#7jXZMgLkJ%+&ITgD0kUs(z&rY4R`zIcxseUh+SRvSVnMU%Y2MeGval`5ys(hkrRP z()f7w;(tQ%f1`SSE`u)+wimwXr#}rtIPRV9@bWo+T;a6wddQJ*CeNAVJ^aq6qD_!F z;l1Q7N0GW^CRXSE)V;7zg`?rm9*la(+tTtL2HY6V1mOJSGO2KB3SM$K2^h^4%cqcT zLR(lz;PsHp0QijE1DFS%T3t8zV3cxl*@Y%)H3F{bO%k6U9N*`46K)_g9Q|YnaAWsB z75&Q7{&Wd93b?`7N&EMsOPC4LJv=>KHmDTszIfpy8Q*W!0j3Qn;VC~}-3Onm%{(u? zGy@0qLO}ZcAktI)nV$zq@0g-Z{ARx~hWugH2mcQM&TBkPdQ*UF1RU%8y?0=lIs$w? zMI27^_e{@&b--^v4-!|mqRD%|_YN#G56X@2QMLWDYzTOm9>6&Wy`EHf`F_U-Z)2U( zKdOl5HR5%@N1X&7-Py6dF{6&3o{3K%Y_FG|8-Yjjug9(Z$fH~{y>}P}%$VZAkA60G zc2d!gfl=Do6w-C@8}jXkm-(ef1dI@gX=ioFAD3kr?W`FvBML4HJ0m-MK25W;hQ+ zZB}(i$4|~|FX8p!#qUwz(e}f5N7&=)n#q2~0aJQkW<8t4Cjsw4KM(;9(r>^?`>jK| zAMqJU-*(Z?niOrqnfB9<{Fti$fKQxaongRD;-sJW*^ibB;d#u|e#U{{&whx{LmpNc zcqd)Tj@L%jmeCCM12Fq&1H700bR%EeB;_)!@Uo(x{ZKA8V%&J~dlGoGoOJw|Qn)kO zPwe&RH(&phcx~WEU*l6eM7-!X0*|1t8rP5X@i)kRHWS`K!0EP`_H!Kh&8R>2@R0BC zg{(IYxCG#M?`Ja|zruWOVGp}*N&=Sjf&^m$@WcB=iZDzL;HIAV8{h#yyD?yZW_3!`Uy`g|{VysH~ zTxK%=Uw>`jgUTa2KmXrDDEX|s1hSKW8B(&Vk%xLYNg%KPmyrJ$=55LAf95iKIn~JP|K+63nYSgc|C!6|w!OI z3ZJ!1{SF_#Hz{2E@U?y??)$K#M2q;AtPd&TTlc1~AG$F{e9Np2Ypv!%jSScQ&y)n7 z`AcSS)q{YwIc+x*iDUN@pS!2&Iw=o5kBzm6+l}K|@N}KE#{(1gXaqlh_PJ;8-4Y|N zrB=|Gu|Qm}cky$FwZ#XQKmO-_@}d4s0)OGO_^-7#3H(<>Vm**u8|GTH;F?6+$ZKfD zvBOe!VQWLN)!c-9eLUpibqjFGx(CGmdfd;0x+b10>K;AfB|qYKi}>r2kop!*~I$?-h7`IKg8|Eq4k-LNw)3#kM-X#`3YHP zgP#U1AY7kv@pCn1)p1T?H~vX(B#ziWb-dn-AL4f7XjJlXW1?(s`BC#5BrgkvzM7@U z3XVSL;$<^a`{9-~Z+*+B&S=RPweM~E9F0otB?GN77=66Vw+w%@|SX>{71mo1Wxiv`3pOF zE=~R{PCJH+9#M8OGx<|iJhc2N8&m!xp#P7MeH=ok?8%&#KhsB{A7THv3i}7VxBMRg zw3L4wFfW4q1K#%U$UgzT+HjIjVgHcDvCn0ezm^~CP;Lp!SN;Mo?O(_@R2QJm^r7WX z*_iTAeEvlALI`{iClQ>9Q_G*}2>28BkE^hMT)pKlDGB=r%!?p@pZMd*e*}C@;3TKQ z{%I#)NRz)PKORn%AL~pbe-_*E$J871wfw1XQ~o2M|8@v`3MXa12B(%k(?_8nVgI-a z`v?4V@@Jb~it zcrzYLDEqZIwfvcmfIngXxC;Bn)kpq9|HA$O^HP-m2>6=7NkIwwr=4JbdsqL<;`&sP?9alf<NosH%b)r-<V3MIj(|U5|F{bK$JJZ@f;~C@2h2-H{?cy6_#b>t z;6$^e{X-UU?BD8T|JvpWtB+~qFTg1Og^;P+ceMPeZ&UuQzxQ&&tA&@T%4G>%IZQF5%4GMA6H@jxO&U~9eiAq_79jBLH^Un zfABSdlYENt4`dPlhPV6)!~V}arjb93Mf^VwnVR)@ujNmDoAMt4{V!vw;JU?9_U8ds z$A9YLC~yh;$5q%r;JxKfDr)=#n3tmb6X2^2C;1fdAF??1O@H|l&OD}(zW{Z{KW0rw z{?xZA|HQwZh+Yoa596fl&&R3b57QCwNBKA4D(oLuANdRYi}62TUW)P`0bdh1(Hv?2 zw3Bbmnfyijr;|VRZOVTH^xqBHM=+0;vgdy9TK-HQg?=diQCx-n1KvmefKv7km={6* zKJnk_e-q%V4JY{&_77Pc`*xcA)$=c*QV+^4!}}irJe~ZhZ&Ut>@0^I1K=$1@DSNKY zspZdf1pEp6$5q%ruG7h%ZF&*pKYjcMUlTYfC=vf5i^+dWlRt}{!+3_8M*b`o@t@Ca z`hC1cWXFHdPm%w?iD(aGe+nmMAIGWVKhsB{A7THv3i}7YS;-%8FOB#AhW&%5Hk_16 z#2S_F<1t3@8h;YTeMtEqo#p%gCMyowv`ylTSPdy@H!c74M2P=}L$`%WL!S>01nYtq zhaUKtyPI)l^wLR>yTZkvqLJo0tm{j8l4?BvMaG9sX|g< zWY=MxN0nV@XV-(Ejk`!?lZz?`NyN^s6Wl8##VWf7jj6Y4HSQ9XU5m^br#TB$HrLpy zbf6cC>~g?SE;iqbjO~bKea*!-h*<8o6+96r0vg?su;UHORXV-$H-S}l9 zy8_kgfTTi`T&}W7&=A!MJG)vaLNT~fW!D2i!a=f1WK*n_Kw~TI43%9jaNF5@@HhjI zL`Dq9N5miIY!c9qG=xgwi}LnYe=ah{zmixlqjMRqM(NL|_z zT(7dJM@n2lZ&2BFqK!803q&@Xo}x4-n@(awU#OsIXjGiSeUY7A0r}a^eX+-^DvfNz?5pf- za#AG&T-cKPitPSRx#moN(tkZNuXVfJ>yZrr596w(_7xdXc$ww5ZjL+OYyFv1z@z(d z-A6^fCwcZ*4@j`U=$`;gGtTk*|I&9I_H5|y1`g8ar%R-N6zR$D1Mh%b=MdRx2k{OA zjs+vvzr$WHbrI^HME(%!cccCTKI_>qf8epvXanHbAiwp1-0LZMtp}98?wwpemHUSz zfZx6DT^sVqH|hGU?-TK|2lxIVgTO;QM3kM4D!llWVUrKuMlZZ>JDUI=)6U8!B)`pn zDD)wU$iI1Hqvrb9Cvi5vDYHG8{CL^grK-$?P(z}27 zRI~%%sJZ#qxR@XLfoy*a^!2(^t@yGp!F<#wEbYl_-6ZDI&W-`L`;GqVmYH_eW!>w! zZdoQf8v=f}osDU}{r4@(%Fd>Mhk7W5ok975xN38TeU`GavnJp%?QB5d&9pw1TTfnk zJ_bB)J3ECuevg>R&aD5!`d~PZ{_*3!_Mr7ooyP#{ML&*wK_5cny2iVa9(@68@BR6Z zZ=6J2Dd`3r@$%b3lg<$G+fcs@>x%o?Su4Iiqn(uk4zC$}>fe&oC3*)int{Z%GA8zcS6)8BV%O4FCp4a9+S z@V}?G-v+?x_Um}Yb(!0cUx)hB?Yl)g8&^2|?2PT#G_v1!%dxXD;5Y4z@{g#tW!iUZ z@TX4ONZ-rO62L>|VmR6UW`!3?zj0q9%k(i2e%5nc$D_bw#_{6@-t6K@AmC+ZxNPh!`+c_@JF5eJx1Dt>n&i(fo{jx%dOI5e9@<$0PTJW?jW^5v zkR}Sf?Q9ZwOl8L;FM;g$-SW1xM&NPVS-)y$rg%0C7%h+N>|FY#dtZW+nmz@FV+!f! zU&wWZGvO`$xzvSw->o|2M^K-*{OpYFqMeNZc9#2Y5xqDvJqHW}ziDTszkDisO7VTV z`)*liBkUod+|x>^HlOakTe~G*v`vnojw-xtte-y2b-fAa70*V1$F#F?r2D6&p8W6< z*OWnD_gh@QnzB5OlQ4Q86W((llcUJbwC@(-%!A|o>G$1|@q_(*Kk%FTn3%Z86WX7) z@74(N>AyP_@EFp%p5|Y~Kk(m3xd7O29~MJiA|%X||2p9J<6p&}H2%9$hs3z=7LQ@2 zJKh`oFzIu6$DfnHW7@@(!kcN|EjIySZ+N$8j^9j}w*Qr~KAnBH1{Ds*cJ2$}-gipx z3vwKA6AG4camPFIWsZ}W_VSl;;4tM<`YVhbaT4CZEA-Di9%lPvfc3&#hkO%no5IQZ z#OrPs^W6vW`oRtVGh&>=Ia_&i-!1FcvaQp}I}W(r3f7Q|n`JvqfqBWL2{^P|PU3z5 z=g183QqNv^j~RH$#3_Z7_kQvw9`nc`Z=rvm@k+}0mH3Fq{eH3WH>u-_exwOY#N?0n z(;Z&z9tIvQPhEdZ;m$O!m;y}v|EBN%HBMf==*NIV&{t2PO-Nh6bNt7wZ{D{7uJpGO zPWLw~A6WEkbX@V}7ne;uyq{@Y9s_>AxJ-O#r#mhOBH)#}+Drf(am72or8N0(So&=A zm@0dK&wU>IcuNe1=;lyE=z`F)(658f2fq;f zXz-oEqrtm_w+1%_FAlB@{xj6c7wZ|k{e2tW zO#83@&)@&K{(lXGMS1Dp|Mhn^zm*ZQxn#nVDbz-%~94%)A7$ zkwA7XoDHTtOfE_wum4=s+T8J+*Z(KK`ky;l<|3xN{&P`lbH{UD z|8pnHT*Q>ue=cfm?s(4Yf9_5Y2GQ~Isj*4<}l~di+Sn%G(y(mS^%tNuN>eMaXkQ8 zq*f1binu0#EK(~7I7M6+fJOEy0!|Uv2GB)fhPYG2^#OE|m=5j~agBg8#T;if3!RI4 zN#?muz?qnaZBKr8invw)i|h&TP7&7&V39ou-YMdm0W7j7!tWinu-joycCZ!6}NXB75Bir-e3vlWqJL8$j@BdYbnx-)QHUInn^fJmrK4t|7nRY=PT#+pYtj_tp?=ve_G82ITdBTH?$3%6a|gyb5R6 zfQgM?UMhb74`3~LF264hwXna{E!O#ee?e39a+I)eBhDtAZxwLz&nFtXxiWpmBLPfY zGk`d5-f39{)_B0$00KQ$5?c@?alHqB2}a@)ETF;mSzT5K{=R_NjK02%ge;~E3l?r3fC>xYvBWzSV!Q8m*6X%+p%^>Ilj@U zv+lRz$Vn|tAg4YB<^t4NwoN1R;l) zgQMF;dY_S&m^<7R*9xo`39<)O;pQzWF04j2`RP;zTX!ol>4GkI!I_}Q?F~v1N2CdD z-J$ASC4|MDJGiSxt=K?=yK8Xkh$^JH3jlWm;3=zf=MS6Yt0C#>E7yw3ce`m{0@~b$ zgmk#)0O`uT2TCmhr%<}c161PeapOG~c)5K@t!M}NCP)glvn4>F20#Spb>mnkM8+*h zba6`kwP2eBSlH*TtMzb57ia}tg<9M@p$d$#$=tPpd$$k|_nF`>2{kym<3uSs2Bj-q z{UTJT5W7dz3k1BEp!d2#&jtYTRVsjfH^5q8A^-^;)`i+AR)Yr?oKywd+y(#SSMZ!) zK@kEMW7jn|+VP z13zmt0CuD`cA*4(lc%EVs}Wn_%m#8-T@>1BXgBmU3&S5>tn- zbUA3UD{L?-q?!T;O*Ys?4p<;v6dX9&py#V*w1Z2UmcDAWaQI{cuY>MWg~DNzU3`IU z8oj{Of~Ixb`scvO20UK?c0xU=jo`4!23l*~Xtf&h=U~Y$tVLlbn7tdml>`=gnq+@J zayjVK4Jb3KU4m+TuueZy<`BxJae)#IJ_Ev{<*3KqiYhRQx&Z(D;8>3^ZoVp2eOY^#pz_)PF{Z;- zsM?i^Rve=@iLcrPE!!2xaP3lqqReFt_U)v274AzdiaBK%aSeKK`Hus%3N(s4qV2+6 zB}i7IO#Z!8K*`|-k1{n!eLq^sfHz@&~by$oBPG{<`#JH>mY~w zk>gidHE*R13p#S%20r{acyal=P4Gx7;g~mNRFP?*kTRn18z`iVCd`4twIJo_54S&8 zeFtsI-G8L!DJcdRn`NKoz-tLp>yGTb%YVPU7Uj!EJ0S;+zDV>9>_yBzM1wj3Mu1WZ zP9Gt|3_-7Ri}JASAO-N;caRs^T_OpK=7>j3@VG&6X!cv=Z=0LHTjr#{x&_4a%c7T- zs?`8x-sMlhrpW)*LjG#`NW)P<)!O@zYnc&`1@LT^(E+bc&~@U+EUHo zFvp8>K2V9wx2o|A6_}!Zj#JYkM7s8G1(b~S&SM;$cb)z0sEhdqTt0+} zV)xq-zWKI`FR*KCF!|WRE`{&DZNSPj!0XXh?-!4BeS)(cZp*yhx=cv&5)8#1`{ILy z9K5IIGd^928v4~QIpAw`n}bWNM)f4k7fSo^+{UN%R)EL@@Q_c!n%Mq`Wqm&o9g0>( ztB^OjWkoeDji1*lPz{RbSDDLtJgE0mYpSC0)m7|r#X}RR z3lF%snOs*T+7p4aA8owan)u!Cey7lg%QwDulT5ObIy9V-Wi9{M)nbH#HksMFO3IZ0 zZQ#ItFyGW~KX^V5d5MM%w(O{1=B4X5uJp@S5Pf(>K+W<+K@U=gt-Uz;Hh>4|@HyPA z&w-~LI&OW6iugl)9y_Zl8nN|aS=1+G>(=M)A*ol=)A~HRHdUYfDm{g3GfsbfN;{-J zOF_RM=Q!j;zNFmdO`jx@@gRLepG=BF^5ytzBY2MMLR?u+eKK#h`rHG*B_1z*BHQ-g zO!_Rds-pB!!tta$&5k1hY-rOz$>>!ojA+P*Zt^arJ5r5`EnFMU<%&lZ1R@tuo9i+;H9 z#KN~POfIZg_`3yPS@4ksgA2}$zH4>=>RVP{zWUMS_b%VD{1YXQmAs+krjpu{l9GQb zK3@D_aa-}m;#l$TBHxL8A~GC#L*&*-Wn@Lf{TLR!#)5*fx83O2F?xq#`>!De(OQ5|4#wg^Z)tomq#sp(6ahgHkQ0f$#4(S z&A4ZGwvO*waTE`n2}90&BrI$Q-_Z2mYit_D@bmzFyW9zD=*GVe)sOT-Pa0NhQ^Rfo zEMFQk{xeD_*u#DQxz>gEQoOmBze5}VbdSJoLZ@QB5Z^Q~_Ot^3KHyi7PY-?LEEirM z$p3og3+r5v>#gg7lW&}DJ_S@N<%_|mXPeIZ_fN!J7=38pUhvVgU62`CFQ8L-@WK1= z1@Ak@h1a7^0xA`sZ=1fj{r{co!g#TDjrak8zw;c1toSjA(7%99#am@aG=`B6`-~Q7 zwj-sE@LpP_u&)bYUu}S)g&CR<*u%&&^&)qqeaCqYGf3MiFbqb;w>3s%nQMNaTk^hZ4l6@E#8vBB4e;@{xHa2 zoEQaKrCkdw(@H`>WhII8H{5)Is||H2Trs}x6)}_EV*84yXSXK6SnQz@0hP+FuU+49 z-E|kvh7(cG=0td{2Pc2kb=5_)!7l1ei+$|RD=&6o_p!X<;~OqxYE8U2C zsZ#fl$kpFE^HLWlSz#CTQn^|mNb9R!XO&*&!ai-35_M8B`$+M_=Y>e%rQR9>w zYFZvdom3wDFsDk`hf{$s)f0U^VEw@t%3ZCRmS0gPmER08NI<9Z?a?{`mCCbE>wZ?T z=pZ@9f2ZF{?~$+Ii0oY#t&qb+2R0om%J6YpiM4*+o4$_EeoBCOwfMT>06Jklq`zln zRFy47nf&shTLfngyLRDDmxob)26EaFycotc&I06LWaRUe$0pR{%K(PkUJN9x^`RBV zaN+M7XS;@id_l3<`pnpB1rr3!`Drja5G*;!#G&9qfIC+VJ9;rl=_Tn&p z-j|$36^!JI65uNk{y5)f!)V&%i)}Pv9LWaC3KXtl!K0L>e4#>FO8&JhQ-`aRCG{;~ z7NGuee74hqu21LD2F`#?+5~k+9uef9jr=aiL3T}~%dYat4Z3YbfJwEV<1Npv|NdkB z_w#+7zicc8L)oO#mUY>db*`ZyTM}G<%a5Ah;H@i5mAQ04kr^aTg^o<=~d8 z{vyX(@4!tje+ipe{t{+-`AfLW@_!mKlW_j>AF*LF%RkU&t>5=I)i*jak+$Y#8xl_T z3);@ywn2N8aFoYdq4%3bjAI|hFORMDU;Xd3H)lgn!eypMe6P8@@D>N3pH8C+j`%X` zG##hEOeAd?oBU)#d;@prjrXQGO4+p##0Sj7=YVKakUi7)I-8Q`qXt-=_AOf6U1oPS((VEp5%1LGf8KZ01(`jh8w&qn?dZhHCSH!p=Vll(Q^>E$o! zW|sfLa8S|AEPshBv;4{bUoU_54o4>bF+{>qCjNb{gOBp?j;mj*{m`Cl=t;QD^!^Sy zU2@wK%?>`lxN0f5>2>PhWE(P%LnLkL)n6u|vLIL8HGiv|diHTxEPnF{#6=feAcB1T#Q2BAgLE6tM8juRXM>mYJn&l0242DpBF!rg;^o{A zvt7&=52L(M2l0BrvAFSlwNdM18=}o`d1CcIxGD`FKX{kl!igK-KXKq-VKM$~fxO-H zw7i=DH$Yg>^OMW%rPP;mc*&(7IJCS8c?{|Czuyq$1aPeLC)AS% z9P1A?UKri2;2tHMhg}>+93UPXfr&qVVs*SAkp@>}t&kA-tAUxp&k*W>e=oXE{(8Fy zf9W_$3}jo7;xF}_Y&4*FX#V3TR^RHw2l46SiO>_Cc61DQC@)Toa35asJ*D8aHAVhm zdb{(&>$U?8Gy2SiXurY(%&m{tW$U2JcIFm>SkKoh$V@Z14rUOT(k>?j+!* zaB?PupWRUo=HVrmN#M|25l;;5=zeCy>d8-x344BZAhjLDXW|_~JfNMp;Y#psT_2{M zaK214Xz+zeD=dRAXehfOoP^i$#VtRLOJ8Zf;~LX1?#5|Qx1&CUiugS4y_NAhewbe$2ko8et5~Bd3fPH zW#A=j1oF{!1m4uR;SRY1RNzg8(oV0(poMhC{Ewiho+z|h;!tv0lZ&2Q^yWp)i>_F7-lE8&iG^bepIkV&uw&t_g$)bWEVLG$ zTJT}~{@%afwgn9f)-3p0$ryflf2gFRq^acMl7%HdEB;pTGsTY<-&cHF@fF2o#lML> zANf?|Sfu}q^Ui2G<2S3mvg*lIt*fqB_0X!5E1Omhue@*N(R3O9?rO%X(Ety>0zxd?h#}+@i)U~};D&|-W8@Or=k-5VlFUs!dHv_6-sXzyy#D7(lDUZ|um9ZC+gx#- z*Z*8eGB@$$^`D!1J8iB9tpQ7{{~yG+8usu1T*Q{ga{RNbH=T8J;MK4Y8p$;{2XONz zxauP~kn(Am&Q7@&a(&KA6_P?OBh#)E{G{tno#49Mcj*MzzV6ToRz9c`Ea@~8T{?kz zM^?9)xLYSkr^ih6>coAx*{T!wUi&rBRr3CpV9 z8sNO}Le3D!^>avbMN=~!!6)%%noAg)X?~hvrnyM5nO zB~sG-PDz&+e(%6?@Sc(m8u(cr!sqiQeArc9VASU{KocL+L4zNrLq>g0BcmB={7eV& zot&92uo5L^+LSNhP5Ck%ap5nvR@m+5bg+O`7S{Nf7V_YXd$dE!D`XWK=^*Q?v@I_q zZPu6a0{=!izlt)`LSCG=&wL?&z#Hk1RTebUVXG{qT-4{>dDN$U1=wCAT}b(H*uY1%2>Vp!ObdHA(naJ)r6vCkeaS!ki8JL* z{*1JsZ=?&UAC(r%HK3lEHsNi5Q1H?pV6U7tZ_+c;g;r;;E|>Vhzba>1*e~bBJN1Kw zMq2ojO56MyY2m+O#=P_oAul7%Nd<*s4!gET&^OW{`md1|^iAyyrAK{v5euG*lX1!~EP~S)keW)-h(AVJ@UPO6KK#Q-L%+++vPJeXd(v5=tJ2w7Kr$xLq(!yShw4nbl$^YS6)2uJ>8EJR9 zke^XrKzlLL!e5MZ5&QFnZ~Z=(HJ12cFGgD6H_`(CHShn|*EsOOLL)8UjkIX5kuIdY z8fnqrzW&Q!Y_#!pw-y>{fzL=I{szr*A%CM>w9iPJ_@x@)zkm0OPjbj6+Y9|0X->K^ z(?Wie(c@e(R>H%7jkMs;NDF?9w1^KzTJ#4OT=gWEY$ZOd^BXQS(!yW%?i=1_mqQ;$ zTEtHyE&9(zWA|Ne^9TNov}li!4l{nfp)C0a3LY2BObhx(xxjz?id${~pfnrUlS*&- zS$7lq<3gQQ)vQ7}S6RucFC~rsI9T|-JN}~&bV*y#GtxqyMq0?HPo?elskE#Qc|ZDv3vPmRXm5gFBQ5Hyv@|Qo zPtGZJ;El9^S7}MFB&gvfJ=l|+@9Xeuq(yy|mi5s-m6r8EU(N%zWI5z5=jmEDemURO zl4gkda^9#V)r9e`oO@^~Fb0(d#M&yvjmJvoogQf$zO#4*0O#%sQtHHCb} zH69$V#+TGY2ZpM}90`y45dw}=WSamtc~*^pdn@NNdCZSs{eHkTtf`4M;W^O{PRxHG z-0IBuMgemYr*%eVxUy342Ds4`nc>(N!VWCU45ysYY5;8G6Dy;f*XA{kjP}q5m>~tn z_6vcz{ygBy_nNmd2prT45l}CqNXNlv0&BDS;U(NDz>!=x=AP+!ZGwrVHPJDg-+JH5 zDCxIh9RT|^2P>!}4w!zN7U2Bm%V}7B^_nkNXsnTH3V~zLHsF^_o%CV)IhKyVF-)2` zVuhjTHQ>)fz7eel!m%xs+vB0fQ)ZW)L_Xy-;5=}7C;xiUKd$K0 zUui!RNKc$u6W#TZl~F&ugt4NCQ#grP+t1y>6@_u+^{afY|KK%F0w21`qN9LalzbrY z0pas{E%1;rGt@LHM(8%uzzlG?85}uqjv`JF)iAlgrie)dm(O99iY;0*g`HP2(>Lo1_R_Md5-*983Tah{3XOP@zkhr-n| zJFa-#UFzTenmBn+ylM6iJktKOU5ySf3#$z zWVmFoWT2$Gq!}~$8%h!-v69jft7Nixym+j5w0NX=xOlL5pt!rZxwr{4=@VF6zZ46+ zOh(2dW0BFw2-esij0{A&Bh8T}%&kvEVv*8_6`3p=FB&TvEgC5rE*dNvDC#b1#(evR zqC`=wsI@I9BY$|LhOccfnOAD>S$%65MF|5fyQZQUF zSTIn~UC><6RM1e6D2Nr57Fd{}KOPA{Yyn z2Cd*^U_3Au7!8aBh696vVyyE2E~^>qvaAYx6+0RK16KV13#|EnZXkg@0A3yViS=FU zNH8FN{|{PEtnToRwO7IjX@~E|*?^lj&`rsTKJ zRP(ViWK9LIGv^-bW-ODq2TQRX#*^@#lqF)hG~^y^=u-{2O;~F28lc~3)oeQFgEcmW z#xxAvbG8TnxP&T~ZE~AaQCfP0;IQOD;0JXambZH@jpRN#%L!RV!5FPA?9D*9!B zlMBbzTne73CQ*L{xbLuP8a?v1dgNi_v9!8+AqErQZ60v9d*pG!2RAQ!Jn~kXd1ZoU z_MSD|P|2=uwLbZm`{ZBYli%QzzsV<`U4j=s z*ZAbW#wY(;pZx25@^AIYZ}!P=@yX}UEH?j9p?A5oa1DR(@h;(VB;F*lVV_k)Z*b?)6Wn3zIE~907 zE@NYQE+b)jZnI}@i)St+Xq(KyPBboe5G>Q+8X)*#vv_; zO5DX}AN*BBEt|`@4{gK`{#0ngT?!0$p*7r3FLeRlc5u}j5V66A)>zYb0uZAxoA)ae zbvK-QEGB43t=KdYs;;y1M4CS2$81W+=cK`-jq-C51+iX1q>a43^o^5MHqRQ*4QRLC zl%Pg_2I#`$-Z@D01UCO#M(%~p!4=24Hoc1#S3WY4A3!R~=K(f-IeejU+jG2O1aG#* zd&3B?u<=k1_MTUPKCvl+kf#kndD;-NpMd=)r5^2G=W-WRCJz%Wv1_hL8TAXFXU{J@ zdOe;DoPC>G;i+T4@FEH5|c8yTKqw^}qZ8TVfD- zVnok<*W7vhDaOt-M$5DbuY5|{p%oB){aznf=G(9`o}X&b0ISbmMhNxxn?8#cTeVpSeWv@|l zvkzXz2QPZ>eCH21M?rc^9Dc9`R(&J-V!bM=@`fg}zOrC$wrJNi+Qxjl4YnkhYx8c~ zcAXCn=5s}B;l(x%zR$5KDlRVb$h*YMGdQdF$-mIdS9qD1-U{ZXw}PK6yZK^Xdi`Y{ zkjzVmT4} zV^h2`LtRGJZZ~DtwkcnpRc*;Z4Qtx=lYLD*L0y06$Xc7@&Av4Eh>-`Qg?!tXA~E8y z`EHm24#oY^w>@^2UEiMvQrA-B4w~GMhO(y)YR)&UV2#ix`^bKl#mzEURY3P{qQs_b z$AeEiJ+#i2Nh9<`tLX$Sy{l$BDARsqpDBAe^2XmgC>cq)hInl3Gsk1||EsS(6tnrc zGE07JE?C>%rCw}3IYC4QURxx;Vs z|D6N3i)lcj7u=PBe>swKEL-kePFZ&<@3VD%p6O#Q|6`fmo;9eeYr!|yXQ;51CY&2emN0AtwGsn3!AKTcf|x9MM-L560G;L{tm zo?@GGi^-PPYH(FKKTKfdPwm0ejjdB(fX z*uUzmRpB*nKl6oEUyD8zegCTcXIyy3Z_BnVIB&skOTJa|(UQL?iI;r2xTE;e;&Aaz zi{2JlymYeky{kJ{_eb_dwnb|2+kZ*qXGPyB8eDd==((j&7yWqgn#GS6J%C^TZ!Owf zbZOBI%gc&_MK2V74Zr+PEq!0<`wIV}@b8x$Sr%FK`oa${Z7Y0!*)DtoaB*Q-VYu+k zi@u5P9(FITSlqnyqXlory8I0V(SmP=KfnCx<;|s|;UBLYTK?YfL*brqc=4^_tHT$D zFJGQmdaCs8rAJEJmM;tcD)imZbD^iPdjA_kcZO~V?N~Ox^zzU-p_0%~gEh;(8T`lK z`+|=yeS7doaCFh)<)fto%Nv)TTJ+Y{UtW2`>ixkRf>#DF46X{UUw(9HF!#h z5+C<`@Y4r%JN?0*gR?vMMuwKd`BMSwVe$7-@%KIAuYCQrUEKeb_zS+)S@KuI-~0{- zAAs^lUIKXuWGMl7QT})ZOCYcRSFrNY^t}G_`hR6h;FaC_y#MF*|H_uYE4%f1|Ih3H zl`Vl+cI)&0pV$8@TLQ1_*5~~{um4xJ1YX&#&-;H~|F3Kbyh2+aZ}{twSpPqOX+KyP zPkz=Ou{d)qfY~(s{r?Q>x^)dAZCU(qtsnQlG~^X{-8Rn1$#^8NF3d2#aW1q*3#<*8 z+P~Gh4IiWKY&qE7k&NwVIhc%9RMk}7knC*fOUAY*dwV;RJv&=ElD)ATlHEPY-ehNA zOJDmvNmXNGYb!E)MWwA>_qN2hZoGgr-sR9J$G0YbV7=B&qq?!Br#*Jvp@S_7|Mr&7 zmIEXvSTPV+|G}Z;-sHacA8Zn+-|e8T$J|-2QsQF2W>Z^Fdv9NRXG`qrWY2+)L!GVH z_p~N^VjEizws)eWr=_pUgHX-RmfpKs`u4RY?``Rf@4QZsdyhk|$|AwtZgRETTYCC_ z)EV2^b?{)a=lXkv#N3S_(BY1j&er($%>wUZ4&FsmT{ zTYBTy?G)G_cd*yPcy7UGTP`8hZ|v!dUER}isIzxp+r7zlA$scBR}b|!_O-OdZ`>sa zyw@R6EePy$5vWaU0{flG*v@@z2iyDl(3rcD(8&Q`0=0?MHay{ws1sQremg3jMKbfnz&nsm;tsH&};vD_+mCHtZJUAqN^ z_c;`5tt${anoSDu)Y__TEr)uNo%@opZOOguZ7rSNHd|ZeDXG78@LynE3e&yTjla6F z-3Md!_7<2#eET(m(ncoj zOc6N6QTv)?SI>c1Q+u~2;pYOiwO$e8{SJjH;mK(NuWM>K)X@@aYJt@I5ITL`jQX$J zipF+!wfDxiZWChqfP=qAn5H{k*Vb=`LfenDcg41M^>lT%O9~r%d%O0vBaWwq)LJ_!Bv!$oCD|R(HfZo2AEPSob<`RkYUBxc?d~a_u8Q---i0eZRg<8xdy#rqsr$&pq%B{UEdy^e81b|H~=yAHTYDj%0 zU2c1_zkOd%$H$&Y-+jT+LL>;>0Ilo*|J7-?!9g8J<0fvM$x#BI+SGCb^A_TO(TXCJ*}~w zorlqdJB{-5(Yl(=mu|W=zF7_y{?5UFx$yqm-7TqYOm_CPBcdbD>~HBf(w1yL=pDW4 zYHv#R9PH}si{B*sz~c_`YU^@qds-)3SGTdV5B@0pGTGVXgSYPLo_4rYTWr(8jzb6c zwztHumfU~LAs_=}nwix%wRClK#psJYeai2r8K~9OdxrJDcW9M+Mw$9VV@oH7RNK3{ zvWvv^iRgK15y0&t_3X!I8p_J6Pz?(0X=&|>Z@OMk`nW?$x`;by)>qBYMe3_IbwSMg z`r7v$>WgoZ#{8^9MmFd!m#5TM&!Rz4QuWR4z5BX4d)qtXH_I{5s6(nobeQfgxxQvo zOJ7@33?DZq?@b=gsF|9ZTM$z^55UvnH%lA%ghQdydX05!+9OVV?JgQ7IvT_lg?<{p zsjuDG!RLecMrq9d=+LOfx(GL?b!PQ-7%|?1G4G*XJXsykjqvT2>+5zL?CEQZZEm@% zs}F`IJF`zZWaM*#J3`i@_s{w{p}zj6_MQWH2x^JnBt`Wp2mh5=4B#eAQcCGwsuPJ@ z_a5#&lDrEeq$GN>BgxM8B!9;>z?+jDE$F6`@y&8*|D1!rLX04K+`QM^(B6m6 zPSor`ABRWP-oDtbWDmN`F7(^I@f|XLea@jMA4|5oDc1TtmQ*Kd-7)v`4l>V2&*}t* z^u7DgJJF`_KB2vH`r$At-Av|f54>4+C0}reRf}-wdRDJapqJ0?`GLBq-`>vADnrP2 zIa>W^lYmFJTV0;mh9?g6xvf3z2M*~$x6cR*&_WTeIQ2z`NCNMb8r^++b$R(MEqMCB z8GpPDwVY4p`|(_WuP(2c`Kv2b+TM<+j7O;W zcG>5C$)O|7*Y#vtU0yj;^DVD*kA}YN5UIyQ^zE2f_Xp;Cxa#t%Ej>SI{XtLr-G^Xj z?S09XL;X(Z@>Nfjo6x^Fgyi#(JH(e)&)|8ex?Bw9Q)AUv91`+|z}+I#N0t1EV0SMOa2 zksVpQ)IudYsHkrJltZUR^og$VX>|qP&vAVEny$_x|K5>2l0^Wkfaj-mCEsu;ReEZq zqI`S%zP1)9qp_<)J<$6ZZv|oiT%N}A%;9Cw68K?T(Ojpr>V4e50^mO6jJ)5@!)fH7uFg?7syQWn<600|h zO;S+bc4#K7S79~Do7^<3@o*K}oV=&2GsAegx}w^Afc}nyRX&2c9t)}~X8w+jbv#~; z{+pYWdl*+yyBQC9u%lggrq*w{GLPD;D{9>aHSUm+F9hAuu%a&87lPFlb)L`C|L&0R z?xrg0z14qrhF@5!E9%|R>boW#21D0_RCQ(I7HAt!y4$-t_u=U^lin*6>;?J1yBi&$ z94G#VLqU3rJFZuj&+N5$b!EBdAn19AkbM1+MyO(DuOF%_#Q;9-jnjWRgzCh54!4z6 zRzf#Fz?izVrz^IlCwaIh(;HiixGF0>1ou6MjC^c!_fwS^yr(_39rXTjt-7+x_3G*S z4*GKO)aH80QC(TRxjlJ+W4dHV7LmQO+RGy+94a226`Ni&i(znOjr$Gv4;(u3QQGa2 zm3T`xgGcG=N(=&0M|3}QNO=ArR$W;)(*a6lo%w^nu?LvC6dvUp36pI_}CKC3J1 zw|2I+<5$u6RymG;!66}^bKPB6RpQ!YODB!Cx3hhsC+Un%{GW5HT<_?A zT~$5{omZ8coyw0*8hm~3cJ``@*}QA2uBtHH#IkmAAxY=JFY8wKzkTHQw6T~QmZy`Uym^T+C@>gwvNt0q>xQMtadrt+$a@fEL@ zuP-kzzou+f*@xj1!!_Y6O6yBsEosBO1UD7WDSof$S4HECUMp-b3>RKiFsb03&{?4| zp@-P{e@FjMdj7C7LD2tCQAUm-djQh^e~iB|S8CbMFXk^~KHR(gFx~t|y!2@Tl;sL) zVqOZ{^2qe%Q1{c6k#D`GCZ=KEpUKosBhlW+oVIBz=jG*ssveYSU_19zq`r042DYR3 zwf0e=sc8WQ#If7xT-<6w>$+&bvoqMd@AJPB z8F}bEH7yZD&ZA*nBT16J<{YTVfw9?pyo&^Fkdl2 z1GcTCy8933MZ02okkzn6@w+QVT+wdgTTWZIHC!$k0+wZ(iCWl*f`QG`lytkOHtlL# zIRbCZl(!e#IUmCo;>zm{4T8zGmJAcE&u&2KrtAhIpN>P*n6koU2Zf8GxHTG6qsV(0 zJ-Q$Rt!rdrOY;V%6mt4RUKV1p`hI8GPKjv6)m2gJvCZL04yC+T8>tQPPUStZCk?DpWn<}Ea zMx|0t->@ZW^1P%QlUKCc7BUM`srA@CrhK#{V`8c?b7XT1)5uLEja-;BqTx@n4AgYn zGO(xNPxsa~lyU0RsdIWm;7+Yui#IjH{BC94Vv?eka~`xzkoVX|H2CVtuxD{mAy>iK zkU4=YtTlp|6KFkP#R6ja8h72@?|LHrBm5Fwn)BDN!mi$u8vf zv@i1u%}96%YpXdo?=_F1_Cow@FhwNvam%4{B6G?b&WE9c?S|$?KWbq!?%526aBgI}CXa4r!msI?X2Pl{XNNeHGl+W1 z5KXn7?b9c=v>(l9viu83Q}x>34&z)BI0vvoHrLlo$I@VNrm?lTsf)a`_vt~rZ)(!i zGn}&{QDRQ1>A^&arard?g4CwExnwCjf-@kogFHK%hHvSKX-H#DXe6iZEk!gj_Xn}{ z)lAZ6V0kf>mKUQq3$hQFcP1v36HPFUVrM7X8;^tx$a{Zf=2{wz=Cr-lr!XQ6WX`Es zQPG6&C12n zyczB!GGqsra z8mI2T`H%)OhfhEaq#jLpolDu1^GVp&*3wX>M^#dC)*p!-v2#EH^RM@z5yX}zD`hXv zfP@HAf7GK|FASKF%DwU4o3o+vk{Yxg)q`nlk-$Bt@54Ee2wpOs(4#$w;1MBrA0OpZ zN%A4>fplg>7(|eb1oDbL#(9uzSrTdLQL7iSWu)>@X~#ugZ1|PiZ7dqx_)d>uf_F;< z6PynXj*=`*kFjlikA^IW=F%&uoGcwlmBw5>1`7jUM^X{f)-3TgmBwk4@#%c`RH(-i zd5ll-7oqR2$(}mZIYHgtYDi}v^_a@H8WSKHb@X)IFPD+Z>%@e?nUPJMw4~Kzns1vr z#Fb>2CZ|r~EJ+ci$82cT%*i4!u5a_Q(rF5g+LhKyNDn)s#G<@G%r6#^Z@zt82-L$d) z+ohcsy;T~)Z>IQ;I^hg&_tO90ciZUsqu&{I?5LeaJw0;W$fA+Aj95HE8F9hzJ%?`{ z)-tSi*fm3^4c#_mr3Q%fQJ4UmtMXfRO|4>VHK4Z~9%@Z~uNz z)vl^7t-Y{Dt$D2akZPs+?5et|hbos={-fgbirp$6C_lVhDL=o=D0?crB3u!^wRB$T zKT1w38C&vj@si?D@x?_}(KCgs3bz+rTrj2JqtHpAT|;*Z`hU{%hn0!8{(l~{FA8qg zoiK*%0l5A@!!qi81}!XP4*R?PupP(&yr#%HO&(j~y)dHIg~j#Pd;XGRANBrUxj zPaN26+k4MWLtoWMZ6c521(976z$7P5TUp7=fF6gLrH`#F;xT1hW+jgO&n82LdXY3U zQORk}y*du1yR9oHh+No|n!|;OFpq*JFTfFZJuWS8CUP#CZJ{fjztQ7{Z!av>$6{@N1kC{wMisfJbUtvFTMS~r`vd{a4n(^lHbg_MW|-@NLHnAcg1 zX`B~LxpE;Tn8iVlQ*Ht}OSf2mIwwpg2_%iMo`8jc?~~Pt?X?`4!I^mKYxP9H1CK}` z&+{`y9!y>=&%UsqMBW408tVy7Sju%d5ShhU(SBTBT_yA&`*9uSlY*m_*_=A9JZDKO zPnb@6dt=ZOhNKjp!)ejNTe4ZzVI%2h;hlht(xV5=<>YB9$RTe9mWZf~3llQb5 z(V3-VOJih4YI!5}yQ}k*iW-$9%JVs05;@9CLN$=cQCDMK$Gw}~$Gs0M4`mfvBzu%M zjA|g+qpo@g9~SW3kXe|#xl$87nuY0V&RM2~oUCEX8YG#SuBt&+f6UrXmTN8IEXbld zr*v$qpcF)!J-aK?Rn1FTaS-R>DV)`NVfM$;NT(wgb2e^^u(9NUNmq^D?AldXouC}d z8PRq|QYGrD$wXQa(!F%Q_EOEctC%enIc`|ODU%{up3YP&xbd8>T3%-8hj3mr#?6$* zI4zoQjMJiSNzb926wNKNEJ=$6JN=_;F}DTmQqI9!>Z8GCAdu8Y%Q>ES80Xk;f>vICO$IzqD#G4x=GqH8&}yGMwG*})ZgPSiC2D^g9CI4l#XdkLyECNKJ}oKvSERbFdp5Fh&AP-~{w;-rBy@s_P>?4(kF z(=fUQ0fgu%V+H3xZAhMQbgY+qJjJf-(lLcJCrjrWH%eoIo^>VU|9qpa_k05RNY0n^ z%knIw$Aj&4^mxvGYNg17El%aJRZj#qp3!x?f9LGaS8-ls)z&JPqdGN%L!V7e8Js18 zuCOr!$xrv5+;qL$gNhl>k|w2`BJ^#zuj|e<-ldydK<2kci9FbrR9=th@GI1U!}v3C z1h%zj8**LG>HVuk7R<$-+&^_A;2Ck`MixUfawas*$|@G!3~sNb>p1I_IU16Yy81(G zmFF7H#?z=l*I^Xs???!u%DcuUPMwATSq5Y zNjKaYgteR%m6E)HVdj87OUcOX_Up=(P?uj$)@G$c!@2>3p8%)e5Fe}P?j0($@GQ|v zBB%6V2OP{KUN=-vEp97kMLrcI`&r%4g7z1~F%)on%xU9{ymbSH?n5_V%!&e40{%!~qk^iE5XCT!$% zX{jw27xNAn#Fc_>Mso})HgP7@`mkgr{}3p-R#9`0Jej!b9={fCf;+hsro%kr)TW|uU^085 z$ikNPqu}o|kJ#4KWEJ@FoGf*Bd5>$d?%sogUftAlB@RF0l%rmbd34j5l{q>xC$q7+ z=R+fioO7J2gEJs;LrxdL5Q*e*EaxPVBReoDZ&a*!&&|_{%gys-PL}Fe zUd&sGz(*!^@)MeKqVXr37cJ)Hm9?b?wu06z)unSgh4Y~9Cfmwbju@_6&ATNz^*&Xk z$`0@3yty94=1#XfoC2Q4dC*)TnQ!YBw(GrIDYB$)E0)taHxdrWi(bn<#p6?4$s!A$ zlh5G9spHAEESCTEx+N*X&g8U73N5X2jc7E81uUYwI`;o@@+3}|YTAef5~m|N8@Tzo z14UtW0Za+*rT>3@^p8gGIQo%M2aoz}dpkUfX|VQ}-{{|vfdP;$^q0~-f^IpD$pdk^?y|JMGM{jcsfso%ERHMODIOKNtm zd8)dxy0rS5s`{$GR-RtDL*=~{ODpsD2}Lg!t}h%__}hZ{1s{Y?4(%R#QqcdCodjPKgzfaKi z|88q%mGILOGX4KqyaqhA=0-H`OVf#X@=oukoOH}f4PZoJ+PJDIvY;)UZbXmiUXFm+ zxx@6?oCS@ik~+qSs)5H-r13Z_bq?o5=ZmBbixJg`(?Uo`Qfpw9&vVpuj6ptTi$pn# z*q?DmG(k)1S|f^+i#_@gMl88He$EM#D_lu>U_{xl70?wf5=qu?=Zb8Yyefx{8Q71z z5zX;~{tM2=^E93j?S;w#iA1}y^EeNxbGdcJqQTFU88IAll23V_&pCN|$}pIfV=t`d zkxurMaRF!Lc?`>l^~&7}lF1gq7jjOXmfA)v5!g~2Y2>-}BF=`UKS}UzFwcqp)LMwj z<`3~$>BXEnX>cSvR|Dpd*tj-F=D`6{qg$K+A~PVhMliCq$OU ztj(M}H6ck6XvCv_H@t}IrM0|_bMO>H8SslJ?@QO^Oc%^~A`Dms-=vpwx-<+*He*IS z9^7UOiQL+!D>xTV52yz0_JTR^MG9Ggb|q&*D-lUbZ^Tt!#$1S(&!*xk&Vu}K$c;2^ z%iMi=r!?a7X~SQ0>NK*-Lq%KK~Z#CzfM*od1sQiE$mM$A$;r%JLO2>e(I8*#V$pldmGvYeN*k%)2us&C7A zBaw6D_&Uyr7FX?V(W8;D`*)yw24YBL8}x0+wH9Jb6<`a z;Reoxme}$LlL#)dFcJxAiuw)bLgI9}O()cV;&day4lIj$ts6NHk|IgkO(XGN96m;3 zk5e)?ah9G(`-}t@^Z8D%jP3INhiJJ1$=`C?bl^%JZeY?E++(znFeFpDn>imcxH(X6 z+GZYu8zW(#NX%(cw{VJ{r@)N_`aJV--Wzcq62re~TMGKj*<>YrD`!V)Ex84&(V%KA zLygL!z29*z-W!s@t`gT_>{nyrhU7NRgHA0;VkATLduj9hN`*5RdxvuLHMner?JA}w?As8$9yEzB%U7u=Vd<}X-4cceU#{3@6 z$$KlSTD{xKsyQBy@8zt>{6=23Yr(vQ8SoA0KK*^4$id?rlcB`|IMG9F&ndQ(b0IY^ zty18Qkt{$Btv9YjkV-Znxt}xgp3AjFaM_HOkaklKa4w!F!VRr=Za&+sM`4#jqTz`mjqn+GBX*$&Wi~*YK0OP})rr^9t=>Hn78w%>Y$k1|bGI@ma zA(fD1;9+QHV3iQkc%3@=17}5TS{4Ipy*bfnXp(+nD`!J_ZU6*da|cDBkv(o4}Rr=q3hBT z^=Zz9j#5e984Ml91-_3`A-3#P{Ta@{TdSa(Gd9`R9x~^b`MmrXa5g9%jr=1goTq%O z;8O~$2Hi{eXE_%-HnmJ@K}Mi^$qWP67mA*$pX2mBZ-z7sbZ&n)Ln5kV`}8~~?&+q; zFd#b5XAgdR&^d#49CXXT*#qAi za6Hcc|F-|s{%`mDzka**d$RVZ+N#=XY9`h^UwvZr@alW3W>)>J@`TEfl~-3BP_eCi zL-~O6>&j-Ay&pa~JSO~y(sXG_>6Vg7CGQq@6z@=cSJC{UcM6X!918vajDk->r-nv{ z?h^F>q~{MSlWqO~9Q*wLLZx;L*#mI>|3Lgb`*|bu(bz1`_hcKx*LY3Ey)Lda%vd1X zc*OTw4!+LWkOwkZ%xf~2$iCEDh$(v_{|l#1Jw~2BVHN4;=)YkmXz3?gD{kWqXz?e@ zkxez2`Kn<;(&4eYc!M({FSe392E)YdY`$;jL+q?Esn;b@Z*pdI1~;eJaHEUgy9NzY z&#{pGD`!APR+71!0W-*68d)K!TSxU4=S6o0$-)5B40dObVd8eTrq)zz-Auav=xxq{ z)Tr|A$+Uv&vrW%Kj_)v5q0VAuSH)Wv2iJ-4)Yk;Jj4(=WYeV1Z!FtA$MH_$PxuFwf zvMiC=RQf(qW>_(CdH$|QoH@*pw`DMm?2Why4isG`@?qsY&WXk^S?p&)Y8l{ck74Cr z;PyV}L2F!DabV#*b3n^n18KUszwHCCELQ9WK(0S!)ebYP4C4CJKmvK#{E+9%+rGu> zh0kOIE)-ohcx;yWJLlvreze$WiQwW#E9cI}e{fE86i{AySXn`*|D%8g95705pg-bl zNZ%)q)AmKoL5-;_*KO>Xx;f-O`(u%rhd*O83d`z%?GI_(6KD8YN|LK-BxNj}p()0%W06Eu0cJIy%DMeQppK?Ydgp@`g zGn(j?7#iuMEPci~d75CD@T?g45>F&@?@&MITxdp+cEDy-3$_A50ru?eEzhQiY^xqq=%Fnw{3)&@n>dd#`Ju4SRu}b1~X}`ZpJVS*r(qX zG;PAYMLjNWk-%Ls1tJGFW#%+yGq7Q}8FSt7Sjbs;8pWA0E1*#vQi!8j3=5|s&cu7z zj|V(AX~v`CuwTsS)37h?Y0P*mxcwj!dE78iBC^^~nG3@;*WD&&JU$Cc+BCbXBcUC-? z{w9nR11P8M$nkPBuIJ7u6`TplMkQ6L30H%-S1qy_|K+Lb z97RSYr%A(lPJ<18yugGpBlgj)n;PNT0)Bkwk(0hE&WdEylCN457dQ8;GeNAZ$dc`Z zsyR{W(9(X@OmubVb-wPDM*`WzzlQVh+}fLoAX|IH7DtR)PMmCLb24C?9r&`LHOb~M z#}7$A&cpMliium610PjEB58@xpR@7q$cZ2wIU#rC0h~OIt(&BADZzA2YZXe3Y(~3~ur>RlDD?-@+nJP{gxz2J7 z6X}n`9bwWbYg4sX={;gNtMMSdDNS~7vwYBL1n1$sEr-ouZ>|J3 z;f2tBzvoEKiKMmi3Q$!8OKVM4759RpI13uf<^G@s-IJ@i1_+}$6Yp)AY76Q8UzupC zy0qdL!&!J5Uz@m77&|{WWna*+YE8z6xEU!VDM^I$@bn33szDr>A$G2iaV%$%r=;vd zLjI3xnW}v0`VO3hrvqzKi~9Fkipb)2PuYfBC4XdAs}Gne(D~NZuW5a4*`U=V6na5#}rsb`hzwBP#N6rNJm6sAE4t2U%F_WFkTXNC2K=VFJYSWQZ}`U7`U zl(Au^=fCOZNOWRtMiTXz8HO2c9!f z9r(O6=!k2C)g4#HZ6eV0ZnJ;r}Hm>z1swH5h-}T*o!mqw8u4ddqLDg26Wds zi@iBb&y#$no*g6uT~&!>Zk@|MA|DTr|E8Ykh3Y_0xVc0*7cwc8&Ze0#zYIQ5>U0rY zzO!jD&XjzK%A>Qc1@k3p!XKh!;}z#T$f!hK3&YORpHYbkkB+X39TS{1O(w}U&jS&rZUyp3iujT(qb_sknyu)lf(gsY zKyo8Pa^-4p2Bcq+^tYxF<92)g^(%&Sd#lOWkc2@pfHnucEoMBpQpn8l zdoodE!`zq2A|Ny2%YB)1{@;|{Gfv|4X;~%fJ4`kB5fKxKS~6{!R$T2W-9#~&^P^&u zTbvpEWTlC_nlr5pxOyYgRJWLJS(?K6&@mCo%G@*|w#;Bp1ph2>jo_^@Fm(^r(^O8` z^O7smGYOEILOvH?4D-dzO+o!WoWcI zYiKlsbD>dQ?(-H?PV{tZifMVeK$*#j(+#9@7GQ9gUeVGV@pS{KX<=FKVL&^JbMaP~ zTJd@8h)aYW3tOG;*;S`$x$KH&bNY0Bmb`+42gmj7di4kdU=67iDH`AFy)IKWt%N)< z&f(^ylLfJ*E*LoqIH&Jz-C&#IW&n>ULuHjoEaTEkO$u0+|_Kt zI?=74n9teJNGI7Ti#SV~tE8H@qOss}6%t8Wk%Ks!gfdk*M7}!DipCeN zYF>kT>>*2A;aqUuy*(k4$V;!qoQr4Qx1#?0KH`eD9!wN-Feh&tl!PRWg%wo;8k8V~ zdxN-yv+z7xWJR$n_i;xe;>mA+h)9~5d`pUXD+&vN;3mFEmSendC}&06TxpGMMU6n) zT*Pzh{M ze`daoV?FLAt+W0|T#qGf1Lr`Ca!HS4#o){+piMZ^cnbDca9(7QB<;{GW)>LaFai?H zOgFW)H>}=NH*<-7=}4OMAhQx_U1i}8XB<8DWmbZ?a#uK#lPBG_JY>YoAi8ZUW=evw zm7D?X`*YqOW(B?vZdvT+=60+e>*gF}7tbn@yoXm+D;^E3%|;rz-DX5K9@p4dug3b%TXc|=6padDi{I=C@SXRQ1orEnv?f59Nb{a;hd(Fj{9?QtlBvJLSZ4To<))!k$)0Rsv>1er-q*SsIO6IeE|9 zX{Bz)XYglD)MUzTxBj-ZX zkR*GwY=?us#LsX&ir7-a+9c9v8cVrbCk(jzNI|+i8_r9cnEhhU_pe$B+*Rsw)p#^# zL$>wuiX&kL-3q~MkXzCzN)eRe{~G<%(ff>kbkwp@UyZzYq(1Vc5yy`hGvapm|Nm^* zg~Q^*o*UXUv~=i}AybFEJNTr*LkHhBC^P8mfmaUPZ{X_#+6N3Aa83U?{Xgh;X1`tf z-B&xS_M@6#)a+UFaP`5}A61=Q6|H)#a!qAv<;@k7D?TXyG0y+rQZ}pX#qg$Zzwk|^ zQ%c_~Ii+NWl81{I7k^yz)1tkKo+{i>II{5ef{6vMh1x@7Lw5`Mf70`Zm8rJ=f3AK0 zf1)yG4A}!H%Ff73Exr>4MgODwx0MJ#Js}(6j^QOu%~IaBF<*?XX6dIsJr6Y>%UO~6 zsN8ncXy6lumKv4)7#_#j(3maHo+`W5wI?B_rFwa1I-b+^-ao5xU#>YUHAlGcBTkyc zqw=aq#r^2M#iN#*aBpclIC;Uv7&9#<#jT}6R1nl*5)#Ri!U>!Y$zNq5hRQ6a0-Rj8 zRC$a$k+Yx*mUQ!$s{63ZM=bZc@y9Y*d9EiXj6GP^TI79EbRmBdC+w-xwp8I3H$kO6 zKfM-PR_v2J)xb#QUU8kw*-**nbT2E|p(;zYJp63_L}bHuBJw;26Ua0+2u#J*m|5HE zYXZ>Z1Ieki`}&B%PI~rMH@0U=AFuk)0{7tlos#R8d!_F>^V>4Y)I>$Q&L`9 ze_q|p|6iBgzXdBuPd)AFoD1!2vTf`PESpx(^Kb&l)c6YJ-9ysOOHv{ z+5L=jpgLR_k<#I72zn)gWkBoDuqv}M)l@f|Y;JzVvqF=Mym~Nj z4Qqf&#>h46+00qcP%4i*1`aU!b~I(d17mu5i!Jb-Gua+@F5?X7_8v)RZW(mDNn~DT zZFW71ZHw1|14Na?HkWha<7|gDk`D&UFnf8p94WnozgKiI4AIb*QzKU3p^aVIELe-Qq0=HoNzeyoEDiK3~#`+}2F^8SCx67#2JZ z%3c7j;S9;DOzxT{%mI8`m06}HYxS<>3=&>Pf-F;CupYvIxovHYne_6xEpYaM$!txg z3BGSzQf+=_tkh^>v&H)s4IcWL^e)y7SpGb99E+bGkIH$U;aHM;85EXl$9L zw`0j0L>^uWH~0q(cC(gcV%P2-}|vw-*9$6N}!H9WU+KD4OXDA`271g}?%D)F$RM7R$?k^=?kwYrsG;EU4?Tg7Kv58m$59W*V6J{&cSQfjAVMirKO!j-X7h@*^o>rrzQ+P zj-Ei|fzth)zL(k=DXgGsXO>15PCmfd(5A?}K~6-O zdq2OMA{HC1se7j|4|0yQk#QS*gGQ`(8yS{T)~Y|mnNeGI+rJ@6+~;7+qIyk%4|5Kr z?T|-9nCk`6Gl5Sc=hVd`B9q*W64J14AIzYf61nHuKX5*DJk6Ffb>07iBse!`+s^tv zp2pI6oyp$HS&Gig$Rh+sU7ysarSJ&Q{fFto9^;ioc3N&hH_9C+5Chn0u>|7c z=y6V;#?zek7TCT3EG*I4_!FE3?P6sXap*Ao?qU0Qr#UNHE4el3 zNR;SVgU({PcWlpavLr5-rS+s;9m7A7y6lJrL4qyl5K-D4t&5$NC=OCVjp`8;Rgy#$E&QkDr`rY!n-fit5$ocmA! zk~mkkcjH)uMRM;?UgT80_YeucH?=3C3HtzZBmD2x&8C^_B~IOYnQ!0X?B4}4c-S{S ziqfi=MINRyQxd)+NmgT-fdPedB!JX!EKZN>y;nFNYEN$UH)sT1ASH0jVMD~d9DkK_ zp%Rm)kAy9<^zEGtujO*F_9srCECk#_AVk;v*?~~Z4XI3~ZW^gR{>(|!Hbq{h!1yr@ z3zl?b`qAs!GwGHU`6`1+B)eaHzs7lyE+?ll0(w|Oc5>B~uX8S>43}pq<~lJIS=iEk zR5wkFu5-+HhW;;{2g&r^r*iOKRsfkki{7myXd7oo7vst8i@8(udof-jszxQ(cW-d| zRAg?WFQka|WW~?oN(&Q4zTf2aybSIR+>q z$#C#3PM(^s+^E!mYDm10d^7vooQL=F3PyuL{DFf7>=WEt!gn|iI^Q+ZCCfw--TNAI z_7}IM;NLhY?`c9cn4TuUpr__2AKtA{LM3zojJF&@4eY=i8NpiKz3O<6XGK%kd2@Li zty(zAj05wLS@67o0}fr*ClQiBc^zyABTL)^ye~3gK1pR$kx3xnGZq4cyL*vw<0$bDT2E zmK}Z0sgi?Lc?+q>d^=c8MA;3?Ep6~L+1eIam~Mf88!$_^*3DUHGy4~3=H(U!>EnUj z!mvc1j!C`{ndLfeMmpIUYP)@W#^wH-#mZf4e91}E7S*kQLZaX|5V1s3-F(H_&`>x> z8VYqS-%zM)IYv}pb82+nK~{I@@Mh}wyaV1g$Nu-J=iI9NEvHI88r}9LiKqd= zS?hZ^+sNtxrl^}*F#qKD*UA!f+u^ozhEz(jq|OM^yN#HKmQ<;ftfu7=9G5NoH)unS zJSXuG=R(#FZj%!vODyT`W(yX9VuShf3~$kW3AFxPql&L&og%#!N$V-JIF> z&{xPA(NvmK69MiS1q<68*v+Ddv+!Qj8+t&QDI5VxmMz7c2RXx&R|Ez-S?Jdp9`ccM z-$)7P;C12)Nlbsr%-qYEOF3!UMo1FOm;upvplyWV>4rDV`Ou0}o*vAoFMo7d;giXf zjk)fh%Qzc4?jkoS({aS><3vy*%3S&77)h6N79{Niil% znoQr$eem`PQ9)73NmEbAsQ}O0gV(Ig;};wBy_VoroDJzgWLZfNYd-MMBx}oRPT#vj zo9xaY|3~}40v^0pce(dw>ZlsdgZ3-(@NEV)><5>e&2=s3;&pWwk_0?n%u-+ri}mI5 zRNZX4wX+{*qAT^vLdneql2{W{ZL89@JB>-{4QanKTkN{0 zpFx}jd03FwmlnigK0PcT3yB|C80Mmkd>HnV|y<+s2qb?d{je2op>&Rgv?;Npc#7D!=7{15whlXW_RSmm#=)|Fa z8qzUj^pHCTFCP4lLFWyM4tjFn(t#xduO2XNz$^XF=)Y6{NBb@9_fhSIwG(QeuW72O ztl3gMzWR?<9aW>N9;!S7-v7_7m|pRA`3dDal;2)K&OvsQ>NMW z0E#jizxTx#Kf6BncVaZ{;j;^Kf-r)m3Mm7XR%H{uiZbAQMOp2n%|5p;J!f3$2bYX1 znDMFA1JUpF&z+#Y6<<~+1M$VDUb(4cGQp0dqOkA(@-sx)TbT@-msaI;o=)p(UZUp;JPahJF`%BJ|hL*P(s|bp_)K4k}nva8kj=1veKwTClC)i-PLH zoeTFXTmXBJ6ACXVys_|+!q*BvE37Emp~xzlSG2O|_@ZAFU0?KI(W^zD6ore&6zj#a zi&qpMQ~a~yYl=IIUn>4badFAWl0?ajl2pmYlAo6Ry5ydc=Sw~)DJUI=TPLQL9$wmB zdS>YrrFWM8vGm>2?WKdmdxa;34-L13PYZ7j|33Uw`0emF;Q?j4m(`aYT-IFnld?<7 zZY_Jf?9H;T%4*AZEkB@qQF$XgT3l5A+w!gDe<}Z0c~!+u75i2kSdppds5rmkHx&<8 z{JG-Oit@^_m1gDK$|Ea}t30>zy2=MCU#a}KvJ^c-tD05SP<3?GIaOP#?yGvS>hD!W z)g!9o)zhn&Rd1+1tNNq zy$#=G$yzbkZd&!%UAud7pd7pzu_MVLVsH{co0E$cy)b@+7;MJ`OC>p03?|wvc$cnV zbW9dpi`ccvJ-UJsNkQ;7e3vEn7K2&rZD2Vl85e^$BUrKDTNi^_>`wNlw9sqdX;7jDX0)m1Zx@3V1hd$ksn01~URIJIUk_F_;lyDI&??axnW-M{=YX z%!tr?N5o(jll>`~+(8be65Le`-fYulw09GO84()U_7Z~`-EHhUKF)$eLQ&D1=wfU} zn|&imOAhWpa7S`qIXH>n&hZC`!7PZXVUifk>XKU3G*>VqfUlCAB?oUq@UrAwF__V& z?|eC!ST2@>S?rGShl;@pf~e+~iNP!;z2FKlxC6m!QS%>82INf2R#BFWpuU`C|VW_gzw%!%A91~UTG0Us2DS!^oUtzs~X-C=(p z6N8fodZzx!BX>!@AO^G8MC4U5m=QR;e)`XLO1>!uGa{Y!7hO0k`FAmx#ZKBa|Ct=z z$x@8}N)A2&!5zte%fT#{$>esg;M!!-?&27W65IwN%aWz8U<7T(HT>Wl1aBL^uNd5cAc}o}7_6|E_KJFf7|ddCvx!WVgClko&z6JP zz|oPMCk8WiM0=qaOe|TYEfRwn%T9cg$wS28WEYXc#b8E+#qLZl6N5Vtv>D$>vOx}J zv6bXXF*w;3`zSG(5g;OK#9$ViOXwwsquRW!672TSjL55yXjC-nPPC3wvs$R3}!^wlu?_U zC%3O@Ij(yZ?l> zM~7!)Oeq|iL+8u;uCo6eMZ9JBzJ_1FE*Mx~hD@bMDbFUgpBdrTVBq4=P(_Y+FldNx zbt-;uMqXG_M)!uo8<3CO&rOIo4e>rKduBL$PdVOFyeBKAmk}?U+KyM?rkBl+qCYx3 ziZA1pFF*KGC`*eyz4B8B8e)D9#_ul;o}a6gtL^-RpFssVANF1yh$s9mk>lOEmGZMi zh_|j_V9C`5IrPHpy`B-`G5S{(T;(dqyYC@-Um{+e@P2aruy?x2;_t@F*(=`>&|vvy z<;VEV!|x7!&n7`F49YnfMab2z(bjT3~g1q_P_SGYR~_k_fd)yZ#yd8>Dsw8X=bNEKT-g`H|yg z|Gw5~Ui}dX>)wpp$KH?7g-+bU!P&&~C@_IFO|y)AfqS;!NBB(cvcQ z{{UdGab*XaQ1%V%AD;g$bK20r$_wrGA@j@j!&4FOb|)^&k5_v%ZO_WYCX9zyxv(}X zzSTDT{&GLw59RS9`_kcY7=N62tUjf9q3pO4MZ9bpJD$`YviUg}@lJK(=F3l(4tuf& z=9Qlg&=B);6MoObdp=)7{YxG%7%lc*FFU-Q-+9LsWnZ43?#7imAs(ZjZ(Ny&cpXmM zeEAL^zGO@4p#WJ_em^dt>Dh!8njDPxf2xzwB?UoW&3O z?G=y3>Ae5h;b%KEy~dRtZ9>^M5UINH?ZSJp_964j_QP$6SL?Jl_WoYuikq@$KMb)p zE54P9-)oTs@XS+5Fsuc-!!O;18u$ z|3!Y3mqA0!Pk8*J!?$)mJN&j4jS)sS-?$P*ylm!>pS6Ant^*HY(eWv; zXQUG4Ut^|YgkXaN)BjJv_o=QCgTfKi!{_iG{?7j#QpP#lcvw%!9Me;bzQ6aCKwk;u zDFLB3=ZVo5{6j8*zWV#P5s%jkz3qp$vd$hF&Z-umjl=Q8>s$LOp7A9C&X zoVULE@41YA$T9lr|A$<=J?E{j{(CN?A99So`u`!*~pk}t;F*Rzb@?nv(zx{72jK$lPHl)H>_%ch1zVrWm=l}c8|BFX$JCfOBGJWU&ap1uoAy}EvX^y`0|6-YJL%H;w z|A#qlww-jHgz7v0-&H0~-|0L5FSHYsNz(rIo&Oix35_Rx=l`>1!rDlu-A?+>|7XiY z=_-@H^Z(g0>2S)V@BF`ejAiB0cmCg9CN!S(o&Oj64z-iM^Z&VJ(s%wpTP6w{WBbnk z_v-wA7>J{T!%rvjy{*p^kEt?g9s{QmP4 zqB%E*=8h2Q&GMkRLpL-}RkJkNY3g}4%|dW^6)5|Q1%CMTz9Ht>^iW{-$vzo|kBa^4 zE7biM{$G9I7Z>7Hl58?b@7Gt2saKTSCb0MUeC9{MOp5Wp{Oqe73vZ^Cp~;~WLsx`8 z3=J!oQ}CmL|K%I?jyFlYd1<0`gy2569&+slNVnUSCdj%o_-ueIgytqvh3 zkIyLU@ry`yCY@JeD~1q6`0T}7Y@Y%=Gr8|ciIZI|%T8>0CiYPh`$Hwrf>z9misgER zvc@h*Dw!6%5mP8+i}6%9*Re>v0fofNSt_RKLWF%hUol_)HoFUFuWl=6n>(^5MP@b4 zR3I5UH`(Hky7LlqCGsjcDf8o937qN`Y|GPBzBR2L*OMosaP$I5nX$KIEdgb2l{4j*B!8%%S-FDyv{?jcuB-#Pxk5VJoG9dUcU3tjK!RN zc7W@@2!2J5;Q3|kQRbKROE3-bHsV{4H2K;MYh&3DD|fGQSqmECTW!Ygcb7jmyz|;e zZGS?t|AZ{Pt%!Fv;!Q<>Jzhxuqq5^lWEtgWUN&Byaiw;|-NRQ6A2@v6pqB@pG%)}9 ze++jDJO7_uf3suuzr|Nn_;)oPgy;VRIsd;uNcy9i<=1!qKU)%g&%P1}Tmr#5TVV2i z3BKng&{zN8^9uToU$3wJzvBY_o|EsZ|L=JPeaElYSO4E}0e{cQ_tpRRyn?>t*XyhQ z@3?@!=j8k9|9f6R-|_49)&F-~z~6K7ef9r6ub}Vv_4?}nJ1*ewIr+Z&|DIRScl>&N z_5U3g@b{d2U;Tg2E9kp=y?0YXN7(283!rd6A**z+aM+y?ngTSS@`Ku}t*nXPxGh#W zRd}KPAHp)Qhfm4o^NK!Zmt}>Nk^}KL4>SO;0Q@Dv&j7C=I0+ACz<~(A0Gv&sZ{u-3 zK@H{=Ns90jzU zrU99a9D5zWMFb1V6y+d-^8ptV+zgncBKZigp5Otv%V7e+vj8U&d<~ElEa>im`khSh z7{Dn69|N39a5zkapCNb@;2#Oz0r)Jz(kexHj^IIn&l9`?@CAbZ1bmTT5@vWW5j+d< zWrD8(zCv&>T!Qr~!Q%k`MDPi~KNB1YE9KV+HUhp*@J_(L5G;p9-!_6v0N)_E1@KLR zUjY7<;FSJ~@)p7K09mU-k-P)=4nY+*FMlKWW59O_J`4CB!LhI%f1lu5zz+!C2lyeu z>OqR~cY;d+|3UCNz>f%i4frv^>F5-n5Ii67p9J3l{FI=Ip70sLlK?*__#EKB2#&?= zG+z*03-~3$`vAWpSOp`suL&*%{5Qet0KXyl^{@ivKLn@4GVWV~7XWT2_%~)Rhu(#P z(%=y!MDQfQ0)o#077`pg5+ek`b%4bLI{`}wR*zDYQi6v8h6!E|SVr*QfaL^dz~4v( z!3zK@3H}YRil7FAq-ugc2CO0YEMP6cNJLTk5nKz{pWwZK0|-`+g?|r%hXD>Ecs<}? zg5LlRAvkjfSWXhW2oS}_isU^&cEKK?xuc?tAb1MkNP;f{jv~0zPVk{ZuoZ9&!3O~& z1pDu-C}Rnx0CymG6X1>nw*$hqlyRH0i=ymI@DjjX2!05-E5UKQDoP!}Qvi1(_&nh5 z1jp7X${v6PN=Y-|o)pS1vEPdzyBd9Og6swER!96t07X&u}E++Ue;K2m@>x#03U`kgC4k36WLJuYQAHbyqXBvuf7{Lnw4=4Bz z;1L89SQacJcmiOG;8TFh368K7rGeloz!d~<156Vv9H%Hp5}XIPlHjF)s|bDwm?3EG zt0+eiJOywy!507<3GRU7HEReq12z%72e6r7`Tn>gn&82J>j+*2*h27Az*d6w2PjG# z!LtC{3H}LiJ;A#1in4)VJK#ow4+3r?*e|IlM-w~(@EC$O03J*5Yrx|OPOVpz;|ZP% z$PT@rqrVB*K`=T&QBELuJm8509|!y~!J!isG0DngC za=@Px{0Q(|g8NNVlwS}$4e&gIF9V)WaHr{task10fEN;BvrU6TA`d zYJ&d(+(K~197VZ?;01u!5_}u*I)d@JigG={9|7J#@Cm@*5F9p7QEnu7B;ZX1Zvp%* zLAI{EncytITL@kRcq_qo0e?qOI}j(n2%gB{Gk~{K=;#HCatFcHfOitS1Mn__;f0EF zH^D`K_Yk}s@Lqx+0p3S&|3x?zN$_;Q`w6}R_yECO4^or|3AO<~MDTvVhY8j!R+L8w zE(QDp!D|7x68r-2QG$~WR+PsGo&)$e!PfzwAh^d8MR}6oM!=^CJ_7hO!9j;${Y!8; z;2#Oz1o$k$ZvmepIP*}fe+ga)_yWPd0lr93TZ;8B!5;&@Oz@9@uMiw_7}mc88v*}B z@D9K~6D&C#>tBKk0beJ08Q@2@MD5C zE3p10xD@c81h)WwO7L^Q&j?OPWBp6;r-1(=_-DW`2<~sZD1ui2jwbjq;247ATd@8mcqZUjg0BGXKyc?)tbYl%0PaNaKERy`R<>dN zOK=Gw+y7(Uyc)2M;J*NOvmvSyp^@{7*pm&^SK~Q|{lF)Ce>JN%_E}X+@es}aY`wQC z6awmqoyWu=%6@pB9i=!Fqj&#rJG#=QE5BFVAt%2V3$DeNy+iihSeW0>*{@Wwq>7WD zf_d@(J`W=Ajq8Q{bntTS=R}h8Gqj&j&WN8a=Xdd5>_xA{^GlSqlU&KZfA+WEr|)w9 z6O|96``?sv_Pw(Cxjn)2ko}v|(S-s7S2-hfwmq|VW*@nnw~FPAzjxKYO66RM=Q6xw z3H~WlTC3Pwz$JTS;UEc{*MZQAb4dntBp*B@V? zCbUp;^95aPiiNWei#rhMZ|bZHu{2jcQWYvu+-1Sym{Oc=QhBjBOQkr(f&b6qbohvK zr4%Qd-z+6YXR8#)&S*9Qo-EFXQXJ>cT|)?qQ>(l4KJT9w+U?8L`oa!Ua^->&}5To;q6i4pkEY4?A9QHme|B(aGug4=_h%?l3zjLiqrYtV|usHik zafZ;Jy8dTzmPv8E-sdDKPVIiV{b`F7r;CXL7_TR!I9|Lymf|3JSN~_E7@dLR+IihA1sb3#o2FGrK>tvoTXA67ZHb7hZN`bOODTZpDU#}t_TjDtx_DX_xVtY<9cC- zPVK(#ymxriyDG);qI0km$7{?!R*K_AXR{Q?t4<&C5$9bgj$M)TpIw}+zADk~dg`Z9 zA8{7?h_lg0oL~Bg)9EA5TiwRlR{KKjW3~6y-dcN2?WMIpuRXQ)xZ0N5m988sa>?KMZ$98t5dW_ry5 zHHn(Kno%|VYf5Xrss5z;o$5bTKU4j1^_|r>R$p0tVf9(nKd#Os}z)!VB+t9q~M^{VHpwpQI!b#v9#Rllq{r|KtF$5gGYN>?3HHMeR~l~uKO z)s9s|tE#FBs=lcFu=0({7b_pH?5zA<<+YW+syw&yw94ZvTPs&p9#(l^<tGo{loF_uHlj4e&Lev zze_(ZeY^D4(x*!wD!rrhH>FpUUQqgfr6-ndC~YiFl^#?&vou+%mF`|TrgUIwS?RYW zpO(B^@>(~Ax$N)*)9#n2u zZcr{)&R5PjwJgr}jDjZ9<(DX(#mX*90vh)vaN4sVwPtN&Ix;7(mW4bkRV0vv!x;5R@mTJqaPdoAJSFAu_D@!sp-Q2P=ld79qzZ>Jh>a0{8>KY6M z4uNwXcMgmt&8@34k%g(Irqr7DmJFv~-`bjKZA&$^Y7n4+G0$fnQCfHwbspCU{k(~Q%)!o(0k+-W7IdTXn8L(rMam!-H>vs zw6(RlA(Lv$8DC;4DuG_Th z)wOsOjS&S9nT>JP9#(oDeB;r%7?xWy&2@9B#b3plBy1)}xtOT&7%LyvR}V}zHN4j~ zBu2XFSn=2b)@j=sR;4#!Tv$MT_t%_L9Ao6c@>CL!FI?5UCe@0T*RsMH6uO^D;_>>H z)zp&e545Y~YR-cOwM9~H5>wKcr_zz>N3Uzoq+3=rdscWnAwB7-ToZaOuk z>o{%C!87j6w6m}*KvyH;J=CxUs=MzyCIY0!vU_4ZN(ouawDF^y@9^}KxLWQmRGH=Hz$qSBy| zh)!uqHANO@8oMU1Jal7GuU>W|r?0}Ca*;ekCSq7jt;hPQy%kHimD$NR-(Z@E&1r8+ zt#5Cuo3qHSftxt}DEvsymB-UW9Njk)nc2Q3<7S3TGdoq(2ZV9cvC6kIwY-vB5zkb)SDldQ%+N|dGOsn0^ zX3?~8tHU6)i$VXf}O$jy}A-

          39Q6~H zToku+QseB=Qkoo9EPgTEH%984R^tD8sbj`t#z}ht=!4U(&k6bKs@;7 zM~!=pJ9lwTs$H>1N*PGZNMZMe%>>5&OiQY(#YehXNT`X~=!a~InN7uXH|IiA@p_3% z@1|l^?Y466;asU1NP~u|`ELgH+B#<`c`xVSxdK*ow!_Y>#jt^GHw~;~QH0(rU{#;A z_r$&HCef6CpGcc6E2QO%ip^}$6`qQDc>~s+8#4{fb#rFh<3=avW7^B4j8r$~#8oZW zPiLA^*vhx8Y;12@F}Gz!x&^Hm%O?D#C528QkANy$pl@nSHLa+dJ;`QtKWCJ%*WJ

          ZM(2y`)Pi=3@yw}p=Z@H(b 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

          A6GD2Ou-0$yyN(%|Z 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

          Z-eQRFhjt5qTFfVZv|3OW!UkFk*h2^UkG0r` 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¬=1NK4jJ*o1 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

          8@RycB$(e%V? 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


          5*frKz~d4nBR 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

          *b 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%0Dek}aqAjM5H4|@ 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

      s3=&JXg-;1S(&!mP4$MU)v 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μ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