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

web-interface.assets.325e2d4b-1442.e2649d24a0a94d2d487f.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.2
Show newest version
{"version":3,"file":"325e2d4b-1442.e2649d24a0a94d2d487f.js","mappings":"kfAuBA,MAAMA,UAA2BC,EAAAA,UAS/BC,YAAYC,GACVC,MAAMD,GADW,gCAQK,KACtBE,KAAKC,UAAS,QAAC,kBAAEC,GAAH,QAA4B,CAAEA,mBAAoBA,EAAlD,GAAd,IANAF,KAAKG,MAAQ,CACXD,mBAAmB,EAEtB,CAMDE,SACE,IAAIC,EAEJ,GAAIL,KAAKG,MAAMD,kBAAmB,CAEhC,MAAMI,EAAwB,gBAACC,EAAA,EAAD,CAA8BC,UAAU,GAAGC,QAAS,CAAC,IAEnFJ,EACE,uBAAKK,UAAU,iBACb,gBAACC,EAAA,EAAD,CAAYC,gBAAiBZ,KAAKF,MAAMe,QAASC,mBAAoBR,IAG1E,CAED,OACE,gBAAC,KAAD,CAAKI,UAAU,WACb,gBAAC,KAAD,CAAKK,GAAI,IACP,sBAAIC,MAAO,CAAEC,aAAc,IAA3B,iBAEA,0MAIA,yBACE,gBAAC,KAAD,CAAQC,QAAQ,UAAUC,OAAO,QAAQC,QAASpB,KAAKqB,sBAAuBC,SAAUtB,KAAKG,MAAMD,mBAAnG,qBAKDG,GAIR,E,EAtDGV,EAAAA,YACe,CACjBkB,QAASU,IAAAA,S,EAFP5B,EAAAA,eAKkB,CACpBkB,aAASW,IAmDb,U,qOCrDA,MAAMC,EAAgB,QAAC,OAAEC,GAAH,SACpB,sBAAIhB,UAAU,2BACZ,8CACA,0BAAKiB,IAAQD,EAAO,oBAAoBE,OAAO,YAA/C,MAEA,8CACA,0BAAKD,IAAQD,EAAO,oBAAoBE,OAAO,YAA/C,MAEA,8CACA,0BAAKD,IAAQD,EAAO,oBAAoBE,OAAO,YAA/C,MAEA,iDACA,0BAAKD,IAAQD,EAAOG,SAASD,OAAO,YAApC,MAEA,mCACA,0BAAKD,IAAQD,EAAOI,MAAMF,OAAO,YAAjC,MAEA,sCACA,0BAAKD,IAAQD,EAAOK,KAAKH,OAAO,YAAhC,MAEA,sCACA,0BAAKD,IAAQD,EAAOM,KAAKJ,OAAO,YAAhC,MArBkB,EAyBtBH,EAAcQ,UAAY,CACxBP,OAAQH,IAAAA,OAAAA,YAGV,MAAMW,EAAU,IAAiB,IAC3BC,GADW,QAAEC,GAAc,EAG3BA,EAAQC,MAAMC,OAChBH,EACE,uBAAKzB,UAAU,QAAQM,MAAO,CAAEC,aAAc,KAC3CU,IAAQS,EAAQC,MAAMC,KAAKD,OAAOT,OAAO,OAD5C,iCACkF,IADlF,YAEY,IACTD,IAAQS,EAAQC,MAAMC,KAAKC,YAAYX,OAAO,YAHjD,IAG+D,IAC5DD,IAAQS,EAAQC,MAAMC,KAAKE,aAAaZ,OAAO,YAJlD,IAIgE,IAC7DD,IAAQS,EAAQC,MAAMC,KAAKG,gBAAgBb,OAAO,YALrD,MAUJ,MAAMc,EACJ,uBAAKhC,UAAU,QAAQM,MAAO,CAAEC,aAAc,KAC3CmB,EAAQO,eADX,SACiC,IAC9BP,EAAQQ,iBAFX,WAMF,IAAIC,EAQAC,EAQAC,EAQAC,EAQJ,OA7BEH,EADET,EAAQC,MAAMY,KACJ,gBAACxB,EAAD,CAAeC,OAAQU,EAAQC,MAAMY,OAErC,sCAMZH,EADEV,EAAQc,UAAUD,KACJ,gBAACxB,EAAD,CAAeC,OAAQU,EAAQc,UAAUD,OAEzC,sCAMhBF,EADEX,EAAQe,UAAUF,KACJ,gBAACxB,EAAD,CAAeC,OAAQU,EAAQe,UAAUF,OAEzC,sCAMhBD,EADEZ,EAAQgB,WAAWH,KACJ,gBAACxB,EAAD,CAAeC,OAAQU,EAAQgB,WAAWH,OAE1C,sCAIjB,2BACGd,EACAO,EACD,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAK3B,GAAI,GACP,sBAAIC,MAAO,CAAEqC,QAAS,WAAtB,cAAiD,2BAChDR,GAEH,gBAAC,KAAD,CAAK9B,GAAI,GACP,sBAAIC,MAAO,CAAEqC,QAAS,WAAtB,kBAAqD,2BACpDP,GAEH,gBAAC,KAAD,CAAK/B,GAAI,GACP,sBAAIC,MAAO,CAAEqC,QAAS,WAAtB,kBAAqD,2BACpDN,GAEH,gBAAC,KAAD,CAAKhC,GAAI,GACP,sBAAIC,MAAO,CAAEqC,QAAS,WAAtB,kBAAqD,2BACpDL,IAnBT,EA0BFd,EAAQD,UAAY,CAClBG,QAASb,IAAAA,OAAAA,YAGX,MAAM+B,UAA2B1D,EAAAA,UAO/BC,YAAYC,GACVC,MAAMD,GADW,yBAQF,KACf,MAAM,YAAEyD,GAAgBvD,KAAKG,MAE7BH,KAAKC,SAAS,CAAEsD,aAAcA,GAA9B,IAXiB,2BAcA,KACjB,MAAM,UAAEC,EAAF,QAAa3C,GAAYb,KAAKF,MAGhC2D,OAAOC,QAAS,4BAA2BF,EAAUG,YACvDC,EAAAA,EAAAA,OAAAA,eAAwC/C,EAAS2C,EAClD,IApBgB,mCAuBQ,KACzB,MAAM,UAAEA,GAAcxD,KAAKF,MAE3B,OACE,2DAC8B,0BAAK0D,EAAUK,cAD7C,QACqE,IACnE,0BAAKL,EAAUM,cAFjB,IAEqC,IACJ,QAA9BN,EAAUO,iBAA6B,MAAO,IAHjD,+BADF,IA1BiB,2BAoCA,KACjB,MAAM,UAAEP,GAAcxD,KAAKF,MAE3B,MAAiC,SAA7B0D,EAAUQ,eACL,4BAIP,uBAAKtD,UAAU,yBACb,uCACA,0BACE,oEAC0C,IACV,WAA7B8C,EAAUQ,eAA8B,sBAAwB,iCAAkC,IACnG,0BAAKR,EAAUS,mBAPvB,IA3CiB,yBAyDF,KACf,MAAMC,EAAU,IACV,UAAEV,EAAF,OAAaW,EAAb,QAAqBtD,GAAYb,KAAKF,MAiB5C,OAfAoE,EAAQE,KACN,gBAAC,KAAD,CAAQC,IAAM,qBAAoBb,EAAUc,KAAMpD,QAAQ,OAAOE,QAASpB,KAAKuE,gBAA/E,YAKFL,EAAQE,KACN,gBAAC,IAAD,CAAeC,IAAM,kBAAiBb,EAAUc,KACjCE,GAAIC,EAAAA,GAAAA,qBAA4BN,EAAQtD,EAAS2C,EAAUc,KACxE,gBAAC,KAAD,eAIJJ,EAAQE,KAAK,gBAAC,KAAD,CAAQC,IAAI,oBAAoBnD,QAAQ,SAASE,QAASpB,KAAK0E,kBAA/D,WAENR,CAAP,IA5EiB,yBA+EDS,IAChB,MAAM,UAAEnB,GAAcxD,KAAKF,MAI3B,OAFmB8E,OAAOC,KAAKF,GAEbG,KAAKC,GACd,sBAAIV,IAAM,GAAEU,KAAavB,EAAUc,MAAOS,EAA1C,KAAuDJ,EAAQI,KADxE,IApFiB,+BAyFKC,IACtB,IAAIC,EAAmBjF,KAAKkF,eAAeF,GAM3C,OAJgC,IAA5BC,EAAiBE,SACnBF,EAAmB,uDAInB,uBAAKvE,UAAU,yBACb,2CACA,0BACGuE,GAJP,IAhGiB,2BA0GA,CAACZ,EAAKe,IAErB,sBAAIf,IAAM,aAAYA,KACnBe,EAAUC,KACVD,EAAUE,QAAU,0BAAKtF,KAAKkF,eAAeE,EAAUE,YA9G3C,4BAmHElC,IACnB,MACMmC,EADgBX,OAAOC,KAAKzB,GACQ0B,KAAKU,GAAiBxF,KAAKyF,iBAAiBD,EAAcpC,EAAWoC,MAE/G,OAAmC,IAA/BD,EAAoBJ,OACf,4BAIP,uBAAKzE,UAAU,yBACb,wCACA,0BACG6E,GAJP,IA3HiB,yBAqIF,KACf,MAAM,UAAE/B,GAAcxD,KAAKF,MAE3B,OACE,2BACE,gBAAC,KAAD,CAAKiB,GAAI,GACP,gBAAC,KAAD,CAAMI,OAAO,QAAQT,UAAU,sBAC5BV,KAAK0F,mBACL1F,KAAK2F,qBAAqBnC,EAAUoC,kBACpC5F,KAAK6F,kBAAkBrC,EAAUJ,cAGtC,gBAAC,KAAD,CAAKrC,GAAI,GACP,uBAAKL,UAAU,yBACb,qCACA,gBAACwB,EAAD,CAASE,QAASoB,EAAUpB,YAZpC,IArIApC,KAAKG,MAAQ,CACXoD,aAAa,EAEhB,CAqJDnD,SACE,MAAM,UAAEoD,GAAcxD,KAAKF,OACrB,YAAEyD,GAAgBvD,KAAKG,MAE7B,OACE,gBAAC2F,EAAA,EAAD,CAAgBzB,IAAM,cAAab,EAAUc,KAC7BX,MAAOH,EAAUG,MACjBoC,YAAaC,EAAAA,EAAAA,6BAA4CxC,EAAU6B,MACnEY,YAAajG,KAAKkG,2BAClBhC,QAASlE,KAAKmG,iBACdC,WAAY7C,EAAcvD,KAAKqG,iBAAmB,MAErE,E,EA9KG/C,EAAAA,YACe,CACjBE,UAAWjC,IAAAA,OAAAA,WACXV,QAASU,IAAAA,OAAAA,WACT4C,OAAQ5C,IAAAA,OAAAA,aA6KZ,U,4ICrSA,MAAM+E,UAA2B1G,EAAAA,UAQ/BC,YAAYC,GACVC,MAAMD,GADW,kBAQT,KACR,MAAM,WAAEyG,EAAF,QAAcC,GAAYxG,KAAKF,MAErC0G,IAEAxG,KAAKC,SAAS,CACZwG,iBAAkBF,GADpB,IAbiB,yBAkBDG,IAChB1G,KAAKC,SAAS,CACZwG,iBAAkBC,GADpB,IAnBiB,uBAwBJC,UACb,MAAM,MAAEC,EAAF,QAASJ,EAAT,OAAkBK,GAAW7G,KAAKF,OAClC,iBAAE2G,GAAqBzG,KAAKG,MAE7BsG,GACHD,UAGI5C,EAAAA,EAAAA,MAAAA,eAAuCgD,EAAMtC,GAAImC,GAEvDI,IACAL,GAAS,IAhCTxG,KAAKG,MAAQ,CACXsG,iBAAkB3G,EAAMyG,WAE3B,CAgCDnG,SACE,MAAM,iBAAEqG,GAAqBzG,KAAKG,OAC5B,MAAEyG,GAAU5G,KAAKF,MAEvB,OACE,gBAAC,KAAD,CAAuBgH,WAAS,EACTC,OAAQ/G,KAAKgH,SAClC,gBAAC,YAAD,CAAcC,aAAW,GACvB,gBAAC,WAAD,KACE,mDAA0B,0BAAKL,EAAMjD,UAGzC,gBAAC,UAAD,KACE,wHACA,gBAAC,KAAD,CAAKjD,UAAU,UACb,gBAAC,KAAD,CAAKK,GAAI,IACP,gBAACmG,EAAA,EAAD,CAAcC,MAAOV,EAAkBW,WAAYpH,KAAKqH,eAAgBC,wBAAsB,OAIpG,gBAAC,YAAD,KACE,gBAAC,KAAD,CAAaC,SAAUvH,KAAKgH,QAASQ,SAAUxH,KAAKyH,aAAcC,iBAAiB,iBAI1F,E,EAvEGpB,EAAAA,YACe,CACjBM,MAAOrF,IAAAA,OAAAA,WACPgF,WAAYhF,IAAAA,MAAAA,WACZiF,QAASjF,IAAAA,KAAAA,WACTsF,OAAQtF,IAAAA,KAAAA,aAqEZ,UCrEMoG,EAAkB,CAAC9G,EAAS+G,KAChChE,EAAAA,EAAAA,KAAAA,eAAsC/C,GAASgH,MAAMC,GAASF,EAASE,aAAD,EAACA,EAAMvB,aAA7E,EAGIwB,EAAiB,IAAqB,IAApB,MAAEnB,EAAF,KAASoB,GAAW,EAC1C,MAAOzB,EAAY0B,IAAiBC,EAAAA,EAAAA,UAAS,OACtCC,EAAeC,IAAoBF,EAAAA,EAAAA,WAAS,IAEnDG,EAAAA,EAAAA,YAAU,KACRV,EAAgBf,EAAMtC,GAAI2D,EAA1B,GACC,CAACrB,EAAMtC,KAEV,MAaMgE,EAAiB,KACrBF,GAAiB,EAAjB,EAGF,IAAIG,GAEAhC,aAAA,EAAAA,EAAYpB,QAAS,IACvBoD,EACE,gBAAC,KAAD,CAAQpH,OAAO,SAASD,QAAQ,UAAUR,UAAU,aAAaU,QAASkH,GAA1E,oBAMJ,MAAME,EAAsBjC,aAAH,EAAGA,EACxBkC,MAAK,CAACC,EAAYC,IAAeD,EAAWE,MAAQD,EAAWC,QAChE9D,KA7BuBtB,GAEtB,gBAAC,EAAD,CAAoBa,IAAKb,EAAUc,GACfd,UAAWA,EACX3C,QAAS+F,EAAMtC,GACfH,OAAQ6D,EAAKa,YA0BrC,OArBUtC,EA0BR,2BACE,gBAAC,EAAD,CAAoB1F,QAAS+F,EAAMtC,KACnC,gBAAC,KAAD,CAAK5D,UAAU,0BACb,gBAAC,KAAD,CAAKK,GAAI,IACP,gBAAC,KAAD,CAAKL,UAAU,UACb,gBAAC,KAAD,CAAKK,GAAI,GACP,oDAEF,gBAAC,KAAD,CAAKA,GAAI,GACNwH,IAGL,gBAACO,EAAA,EAAD,CAAYC,eAAe,OACfC,YAAY,2CACZ7B,MAAOqB,MAGtBL,GACC,gBAAC,EAAD,CAAqBvB,MAAOA,EACPL,WAAYA,EACZC,QAAS,IAAM4B,GAAiB,GAChCvB,OAAQ,IAAMc,EAAgBf,EAAMtC,GAAI2D,MAzB1D,gBAACgB,EAAA,EAAD,KAGT,EA4BFlB,EAAe9F,UAAY,CACzB2E,MAAOrF,IAAAA,OAAAA,WACPyG,KAAMzG,IAAAA,OAAAA,YAGR,U,oEC5EA,MAAM2H,EAAiBC,IAAiB,CAEtCC,YAAa,iBAGbnH,UAAW,CACToH,OAAQ9H,IAAAA,OAAAA,YAGV+H,OAAQ,CAACC,IAAAA,SAAgBC,EAAAA,EAAY,kBAErCC,gBAAe,KACN,CACLzB,UAAMxG,IAIVkI,oBACE,MAAM,OAAEL,GAAWrJ,KAAKF,MAExB6J,EAAAA,EAAAA,IAAkBN,EAAOxI,SAASgH,MAAMjB,GAAU5G,KAAKC,SAAS,CAAE2G,YAClEgD,EAAAA,EAAAA,MACD,EAGDC,cAAcC,GACZ,MAAM,OAAET,GAAWrJ,KAAKF,MAClBiK,EAAUV,EAAOlF,OAAS2F,EAAMA,MAAMT,EAAOlF,QAAUS,OAAOoF,OAAOF,EAAMA,OAAOG,QAAQjC,GAASA,EAAKkC,YAAW,IAEnH,KAAElC,GAAShI,KAAKG,MAEjB6H,GAAQA,EAAKa,UAAYkB,EAAQlB,SACpC7I,KAAKC,SAAS,CAAE+H,KAAM+B,GAEzB,EAEDI,aACE,MAAM,KAAEnC,EAAF,MAAQpB,GAAU5G,KAAKG,MAE7B,QAASyG,GAASoB,EACnB,EAED5H,SACE,GAAIJ,KAAKmK,aACP,OAAO,gBAAC,KAAD,MAGT,MAAM,KAAEnC,EAAF,MAAQpB,GAAU5G,KAAKG,MAE7B,OACE,gBAAC,KAAD,CAAewD,MAAQ,iBAAgBiD,EAAMjD,SAC3C,2BACE,gBAACyG,EAAA,EAAD,CAAYzG,MAAO,6CAAoB,0BAAKiD,EAAMjD,QACtCO,QACE,gBAAC,KAAD,CAAgBhD,QAAQ,OAAOoD,GAAG,6BAA6BX,MAAM,UAAU0G,WAAS,GACtF,gBAAC,IAAD,CAAe7F,GAAIC,EAAAA,GAAAA,kBAAyBuD,EAAKa,QAASjC,EAAMtC,KAC9D,gBAAC,KAAD,2BAEF,gBAAC,IAAD,CAAeE,GAAIC,EAAAA,GAAAA,kBAAyBuD,EAAKa,QAASjC,EAAMtC,KAC9D,gBAAC,KAAD,4BAINgG,kBAAmB,CACjB3G,MAAO,2BACP4G,KAAMC,EAAAA,EAAAA,MAAAA,aAElB,wIAC4G,IAD5G,iFAEiF,IAFjF,4GAG4G,IAH5G,MAIK,gDAJL,qBAOF,gBAAC,EAAD,CAAgB5D,MAAOA,EAAOoB,KAAMA,KAI3C,IAGH,GAAeyC,EAAAA,EAAAA,GAAWvB,E,oMCxFnB,MAAMtF,GAAoB8G,EAAAA,EAAAA,IAC/B,mBACA,IAAMnB,IAAAA,cAAqB,CACzBoB,KAAM,CAAEC,aAAa,GACrBC,IAAK,CAAED,aAAa,GACpBE,OAAQ,CAAEF,aAAa,GACvBG,KAAM,CAAEH,aAAa,GACrBI,OAAQ,CAAEJ,aAAa,GACvBK,OAAQ,CAAEL,aAAa,GACvBhC,MAAO,CAAEgC,aAAa,GACtBM,OAAQ,CAAC,MAIb,SAASC,EAAgB3H,GACvB,MAAM4H,EAAiB5H,EAAUQ,gBAA+C,SAA7BR,EAAUQ,eAA4BR,EAAUS,gBAAkB,GAErH,MAAO,CACLN,MAAOH,EAAUG,MACjBI,gBAAiBP,EAAUO,iBAAmB,OAC9CF,aAAcL,EAAUK,aACxBC,aAAcN,EAAUM,aACxBuH,eAAgB7H,EAAU6B,MAAQ7B,EAAU6H,eAC5CzF,iBAAkBpC,EAAUoC,iBAC5BxC,WAAYI,EAAUJ,WACtBY,eAAgBR,EAAUQ,gBAAkB,OAC5CC,gBAAiBmH,EACjBxC,MAAOpF,EAAUoF,MAEpB,CAEM,MAAM0C,GAAkBC,EAAAA,EAAAA,IAC7B,mBACA,IAAMhC,IAAAA,YAAmB,CACvBiC,YAAa,CAAC5H,GACd6H,UAAW,kBACXlF,gBAAY/E,EACZgC,eAAWhC,EAEXkK,OACE1L,KAAK2L,QAAQ,CAAEpF,WAAYvG,KAAKuG,WAAY/C,UAAWxD,KAAKwD,WAC7D,EAEDmH,KAAK9J,GACH,MAAM+K,GAAUC,EAAAA,EAAAA,IAAM,MAAOC,EAAAA,GAAoBA,EAAAA,GAAuB9L,KAAKyL,UAAW5K,EAAS,gBAEjG+K,EAAQ/D,MAAMkE,IACZ/L,KAAKuG,WAAawF,EAASxF,WAC3BvG,KAAK2L,QAAQ,CAAEpF,WAAYvG,KAAKuG,YAAhC,IAGF3C,EAAkB+G,KAAKiB,QAAQA,EAChC,EAGDI,IAAI3G,EAAM4G,GACR,IAAsD,IAAlDjG,EAAAA,EAAAA,gBAAAA,QAAuCX,GACzC,MAAM,IAAI6G,MAAO,oCAAmC7G,KAGtD,MAAO,CACLA,KAAMA,EACNxB,aAAcoI,EACd7I,WAAY,GACZwC,iBAAkB,CAAC,EACnB9B,aAAc,GAEjB,EAED+G,IAAIhK,EAASsL,GACX,MAAMP,GAAUC,EAAAA,EAAAA,IAAM,MAAOC,EAAAA,GAAoBA,EAAAA,GAAuB9L,KAAKyL,UAAW5K,EAAS,aAAcsL,KAE/GP,EAAQ/D,MAAMkE,IACZ/L,KAAKwD,UAAYuI,EACjB/L,KAAK2L,QAAQ,CAAEnI,UAAWxD,KAAKwD,WAA/B,IAGFI,EAAkBiH,IAAIe,QAAQA,EAC/B,EAEDb,KAAKlK,EAAS2C,GACZ,IAAIoI,EAGFA,EADEpI,EAAUc,GACFtE,KAAKgL,OAAOnK,EAAS2C,GAAW,GAEhCxD,KAAK8K,OAAOjK,EAAS2C,GAAW,GAG5CI,EAAkBmH,KAAKa,QAAQA,EAChC,EAEDQ,uBAAuBvL,EAAS2C,GAC9B,MAAM6I,EAAMP,EAAAA,GAAoBQ,EAAAA,EAAAA,qBAAAA,OAAsCzL,GAASwL,KAE/E,OAAOR,EAAAA,EAAAA,IAAM,OAAQQ,EAAKlB,EAAgB3H,GAC3C,EAEDsH,OAAOjK,EAAS2C,EAAW+I,GACzB,MAAMX,EAAU5L,KAAKoM,uBAAuBvL,EAAS2C,GAmBrD,OAjBAoI,EACG/D,MAAK,KACJ2E,EAAAA,EAAAA,QAA0B,aAAYhJ,EAAUG,8BAE5C3D,KAAKwD,WACPI,EAAkBiH,IAAI4B,eAAe5L,EAAS2C,EAAUc,GACzD,IAEFoI,OAAOC,IACNH,EAAAA,EAAAA,MAAwB,8BAA6BG,IACnD,6BADF,IAICJ,GACH3I,EAAkBkH,OAAOc,QAAQA,GAG5BA,CACR,EAEDZ,OAAOnK,EAAS2C,EAAW+I,GACzB,MAAMF,EAAMP,EAAAA,GAAoBQ,EAAAA,EAAAA,qBAAAA,OAAsCzL,EAAS2C,EAAUc,IAAI+H,KAEvFT,GAAUC,EAAAA,EAAAA,IAAM,MAAOQ,EAAKlB,EAAgB3H,IAmBlD,OAjBAoI,EACG/D,MAAK,KACJ2E,EAAAA,EAAAA,QAA0B,cAAahJ,EAAUG,+BAE7C3D,KAAKwD,WACPI,EAAkBiH,IAAI4B,eAAe5L,EAAS2C,EAAUc,GACzD,IAEFoI,OAAOC,IACNH,EAAAA,EAAAA,MAAwB,8BAA6BG,IACnD,6BADF,IAICJ,GACH3I,EAAkBoH,OAAOY,QAAQA,GAG5BA,CACR,EAEDX,OAAOpK,EAAS2C,GACd,MAAM6I,EAAMP,EAAAA,GAAoBQ,EAAAA,EAAAA,qBAAAA,OAAsCzL,EAAS2C,EAAUc,IAAI+H,KAEvFT,GAAUC,EAAAA,EAAAA,IAAM,SAAUQ,GAEhCT,EACG/D,MAAK,KACJ2E,EAAAA,EAAAA,QAA0B,cAAahJ,EAAUG,+BAE7C3D,KAAKuG,YACP3C,EAAkB+G,KAAK8B,eAAe5L,EACvC,IAEF6L,OAAOC,IACNH,EAAAA,EAAAA,MAAwB,8BAA6BG,IAClD,8BAA6BnJ,EAAUG,QAD1C,IAIJC,EAAkBqH,OAAOW,QAAQA,EAClC,EAEDhD,MAAM/H,EAAS+L,GACb,MAAMP,EAAMP,EAAAA,GAAoBQ,EAAAA,EAAAA,qBAAAA,MAAqCzL,GAASwL,KACxEQ,EAAuB,CAAC,EAE9BD,EAAkBE,SAAQ,CAACtJ,EAAWuJ,KACpCF,EAAqBE,GAAOvJ,EAAUc,EAAtC,IAGF,MAAMsH,GAAUC,EAAAA,EAAAA,IAAM,OAAQQ,EAAK,CAAEzD,MAAOiE,IAE5CjB,EAAQ/D,MAAK,KACX2E,EAAAA,EAAAA,QAAyB,4CAErBxM,KAAKuG,YACP3C,EAAkB+G,KAAK8B,eAAe5L,EACvC,IAGH+K,EAAQc,OAAOC,IACbH,EAAAA,EAAAA,MAAwB,wCAAuCG,IAC7D,uCADF,IAIF/I,EAAkBgF,MAAMgD,QAAQA,EACjC,EAEDV,OAAOrK,EAAS0F,GACd,IAAIyG,EAAoB,EACpBC,EAAgB,EACpB,MAAMC,EAAW,GAEjB3G,EAAWuG,SAAStJ,IAClB,MAAMoI,EAAU5L,KAAKoM,uBAAuBvL,EAAS2C,GAErDoI,EACG/D,MAAK,KAAQmF,GAAqB,CAArB,IACbN,OAAM,KAAQO,GAAiB,CAAjB,IAEjBC,EAAS9I,KAAKwH,EAAd,IAGFuB,IAAAA,OAAeD,GAAUrF,MAAK,KACN,IAAlBoF,EACFT,EAAAA,EAAAA,QAA0B,mBAAkBQ,2BAC1C,+BAEFR,EAAAA,EAAAA,QAA0B,mBAAkBQ,4BAA4CC,cACtF,6BACH,GAEJ,K","sources":["webpack://graylog-web-interface/./src/components/extractors/AddExtractorWizard.jsx","webpack://graylog-web-interface/./src/components/extractors/ExtractorsListItem.jsx","webpack://graylog-web-interface/./src/components/extractors/ExtractorSortModal.jsx","webpack://graylog-web-interface/./src/components/extractors/ExtractorsList.jsx","webpack://graylog-web-interface/./src/pages/ExtractorsPage.jsx","webpack://graylog-web-interface/./src/stores/extractors/ExtractorsStore.js"],"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 { Row, Col, Button } from 'components/bootstrap';\nimport LoaderTabs from 'components/messageloaders/LoaderTabs';\nimport MessageFieldExtractorActions from 'components/search/MessageFieldExtractorActions';\n\nclass AddExtractorWizard extends React.Component {\n  static propTypes = {\n    inputId: PropTypes.string,\n  };\n\n  static defaultProps = {\n    inputId: undefined,\n  };\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      showExtractorForm: false,\n    };\n  }\n\n  _showAddExtractorForm = () => {\n    this.setState(({ showExtractorForm }) => ({ showExtractorForm: !showExtractorForm }));\n  };\n\n  render() {\n    let extractorForm;\n\n    if (this.state.showExtractorForm) {\n      // Components using this component, will give it a proper fieldName and message\n      const extractorFieldActions = ;\n\n      extractorForm = (\n        
\n \n
\n );\n }\n\n return (\n \n \n

Add extractor

\n\n

\n Start by loading a message to have an example to work on. You can decide whether to load a recent message\n received by this input, or manually select a message giving its ID.\n

\n

\n \n

\n\n {extractorForm}\n \n
\n );\n }\n}\n\nexport default AddExtractorWizard;\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 numeral from 'numeral';\n\nimport { LinkContainer } from 'components/common/router';\nimport { Button, Row, Col, Well } from 'components/bootstrap';\nimport EntityListItem from 'components/common/EntityListItem';\nimport ExtractorUtils from 'util/ExtractorUtils';\nimport Routes from 'routing/Routes';\nimport { ExtractorsActions } from 'stores/extractors/ExtractorsStore';\n\nconst TimingMetrics = ({ timing }) => (\n
\n
95th percentile:
\n
{numeral(timing['95th_percentile']).format('0,0.[00]')}μs
\n\n
98th percentile:
\n
{numeral(timing['98th_percentile']).format('0,0.[00]')}μs
\n\n
99th percentile:
\n
{numeral(timing['99th_percentile']).format('0,0.[00]')}μs
\n\n
Standard deviation:
\n
{numeral(timing.std_dev).format('0,0.[00]')}μs
\n\n
Mean:
\n
{numeral(timing.mean).format('0,0.[00]')}μs
\n\n
Minimum:
\n
{numeral(timing.min).format('0,0.[00]')}μs
\n\n
Maximum:
\n
{numeral(timing.max).format('0,0.[00]')}μs
\n
\n);\n\nTimingMetrics.propTypes = {\n timing: PropTypes.object.isRequired,\n};\n\nconst Metrics = ({ metrics }) => {\n let totalRate;\n\n if (metrics.total.rate) {\n totalRate = (\n
\n {numeral(metrics.total.rate.total).format('0,0')} total invocations since boot,{' '}\n averages:{' '}\n {numeral(metrics.total.rate.one_minute).format('0,0.[00]')},{' '}\n {numeral(metrics.total.rate.five_minute).format('0,0.[00]')},{' '}\n {numeral(metrics.total.rate.fifteen_minute).format('0,0.[00]')}.\n
\n );\n }\n\n const conditionCounts = (\n
\n {metrics.condition_hits} hits,{' '}\n {metrics.condition_misses} misses\n
\n );\n\n let totalTime;\n\n if (metrics.total.time) {\n totalTime = ;\n } else {\n totalTime = 'No message passed through here yet.';\n }\n\n let conditionTime;\n\n if (metrics.condition.time) {\n conditionTime = ;\n } else {\n conditionTime = 'No message passed through here yet.';\n }\n\n let executionTime;\n\n if (metrics.execution.time) {\n executionTime = ;\n } else {\n executionTime = 'No message passed through here yet.';\n }\n\n let convertersTime;\n\n if (metrics.converters.time) {\n convertersTime = ;\n } else {\n convertersTime = 'No message passed through here yet.';\n }\n\n return (\n
\n {totalRate}\n {conditionCounts}\n \n \n

Total time


\n {totalTime}\n \n \n

Condition time


\n {conditionTime}\n \n \n

Execution time


\n {executionTime}\n \n \n

Converter time


\n {convertersTime}\n \n
\n
\n );\n};\n\nMetrics.propTypes = {\n metrics: PropTypes.object.isRequired,\n};\n\nclass ExtractorsListItem extends React.Component {\n static propTypes = {\n extractor: PropTypes.object.isRequired,\n inputId: PropTypes.string.isRequired,\n nodeId: PropTypes.string.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showDetails: false,\n };\n }\n\n _toggleDetails = () => {\n const { showDetails } = this.state;\n\n this.setState({ showDetails: !showDetails });\n };\n\n _deleteExtractor = () => {\n const { extractor, inputId } = this.props;\n\n // eslint-disable-next-line no-alert\n if (window.confirm(`Really remove extractor \"${extractor.title}?\"`)) {\n ExtractorsActions.delete.triggerPromise(inputId, extractor);\n }\n };\n\n _formatExtractorSubtitle = () => {\n const { extractor } = this.props;\n\n return (\n \n Trying to extract data from {extractor.source_field} into{' '}\n {extractor.target_field},{' '}\n {extractor.cursor_strategy === 'cut' && 'not'}{' '}\n leaving the original intact.\n \n );\n };\n\n _formatCondition = () => {\n const { extractor } = this.props;\n\n if (extractor.condition_type === 'none') {\n return
;\n }\n\n return (\n
\n

Condition

\n
    \n
  • \n Will only attempt to run if the message{' '}\n {extractor.condition_type === 'string' ? 'includes the string' : 'matches the regular expression'}{' '}\n {extractor.condition_value}\n
  • \n
\n
\n );\n };\n\n _formatActions = () => {\n const actions = [];\n const { extractor, nodeId, inputId } = this.props;\n\n actions.push(\n ,\n );\n\n actions.push(\n \n \n ,\n );\n\n actions.push();\n\n return actions;\n };\n\n _formatOptions = (options) => {\n const { extractor } = this.props;\n\n const attributes = Object.keys(options);\n\n return attributes.map((attribute) => {\n return
  • {attribute}: {options[attribute]}
  • ;\n });\n };\n\n _formatConfiguration = (extractorConfig) => {\n let formattedOptions = this._formatOptions(extractorConfig);\n\n if (formattedOptions.length === 0) {\n formattedOptions =
  • No configuration options
  • ;\n }\n\n return (\n
    \n

    Configuration

    \n
      \n {formattedOptions}\n
    \n
    \n );\n };\n\n _formatConverter = (key, converter) => {\n return (\n
  • \n {converter.type}\n {converter.config &&
      {this._formatOptions(converter.config)}
    }\n
  • \n );\n };\n\n _formatConverters = (converters) => {\n const converterKeys = Object.keys(converters);\n const formattedConverters = converterKeys.map((converterKey) => this._formatConverter(converterKey, converters[converterKey]));\n\n if (formattedConverters.length === 0) {\n return
    ;\n }\n\n return (\n
    \n

    Converters

    \n
      \n {formattedConverters}\n
    \n
    \n );\n };\n\n _formatDetails = () => {\n const { extractor } = this.props;\n\n return (\n
    \n \n \n {this._formatCondition()}\n {this._formatConfiguration(extractor.extractor_config)}\n {this._formatConverters(extractor.converters)}\n \n \n \n
    \n

    Metrics

    \n \n
    \n \n
    \n );\n };\n\n render() {\n const { extractor } = this.props;\n const { showDetails } = this.state;\n\n return (\n \n );\n }\n}\n\nexport default ExtractorsListItem;\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, Modal, BootstrapModalWrapper } from 'components/bootstrap';\nimport SortableList from 'components/common/SortableList';\nimport { ExtractorsActions } from 'stores/extractors/ExtractorsStore';\nimport { ModalSubmit } from 'components/common/index';\n\nclass ExtractorSortModal extends React.Component {\n static propTypes = {\n input: PropTypes.object.isRequired,\n extractors: PropTypes.array.isRequired,\n onClose: PropTypes.func.isRequired,\n onSort: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n sortedExtractors: props.extractors,\n };\n }\n\n _cancel = () => {\n const { extractors, onClose } = this.props;\n\n onClose();\n\n this.setState({\n sortedExtractors: extractors,\n });\n };\n\n _updateSorting = (newSorting) => {\n this.setState({\n sortedExtractors: newSorting,\n });\n };\n\n _saveSorting = async () => {\n const { input, onClose, onSort } = this.props;\n const { sortedExtractors } = this.state;\n\n if (!sortedExtractors) {\n onClose();\n }\n\n await ExtractorsActions.order.triggerPromise(input.id, sortedExtractors);\n\n onSort();\n onClose();\n };\n\n render() {\n const { sortedExtractors } = this.state;\n const { input } = this.props;\n\n return (\n \n \n \n Sort extractors for {input.title}\n \n \n \n

    Drag and drop the extractors on the list to change the order in which they will be applied.

    \n \n \n \n \n \n
    \n \n \n \n
    \n );\n }\n}\n\nexport default ExtractorSortModal;\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 * as React from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { Row, Col, Button } from 'components/bootstrap';\nimport Spinner from 'components/common/Spinner';\nimport AddExtractorWizard from 'components/extractors/AddExtractorWizard';\nimport EntityList from 'components/common/EntityList';\nimport { ExtractorsActions } from 'stores/extractors/ExtractorsStore';\n\nimport ExtractorsListItem from './ExtractorsListItem';\nimport ExtractorsSortModal from './ExtractorSortModal';\n\nconst fetchExtractors = (inputId, callback) => {\n ExtractorsActions.list.triggerPromise(inputId).then((data) => callback(data?.extractors));\n};\n\nconst ExtractorsList = ({ input, node }) => {\n const [extractors, setExtractors] = useState(null);\n const [showSortModal, setShowSortModal] = useState(false);\n\n useEffect(() => {\n fetchExtractors(input.id, setExtractors);\n }, [input.id]);\n\n const _formatExtractor = (extractor) => {\n return (\n \n );\n };\n\n const _isLoading = () => {\n return !extractors;\n };\n\n const _openSortModal = () => {\n setShowSortModal(true);\n };\n\n let sortExtractorsButton;\n\n if (extractors?.length > 1) {\n sortExtractorsButton = (\n \n );\n }\n\n const formattedExtractors = extractors\n ?.sort((extractor1, extractor2) => extractor1.order - extractor2.order)\n .map(_formatExtractor);\n\n if (_isLoading()) {\n return ;\n }\n\n return (\n
    \n \n \n \n \n \n

    Configured extractors

    \n \n \n {sortExtractorsButton}\n \n
    \n \n \n
    \n {showSortModal && (\n setShowSortModal(false)}\n onSort={() => fetchExtractors(input.id, setExtractors)} />\n )}\n
    \n );\n};\n\nExtractorsList.propTypes = {\n input: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired,\n};\n\nexport default ExtractorsList;\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// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Reflux from 'reflux';\n\nimport { LinkContainer } from 'components/common/router';\nimport { DocumentTitle, Spinner } from 'components/common';\nimport PageHeader from 'components/common/PageHeader';\nimport ExtractorsList from 'components/extractors/ExtractorsList';\nimport { DropdownButton, MenuItem } from 'components/bootstrap';\nimport Routes from 'routing/Routes';\nimport DocsHelper from 'util/DocsHelper';\nimport withParams from 'routing/withParams';\nimport { InputsActions } from 'stores/inputs/InputsStore';\nimport { NodesActions, NodesStore } from 'stores/nodes/NodesStore';\n\nconst ExtractorsPage = createReactClass({\n // eslint-disable-next-line react/no-unused-class-component-methods\n displayName: 'ExtractorsPage',\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n propTypes: {\n params: PropTypes.object.isRequired,\n },\n\n mixins: [Reflux.listenTo(NodesStore, 'onNodesChange')],\n\n getInitialState() {\n return {\n node: undefined,\n };\n },\n\n componentDidMount() {\n const { params } = this.props;\n\n InputsActions.get(params.inputId).then((input) => this.setState({ input }));\n NodesActions.list();\n },\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n onNodesChange(nodes) {\n const { params } = this.props;\n const newNode = params.nodeId ? nodes.nodes[params.nodeId] : Object.values(nodes.nodes).filter((node) => node.is_leader)[0];\n\n const { node } = this.state;\n\n if (!node || node.node_id !== newNode.node_id) {\n this.setState({ node: newNode });\n }\n },\n\n _isLoading() {\n const { node, input } = this.state;\n\n return !(input && node);\n },\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const { node, input } = this.state;\n\n return (\n \n
    \n Extractors of {input.title}}\n actions={(\n \n \n Import extractors\n \n \n Export extractors\n \n \n )}\n documentationLink={{\n title: 'Extractors documentation',\n path: DocsHelper.PAGES.EXTRACTORS,\n }}>\n \n Extractors are applied on every message that is received by this input. Use them to extract and transform{' '}\n any text data into fields that allow you easy filtering and analysis later on.{' '}\n Example: Extract the HTTP response code from a log message, transform it to a numeric field and attach it{' '}\n as http_response_code to the message.\n \n \n \n
    \n
    \n );\n },\n});\n\nexport default withParams(ExtractorsPage);\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 Promise from 'bluebird';\n\nimport ApiRoutes from 'routing/ApiRoutes';\nimport fetch from 'logic/rest/FetchProvider';\nimport ExtractorUtils from 'util/ExtractorUtils';\nimport * as URLUtils from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const ExtractorsActions = singletonActions(\n 'core.Extractors',\n () => Reflux.createActions({\n list: { asyncResult: true },\n get: { asyncResult: true },\n create: { asyncResult: true },\n save: { asyncResult: true },\n update: { asyncResult: true },\n delete: { asyncResult: true },\n order: { asyncResult: true },\n import: {},\n }),\n);\n\nfunction getExtractorDTO(extractor) {\n const conditionValue = extractor.condition_type && extractor.condition_type !== 'none' ? extractor.condition_value : '';\n\n return {\n title: extractor.title,\n cursor_strategy: extractor.cursor_strategy || 'copy',\n source_field: extractor.source_field,\n target_field: extractor.target_field,\n extractor_type: extractor.type || extractor.extractor_type, // \"extractor_type\" needed for imports\n extractor_config: extractor.extractor_config,\n converters: extractor.converters,\n condition_type: extractor.condition_type || 'none',\n condition_value: conditionValue,\n order: extractor.order,\n };\n}\n\nexport const ExtractorsStore = singletonStore(\n 'core.Extractors',\n () => Reflux.createStore({\n listenables: [ExtractorsActions],\n sourceUrl: '/system/inputs/',\n extractors: undefined,\n extractor: undefined,\n\n init() {\n this.trigger({ extractors: this.extractors, extractor: this.extractor });\n },\n\n list(inputId) {\n const promise = fetch('GET', URLUtils.qualifyUrl(URLUtils.concatURLPath(this.sourceUrl, inputId, 'extractors')));\n\n promise.then((response) => {\n this.extractors = response.extractors;\n this.trigger({ extractors: this.extractors });\n });\n\n ExtractorsActions.list.promise(promise);\n },\n\n // Creates an basic extractor object that we can use to create new extractors.\n new(type, field) {\n if (ExtractorUtils.EXTRACTOR_TYPES.indexOf(type) === -1) {\n throw new Error(`Invalid extractor type provided: ${type}`);\n }\n\n return {\n type: type,\n source_field: field,\n converters: [],\n extractor_config: {},\n target_field: '',\n };\n },\n\n get(inputId, extractorId) {\n const promise = fetch('GET', URLUtils.qualifyUrl(URLUtils.concatURLPath(this.sourceUrl, inputId, 'extractors', extractorId)));\n\n promise.then((response) => {\n this.extractor = response;\n this.trigger({ extractor: this.extractor });\n });\n\n ExtractorsActions.get.promise(promise);\n },\n\n save(inputId, extractor) {\n let promise;\n\n if (extractor.id) {\n promise = this.update(inputId, extractor, true);\n } else {\n promise = this.create(inputId, extractor, true);\n }\n\n ExtractorsActions.save.promise(promise);\n },\n\n _silentExtractorCreate(inputId, extractor) {\n const url = URLUtils.qualifyUrl(ApiRoutes.ExtractorsController.create(inputId).url);\n\n return fetch('POST', url, getExtractorDTO(extractor));\n },\n\n create(inputId, extractor, calledFromMethod) {\n const promise = this._silentExtractorCreate(inputId, extractor);\n\n promise\n .then(() => {\n UserNotification.success(`Extractor ${extractor.title} created successfully`);\n\n if (this.extractor) {\n ExtractorsActions.get.triggerPromise(inputId, extractor.id);\n }\n })\n .catch((error) => {\n UserNotification.error(`Creating extractor failed: ${error}`,\n 'Could not create extractor');\n });\n\n if (!calledFromMethod) {\n ExtractorsActions.create.promise(promise);\n }\n\n return promise;\n },\n\n update(inputId, extractor, calledFromMethod) {\n const url = URLUtils.qualifyUrl(ApiRoutes.ExtractorsController.update(inputId, extractor.id).url);\n\n const promise = fetch('PUT', url, getExtractorDTO(extractor));\n\n promise\n .then(() => {\n UserNotification.success(`Extractor \"${extractor.title}\" updated successfully`);\n\n if (this.extractor) {\n ExtractorsActions.get.triggerPromise(inputId, extractor.id);\n }\n })\n .catch((error) => {\n UserNotification.error(`Updating extractor failed: ${error}`,\n 'Could not update extractor');\n });\n\n if (!calledFromMethod) {\n ExtractorsActions.update.promise(promise);\n }\n\n return promise;\n },\n\n delete(inputId, extractor) {\n const url = URLUtils.qualifyUrl(ApiRoutes.ExtractorsController.delete(inputId, extractor.id).url);\n\n const promise = fetch('DELETE', url);\n\n promise\n .then(() => {\n UserNotification.success(`Extractor \"${extractor.title}\" deleted successfully`);\n\n if (this.extractors) {\n ExtractorsActions.list.triggerPromise(inputId);\n }\n })\n .catch((error) => {\n UserNotification.error(`Deleting extractor failed: ${error}`,\n `Could not delete extractor ${extractor.title}`);\n });\n\n ExtractorsActions.delete.promise(promise);\n },\n\n order(inputId, orderedExtractors) {\n const url = URLUtils.qualifyUrl(ApiRoutes.ExtractorsController.order(inputId).url);\n const orderedExtractorsMap = {};\n\n orderedExtractors.forEach((extractor, idx) => {\n orderedExtractorsMap[idx] = extractor.id;\n });\n\n const promise = fetch('POST', url, { order: orderedExtractorsMap });\n\n promise.then(() => {\n UserNotification.success('Extractor positions updated successfully');\n\n if (this.extractors) {\n ExtractorsActions.list.triggerPromise(inputId);\n }\n });\n\n promise.catch((error) => {\n UserNotification.error(`Changing extractor positions failed: ${error}`,\n 'Could not update extractor positions');\n });\n\n ExtractorsActions.order.promise(promise);\n },\n\n import(inputId, extractors) {\n let successfulImports = 0;\n let failedImports = 0;\n const promises = [];\n\n extractors.forEach((extractor) => {\n const promise = this._silentExtractorCreate(inputId, extractor);\n\n promise\n .then(() => { successfulImports += 1; })\n .catch(() => { failedImports += 1; });\n\n promises.push(promise);\n });\n\n Promise.settle(promises).then(() => {\n if (failedImports === 0) {\n UserNotification.success(`Import results: ${successfulImports} extractor(s) imported.`,\n 'Import operation successful');\n } else {\n UserNotification.warning(`Import results: ${successfulImports} extractor(s) imported, ${failedImports} error(s).`,\n 'Import operation completed');\n }\n });\n },\n }),\n);\n"],"names":["AddExtractorWizard","React","constructor","props","super","this","setState","showExtractorForm","state","render","extractorForm","extractorFieldActions","MessageFieldExtractorActions","fieldName","message","className","LoaderTabs","selectedInputId","inputId","customFieldActions","md","style","marginBottom","bsStyle","bsSize","onClick","_showAddExtractorForm","disabled","PropTypes","undefined","TimingMetrics","timing","numeral","format","std_dev","mean","min","max","propTypes","Metrics","totalRate","metrics","total","rate","one_minute","five_minute","fifteen_minute","conditionCounts","condition_hits","condition_misses","totalTime","conditionTime","executionTime","convertersTime","time","condition","execution","converters","display","ExtractorsListItem","showDetails","extractor","window","confirm","title","ExtractorsActions","source_field","target_field","cursor_strategy","condition_type","condition_value","actions","nodeId","push","key","id","_toggleDetails","to","Routes","_deleteExtractor","options","Object","keys","map","attribute","extractorConfig","formattedOptions","_formatOptions","length","converter","type","config","formattedConverters","converterKey","_formatConverter","_formatCondition","_formatConfiguration","extractor_config","_formatConverters","EntityListItem","titleSuffix","ExtractorUtils","description","_formatExtractorSubtitle","_formatActions","contentRow","_formatDetails","ExtractorSortModal","extractors","onClose","sortedExtractors","newSorting","async","input","onSort","showModal","onHide","_cancel","closeButton","SortableList","items","onMoveItem","_updateSorting","displayOverlayInPortal","onCancel","onSubmit","_saveSorting","submitButtonText","fetchExtractors","callback","then","data","ExtractorsList","node","setExtractors","useState","showSortModal","setShowSortModal","useEffect","_openSortModal","sortExtractorsButton","formattedExtractors","sort","extractor1","extractor2","order","node_id","EntityList","bsNoItemsStyle","noItemsText","Spinner","ExtractorsPage","createReactClass","displayName","params","mixins","Reflux","NodesStore","getInitialState","componentDidMount","InputsActions","NodesActions","onNodesChange","nodes","newNode","values","filter","is_leader","_isLoading","PageHeader","pullRight","documentationLink","path","DocsHelper","withParams","singletonActions","list","asyncResult","get","create","save","update","delete","import","getExtractorDTO","conditionValue","extractor_type","ExtractorsStore","singletonStore","listenables","sourceUrl","init","trigger","promise","fetch","URLUtils","response","new","field","Error","extractorId","_silentExtractorCreate","url","ApiRoutes","calledFromMethod","UserNotification","triggerPromise","catch","error","orderedExtractors","orderedExtractorsMap","forEach","idx","successfulImports","failedImports","promises","Promise"],"sourceRoot":""}




    © 2015 - 2024 Weber Informatics LLC | Privacy Policy