All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.bb8c8232-4340.29fb40742a3b1b1fb546.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"file":"bb8c8232-4340.29fb40742a3b1b1fb546.js","mappings":"iPAwBA,MAAMA,EAAY,UAEZC,EAAkB,CAACC,EAAsBC,IAAoC,CACjF,GAAIA,EAAW,OAAS,IAAkB,YAAa,CACrD,MAAMC,EAAQF,EAAO,KAAK,CAAC,CAAE,GAAAG,CAAG,IAAMA,IAAOF,EAAW,KAAK,EAE7D,OAAIC,EACK,GAAGA,EAAM,KAAK,KAAKA,EAAM,IAAI,KAAKA,EAAM,EAAE,IAG5C,oBAAoBD,EAAW,KAAK,GAC7C,CAEA,OAAIA,EAAW,OAAS,IAAkB,eACpCA,EAAW,MACNA,EAAW,MAGbH,EAGF,IACT,EAEMM,EAAmBH,GACnBA,EAAW,MACNA,EAAW,MAGhBA,EAAW,OAAS,IAAkB,YACjC,kBAGFH,EAQHO,EAA0B,CAAC,CAAE,WAAAJ,EAAY,OAAAD,EAAS,CAAC,CAAE,IAAa,CACtE,KAAM,CAAE,KAAMM,CAAgB,KAAI,KAAmB,EAC/CC,EAAiBD,GAAA,YAAAA,EAAiB,KAAK,CAAC,CAAE,GAAAH,CAAG,IAAMA,IAAOF,EAAW,IAAI,EACzEO,EAAYP,EAAW,SAAW,OAAS,KAC3CQ,EAAYF,EAAiBA,EAAe,UAAY,KAE9D,OAAIN,EAAW,OAAS,IAAkB,eAEtC,gBAAC,YAAK,qBAAmB,EAK3B,gBAAC,YACC,gBAAC,UAAIG,EAAgBH,CAAU,CAAE,EAAK,IAAC,gBAAC,cAAO,QAAMO,CAAS,EAAUC,EAAS,IAAC,gBAAC,UAAIV,EAAgBC,EAAQC,CAAU,CAAE,CAC7H,CAEJ,EAEAI,EAAwB,UAAY,CAClC,WAAY,WAAiB,WAC7B,OAAQ,UAAgB,UAC1B,EAEA,QAAeA,C,4RCvDf,MAAMK,EAAoB,UAAO;AAAA;AAAA,EAe3BC,EAAa,CAAC,CAAE,UAAAC,EAAW,OAAAC,EAAQ,WAAAZ,EAAY,SAAAa,EAAU,SAAAC,CAAS,IAAa,CACnF,KAAM,CAAE,YAAAC,CAAY,KAAIC,EAAA,GAAe,EACjC,CAACC,EAAoBC,CAAqB,KAAI,YAAS,EAAK,EAC5D,CAAE,OAAAnB,CAAO,KAAI,KAASoB,EAAA,CAAsB,KAElD,aAAU,IAAM,CACd,IAAyB,KAAK,CAChC,EAAG,CAAC,CAAC,EAEL,MAAMC,EAAWC,GAAU,CACzBA,EAAM,eAAe,EACrBH,EAAsB,EAAI,CAC5B,EAEMI,EAAaD,GAAU,CAC3BA,EAAM,eAAe,EAIjB,OAAO,QAAQ,gDAAgD,GACjEE,EAAA,EAAiB,OAAOX,EAAO,GAAIZ,EAAW,GAAI,IAAM,CAClDc,GACFA,EAASd,EAAW,EAAE,EAGxBwB,EAAA,EAAiB,QAAQ,6CAA8C,SAAS,CAClF,CAAC,CAEL,EAEMC,EAAY,CAACC,EAAcC,IAASJ,EAAA,EAAiB,OAAOX,EAAO,GAAIc,EAAcC,EAAM,IAAM,CACjGd,GACFA,EAASa,EAAcC,CAAI,EAG7BH,EAAA,EAAiB,QAAQ,6CAA8C,SAAS,CAClF,CAAC,EAEKI,EAAqB,IACzB,gBAACnB,EAAA,KACC,gBAAC,UAAO,QAAQ,OACR,OAAO,SACP,QAASa,EACT,MAAM,sBACZ,gBAAC,KAAI,CAAC,KAAK,SAAS,KAAK,SAAU,EACrC,EACA,gBAAC,UAAO,QAAQ,OACR,OAAO,SACP,QAASF,EACT,MAAM,oBACZ,gBAAC,KAAI,CAAC,KAAK,aAAc,EAC3B,CACF,EAGIS,EAAiB,IAAOlB,EAAU,MAAMX,EAAW,EAAE,EAAI,UAAY,SACrE8B,KAAc,MAAYf,EAAa,CAAC,gBAAgBH,EAAO,EAAE,EAAE,CAAC,EAAIgB,EAAmB,EAAI,KAC/FG,EAAc/B,EAAW,YAAc,gBAAC,aAAO,IAAI,IAAEA,EAAW,YAAY,GAAC,EAAW,KACxFgC,EAAkB,IAAQrB,CAAS,EAAuB,KAAnBkB,EAAe,EAE5D,OACE,gBAAC,gBAAa,CAAC,QAASG,CAAA,EACrBF,EACD,gBAAC1B,EAAA,EAAuB,CAAC,WAAAJ,EAAwB,OAAAD,CAAA,CAAgB,EAChEkB,GACC,gBAACgB,EAAA,GAAgB,cAAejC,EACf,QAAS,IAAMkB,EAAsB,EAAK,EAC1C,MAAM,mBACN,iBAAiB,cACjB,kBAAkB,mBAClB,SAAUO,CAAA,CAAW,EAEvCM,CACH,CAEJ,EAEArB,EAAW,UAAY,CACrB,UAAW,UAAgB,CACzB,QAAS,SACT,MAAO,UACT,CAAC,EACD,SAAU,SACV,SAAU,SACV,OAAQ,WAAiB,WACzB,WAAY,WAAiB,UAC/B,EAEAA,EAAW,aAAe,CACxB,UAAW,CAAC,EACZ,SAAU,IAAM,CAAC,EACjB,SAAU,IAAM,CAAC,CACnB,EAEA,QAAeA,EChHTwB,EAAiB,CAAC,CACtB,UAAAvB,EACA,SAAAG,EACA,SAAAD,EACA,OAAAD,CACF,IAAa,CACX,GAAI,CAACA,EACH,OAAO,gBAAC,KAAO,IAAC,EAGlB,MAAMuB,EAAiB,CAAC,CAACvB,EAAO,MAAM,OAEtC,OACE,gBAAC,YAAS,CAAC,eAAe,MACvBuB,GAAkBvB,EAAO,MAAM,IAAKZ,GACnC,gBAAC,GAAW,IAAKA,EAAW,GAChB,UAAAW,EACA,SAAAE,EACA,SAAAC,EACA,OAAAF,EACA,WAAAZ,CAAA,CAAwB,CACrC,EAEA,CAACmC,GAAkB,gBAAC,gBAAa,KAAC,mBAAiB,CACtD,CAEJ,EAEAD,EAAe,UAAY,CACzB,UAAW,UAAgB,CACzB,QAAS,SACT,MAAO,UACT,CAAC,EACD,SAAU,SACV,SAAU,SACV,OAAQ,WAAiB,UAC3B,EAEAA,EAAe,aAAe,CAC5B,UAAW,CAAC,EACZ,SAAU,IAAM,CAAC,EACjB,SAAU,IAAM,CAAC,CACnB,EAEA,QAAeA,C,4OCjCf,MAAME,EAA2BC,GAAiBA,IAAS,IAAkB,gBAAkBA,IAAS,IAAkB,eACpHC,EAA2BD,GAAiBA,IAAS,IAAkB,gBAAkBA,IAAS,IAAkB,YAEpHE,EAAYC,GAAuB,CACvC,IAAIC,EAAS,CAAC,EAEd,OAAKD,EAAO,OACVC,EAAS,CAAE,GAAGA,EAAQ,KAAM,kBAAmB,GAG7CL,EAAwBI,EAAO,IAAI,GAAK,CAACA,EAAO,QAClDC,EAAS,CAAE,GAAGA,EAAQ,MAAO,mBAAoB,GAG/CH,EAAwBE,EAAO,IAAI,GAAK,CAACA,EAAO,QAClDC,EAAS,CAAE,GAAGA,EAAQ,MAAO,mBAAoB,GAG5CA,CACT,EAWMR,EAAkB,CAAC,CACvB,MAAAS,EACA,QAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,SAAAhC,EACA,cAAAiC,CACF,IAAa,CACX,KAAM,CAAE,OAAA/C,CAAO,KAAI,KAAS,GAAsB,EAC5C,CAAE,KAAMM,CAAgB,KAAI,KAAmB,KAErD,aAAU,IAAM,CACd,IAAyB,KAAK,CAChC,EAAG,CAAC,CAAC,EAEL,MAAMoB,KAAY,eACfe,GAAuB3B,EAASiC,GAAA,YAAAA,EAAe,GAAIN,CAAM,EAAE,KAAK,IAAMG,EAAQ,CAAC,EAChF,CAAC9B,EAAUiC,GAAA,YAAAA,EAAe,GAAIH,CAAO,CACvC,EAEMI,KAAyB,WAC7B,IAAM1C,GAAA,YAAAA,EAAiB,IAAI,CAAC,CAAE,GAAAH,EAAI,WAAA8C,CAAW,KAAO,CAClD,MAAO9C,EACP,MAAO8C,CACT,EAAE,EAEF,CAAC3C,CAAe,CAClB,EAEM4C,KAAe,WACnB,IAAMlD,GAAA,YAAAA,EAAQ,IAAI,CAAC,CAAE,GAAAG,EAAI,MAAOgD,EAAY,KAAAC,CAAK,KAAO,CAAE,MAAO,GAAGD,CAAU,KAAKC,CAAI,IAAK,MAAOjD,CAAG,EAAE,EACxG,CAACH,CAAM,CACT,EAEA,OACE,gBAAC,SAAM,MAAA2C,EACA,OAAQC,EACR,KAAI,IACT,gBAAC,SAAM,CAAa,cAAAG,EAA8B,SAAUrB,EAAW,SAAAc,CAAA,EACpE,CAAC,CAAE,OAAAC,EAAQ,cAAAY,EAAe,aAAAC,EAAc,aAAAC,CAAa,IACpD,gBAAC,OAAI,KACH,gBAAC,QAAM,OAAN,CAAa,YAAW,IACvB,gBAAC,QAAM,MAAN,KAAaZ,CAAM,CACtB,EACA,gBAAC,QAAM,KAAN,KACIrC,GAAA,MAAAA,EAAiB,OAClB,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,GAAI,GACNiC,EAAwBE,EAAO,IAAI,GAClC,gBAAC,QAAK,CAAC,KAAK,SACT,CAAC,CAAE,MAAO,CAAE,KAAAW,EAAM,MAAAI,EAAO,SAAAC,EAAU,OAAAC,CAAO,EAAG,KAAM,CAAE,MAAAC,EAAO,QAAAC,CAAQ,CAAE,IACrE,gBAAC,MAAoB,GAAIR,EACJ,OAAAM,EACA,KAAK,OACL,MAAM,QACN,KAAAN,EACA,MAAQO,GAASC,EAAWD,EAAQ,OACpC,aAAcH,EACd,SAAAC,CAAA,CAAoB,CAE7C,EAGF,gBAAC,QAAK,CAAC,KAAK,QACT,CAAC,CAAE,MAAO,CAAE,KAAAL,EAAM,MAAAI,EAAO,SAAAC,EAAU,OAAAC,CAAO,EAAG,KAAM,CAAE,MAAAC,EAAO,QAAAC,CAAQ,CAAE,IACrE,gBAAC,SAAM,MAAM,OACN,GAAG,OACH,MAAQD,GAASC,EAAWD,EAAQ,QACzC,gBAAC,MAAO,OAAAD,EACA,SAAWG,KACLA,IAAa,IAAkB,aAAeA,IAAa,IAAkB,kBAC/ER,EAAc,QAAS,EAAE,EACzBA,EAAc,QAAS,EAAE,GAGpBI,EAAS,CACd,OAAQ,CAAE,MAAOI,EAAU,KAAAT,CAAK,CAClC,CAAC,GAEH,QAASJ,EACT,QAASI,EACT,YAAY,gBACZ,WAAY,CAAE,aAAc,eAAgB,EAC5C,MAAAI,CAAA,CAAc,CACxB,CAEJ,EAECnB,EAAwBI,EAAO,IAAI,IAClCA,EAAO,OAAS,IAAkB,YAE9B,gBAAC,QAAK,CAAC,KAAK,SACT,CAAC,CAAE,MAAO,CAAE,KAAAW,EAAM,MAAAI,EAAO,SAAAC,EAAU,OAAAC,CAAO,EAAG,KAAM,CAAE,MAAAC,EAAO,QAAAC,CAAQ,CAAE,IACrE,gBAAC,SAAM,GAAG,QACH,MAAM,QACN,MAAQD,GAASC,EAAWD,EAAQ,QACzC,gBAAC,MAAO,OAAAD,EACA,SAAWG,GAAqB,CAC9BJ,EAAS,CAAE,OAAQ,CAAE,MAAOI,EAAU,KAAAT,CAAK,CAAE,CAAC,CAChD,EACA,QAASF,EACT,QAASE,EACT,YAAY,kBACZ,WAAY,CAAE,aAAc,iBAAkB,EAC9C,MAAAI,CAAA,CAAc,CACxB,CAEJ,EAEA,gBAAC,KAAW,CAAC,GAAG,QAAQ,MAAM,QAAQ,KAAK,OAAQ,IAGzD,gBAAC,KAAW,CAAC,GAAG,WAAW,MAAM,WAAW,KAAK,WAAW,KAAK,UAAW,GAC5E,gBAAC,MAAY,GAAG,cACH,MAAO,gCAAE,eAAY,gBAAC,KAAiB,IAAC,CAAE,EAC1C,KAAK,cACL,KAAK,WAAW,EAE7B,gBAAC,SACC,gBAAC,cAAO,SAAO,EACd,IACD,gBAAC,IAAuB,CAAC,WAAYf,EAAQ,OAAAzC,CAAA,CAAgB,CAC/D,CACF,EACA,gBAAC,MAAG,CAAC,GAAI,GACP,gBAAC,OAAI,CAAC,OAAO,QAAQ,UAAU,kBAAiB,oGAG9C,gBAAC,SAAG,EAAE,gBAAC,SAAG,EACV,gBAAC,KAAS,CAAC,KAAK,QAAS,GAAE,OAC3B,gBAAC,KAAE,KAAM,oDAAoD,6BAAgC,CAAC,+DAC3F,OAAO,SACP,IAAI,uBAAsB,4CAC7B,EACA,gBAAC,SAAG,EAAE,gBAAC,SAAG,EAAE,wCACyB,gBAAC,KAAkB,KAAM,IAAW,MAAM,QACvB,MAAM,mBACN,KACE,gBAAC,MAAK,KAAK,mBACL,KAAK,UAAU,EACpB,CAC7D,CACF,CACF,EAlG4B,gBAAC,KAAO,IAAC,CAoGzC,EACA,gBAAC,QAAM,OAAN,KACC,gBAAC,MAAY,iBAAA6C,EACA,kBAAAC,EACA,SAAUF,EACV,eAAgBW,EAChB,aAAAD,CAAA,CAA4B,CAC3C,CACF,CAEJ,CACF,CAEJ,EAEApB,EAAgB,aAAe,CAC7B,cAAe,CACb,MAAO,GACP,KAAM,EACN,MAAO,GACP,SAAU,GACV,YAAa,EACf,CACF,EAEA,QAAeA,C,0FC3Mf,QAjB2B,IAAmD,CAC5E,KAAM,CAAE,KAAAN,CAAK,KAAI,YACf,CAAC,UAAW,YAAY,EACxB,IAAM,IAAiB,MAAM,EAC7B,CACE,QAAUkC,GAAgB,CACxB,IAAiB,MAAM,iDAAiDA,CAAW,GACjF,kCAAkC,CACtC,EACA,iBAAkB,GAClB,UAAW,IACb,CACF,EAEA,MAAQ,CAAE,KAAAlC,CAAK,CACjB,C,sCCZA,QAN0B,CACxB,eAAgB,EAChB,eAAgB,EAChB,YAAa,CACf,C,4YCCA,MAAMmC,EAAsB,UAAO,IAAI,CAAC,CAAE,MAAAC,CAAM,OAAM;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKrCA,EAAM,MAAM,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAgBtC,EAED,MAAMC,UAA6B,WAAgB,CAAnD,kCAME,+BAAwB,IAAM,CAC5B,KAAK,iBAAiB,KAAK,CAC7B,CAAC,EAED,8BAAuB,IAAM,CAC3B,KAAK,iBAAiB,IAAI,CAC5B,CAAC,EAED,0BAAoBJ,GAAa,CAC/B,KAAM,CAAE,SAAAJ,EAAU,OAAA5C,CAAO,EAAI,KAAK,MAG9B,OAAO,QAAQ,8HAA8H,GAC/IqD,EAAA,GAAa,OAAOrD,EAAO,GAAI,CAAE,cAAegD,CAAS,EAAIM,IAC3DV,EAAS,EAEThC,EAAA,EAAiB,QAAQ,oDAAoDoC,IAAa,MAAQ,MAAQ,KAAK,qBAC7G,SAAS,EAEJM,EACR,CAEL,CAAC,CAAD,CAEA,QAAS,CACP,KAAM,CAAE,OAAAtD,CAAO,EAAI,KAAK,MAExB,OACE,gBAACkD,EAAA,KACC,gBAAC,WACC,gBAAC,SAAM,GAAG,2BACH,KAAK,QACL,MAAM,kDACN,QAASlD,EAAO,gBAAkB,MAClC,SAAU,KAAK,sBAAuB,EAC7C,gBAAC,SAAM,GAAG,0BACH,KAAK,QACL,MAAM,2DACN,QAASA,EAAO,gBAAkB,KAClC,SAAU,KAAK,qBAAsB,CAC9C,CACF,CAEJ,CACF,CAjDE,EADIoD,EACG,YAAY,CACjB,OAAQ,WAAiB,WACzB,SAAU,SAAe,UAC3B,CAAC,EAgDH,QAAeA,E,oFChEf,MAAMG,KAAoB,WAAO,QAAM,OAAO;AAAA;AAAA,EAIxCC,KAAY,WAAO,IAAI,EAA4C,CAAC,CAAE,MAAAL,EAAO,OAAAM,EAAQ,SAAAC,CAAS,IAAM,CACxG,MAAMC,EAAaD,EAAWP,EAAM,OAAO,QAAQ,QAAUA,EAAM,OAAO,QAAQ,OAElF,SAAO;AAAA,eACMM,EAASN,EAAM,OAAO,QAAQ,KAAOQ,CAAU;AAAA;AAAA,CAG9D,CAAC,EAEKC,KAAgB,WAAOC,EAAA,CAAO;AAAA;AAAA,EAI9BC,EAAoB/D,GAAeA,EAAU,QAAU,UAAY,SAQnEgE,EAAoB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,MAAAC,CAAM,IAAa,CACnE,KAAM,CAAC7D,EAAoBC,CAAqB,KAAI,YAAS,EAAK,EAC5D,CAAC6D,EAASC,CAAU,KAAI,YAAuD,EAC/E,CAACrE,EAAWsE,CAAY,KAAI,YAAgC,EAC5D,CAAE,KAAMrE,EAAQ,QAAAsE,CAAQ,KAAIC,EAAA,GAAUP,CAAQ,KAEpD,aAAU,IAAM,CACd,MAAMQ,EAAgB,IAAMF,EAAQ,EACpC,OAAAjB,EAAA,GAAa,SAASmB,CAAa,EACnC7D,EAAA,EAAiB,SAAS6D,CAAa,EAEhC,IAAM,CACXnB,EAAA,GAAa,WAAWmB,CAAa,EACrC7D,EAAA,EAAiB,WAAW6D,CAAa,CAC3C,CACF,EAAG,CAACF,CAAO,CAAC,EAEZ,MAAMG,EAAmBC,GAAe,CACtCN,EAAWM,CAAU,EAEjBP,IAAY,OACdd,EAAA,GAAa,UAAUW,EAAU,CAAE,QAASG,EAAQ,MAAO,EAAIQ,GAAe,CAC5EN,EAAaM,CAAU,CACzB,CAAC,EAEDN,EAAa,MAAS,CAE1B,EAEMO,EAA0B,CAACC,EAAuB9D,IAASJ,EAAA,EAAiB,OAAOqD,EAAUjD,EAAM,IAAM,CAAC,CAAC,EAE3G+D,EAAoBrE,GAAU,CAClCA,EAAM,eAAe,EACrBH,EAAsB,EAAI,CAC5B,EAEMyE,EAAUhF,EAAY+D,EAAiB/D,CAAS,EAAI,OAE1D,OAAKC,EASH,gBAAC,MAAG,CAAC,UAAU,WACb,gBAAC,MAAG,CAAC,GAAI,GAAI,UAAU,6BACrB,gBAAC,UAAG,iCAA+B,EAEnC,gBAAC,OAAI,UAAU,iBACb,gBAACgF,EAAA,GAAW,UAAAf,EACA,MAAAC,EACA,gBAAAO,CAAA,CAAkC,CAChD,EAEA,gBAAC,SAAG,EAEJ,gBAAC,OAAI,UAAU,sBACb,gBAAC,UAAO,QAAQ,UACR,UAAU,mBACV,QAASK,CAAA,EAAkB,iBAEnC,EACCzE,GACC,gBAACgB,EAAA,GAAgB,MAAM,kBACN,QAAS,IAAMf,EAAsB,EAAK,EAC1C,iBAAiB,cACjB,kBAAkB,mBAClB,SAAUsE,CAAA,CAAyB,CAExD,EAEA,gBAAC,UAAG,wBAAsB,EAE1B,gBAAC,EAAoB,CAAC,OAAA5E,EAAgB,SAAUsE,CAAA,CAAS,EACzD,gBAAC,QAAK,CAAC,QAASS,CAAA,EACd,gBAACxB,EAAA,MACExD,GAAA,YAAAA,EAAW,UACV,gCACE,gBAACyD,EAAA,CAAU,SAAQ,GAAC,KAAK,OAAQ,GAAE,+CACrC,EAGAzD,GAAa,CAACA,EAAU,SACxB,gCACE,gBAACyD,EAAA,CAAU,KAAK,OAAQ,GAAE,mDAC5B,EAGD,CAACzD,GACA,gCACE,gBAACyD,EAAA,CAAU,OAAM,GAAC,KAAK,OAAQ,GAAE,wFACnC,CAEJ,EACA,gBAAClC,EAAA,GAAe,OAAAtB,EACA,UAAAD,CAAA,CAAsB,CACxC,EAEA,gBAAC,SACC,gBAAC,IAAa,CAAC,GAAIkF,EAAA,GAAO,SACxB,gBAAC,SAAM,CAAC,QAAQ,WAAU,WAAc,CAC1C,CACF,CACF,CACF,EAnEE,gBAAC,MAAG,CAAC,UAAU,WACb,gBAACrB,EAAA,IAAc,CACjB,CAmEN,EAEAG,EAAkB,UAAY,CAC5B,SAAU,WAAiB,WAC3B,UAAW,WACX,MAAO,UACT,EAEAA,EAAkB,aAAe,CAC/B,UAAW,GACX,MAAO,EACT,EAEA,QAAeA,E,oCChHf,QA3CuB,IAAM,CAC3B,MAAMmB,KAAS,aAAgC,EACzCC,KAAQC,EAAA,GAAS,EACjB,CAAE,KAAMpF,CAAO,KAAIuE,EAAA,GAAUW,EAAO,QAAQ,EAElD,OAAKlF,EAKH,gBAAC,KAAa,CAAC,MAAO,mBAAmBA,EAAO,KAAK,IACnD,gBAAC,WACC,gBAAC,MAAW,MAAO,gBAAC,YAAK,oBAAuBA,EAAO,MAAM,GAAM,EACvD,kBAAmB,CACjB,MAAO,wBACP,KAAMqF,EAAA,EAAW,MAAM,OACzB,GACV,gBAAC,YAAK,yGACmG,IAAI,uEAE7G,CACF,EAEC,CAACrF,EAAO,YACP,gBAAC,GAAkB,SAAUkF,EAAO,SACjB,UAAWC,EAAM,WACjB,MAAOA,EAAM,MAAO,EAGxCnF,EAAO,YACN,gBAAC,OAAI,UAAU,eACb,gBAAC,OAAI,UAAU,aACb,gBAAC,QAAK,CAAC,QAAQ,UAAS,sCAExB,CACF,CACF,CAEJ,CACF,EAjCO,gBAAC,KAAO,IAAC,CAmCpB,C,6IC/BO,MAAMsF,KAA2B,MACtC,yBACA,IAAM,kBAAmD,CACvD,KAAM,CAAE,YAAa,EAAK,CAC5B,CAAC,CACH,EAEa/E,KAAyB,MACpC,yBACA,IAAM,gBAAgD,CACpD,YAAa,CAAC+E,CAAwB,EACtC,UAAW,wBACX,OAAQ,OAER,MAAO,CACL,KAAK,KAAK,CACZ,EAEA,QAAS,CACP,MAAO,CAAE,OAAQ,KAAK,MAAO,CAC/B,EAEA,iBAAkB,CAChB,OAAO,KAAK,OAAO,CACrB,EAEA,MAAO,CACL,MAAMC,KAAU,MAAM,SAAO,MAAW,KAAK,SAAS,CAAC,EAEvDA,EACG,KACEjC,IACC,KAAK,OAASA,EAAS,OACvB,KAAK,QAAQ,KAAK,OAAO,CAAC,EAEnB,KAAK,QAEbR,GAAU,CACT,IAAiB,MAAM,wDAAwDA,CAAK,GAClF,uCAAuC,CAC3C,CACF,EAEFwC,EAAyB,KAAK,QAAQC,CAAO,CAC/C,CACF,CAAC,CACH,C,4KC7CO,MAAM5E,KAAmB,MAC9B,mBACA,IAAM,gBAAmB,CACvB,UAAW,CAAC,EAEZ,OAAQ,CAIN,SAFgB,MAAM,MAAO,KADjB,2BACwC,CAAC,CAGvD,EACA,OAAOqD,EAAkBlD,EAAsBC,EAAkByE,EAAwB,CACvF,MAAMC,EAAgB3C,GAAU,CAC9B,IAAiB,MAAM,4CAA4CA,CAAK,GACtE,8BAA8B,CAClC,EAEM4C,EAAM,KAAoB,IAAU,yBAAyB,OAAO1B,EAAUlD,CAAY,EAAE,GAAG,EAC/F6E,EAAU,CACd,MAAO5E,EAAK,MACZ,KAAMA,EAAK,KACX,MAAOA,EAAK,MACZ,SAAUA,EAAK,SACf,YAAaA,EAAK,WACpB,EAEA,SAAO,MAAM,MAAO2E,EAAKC,CAAO,EAC7B,KAAKH,EAAUC,CAAY,EAC3B,KAAK,KAAK,YAAY,KAAK,IAAI,CAAC,CACrC,EACA,OAAOzB,EAAkBlD,EAAsB0E,EAAwB,CACrE,MAAMC,EAAgB3C,GAAU,CAC9B,IAAiB,MAAM,4CAA4CA,CAAK,GACtE,8BAA8B,CAClC,EAEM4C,EAAM,KAAoB,IAAU,yBAAyB,OAAO1B,EAAUlD,CAAY,EAAE,GAAG,KAErG,MAAM,SAAU4E,CAAG,EAChB,KAAKF,EAAUC,CAAY,EAC3B,KAAK,KAAK,YAAY,KAAK,IAAI,CAAC,CACrC,EACA,OAAOzB,EAAkBjD,EAAkByE,EAAwB,CACjE,MAAMC,EAAgB3C,GAAU,CAC9B,IAAiB,MAAM,4CAA4CA,CAAK,GACtE,8BAA8B,CAClC,EAEM4C,EAAM,KAAoB,IAAU,yBAAyB,OAAO1B,CAAQ,EAAE,GAAG,EAEvF,SAAO,MAAM,OAAQ0B,EAAK3E,CAAI,EAC3B,KAAKyE,EAAUC,CAAY,EAC3B,KAAK,KAAK,YAAY,KAAK,IAAI,CAAC,CACrC,EACA,SAASD,EAAoB,CAC3B,KAAK,UAAU,KAAKA,CAAQ,CAC9B,EACA,aAAc,CACZ,KAAK,UAAU,QAASA,GAAaA,EAAS,CAAC,CACjD,EACA,WAAWA,EAAoB,CAC7B,IAAK,KAAK,UAAWA,CAAQ,CAC/B,CACF,CAAC,CACH,C","sources":["webpack://graylog-web-interface/./src/components/streamrules/HumanReadableStreamRule.tsx","webpack://graylog-web-interface/./src/components/streamrules/StreamRule.tsx","webpack://graylog-web-interface/./src/components/streamrules/StreamRuleList.tsx","webpack://graylog-web-interface/./src/components/streamrules/StreamRuleModal.tsx","webpack://graylog-web-interface/./src/components/streams/hooks/useStreamRuleTypes.ts","webpack://graylog-web-interface/./src/logic/streams/streamRuleTypes.ts","webpack://graylog-web-interface/./src/components/streams/MatchingTypeSwitcher.jsx","webpack://graylog-web-interface/./src/components/streamrules/StreamRulesEditor.tsx","webpack://graylog-web-interface/./src/pages/StreamEditPage.tsx","webpack://graylog-web-interface/./src/stores/inputs/StreamRulesInputsStore.ts","webpack://graylog-web-interface/./src/stores/streams/StreamRulesStore.ts"],"sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport type { Input } from 'components/messageloaders/Types';\nimport type { StreamRule } from 'stores/streams/StreamsStore';\nimport STREAM_RULE_TYPES from 'logic/streams/streamRuleTypes';\nimport useStreamRuleTypes from 'components/streams/hooks/useStreamRuleTypes';\n\nconst EMPTY_TAG = '';\n\nconst formatRuleValue = (inputs: Array, streamRule: Partial) => {\n  if (streamRule.type === STREAM_RULE_TYPES.MATCH_INPUT) {\n    const input = inputs.find(({ id }) => id === streamRule.value);\n\n    if (input) {\n      return `${input.title} (${input.name}: ${input.id})`;\n    }\n\n    return `: ${streamRule.value})`;\n  }\n\n  if (streamRule.type !== STREAM_RULE_TYPES.FIELD_PRESENCE) {\n    if (streamRule.value) {\n      return streamRule.value;\n    }\n\n    return EMPTY_TAG;\n  }\n\n  return null;\n};\n\nconst formatRuleField = (streamRule: Partial) => {\n  if (streamRule.field) {\n    return streamRule.field;\n  }\n\n  if (streamRule.type === STREAM_RULE_TYPES.MATCH_INPUT) {\n    return 'gl_source_input';\n  }\n\n  return EMPTY_TAG;\n};\n\ntype Props = {\n  streamRule: Partial,\n  inputs: Array,\n}\n\nconst HumanReadableStreamRule = ({ streamRule, inputs = [] }: Props) => {\n  const { data: streamRuleTypes } = useStreamRuleTypes();\n  const streamRuleType = streamRuleTypes?.find(({ id }) => id === streamRule.type);\n  const negation = (streamRule.inverted ? 'not ' : null);\n  const longDesc = (streamRuleType ? streamRuleType.long_desc : null);\n\n  if (streamRule.type === STREAM_RULE_TYPES.ALWAYS_MATCHES) {\n    return (\n      Rule always matches\n    );\n  }\n\n  return (\n    \n      {formatRuleField(streamRule)} must {negation}{longDesc} {formatRuleValue(inputs, streamRule)}\n    \n  );\n};\n\nHumanReadableStreamRule.propTypes = {\n  streamRule: PropTypes.object.isRequired,\n  inputs: PropTypes.array.isRequired,\n};\n\nexport default HumanReadableStreamRule;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport styled from 'styled-components';\n\nimport HumanReadableStreamRule from 'components/streamrules/HumanReadableStreamRule';\nimport { useStore } from 'stores/connect';\nimport { Icon } from 'components/common';\nimport { Button, ListGroupItem } from 'components/bootstrap';\nimport { isPermitted } from 'util/PermissionsMixin';\nimport StreamRuleModal from 'components/streamrules/StreamRuleModal';\nimport UserNotification from 'util/UserNotification';\nimport { StreamRulesInputsActions, StreamRulesInputsStore } from 'stores/inputs/StreamRulesInputsStore';\nimport { StreamRulesStore } from 'stores/streams/StreamRulesStore';\nimport type { StreamRule as StreamRuleTypeDefinition, Stream } from 'stores/streams/StreamsStore';\n\nimport useCurrentUser from '../../hooks/useCurrentUser';\n\nconst ActionButtonsWrap = styled.span`\n  margin-right: 6px;\n`;\n\ntype Props = {\n  matchData: {\n    matches: boolean,\n    rules: { [id: string]: false },\n  },\n  stream: Stream,\n  onDelete: (ruleId: string) => void,\n  onSubmit: (ruleId: string, data: unknown) => void,\n  streamRule: StreamRuleTypeDefinition\n}\n\nconst StreamRule = ({ matchData, stream, streamRule, onSubmit, onDelete }: Props) => {\n  const { permissions } = useCurrentUser();\n  const [showStreamRuleForm, setShowStreamRuleForm] = useState(false);\n  const { inputs } = useStore(StreamRulesInputsStore);\n\n  useEffect(() => {\n    StreamRulesInputsActions.list();\n  }, []);\n\n  const _onEdit = (event) => {\n    event.preventDefault();\n    setShowStreamRuleForm(true);\n  };\n\n  const _onDelete = (event) => {\n    event.preventDefault();\n\n    /* TODO: Replace with custom confirmation dialog */\n    // eslint-disable-next-line no-alert\n    if (window.confirm('Do you really want to delete this stream rule?')) {\n      StreamRulesStore.remove(stream.id, streamRule.id, () => {\n        if (onDelete) {\n          onDelete(streamRule.id);\n        }\n\n        UserNotification.success('Stream rule has been successfully deleted.', 'Success');\n      });\n    }\n  };\n\n  const _onSubmit = (streamRuleId, data) => StreamRulesStore.update(stream.id, streamRuleId, data, () => {\n    if (onSubmit) {\n      onSubmit(streamRuleId, data);\n    }\n\n    UserNotification.success('Stream rule has been successfully updated.', 'Success');\n  });\n\n  const _formatActionItems = () => (\n    \n      \n      \n    \n  );\n\n  const matchDataStyle = () => (matchData.rules[streamRule.id] ? 'success' : 'danger');\n  const actionItems = isPermitted(permissions, [`streams:edit:${stream.id}`]) ? _formatActionItems() : null;\n  const description = streamRule.description ? {' '}({streamRule.description}) : null;\n  const listGroupStyle = !isEmpty(matchData) ? matchDataStyle() : null;\n\n  return (\n    \n      {actionItems}\n      \n      {showStreamRuleForm && (\n         setShowStreamRuleForm(false)}\n                         title=\"Edit Stream Rule\"\n                         submitButtonText=\"Update Rule\"\n                         submitLoadingText=\"Updating Rule...\"\n                         onSubmit={_onSubmit} />\n      )}\n      {description}\n    \n  );\n};\n\nStreamRule.propTypes = {\n  matchData: PropTypes.shape({\n    matches: PropTypes.bool,\n    rules: PropTypes.object,\n  }),\n  onDelete: PropTypes.func,\n  onSubmit: PropTypes.func,\n  stream: PropTypes.object.isRequired,\n  streamRule: PropTypes.object.isRequired,\n};\n\nStreamRule.defaultProps = {\n  matchData: {},\n  onSubmit: () => {},\n  onDelete: () => {},\n};\n\nexport default StreamRule;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport type { Stream, MatchData } from 'src/stores/streams/StreamsStore';\n\nimport StreamRule from 'components/streamrules/StreamRule';\nimport { Spinner } from 'components/common';\nimport { ListGroup, ListGroupItem } from 'components/bootstrap';\n\ntype Props = {\n  matchData: MatchData,\n  onDelete: (ruleId: string) => void,\n  onSubmit: (ruleId: string, data: unknown) => void,\n  stream: Stream | undefined,\n}\n\nconst StreamRuleList = ({\n  matchData,\n  onDelete,\n  onSubmit,\n  stream,\n}: Props) => {\n  if (!stream) {\n    return ;\n  }\n\n  const hasStreamRules = !!stream.rules.length;\n\n  return (\n    \n      {hasStreamRules && stream.rules.map((streamRule) => (\n        \n      ))}\n\n      {!hasStreamRules && No rules defined.}\n    \n  );\n};\n\nStreamRuleList.propTypes = {\n  matchData: PropTypes.shape({\n    matches: PropTypes.bool,\n    rules: PropTypes.object,\n  }),\n  onSubmit: PropTypes.func,\n  onDelete: PropTypes.func,\n  stream: PropTypes.object.isRequired,\n};\n\nStreamRuleList.defaultProps = {\n  matchData: {},\n  onSubmit: () => {},\n  onDelete: () => {},\n};\n\nexport default StreamRuleList;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport { Formik, Form, Field } from 'formik';\nimport { useCallback, useMemo, useEffect } from 'react';\n\nimport Version from 'util/Version';\nimport type { StreamRule } from 'stores/streams/StreamsStore';\nimport {\n  Icon,\n  TypeAheadFieldInput,\n  FormikInput,\n  Select,\n  ModalSubmit,\n  InputOptionalInfo,\n  Spinner, BrandIcon,\n} from 'components/common';\nimport HumanReadableStreamRule from 'components/streamrules//HumanReadableStreamRule';\nimport { Col, Well, Input, Modal, Row } from 'components/bootstrap';\nimport { DocumentationLink } from 'components/support';\nimport DocsHelper from 'util/DocsHelper';\nimport { useStore } from 'stores/connect';\nimport { StreamRulesInputsStore, StreamRulesInputsActions } from 'stores/inputs/StreamRulesInputsStore';\nimport STREAM_RULE_TYPES from 'logic/streams/streamRuleTypes';\nimport useStreamRuleTypes from 'components/streams/hooks/useStreamRuleTypes';\n\ntype FormValues = Partial>\n\nconst shouldDisplayValueInput = (type: number) => type !== STREAM_RULE_TYPES.FIELD_PRESENCE && type !== STREAM_RULE_TYPES.ALWAYS_MATCHES;\nconst shouldDisplayFieldInput = (type: number) => type !== STREAM_RULE_TYPES.ALWAYS_MATCHES && type !== STREAM_RULE_TYPES.MATCH_INPUT;\n\nconst validate = (values: FormValues) => {\n  let errors = {};\n\n  if (!values.type) {\n    errors = { ...errors, type: 'Type is required' };\n  }\n\n  if (shouldDisplayValueInput(values.type) && !values.value) {\n    errors = { ...errors, value: 'Value is required' };\n  }\n\n  if (shouldDisplayFieldInput(values.type) && !values.field) {\n    errors = { ...errors, field: 'Field is required' };\n  }\n\n  return errors;\n};\n\ntype Props = {\n  onSubmit: (streamRuleId: string | undefined | null, currentStreamRule: FormValues) => Promise,\n  initialValues?: Partial,\n  title: string,\n  onClose: () => void,\n  submitButtonText: string\n  submitLoadingText: string\n};\n\nconst StreamRuleModal = ({\n  title,\n  onClose,\n  submitButtonText,\n  submitLoadingText,\n  onSubmit,\n  initialValues,\n}: Props) => {\n  const { inputs } = useStore(StreamRulesInputsStore);\n  const { data: streamRuleTypes } = useStreamRuleTypes();\n\n  useEffect(() => {\n    StreamRulesInputsActions.list();\n  }, []);\n\n  const _onSubmit = useCallback(\n    (values: FormValues) => onSubmit(initialValues?.id, values).then(() => onClose()),\n    [onSubmit, initialValues?.id, onClose],\n  );\n\n  const streamRuleTypesOptions = useMemo(\n    () => streamRuleTypes?.map(({ id, short_desc }) => ({\n      value: id,\n      label: short_desc,\n    })),\n\n    [streamRuleTypes],\n  );\n\n  const inputOptions = useMemo(\n    () => inputs?.map(({ id, title: inputTitle, name }) => ({ label: `${inputTitle} (${name})`, value: id })),\n    [inputs],\n  );\n\n  return (\n    \n       initialValues={initialValues} onSubmit={_onSubmit} validate={validate}>\n        {({ values, setFieldValue, isSubmitting, isValidating }) => (\n          
\n \n {title}\n \n \n {(!streamRuleTypes?.length) ? : (\n \n \n {shouldDisplayFieldInput(values.type) && (\n \n {({ field: { name, value, onChange, onBlur }, meta: { error, touched } }) => (\n \n )}\n \n )}\n\n \n {({ field: { name, value, onChange, onBlur }, meta: { error, touched } }) => (\n \n \n \n \n
\n \n );\n }\n}\n\nexport default MatchingTypeSwitcher;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { LinkContainer } from 'components/common/router';\nimport Routes from 'routing/Routes';\nimport { Button, Col, Panel, Row } from 'components/bootstrap';\nimport { Icon } from 'components/common';\nimport LoaderTabs from 'components/messageloaders/LoaderTabs';\nimport MatchingTypeSwitcher from 'components/streams/MatchingTypeSwitcher';\nimport StreamRuleList from 'components/streamrules/StreamRuleList';\nimport StreamRuleModal from 'components/streamrules/StreamRuleModal';\nimport Spinner from 'components/common/Spinner';\nimport type { MatchData } from 'stores/streams/StreamsStore';\nimport StreamsStore from 'stores/streams/StreamsStore';\nimport { StreamRulesStore } from 'stores/streams/StreamRulesStore';\n\nimport useStream from '../streams/hooks/useStream';\n\nconst StreamAlertHeader = styled(Panel.Heading)`\n font-weight: bold;\n`;\n\nconst MatchIcon = styled(Icon)<{ $empty?: boolean, $matches?: boolean }>(({ theme, $empty, $matches }) => {\n const matchColor = $matches ? theme.colors.variant.success : theme.colors.variant.danger;\n\n return css`\n color: ${$empty ? theme.colors.variant.info : matchColor};\n margin-right: 3px;\n`;\n});\n\nconst StyledSpinner = styled(Spinner)`\n margin-left: 10px;\n`;\n\nconst getListClassName = (matchData) => (matchData.matches ? 'success' : 'danger');\n\ntype Props = {\n streamId: string,\n messageId: string | undefined,\n index: string,\n}\n\nconst StreamRulesEditor = ({ streamId, messageId, index }: Props) => {\n const [showStreamRuleForm, setShowStreamRuleForm] = useState(false);\n const [message, setMessage] = useState<{ [fieldName: string]: unknown } | undefined>();\n const [matchData, setMatchData] = useState();\n const { data: stream, refetch } = useStream(streamId);\n\n useEffect(() => {\n const refetchStrems = () => refetch();\n StreamsStore.onChange(refetchStrems);\n StreamRulesStore.onChange(refetchStrems);\n\n return () => {\n StreamsStore.unregister(refetchStrems);\n StreamRulesStore.unregister(refetchStrems);\n };\n }, [refetch]);\n\n const onMessageLoaded = (newMessage) => {\n setMessage(newMessage);\n\n if (message !== undefined) {\n StreamsStore.testMatch(streamId, { message: message.fields }, (resultData) => {\n setMatchData(resultData);\n });\n } else {\n setMatchData(undefined);\n }\n };\n\n const _onStreamRuleFormSubmit = (_streamRuleId: string, data) => StreamRulesStore.create(streamId, data, () => {});\n\n const _onAddStreamRule = (event) => {\n event.preventDefault();\n setShowStreamRuleForm(true);\n };\n\n const styles = (matchData ? getListClassName(matchData) : 'info');\n\n if (!stream) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n

1. Load a message to test rules

\n\n
\n \n
\n\n
\n\n
\n \n {showStreamRuleForm && (\n setShowStreamRuleForm(false)}\n submitButtonText=\"Create Rule\"\n submitLoadingText=\"Creating Rule...\"\n onSubmit={_onStreamRuleFormSubmit} />\n )}\n
\n\n

2. Manage stream rules

\n\n \n \n \n {matchData?.matches && (\n <>\n This message would be routed to this stream!\n \n )}\n\n {(matchData && !matchData.matches) && (\n <>\n This message would not be routed to this stream.\n \n )}\n\n {!matchData && (\n <>\n Please load a message in Step 1 above to check if it would match against these rules.\n \n )}\n \n \n \n\n

\n \n \n \n

\n \n
\n );\n};\n\nStreamRulesEditor.propTypes = {\n streamId: PropTypes.string.isRequired,\n messageId: PropTypes.string,\n index: PropTypes.string,\n};\n\nStreamRulesEditor.defaultProps = {\n messageId: '',\n index: '',\n};\n\nexport default StreamRulesEditor;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\n\nimport React from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport { Alert } from 'components/bootstrap';\nimport StreamRulesEditor from 'components/streamrules/StreamRulesEditor';\nimport { DocumentTitle, PageHeader, Spinner } from 'components/common';\nimport useQuery from 'routing/useQuery';\nimport DocsHelper from 'util/DocsHelper';\nimport useStream from 'components/streams/hooks/useStream';\n\nconst StreamEditPage = () => {\n const params = useParams<{ streamId: string }>();\n const query = useQuery() as { index: string, message_id: string };\n const { data: stream } = useStream(params.streamId);\n\n if (!stream) {\n return ;\n }\n\n return (\n \n
\n Rules of Stream "{stream.title}"}\n documentationLink={{\n title: 'Streams documentation',\n path: DocsHelper.PAGES.STREAMS,\n }}>\n \n This screen is dedicated to an easy and comfortable creation and manipulation of stream rules. You can{' '}\n see the effect configured stream rules have on message matching here.\n \n \n\n {!stream.is_default && (\n \n )}\n\n {stream.is_default && (\n
\n
\n \n The default stream cannot be edited.\n \n
\n
\n )}\n
\n
\n );\n};\n\nexport default StreamEditPage;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\n\nimport Reflux from 'reflux';\n\nimport UserNotification from 'util/UserNotification';\nimport { qualifyUrl } from 'util/URLUtils';\nimport fetch from 'logic/rest/FetchProvider';\nimport { singletonStore, singletonActions } from 'logic/singleton';\nimport type { Input } from 'components/messageloaders/Types';\n\nexport type PaginatedStreamRulesInputs = {\n list: Array,\n};\n\ntype StreamRulesInputsActionsType = {\n list: () => Promise<{ inputs: Array, total: number }>,\n}\n\ntype StreamRulesInputsStoreState = {\n inputs: Array | undefined,\n}\n\nexport const StreamRulesInputsActions = singletonActions(\n 'core.StreamRulesInputs',\n () => Reflux.createActions({\n list: { asyncResult: true },\n }),\n);\n\nexport const StreamRulesInputsStore = singletonStore(\n 'core.StreamRulesInputs',\n () => Reflux.createStore({\n listenables: [StreamRulesInputsActions],\n sourceUrl: '/streams/rules/inputs',\n inputs: undefined,\n\n init() {\n this.list();\n },\n\n _state() {\n return { inputs: this.inputs };\n },\n\n getInitialState() {\n return this._state();\n },\n\n list() {\n const promise = fetch('GET', qualifyUrl(this.sourceUrl));\n\n promise\n .then(\n (response) => {\n this.inputs = response.inputs;\n this.trigger(this._state());\n\n return this.inputs;\n },\n (error) => {\n UserNotification.error(`Fetching Stream Rule Inputs List failed with status: ${error}`,\n 'Could not retrieve Stream Rule Inputs');\n },\n );\n\n StreamRulesInputsActions.list.promise(promise);\n },\n }),\n);\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\nimport pull from 'lodash/pull';\n\nimport fetch from 'logic/rest/FetchProvider';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport * as URLUtils from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport { singletonStore } from 'logic/singleton';\n\ntype StreamRule = {\n field: string,\n type: number,\n value: string,\n inverted: boolean,\n description: string,\n};\n\ntype Callback = {\n (): void,\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport const StreamRulesStore = singletonStore(\n 'core.StreamRules',\n () => Reflux.createStore({\n callbacks: [],\n\n types() {\n const url = '/streams/null/rules/types';\n const promise = fetch('GET', URLUtils.qualifyUrl(url));\n\n return promise;\n },\n update(streamId: string, streamRuleId: string, data: StreamRule, callback: (() => void)) {\n const failCallback = (error) => {\n UserNotification.error(`Updating Stream Rule failed with status: ${error}`,\n 'Could not update Stream Rule');\n };\n\n const url = URLUtils.qualifyUrl(ApiRoutes.StreamRulesApiController.update(streamId, streamRuleId).url);\n const request = {\n field: data.field,\n type: data.type,\n value: data.value,\n inverted: data.inverted,\n description: data.description,\n };\n\n return fetch('PUT', url, request)\n .then(callback, failCallback)\n .then(this._emitChange.bind(this));\n },\n remove(streamId: string, streamRuleId: string, callback: (() => void)) {\n const failCallback = (error) => {\n UserNotification.error(`Deleting Stream Rule failed with status: ${error}`,\n 'Could not delete Stream Rule');\n };\n\n const url = URLUtils.qualifyUrl(ApiRoutes.StreamRulesApiController.delete(streamId, streamRuleId).url);\n\n fetch('DELETE', url)\n .then(callback, failCallback)\n .then(this._emitChange.bind(this));\n },\n create(streamId: string, data: StreamRule, callback: (() => void)) {\n const failCallback = (error) => {\n UserNotification.error(`Creating Stream Rule failed with status: ${error}`,\n 'Could not create Stream Rule');\n };\n\n const url = URLUtils.qualifyUrl(ApiRoutes.StreamRulesApiController.create(streamId).url);\n\n return fetch('POST', url, data)\n .then(callback, failCallback)\n .then(this._emitChange.bind(this));\n },\n onChange(callback: Callback) {\n this.callbacks.push(callback);\n },\n _emitChange() {\n this.callbacks.forEach((callback) => callback());\n },\n unregister(callback: Callback) {\n pull(this.callbacks, callback);\n },\n }),\n);\n"],"names":["EMPTY_TAG","formatRuleValue","inputs","streamRule","input","id","formatRuleField","HumanReadableStreamRule","streamRuleTypes","streamRuleType","negation","longDesc","ActionButtonsWrap","StreamRule","matchData","stream","onSubmit","onDelete","permissions","useCurrentUser","showStreamRuleForm","setShowStreamRuleForm","StreamRulesInputsStore","_onEdit","event","_onDelete","StreamRulesStore","UserNotification","_onSubmit","streamRuleId","data","_formatActionItems","matchDataStyle","actionItems","description","listGroupStyle","StreamRuleModal","StreamRuleList","hasStreamRules","shouldDisplayValueInput","type","shouldDisplayFieldInput","validate","values","errors","title","onClose","submitButtonText","submitLoadingText","initialValues","streamRuleTypesOptions","short_desc","inputOptions","inputTitle","name","setFieldValue","isSubmitting","isValidating","value","onChange","onBlur","error","touched","newValue","errorThrown","StreamRuleConnector","theme","MatchingTypeSwitcher","StreamsStore","response","StreamAlertHeader","MatchIcon","$empty","$matches","matchColor","StyledSpinner","Spinner","getListClassName","StreamRulesEditor","streamId","messageId","index","message","setMessage","setMatchData","refetch","useStream","refetchStrems","onMessageLoaded","newMessage","resultData","_onStreamRuleFormSubmit","_streamRuleId","_onAddStreamRule","styles","LoaderTabs","Routes","params","query","useQuery","DocsHelper","StreamRulesInputsActions","promise","callback","failCallback","url","request"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy