{"version":3,"file":"chunk.4159.a26076df1b1367b93ec2.a01e5c0a.js","mappings":"mxCAKA,SAASA,EAAkBC,EAAOC,GAU/B,IAAAC,EAAAD,EATDE,MACEC,EAAKF,EAALE,MACAC,EAAOH,EAAPG,QACAC,EAAOJ,EAAPI,QAIAC,EAAaN,EADfO,UACED,cAGEE,GAAQC,EAAAA,EAAAA,IAAM,CAChBP,MAAO,CACLQ,aAAc,CACZP,MAAAA,EACAC,QAAAA,EACAC,QAAAA,MAsBFM,EAAmB,SAACC,EAAOC,GAC7B,OAAOC,EAAAA,EAAAA,GACL,mBAAkB,qBAAAC,OATD,SAACH,EAAOC,GAC3B,I,EAAIG,EAAgBC,KAAKC,IAAGC,MAARF,M,EAAYL,EAAMR,QAAQgB,KAAI,SAAAP,GAAM,OAAIA,EAAOQ,WAAW,I,gmBAE9E,OAAOL,IAAkBH,EAAOQ,YAC9B,SAAW,OACf,CAKyBC,CAAeV,EAAOC,IAE/C,EAEIU,EAAe,SAAAX,GACjB,OAAOA,EAAMR,QAAQoB,OAAS,EAAI,IAAM,GAC1C,EAEIC,GAAWC,EAAAA,EAAAA,IAAmB3B,EAAQ,IAAI,WAC5C,IAAIa,EAAQJ,EAAMmB,WAElB,OAAOC,EAAAA,EAAAA,GAAA,OAAKC,MAAM,sBAChBD,EAAAA,EAAAA,GAAA,OAAKC,MAAM,mBAAmBjB,EAAMT,QACpCyB,EAAAA,EAAAA,GAAA,OAAKC,MAAA,uBAAAd,OAA8BQ,EAAaX,GAAM,YACnDA,EAAMR,QAAQgB,KAAI,SAAAP,GAAM,OACvBe,EAAAA,EAAAA,GAAA,OAAKC,MAAOlB,EAAiBC,EAAOC,KAClCe,EAAAA,EAAAA,GAAA,OAAKC,MAAM,8BACRhB,EAAOiB,WACNF,EAAAA,EAAAA,GAAA,OAAKC,MAAM,yBAAyBE,MAAK,yBAAAhB,OAA2BF,EAAOiB,UAAS,QAEpFF,EAAAA,EAAAA,GAAA,OAAKC,MAAM,8BAGbD,EAAAA,EAAAA,GAAA,OAAKC,MAAM,0BAA0BhB,EAAOV,OAE3CS,EAAMP,QAAU,EACfuB,EAAAA,EAAAA,GAAA,OAAKC,MAAM,0BAA0BhB,EAAOmB,oBAC5CJ,EAAAA,EAAAA,GAAA,OAAKC,MAAM,8BACTD,EAAAA,EAAAA,GAAA,OAAKG,MAAK,UAAAhB,OAAYF,EAAOoB,cAAa,UAG5CL,EAAAA,EAAAA,GAAA,OAAKC,MAAM,4BAA4BK,SAnDxCC,EAmDwDtB,EAnD9CuB,EAAAC,IAAAA,MAAI,SAAAC,IAAA,IAAAC,EAAAnC,EAAA,OAAAiC,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACDpC,EAAc6B,GAAW,OAAAI,EAAAC,EAAAG,KAA3CvC,EAAOmC,EAAPnC,QAENI,EAAMoC,QAAO,SAAAhC,GAAK,OAAAiC,EAAAA,EAAA,GAAUjC,GAAK,IAC/BR,QAAAA,EACAC,SAAS,EACTyC,gBAAiBX,EAAWY,aAAW,IACtC,wBAAAP,EAAAQ,OAAA,GAAAV,EAAA,OA4CwE,gBAnDhE,IAAAH,CAsDC,KAITvB,EAAMkC,kBACLlB,EAAAA,EAAAA,GAAA,OAAKC,MAAM,oBAAoBjB,EAAMkC,iBAG3C,IAEAtC,EAAMyC,GAAG,cAAexB,EAASyB,QAEjCzB,EAASyB,QACX,C","sources":["webpack:///../jarvis/app/assets/javascripts/site/widgets/ArticlePollWidget/index.jsx"],"sourcesContent":["import { createVDOMRenderer, h } from 'core/services/VDOM'\nimport Store from 'core/services/Store'\n\nimport htmlClassNames from 'core/utils/htmlClassNames'\n\nfunction ArticlePollWidget($widget, {\n props: {\n title,\n options,\n isVoted\n },\n\n callbacks: {\n CALLBACK_VOTE\n }\n}) {\n let store = Store({\n props: {\n initialState: {\n title,\n options,\n isVoted\n }\n }\n })\n\n let onVote = voteOption => async () => {\n let { options } = await CALLBACK_VOTE(voteOption)\n\n store.commit(state => ({ ...state,\n options,\n isVoted: true,\n voteDescription: voteOption.description\n }))\n }\n\n let getOptionState = (state, option) => {\n let maxVotesCount = Math.max(...state.options.map(option => option.votes_count))\n\n return maxVotesCount === option.votes_count ?\n 'winner' : 'loser'\n }\n\n let getOptionClasses = (state, option) => {\n return htmlClassNames(\n 'c-aw-poll_option',\n `c-aw-poll_option__${getOptionState(state, option)}`\n )\n }\n\n let getGridClass = state => {\n return state.options.length > 2 ? '3' : '2'\n }\n\n let renderer = createVDOMRenderer($widget[0], () => {\n let state = store.getState()\n\n return
\n
{state.title}
\n
\n {state.options.map(option =>\n
\n
\n {option.image_url ?\n
\n :\n
\n }\n\n
{option.title}
\n\n {state.isVoted ? [\n
{option.human_votes_count}
,\n
\n
\n
\n ] : (\n
Голосовать
\n )}\n
\n
\n )}\n
\n\n {state.voteDescription && (\n
{state.voteDescription}
\n )}\n
\n })\n\n store.on('afterCommit', renderer.render)\n\n renderer.render()\n}\n\nexport { ArticlePollWidget }\n"],"names":["ArticlePollWidget","$widget","_ref","_ref$props","props","title","options","isVoted","CALLBACK_VOTE","callbacks","store","Store","initialState","getOptionClasses","state","option","htmlClassNames","concat","maxVotesCount","Math","max","apply","map","votes_count","getOptionState","getGridClass","length","renderer","createVDOMRenderer","getState","h","class","image_url","style","human_votes_count","votes_percent","onClick","voteOption","_asyncToGenerator","_regeneratorRuntime","_callee","_yield$CALLBACK_VOTE","_context","prev","next","sent","commit","_objectSpread","voteDescription","description","stop","on","render"],"sourceRoot":""}