[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"article-select2-and-knockout-binding":3},{"article":4,"tags":596,"previous":651,"next":678},{"id":5,"title":6,"author":7,"body":8,"createdAt":582,"description":583,"extension":584,"img":585,"meta":586,"navigation":587,"path":588,"seo":589,"stem":590,"tags":591,"updatedAt":582,"__hash__":595},"articles\u002Farticles\u002Fselect2-and-knockout-binding.md","Select2 and Knockout Binding","[object Object]",{"type":9,"value":10,"toc":580},"minimark",[11,31,300,307,576],[12,13,14,15,20,21,24,25,27,28,30],"p",{},"If using ",[16,17,19],"a",{"href":18},"http:\u002F\u002Fivaynberg.github.io\u002Fselect2\u002F","Select2 ","and Knockout, you have the following options for hooking up to html elements. In both of these cases my viewmodel has a property called EvaluatorList with collection object properties of DisplayName and Code.",[22,23],"br",{},"\n ",[22,26],{},"\n1.) Manual",[22,29],{},"\nJavaScript looking like",[32,33,38],"pre",{"className":34,"code":35,"language":36,"meta":37,"style":37},"language-javascript shiki shiki-themes github-light github-dark","        $(\"#txtEvaluator\").select2({  \n            placeholder: 'Evaluator',  \n            multiple:true,  \n            allowClear: true,  \n            id: function (e) { return e.Code },  \n            data: { results: ko.toJS(viewModel.EvaluatorList()), text: 'DisplayName' },  \n            formatSelection: function (item) { return item.DisplayName; },  \n            formatResult: function (item) { return item.DisplayName; }  \n        }).on(\"select2-selecting\", function (e) {  \n            $('#txtEvaluatorId').val(e.val).change();  \n        }).on(\"select2-removed\", function (e) {  \n            $('#txtEvaluatorId').val('').change();  \n        });  \n","javascript","",[39,40,41,67,79,91,101,130,154,176,197,223,248,270,294],"code",{"__ignoreMap":37},[42,43,46,50,54,58,61,64],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"sScJk","        $",[42,51,53],{"class":52},"sVt8B","(",[42,55,57],{"class":56},"sZZnC","\"#txtEvaluator\"",[42,59,60],{"class":52},").",[42,62,63],{"class":48},"select2",[42,65,66],{"class":52},"({  \n",[42,68,70,73,76],{"class":44,"line":69},2,[42,71,72],{"class":52},"            placeholder: ",[42,74,75],{"class":56},"'Evaluator'",[42,77,78],{"class":52},",  \n",[42,80,82,85,89],{"class":44,"line":81},3,[42,83,84],{"class":52},"            multiple:",[42,86,88],{"class":87},"sj4cs","true",[42,90,78],{"class":52},[42,92,94,97,99],{"class":44,"line":93},4,[42,95,96],{"class":52},"            allowClear: ",[42,98,88],{"class":87},[42,100,78],{"class":52},[42,102,104,107,110,114,117,121,124,127],{"class":44,"line":103},5,[42,105,106],{"class":48},"            id",[42,108,109],{"class":52},": ",[42,111,113],{"class":112},"szBVR","function",[42,115,116],{"class":52}," (",[42,118,120],{"class":119},"s4XuR","e",[42,122,123],{"class":52},") { ",[42,125,126],{"class":112},"return",[42,128,129],{"class":52}," e.Code },  \n",[42,131,133,136,139,142,145,148,151],{"class":44,"line":132},6,[42,134,135],{"class":52},"            data: { results: ko.",[42,137,138],{"class":48},"toJS",[42,140,141],{"class":52},"(viewModel.",[42,143,144],{"class":48},"EvaluatorList",[42,146,147],{"class":52},"()), text: ",[42,149,150],{"class":56},"'DisplayName'",[42,152,153],{"class":52}," },  \n",[42,155,157,160,162,164,166,169,171,173],{"class":44,"line":156},7,[42,158,159],{"class":48},"            formatSelection",[42,161,109],{"class":52},[42,163,113],{"class":112},[42,165,116],{"class":52},[42,167,168],{"class":119},"item",[42,170,123],{"class":52},[42,172,126],{"class":112},[42,174,175],{"class":52}," item.DisplayName; },  \n",[42,177,179,182,184,186,188,190,192,194],{"class":44,"line":178},8,[42,180,181],{"class":48},"            formatResult",[42,183,109],{"class":52},[42,185,113],{"class":112},[42,187,116],{"class":52},[42,189,168],{"class":119},[42,191,123],{"class":52},[42,193,126],{"class":112},[42,195,196],{"class":52}," item.DisplayName; }  \n",[42,198,200,203,206,208,211,214,216,218,220],{"class":44,"line":199},9,[42,201,202],{"class":52},"        }).",[42,204,205],{"class":48},"on",[42,207,53],{"class":52},[42,209,210],{"class":56},"\"select2-selecting\"",[42,212,213],{"class":52},", ",[42,215,113],{"class":112},[42,217,116],{"class":52},[42,219,120],{"class":119},[42,221,222],{"class":52},") {  \n",[42,224,226,229,231,234,236,239,242,245],{"class":44,"line":225},10,[42,227,228],{"class":48},"            $",[42,230,53],{"class":52},[42,232,233],{"class":56},"'#txtEvaluatorId'",[42,235,60],{"class":52},[42,237,238],{"class":48},"val",[42,240,241],{"class":52},"(e.val).",[42,243,244],{"class":48},"change",[42,246,247],{"class":52},"();  \n",[42,249,251,253,255,257,260,262,264,266,268],{"class":44,"line":250},11,[42,252,202],{"class":52},[42,254,205],{"class":48},[42,256,53],{"class":52},[42,258,259],{"class":56},"\"select2-removed\"",[42,261,213],{"class":52},[42,263,113],{"class":112},[42,265,116],{"class":52},[42,267,120],{"class":119},[42,269,222],{"class":52},[42,271,273,275,277,279,281,283,285,288,290,292],{"class":44,"line":272},12,[42,274,228],{"class":48},[42,276,53],{"class":52},[42,278,233],{"class":56},[42,280,60],{"class":52},[42,282,238],{"class":48},[42,284,53],{"class":52},[42,286,287],{"class":56},"''",[42,289,60],{"class":52},[42,291,244],{"class":48},[42,293,247],{"class":52},[42,295,297],{"class":44,"line":296},13,[42,298,299],{"class":52},"        });\n",[12,301,302,303],{},"Option 2) Using ",[16,304,306],{"href":305},"\u002Fblog\u002Fpost\u002F2014\u002F01\u002F20\u002FSelect2-and-Knockout-Binding.aspx","binding handler",[32,308,310],{"className":34,"code":309,"language":36,"meta":37,"style":37},"ko.bindingHandlers.select2 = {  \n    init: function (element, valueAccessor, allBindingsAccessor) {  \n        var obj = valueAccessor(),  \n            allBindings = allBindingsAccessor(),  \n            lookupKey = allBindings.lookupKey;  \n        $(element).select2(obj);  \n        if (lookupKey) {  \n            var value = ko.utils.unwrapObservable(allBindings.value);  \n            $(element).select2('data', ko.utils.arrayFirst(obj.data.results, function (item) {  \n                return item[lookupKey] === value;  \n            }));  \n        }  \n  \n        ko.utils.domNodeDisposal.addDisposeCallback(element, function () {  \n            $(element).select2('destroy');  \n        });  \n    },  \n    update: function (element) {  \n        $(element).trigger('change');  \n    }  \n};  \n",[39,311,312,323,349,365,377,387,399,407,426,456,470,475,480,485,502,519,525,531,547,564,570],{"__ignoreMap":37},[42,313,314,317,320],{"class":44,"line":45},[42,315,316],{"class":52},"ko.bindingHandlers.select2 ",[42,318,319],{"class":112},"=",[42,321,322],{"class":52}," {  \n",[42,324,325,328,330,332,334,337,339,342,344,347],{"class":44,"line":69},[42,326,327],{"class":48},"    init",[42,329,109],{"class":52},[42,331,113],{"class":112},[42,333,116],{"class":52},[42,335,336],{"class":119},"element",[42,338,213],{"class":52},[42,340,341],{"class":119},"valueAccessor",[42,343,213],{"class":52},[42,345,346],{"class":119},"allBindingsAccessor",[42,348,222],{"class":52},[42,350,351,354,357,359,362],{"class":44,"line":81},[42,352,353],{"class":112},"        var",[42,355,356],{"class":52}," obj ",[42,358,319],{"class":112},[42,360,361],{"class":48}," valueAccessor",[42,363,364],{"class":52},"(),  \n",[42,366,367,370,372,375],{"class":44,"line":93},[42,368,369],{"class":52},"            allBindings ",[42,371,319],{"class":112},[42,373,374],{"class":48}," allBindingsAccessor",[42,376,364],{"class":52},[42,378,379,382,384],{"class":44,"line":103},[42,380,381],{"class":52},"            lookupKey ",[42,383,319],{"class":112},[42,385,386],{"class":52}," allBindings.lookupKey;  \n",[42,388,389,391,394,396],{"class":44,"line":132},[42,390,49],{"class":48},[42,392,393],{"class":52},"(element).",[42,395,63],{"class":48},[42,397,398],{"class":52},"(obj);  \n",[42,400,401,404],{"class":44,"line":156},[42,402,403],{"class":112},"        if",[42,405,406],{"class":52}," (lookupKey) {  \n",[42,408,409,412,415,417,420,423],{"class":44,"line":178},[42,410,411],{"class":112},"            var",[42,413,414],{"class":52}," value ",[42,416,319],{"class":112},[42,418,419],{"class":52}," ko.utils.",[42,421,422],{"class":48},"unwrapObservable",[42,424,425],{"class":52},"(allBindings.value);  \n",[42,427,428,430,432,434,436,439,442,445,448,450,452,454],{"class":44,"line":199},[42,429,228],{"class":48},[42,431,393],{"class":52},[42,433,63],{"class":48},[42,435,53],{"class":52},[42,437,438],{"class":56},"'data'",[42,440,441],{"class":52},", ko.utils.",[42,443,444],{"class":48},"arrayFirst",[42,446,447],{"class":52},"(obj.data.results, ",[42,449,113],{"class":112},[42,451,116],{"class":52},[42,453,168],{"class":119},[42,455,222],{"class":52},[42,457,458,461,464,467],{"class":44,"line":225},[42,459,460],{"class":112},"                return",[42,462,463],{"class":52}," item[lookupKey] ",[42,465,466],{"class":112},"===",[42,468,469],{"class":52}," value;  \n",[42,471,472],{"class":44,"line":250},[42,473,474],{"class":52},"            }));  \n",[42,476,477],{"class":44,"line":272},[42,478,479],{"class":52},"        }  \n",[42,481,482],{"class":44,"line":296},[42,483,484],{"class":52},"  \n",[42,486,488,491,494,497,499],{"class":44,"line":487},14,[42,489,490],{"class":52},"        ko.utils.domNodeDisposal.",[42,492,493],{"class":48},"addDisposeCallback",[42,495,496],{"class":52},"(element, ",[42,498,113],{"class":112},[42,500,501],{"class":52}," () {  \n",[42,503,505,507,509,511,513,516],{"class":44,"line":504},15,[42,506,228],{"class":48},[42,508,393],{"class":52},[42,510,63],{"class":48},[42,512,53],{"class":52},[42,514,515],{"class":56},"'destroy'",[42,517,518],{"class":52},");  \n",[42,520,522],{"class":44,"line":521},16,[42,523,524],{"class":52},"        });  \n",[42,526,528],{"class":44,"line":527},17,[42,529,530],{"class":52},"    },  \n",[42,532,534,537,539,541,543,545],{"class":44,"line":533},18,[42,535,536],{"class":48},"    update",[42,538,109],{"class":52},[42,540,113],{"class":112},[42,542,116],{"class":52},[42,544,336],{"class":119},[42,546,222],{"class":52},[42,548,550,552,554,557,559,562],{"class":44,"line":549},19,[42,551,49],{"class":48},[42,553,393],{"class":52},[42,555,556],{"class":48},"trigger",[42,558,53],{"class":52},[42,560,561],{"class":56},"'change'",[42,563,518],{"class":52},[42,565,567],{"class":44,"line":566},20,[42,568,569],{"class":52},"    }  \n",[42,571,573],{"class":44,"line":572},21,[42,574,575],{"class":52},"};\n",[577,578,579],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":37,"searchDepth":69,"depth":69,"links":581},[],"2015-04-20T08:07:16.9200000-04:00",null,"md","\u002Farticles\u002Fimages\u002Fko.jpg",{},true,"\u002Farticles\u002Fselect2-and-knockout-binding",{"title":6,"description":583},"articles\u002Fselect2-and-knockout-binding",[592,593,36,594],"aspnet","html","knockout","IAV-2N-X-tExH1G5PlY5R0oGGOGSG-lUgmlyANRbjsM",[597,611,624,638],{"id":598,"title":599,"body":600,"description":604,"extension":584,"img":605,"meta":606,"name":592,"navigation":587,"path":607,"seo":608,"stem":609,"__hash__":610},"tags\u002Ftags\u002Faspnet.md","Aspnet",{"type":9,"value":601,"toc":602},[],{"title":37,"searchDepth":69,"depth":69,"links":603},[],"ASP.NET is an open source web framework, created by Microsoft, for building modern web apps and services with .NET.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1598313183973-4effcded8d5e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=675&q=80",{},"\u002Ftags\u002Faspnet",{"description":604},"tags\u002Faspnet","SlUGLdZWQy8mYOWC6OetgJkwVulWNURoVHeuESIDleI",{"id":612,"title":613,"body":614,"description":618,"extension":584,"img":605,"meta":619,"name":593,"navigation":587,"path":620,"seo":621,"stem":622,"__hash__":623},"tags\u002Ftags\u002Fhtml.md","Html",{"type":9,"value":615,"toc":616},[],{"title":37,"searchDepth":69,"depth":69,"links":617},[],"HTML",{},"\u002Ftags\u002Fhtml",{"description":618},"tags\u002Fhtml","XplOeFNlW_OhQTIuz7qpRvyCeTnPXLd6lB0N8j7go0Y",{"id":625,"title":626,"body":627,"description":631,"extension":584,"img":632,"meta":633,"name":36,"navigation":587,"path":634,"seo":635,"stem":636,"__hash__":637},"tags\u002Ftags\u002Fjavascript.md","Javascript",{"type":9,"value":628,"toc":629},[],{"title":37,"searchDepth":69,"depth":69,"links":630},[],"JavaScript is a programming language adhering to the ECMAScript spec.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1598425237654-4fc758e50a93?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=675&q=80",{},"\u002Ftags\u002Fjavascript",{"description":631},"tags\u002Fjavascript","wqzmOtgcvcAeeB0QinMxw2OqnSglrJN0TeWQ-fulunM",{"id":639,"title":640,"body":641,"description":645,"extension":584,"img":605,"meta":646,"name":594,"navigation":587,"path":647,"seo":648,"stem":649,"__hash__":650},"tags\u002Ftags\u002Fknockout.md","Knockout",{"type":9,"value":642,"toc":643},[],{"title":37,"searchDepth":69,"depth":69,"links":644},[],"JavaScript framework",{},"\u002Ftags\u002Fknockout",{"description":645},"tags\u002Fknockout","zVw-nWiaWRnCgH0G-z-_kVZ_fXxO_B2DQTIErQ1Y0ho",{"id":652,"title":653,"author":7,"body":654,"createdAt":582,"description":583,"extension":584,"img":583,"meta":671,"navigation":587,"path":672,"seo":673,"stem":674,"tags":675,"updatedAt":582,"__hash__":677},"articles\u002Farticles\u002Fdetermine-sharepoint-site-master-page-in-use.md","Determine SharePoint Site Master Page (in use)",{"type":9,"value":655,"toc":669},[656,659,666],[12,657,658],{},"Where to change the master page?     Well, if you don’t have the Publishing feature activated navigate\nto",[12,660,661,664,24],{},[16,662,663],{"href":663},"http:\u002F\u002Fyour_server\u002Fsites\u002Fexamples\u002F_Layouts\u002FChangeSiteMasterPage.aspx",[22,665],{},[12,667,668],{},"If you do have the Publishing feature enabled you can go to Master Page on the Site Settings page, under Look and Feel category.",{"title":37,"searchDepth":69,"depth":69,"links":670},[],{},"\u002Farticles\u002Fdetermine-sharepoint-site-master-page-in-use",{"title":653,"description":583},"articles\u002Fdetermine-sharepoint-site-master-page-in-use",[676],"sharepoint","KoxFTdAecJ_3-UaaVIfPKuSarqQLbJypID67sC3-QqQ",{"id":679,"title":680,"author":7,"body":681,"createdAt":582,"description":583,"extension":584,"img":697,"meta":701,"navigation":587,"path":702,"seo":703,"stem":704,"tags":705,"updatedAt":582,"__hash__":706},"articles\u002Farticles\u002Fsharepoint-2010-iterating-sites-com-factory-error.md","SharePoint 2010 Iterating Sites–COM Factory Error",{"type":9,"value":682,"toc":699},[683,686,689],[12,684,685],{},"Platform: Windows 7, 64 bit, .NET 4 Windows App\u002FConsole App     Error: Retrieving the COM class factory for\ncomponent with CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 80040154 Class not\nregistered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).   ",[12,687,688],{},"Solution: Your debug configuration must use x64 as its active solution platform.",[12,690,691,692,694],{},"Otherwise you're going to get a very non-intuitive message like that shown above.  You can change this by picking Configuration\nManager from the Build menu or from the Solution Configurations drop down menu in your toolbar. Make sure the Active Solution Platform is not x86.",[22,693],{},[695,696],"img",{"src":697,"alt":37,"style":698},"\u002Farticles\u002Fimages\u002Ferror.jpg","display:none;",{"title":37,"searchDepth":69,"depth":69,"links":700},[],{},"\u002Farticles\u002Fsharepoint-2010-iterating-sites-com-factory-error",{"title":680,"description":583},"articles\u002Fsharepoint-2010-iterating-sites-com-factory-error",[676],"BsSgOHf3cn3e90uu93Lgc55IUUa_cRQha4xY_nFeEkc",1781574762013]