{"version":3,"sources":["webpack:///../jarvis/app/assets/javascripts/site/widgets/ArticlePollWidget/index.jsx"],"names":["ArticlePollWidget","$widget","_ref","_ref$props","props","title","options","isVoted","CALLBACK_VOTE","callbacks","store","Store","initialState","getOptionClasses","state","option","htmlClassNames","concat","Math","max","apply","_toConsumableArray","map","votes_count","getOptionState","getGridClass","length","renderer","createVDOMRenderer","getState","h","class","image_url","style","human_votes_count","votes_percent","onClick","voteOption","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$CALLBACK_VOTE","wrap","_context","prev","next","sent","commit","_objectSpread","voteDescription","description","stop","on","render"],"mappings":"25DAKA,SAASA,EAAkBC,EAAOC,GAU/B,IAAAC,EAAAD,EATDE,MACEC,EAAKF,EAALE,MACAC,EAAOH,EAAPG,QACAC,EAAOJ,EAAPI,QAIAC,EAAaN,EADfO,UACED,cAGEE,EAAQC,YAAM,CAChBP,MAAO,CACLQ,aAAc,CACZP,QACAC,UACAC,cAsBFM,EAAmB,SAACC,EAAOC,GAC7B,OAAOC,YACL,mBAAkB,qBAAAC,OATD,SAACH,EAAOC,GAG3B,OAFoBG,KAAKC,IAAGC,MAARF,KAAIG,EAAQP,EAAMR,QAAQgB,KAAI,SAAAP,GAAM,OAAIA,EAAOQ,mBAE1CR,EAAOQ,YAC9B,SAAW,QAMUC,CAAeV,EAAOC,MAI3CU,EAAe,SAAAX,GACjB,OAAOA,EAAMR,QAAQoB,OAAS,EAAI,IAAM,KAGtCC,EAAWC,YAAmB3B,EAAQ,IAAI,WAC5C,IAAIa,EAAQJ,EAAMmB,WAElB,OAAOC,YAAA,OAAKC,MAAM,qBAChBD,YAAA,OAAKC,MAAM,mBAAmBjB,EAAMT,OACpCyB,YAAA,OAAKC,MAAA,uBAAAd,OAA8BQ,EAAaX,GAAM,YACnDA,EAAMR,QAAQgB,KAAI,SAAAP,GAAM,OACvBe,YAAA,OAAKC,MAAOlB,EAAiBC,EAAOC,IAClCe,YAAA,OAAKC,MAAM,8BACRhB,EAAOiB,UACNF,YAAA,OAAKC,MAAM,yBAAyBE,MAAK,yBAAAhB,OAA2BF,EAAOiB,UAAS,OAEpFF,YAAA,OAAKC,MAAM,6BAGbD,YAAA,OAAKC,MAAM,0BAA0BhB,EAAOV,OAE3CS,EAAMP,QAAU,CACfuB,YAAA,OAAKC,MAAM,0BAA0BhB,EAAOmB,mBAC5CJ,YAAA,OAAKC,MAAM,6BACTD,YAAA,OAAKG,MAAK,UAAAhB,OAAYF,EAAOoB,cAAa,SAG5CL,YAAA,OAAKC,MAAM,4BAA4BK,SAnDxCC,EAmDwDtB,EAnD9CuB,EAAAC,IAAAC,MAAI,SAAAC,IAAA,IAAAC,EAAApC,EAAA,OAAAiC,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACDtC,EAAc6B,GAAW,OAAAK,EAAAE,EAAAG,KAA3CzC,EAAOoC,EAAPpC,QAENI,EAAMsC,QAAO,SAAAlC,GAAK,OAAAmC,IAAA,GAAUnC,GAAK,IAC/BR,UACAC,SAAS,EACT2C,gBAAiBb,EAAWc,iBAC3B,wBAAAP,EAAAQ,UAAAX,SA4CwE,gBAnDhE,IAAAJ,MA0DRvB,EAAMoC,iBACLpB,YAAA,OAAKC,MAAM,oBAAoBjB,EAAMoC,qBAK3CxC,EAAM2C,GAAG,cAAe1B,EAAS2B,QAEjC3B,EAAS2B","file":"chunk.41.cdeb8ee7978944584d6e.01c6ca1d.js","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