web-interface.assets.07ba022f-1235.f297873291d379b3c9b4.js.map Maven / Gradle / Ivy
{"version":3,"file":"07ba022f-1235.f297873291d379b3c9b4.js","mappings":"0NAGIA,EAA0B,IAA4B,GAAqC,EAE/FA,EAAwB,KAAK,CAACC,EAAO,GAAI;AAAA;AAAA;AAAA,EAGtC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,mEAAmE,EAAE,MAAQ,CAAC,EAAE,SAAW,yBAAyB,eAAiB,CAAC;AAAA;AAAA;AAAA,CAAwE,EAAE,WAAa,EAAE,CAAC,CAAC,EAE/PD,EAAwB,OAAS,CAChC,kBAAqB,sBACtB,EACA,QAAeA,C,4bCFXE,EAAU,CAAC,EAEfA,EAAQ,kBAAoB,KAC5BA,EAAQ,cAAgB,KAElBA,EAAQ,OAAS,SAAc,KAAM,MAAM,EAEjDA,EAAQ,OAAS,IACjBA,EAAQ,mBAAqB,KAE7B,IAAIC,GAAS,IAAI,IAASD,CAAO,EAK1B,QAAe,KAAW,IAAQ,OAAS,IAAQ,OAAS,O,oKCKnE,MAAME,GAAa,UAAO;AAAA;AAAA,EAIpBC,KAAa,WAAO,IAAI,EAAE,CAAC,CAAE,MAAAC,CAAM,IAAM;AAAA,iBAC9BA,EAAM,SAAS,GAAG;AAAA,mBAChBA,EAAM,SAAS,GAAG;AAAA,CACpC,EAEKC,GAAqBC,GACrBA,aAAkBC,EAAA,EACb,gCAAE,gBAACJ,EAAA,CAAW,KAAK,UAAU,UAAW,EAAM,kBAAmB,EAAG,IAAI,gBAAC,YAAMG,EAAO,KAAM,CAAO,EAGrG,gCAAE,gBAACH,EAAA,CAAW,KAAK,QAAS,GAAG,IAAI,gBAACD,GAAA,KAAYI,EAAO,KAAM,CAAa,EAG7E,EAAN,MAAM,WAA6B,WAAgB,CAsBjD,YAAYE,EAAO,CACjB,MAAMA,CAAK,EAuBb,sBAAe,CAACC,EAAMC,IAAU,CAC9B,KAAM,CAAE,YAAAC,CAAY,EAAI,KAAK,MACvB,CAAE,cAAAC,CAAc,EAAI,KAAK,MACzBC,EAAcF,EAAY,UAAU,EAAEF,CAAI,EAAEC,CAAK,EAAE,MAAM,EAE/DE,EAAc,CAAE,YAAaC,CAAY,CAAC,EAC1C,KAAK,SAAS,CAAE,YAAaA,CAAY,EAAG,KAAK,SAAS,CAC5D,CAAC,EAED,mBAAaC,GAAiB,CAC5B,MAAMC,EAAkB,CAAC,OAAQ,UAAW,QAAQ,EAC9C,CAAE,YAAAJ,CAAY,EAAI,KAAK,MACvB,CAAE,iBAAkBK,CAAqB,EAAI,KAAK,MAClDC,EAAmBH,GAAgBE,EAEnCE,EAASH,EAAgB,OAAO,CAACI,EAAKC,IAAU,CACpD,MAAMC,EAAYF,EAElB,OAAI,CAACR,EAAYS,CAAK,GAAKT,EAAYS,CAAK,EAAE,QAAU,KACtDC,EAAUD,CAAK,EAAI,uBAGdC,CACT,EAAG,CAAC,CAAC,EAEL,GAAIV,EAAY,IACd,GAAI,IACG,MAAoBA,EAAY,GAAG,IACtCO,EAAO,IAAM,8CAEjB,MAAY,CACVA,EAAO,IAAM,aACf,CAGqB,OAAO,KAAKD,CAAgB,EAChD,OAAO,CAACE,EAAKG,IAAgBH,EAAMF,EAAiBK,CAAW,EAAE,OAAQ,CAAC,GAAK,IAGhFJ,EAAO,UAAY,+BAGrB,KAAK,SAAS,CAAE,OAAAA,CAAO,CAAC,CAC1B,CAAC,EAED,oBAAcK,GAAU,CACtB,KAAK,aAAaA,EAAM,OAAO,QAAM,MAAkBA,EAAM,MAAM,CAAC,CACtE,CAAC,EAED,wBAAkBd,GAAS,CACzB,KAAK,SAAUe,IAAe,CAC5B,QAAS,CACP,GAAGA,EAAU,QACb,CAACf,CAAI,EAAG,GACR,UAAW,EACb,CACF,GAAI,KAAK,SAAS,CACpB,CAAC,EAED,gBAAUA,GAAU,KAAK,MAAM,QAAQA,CAAI,EAAI,KAAK,MAAM,OAAOA,CAAI,EAAI,QAEzE,gCAA0BH,GAAW,CACnC,KAAM,CAAE,iBAAAW,EAAkB,cAAAL,CAAc,EAAI,KAAK,MAC3Ca,EAAWnB,EAAO,KAAK,KACvBQ,EAAe,IAAUG,CAAgB,EAE/CH,EAAaW,CAAQ,EAAKX,EAAaW,CAAQ,GAAK,CAAC,EACrD,MAAMC,EAAQZ,EAAaW,CAAQ,EAAE,UAAWE,GAAMA,EAAE,KAAOrB,EAAO,EAAE,EAEpEoB,EAAQ,EACVZ,EAAaW,CAAQ,EAAE,KAAKnB,CAAM,EAElCQ,EAAaW,CAAQ,EAAE,OAAOC,EAAO,CAAC,EAGxC,KAAK,eAAe,WAAW,EAC/B,KAAK,UAAUZ,CAAY,EAC3BF,EAAc,CAAE,iBAAkBE,CAAa,CAAC,CAClD,CAAC,EAED,+BAAyBc,GAAS,CAChC,KAAM,CAAE,iBAAAX,EAAkB,SAAAY,EAAU,cAAAjB,CAAc,EAAI,KAAK,MACrD,CAAE,WAAAkB,EAAY,iBAAAC,CAAiB,EAAI,KAAK,MAExCjB,EAAe,IAAUG,CAAgB,EAE3Ca,EACEhB,EAAac,CAAI,EACnBd,EAAac,CAAI,EAAI,CAAC,GAAGd,EAAac,CAAI,EAAG,GAAGG,EAAiBH,CAAI,CAAC,EAEtEd,EAAac,CAAI,EAAIG,EAAiBH,CAAI,EAEnC,KAAK,iBAAiBA,CAAI,EACnCd,EAAac,CAAI,EAAI,CAAC,EAEtBd,EAAac,CAAI,EAAIC,EAASD,CAAI,EAGpC,KAAK,eAAe,WAAW,EAC/B,KAAK,UAAUd,CAAY,EAC3BF,EAAc,CAAE,iBAAkBE,CAAa,CAAC,CAClD,CAAC,EAED,yBAAmBc,GAAS,CAC1B,KAAM,CAAE,iBAAAX,EAAkB,SAAAY,CAAS,EAAI,KAAK,MAE5C,OAAKZ,EAAiBW,CAAI,EAInB,EAAEX,EAAiBW,CAAI,EAAE,SAAWC,EAASD,CAAI,EAAE,QACpDX,EAAiBW,CAAI,EAAE,SAAW,GAJ/B,EAKX,CAAC,EAED,qBAAetB,GAAW,CACxB,KAAM,CAAE,iBAAAW,CAAiB,EAAI,KAAK,MAC5BQ,EAAWnB,EAAO,KAAK,KAE7B,OAAKW,EAAiBQ,CAAQ,EAIvBR,EAAiBQ,CAAQ,EAAE,UAAWE,GAAMA,EAAE,KAAOrB,EAAO,EAAE,GAAK,EAHjE,EAIX,CAAC,EAED,0BAAoBsB,GAAS,CAC3B,KAAM,CAAE,iBAAAX,EAAkB,SAAAY,CAAS,EAAI,KAAK,MAE5C,OAAKZ,EAAiBW,CAAI,EAInBX,EAAiBW,CAAI,EAAE,SAAWC,EAASD,CAAI,EAAE,OAH/C,EAIX,CAAC,EAED,sBAAgBI,GAAW,CACzB,KAAK,gBAAgBA,CAAM,CAC7B,CAAC,EAED,wBAAiB,IAAM,CACrB,KAAK,gBAAgB,EAAE,CACzB,CAAC,EAED,yBAAmBC,GAAc,CAC/B,KAAM,CAAE,SAAAJ,CAAS,EAAI,KAAK,MACpBG,EAASC,EAEf,GAAID,EAAO,QAAU,EAAG,CACtB,KAAK,SAAS,CAAE,iBAAkB,IAAUH,CAAQ,EAAG,WAAY,GAAO,OAAAG,CAAe,CAAC,EAE1F,MACF,CAEA,MAAME,EAAW,OAAO,KAAKL,CAAQ,EAAE,OAAO,CAACM,EAAQP,IAAS,CAC9D,MAAMG,EAAmB,IAAUI,CAAM,EAEzC,OAAAJ,EAAiBH,CAAI,EAAIC,EAASD,CAAI,EAAE,OAAQtB,GAC/B,OAAO0B,EAAQ,GAAG,EAEnB,KAAK1B,EAAO,KAAK,CAChC,EAEMyB,CACT,EAAG,CAAC,CAAC,EAEL,KAAK,SAAS,CAAE,iBAAkBG,EAAU,WAAY,GAAM,OAAAF,CAAe,CAAC,CAChF,CAAC,EA3LC,KAAM,CAAE,SAAAH,EAAU,YAAAlB,CAAY,EAAI,KAAK,MAEvC,KAAK,MAAQ,CACX,YAAAA,EACA,iBAAkBkB,EAClB,OAAQ,GACR,WAAY,GACZ,OAAQ,CAAC,EACT,QAAS,CAAC,CACZ,CACF,CAnBA,OAAO,gBAAgBO,EAAO,CAC5B,MAAMC,EAAWD,EAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAE1C,OAAOC,EAAS,CAAC,EAAE,YAAY,EAAIA,EAAS,OAAO,CAAC,CACtD,CAiBA,iCAAiCC,EAAW,CAC1C,KAAK,SAAS,CAAE,iBAAkBA,EAAU,SAAU,YAAaA,EAAU,WAAY,CAAC,EAC1F,KAAM,CAAE,OAAAN,EAAQ,WAAAF,CAAW,EAAI,KAAK,MAEhCA,GACF,KAAK,gBAAgBE,CAAM,CAE/B,CA0KA,QAAS,CACP,KAAM,CAAE,iBAAAD,EAAmB,CAAC,EAAG,OAAAb,EAAQ,QAAAqB,EAAS,WAAAT,EAAY,YAAAnB,CAAY,EAAI,KAAK,MAC3E,CAAE,KAAA6B,CAAK,EAAI,KAAK,MAEhBC,EAAoB,OAAO,KAAKV,CAAgB,EACnD,KAAK,CAACW,EAAGC,OAAM,KAAYD,EAAGC,CAAC,CAAC,EAChC,IAAKC,GAAe,CACnB,MAAMC,EAAQd,EAAiBa,CAAU,EACnCf,EAAWgB,EAAM,KAAK,CAACH,EAAGC,OAAM,KAAYD,EAAE,MAAOC,EAAE,KAAK,CAAC,EAAE,IAAKrC,GAAW,CACnF,MAAMwC,EAAU,KAAK,YAAYxC,CAAM,EACjCyC,EAAS1C,GAAkBC,CAAM,EAEvC,OACE,gBAAC,MAAmB,SAAU,IAAM,KAAK,uBAAuBA,CAAM,EAClD,IAAKA,EAAO,GACZ,QAAAwC,EACA,WAAY,GACZ,OAAQ,GACR,OAAAC,CAAA,CAAgB,CAExC,CAAC,EAED,OAAIF,EAAM,QAAU,EACX,KAIP,gBAAC,MAAmB,IAAKD,EACL,SAAU,IAAM,KAAK,sBAAsBA,CAAU,EACrD,aAAc,KAAK,gBAAgBA,CAAU,EAC7C,QAAS,KAAK,iBAAiBA,CAAU,EACzC,aAAcd,EACd,SAAUA,EACV,OAAQ,GACR,OAAQ,GAAqB,gBAAgBc,CAAU,GACzE,gBAAC,KAAc,KACZf,CACH,CACF,CAEJ,CAAC,EAEH,OACE,gBAAC,WACC,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,SAAU,EAAG,GAAI,GACpB,gBAAC,UAAG,qBAAmB,EACvB,gBAAC,SAAG,EACJ,gBAAC,QAAK,UAAU,yBAAyB,GAAG,yBAAyB,SAAWF,GAAM,CAAEA,EAAE,eAAe,CAAG,GAC1G,gBAAC,gBACC,gBAAC,SAAM,KAAK,OACL,GAAG,OACH,KAAK,OACL,UAAW,IACX,MAAOhB,EAAY,KACnB,SAAU,KAAK,WACf,OAAQ,IAAM,KAAK,eAAe,MAAM,EACxC,MAAM,OACN,KAAK,2DACL,MAAO,KAAK,OAAO,MAAM,EACzB,SAAQ,GAAC,EAChB,gBAAC,SAAM,KAAK,UACL,GAAG,UACH,KAAK,OACL,UAAW,IACX,MAAOA,EAAY,QACnB,SAAU,KAAK,WACf,OAAQ,IAAM,KAAK,eAAe,SAAS,EAC3C,MAAM,UACN,KAAK,sDACL,MAAO,KAAK,OAAO,SAAS,EAC5B,SAAQ,GAAC,EAChB,gBAAC,SAAM,KAAK,cACL,GAAG,cACH,KAAK,WACL,MAAOA,EAAY,YACnB,SAAU,KAAK,WACf,OAAQ,IAAM,KAAK,eAAe,aAAa,EAC/C,KAAM,EACN,MAAM,cACN,KAAK,2DAA2D,EACvE,gBAAC,SAAM,KAAK,SACL,GAAG,SACH,KAAK,OACL,UAAW,IACX,MAAOA,EAAY,OACnB,SAAU,KAAK,WACf,OAAQ,IAAM,KAAK,eAAe,QAAQ,EAC1C,MAAM,SACN,KAAK,wFACL,MAAO,KAAK,OAAO,QAAQ,EAC3B,SAAQ,GAAC,EAChB,gBAAC,SAAM,KAAK,MACL,GAAG,MACH,KAAK,OACL,UAAW,IACX,MAAOA,EAAY,IACnB,SAAU,KAAK,WACf,OAAQ,IAAM,KAAK,eAAe,KAAK,EACvC,MAAM,MACN,KAAK,qDACL,MAAO,KAAK,OAAO,KAAK,EAAG,CACpC,CACF,CACF,CACF,EACA,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,SAAU,EAAG,GAAI,GACpB,gBAAC,UAAG,wBAAsB,EACzB6B,GACD,gBAAC,YAAS,KAAC,8DAA2D,gBAAC,KAAI,CAAC,KAAK,QAAS,GAAE,wDAC1C,gBAAC,KAAI,CAAC,KAAK,UAAU,UAAW,EAAM,kBAAmB,EAAE,IAC7G,CAEF,CACF,EACA,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,SAAU,EAAG,GAAI,GACpB,gBAAC,MAAW,GAAG,eACH,SAAU,KAAK,aACf,QAAS,KAAK,eAAgB,CAC5C,CACF,EACA,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,SAAU,EAAG,GAAI,EAAG,GAAI,GAC1BD,EAAQ,WAAarB,EAAO,WAAa,gBAAC8B,EAAA,EAAgB,CAAC,MAAO9B,EAAO,UAAW,EACrF,gBAAC,KAAc,KACZuB,CACH,CACF,CACF,CACF,CAEJ,CACF,EA3VE,EADI,EACG,YAAY,CACjB,YAAa,WAAiB,WAC9B,cAAe,SACf,SAAU,WACV,iBAAkB,WAClB,KAAM,QACR,CAAC,EAED,EATI,EASG,eAAe,CACpB,KAAM,GACN,cAAe,IAAM,CAAC,EACtB,SAAU,CAAC,EACX,iBAAkB,CAAC,CACrB,CAAC,EAgVH,SA9VA,E,qOCtBA,MAAMQ,UAA2B,WAAgB,CAU/C,iBAAkB,CAEhB,MAAMC,EAAO,iCADc,mBAAmB,KAAK,UAAU,KAAK,MAAM,YAAa,KAAM,CAAC,CAAC,CAC7B,GAC1DC,EAAW,gBAAgB,KAAK,MAAM,YAAY,EAAE,IAAI,KAAK,MAAM,YAAY,GAAG,QAExF,OACE,gBAAC,KAAE,SAAUA,EAAU,KAAAD,CAAA,EACrB,gBAAC,SAAM,CAAC,GAAG,WAAW,QAAQ,OAAO,QAAS,KAAK,MAAM,QAAQ,qBAEjE,CACF,CAEJ,CAEA,QAAS,CACP,OACE,gBAAC,WACC,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,GAAI,GACP,gBAACE,EAAA,EAAkB,CAAC,YAAa,KAAK,MAAM,YAAa,CAC3D,EACA,gBAAC,MAAG,CAAC,GAAI,GACP,gBAACC,GAAA,EAAsB,CAAC,YAAa,KAAK,MAAM,YAAY,YAAa,YAAW,GAAC,EACrF,gBAACC,EAAA,EAAuB,CAAC,YAAa,KAAK,MAAM,YAAa,SAAQ,GAAC,EACvE,gBAACC,EAAA,EAAwB,CAAC,YAAa,KAAK,MAAM,YAAa,SAAQ,GAAC,CAC1E,CACF,EACA,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,GAAI,GACP,gBAAC,SAAM,CAAC,GAAG,SAAS,QAAQ,UAAU,QAAS,KAAK,MAAM,QAAQ,QAAM,EAAS,OAChF,KAAK,gBAAgB,CACxB,CACF,CACF,CAEJ,CACF,CA7CE,EADIN,EACG,YAAY,CACjB,YAAa,WAAiB,WAC9B,OAAQ,QACV,CAAC,EAED,EANIA,EAMG,eAAe,CACpB,OAAQ,IAAM,CAAC,CACjB,CAAC,EAwCH,SAAeA,E,gNChDf,MAAMO,UAA8B,WAAgB,CAmBlD,YAAYhD,EAAO,CACjB,MAAMA,CAAK,EAQb,0BAAmB,CAACiD,EAAcC,IAAiB,CACjD,IAAIC,EAAwB,KAAK,MAAM,YAAY,UAAU,EAC7D,MAAMC,EAAsBC,EAAA,EAAY,MAAM,KAAK,MAAM,gBAAgB,EAErEH,IAEF,OAAO,KAAKE,CAAmB,EAAE,QAASE,GAAO,CAC/CF,EAAoBE,CAAE,EAAIF,EAAoBE,CAAE,EAAE,IAAKC,GACjDA,EAAS,YAAcL,EAAa,KAC/B,CAAE,UAAWK,EAAS,UAAW,UAAWN,EAAa,IAAK,EAGhEM,CACR,CACH,CAAC,EAGDJ,EAAwBA,EAAsB,gBAAgBD,CAAY,GAG5EC,EAAsB,aAAaF,CAAY,EAC/C,KAAK,MAAM,cAAc,CAAE,YAAaE,EAAsB,MAAM,EAAG,iBAAkBC,CAAoB,CAAC,CAChH,CAAC,EAED,2BAAoB,CAACE,EAAIE,EAAWC,IAAc,CAChD,MAAMF,EAAW,CAAE,UAAAC,EAAsB,UAAAC,CAAqB,EACxDL,EAAsBC,EAAA,EAAY,MAAM,KAAK,MAAM,gBAAgB,EAEzED,EAAoBE,CAAE,EAAIF,EAAoBE,CAAE,GAAK,CAAC,EACtDF,EAAoBE,CAAE,EAAE,KAAKC,CAAQ,EACrC,KAAK,MAAM,cAAc,CAAE,iBAAkBH,CAAoB,CAAC,CACpE,CAAC,EAED,2BAAoB,CAACE,EAAIE,IAAc,CACrC,MAAMJ,EAAsBC,EAAA,EAAY,MAAM,KAAK,MAAM,gBAAgB,EAEzE,KAAOD,EAAoBE,CAAE,EAAIC,GAAaA,EAAS,YAAcC,CAAS,EAC9E,KAAK,MAAM,cAAc,CAAE,iBAAkBJ,CAAoB,CAAC,CACpE,CAAC,EAED,0BAAoBM,GAAc,CAChC,KAAM,CAAE,YAAAvD,CAAY,EAAI,KAAK,MACvBiD,EAAsBC,EAAA,EAAY,MAAM,KAAK,MAAM,gBAAgB,EAGzE,OAAO,KAAKD,CAAmB,EAAE,QAASE,GAAO,CAC/C,KAAOF,EAAoBE,CAAE,EAAIC,GAAaA,EAAS,YAAcG,EAAU,IAAI,EAE/EN,EAAoBE,CAAE,EAAE,QAAU,GACpC,OAAOF,EAAoBE,CAAE,CAEjC,CAAC,EAED,MAAMK,EAAiBxD,EAAY,UAAU,EAAE,gBAAgBuD,CAAS,EAAE,MAAM,EAEhF,KAAK,MAAM,cAAc,CAAE,YAAaC,EAAgB,iBAAkBP,CAAoB,CAAC,EAC/F,KAAK,mBAAmB,CAC1B,CAAC,EAED,4BAAqB,IACnB,gBAAC,yBAAsB,UAAW,KAAK,MAAM,mBACtB,MAAM,mBACN,UAAW,IAAM,CAAE,KAAK,iBAAiB,KAAK,MAAM,iBAAiB,CAAG,EACxE,SAAU,KAAK,oBACnC,uDAAuD,KAAK,MAAM,mBAAqB,CAAC,GAAG,KAAK,GACnG,GAGF,2BAAqBM,GAAc,CACjC,KAAK,SAAS,CAAE,mBAAoB,GAAM,kBAAmBA,CAAU,CAAC,CAC1E,CAAC,EAED,4BAAqB,IAAM,CACzB,KAAK,SAAS,CAAE,mBAAoB,GAAO,kBAAmB,MAAU,CAAC,CAC3E,CAAC,EAhFC,KAAK,MAAQ,CACX,mBAAoB,GACpB,kBAAmB,MACrB,CACF,CA8EA,QAAS,CACP,OACE,gBAAC,WACC,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,SAAU,EAAG,GAAI,GACpB,gBAACX,EAAA,GAAyB,YAAa,KAAK,MAAM,YACxB,eAAgB,KAAK,iBACrB,kBAAmB,KAAK,kBACxB,iBAAkB,KAAK,MAAM,iBAAkB,EACxE,KAAK,mBAAmB,CAC3B,CACF,EACA,gBAAC,MAAG,KACF,gBAAC,MAAG,CAAC,SAAU,EAAG,GAAI,GACpB,gBAACD,EAAA,GAAwB,YAAa,KAAK,MAAM,YACxB,iBAAkB,KAAK,kBACvB,iBAAkB,KAAK,kBACvB,iBAAkB,KAAK,MAAM,iBAAkB,CAC1E,CACF,CACF,CAEJ,CACF,CA9HE,EADIE,EACG,YAAY,CACjB,YAAa,WAAiB,WAC9B,cAAe,SACf,iBAAkB,WAAiB,UACrC,CAAC,EAED,EAPIA,EAOG,eAAe,CACpB,cAAe,IAAM,CAAC,CACxB,CAAC,EAED,EAXIA,EAWG,iBAAiB,CACtB,KAAM,GACN,MAAO,GACP,YAAa,GACb,KAAM,SACN,cAAe,EACjB,CAAC,EAgHH,SAAeA,E,oKChIf,MAAMY,UAAwB,WAAgB,CAyB5C,YAAY5D,EAAO,CACjB,MAAMA,CAAK,EA8Cb,sBAAgB6D,GAAiB,CAC/B,OAAQA,EAAc,CACpB,IAAK,aAAc,CACjB,MAAMF,EAAiB,KAAK,MAAM,YAAY,UAAU,EACrD,SAAS,KAAK,MAAM,iBAAmB,CAAC,CAAC,EACzC,MAAM,EAET,KAAK,MAAM,cAAc,CAAE,YAAaA,CAAe,CAAC,EAEpD,OAAO,KAAK,KAAK,MAAM,gBAAgB,EAAE,OAAS,GACpD,KAAK,MAAM,cAAc,KAAK,MAAM,gBAAgB,EAGtD,KACF,CAEA,IAAK,UAAW,CACd,KAAK,mBAAmB,EACxB,KACF,CAEA,QACE,KAEJ,CAEA,KAAK,SAAS,CAAE,aAAAE,CAA2B,CAAC,CAC9C,CAAC,EAvEC,KAAK,MAAQ,CACX,aAAc,WAChB,CACF,CAEA,oBAAqB,CACnB,MAAMC,EAAU,KAAK,MAAM,YACrB,CAAE,iBAAArD,CAAiB,EAAI,KAAK,MAC5BsD,EAAY,OAAO,KAAKtD,CAAgB,EAC3C,OAAO,CAACE,EAAKqD,IAAQrD,EAAMF,EAAiBuD,CAAG,EAAE,OAAQ,CAAC,EAAI,EAEjE,MAAO,EAAEF,EAAQ,MAAQA,EAAQ,SAAWA,EAAQ,QAAUC,EAChE,CAEA,iBAAkB,CAChB,OAAO,KAAK,MAAM,eAAiB,aAAe,CAAC,KAAK,MAAM,YAChE,CAEA,oBAAqB,CACnB,MAAME,EAAc,KAAK,MAAM,gBAAgB,IAAKnE,GAAW,CAC7D,MAAMoE,EAAa,KAAK,MAAM,iBAAiBpE,EAAO,EAAE,GAAK,CAAC,EACxDqE,EAAmBrE,EAAO,UAAU,EACpCsE,EAAa,IAAIC,EAAA,EAAmBvE,EAAO,IAAI,EAC/CwE,EAAcF,EAAW,SAAS,EAExC,cAAO,KAAKE,CAAW,EAAE,QAASC,GAAS,CACzC,MAAMrD,EAAQgD,EAAW,UAAWX,GAAaA,EAAS,YAAcgB,CAAI,EAExErD,GAAS,GACXoD,EAAYC,CAAI,EAAE,aAAaL,EAAWhD,CAAK,EAAE,SAAS,CAE9D,CAAC,EAEDiD,EAAiB,KAAKC,EAAW,QAAQ,CAAC,EAAE,WAAW,KAAK,MAAM,YAAY,UAAU,EAEjFD,EAAiB,MAAM,CAChC,CAAC,EACKR,EAAiB,KAAK,MAAM,YAAY,UAAU,EACrD,SAASM,CAAW,EACpB,MAAM,EAET,KAAK,MAAM,cAAc,CAAE,YAAaN,CAAe,CAAC,CAC1D,CA+BA,QAAS,CACP,GAAI,CAAC,KAAK,MAAM,YACd,OAAQ,gBAAC,KAAO,IAAC,EAGnB,MAAMa,EACJ,gBAAC,IAAqB,YAAa,KAAK,MAAM,YACxB,iBAAkB,KAAK,MAAM,iBAC7B,KAAM,KAAK,MAAM,KACjB,cAAe,KAAK,MAAM,cAC1B,SAAU,KAAK,MAAM,YAAa,EAEpDC,EACJ,gBAAC,IAAsB,YAAa,KAAK,MAAM,YACxB,cAAe,KAAK,MAAM,cAC1B,iBAAkB,KAAK,MAAM,iBAAkB,EAElEC,EACJ,gBAAC,IAAmB,YAAa,KAAK,MAAM,YACxB,OAAQ,KAAK,MAAM,OAAQ,EAE3CC,EAAQ,CACZ,CAAE,IAAK,YAAa,MAAO,oBAAqB,UAAWH,CAAmB,EAC9E,CAAE,IAAK,aAAc,MAAO,aAAc,UAAWC,EAAoB,SAAU,KAAK,mBAAmB,CAAE,EAC7G,CAAE,IAAK,UAAW,MAAO,UAAW,UAAWC,EAAkB,SAAU,KAAK,gBAAgB,CAAE,CACpG,EAEA,OACE,gBAAC,WACC,gBAAC,KAAM,CAAC,MAAAC,EAAc,aAAc,KAAK,aAAc,QAAO,IAC3D,KAAK,MAAM,eAAiB,UAC3B,gBAAC,KAAS,CAAC,kBAAmB,IAC5B,gBAAC,WACC,gBAAC/B,EAAA,EAAkB,CAAC,YAAa,KAAK,MAAM,YAAa,CAC3D,CACF,EACE,MACN,EACA,gBAAC,KAAY,CAAC,SAAS,QAAS,EAClC,CAEJ,CACF,CA9IE,EADIgB,EACG,YAAY,CACjB,YAAa,WACb,cAAe,SACf,cAAe,SACf,OAAQ,SACR,gBAAiB,UACjB,YAAa,WACb,iBAAkB,WAClB,iBAAkB,WAClB,KAAM,QACR,CAAC,EAED,EAbIA,EAaG,eAAe,CACpB,KAAM,GACN,YAAa,OACb,cAAe,IAAM,CAAC,EACtB,cAAe,IAAM,CAAC,EACtB,OAAQ,IAAM,CAAC,EACf,gBAAiB,CAAC,EAClB,YAAa,CAAC,EACd,iBAAkB,CAAC,EACnB,iBAAkB,CAAC,CACrB,CAAC,EA0HH,SAAeA,C,6KC1JA,MAAMgB,CAAY,CAC/B,YAAYtB,EAAI1B,EAAOR,EAAM,CAC3B,KAAK,OAAS,CAAE,GAAAkC,EAAI,MAAA1B,EAAO,KAAAR,CAAK,CAClC,CAEA,IAAI,IAAK,CACP,OAAO,KAAK,OAAO,EACrB,CAEA,IAAI,MAAO,CACT,OAAO,KAAK,OAAO,IACrB,CAEA,IAAI,OAAQ,CACV,OAAO,KAAK,OAAO,KACrB,CAEA,WAAY,CACV,KAAM,CAAE,GAAAkC,EAAI,MAAA1B,EAAO,KAAAR,CAAK,EAAI,KAAK,OAGjC,OAAO,IAAIyD,EAAQ,QAAc,CAAE,GAAAvB,EAAI,MAAA1B,EAAO,KAAAR,CAAK,CAAC,CAAC,CACvD,CAEA,OAAO,OAAOkC,EAAI1B,EAAOR,EAAM,CAC7B,OAAO,IAAIwD,EAAYtB,EAAI1B,EAAOR,CAAI,CACxC,CAEA,QAAS,CACP,KAAM,CAAE,GAAAkC,EAAI,KAAAlC,CAAK,EAAI,KAAK,OAE1B,MAAO,CACL,GAAAkC,EACA,KAAAlC,CACF,CACF,CAGA,IAAI,eAAgB,CAClB,MAAO,EACT,CAGA,OAAQ,OAAO,WAAW,EAAE0D,EAAK,CAC/B,MAAI,EAAAA,EAAI,aAKV,CAEA,OAAO,SAAS5E,EAAO,CACrB,KAAM,CAAE,GAAAoD,EAAI,MAAA1B,EAAO,KAAAR,CAAK,EAAIlB,EAE5B,OAAO0E,EAAY,OAAOtB,EAAI1B,EAAOR,CAAI,CAC3C,CACF,CAEA,MAAMyD,CAAQ,CACZ,YAAY3E,EAAQ,QAAc,EAAG,CACnC,KAAK,MAAQA,CACf,CAEA,GAAGA,EAAO,CACR,OAAO,IAAI2E,EAAQ,KAAK,MAAM,IAAI,KAAM3E,CAAK,CAAC,CAChD,CAEA,MAAMA,EAAO,CACX,OAAO,IAAI2E,EAAQ,KAAK,MAAM,IAAI,QAAS3E,CAAK,CAAC,CACnD,CAEA,KAAKA,EAAO,CACV,OAAO,IAAI2E,EAAQ,KAAK,MAAM,IAAI,OAAQ3E,CAAK,CAAC,CAClD,CAEA,OAAQ,CACN,KAAM,CAAE,GAAAoD,EAAI,MAAA1B,EAAO,KAAAR,CAAK,EAAI,KAAK,MAAM,SAAS,EAEhD,OAAO,IAAIwD,EAAYtB,EAAI1B,EAAOR,CAAI,CACxC,CACF,C,oBCzEO,MAAM2D,KAAiBC,EAAA,IAC5B,eACA,IAAM,kBAAqB,CACzB,gBAAiB,CAAE,YAAa,EAAK,EACrC,oBAAqB,CAAE,YAAa,EAAK,CAC3C,CAAC,CACH,EAEaC,KAAeD,EAAA,IAC1B,eACA,IAAM,gBAAmB,CACvB,YAAa,CAACD,CAAc,EAE5B,iBAAkB,CAChB,MAAO,CACL,YAAa,MACf,CACF,EAEA,iBAAkB,CAChB,MAAMG,EAAMC,EAAA,GAAoBC,EAAA,EAAU,mBAAmB,gBAAgB,EAAE,GAAG,EAC5EC,KAAU,MAAM,MAAOH,CAAG,EAC7B,KAAMvD,GAAW,CAChB,MAAM2D,EAAc,IAAQ3D,EAAO,SAAS,IAAKR,GAAMyD,EAAY,SAASzD,CAAC,CAAC,EAAG,WAAW,EAE5F,YAAK,QAAQ,CAAE,YAAAmE,CAAyB,CAAC,EAElC3D,CACT,CAAC,EAEHoD,EAAe,gBAAgB,QAAQM,CAAO,CAChD,EAEA,oBAAoBE,EAAmB,CACrC,MAAMC,EAAU,OAAO,KAAKD,CAAiB,EAAE,OAAO,CAAC5D,EAAQqC,IAAQrC,EAAO,OAAO4D,EAAkBvB,CAAG,EACvG,OAAQyB,GAAYA,aAAmBb,CAAW,EAClD,IAAK9E,GAAWA,EAAO,OAAO,CAAC,CAAC,EAAG,CAAC,CAAC,EAClCoF,EAAMC,EAAA,GAAoBC,EAAA,EAAU,mBAAmB,cAAc,EAAE,GAAG,EAC1EC,KAAU,MAAM,OAAQH,EAAK,CAAE,SAAUM,CAAQ,CAAC,EAExDT,EAAe,oBAAoB,QAAQM,CAAO,CACpD,CACF,CAAC,CACH,C","sources":["webpack://graylog-web-interface/./src/components/content-packs/ContentPackSelection.css","webpack://graylog-web-interface/./src/components/content-packs/ContentPackSelection.css?d7b2","webpack://graylog-web-interface/./src/components/content-packs/ContentPackSelection.jsx","webpack://graylog-web-interface/./src/components/content-packs/ContentPackPreview.jsx","webpack://graylog-web-interface/./src/components/content-packs/ContentPackParameters.jsx","webpack://graylog-web-interface/./src/components/content-packs/ContentPackEdit.jsx","webpack://graylog-web-interface/./src/logic/content-packs/EntityIndex.js","webpack://graylog-web-interface/./src/stores/content-packs/CatalogStore.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.px9Gw1DZOqXRLhrnJC1w {\n color: rgba(158, 31, 99, 0.43);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/content-packs/ContentPackSelection.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;AAClC\",\"sourcesContent\":[\":local(.contentPackEntity) {\\n color: rgba(158, 31, 99, 0.43);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"contentPackEntity\": `px9Gw1DZOqXRLhrnJC1w`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./ContentPackSelection.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./ContentPackSelection.css\";\n export default content && content.locals ? content.locals : undefined;\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 cloneDeep from 'lodash/cloneDeep';\nimport styled from 'styled-components';\n\nimport { defaultCompare as naturalSort } from 'logic/DefaultCompare';\nimport { ExpandableList, ExpandableListItem, Icon, SearchForm } from 'components/common';\nimport { Col, HelpBlock, Row, Input } from 'components/bootstrap';\nimport { getValueFromInput } from 'util/FormsUtils';\nimport Entity from 'logic/content-packs/Entity';\nimport { hasAcceptedProtocol } from 'util/URLUtils';\nimport InputDescription from 'components/common/InputDescription';\n\nimport style from './ContentPackSelection.css';\n\nconst HeaderText = styled.span`\n overflow-wrap: anywhere;\n`;\n\nconst HeaderIcon = styled(Icon)(({ theme }) => `\n padding-top: ${theme.spacings.xxs};\n padding-right: ${theme.spacings.xxs};\n`);\n\nconst _entityItemHeader = (entity) => {\n if (entity instanceof Entity) {\n return <> {' '}{entity.title}>;\n }\n\n return <> {' '}{entity.title} >;\n};\n\nclass ContentPackSelection extends React.Component {\n static propTypes = {\n contentPack: PropTypes.object.isRequired,\n onStateChange: PropTypes.func,\n entities: PropTypes.object,\n selectedEntities: PropTypes.object,\n edit: PropTypes.bool,\n };\n\n static defaultProps = {\n edit: false,\n onStateChange: () => {},\n entities: {},\n selectedEntities: {},\n };\n\n static _toDisplayTitle(title) {\n const newTitle = title.split('_').join(' ');\n\n return newTitle[0].toUpperCase() + newTitle.substr(1);\n }\n\n constructor(props) {\n super(props);\n\n const { entities, contentPack } = this.props;\n\n this.state = {\n contentPack: contentPack,\n filteredEntities: entities,\n filter: '',\n isFiltered: false,\n errors: {},\n touched: {},\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ filteredEntities: nextProps.entities, contentPack: nextProps.contentPack });\n const { filter, isFiltered } = this.state;\n\n if (isFiltered) {\n this._filterEntities(filter);\n }\n }\n\n _updateField = (name, value) => {\n const { contentPack } = this.state;\n const { onStateChange } = this.props;\n const updatedPack = contentPack.toBuilder()[name](value).build();\n\n onStateChange({ contentPack: updatedPack });\n this.setState({ contentPack: updatedPack }, this._validate);\n };\n\n _validate = (newSelection) => {\n const mandatoryFields = ['name', 'summary', 'vendor'];\n const { contentPack } = this.state;\n const { selectedEntities: prevSelectedEntities } = this.props;\n const selectedEntities = newSelection || prevSelectedEntities;\n\n const errors = mandatoryFields.reduce((acc, field) => {\n const newErrors = acc;\n\n if (!contentPack[field] || contentPack[field].length <= 0) {\n newErrors[field] = 'Must be filled out.';\n }\n\n return newErrors;\n }, {});\n\n if (contentPack.url) {\n try {\n if (!hasAcceptedProtocol(contentPack.url)) {\n errors.url = 'Must use a URL starting with http or https.';\n }\n } catch (e) {\n errors.url = 'Invalid URL';\n }\n }\n\n const selectionEmpty = Object.keys(selectedEntities)\n .reduce((acc, entityGroup) => acc + selectedEntities[entityGroup].length, 0) <= 0;\n\n if (selectionEmpty) {\n errors.selection = 'Select at least one entity.';\n }\n\n this.setState({ errors });\n };\n\n _bindValue = (event) => {\n this._updateField(event.target.name, getValueFromInput(event.target));\n };\n\n _handleTouched = (name) => {\n this.setState((prevState) => ({\n touched: {\n ...prevState.touched,\n [name]: true,\n selection: true,\n },\n }), this._validate);\n };\n\n _error = (name) => (this.state.touched[name] ? this.state.errors[name] : undefined);\n\n _updateSelectionEntity = (entity) => {\n const { selectedEntities, onStateChange } = this.props;\n const typeName = entity.type.name;\n const newSelection = cloneDeep(selectedEntities);\n\n newSelection[typeName] = (newSelection[typeName] || []);\n const index = newSelection[typeName].findIndex((e) => e.id === entity.id);\n\n if (index < 0) {\n newSelection[typeName].push(entity);\n } else {\n newSelection[typeName].splice(index, 1);\n }\n\n this._handleTouched('selection');\n this._validate(newSelection);\n onStateChange({ selectedEntities: newSelection });\n };\n\n _updateSelectionGroup = (type) => {\n const { selectedEntities, entities, onStateChange } = this.props;\n const { isFiltered, filteredEntities } = this.state;\n\n const newSelection = cloneDeep(selectedEntities);\n\n if (isFiltered) {\n if (newSelection[type]) {\n newSelection[type] = [...newSelection[type], ...filteredEntities[type]];\n } else {\n newSelection[type] = filteredEntities[type];\n }\n } else if (this._isGroupSelected(type)) {\n newSelection[type] = [];\n } else {\n newSelection[type] = entities[type];\n }\n\n this._handleTouched('selection');\n this._validate(newSelection);\n onStateChange({ selectedEntities: newSelection });\n };\n\n _isUndetermined = (type) => {\n const { selectedEntities, entities } = this.props;\n\n if (!selectedEntities[type]) {\n return false;\n }\n\n return !(selectedEntities[type].length === entities[type].length\n || selectedEntities[type].length === 0);\n };\n\n _isSelected = (entity) => {\n const { selectedEntities } = this.props;\n const typeName = entity.type.name;\n\n if (!selectedEntities[typeName]) {\n return false;\n }\n\n return selectedEntities[typeName].findIndex((e) => e.id === entity.id) >= 0;\n };\n\n _isGroupSelected = (type) => {\n const { selectedEntities, entities } = this.props;\n\n if (!selectedEntities[type]) {\n return false;\n }\n\n return selectedEntities[type].length === entities[type].length;\n };\n\n _onSetFilter = (filter) => {\n this._filterEntities(filter);\n };\n\n _onClearFilter = () => {\n this._filterEntities('');\n };\n\n _filterEntities = (filterArg) => {\n const { entities } = this.props;\n const filter = filterArg;\n\n if (filter.length <= 0) {\n this.setState({ filteredEntities: cloneDeep(entities), isFiltered: false, filter: filter });\n\n return;\n }\n\n const filtered = Object.keys(entities).reduce((result, type) => {\n const filteredEntities = cloneDeep(result);\n\n filteredEntities[type] = entities[type].filter((entity) => {\n const regexp = RegExp(filter, 'i');\n\n return regexp.test(entity.title);\n });\n\n return filteredEntities;\n }, {});\n\n this.setState({ filteredEntities: filtered, isFiltered: true, filter: filter });\n };\n\n render() {\n const { filteredEntities = {}, errors, touched, isFiltered, contentPack } = this.state;\n const { edit } = this.props;\n\n const entitiesComponent = Object.keys(filteredEntities)\n .sort((a, b) => naturalSort(a, b))\n .map((entityType) => {\n const group = filteredEntities[entityType];\n const entities = group.sort((a, b) => naturalSort(a.title, b.title)).map((entity) => {\n const checked = this._isSelected(entity);\n const header = _entityItemHeader(entity);\n\n return (\n this._updateSelectionEntity(entity)}\n key={entity.id}\n checked={checked}\n expandable={false}\n padded={false}\n header={header} />\n );\n });\n\n if (group.length <= 0) {\n return null;\n }\n\n return (\n this._updateSelectionGroup(entityType)}\n indetermined={this._isUndetermined(entityType)}\n checked={this._isGroupSelected(entityType)}\n stayExpanded={isFiltered}\n expanded={isFiltered}\n padded={false}\n header={ContentPackSelection._toDisplayTitle(entityType)}>\n \n {entities}\n \n \n );\n });\n\n return (\n \n \n \n General Information
\n
\n \n \n
\n \n \n Content Pack selection
\n {edit && (\n You can select between installed entities from the server ( ) or\n entities from the former content pack revision ( ).\n \n )}\n \n
\n \n \n \n \n
\n \n \n {touched.selection && errors.selection && }\n \n {entitiesComponent}\n \n \n
\n \n );\n }\n}\n\nexport default ContentPackSelection;\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';\n\nimport { Row, Col, Button } from 'components/bootstrap';\nimport ContentPackDetails from 'components/content-packs/ContentPackDetails';\nimport ContentPackConstraints from 'components/content-packs/ContentPackConstraints';\n\nimport ContentPackEntitiesList from './ContentPackEntitiesList';\nimport ContentPackParameterList from './ContentPackParameterList';\n\nclass ContentPackPreview extends React.Component {\n static propTypes = {\n contentPack: PropTypes.object.isRequired,\n onSave: PropTypes.func,\n };\n\n static defaultProps = {\n onSave: () => {},\n };\n\n _renderDownload() {\n const contentPackEncoded = encodeURIComponent(JSON.stringify(this.props.contentPack, null, 2));\n const href = `data:text/plain;charset=utf-8,${contentPackEncoded}`;\n const filename = `content-pack-${this.props.contentPack.id}-${this.props.contentPack.rev}.json`;\n\n return (\n \n \n \n );\n }\n\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {this._renderDownload()}\n \n
\n \n );\n }\n}\n\nexport default ContentPackPreview;\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 remove from 'lodash/remove';\n\nimport { Row, Col, BootstrapModalConfirm } from 'components/bootstrap';\nimport ObjectUtils from 'util/ObjectUtils';\n\nimport ContentPackEntitiesList from './ContentPackEntitiesList';\nimport ContentPackParameterList from './ContentPackParameterList';\n\nclass ContentPackParameters extends React.Component {\n static propTypes = {\n contentPack: PropTypes.object.isRequired,\n onStateChange: PropTypes.func,\n appliedParameter: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n onStateChange: () => {},\n };\n\n static emptyParameter = {\n name: '',\n title: '',\n description: '',\n type: 'string',\n default_value: '',\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showParameterModal: false,\n parameterToDelete: undefined,\n };\n }\n\n _addNewParameter = (newParameter, oldParameter) => {\n let newContentPackBuilder = this.props.contentPack.toBuilder();\n const newAppliedParameter = ObjectUtils.clone(this.props.appliedParameter);\n\n if (oldParameter) {\n /* If the name of the parameter changed we need to update the reference in appliedParameter */\n Object.keys(newAppliedParameter).forEach((id) => {\n newAppliedParameter[id] = newAppliedParameter[id].map((paramMap) => {\n if (paramMap.paramName === oldParameter.name) {\n return { configKey: paramMap.configKey, paramName: newParameter.name };\n }\n\n return paramMap;\n });\n });\n\n /* If we update a parameter we remove the old one first */\n newContentPackBuilder = newContentPackBuilder.removeParameter(oldParameter);\n }\n\n newContentPackBuilder.addParameter(newParameter);\n this.props.onStateChange({ contentPack: newContentPackBuilder.build(), appliedParameter: newAppliedParameter });\n };\n\n _onParameterApply = (id, configKey, paramName) => {\n const paramMap = { configKey: configKey, paramName: paramName };\n const newAppliedParameter = ObjectUtils.clone(this.props.appliedParameter);\n\n newAppliedParameter[id] = newAppliedParameter[id] || [];\n newAppliedParameter[id].push(paramMap);\n this.props.onStateChange({ appliedParameter: newAppliedParameter });\n };\n\n _onParameterClear = (id, configKey) => {\n const newAppliedParameter = ObjectUtils.clone(this.props.appliedParameter);\n\n remove(newAppliedParameter[id], (paramMap) => paramMap.configKey === configKey);\n this.props.onStateChange({ appliedParameter: newAppliedParameter });\n };\n\n _deleteParameter = (parameter) => {\n const { contentPack } = this.props;\n const newAppliedParameter = ObjectUtils.clone(this.props.appliedParameter);\n\n /* If we delete a parameter we need to remove the reference from appliedParameter */\n Object.keys(newAppliedParameter).forEach((id) => {\n remove(newAppliedParameter[id], (paramMap) => paramMap.paramName === parameter.name);\n\n if (newAppliedParameter[id].length <= 0) {\n delete newAppliedParameter[id];\n }\n });\n\n const newContentPack = contentPack.toBuilder().removeParameter(parameter).build();\n\n this.props.onStateChange({ contentPack: newContentPack, appliedParameter: newAppliedParameter });\n this._closeConfirmModal();\n };\n\n _confirmationModal = () => (\n { this._deleteParameter(this.state.parameterToDelete); }}\n onCancel={this._closeConfirmModal}>\n {`Are you sure you want to do delete this parameter: ${(this.state.parameterToDelete || {}).title}?`}\n \n );\n\n _openConfirmModal = (parameter) => {\n this.setState({ showParameterModal: true, parameterToDelete: parameter });\n };\n\n _closeConfirmModal = () => {\n this.setState({ showParameterModal: false, parameterToDelete: undefined });\n };\n\n render() {\n return (\n \n \n \n \n {this._confirmationModal()}\n \n
\n \n \n \n \n
\n \n );\n }\n}\n\nexport default ContentPackParameters;\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 { AutoAffix } from 'react-overlays';\n\nimport { Spinner, Wizard, ScrollButton } from 'components/common';\nimport ValueReferenceData from 'util/ValueReferenceData';\nimport ContentPackSelection from 'components/content-packs/ContentPackSelection';\nimport ContentPackDetails from 'components/content-packs/ContentPackDetails';\nimport ContentPackPreview from 'components/content-packs/ContentPackPreview';\nimport ContentPackParameters from 'components/content-packs/ContentPackParameters';\n\nclass ContentPackEdit extends React.Component {\n static propTypes = {\n contentPack: PropTypes.object,\n onGetEntities: PropTypes.func,\n onStateChange: PropTypes.func,\n onSave: PropTypes.func,\n fetchedEntities: PropTypes.array,\n entityIndex: PropTypes.object,\n selectedEntities: PropTypes.object,\n appliedParameter: PropTypes.object,\n edit: PropTypes.bool,\n };\n\n static defaultProps = {\n edit: false,\n contentPack: undefined,\n onGetEntities: () => {},\n onStateChange: () => {},\n onSave: () => {},\n fetchedEntities: [],\n entityIndex: {},\n selectedEntities: {},\n appliedParameter: {},\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n selectedStep: 'selection',\n };\n }\n\n _disableParameters() {\n const content = this.props.contentPack;\n const { selectedEntities } = this.props;\n const selection = Object.keys(selectedEntities)\n .reduce((acc, key) => acc + selectedEntities[key].length, 0) > 0;\n\n return !(content.name && content.summary && content.vendor && selection);\n }\n\n _disablePreview() {\n return this.state.selectedStep === 'selection' || !this.state.selectedStep;\n }\n\n _prepareForPreview() {\n const newEntities = this.props.fetchedEntities.map((entity) => {\n const parameters = this.props.appliedParameter[entity.id] || [];\n const newEntityBuilder = entity.toBuilder();\n const entityData = new ValueReferenceData(entity.data);\n const configPaths = entityData.getPaths();\n\n Object.keys(configPaths).forEach((path) => {\n const index = parameters.findIndex((paramMap) => paramMap.configKey === path);\n\n if (index >= 0) {\n configPaths[path].setParameter(parameters[index].paramName);\n }\n });\n\n newEntityBuilder.data(entityData.getData()).parameters(this.props.contentPack.parameters);\n\n return newEntityBuilder.build();\n });\n const newContentPack = this.props.contentPack.toBuilder()\n .entities(newEntities)\n .build();\n\n this.props.onStateChange({ contentPack: newContentPack });\n }\n\n _stepChanged = (selectedStep) => {\n switch (selectedStep) {\n case 'parameters': {\n const newContentPack = this.props.contentPack.toBuilder()\n .entities(this.props.fetchedEntities || [])\n .build();\n\n this.props.onStateChange({ contentPack: newContentPack });\n\n if (Object.keys(this.props.selectedEntities).length > 0) {\n this.props.onGetEntities(this.props.selectedEntities);\n }\n\n break;\n }\n\n case 'preview': {\n this._prepareForPreview();\n break;\n }\n\n default: {\n break;\n }\n }\n\n this.setState({ selectedStep: selectedStep });\n };\n\n render() {\n if (!this.props.contentPack) {\n return ( );\n }\n\n const selectionComponent = (\n \n );\n const parameterComponent = (\n \n );\n const previewComponent = (\n \n );\n const steps = [\n { key: 'selection', title: 'Content Selection', component: selectionComponent },\n { key: 'parameters', title: 'Parameters', component: parameterComponent, disabled: this._disableParameters() },\n { key: 'preview', title: 'Preview', component: previewComponent, disabled: this._disablePreview() },\n ];\n\n return (\n \n \n {this.state.selectedStep !== 'preview' ? (\n \n \n \n \n \n ) : undefined}\n \n \n \n );\n }\n}\n\nexport default ContentPackEdit;\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 Immutable from 'immutable';\n\nexport default class EntityIndex {\n constructor(id, title, type) {\n this._value = { id, title, type };\n }\n\n get id() {\n return this._value.id;\n }\n\n get type() {\n return this._value.type;\n }\n\n get title() {\n return this._value.title;\n }\n\n toBuilder() {\n const { id, title, type } = this._value;\n\n // eslint-disable-next-line no-use-before-define\n return new Builder(Immutable.Map({ id, title, type }));\n }\n\n static create(id, title, type) {\n return new EntityIndex(id, title, type);\n }\n\n toJSON() {\n const { id, type } = this._value;\n\n return {\n id,\n type,\n };\n }\n\n /* eslint-disable-next-line class-methods-use-this */\n get isEntityIndex() {\n return true;\n }\n\n /* implement custom instanceof */\n static [Symbol.hasInstance](obj) {\n if (obj.isEntityIndex) {\n return true;\n }\n\n return false;\n }\n\n static fromJSON(value) {\n const { id, title, type } = value;\n\n return EntityIndex.create(id, title, type);\n }\n}\n\nclass Builder {\n constructor(value = Immutable.Map()) {\n this.value = value;\n }\n\n id(value) {\n return new Builder(this.value.set('id', value));\n }\n\n title(value) {\n return new Builder(this.value.set('title', value));\n }\n\n type(value) {\n return new Builder(this.value.set('type', value));\n }\n\n build() {\n const { id, title, type } = this.value.toObject();\n\n return new EntityIndex(id, title, type);\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 groupBy from 'lodash/groupBy';\n\nimport * as URLUtils from 'util/URLUtils';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport fetch from 'logic/rest/FetchProvider';\nimport EntityIndex from 'logic/content-packs/EntityIndex';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const CatalogActions = singletonActions(\n 'core.Catalog',\n () => Reflux.createActions({\n showEntityIndex: { asyncResult: true },\n getSelectedEntities: { asyncResult: true },\n }),\n);\n\nexport const CatalogStore = singletonStore(\n 'core.Catalog',\n () => Reflux.createStore({\n listenables: [CatalogActions],\n\n getInitialState() {\n return {\n entityIndex: undefined,\n };\n },\n\n showEntityIndex() {\n const url = URLUtils.qualifyUrl(ApiRoutes.CatalogsController.showEntityIndex().url);\n const promise = fetch('GET', url)\n .then((result) => {\n const entityIndex = groupBy(result.entities.map((e) => EntityIndex.fromJSON(e)), 'type.name');\n\n this.trigger({ entityIndex: entityIndex });\n\n return result;\n });\n\n CatalogActions.showEntityIndex.promise(promise);\n },\n\n getSelectedEntities(requestedEntities) {\n const payload = Object.keys(requestedEntities).reduce((result, key) => result.concat(requestedEntities[key]\n .filter((entitiy) => entitiy instanceof EntityIndex)\n .map((entity) => entity.toJSON())), []);\n const url = URLUtils.qualifyUrl(ApiRoutes.CatalogsController.queryEntities().url);\n const promise = fetch('POST', url, { entities: payload });\n\n CatalogActions.getSelectedEntities.promise(promise);\n },\n }),\n);\n"],"names":["___CSS_LOADER_EXPORT___","module","options","update","HeaderText","HeaderIcon","theme","_entityItemHeader","entity","Entity","props","name","value","contentPack","onStateChange","updatedPack","newSelection","mandatoryFields","prevSelectedEntities","selectedEntities","errors","acc","field","newErrors","entityGroup","event","prevState","typeName","index","e","type","entities","isFiltered","filteredEntities","filter","filterArg","filtered","result","title","newTitle","nextProps","touched","edit","entitiesComponent","a","b","entityType","group","checked","header","InputDescription","ContentPackPreview","href","filename","ContentPackDetails","ContentPackConstraints","ContentPackEntitiesList","ContentPackParameterList","ContentPackParameters","newParameter","oldParameter","newContentPackBuilder","newAppliedParameter","ObjectUtils","id","paramMap","configKey","paramName","parameter","newContentPack","ContentPackEdit","selectedStep","content","selection","key","newEntities","parameters","newEntityBuilder","entityData","ValueReferenceData","configPaths","path","selectionComponent","parameterComponent","previewComponent","steps","EntityIndex","Builder","obj","CatalogActions","singleton","CatalogStore","url","URLUtils","ApiRoutes","promise","entityIndex","requestedEntities","payload","entitiy"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy