{"version":3,"sources":["select2user.js"],"names":["$","fn","select2user","opts","select2","extend","defaults","templateItem","user","loading","id","text","imageUrl","SmallAvatarId","DisplayName","placeholder","multiple","minimumInputLength","maximumInputLength","ajax","dataType","delay","data","params","query","term","processResults","mappedResults","_","map","result","UserId","MediumAvatarId","DisplayAttributes","Title","UniqueId","results","pagination","more","templateSelection","templateResult","escapeMarkup","m","jQuery"],"mappings":";;AAAC,WAAUA,CAAV,EAAa;AAEVA,EAAAA,CAAC,CAACC,EAAF,CAAKC,WAAL,GAAmB,UAAUC,IAAV,EAAgB;AAC/B,WAAO,KAAKC,OAAL,CAAaJ,CAAC,CAACK,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmBL,CAAC,CAACC,EAAF,CAAKC,WAAL,CAAiBI,QAApC,EAA8CH,IAA9C,CAAb,CAAP;AACH,GAFD;;AAIA,MAAII,YAAY,GAAG,UAAUC,IAAV,EAAgB;AAC/B,QAAIA,IAAI,CAACC,OAAT,EAAkB;AACd,aAAO,YAAP;AACH;;AAED,QAAID,IAAI,CAACE,EAAL,KAAY,EAAhB,EAAoB;AAChB,aAAOF,IAAI,CAACG,IAAZ;AACH;;AAED,QAAIC,QAAJ;;AACA,QAAIJ,IAAI,CAACK,aAAL,IAAsB,IAA1B,EAAgC;AAC5BD,MAAAA,QAAQ,GAAG,qBAAqBJ,IAAI,CAACK,aAArC;AACH,KAFD,MAEO;AACHD,MAAAA,QAAQ,GAAG,yCAAX;AACH;;AAED,WAAO,eAAeA,QAAf,GAA0B,uEAA1B,GAAoGJ,IAAI,CAACM,WAAzG,GAAuH,SAA9H;AACH,GAjBD;;AAmBAd,EAAAA,CAAC,CAACC,EAAF,CAAKC,WAAL,CAAiBI,QAAjB,GAA4B;AACxBS,IAAAA,WAAW,EAAE,sBADW;AAExBC,IAAAA,QAAQ,EAAE,KAFc;AAGxBC,IAAAA,kBAAkB,EAAE,CAHI;AAIxBC,IAAAA,kBAAkB,EAAE,EAJI;AAKxBC,IAAAA,IAAI,EAAE;AACF;AACA;AACAC,MAAAA,QAAQ,EAAE,MAHR;AAIFC,MAAAA,KAAK,EAAE,GAJL;AAKFC,MAAAA,IAAI,EAAE,UAAUC,MAAV,EAAkB;AACpB,eAAO;AACHC,UAAAA,KAAK,EAAED,MAAM,CAACE;AADX,SAAP;AAGH,OATC;AAUFC,MAAAA,cAAc,EAAE,UAAUJ,IAAV,EAAgB;AAC5B,YAAIK,aAAa,GAAGC,CAAC,CAACC,GAAF,CAAMP,IAAN,EAAY,UAAUQ,MAAV,EAAkB;AAC9C,iBAAO;AACHpB,YAAAA,EAAE,EAAEoB,MAAM,CAACC,MADR;AAEHA,YAAAA,MAAM,EAAED,MAAM,CAACC,MAFZ;AAGHlB,YAAAA,aAAa,EAAEiB,MAAM,CAACjB,aAHnB;AAIHmB,YAAAA,cAAc,EAAEF,MAAM,CAACE,cAJpB;AAKHlB,YAAAA,WAAW,EAAEgB,MAAM,CAAChB,WALjB;AAMHmB,YAAAA,iBAAiB,EAAEH,MAAM,CAACG,iBANvB;AAOHC,YAAAA,KAAK,EAAEJ,MAAM,CAACI,KAPX;AAQHC,YAAAA,QAAQ,EAAEL,MAAM,CAACK;AARd,WAAP;AAUH,SAXmB,CAApB;;AAYA,eAAO;AACHC,UAAAA,OAAO,EAAET,aADN;AAEHU,UAAAA,UAAU,EAAE;AACRC,YAAAA,IAAI,EAAE;AADE;AAFT,SAAP;AAMH;AA7BC,KALkB;AAoCxB5B,IAAAA,EAAE,EAAE,UAAUF,IAAV,EAAgB;AAChB,aAAOA,IAAI,CAACuB,MAAZ;AACH,KAtCuB;AAuCxBQ,IAAAA,iBAAiB,EAAEhC,YAvCK;AAwCxBiC,IAAAA,cAAc,EAAEjC,YAxCQ;AAyCxBkC,IAAAA,YAAY,EAAE,UAAUC,CAAV,EAAa;AACvB,aAAOA,CAAP;AACH;AA3CuB,GAA5B;AA8CH,CAvEA,EAuECC,MAvED,CAAD","sourcesContent":["(function ($) {\r\n\r\n    $.fn.select2user = function (opts) {\r\n        return this.select2($.extend(true, {}, $.fn.select2user.defaults, opts));\r\n    };\r\n\r\n    var templateItem = function (user) {\r\n        if (user.loading) {\r\n            return 'Loading...';\r\n        }\r\n\r\n        if (user.id === '') {\r\n            return user.text;\r\n        }\r\n\r\n        var imageUrl;\r\n        if (user.SmallAvatarId != null) {\r\n            imageUrl = \"/Image/GetImage/\" + user.SmallAvatarId;\r\n        } else {\r\n            imageUrl = \"/Content/Images/defaultavatar_small.png\";\r\n        }\r\n\r\n        return \"<img src='\" + imageUrl + \"' class='img-rounded' style='margin-right: 10px' alt='stuff' /><span>\" + user.DisplayName + \"</span>\";\r\n    };\r\n\r\n    $.fn.select2user.defaults = {\r\n        placeholder: 'Search for a user...',\r\n        multiple: false,\r\n        minimumInputLength: 3,\r\n        maximumInputLength: 20,\r\n        ajax: {\r\n            //below is for example purposes\r\n            //url: \"/Recognize/Search\",\r\n            dataType: 'json',\r\n            delay: 250,\r\n            data: function (params) {\r\n                return {\r\n                    query: params.term\r\n                };\r\n            },\r\n            processResults: function (data) {\r\n                var mappedResults = _.map(data, function (result) {\r\n                    return {\r\n                        id: result.UserId,\r\n                        UserId: result.UserId,\r\n                        SmallAvatarId: result.SmallAvatarId,\r\n                        MediumAvatarId: result.MediumAvatarId,\r\n                        DisplayName: result.DisplayName,\r\n                        DisplayAttributes: result.DisplayAttributes,\r\n                        Title: result.Title,\r\n                        UniqueId: result.UniqueId\r\n                    };\r\n                });\r\n                return {\r\n                    results: mappedResults,\r\n                    pagination: {\r\n                        more: false\r\n                    }\r\n                };\r\n            }\r\n        },\r\n        id: function (user) {\r\n            return user.UserId;\r\n        },\r\n        templateSelection: templateItem,\r\n        templateResult: templateItem,\r\n        escapeMarkup: function (m) {\r\n            return m;\r\n        }\r\n    };\r\n\r\n}(jQuery));"],"file":"select2user.js"}