AUI.add("liferay-store",function(A){var Lang=A.Lang;var isObject=Lang.isObject;var TOKEN_SERIALIZE="serialize://";var Store=function Store(key,value){var method;if(Lang.isFunction(value)){method="get";if(Array.isArray(key))method="getAll"}else{method="set";if(isObject(key))method="setAll";else if(arguments.length==1)method=null}if(method)Store[method].apply(Store,arguments)};A.mix(Store,{_getValues:function _getValues(cmd,key,callback){var instance=this;var config={callback:callback,data:{cmd:cmd,
key:key}};if(cmd=="getAll")config.dataType="json";instance._ioRequest(config)},_ioRequest:function _ioRequest(config){config.data.p_auth=Liferay.authToken;var doAsUserIdEncoded=themeDisplay.getDoAsUserIdEncoded();if(doAsUserIdEncoded)config.data.doAsUserId=doAsUserIdEncoded;var body=new URLSearchParams;Object.keys(config.data).forEach(function(key){if(Array.isArray(config.data[key]))config.data[key].forEach(function(value){body.append(key,value)});else body.set(key,config.data[key])});Liferay.Util.fetch(themeDisplay.getPathMain()+
"/portal/session_click",{body:body,method:"POST"}).then(function(response){if(config.dataType==="json")return response.json();else return response.text()}).then(function(data){if(config.dataType==="json")if(Lang.isString(data)&&data.indexOf(TOKEN_SERIALIZE)===0)try{data=JSON.parse(data.substring(TOKEN_SERIALIZE.length))}catch(e){}if(typeof config.callback==="function")config.callback(data)})},_setValues:function _setValues(data){var instance=this;instance._ioRequest({data:data})},get:function get(key,
callback){var instance=this;instance._getValues("get",key,callback)},getAll:function getAll(keys,callback){var instance=this;instance._getValues("getAll",keys,callback)},set:function set(key,value){var instance=this;var obj={};if(isObject(value))value=TOKEN_SERIALIZE+JSON.stringify(value);obj[key]=value;instance._setValues(obj)},setAll:function setAll(obj){var instance=this;instance._setValues(obj)}});Liferay.Store=Store},"");
