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.5 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, logFilterToQueryString } 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 window.location.search = logFilterToQueryString(filter);\n setFilter(filter);\n setDirty(false);\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: 63,\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","logFilterToQueryString","gqlBrowserClient","LogListContext","createContext","filter","error","headers","loading","Boolean","updateFilter","refresh","LogListContextProvider","props","dirty","setDirty","setLoading","setError","initialFilter","setFilter","initialHeader","setHeaders","window","location","search","then","err","children"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,WAA1B,EAAuCC,SAAvC,QAAwD,OAAxD;AACA,SAA+BC,QAA/B,EAAyCC,sBAAzC,QAAuE,oBAAvE;AACA,OAAOC,gBAAP,MAA6B,uBAA7B;AAcA,IAAMC,cAAiD,GAAGP,KAAK,CAACQ,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/ChB,QAAQ,CAAC,KAAD,CADuC;AAAA,MAClEiB,KADkE;AAAA,MAC3DC,QAD2D;;AAAA,mBAE3ClB,QAAQ,CAAC,KAAD,CAFmC;AAAA,MAElEW,OAFkE;AAAA,MAEzDQ,UAFyD;;AAAA,mBAG/CnB,QAAQ,CAAQ,IAAR,CAHuC;AAAA,MAGlES,KAHkE;AAAA,MAG3DW,QAH2D;;AAAA,mBAI7CpB,QAAQ,CAAYgB,KAAK,CAACK,aAAlB,CAJqC;AAAA,MAIlEb,MAJkE;AAAA,MAI1Dc,SAJ0D;;AAAA,mBAK3CtB,QAAQ,CAAcgB,KAAK,CAACO,aAApB,CALmC;AAAA,MAKlEb,OALkE;AAAA,MAKzDc,UALyD;;AAOzE,MAAMX,YAAY,GAAGZ,WAAW,CAAC,UAACO,MAAD,EAAuB;AACtDiB,IAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB,GAAyBvB,sBAAsB,CAACI,MAAD,CAA/C;AAEAc,IAAAA,SAAS,CAACd,MAAD,CAAT;AACAU,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAL+B,EAK7B,EAL6B,CAAhC;AAOA,MAAMJ,OAAO,GAAGb,WAAW,CAAC,YAAM;AAChCiB,IAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAF0B,EAExB,EAFwB,CAA3B;AAIAhB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAI,CAACe,KAAD,IAAU,CAACN,OAAf,EAAwB;AACtB;AACD;;AAEDQ,IAAAA,UAAU,CAAC,IAAD,CAAV;AACAD,IAAAA,QAAQ,CAAC,KAAD,CAAR;AAEAf,IAAAA,QAAQ,CAACE,gBAAD,EAAmBG,MAAnB,CAAR,CAAmCoB,IAAnC,CAAwC,UAAAlB,OAAO,EAAI;AACjDc,MAAAA,UAAU,CAACd,OAAD,CAAV;AACD,KAFD,WAES,UAAAmB,GAAG,EAAI;AACdT,MAAAA,QAAQ,CAACS,GAAD,CAAR;AACD,KAJD,EAIGD,IAJH,CAIQ,YAAM;AACZT,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,CAACc,QADT,CADF;AAKD;AAED,eAAexB,cAAf","sourcesContent":["import React, { useState, useCallback, useEffect } from \"react\";\nimport { LogFilter, LogHeader, listLogs, logFilterToQueryString } from \"../lib/rpdata/logs\";\nimport gqlBrowserClient from \"../lib/client/graphql\";\nimport { useRouter } from \"next/dist/client/router\";\nimport { parse } from \"url\";\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 window.location.search = logFilterToQueryString(filter);\n\n setFilter(filter);\n setDirty(false);\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"}