{"version":3,"sources":["page/serviceSearch.js"],"names":["jQuery","fn","InitializeServiceSearch","option","pageContent","$","this","viewModelJs","JSON","parse","initialJsonData","viewModel","ko","mapping","fromJS","ResultCount","observable","Searching","clearSearchFilter","SearchTerm","search","Page","getResultCount","serviceIsResult","serviceIndex","Services","Name","toLowerCase","indexOf","serviceOnPage","service","ResultNumber","Take","resultNumber","resultIterator","resultCount","i","length","loadMore","showLoadMore","applyBindings","get"],"mappings":"AAAAA,OAAOC,GAAGC,wBAA0B,SAAUC,GAC1C,IAGIC,EAAcC,EAAEC,MAChBC,EAAcC,KAAKC,MAAMN,EAAOO,iBAChCC,EAAYC,GAAGC,QAAQC,OAAOP,GAElCI,EAAUI,YAAcH,GAAGI,WAAW,GACtCL,EAAUM,UAAYL,GAAGI,YAAW,GAEpCL,EAAUO,kBAAoB,WAC1BP,EAAUQ,WAAW,IACrBR,EAAUS,UAGdT,EAAUS,OAAS,WACfT,EAAUU,KAAK,GACXV,EAAUQ,cACVR,EAAUM,WAAU,GACpBN,EAAUW,kBAEVX,EAAUM,WAAU,IAI5BN,EAAUY,gBAAkB,SAAUC,GAClC,QAAIb,EAAUQ,eAIiF,IADjFR,EAAUc,WAAWD,GACZE,OAAOC,cAAcC,QAAQjB,EAAUQ,aAAaQ,gBAK/EhB,EAAUkB,cAAgB,SAAUL,GAChC,IAAIM,EAAUnB,EAAUc,WAAWD,GACnC,OAAOM,EAAQC,gBAAkB,GAAKD,EAAQC,gBAAmBpB,EAAUqB,OAASrB,EAAUU,QAGlGV,EAAUsB,aAAe,SAAUC,GAC/B,OAAOA,GAGXvB,EAAUW,eAAiB,WAEvB,IADA,IAAIa,EAAc,EACTC,EAAI,EAAGA,EAAIzB,EAAUc,WAAWY,OAAQD,IACzCzB,EAAUY,gBAAgBa,IAC1BD,IACAxB,EAAUc,WAAWW,GAAGL,aAAaI,IAErCxB,EAAUc,WAAWW,GAAGL,cAAc,GAI9C,OADApB,EAAUI,YAAYoB,GACfxB,EAAUI,eAGrBJ,EAAU2B,SAAW,WACb3B,EAAUM,aACVN,EAAUU,KAAKV,EAAUU,OAAS,IAI1CV,EAAU4B,aAAe,WACrB,OAAO5B,EAAUI,eAAkBJ,EAAUqB,OAASrB,EAAUU,QAGpET,GAAG4B,cAAc7B,EAAWP,EAAYqC,IAAI","file":"serviceSearch.js","sourcesContent":["jQuery.fn.InitializeServiceSearch = function (option) {\r\n var defaults = {\r\n initialJsonData: null\r\n };\r\n var pageContent = $(this);\r\n var viewModelJs = JSON.parse(option.initialJsonData);\r\n var viewModel = ko.mapping.fromJS(viewModelJs);\r\n\r\n viewModel.ResultCount = ko.observable(0);\r\n viewModel.Searching = ko.observable(false);\r\n\r\n viewModel.clearSearchFilter = function () {\r\n viewModel.SearchTerm(\"\");\r\n viewModel.search();\r\n };\r\n\r\n viewModel.search = function () {\r\n viewModel.Page(1);\r\n if (viewModel.SearchTerm()) {\r\n viewModel.Searching(true);\r\n viewModel.getResultCount();\r\n } else {\r\n viewModel.Searching(false);\r\n }\r\n };\r\n\r\n viewModel.serviceIsResult = function (serviceIndex) {\r\n if(!viewModel.SearchTerm())\r\n return false\r\n\r\n var service = viewModel.Services()[serviceIndex];\r\n var isResult = service.Name().toLowerCase().indexOf(viewModel.SearchTerm().toLowerCase()) !== -1;\r\n\r\n return isResult;\r\n };\r\n\r\n viewModel.serviceOnPage = function (serviceIndex) {\r\n var service = viewModel.Services()[serviceIndex];\r\n return service.ResultNumber() >= 0 && service.ResultNumber() <= (viewModel.Take() * viewModel.Page());\r\n };\r\n\r\n viewModel.resultNumber = function (resultIterator) {\r\n return resultIterator;\r\n };\r\n\r\n viewModel.getResultCount = function () {\r\n var resultCount = 0;\r\n for (var i = 0; i < viewModel.Services().length; i++) {\r\n if (viewModel.serviceIsResult(i)) {\r\n resultCount++;\r\n viewModel.Services()[i].ResultNumber(resultCount)\r\n } else {\r\n viewModel.Services()[i].ResultNumber(-1)\r\n }\r\n }\r\n viewModel.ResultCount(resultCount);\r\n return viewModel.ResultCount();\r\n };\r\n\r\n viewModel.loadMore = function () {\r\n if (viewModel.Searching()) {\r\n viewModel.Page(viewModel.Page() + 1);\r\n }\r\n };\r\n\r\n viewModel.showLoadMore = function () {\r\n return viewModel.ResultCount() >= (viewModel.Take() * viewModel.Page());\r\n };\r\n\r\n ko.applyBindings(viewModel, pageContent.get(0));\r\n};"]}