{"version":3,"file":"ProductsInGroupKnockoutViewModel.js","sources":["knockout/view-models/ProductsInGroupKnockoutViewModel.js"],"sourcesContent":["\nfunction InitializeViewModel(viewModel) {\n ko.applyBindings(new ProductsInGroupViewModel(viewModel), $(\"#productsInGroupViewModel\")[0]);\n ko.applyBindings(new ProductsInGroupViewModel(viewModel), $(\"#rootGroupViewModel\")[0]);\n}\n\nvar ProductsInGroupViewModel = function(productsInGroupViewModel) {\n\n var self = this;\n\n ko.mapping.fromJS(productsInGroupViewModel, {\n SectionsInGroup: {\n create: function (options) {\n return new SectionInGroupViewModel(options.data, self);\n }\n },\n ignore: [\"Images\"]\n }, self);\n\n self.Images = ko.observableArray([]);\n\n requireReady(function () {\n require([\"Products/ImageUrls\"], function (imageUrls) {\n $.each(productsInGroupViewModel.Images, function (i, e) {\n self.Images.push(new imageUrls.ImageUrls(e))\n })\n });\n });\n\n self.PageLoadPostProcessing = function() {\n $('.topLoadingIndicator').addClass(\"hide\");\n $('#productsInGroupViewModel').animate({ opacity: 1 }, 800);\n };\n};\n\nvar SectionInGroupViewModel = function(sectionInGroupViewModel, parent) {\n\n var self = this;\n\n ko.mapping.fromJS(sectionInGroupViewModel, {\n SelectedProduct: {\n create: function (options) {\n return ko.observable(options.data != null ? new ProductInSectionViewModel(options.data) : null);\n }\n }\n }, self);\n\n\n\n self.GetStuffs = function(sectionId, currentId, catalogKeyField, changedVal) {\n\n $('.loadingIndicatorForSection_' + sectionId).show();\n $('#section_' + sectionId).animate({ opacity: .3 }, 200);\n\n $.ajax({\n url: parent.PostUrl(),\n type: \"POST\",\n dataType: \"json\",\n data: {\n groupId: parent.GroupId(),\n currentProductId: currentId,\n catalogKeyField: 'Element' + catalogKeyField,\n catalogValue: changedVal\n },\n success: function (result) {\n $('.loadingIndicatorForSection_' + sectionId).hide();\n $('#section_' + sectionId).animate({ opacity: 1 }, 800);\n parent.SectionsInGroup()[sectionId].SelectedProduct(new ProductInSectionViewModel(result.newProduct));\n },\n }).always(function () {\n InitializeQtip();\n $('.loadingIndicatorForSection_' + sectionId).hide();\n $('#section_' + sectionId).animate({ opacity: 1 }, 800);\n });\n };\n};\n\nvar ProductInSectionViewModel = function(productInSectionViewModel) {\n\n var self = this;\n\n ko.mapping.fromJS(productInSectionViewModel, {\n ignore: ['AddToCart'],\n Options: {\n create: function (options) {\n return new OptionViewModel(options.data);\n }\n },\n ProductViewModel: {\n create: function(options) {\n return new ProductViewModel(options.data);\n }\n }\n }, self);\n self.AddToCart = ko.observable(null);\n\n requireReady(function() {\n require([\"UI/AddToCart\"], function (atc) {\n self.AddToCart(new atc.AddToCart(productInSectionViewModel.AddToCart));\n });\n });\n};\n\nvar OptionViewModel = function(option) {\n\n var self = this;\n\n ko.mapping.fromJS(option, {}, self);\n};\n"],"names":["InitializeViewModel","viewModel","ko","applyBindings","ProductsInGroupViewModel","$","productsInGroupViewModel","self","this","mapping","fromJS","SectionsInGroup","create","options","SectionInGroupViewModel","data","ignore","Images","observableArray","requireReady","require","imageUrls","each","i","e","push","ImageUrls","PageLoadPostProcessing","addClass","animate","opacity","sectionInGroupViewModel","parent","SelectedProduct","observable","ProductInSectionViewModel","GetStuffs","sectionId","currentId","catalogKeyField","changedVal","show","ajax","url","PostUrl","type","dataType","groupId","GroupId","currentProductId","catalogValue","success","result","hide","newProduct","always","InitializeQtip","productInSectionViewModel","Options","OptionViewModel","ProductViewModel","AddToCart","atc","option"],"mappings":"AACA,SAASA,oBAAoBC,GACzBC,GAAGC,cAAc,IAAIC,yBAAyBH,GAAYI,EAAE,6BAA6B,IACzFH,GAAGC,cAAc,IAAIC,yBAAyBH,GAAYI,EAAE,uBAAuB,IAGvF,IAAID,yBAA2B,SAASE,GAEpC,IAAIC,EAAOC,KAEXN,GAAGO,QAAQC,OAAOJ,EAA0B,CACxCK,gBAAiB,CACbC,OAAQ,SAAUC,GACd,OAAO,IAAIC,wBAAwBD,EAAQE,KAAMR,KAGzDS,OAAQ,CAAC,WACVT,GAEHA,EAAKU,OAASf,GAAGgB,gBAAgB,IAEjCC,aAAa,WACTC,QAAQ,CAAC,sBAAuB,SAAUC,GACtChB,EAAEiB,KAAKhB,EAAyBW,OAAQ,SAAUM,EAAGC,GACjDjB,EAAKU,OAAOQ,KAAK,IAAIJ,EAAUK,UAAUF,UAKrDjB,EAAKoB,uBAAyB,WAC1BtB,EAAE,wBAAwBuB,SAAS,QACnCvB,EAAE,6BAA6BwB,QAAQ,CAAEC,QAAS,GAAK,OAI3DhB,wBAA0B,SAASiB,EAAyBC,GAI5D9B,GAAGO,QAAQC,OAAOqB,EAAyB,CACvCE,gBAAiB,CACbrB,OAAQ,SAAUC,GACd,OAAOX,GAAGgC,WAA2B,MAAhBrB,EAAQE,KAAe,IAAIoB,0BAA0BtB,EAAQE,MAAQ,SAL3FP,MAAAA,KAYN4B,UAAY,SAASC,EAAWC,EAAWC,EAAiBC,GAE7DnC,EAAE,+BAAiCgC,GAAWI,OAC9CpC,EAAE,YAAcgC,GAAWR,QAAQ,CAAEC,QAAS,IAAM,KAEpDzB,EAAEqC,KAAK,CACHC,IAAKX,EAAOY,UACZC,KAAM,OACNC,SAAU,OACV/B,KAAM,CACFgC,QAASf,EAAOgB,UAChBC,iBAAkBX,EAClBC,gBAAiB,UAAYA,EAC7BW,aAAcV,GAElBW,QAAS,SAAUC,GACf/C,EAAE,+BAAiCgC,GAAWgB,OAC9ChD,EAAE,YAAcgC,GAAWR,QAAQ,CAAEC,QAAS,GAAK,KACnDE,EAAOrB,kBAAkB0B,GAAWJ,gBAAgB,IAAIE,0BAA0BiB,EAAOE,gBAE9FC,OAAO,WACNC,iBACAnD,EAAE,+BAAiCgC,GAAWgB,OAC9ChD,EAAE,YAAcgC,GAAWR,QAAQ,CAAEC,QAAS,GAAK,SAK3DK,0BAA4B,SAASsB,GAErC,IAAIlD,EAAOC,KAEXN,GAAGO,QAAQC,OAAO+C,EAA2B,CACzCzC,OAAQ,CAAC,aACT0C,QAAS,CACL9C,OAAQ,SAAUC,GACd,OAAO,IAAI8C,gBAAgB9C,EAAQE,QAG3C6C,iBAAkB,CACdhD,OAAQ,SAASC,GACb,OAAO,IAAI+C,iBAAiB/C,EAAQE,SAG7CR,GACHA,EAAKsD,UAAY3D,GAAGgC,WAAW,MAE/Bf,aAAa,WACTC,QAAQ,CAAC,gBAAiB,SAAU0C,GAChCvD,EAAKsD,UAAU,IAAIC,EAAID,UAAUJ,EAA0BI,iBAKnEF,gBAAkB,SAASI,GAI3B7D,GAAGO,QAAQC,OAAOqD,EAAQ,GAFfvD"}