Second frontend, written in Next.JS + Typescript.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
6.1 KiB

{"ast":null,"code":"var _jsxFileName = \"/home/gisle/projects/react/rpdata-frontend2/hooks/LogListContext.tsx\";\nvar __jsx = React.createElement;\nimport React, { useState, useCallback, useEffect } from \"react\";\nimport { listLogs } from \"../lib/rpdata/logs\";\nimport gqlBrowserClient from \"../lib/client/graphql\";\nvar LogListContext = React.createContext({\n filter: {},\n error: null,\n headers: [],\n loading: Boolean(),\n updateFilter: function updateFilter(filter) {},\n refresh: function refresh() {}\n});\nexport function LogListContextProvider(props) {\n var _useState = useState(false),\n dirty = _useState[0],\n setDirty = _useState[1];\n\n var _useState2 = useState(false),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n var _useState3 = useState(null),\n error = _useState3[0],\n setError = _useState3[1];\n\n var _useState4 = useState(props.initialFilter),\n filter = _useState4[0],\n setFilter = _useState4[1];\n\n var _useState5 = useState(props.initialHeader),\n headers = _useState5[0],\n setHeaders = _useState5[1];\n\n var updateFilter = useCallback(function (filter) {\n setFilter(filter);\n setDirty(true);\n }, []);\n var refresh = useCallback(function () {\n setDirty(true);\n }, []);\n useEffect(function () {\n if (dirty && !loading) {\n return;\n }\n\n setLoading(true);\n setDirty(false);\n listLogs(gqlBrowserClient, filter).then(function (headers) {\n setHeaders(headers);\n })[\"catch\"](function (err) {\n setError(err);\n }).then(function () {\n setLoading(true);\n });\n }, [filter, dirty, loading]);\n return __jsx(LogListContext.Provider, {\n value: {\n loading: loading,\n filter: filter,\n headers: headers,\n error: error,\n updateFilter: updateFilter,\n refresh: refresh\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 5\n }\n }, props.children);\n}\nexport default LogListContext;","map":{"version":3,"sources":["/home/gisle/projects/react/rpdata-frontend2/hooks/LogListContext.tsx"],"names":["React","useState","useCallback","useEffect","listLogs","gqlBrowserClient","LogListContext","createContext","filter","error","headers","loading","Boolean","updateFilter","refresh","LogListContextProvider","props","dirty","setDirty","setLoading","setError","initialFilter","setFilter","initialHeader","setHeaders","then","err","children"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,WAA1B,EAAuCC,SAAvC,QAAwD,OAAxD;AACA,SAA+BC,QAA/B,QAA+C,oBAA/C;AACA,OAAOC,gBAAP,MAA6B,uBAA7B;AAYA,IAAMC,cAAiD,GAAGN,KAAK,CAACO,aAAN,CAAoB;AAC5EC,EAAAA,MAAM,EAAC,EADqE;AACjEC,EAAAA,KAAK,EAAE,IAD0D;AACpDC,EAAAA,OAAO,EAAC,EAD4C;AACxCC,EAAAA,OAAO,EAACC,OAAO,EADyB;AACrBC,EAAAA,YAAY,EAAC,sBAACL,MAAD,EAAU,CAAE,CADJ;AACKM,EAAAA,OAAO,EAAC,mBAAI,CAAE;AADnB,CAApB,CAA1D;AAUA,OAAO,SAASC,sBAAT,CAAgCC,KAAhC,EAAoE;AAAA,kBAC/Cf,QAAQ,CAAC,KAAD,CADuC;AAAA,MAClEgB,KADkE;AAAA,MAC3DC,QAD2D;;AAAA,mBAE3CjB,QAAQ,CAAC,KAAD,CAFmC;AAAA,MAElEU,OAFkE;AAAA,MAEzDQ,UAFyD;;AAAA,mBAG/ClB,QAAQ,CAAQ,IAAR,CAHuC;AAAA,MAGlEQ,KAHkE;AAAA,MAG3DW,QAH2D;;AAAA,mBAI7CnB,QAAQ,CAAYe,KAAK,CAACK,aAAlB,CAJqC;AAAA,MAIlEb,MAJkE;AAAA,MAI1Dc,SAJ0D;;AAAA,mBAK3CrB,QAAQ,CAAce,KAAK,CAACO,aAApB,CALmC;AAAA,MAKlEb,OALkE;AAAA,MAKzDc,UALyD;;AAOzE,MAAMX,YAAY,GAAGX,WAAW,CAAC,UAACM,MAAD,EAAuB;AACtDc,IAAAA,SAAS,CAACd,MAAD,CAAT;AACAU,IAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAH+B,EAG7B,EAH6B,CAAhC;AAKA,MAAMJ,OAAO,GAAGZ,WAAW,CAAC,YAAM;AAChCgB,IAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAF0B,EAExB,EAFwB,CAA3B;AAIAf,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIc,KAAK,IAAI,CAACN,OAAd,EAAuB;AACrB;AACD;;AAEDQ,IAAAA,UAAU,CAAC,IAAD,CAAV;AACAD,IAAAA,QAAQ,CAAC,KAAD,CAAR;AAEAd,IAAAA,QAAQ,CAACC,gBAAD,EAAmBG,MAAnB,CAAR,CAAmCiB,IAAnC,CAAwC,UAAAf,OAAO,EAAI;AACjDc,MAAAA,UAAU,CAACd,OAAD,CAAV;AACD,KAFD,WAES,UAAAgB,GAAG,EAAI;AACdN,MAAAA,QAAQ,CAACM,GAAD,CAAR;AACD,KAJD,EAIGD,IAJH,CAIQ,YAAM;AACZN,MAAAA,UAAU,CAAC,IAAD,CAAV;AACD,KAND;AAOD,GAfQ,EAeN,CAACX,MAAD,EAASS,KAAT,EAAgBN,OAAhB,CAfM,CAAT;AAiBA,SACE,MAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAE;AAACA,MAAAA,OAAO,EAAPA,OAAD;AAAUH,MAAAA,MAAM,EAANA,MAAV;AAAkBE,MAAAA,OAAO,EAAPA,OAAlB;AAA2BD,MAAAA,KAAK,EAALA,KAA3B;AAAkCI,MAAAA,YAAY,EAAZA,YAAlC;AAAgDC,MAAAA,OAAO,EAAPA;AAAhD,KAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGE,KAAK,CAACW,QADT,CADF;AAKD;AAED,eAAerB,cAAf","sourcesContent":["import React, { useState, useCallback, useEffect } from \"react\";\nimport { LogFilter, LogHeader, listLogs } from \"../lib/rpdata/logs\";\nimport gqlBrowserClient from \"../lib/client/graphql\";\n\nexport interface LogListContextData {\n filter: LogFilter\n headers: LogHeader[]\n loading: boolean\n error: Error | null\n\n updateFilter: (filter: LogFilter) => void\n refresh: () => void\n}\n\nconst LogListContext: React.Context<LogListContextData> = React.createContext({\n filter:{}, error: null, headers:[], loading:Boolean(), updateFilter:(filter)=>{},refresh:()=>{}\n});\n\ninterface LogListContextProviderProps {\n initialFilter: LogFilter\n initialHeader: LogHeader[]\n children: any\n}\n\nexport function LogListContextProvider(props: LogListContextProviderProps) {\n const [dirty, setDirty] = useState(false);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error>(null);\n const [filter, setFilter] = useState<LogFilter>(props.initialFilter);\n const [headers, setHeaders] = useState<LogHeader[]>(props.initialHeader);\n\n const updateFilter = useCallback((filter: LogFilter) => {\n setFilter(filter);\n setDirty(true);\n }, []);\n\n const refresh = useCallback(() => {\n setDirty(true);\n }, []);\n\n useEffect(() => {\n if (dirty && !loading) {\n return;\n }\n\n setLoading(true);\n setDirty(false);\n\n listLogs(gqlBrowserClient, filter).then(headers => {\n setHeaders(headers);\n }).catch(err => {\n setError(err);\n }).then(() => {\n setLoading(true);\n });\n }, [filter, dirty, loading])\n\n return (\n <LogListContext.Provider value={{loading, filter, headers, error, updateFilter, refresh}}>\n {props.children}\n </LogListContext.Provider>\n )\n}\n\nexport default LogListContext;"]},"metadata":{},"sourceType":"module"}