{"version":3,"sources":["Honeywell.ClientModel.UserTerms.ts"],"names":["camlUserLanguateTerm","_","template","SingleUserLanguageTermsHandler","prototype","success","sender","args","items","deferred","get_count","reject","value","get_item","resolve","failure","get_message","get_stackTrace","exports","getHonUserTerm","Honeywell_ClientModel_Functional_1","compose2","Honeywell_ClientModel_Utilities_1","getRootWebListData","camlUserLanguageTermsMultiple","getMultipleHonUserTerms","MultipleUserLanguageTermsHandler","camlUserLanguageTermForGroup","getHonUserTermsForGroup"],"mappings":"iLASA,IAAMA,GACFC,EAAEC,SAAS,wNAQfC,EAAA,WAAA,QAAAA,MAeA,MAdIA,GAAAC,UAAAC,QAAA,SAAQC,EAAaC,EAA0CC,EAA8BC,GACzF,GAA0B,IAAtBD,EAAME,YAEN,MADAD,GAASE,OAAO,cACT,IAEX,IAAMC,GAAQJ,EAAMK,SAAS,GAAGA,SAAS,QAEzC,OADAJ,GAASK,QAAQF,GACVA,GAGXT,EAAAC,UAAAW,QAAA,SAAWT,EAAaC,EAAuCE,GAC3DA,EAASE,OAAO,mBAAqBJ,EAAKS,cACtC,KAAOT,EAAKU,mBAExBd,IAfae,GAAAf,+BAAAA,EAqBAe,EAAAC,eAAiBC,EAAAC,SAASC,EAAAC,mBAAmB,uBAAuB,GAAIpB,IAAmCH,EAKxH,IAAMwB,GAAyGvB,EAAEC,SAC7G,wmCAoCSgB,GAAAO,wBAA0BL,EAAAC,SAASC,EAAAC,mBAAmB,uBAAuB,GAAID,GAAAI,kCAAqCF,EAQnI,IAAMG,GACF1B,EAAEC,SAAS,yNAQFgB,GAAAU,wBAA0BR,EAAAC,SAASC,EAAAC,mBAAmB,uBAAuB,GAAID,GAAAI,kCAAqCC","file":"Honeywell.ClientModel.UserTerms.js","sourcesContent":["import {compose2} from \"Honeywell.ClientModel.Functional\";\r\nimport {getRootWebListData, ISpQueryResultsHandler, MultipleUserLanguageTermsHandler} from \"Honeywell.ClientModel.Utilities\";\r\nimport {IDeferred, IPromise} from \"Honeywell.ClientModel.Promise\";\r\n\r\n/**\r\n * Creates a CAML query based on culture and key\r\n * @param term \r\n * @returns a CAML query\r\n */\r\nconst camlUserLanguateTerm: (term: { culture: string, key: string }) => string =\r\n _.template(\"\" +\r\n \"<%= key %>\" +\r\n \"<%= culture %>\");\r\n \r\n\r\n/**\r\n * Success and failure functions to get just one user language term\r\n */\r\nexport class SingleUserLanguageTermsHandler implements ISpQueryResultsHandler {\r\n success(sender: any, args: SP.ClientRequestSucceededEventArgs, items: SP.ListItemCollection, deferred: IDeferred): string {\r\n if (items.get_count() === 0) {\r\n deferred.reject(\"Zero items\");\r\n return null;\r\n }\r\n const value = items.get_item(0).get_item(\"Value\");\r\n deferred.resolve(value);\r\n return value;\r\n }\r\n\r\n failure(sender: any, args: SP.ClientRequestFailedEventArgs, deferred: IDeferred): void {\r\n deferred.reject('Request failed. ' + args.get_message() +\r\n '\\n' + args.get_stackTrace());\r\n }\r\n}\r\n\r\n\r\n/**\r\n * get a single user language term value based on the culture and key\r\n */\r\nexport const getHonUserTerm = compose2(getRootWebListData('User Langauge Terms')(new SingleUserLanguageTermsHandler()), camlUserLanguateTerm);\r\n \r\n/**\r\n * Function that returns a CAML query when we have to get multiple user language terms\r\n */\r\nconst camlUserLanguageTermsMultiple: (term: { culture: string, key: string[], groups?: string[] }) => string = _.template(\r\n `\r\n \r\n \r\n \r\n <%= culture %>\r\n \r\n <% if(key && key.length) { %>\r\n \r\n \r\n \r\n <% _.forEach(key, function(k) { %>\r\n <%= k %>\r\n <% }); %>\r\n \r\n \r\n <% } %>\r\n <% if(groups && groups.length) { %>\r\n \r\n \r\n \r\n <% _.forEach(groups, function (group) { %>\r\n <%= group %>\r\n <% }); %>\r\n \r\n \r\n <% } %>\r\n \r\n \r\n \r\n \r\n`);\r\n\r\n/**\r\n * Get miltiple user language terms\r\n * @returns an objects, the properties of which are the user language terms for a specified cultuer\r\n */\r\nexport const getMultipleHonUserTerms = compose2(getRootWebListData('User Langauge Terms')(new MultipleUserLanguageTermsHandler()), camlUserLanguageTermsMultiple);\r\n\r\n\r\n/**\r\n * Creates a CAML query based on culture and group\r\n * @param term \r\n * @returns a CAML query\r\n */\r\nconst camlUserLanguageTermForGroup: (term: { culture: string, group: string }) => string =\r\n _.template(\"\" +\r\n \"<%= group %>\" +\r\n \"<%= culture %>\");\r\n\r\n/**\r\n * Get multiple user language terms for a group\r\n * @returns an objects, the properties of which are the user language terms for a specified cultuer\r\n */\r\nexport const getHonUserTermsForGroup = compose2(getRootWebListData('User Langauge Terms')(new MultipleUserLanguageTermsHandler()), camlUserLanguageTermForGroup);\r\n"]}