{"version":3,"sources":["jquery.offlinePaginatedTable.min.js"],"names":["$","fn","offlinePaginatedTable","options","settings","extend","paginated","sortable","color","maxPageDisplay","minPageDisplay","perPage","pagePositions","responsive","admin","subadmin","noclick","noResultMsg","hasFilter","sortableHtml","classOpt","lineNumber","stickyHeader","this","filter","each","index","drawResponsiveTable","local","table","width","parent","removeClass","addClass","css","empty","clone","appendTo","remove","position","top","oldCells","newCells","i","navigator","userAgent","toLowerCase","length","oldCell","newCell","outerHeight","attr","drawPageLinksHighlightTimeout","drawPageLinksRemoveTimeout","drawPageLinks","clearTimeout","pagination","positions","posIndex","posValue","currentPages","all","removeAttr","view","pages","link","text","last","detach","setTimeout","highlightPage","wrapper","setPage","hasClass","page","prev","next","parseInt","replace","drawRecordSubset","setPerPage","val","Math","ceil","records","highlightPerPage","setSort","sort","selectedSort","header","selectedSortDir","selectedSortCol","left","right","leftValue","rightValue","temp","get","parseFloat","highlightSort","firstToShow","select","lastToShow","first","allPages","undefined","label","startingRecord","endingRecord","line","find","eventSink","evt","preventDefault","container","placeholder","sortableColumns","insertBefore","cell","title","swap","asc","dsc","html","split","push","on","window","click","event","values","option","Date","getTime","wrapInner","wrap","upper","prependTo","lower","insertAfter","jQuery"],"mappings":"CAOA,SAAYA,GACXA,EAAEC,GAAGC,sBAAwB,SAAUC,GAEtC,GAAIC,GAAWJ,EAAEK,QAChBC,WAAiB,EACjBC,UAAiB,EACjBC,MAAiB,OACjBC,eAAiB,EACjBC,eAAiB,EACjBC,SAAkB,EAAE,GAAG,GAAG,IAAI,KAC9BC,eAAkB,QAAQ,SAC1BC,YAAiB,EACjBC,OAAiB,EACjBC,UAAiB,EACjBC,SAAiB,EACjBC,YAAiB,yBACjBC,WAAgB,EAChBC,cAAiB,EACjBC,SAAe,GACfC,YAAiB,EACjBC,cAAiB,GACfnB,EAEH,OAAOoB,MAAKC,OAAQ,SAAUC,KAAM,SAAUC,GAC7C,GAAIC,GAAsB,WAEzB,IAAKC,EAAMxB,SAASS,YAAce,EAAMC,MAAMC,SAAYF,EAAMC,MAAME,SAAUD,QAK/E,MAHAF,GAAMC,MAAME,SAAUC,YAAa,cACnCJ,EAAMf,WAAWoB,SAAU,cAC3BjC,GAAG,KAAM4B,EAAMC,OAAQK,IAAK,SAAU,GAIvCN,GAAMC,MAAME,SAAUE,SAAU,cAEhCL,EAAMf,WAAWsB,QAEjBnC,EAAG,KAAM4B,EAAMC,OAAQO,QAASC,SAAUT,EAAMf,YAEhDb,EAAG,6CAA8C4B,EAAMf,YAAayB,SAEpEV,EAAMf,WAAWqB,IAAK,QAASlC,EAAG,iBAAkB4B,EAAMC,OAAQC,QAAW,MAC7EF,EAAMf,WAAWqB,IAAK,MAASN,EAAMC,MAAMU,WAAYC,IAAM,KAQ7D,KAAK,GANDC,GAAWzC,EAAG,iCAAkC4B,EAAMC,OACtDa,EAAW1C,EAAG,iCAAkC4B,EAAMf,YAKjD8B,GAHAC,UAAUC,UAAUC,cAGhB,GAAGH,EAAIF,EAASM,OAAQJ,IACrC,CACC,GAAIK,GAAUhD,EAAGyC,EAASE,IACtBM,EAAUjD,EAAG0C,EAASC,GAE1BK,GAAQjB,SAAUG,IAAK,SAAU,IAEjCe,EAAQlB,SAAUG,IAAK,SAAYc,EAAQjB,SAAUmB,cAAiB,EAAM,MAC5EF,EAAQjB,SAAUG,IAAK,SAAYc,EAAQjB,SAAUmB,cAAiB,EAAM,MAG7EtB,EAAMf,WAAWsC,KAAM,QAAS,gBAAkBvB,EAAMC,MAAMsB,KAAM,WAGjEC,EAAgC,EAChCC,EAAgC,EAChCC,EAAgB,WAEnBC,aAAcH,GACdG,aAAcF,GAEdrD,EAAEyB,KAAMG,EAAM4B,WAAWC,UAAW,SAAUC,EAAUC,GAIvD,IAAK,GAHDC,GAAe5D,EAAG,wCAAyC4B,EAAM4B,WAAWG,GAAUE,KAAMC,WAAY,eAAgBf,OACxHV,EAAerC,EAAG,MAAO4B,EAAM4B,WAAWG,GAAUE,KAE/ClB,EAAIiB,EAAcjB,EAAIf,EAAMmC,KAAKC,MAAOrB,IACjD,CACC,GAAIjB,GAAQiB,EAAI,EACZsB,EAAOjE,EAAG,QACdiE,GAAKd,KAAM,QAAS,cAAgBzB,GACpCuC,EAAKd,KAAM,OAAQ,IAAMzB,GACzBuC,EAAKC,KAAMxC,GAEXuC,EAAKhC,SAAU,YAEfgC,EAAK5B,SAAUA,GAGhB,IAAK,GAAIM,GAAIf,EAAMmC,KAAKC,MAAOrB,EAAIiB,EAAcjB,IACjD,CACC,GAAIjB,GAAQiB,EAAI,CAChB3C,GAAG,YAAc0B,EAAQ,KAAME,EAAM4B,WAAWG,GAAUE,KAAMV,KAAM,eAAe,GAGtFvB,EAAM4B,WAAWG,GAAUQ,KAAKC,SAAU/B,SAAUA,KAGrDe,EAAgCiB,WAAY,WAC3CC,KACE,KAEHjB,EAA6BgB,WAAY,WACxCrE,EAAG,iBAAkB4B,EAAM2C,SAAUjC,UACnC,MAGAkC,EAAU,WAEb,IAAIxE,EAAGuB,MAAOkD,SAAU,UAAxB,CAGA,GAAIC,GAAO1E,EAAGuB,MAAO4B,KAAM,OAEvB,WAAYuB,IAAOA,EAAO1E,EAAG,+CAAgDA,EAAGuB,MAAOQ,SAAUA,UAAW4C,OAAQxB,KAAM,SACzH,SAAWuB,IAAOA,EAAO1E,EAAG,+CAAgDA,EAAGuB,MAAOQ,SAAUA,UAAW6C,OAAQzB,KAAM,SAE9HvB,EAAMmC,KAAKW,KAAOG,SAAUH,EAAKI,QAAS,IAAK,IAAM,IAErDC,IACAT,MAGGU,EAAa,WAEhBpD,EAAMmC,KAAKpD,QAAUkE,SAAU7E,EAAGuB,MAAO0D,OACzCrD,EAAMmC,KAAKC,MAAUkB,KAAKC,KAAMvD,EAAMmC,KAAKqB,QAAUxD,EAAMmC,KAAKpD,SAE5DiB,EAAMmC,KAAKW,KAAO9C,EAAMmC,KAAKC,QAChCpC,EAAMmC,KAAKW,KAAO9C,EAAMmC,KAAKC,OAE9Be,IACAzB,IACA+B,KAGGC,EAAU,WAEb,GAAIrB,GAAOjE,EAAGuB,KAEd,KAAI0C,EAAKQ,SAAU,UAAnB,CAGI,SAAWR,EAAKd,KAAM,SAAanD,EAAG,wBAAyBiE,EAAKlC,UAAWgB,OAE1E,SAAWkB,EAAKd,KAAM,UAC9Bc,EAAOjE,EAAG,iBAAkBiE,EAAKlC,WAFjCkC,EAAOjE,EAAG,iBAAkBiE,EAAKlC,UAIlCH,EAAMmC,KAAKwB,KAAOV,SAAUZ,EAAKd,KAAM,aAEvC,IAAIqC,GAAkBxF,EAAG,gBAAkB4B,EAAMmC,KAAKwB,KAAO,KAAM3D,EAAM6D,QACrEC,EAAiD,QAA/BF,EAAarC,KAAM,QACrCwC,EAAkBH,EAAazD,SAAUL,QAEzC0D,EAAUpF,EAAG,kBAAmB4B,EAAMC,OAAQ0D,KAAM,SAAUK,EAAMC,GACvE,GAAKC,GAAYjB,SAAU7E,EAAI4F,GAAOzC,KAAM,sBACxC4C,EAAalB,SAAU7E,EAAG6F,GAAQ1C,KAAM,qBAE5C,OAAI2C,GAAYC,KACZD,EAAYC,EAAqB,EAC9B,IACLR,KAAM,SAAUK,EAAMC,GACxB,IAAKH,EACL,CACC,GAAIM,GAAOJ,CACPA,GAAOC,EACRA,EAAQG,EAGZ,GAAKF,GAAY9F,EAAGA,EAAG,KAAO4F,GAAOK,IAAKN,IAAmBzB,OACzD6B,EAAa/F,EAAGA,EAAG,KAAM6F,GAAQI,IAAKN,IAAmBzB,MAgC7D,OA7BIlE,GAAGiE,GAAOlC,OAAQ,MAAO0C,SAAU,iBACtCqB,EAAYA,EAAUhB,QAAQ,WAAY,IAC1CiB,EAAaA,EAAWjB,QAAQ,WAAY,IAGxC9E,EAAGA,EAAG,KAAO4F,GAAOK,IAAKN,IAAmBlB,SAAU,mBACzDqB,OAEG9F,EAAGA,EAAG,KAAO6F,GAAQI,IAAKN,IAAmBlB,SAAU,mBAC1DsB,QAIGG,WAAaJ,IAAgBA,GAAaI,WAAYH,IAAgBA,GACtEG,WAAaJ,IAAgBA,IAAcC,EAAWhD,QACtDmD,WAAYH,IAAgBA,IAAgBD,EAAU/C,QAEpD+C,EAAU/C,SAAU+C,qBACrBC,EAAWhD,SAASgD,qBAExBD,EAAYI,WAAaJ,GAC1BC,EAAaG,WAAYH,KAIxBD,EAAaA,EAAUhD,cACxBiD,EAAaA,EAAWjD,eAGrBgD,EAAYC,KACZD,EAAYC,EAAqB,GAEpCD,EAAYjB,SAAU7E,EAAI4F,GAAOzC,KAAM,sBACxC4C,EAAalB,SAAU7E,EAAG6F,GAAQ1C,KAAM,sBAEpC2C,EAAYC,KACZD,EAAYC,EAAqB,EAE9B,IAGRX,GAAQhB,SAAU3C,KAAM,WACvBzB,EAAGuB,MAAOc,SAAUT,EAAMC,SAG3BkD,IACAoB,MAGG7B,EAAgB,SAAUI,GAE7B1E,EAAEyB,KAAMG,EAAM4B,WAAWC,UAAW,SAAUC,EAAUC,GAEvD,GAAIyC,GAAcxE,EAAMmC,KAAKW,KAAO9C,EAAMxB,SAAS,QAAUwB,EAAM4B,WAAWG,GAAU0C,OAAOnE,IAAK,WAAc,iBAAmB,kBAChIoE,EAAa1E,EAAMmC,KAAKW,KAAO9C,EAAMxB,SAAS,QAAUwB,EAAM4B,WAAWG,GAAU0C,OAAOnE,IAAK,WAAc,iBAAmB,iBAGrIlC,GAAG,IAAK4B,EAAM4B,WAAWG,GAAUE,KAAMC,WAAY,SAAU7B,SAAU,YACzEL,EAAM4B,WAAWG,GAAU4C,MAAMvE,YAAa,YAC9CJ,EAAM4B,WAAWG,GAAUQ,KAAKnC,YAAc,YAE9ChC,EAAG,YAAc4B,EAAMmC,KAAKW,KAAO,KAAM9C,EAAM4B,WAAWG,GAAUE,KAAM5B,SAAU,SAEpF,IAAIuE,GAAWxG,EAAG,wCAAyC4B,EAAM4B,WAAWG,GAAUE,IAEtF2C,GAAS/E,KAAM,SAAUC,GACpBA,EAAQ,GAAK0E,GAAe1E,EAAQ,GAAK4E,GAAcG,QAAazG,EAAGuB,MAAO4B,KAAM,gBACvFnD,EAAGuB,MAAOS,YAAa,cAGzBwE,EAAWxG,EAAG,wCAAyC4B,EAAM4B,WAAWG,GAAUE,KAE9E2C,EAASD,QAAS9B,SAAU,aAAgBgC,QAAaD,EAASD,QAASpD,KAAM,gBAAiBqD,EAASD,QAASvE,YAAa,YAAaC,SAAU,iBACxJuE,EAASrC,OAASM,SAAU,aAAgBgC,QAAaD,EAASrC,OAAShB,KAAM,gBAAiBqD,EAASrC,OAASnC,YAAa,YAAaC,SAAU,gBAExJuE,EAASD,QAAS9B,SAAU,WAAY7C,EAAM4B,WAAWG,GAAU4C,MAAMtE,SAAU,UACnFuE,EAASrC,OAASM,SAAU,WAAY7C,EAAM4B,WAAWG,GAAUQ,KAAKlC,SAAW,aAIrFoD,EAAmB,WAEtBrF,EAAEyB,KAAMG,EAAM4B,WAAWC,UAAW,SAAUC,EAAUC,GACnD/B,EAAMxB,SAASU,OAClBc,EAAM4B,WAAWG,GAAU+C,MAAMxC,KAAMtC,EAAMmC,KAAKpD,SAEnDiB,EAAM4B,WAAWG,GAAU0C,OAAOpB,IAAKrD,EAAMmC,KAAKpD,YAIhDwF,EAAgB,WAEnBnG,EAAG,WAAY4B,EAAM6D,QAASzD,YAAa,UAC3ChC,EAAG,gBAAkB4B,EAAMmC,KAAKwB,KAAO,KAAM3D,EAAM6D,QAASxD,SAAU,WAGnE8C,EAAmB,WAEtB,GAAI4B,GAAiB/E,EAAMmC,KAAKpD,SAAYiB,EAAMmC,KAAKW,KAAO,GACxDkC,EAAeD,EAAiB/E,EAAMmC,KAAKpD,OAEjDX,GAAG,kBAAmB4B,EAAMC,OAAQI,SAAU,UAAWR,KAAM,SAAUC,GAIxE,IAHIA,GAASiF,GAAkBjF,EAAQkF,IAAiBhF,EAAMxB,SAASE,YACtEN,EAAGuB,MAAOS,YAAa,UAEpBJ,EAAMxB,SAASiB,WAAa,CAC/B,GAAIwF,GAAOF,EAAiBjF,EAAQ,CACpC1B,GAAGuB,MAAOuF,KAAK,YAAY7E,SAAU,eAAgBkB,KAAM,WAAY0D,MAKzElF,KAGGoF,EAAY,SAAUC,GAEzBA,EAAIC,kBAMDrF,IAGJA,GAAMxB,SAAWA,EAIbwB,EAAMxB,SAASU,QAElBc,EAAMxB,SAASI,MAAyC,eAAzBoB,EAAMxB,SAASI,MAAyBoB,EAAMxB,SAASI,MAAQ,OAC9FoB,EAAMxB,SAASO,SAAiB,EAAE,GAAG,GAAG,IAAI,KAC5CiB,EAAMxB,SAASQ,eAAiB,SAChCgB,EAAMxB,SAASS,YAAgB,GAIhCe,EAAMmC,QACNnC,EAAMmC,KAAKW,KAAU,EACrB9C,EAAMmC,KAAKpD,QAAU,GACrBiB,EAAMmC,KAAKwB,KAAU,EACrB3D,EAAMmC,KAAKqB,QAAUpF,EAAG,KAAMuB,MAAOwB,OAAS,EAC9CnB,EAAMmC,KAAKC,MAAUkB,KAAKC,KAAMvD,EAAMmC,KAAKqB,QAAUxD,EAAMmC,KAAKpD,SAGhEiB,EAAMsF,UAAclH,EAAGuB,MAAOQ,SAC9BH,EAAMuF,YAAcnH,EAAG,YACvB4B,EAAM2C,QAAcvE,EAAG,YAGvB4B,EAAMC,MAAkB7B,EAAGuB,MAC3BK,EAAMf,WAAkBb,EAAG,aAC3B4B,EAAM6D,OAAkBzF,EAAG,KAAM4B,EAAMC,OAAQ0E,QAC/C3E,EAAMwF,mBAGNxF,EAAMuF,YAAYE,aAAczF,EAAMC,OACtCD,EAAMC,MAAMuC,SAGZxC,EAAMC,MAAMiC,WAAY,eAGxBlC,EAAM2C,QAAQtC,SAAe,kBAC7BL,EAAMC,MAAMI,SAAaL,EAAMxB,SAASI,OACxCoB,EAAMC,MAAMI,SAAUL,EAAMxB,SAASgB,UACrCQ,EAAM6D,OAAOxD,SAAwB,UACjCL,EAAMxB,SAASkB,cAAgBM,EAAM6D,OAAOxD,SAAS,gBAErDL,EAAMxB,SAASU,OAAWc,EAAM2C,QAAQtC,SAAY,SACpDL,EAAMxB,SAASW,UAAWa,EAAMC,MAAMI,SAAW,YACjDL,EAAMxB,SAASY,SAAWY,EAAM2C,QAAQtC,SAAU,WAGlDL,EAAMxB,SAASU,OAClBd,EAAG,eAAgB4B,EAAM6D,QAAShE,KAAM,WACvCzB,EAAGuB,MAAOQ,SAAUE,SAAU,eAI5BL,EAAMxB,SAASG,UAAYqB,EAAMmC,KAAKqB,SAEzCpF,EAAG,+BAAgC4B,EAAM6D,QAAShE,KAAM,WACvD,GAAI6F,GAAQtH,EAAGuB,MACXgG,EAAQD,EAAKpD,OACbsD,EAAQxH,EAAG,SACXyH,EAAQzH,EAAG,SACX0H,EAAQ1H,EAAG,QAEX4B,GAAMxB,SAASe,eAAgBoG,EAAQD,EAAKK,QAEhDH,EAAKrE,KAAM,OAAQ,SAClBsE,EAAItE,KAAM,OAAS,QACnBuE,EAAIvE,KAAM,OAAS,QAEpBsE,EAAItE,KAAM,YAAamE,EAAKnE,KAAM,aAAcyE,MAAO,KAAM,IAC7DF,EAAIvE,KAAM,YAAamE,EAAKnE,KAAM,aAAcyE,MAAO,KAAM,IAE7DJ,EAAKrE,KAAM,QAAS,YAAeoE,EAAQ,KAC1CE,EAAItE,KAAM,QAAS,YAAeoE,EAAQ,gBAC1CG,EAAIvE,KAAM,QAAS,YAAeoE,EAAQ,iBAE3CE,EAAIvD,KAAM,KACVwD,EAAIxD,KAAM,KAENtC,EAAMxB,SAASe,aAElBqG,EAAKG,KAAMJ,GAIXC,EAAKtD,KAAMqD,GAGZD,EAAKnF,QAELsF,EAAIpF,SAAWiF,GACfI,EAAIrF,SAAWiF,GACfE,EAAKnF,SAAUiF,GAEf1F,EAAMwF,gBAAgBS,KAAMP,KAG7BtH,EAAG,kBAAmB4B,EAAMC,OAAQJ,KAAM,SAAUC,GACnD1B,EAAGuB,MAAO4B,KAAM,oBAAqBzB,MAG9BE,EAAMxB,SAASG,UAEvBP,EAAG,+BAAgC4B,EAAM6D,QAASvD,IAAK,eAAgB,QAIxEN,EAAM6D,OAAOqC,GAAI,QAAS,mCAAoCf,GAG9DnF,EAAM6D,OAAOqC,GAAI,QAAS,mCAAoCxC,GAG1D1D,EAAMxB,SAASc,YAClBU,EAAMxB,SAASa,YAAc,0DAGzBW,EAAMmC,KAAKqB,SACfpF,EAAG,sBAAwBA,EAAG,SAAU4B,EAAM6D,QAAS1C,OAAS,KAAOnB,EAAMxB,SAASa,YAAc,cAAeoB,SAAUT,EAAMC,OAEpI7B,EAAG+H,QAASD,GAAI,2BAA4BnG,GAE5C3B,EAAG,6BAA8BgI,MAAM,SAASC,GAC/C5D,WAAY,WACX1C,KACE,OAIJC,EAAM4B,cACN5B,EAAM4B,WAAW0E,OAAetG,EAAMxB,SAASO,QAC/CiB,EAAM4B,WAAWC,UAAe7B,EAAMxB,SAASQ,cAE1CgB,EAAMxB,SAASE,YACnBsB,EAAM4B,WAAWC,cAElBzD,EAAEyB,KAAMG,EAAM4B,WAAWC,UAAW,SAAUC,EAAUC,GAEvD/B,EAAM4B,WAAWG,MACjB/B,EAAM4B,WAAWG,GAAUE,IAAgB7D,EAAG,cAC9C4B,EAAM4B,WAAWG,GAAUhD,QAAgBX,EAAG,cAC9C4B,EAAM4B,WAAWG,GAAU+C,MAAgB1G,EAAG,cAC9C4B,EAAM4B,WAAWG,GAAU0C,OAAgBrG,EAAG,cAC9C4B,EAAM4B,WAAWG,GAAU4C,MAAgBvG,EAAG,cAC9C4B,EAAM4B,WAAWG,GAAUQ,KAAgBnE,EAAG,aAE9C,KAAK,GAAI2C,GAAI,EAAGA,EAAIf,EAAM4B,WAAW0E,OAAOnF,OAAQJ,IACpD,CACC,GAAIwF,GAASnI,EAAG,aAChBmI,GAAOlD,IAAMrD,EAAM4B,WAAW0E,OAAOvF,IACrCwF,EAAOjE,KAAMtC,EAAM4B,WAAW0E,OAAOvF,IAErCwF,EAAO9F,SAAUT,EAAM4B,WAAWG,GAAU0C,QAI7CzE,EAAM4B,WAAWG,GAAU4C,MAAMpD,KAAM,QAAS,uBAChDvB,EAAM4B,WAAWG,GAAUQ,KAAKhB,KAAO,QAAS,mBAChDvB,EAAM4B,WAAWG,GAAU4C,MAAMpD,KAAO,OAAQ,UAChDvB,EAAM4B,WAAWG,GAAUQ,KAAKhB,KAAQ,OAAQ,SAChDvB,EAAM4B,WAAWG,GAAU0C,OAAOlD,KAAQ,KAAM,UAAYQ,EAAW,KAAM,GAAMyE,OAASC,WAC5FzG,EAAM4B,WAAWG,GAAU+C,MAAMvD,KAAQ,MAAOvB,EAAM4B,WAAWG,GAAU0C,OAAOlD,KAAM,OAGxFvB,EAAM4B,WAAWG,GAAU+C,MAAMxC,KAAM,iBACvCtC,EAAM4B,WAAWG,GAAU4C,MAAMrC,KAAM,KACvCtC,EAAM4B,WAAWG,GAAUQ,KAAKD,KAAO,KAGvCtC,EAAM4B,WAAWG,GAAU4C,MAAMtE,SAAU,UAC3CL,EAAM4B,WAAWG,GAAUQ,KAAKlC,SAAW,UAC3CL,EAAM4B,WAAWG,GAAUE,IAAI5B,SAAY,cAAgB0B,GAEtD/B,EAAMmC,KAAKqB,UAEfxD,EAAM4B,WAAWG,GAAU0C,OAAOpE,SAAU,YAC5CL,EAAM4B,WAAWG,GAAU+C,MAAMzE,SAAW,aAI7CL,EAAM4B,WAAWG,GAAUE,IAAIiE,GAAI,QAAS,IAAKf,GAGjDnF,EAAM4B,WAAWG,GAAUE,IAAIiE,GAAQ,QAAS,IAAKtD,GACrD5C,EAAM4B,WAAWG,GAAU0C,OAAOyB,GAAI,SAAe9C,GAGjDpD,EAAMxB,SAASU,OAElBc,EAAM4B,WAAWG,GAAU0C,OAAOhE,SAAUT,EAAM4B,WAAWG,GAAUhD,SACvEiB,EAAM4B,WAAWG,GAAU+C,MAAMrE,SAAWT,EAAM4B,WAAWG,GAAUhD,WAIvEiB,EAAM4B,WAAWG,GAAU+C,MAAMrE,SAAWT,EAAM4B,WAAWG,GAAUhD,SACvEiB,EAAM4B,WAAWG,GAAU0C,OAAOhE,SAAUT,EAAM4B,WAAWG,GAAUhD,UAGxEiB,EAAM4B,WAAWG,GAAUhD,QAAQ0B,SAAUT,EAAM4B,WAAWG,GAAUE,KACxEjC,EAAM4B,WAAWG,GAAU4C,MAAMlE,SAAYT,EAAM4B,WAAWG,GAAUE,KACxEjC,EAAM4B,WAAWG,GAAUQ,KAAK9B,SAAaT,EAAM4B,WAAWG,GAAUE,KAExEjC,EAAM4B,WAAWG,GAAUE,IAAIyE,UAAW,aAI3C1G,EAAMC,MAAMQ,SAAWT,EAAM2C,SAEzB3C,EAAMxB,SAASS,YAClBe,EAAMf,WAAWwB,SAAUT,EAAM2C,SAElC3C,EAAMC,MAAM0G,KAAM,8BAEd9B,QAAa7E,EAAM4B,WAAWgF,OAAQ5G,EAAM4B,WAAWgF,MAAM3E,IAAI4E,UAAW7G,EAAM2C,SAClFkC,QAAa7E,EAAM4B,WAAWkF,OAAQ9G,EAAM4B,WAAWkF,MAAM7E,IAAIxB,SAAWT,EAAM2C,SAEtF3C,EAAM2C,QAAQoE,YAAa/G,EAAMuF,aAEjCvF,EAAMuF,YAAY7E,SAElByC,IACAzB,IACA+B,IACAc,IACAxE,QAGCiH","file":"jquery.offlinePaginatedTable.min.js","sourcesContent":["/**************************************************************************\r\nName:         jquery.offlinePaginatedTable.js\r\nDescription:  Static pagination controls\r\nDate Created: 05/30/2014 by Kyle Brickman\r\nModified:\r\n**************************************************************************/\r\n\r\n( function( $ ){\r\n\t$.fn.offlinePaginatedTable = function( options )\r\n\t{\r\n\t\tvar settings = $.extend({\r\n\t\t\tpaginated      : true,\r\n\t\t\tsortable       : true,\r\n\t\t\tcolor          : 'blue',\r\n\t\t\tmaxPageDisplay : 3,\r\n\t\t\tminPageDisplay : 1,\r\n\t\t\tperPage        : [1,25,50,100,250],\r\n\t\t\tpagePositions  : ['upper','lower'],\r\n\t\t\tresponsive     : true,\r\n\t\t\tadmin          : false,\r\n\t\t\tsubadmin       : false,\r\n\t\t\tnoclick        : false,\r\n\t\t\tnoResultMsg\t   : 'No results were found.',\r\n\t\t\thasFilter \t   : false,\r\n\t\t\tsortableHtml   : false,\r\n\t\t\tclassOpt \t   : '',\r\n\t\t\tlineNumber     : false,\r\n\t\t\tstickyHeader   : false,\r\n\t\t}, options );\r\n\r\n\t\treturn this.filter( 'table' ).each( function( index ){\r\n\t\t\tvar drawResponsiveTable = function( )\r\n\t\t\t{\r\n\t\t\t\tif( !local.settings.responsive || local.table.width( ) <= local.table.parent( ).width( ))\r\n\t\t\t\t{\r\n\t\t\t\t\tlocal.table.parent( ).removeClass( 'scrollable' );\r\n\t\t\t\t\tlocal.responsive.addClass( 'hidden' );\r\n\t\t\t\t\t$( 'tr', local.table ).css( 'height', '' );\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlocal.table.parent( ).addClass( 'scrollable' );\r\n\r\n\t\t\t\tlocal.responsive.empty( );\r\n\r\n\t\t\t\t$( 'tr', local.table ).clone( ).appendTo( local.responsive );\r\n\r\n\t\t\t\t$( 'th:not(:first-child), td:not(:first-child)', local.responsive ).remove( );\r\n\r\n\t\t\t\tlocal.responsive.css( 'width', $( 'th:first-child', local.table ).width( ) + 'px' );\r\n\t\t\t\tlocal.responsive.css( 'top',   local.table.position( ).top + 'px' );\r\n\r\n\t\t\t\tvar oldCells = $( 'th:first-child, td:first-child', local.table      );\r\n\t\t\t\tvar newCells = $( 'th:first-child, td:first-child', local.responsive );\r\n\r\n\t\t\t\tvar ua = navigator.userAgent.toLowerCase( );\r\n\t\t\t\tvar offset = 0;\r\n\r\n\t\t\t\tfor( var i = 0; i < oldCells.length; i++ )\r\n\t\t\t\t{\r\n\t\t\t\t\tvar oldCell = $( oldCells[i] );\r\n\t\t\t\t\tvar newCell = $( newCells[i] );\r\n\r\n\t\t\t\t\toldCell.parent( ).css( 'height', '' );\r\n\r\n\t\t\t\t\tnewCell.parent( ).css( 'height', ( oldCell.parent( ).outerHeight( ) + 1 ) + 'px' );\r\n\t\t\t\t\toldCell.parent( ).css( 'height', ( oldCell.parent( ).outerHeight( ) + 1 ) + 'px' );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlocal.responsive.attr( 'class', 'isResponsive ' + local.table.attr( 'class' ));\r\n\t\t\t};\r\n\r\n\t\t\tvar drawPageLinksHighlightTimeout = 0;\r\n\t\t\tvar drawPageLinksRemoveTimeout    = 0;\r\n\t\t\tvar drawPageLinks = function( )\r\n\t\t\t{\r\n\t\t\t\tclearTimeout( drawPageLinksHighlightTimeout );\r\n\t\t\t\tclearTimeout( drawPageLinksRemoveTimeout    );\r\n\r\n\t\t\t\t$.each( local.pagination.positions, function( posIndex, posValue ){\r\n\t\t\t\t\tvar currentPages = $( 'a:not([href=\"#first\"],[href=\"#last\"])', local.pagination[posValue].all ).removeAttr( 'data-remove' ).length;\r\n\t\t\t\t\tvar appendTo     = $( 'div', local.pagination[posValue].all );\r\n\r\n\t\t\t\t\tfor( var i = currentPages; i < local.view.pages; i++ )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar index = i + 1;\r\n\t\t\t\t\t\tvar link = $( '<a />' );\r\n\t\t\t\t\t\tlink.attr( 'title', 'Go to page ' + index );\r\n\t\t\t\t\t\tlink.attr( 'href', '#' + index );\r\n\t\t\t\t\t\tlink.text( index );\r\n\r\n\t\t\t\t\t\tlink.addClass( 'inactive' );\r\n\r\n\t\t\t\t\t\tlink.appendTo( appendTo );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor( var i = local.view.pages; i < currentPages; i++ )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar index = i + 1;\r\n\t\t\t\t\t\t$( 'a[href=\"#' + index + '\"]', local.pagination[posValue].all ).attr( 'data-remove', true );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlocal.pagination[posValue].last.detach( ).appendTo( appendTo );\r\n\t\t\t\t});\r\n\r\n\t\t\t\tdrawPageLinksHighlightTimeout = setTimeout( function( ){\r\n\t\t\t\t\thighlightPage( );\r\n\t\t\t\t}, 100 );\r\n\r\n\t\t\t\tdrawPageLinksRemoveTimeout = setTimeout( function( ){\r\n\t\t\t\t\t$( 'a[data-remove]', local.wrapper ).remove( );\r\n\t\t\t\t}, 600 );\r\n\t\t\t}\r\n\r\n\t\t\tvar setPage = function( )\r\n\t\t\t{\r\n\t\t\t\tif( $( this ).hasClass( 'active' ))\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\tvar page = $( this ).attr( 'href' );\r\n\r\n\t\t\t\tif( '#first' == page ) page = $( 'a.active:not([href=\"#first\"],[href=\"#last\"])', $( this ).parent( ).parent( )).prev( ).attr( 'href' );\r\n\t\t\t\tif(  '#last' == page ) page = $( 'a.active:not([href=\"#first\"],[href=\"#last\"])', $( this ).parent( ).parent( )).next( ).attr( 'href' );\r\n\r\n\t\t\t\tlocal.view.page = parseInt( page.replace( '#', '' ), 10 );\r\n\r\n\t\t\t\tdrawRecordSubset( );\r\n\t\t\t\thighlightPage(    );\r\n\t\t\t};\r\n\r\n\t\t\tvar setPerPage = function( )\r\n\t\t\t{\r\n\t\t\t\tlocal.view.perPage = parseInt( $( this ).val( ));\r\n\t\t\t\tlocal.view.pages   = Math.ceil( local.view.records / local.view.perPage );\r\n\r\n\t\t\t\tif( local.view.page > local.view.pages )\r\n\t\t\t\t\tlocal.view.page = local.view.pages;\r\n\r\n\t\t\t\tdrawRecordSubset( );\r\n\t\t\t\tdrawPageLinks(    );\r\n\t\t\t\thighlightPerPage( );\r\n\t\t\t};\r\n\r\n\t\t\tvar setSort = function( )\r\n\t\t\t{\r\n\t\t\t\tvar link = $( this );\r\n\r\n\t\t\t\tif( link.hasClass( 'active' ))\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\tif( '#swap' == link.attr( 'href' ) && !$( 'a.active[href=\"#asc\"]', link.parent( )).length )\r\n\t\t\t\t\tlink = $( 'a[href=\"#asc\"]', link.parent( ));\r\n\t\t\t\telse if( '#swap' == link.attr( 'href' ))\r\n\t\t\t\t\tlink = $( 'a[href=\"#dsc\"]', link.parent( ));\r\n\r\n\t\t\t\tlocal.view.sort = parseInt( link.attr( 'data-sort' ));\r\n\r\n\t\t\t\tvar selectedSort    = $( 'a[data-sort=\"' + local.view.sort + '\"]', local.header );\r\n\t\t\t\tvar selectedSortDir = selectedSort.attr( 'href' ) == '#dsc';\r\n\t\t\t\tvar selectedSortCol = selectedSort.parent( ).index( );\r\n\r\n\t\t\t\tvar records = $( 'tr:not(.header)', local.table ).sort( function( left, right ){\r\n\t\t\t\t\tvar  leftValue = parseInt( $(  left ).attr( 'data-sort-natural' ));\r\n\t\t\t\t\tvar rightValue = parseInt( $( right ).attr( 'data-sort-natural' ));\r\n\r\n\t\t\t\t\tif( leftValue > rightValue ) return -1;\r\n\t\t\t\t\tif( leftValue < rightValue ) return  1;\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}).sort( function( left, right ){\r\n\t\t\t\t\tif( !selectedSortDir )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar temp = left;\r\n\t\t\t\t\t\t    left = right;\r\n\t\t\t\t\t\t   right = temp;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar  leftValue = $( $( 'td',  left ).get( selectedSortCol )).text( );\r\n\t\t\t\t\tvar rightValue = $( $( 'td', right ).get( selectedSortCol )).text( );\r\n\r\n\t\t\t\t\t// Remove non numeric characters if sort header link has 'sortNumeric' class\r\n\t\t\t\t\tif( $( link ).parent( 'th' ).hasClass( 'sortNumeric' ) ) {\r\n\t\t\t\t\t\tleftValue = leftValue.replace(/[^0-9.]/g, '');\r\n\t\t\t\t\t\trightValue = rightValue.replace(/[^0-9.]/g, '');\r\n\r\n\t\t\t\t\t\t// Make values negative if td row has 'negativeValue' class\r\n\t\t\t\t\t\tif( $( $( 'td',  left ).get( selectedSortCol )).hasClass( 'negativeValue' ) ) {\r\n\t\t\t\t\t\t\tleftValue = leftValue * -1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif( $( $( 'td',  right ).get( selectedSortCol )).hasClass( 'negativeValue' ) ) {\r\n\t\t\t\t\t\t\trightValue = rightValue * -1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(( parseFloat(  leftValue ) ==  leftValue && parseFloat( rightValue ) == rightValue ) ||\r\n\t\t\t\t\t   ( parseFloat(  leftValue ) ==  leftValue && !rightValue.length ) ||\r\n\t\t\t\t\t   ( parseFloat( rightValue ) == rightValue &&  !leftValue.length ))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(  !leftValue.length )  leftValue = 9007199254740992 * -1;\r\n\t\t\t\t\t\tif( !rightValue.length ) rightValue = 9007199254740992 * -1;\r\n\r\n\t\t\t\t\t\t leftValue = parseFloat(  leftValue );\r\n\t\t\t\t\t\trightValue = parseFloat( rightValue );\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t leftValue =  leftValue.toLowerCase( );\r\n\t\t\t\t\t\trightValue = rightValue.toLowerCase( );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif( leftValue > rightValue ) return -1;\r\n\t\t\t\t\tif( leftValue < rightValue ) return  1;\r\n\r\n\t\t\t\t\t leftValue = parseInt( $(  left ).attr( 'data-sort-natural' ));\r\n\t\t\t\t\trightValue = parseInt( $( right ).attr( 'data-sort-natural' ));\r\n\r\n\t\t\t\t\tif( leftValue > rightValue ) return -1;\r\n\t\t\t\t\tif( leftValue < rightValue ) return  1;\r\n\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t});\r\n\r\n\t\t\t\trecords.detach( ).each( function( ){\r\n\t\t\t\t\t$( this ).appendTo( local.table );\r\n\t\t\t\t});\r\n\r\n\t\t\t\tdrawRecordSubset( );\r\n\t\t\t\thighlightSort(    );\r\n\t\t\t};\r\n\r\n\t\t\tvar highlightPage = function( page )\r\n\t\t\t{\r\n\t\t\t\t$.each( local.pagination.positions, function( posIndex, posValue ){\r\n\t\t\t\t\t// Determination of link state\r\n\t\t\t\t\tvar firstToShow = local.view.page - local.settings['none' != local.pagination[posValue].select.css( 'display' ) ? 'maxPageDisplay' : 'minPageDisplay'];\r\n\t\t\t\t\tvar  lastToShow = local.view.page + local.settings['none' != local.pagination[posValue].select.css( 'display' ) ? 'maxPageDisplay' : 'minPageDisplay'];\r\n\r\n\t\t\t\t\t// Set active classes\r\n\t\t\t\t\t$( 'a', local.pagination[posValue].all ).removeAttr( 'class' ).addClass( 'inactive' );\r\n\t\t\t\t\tlocal.pagination[posValue].first.removeClass( 'inactive' );\r\n\t\t\t\t\tlocal.pagination[posValue].last.removeClass(  'inactive' );\r\n\r\n\t\t\t\t\t$( 'a[href=\"#' + local.view.page + '\"]', local.pagination[posValue].all ).addClass( 'active' )\r\n\r\n\t\t\t\t\tvar allPages = $( 'a:not([href=\"#first\"],[href=\"#last\"])', local.pagination[posValue].all );\r\n\r\n\t\t\t\t\tallPages.each( function( index ){\r\n\t\t\t\t\t\tif( index + 1 >= firstToShow && index + 1 <= lastToShow && undefined == $( this ).attr( 'data-remove' ))\r\n\t\t\t\t\t\t\t$( this ).removeClass( 'inactive' );\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tallPages = $( 'a:not([href=\"#first\"],[href=\"#last\"])', local.pagination[posValue].all );\r\n\r\n\t\t\t\t\tif( allPages.first( ).hasClass( 'inactive' ) && undefined == allPages.first( ).attr( 'data-remove' )) allPages.first( ).removeClass( 'inactive' ).addClass( 'ellipse-right' );\r\n\t\t\t\t\tif( allPages.last(  ).hasClass( 'inactive' ) && undefined == allPages.last(  ).attr( 'data-remove' )) allPages.last(  ).removeClass( 'inactive' ).addClass( 'ellipse-left'  );\r\n\r\n\t\t\t\t\tif( allPages.first( ).hasClass( 'active' )) local.pagination[posValue].first.addClass( 'active' );\r\n\t\t\t\t\tif( allPages.last(  ).hasClass( 'active' )) local.pagination[posValue].last.addClass(  'active' );\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tvar highlightPerPage = function( )\r\n\t\t\t{\r\n\t\t\t\t$.each( local.pagination.positions, function( posIndex, posValue ){\r\n\t\t\t\t\tif( local.settings.admin )\r\n\t\t\t\t\t\tlocal.pagination[posValue].label.text( local.view.perPage );\r\n\r\n\t\t\t\t\tlocal.pagination[posValue].select.val( local.view.perPage );\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tvar highlightSort = function( )\r\n\t\t\t{\r\n\t\t\t\t$( 'a.active', local.header ).removeClass( 'active' );\r\n\t\t\t\t$( 'a[data-sort=\"' + local.view.sort + '\"]', local.header ).addClass( 'active' );\r\n\t\t\t};\r\n\r\n\t\t\tvar drawRecordSubset = function( )\r\n\t\t\t{\r\n\t\t\t\tvar startingRecord = local.view.perPage * ( local.view.page - 1 )\r\n\t\t\t\tvar   endingRecord = startingRecord + local.view.perPage;\r\n\r\n\t\t\t\t$( 'tr:not(.header)', local.table ).addClass( 'hidden' ).each( function( index ){\r\n\t\t\t\t\tif( index >= startingRecord && index < endingRecord || !local.settings.paginated )\r\n\t\t\t\t\t\t$( this ).removeClass( 'hidden' )\r\n\r\n\t\t\t\t\tif( local.settings.lineNumber ) {\r\n\t\t\t\t\t\tvar line = startingRecord + index + 1;\r\n\t\t\t\t\t\t$( this ).find('td:first').addClass( 'lineNumber ' ).attr( 'data-row', line );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t\tdrawResponsiveTable( );\r\n\t\t\t};\r\n\r\n\t\t\tvar eventSink = function( evt )\r\n\t\t\t{\r\n\t\t\t\tevt.preventDefault( );\r\n\r\n\t\t\t\treturn;\r\n\t\t\t};\r\n\r\n\t\t\t// Establish root container\r\n\t\t\tvar local = {};\r\n\r\n\t\t\t// Establish local settings\r\n\t\t\tlocal.settings = settings;\r\n\r\n\r\n\t\t\t// Support for admin override setting\r\n\t\t\tif( local.settings.admin )\r\n\t\t\t{\r\n\t\t\t\tlocal.settings.color         = local.settings.color === 'soft-berry' ? local.settings.color : 'blue';\r\n\t\t\t\tlocal.settings.perPage       = [1,25,50,100,250];\r\n\t\t\t\tlocal.settings.pagePositions = ['upper'];\r\n\t\t\t\tlocal.settings.responsive    = true;\r\n\t\t\t}\r\n\r\n\t\t\t// Establish view defaults\r\n\t\t\tlocal.view         = {};\r\n\t\t\tlocal.view.page    = 1;\r\n\t\t\tlocal.view.perPage = 25;\r\n\t\t\tlocal.view.sort    = 1;\r\n\t\t\tlocal.view.records = $( 'tr', this ).length - 1;\r\n\t\t\tlocal.view.pages   = Math.ceil( local.view.records / local.view.perPage );\r\n\r\n\t\t\t// Retrieve and create DOM housekeeping elements\r\n\t\t\tlocal.container   = $( this ).parent( );\r\n\t\t\tlocal.placeholder = $( '<span />' );\r\n\t\t\tlocal.wrapper     = $( '<div  />' );\r\n\r\n\t\t\t// Retrieve and create DOM table elements\r\n\t\t\tlocal.table           = $( this );\r\n\t\t\tlocal.responsive      = $( '<table />' );\r\n\t\t\tlocal.header          = $( 'tr', local.table ).first( );\r\n\t\t\tlocal.sortableColumns = [];\r\n\r\n\t\t\t// Insert temporary placeholder\r\n\t\t\tlocal.placeholder.insertBefore( local.table );\r\n\t\t\tlocal.table.detach( );\r\n\r\n\t\t\t// Set attributes\r\n\t\t\tlocal.table.removeAttr( 'class style' );\r\n\r\n\t\t\t// Set classes\r\n\t\t\tlocal.wrapper.addClass(      'paginatedTable' );\r\n\t\t\tlocal.table.addClass(    local.settings.color );\r\n\t\t\tlocal.table.addClass( local.settings.classOpt );\r\n\t\t\tlocal.header.addClass(               'header' );\r\n\t\t\tif (local.settings.stickyHeader) { local.header.addClass('stickyHeader'); }\r\n\r\n\t\t\tif( local.settings.admin    ) local.wrapper.addClass(   'admin' );\r\n\t\t\tif( local.settings.subadmin ) local.table.addClass(  'subadmin' );\r\n\t\t\tif( local.settings.noclick  ) local.wrapper.addClass( 'noclick' );\r\n\r\n\t\t\t// Multiline support\r\n\t\t\tif( local.settings.admin )\r\n\t\t\t\t$( 'th br, td br', local.header ).each( function( ){\r\n\t\t\t\t\t$( this ).parent( ).addClass( 'multiline' );\r\n\t\t\t\t});\r\n\r\n\t\t\t// Add sortable chevrons\r\n\t\t\tif( local.settings.sortable && local.view.records )\r\n\t\t\t{\r\n\t\t\t\t$( 'th[data-sort], td[data-sort]', local.header ).each( function( ){\r\n\t\t\t\t\tvar cell  = $( this );\r\n\t\t\t\t\tvar title = cell.text( );\r\n\t\t\t\t\tvar swap  = $( '<a />' );\r\n\t\t\t\t\tvar asc   = $( '<a />' );\r\n\t\t\t\t\tvar dsc   = $( '<a />' );\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (local.settings.sortableHtml) { title = cell.html(); }\r\n\r\n\t\t\t\t\tswap.attr( 'href', '#swap' );\r\n\t\t\t\t\t asc.attr( 'href',  '#asc' );\r\n\t\t\t\t\t dsc.attr( 'href',  '#dsc' );\r\n\r\n\t\t\t\t\tasc.attr( 'data-sort', cell.attr( 'data-sort' ).split( ',' )[0] );\r\n\t\t\t\t\tdsc.attr( 'data-sort', cell.attr( 'data-sort' ).split( ',' )[1] );\r\n\r\n\t\t\t\t\tswap.attr( 'title', 'Sort by \\'' + title + '\\'' );\r\n\t\t\t\t\t asc.attr( 'title', 'Sort by \\'' + title + '\\', ascending'  );\r\n\t\t\t\t\t dsc.attr( 'title', 'Sort by \\'' + title + '\\', descending' );\r\n\r\n\t\t\t\t\tasc.text( '\\u25B2' );\r\n\t\t\t\t\tdsc.text( '\\u25BC' );\r\n\r\n\t\t\t\t\tif (local.settings.sortableHtml)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tswap.html( title );\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tswap.text( title );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcell.empty( );\r\n\r\n\t\t\t\t\tasc.appendTo(  cell );\r\n\t\t\t\t\tdsc.appendTo(  cell );\r\n\t\t\t\t\tswap.appendTo( cell );\r\n\r\n\t\t\t\t\tlocal.sortableColumns.push( cell );\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$( 'tr:not(.header)', local.table ).each( function( index ){\r\n\t\t\t\t\t$( this ).attr( 'data-sort-natural', index );\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse if( local.settings.sortable )\r\n\t\t\t{\r\n\t\t\t\t$( 'th[data-sort], td[data-sort]', local.header ).css( 'padding-left', '25px' );\r\n\t\t\t}\r\n\r\n\t\t\t// Sink events\r\n\t\t\tlocal.header.on( 'click', 'th[data-sort] a, td[data-sort] a', eventSink );\r\n\r\n\t\t\t// Bind events\r\n\t\t\tlocal.header.on( 'click', 'th[data-sort] a, td[data-sort] a', setSort );\r\n\r\n\t\t\t// Set no results message\r\n\t\t\tif( local.settings.hasFilter )\r\n\t\t\t\tlocal.settings.noResultMsg = 'To <b>search</b> please select from the filters above.';\r\n\r\n\t\t\t// Set blank row\r\n\t\t\tif( !local.view.records )\r\n\t\t\t\t$( '<tr><td colspan = \"' + $( 'th, td', local.header ).length + '\">' + local.settings.noResultMsg + '</td></tr>' ).appendTo( local.table )\r\n\r\n\t\t\t$( window ).on( 'resize orientationchange', drawResponsiveTable );\r\n\r\n\t\t\t$( 'nav#sidebar a.sidebarMenu' ).click(function(event) {\r\n\t\t\t\tsetTimeout( function( ) {\r\n\t\t\t\t\tdrawResponsiveTable( );\r\n\t\t\t\t}, 250 );\r\n\t\t\t});\r\n\r\n\t\t\t// Pagination support\r\n\t\t\tlocal.pagination              = {};\r\n\t\t\tlocal.pagination.values       = local.settings.perPage;\r\n\t\t\tlocal.pagination.positions    = local.settings.pagePositions;\r\n\r\n\t\t\tif( !local.settings.paginated )\r\n\t\t\t\tlocal.pagination.positions = [];\r\n\r\n\t\t\t$.each( local.pagination.positions, function( posIndex, posValue ){\r\n\t\t\t\t// Retrieve and create DOM pagination elements\r\n\t\t\t\tlocal.pagination[posValue]               = {};\r\n\t\t\t\tlocal.pagination[posValue].all           = $( '<div    />' );\r\n\t\t\t\tlocal.pagination[posValue].perPage       = $( '<span   />' );\r\n\t\t\t\tlocal.pagination[posValue].label         = $( '<label  />' );\r\n\t\t\t\tlocal.pagination[posValue].select        = $( '<select />' );\r\n\t\t\t\tlocal.pagination[posValue].first         = $( '<a      />' );\r\n\t\t\t\tlocal.pagination[posValue].last          = $( '<a      />' );\r\n\r\n\t\t\t\tfor( var i = 0; i < local.pagination.values.length; i++ )\r\n\t\t\t\t{\r\n\t\t\t\t\tvar option = $( '<option />' );\r\n\t\t\t\t\toption.val(  local.pagination.values[i] );\r\n\t\t\t\t\toption.text( local.pagination.values[i] );\r\n\r\n\t\t\t\t\toption.appendTo( local.pagination[posValue].select );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Set attributes\r\n\t\t\t\tlocal.pagination[posValue].first.attr( 'title', 'Go to previous page' );\r\n\t\t\t\tlocal.pagination[posValue].last.attr(  'title', 'Go to next page' );\r\n\t\t\t\tlocal.pagination[posValue].first.attr(  'href', '#first' );\r\n\t\t\t\tlocal.pagination[posValue].last.attr(   'href', '#last'  );\r\n\t\t\t\tlocal.pagination[posValue].select.attr(   'id', 'select_' + posValue + '_' + ( new Date( )).getTime( ));\r\n\t\t\t\tlocal.pagination[posValue].label.attr(   'for', local.pagination[posValue].select.attr( 'id' ));\r\n\r\n\t\t\t\t// Set text\r\n\t\t\t\tlocal.pagination[posValue].label.text( 'Show per page' );\r\n\t\t\t\tlocal.pagination[posValue].first.text( '\\u2190' );\r\n\t\t\t\tlocal.pagination[posValue].last.text(  '\\u2192' );\r\n\r\n\t\t\t\t// Set classes\r\n\t\t\t\tlocal.pagination[posValue].first.addClass( 'active' );\r\n\t\t\t\tlocal.pagination[posValue].last.addClass(  'active' );\r\n\t\t\t\tlocal.pagination[posValue].all.addClass(   'pagination ' + posValue );\r\n\r\n\t\t\t\tif( !local.view.records )\r\n\t\t\t\t{\r\n\t\t\t\t\tlocal.pagination[posValue].select.addClass( 'inactive' );\r\n\t\t\t\t\tlocal.pagination[posValue].label.addClass(  'inactive' );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Sink events\r\n\t\t\t\tlocal.pagination[posValue].all.on( 'click', 'a', eventSink );\r\n\r\n\t\t\t\t// Bind events\r\n\t\t\t\tlocal.pagination[posValue].all.on(     'click', 'a', setPage    );\r\n\t\t\t\tlocal.pagination[posValue].select.on( 'change',      setPerPage );\r\n\r\n\t\t\t\t// Append elements\r\n\t\t\t\tif( local.settings.admin )\r\n\t\t\t\t{\r\n\t\t\t\t\tlocal.pagination[posValue].select.appendTo( local.pagination[posValue].perPage );\r\n\t\t\t\t\tlocal.pagination[posValue].label.appendTo(  local.pagination[posValue].perPage );\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tlocal.pagination[posValue].label.appendTo(  local.pagination[posValue].perPage );\r\n\t\t\t\t\tlocal.pagination[posValue].select.appendTo( local.pagination[posValue].perPage );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlocal.pagination[posValue].perPage.appendTo( local.pagination[posValue].all );\r\n\t\t\t\tlocal.pagination[posValue].first.appendTo(   local.pagination[posValue].all );\r\n\t\t\t\tlocal.pagination[posValue].last.appendTo(    local.pagination[posValue].all );\r\n\r\n\t\t\t\tlocal.pagination[posValue].all.wrapInner( '<div />' );\r\n\t\t\t});\r\n\r\n\t\t\t// Append elements\r\n\t\t\tlocal.table.appendTo(  local.wrapper );\r\n\r\n\t\t\tif( local.settings.responsive )\r\n\t\t\t\tlocal.responsive.appendTo( local.wrapper );\r\n\r\n\t\t\tlocal.table.wrap( '<div class = \"scrollable\">' );\r\n\r\n\t\t\tif( undefined != local.pagination.upper ) local.pagination.upper.all.prependTo( local.wrapper );\r\n\t\t\tif( undefined != local.pagination.lower ) local.pagination.lower.all.appendTo(  local.wrapper );\r\n\r\n\t\t\tlocal.wrapper.insertAfter( local.placeholder );\r\n\r\n\t\t\tlocal.placeholder.remove( );\r\n\r\n\t\t\tdrawRecordSubset(    );\r\n\t\t\tdrawPageLinks(       );\r\n\t\t\thighlightPerPage(    );\r\n\t\t\thighlightSort(       );\r\n\t\t\tdrawResponsiveTable( );\r\n\t\t});\r\n\t};\r\n})( jQuery );\r\n"]}